<?xml version="1.0" encoding="UTF-8"?>

-<style title="UI.X Dark" export_version="2" base_version_id="2020470" user_selectable="1" description="The Ultimate Theme Framework">

<assets/>


-<templates>


-<template title="EWRporta_articles.less" version_string="2.1.0.1" version_id="2101" addon_id="" type="public">

<![CDATA[.porta-article-pager { margin-top: -(@xf-elementSpacer); } .porta-article-loader { display: none; text-align: center; } .porta-article-item { margin-bottom: @xf-elementSpacer; .porta-article-header { display: block; overflow: hidden; position: relative; .porta-header-image { background-position: center; background-size: cover; height: @xf-EWRporta_header_height; } .porta-header-medio { background-position: center; background-size: cover; height: @xf-EWRporta_medio_height; } .porta-header-text { position: absolute; bottom: 0; left: 0; right: 0; .xf-EWRporta_header_title; >span { position: absolute; bottom: 0; left: 0; right: 0; padding: 0 @xf-elementSpacer; } } .porta-header-play { position: absolute; top: 0; bottom: 20px; left: 0; right: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; .far { color: @xf-textColorAttention; font-size: 100px; text-shadow: 1px 1px 0 #000000, 1px -1px 0 #000000, -1px 1px 0 #000000, -1px -1px 0 #000000; } } } .porta-article-date { float: left; padding: @xf-paddingLarge 0; margin-left: @xf-EWRporta_dateblock_margin; .porta-date-block { .xf-messageUserBlock; width: 50px; padding: 10px; text-align: center; text-transform: uppercase; white-space: nowrap; b { display: block; font-size: 1.5em; } } } .message-inner { display: block; } .message-body .bbWrapper { display: inline; } .block-header { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } .porta-masonry { margin: 0 ~"calc(-@{xf-sidebarSpacer} / 2)"; .porta-article-item { display: inline-block; width: ~"calc(100% / @xf-EWRporta_masonry_columns)"; .porta-article-container { margin: 0 ~"calc(@xf-sidebarSpacer / 2)"; } } } .porta-article-status { display: none; .porta-article-ellipse { font-size: 20px; position: relative; width: 4em; height: 1em; margin: 10px auto; .loader-ellipse-dot { display: block; width: 1em; height: 1em; border-radius: 0.5em; background: @xf-textColor; position: absolute; animation-duration: 0.5s; animation-timing-function: ease; animation-iteration-count: infinite; } .loader-ellipse-dot:nth-child(1), .loader-ellipse-dot:nth-child(2) { left: 0; } .loader-ellipse-dot:nth-child(3) { left: 1.5em; } .loader-ellipse-dot:nth-child(4) { left: 3em; } @keyframes reveal { from { transform: scale(0.001); } to { transform: scale(1); } } @keyframes slide { to { transform: translateX(1.5em) } } .loader-ellipse-dot:nth-child(1) { animation-name: reveal; } .loader-ellipse-dot:nth-child(2), .loader-ellipse-dot:nth-child(3) { animation-name: slide; } .loader-ellipse-dot:nth-child(4) { animation-name: reveal; animation-direction: reverse; } } } @media (max-width: @xf-responsiveWide) { .porta-masonry { .porta-article-item { width: ~"calc(100% / @xf-EWRporta_masonry_wide)"; } } } @media (max-width: @xf-responsiveMedium) { .porta-masonry { margin: 0 (-@xf-pageEdgeSpacer / 2); .porta-article-item { width: ~"calc(100% / @xf-EWRporta_masonry_medium)"; .porta-article-date { margin-left: -10px; .porta-date-block { width: auto; padding: 10px 5px; transform: rotate(180deg); writing-mode: vertical-rl; b { display: inline; font-size: initial; } } } } } } @media (max-width: @xf-responsiveNarrow) { .porta-masonry { .porta-article-item { display: block; width: 100%; .porta-article-container { margin: 0; } .porta-article-date { display: none; } } } }]]>

</template>


-<template title="MAIL_CONTAINER" version_string="2.2.0 Beta 2" version_id="2020032" addon_id="XF" type="email">

<![CDATA[<!DOCTYPE html> <html lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}" style="font-size: 62.5%;"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <base href="{$xf.options.boardUrl}/"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="format-detection" content="telephone=no"> <title>{$subject}</title> </head> <body dir="{$xf.language.text_direction}" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table id="bodyTable" border="0" width="100%" height="100%" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="top" id="bodyTableContainer"> <table border="0" width="600" cellpadding="0" cellspacing="0" class="container" style="table-layout: fixed;" dir="{$xf.language.text_direction}"> <tr> <td class="header" align="center" valign="top"> <a href="{{ link('canonical:index') }}">{$xf.options.boardTitle}</a> </td> </tr> <tr> <td class="content" align="{{ $xf.isRtl ? 'right' : 'left' }}" valign="top"> {$html|raw} </td> </tr> <tr> <td class="footer" align="center" valign="top"> <div>{{ phrase('visit_board_html', {'board_url': link('canonical:index'), 'board_title': $xf.options.boardTitle}) }}</div> <xf:if contentcheck="true"> <div class="footerExtra"><xf:contentcheck>{{ phrase('email_footer_html') }}</xf:contentcheck></div> </xf:if> </td> </tr> </table> </td> </tr> </table> </body> </html> <mail:text> {$text} ----------------------------- {{ phrase('visit_board_text', {'board_title': $xf.options.boardTitle, 'board_url': link('canonical:index')}) }} {{ phrase('email_footer_text') }} </mail:text>]]>

</template>


-<template title="PAGE_CONTAINER" version_string="2.2.4" version_id="2020470" addon_id="XF" type="public">

<![CDATA[<!DOCTYPE html> <xf:set var="$siteName" value="{$xf.options.boardTitle}" /> <xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set> <xf:set var="$title"><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" page="{$pageNumber}" /></xf:set> <xf:set var="$description"><xf:description /></xf:set> <xf:set var="$uix_htmlClasses"></xf:set> <xf:if is="property('uix_pageWidthToggle') != 'disabled'"> <xf:comment> UI.X width toggle class</xf:comment> <xf:set var="$uix_htmlClasses">{{$uix_htmlClasses}} uix_page--{{$uix_pageWidth}}</xf:set> </xf:if> <xf:if is="property('uix_navigationType') == 'sidebarNav'"> <xf:comment> UI.X sidebar navigation toggle class</xf:comment> <xf:if is="!$uix_sidebarNavCollapsed"> <xf:set var="$uix_htmlClasses">{{$uix_htmlClasses}} sidebarNav--active</xf:set> </xf:if> </xf:if> <meta name="apple-mobile-web-app-title" content="{{ $xf.options.boardShortTitle ?: $xf.options.boardTitle }}"> <xf:if is="property('publicIconUrl')"> <link rel="apple-touch-icon" href="{{ base_url(property('publicIconUrl', true)) }}"> <xf:elseif is="property('publicMetadataLogoUrl')" /> <link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl')) }}" /> </xf:if> <xf:if is="property('uix_collapsibleSidebar')"> <xf:comment> UI.X sidebar toggle class</xf:comment> <xf:if is="$uix_sidebarCollapsed"> <xf:set var="$uix_htmlClasses">{{$uix_htmlClasses}} uix_sidebarCollapsed</xf:set> </xf:if> </xf:if> <xf:if is="{$uix_showWelcomeSection}"> <xf:set var="$uix_htmlClasses">{{$uix_htmlClasses}} uix_hasWelcomeSection</xf:set> </xf:if> <xf:comment>SectionLinks Breakpoints</xf:comment> <xf:set var="$uix_subNavContentStatic" value="0" /> <xf:comment>--------- COMPONENT MARKUP MACROS --------- Markup for components can/should be added here in an XF:set if we want the components to have variably set locations </xf:comment> <xf:comment> --- Sidebar trigger --- </xf:comment> <xf:set var="$uix_sidebarTrigger__content"> <xf:if is="{$sidebar}"> <xf:if is="property('uix_collapsibleSidebar') && {$uix_canCollapseSidebar}"> <a aria-label="{{ phrase('th_toggle_sidebar') }}" href="javascript:;" class="uix_sidebarTrigger__component uix_sidebarTrigger {{ (property('uix_sidebarTriggerPosition') == 'sectionLinks') ? 'p-navgroup-link' : 'button'}}" data-xf-init="tooltip" title="{{ phrase('th_sidebar_uix')}}" rel="nofollow"> <xf:fa icon="fa-ellipsis-v" class="mdi mdi-dots-vertical" /> <span class="uix_sidebarTrigger--phrase">{{ phrase('th_toggle_sidebar') }}</span> </a> </xf:if> <xf:if is="property('uix_sidebarMobileCanvas')"> <a aria-label="{{ phrase('th_toggle_sidebar') }}" href="javascript:;" class="uix_sidebarCanvasTrigger uix_sidebarTrigger__component p-navgroup-link" data-xf-init="tooltip" title="{{ phrase('th_sidebar_uix')}}"> <xf:fa icon="fa-ellipsis-v" class="mdi mdi-dots-vertical" /> <span class="uix_sidebarTrigger--phrase">{{ phrase('th_toggle_sidebar') }}</span> </a> </xf:if> </xf:if> </xf:set> <xf:macro name="uix_sidebarTrigger__component" arg-location="" arg-content=""> <xf:if is="({$location} == property('uix_sidebarTriggerPosition')) || ({$location} == 'navigation')"> {$content} </xf:if> </xf:macro> <xf:comment> --- Search bar --- </xf:comment> <xf:if is="!{$uix_hideNavigation}"> <xf:set var="$uix_search__component"> <xf:if is="$xf.visitor.canSearch()"> <div class="uix_searchBar"> <div class="uix_searchBarInner"> <form action="{{ link('search/search') }}" method="post" class="uix_searchForm" data-xf-init="quick-search"> <a class="uix_search--close"> <xf:fa icon="fa-window-close" /> </a> <xf:textbox autocomplete="off" class="js-uix_syncValue uix_searchInput uix_searchDropdown__trigger" data-uixsync="search" name="keywords" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" data-menu-autofocus="true" /> <a href="{{ link('search') }}" class="uix_search--settings u-ripple" 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 }}"> <xf:fa icon="fa-cog" /> </a> <span class="<xf:if is="property('uix_searchButton')">uix_search--submit</xf:if> uix_searchIcon"> <xf:fa icon="fa-search" /> </span> <xf:csrf /> </form> </div> <xf:if is="property('uix_searchIconBehavior') != 'dropdown'"> <a class="uix_searchIconTrigger p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search u-ripple" aria-label="{{ phrase('search') }}" aria-expanded="false" aria-haspopup="true" title="{{ phrase('search') }}"> <i aria-hidden="true"></i> </a> </xf:if> <xf:if is="property('uix_searchIconBehavior') != 'expand'"> <a href="{{ link('search') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search u-ripple js-uix_minimalSearch__target" data-xf-click="menu" aria-label="{{ phrase('search') }}" aria-expanded="false" aria-haspopup="true" title="{{ phrase('search') }}"> <i aria-hidden="true"></i> </a> </xf:if> <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" class="js-uix_syncValue" data-uixsync="search" 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" class="js-uix_syncValue" data-uixsync="search" 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]"> <xf:label> {{ phrase('search_titles_only') }} <xf:if is="$xf.options.enableTagging"> <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="{{ phrase('tags_will_also_be_searched')|for_attr }}"> <xf:fa icon="far fa-question-circle" class="u-muted u-smaller" /> </span> </xf:if> </xf:label> </xf:option> </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> <div class="menu menu--structural menu--wide uix_searchDropdown__menu" aria-hidden="true"> <form action="{{ link('search/search') }}" method="post" class="menu-content" data-xf-init="quick-search"> <!--[XF:search_menu:above_input]--> <xf:if is="$searchConstraints"> <div class="menu-row"> <div class="inputGroup"> <input name="keywords" class="js-uix_syncValue" data-uixsync="search" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" type="hidden" /> <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> </div> <xf:else /> <input name="keywords" class="js-uix_syncValue" data-uixsync="search" placeholder="{{ phrase('search...') }}" aria-label="{{ phrase('search') }}" type="hidden" /> </xf:if> <!--[XF:search_menu:above_title_only]--> <div class="menu-row"> <xf:checkbox standalone="true"> <xf:option name="c[title_only]"> <xf:label> {{ phrase('search_titles_only') }} <xf:if is="$xf.options.enableTagging"> <span tabindex="0" role="button" data-xf-init="tooltip" data-trigger="hover focus click" title="{{ phrase('tags_will_also_be_searched')|for_attr }}"> <xf:fa icon="far fa-question-circle" class="u-muted u-smaller" /> </span> </xf:if> </xf:label> </xf:option> </xf:checkbox> </div> <!--[XF:search_menu:above_member]--> <div class="menu-row"> <div class="inputGroup"> <span class="inputGroup-text">{{ phrase('by:') }}</span> <input class="input" name="c[users]" data-xf-init="auto-complete" placeholder="{{ phrase('member') }}" /> </div> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <xf:button type="submit" class="button--primary" icon="search" /> <xf:button href="{{ link('search') }}" rel="nofollow">{{ phrase('th_advanced_uix...') }}</xf:button> </span> </div> <xf:csrf /> </form> </div> </div> </xf:if> </xf:set> </xf:if> <xf:macro name="uix_search__component" arg-content="!" arg-location="!"> <xf:if is="(property('uix_searchPosition') == {$location}) || ({$location} == 'navigation')"> {$content} </xf:if> </xf:macro> <xf:comment> --- whats new --- </xf:comment> <xf:if is="!property('uix_removeWhatsNewButtons')"> <xf:set var="$uix_whatsNew__component"> <a href="{{ link('whats-new') }}" class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew" title="{{ phrase('whats_new')|for_attr }}"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span> </a> </xf:set> </xf:if> <xf:macro name="uix_whatsNew__component" arg-content="!" arg-location="!"> <xf:if is="({$xf.visitor.user_id} && property('uix_userTabsPosition') == {$location}) || ({$location} == 'navigation')"> {$content} </xf:if> </xf:macro> <xf:comment> --- login tabs --- </xf:comment> <xf:set var="$uix_loginTabs__component"> <xf:if is="{$template} != 'login'"> <xf:if is="property('uix_loginStyle') == 'dropdown'"> <a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn" data-xf-click="menu"> <i></i> <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span> </a> <div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true" data-href="{{ link('login') }}"></div> <xf:elseif is="property('uix_loginStyle') == 'modal'" /> <a href="{{ link('login') }}" class="p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--logIn" data-xf-click="overlay" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span> </a> <xf:elseif is="property('uix_loginStyle') == 'link'" /> <a href="{{ link('login') }}" class="p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--logIn" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span> </a> <xf:elseif is="property('uix_loginStyle') == 'slidingPanel'" /> <a href="{{ link('login') }}" id="uix_loginPanel--trigger" class="p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--logIn" rel="nofollow" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">{{ phrase('log_in') }}</span> </a> </xf:if> </xf:if> <xf:if is="{$template} != 'register_form'"> <xf:if is="property('uix_loginStyle') != 'link'"> <a href="{{ link('register') }}" class="p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--register" data-xf-click="overlay" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">{{ phrase('register') }}</span> </a> <xf:else /> <a href="{{ link('register') }}" class="p-navgroup-link u-ripple p-navgroup-link--textual p-navgroup-link--register" data-follow-redirects="on"> <i></i> <span class="p-navgroup-linkText">{{ phrase('register') }}</span> </a> </xf:if> </xf:if> </xf:set> <xf:macro name="uix_loginTabs__component" arg-content="!" arg-location="!"> <xf:if is="property('uix_loginTriggerPosition') == {$location} || ({$location} == 'navigation')"> <xf:if is="{$location} == 'tablinks'"> </xf:if> {$content} </xf:if> </xf:macro> <xf:comment> --- user tabs --- </xf:comment> <xf:if is="!{$uix_hideNavigation}"> <xf:set var="$uix_userTabs__component"> <xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'"> <a href="{{ link('account') }}" class="p-navgroup-link u-ripple p-navgroup-link--iconic p-navgroup-link--user"> <xf:avatar user="$xf.visitor" size="xxs" href="" title="" /> <span class="p-navgroup-linkText">{$xf.visitor.username}</span> </a> <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="p-navgroup-link"> <span class="p-navgroup-linkText">{{ phrase('log_out') }}</span> </a> <xf:else /> <a href="{{ link('account') }}" class="p-navgroup-link u-ripple 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" title="{$xf.visitor.username}" aria-expanded="false" aria-haspopup="true"> <xf:avatar user="$xf.visitor" size="xxs" href="" title="" /> <span class="p-navgroup-linkText">{$xf.visitor.username}</span> </a> <div class="menu menu--structural menu--wide menu--account" data-menu="menu" aria-hidden="true" data-href="{{ link('account/visitor-menu') }}" data-load-target=".js-visitorMenuBody"> <div class="menu-content js-visitorMenuBody"> <div class="menu-row"> {{ phrase('loading...') }} </div> </div> </div> <a href="{{ link('conversations') }}" class="p-navgroup-link u-ripple 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" title="{{ phrase('conversations')|for_attr }}" 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"> <div class="menu-footer-main"> <ul class="listInline listInline--bullet"> <li><a href="{{ link('conversations') }}">{{ phrase('show_all') }}</a></li> <xf:if is="$xf.visitor.canStartConversation()"> <li><a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a></li> </xf:if> </ul> </div> </div> </div> </div> <a href="{{ link('account/alerts') }}" class="p-navgroup-link u-ripple p-navgroup-link--iconic p-navgroup-link--alerts js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unviewed ? ' badgeContainer--highlighted' : '' }}" data-badge="{$xf.visitor.alerts_unviewed|number}" data-xf-click="menu" data-xf-key="{{ phrase('shortcut.alerts_menu')|for_attr }}" data-menu-pos-ref="< .p-navgroup" title="{{ phrase('alerts')|for_attr }}" 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"> <div class="menu-footer-main"> <ul class="listInline listInline--bullet"> <li><a href="{{ link('account/alerts') }}">{{ phrase('show_all') }}</a></li> <li><a href="{{ link('account/alerts/mark-read') }}" class="js-alertsMarkRead">{{ phrase('mark_read') }}</a></li> <li><a href="{{ link('account/preferences') }}">{{ phrase('preferences') }}</a></li> </ul> </div> </div> </div> </div> </xf:if> </xf:set> </xf:if> <xf:macro name="uix_userTabs__component" arg-content="!" arg-location="!"> <xf:if is="property('uix_userTabsPosition') == {$location} || ({$location} == 'navigation')"> <xf:if is="{$location} == 'tablinks'"> </xf:if> {$content} </xf:if> </xf:macro> <xf:set var="$uix_socialMediaContent"> <xf:include template="uix_socialMedia" /> </xf:set> <xf:macro name="uix_socialMedia__component" arg-content="" arg-location=""> <xf:if is="(property('uix_socialMediaPosition') == {$location}) || ({$location} == 'copyright')"> {$content} </xf:if> </xf:macro> <xf:comment> --- Visitor tabs --- </xf:comment> <xf:if is="!{$uix_hideNavigation}"> <xf:macro name="uix_visitorTabs__component" arg-socialMediaContent="" arg-searchContent="!" arg-location="!" arg-whatsNewContent="!" arg-visitorContent="!" arg-loginTabsContent="!"> <xf:if contentcheck="true"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}"> <xf:contentcheck> <xf:if is="$xf.visitor.user_id"> <xf:macro name="uix_userTabs__component" arg-content="{$visitorContent}" arg-location="{$location}" /> <xf:else /> <xf:macro name="uix_loginTabs__component" arg-content="{$loginTabsContent}" arg-location="{$location}" /> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="p-navgroup p-discovery{{ !$xf.visitor.canSearch() ? ' p-discovery--noSearch' : '' }}"> <xf:contentcheck> <xf:macro name="uix_whatsNew__component" arg-content="{$whatsNewContent}" arg-location="{$location}" /> <xf:macro name="uix_search__component" arg-content="{$searchContent}" arg-location="{$location}" /> </xf:contentcheck> </div> </xf:if> <xf:macro name="uix_socialMedia__component" arg-content="{$socialMediaContent}" arg-location="{$location}" /> </xf:contentcheck> </xf:if> </xf:macro> </xf:if> <xf:comment> --- Titlebar --- </xf:comment> <xf:set var="$uix_titlebar__component"> <xf:if is="!{$uix_hidePageTitle} || ( {$pageAction} && !property('uix_pageActionBreadcrumb') && (!property('uix_removePageAction') || {{ !in_array({$template}, ['forum_list', 'forum_new_posts', 'thtopics_forum_newest_posts', 'thtrending_trending_view', 'thtopics_forum_latest_threads', 'thtopics_topic_list']) }} ) )"> <xf:if is="$headerHtml is not empty"> <div class="p-body-header"> <div class="pageContent"> {$headerHtml|raw} </div> </div> <xf:elseif contentcheck="true" /> <div class="p-body-header"> <div class="pageContent"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="uix_headerInner"> <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: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 contentcheck="true"> <div class="uix_headerInner--opposite"> <xf:contentcheck> <xf:if is="!property('uix_pageActionBreadcrumb') && (!property('uix_removePageAction') || ({$template} != 'forum_list') )"> <xf:if contentcheck="true"> <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div> </xf:if> </xf:if> <xf:macro name="uix_sidebarTrigger__component" arg-content="{$uix_sidebarTrigger__content}" arg-location="titlebar" /> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </div> </xf:if> </xf:if> </xf:set> <xf:macro name="uix_titlebar__component" arg-location="!" arg-content="!"> <xf:if is="property('uix_titlebarLocation') === {$location}"> {$content} </xf:if> </xf:macro> <xf:comment> --- Sidebar --- </xf:comment> <xf:set var="$uix_sidebar__component"> <xf:if is="$sidebar"> <div uix_component="MainSidebar" class="p-body-sidebar"> <div data-ocm-class="offCanvasMenu-backdrop"></div> <div class="uix_sidebarInner {{ (property('uix_stickySidebar') == 'top') ? ' uix_stickyBodyElement' : '' }}"> <div class="uix_sidebar--scroller"> <xf:ad position="container_sidebar_above" /> <xf:macro name="welcomeSection" template="uix_welcomeSection" arg-location="sidebar" arg-showWelcomeSection="{$uix_showWelcomeSection}" /> <xf:foreach loop="$sidebar" value="$sidebarHtml"> {$sidebarHtml} </xf:foreach> <xf:ad position="container_sidebar_below" /> </div> </div> </div> </xf:if> </xf:set> <xf:macro name="uix_sidebar__component" arg-location="!" arg-content="!"> <xf:if is="property('uix_sidebarLocation') === {$location}"> {$content} </xf:if> </xf:macro> <xf:comment> --- Logo --- </xf:comment> <xf:set var="$srcset">{{ property('publicLogoUrl2x') ? base_url(property('publicLogoUrl2x')) . ' 2x' : '' }}</xf:set> <xf:set var="$uix_logo__component"> <div class="p-header-logo p-header-logo--image"> <a class="uix_logo" href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}"> <xf:if is="property('publicLogoUrl') || property('publicLogoUrl2x')"> <img src="{{ base_url(property('publicLogoUrl')) }}" srcset="{$srcset}" alt="{$xf.options.boardTitle}" width="{{ property('publicLogoWidth') ?: '' }}" height="{{ property('publicLogoHeight') ?: '' }}" /> <xf:else /> <div class="uix_logo--text"><xf:if is="{{ property('uix_logoIcon') }}"><i class="{{ property('uix_logoIcon') }} uix_logoIcon"></i></xf:if>{{ property('uix_logoText') }}</div> </xf:if> </a> <xf:if is="property('uix_logoSmall')"> <a class="uix_logoSmall" href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}"> <img src="{{ base_url(property('uix_logoSmall')) }}" alt="{$xf.options.boardTitle}" /> </a> </xf:if> </div> </xf:set> <xf:macro name="uix_logo__component" arg-content="!"> {$content} </xf:macro> <xf:comment> --- staff bar --- </xf:comment> <xf:set var="$uix_staffbar__component"> <xf:if contentcheck="true"> <div class="p-staffBar <xf:if is="{{ property('uix_stickyStaffBar') && !property('uix_removeHeaderWrapper')}}">uix_stickyBar</xf:if>" data-xf-init="{{ property('uix_stickyStaffBar') ? 'sticky-header' : ''}}"> <div class="pageContent"> <xf:contentcheck> <xf:macro name="uix_socialMedia__component" arg-content="{$uix_socialMediaContent}" arg-location="staffBarLeft" /> <xf:if contentcheck="true"> <xf:comment> --- add primary side staff bar content here ---</xf:comment> <xf:set var="$uix_alwaysStaffBar" value="1" /> <div class="p-staffBar-inner hScroller" data-xf-init="h-scroller"> <div class="hScroller-scroll"> <xf:contentcheck> <xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total"> <a href="{{ link('approval-queue') }}" class="p-staffBar-link badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}"> {{ phrase('approval_queue') }} </a> </xf:if> <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total"> <a href="{{ link('reports') }}" class="p-staffBar-link badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}" data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}" title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:')|for_attr . ' ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">{{ phrase('reports') }}</a> </xf:if> <xf:if contentcheck="true"> <a class="p-staffBar-link menuTrigger" data-xf-key="alt+m" data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('moderator') }}</a> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('moderator_tools') }}</h4> <xf:contentcheck> <!--[XF:mod_tools_menu:top]--> <xf:if is="$xf.visitor.is_moderator"> <a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a> </xf:if> <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId"> <a href="{{ link('reports') }}" class="menu-linkRow" title="{{ $xf.session.reportCounts.lastBuilt ? 'Last report update: ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">{{ phrase('reports') }}</a> </xf:if> <!--[XF:mod_tools_menu:bottom]--> </xf:contentcheck> </div> </div> </xf:if> <xf:if is="$xf.visitor.is_admin"> <a href="{{ base_url('admin.php') }}" class="p-staffBar-link" target="_blank">{{ phrase('admin') }}</a> </xf:if> <xf:if contentcheck="true"> <a href="{{ base_url('admin.php') }}" target="_blank" class="p-staffBar-link menuTrigger uix_adminTrigger" data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true"> <xf:if is="$xf.visitor.is_admin"> {{ phrase('admin') }} <xf:else /> {{ phrase('moderator') }} </xf:if> </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_admin"> <a href="{{ base_url('admin.php') }}" target="_blank" class="menu-linkRow">{{ phrase('admin') }}</a> </xf:if> <xf:if is="$xf.visitor.is_moderator"> <a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a> </xf:if> <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId"> <a href="{{ link('reports') }}" class="menu-linkRow" title="{{ $xf.session.reportCounts.lastBuilt ? 'Last report update: ' . date_time($xf.session.reportCounts.lastBuilt) : '' }}">{{ phrase('reports') }}</a> </xf:if> <xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total"> <a href="{{ link('approval-queue') }}" class="menu-linkRow badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}"> {{ phrase('approval_queue') }} </a> </xf:if> <xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total"> <a href="{{ link('reports') }}" class="menu-linkRow badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}" data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}" title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update') . date_time($xf.session.reportCounts.lastBuilt) : '' }}"> {{ phrase('reports') }} </a> </xf:if> <!--[XF:mod_tools_menu:bottom]--> </xf:contentcheck> </div> </div> </xf:if> </xf:contentcheck> </div> </div> </xf:if> <xf:if contentcheck="true"> <div class="p-nav-opposite"> <xf:if is="property('uix_staffBarBreakpoint') != '100%'"> <xf:set var="$uix_responsiveStaffBar" value="1" /> <xf:else /> <xf:set var="$uix_alwaysStaffBar" value="1" /> </xf:if> <xf:contentcheck> <xf:macro name="uix_visitorTabs__component" arg-socialMediaContent="{$uix_socialMediaContent}" arg-whatsNewContent="{$uix_whatsNew__component}" arg-searchContent="{$uix_search__component}" arg-loginTabsContent="{$uix_loginTabs__component}" arg-visitorContent="{$uix_userTabs__component}" arg-location="staffBar" /> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </div> </xf:if> </xf:set> <xf:if is="!{$uix_alwaysStaffBar} && {$uix_responsiveStaffBar}"> <xf:set var="$uix_htmlClasses">{$uix_htmlClasses} uix_responsiveStaffBar</xf:set> </xf:if> <xf:macro name="uix_staffbar__component" arg-content="!"> {$content} </xf:macro> <xf:comment> --- section links --- </xf:comment> <xf:if is="!{$uix_hideNavigation}"> <xf:set var="$subNavHtml"> <xf:if contentcheck="true"> <div class="p-sectionLinks"> <div class="pageContent"> <xf:contentcheck> <xf:if is="property('uix_viewportWidthRemoveSubNav') != '100%'"> <xf:if is="$selectedNavChildren is not empty"> <xf:set var="$uix_subNavContentStatic" value="1" /> <xf:set var="$uix_htmlClasses">{{$uix_htmlClasses}} uix_hasSectionLinks</xf:set> <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> </xf:if> <xf:if contentcheck="true"> <div class="p-nav-opposite"> <xf:contentcheck> <xf:if contentcheck="true"> <xf:set var="$uix_subNavContentStatic" value="1" /> <xf:contentcheck> <xf:macro name="uix_visitorTabs__component" arg-socialMediaContent="{$uix_socialMediaContent}" arg-whatsNewContent="{$uix_whatsNew__component}" arg-searchContent="{$uix_search__component}" arg-loginTabsContent="{$uix_loginTabs__component}" arg-visitorContent="{$uix_userTabs__component}" arg-location="tablinks" /> </xf:contentcheck> </xf:if> <xf:macro name="uix_sidebarTrigger__component" arg-content="{$uix_sidebarTrigger__content}" arg-location="sectionLinks" /> </xf:contentcheck> </div> </xf:if> </xf:if> </xf:contentcheck> </div> </div> <xf:elseif is="{$selectedNavEntry}" /> <div class="p-sectionLinks p-sectionLinks--empty"></div> </xf:if> </xf:set> </xf:if> <xf:comment> --- UIX sidebar navigation --- </xf:comment> <xf:set var="$uix_sidebarNav__component"> <div class="uix_sidebarNav"> <div class="uix_sidebarNav__inner {{ property('uix_stickySidenav') ? 'uix_stickyBodyElement' : '' }}"> <div class="uix_sidebar--scroller"> <xf:if contentcheck="true"> <ul class="uix_sidebarNavList js-offCanvasNavSource"> <xf:contentcheck> <xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}"> <li class="uix_sidebarNavList__listItem"> <xf:macro name="nav_entry" arg-sidebarNav="1" arg-navId="{$navSection}" arg-nav="{$navEntry}" arg-selected="{{ $navSection == $pageSection }}" arg-shortcut="{$i}"/> </li> </xf:foreach> </xf:contentcheck> </ul> </xf:if> <xf:if is="$xf.visitor.user_id"> <ul class="uix_sidebarNavList"> <li><div class="p-navEl {{$uix_myAccountLinks == 'profile' ? 'is-selected' : ''}}"><div class="p-navEl__inner u-ripple"><a data-nav-id="profile" href="{{ link('members', $xf.visitor) }}" class="p-navEl-link"><span>{{ phrase('th_profile_uix') }}</span></a></div></div></li> <li><div class="p-navEl {{$uix_myAccountLinks == 'alerts' ? 'is-selected' : ''}}"><div class="p-navEl__inner u-ripple"><a data-nav-id="alerts" href="{{ link('account/alerts') }}" class="p-navEl-link"><span>{{ phrase('alerts')}}</span></a></div></div></li> <li><div class="p-navEl {{$uix_myAccountLinks == 'settings' ? 'is-selected' : ''}}"><div class="p-navEl__inner u-ripple"><a data-nav-id="settings" href="{{ link('account/preferences') }}" class="p-navEl-link"><span>{{ phrase('settings')}}</span></a></div></div></li> </ul> </xf:if> <xf:if contentcheck="true"> <div class="uix_sidebarNav__inner__widgets"> <xf:contentcheck> {$uix_sidebarNavWidgets|raw} </xf:contentcheck> </div> </xf:if> </div> </div> </div> </xf:set> <xf:macro name="uix_sidebarNav__component" arg-content="!"> {$content} </xf:macro> <xf:comment> --- UIX main tab component --- </xf:comment> <xf:set var="$uix_mainTabsOffset"> [ { "breakpoint": "0", "offset": "0" } <xf:if is="{$uix_responsiveStaffBar} && !{$uix_alwaysStaffBar}"> ,{ "breakpoint": "{{ property('uix_staffBarBreakpoint')|escape('json') }}", "offset": "{{property('uix_stickyStaffBarHeight')|escape('json')}}" } </xf:if> <xf:if is="{$uix_alwaysStaffBar}"> ,{ "breakpoint": "0", "offset": "{{property('uix_stickyStaffBarHeight')|escape('json')}}" } </xf:if> <xf:if is="{{property('publicNavSticky')}} != 'none'"> ,{ "breakpoint": "0", "offset": "{{property('uix_stickyNavHeight')|escape('json')}}" } <xf:if is="{{property('publicNavSticky')}} == 'all' && {$uix_subNavContentStatic}" /> ,{ "breakpoint": "{{ property('uix_viewportWidthRemoveSubNav')|escape('json') }}", "offset": "{{(property('uix_stickySectionLinkHeight'))|escape('json')}}" } </xf:if> ] </xf:set> <xf:set var="$uix_mainTabComponent"> <xf:if contentcheck="true"> <div data-xf-init="{{ property('uix_mainTabsSticky') ? 'sticky-header' : ''}}" class="block uix_mainTabBar {{ (property('uix_mainTabsSticky') && property('uix_removeHeaderWrapper')) ? 'uix_stickyBar' : ''}}" data-top-offset-breakpoints="{$uix_mainTabsOffset|for_attr}"> <div class="block-tabHeader tabs hScroller" data-xf-init="h-scroller"> <span class="hScroller-scroll"> <xf:contentcheck> <xf:if is="{$uix_mainTabSets}"> <xf:set var="$uix_hasMainTabs" value="1" /> <xf:macro template="uix_mainTabSets" name="{$uix_mainTabSets}" arg-activeTab="{$uix_mainTabActive}" /> </xf:if> </xf:contentcheck> </span> </div> </div> </xf:if> </xf:set> <xf:macro name="uix_mainTabComponent" arg-content="!" arg-location="!"> <xf:if is="property('uix_tabBarLocation') === {$location} && property('uix_enableMainTabs')"> {{$content}} </xf:if> </xf:macro> <xf:comment> --- Canvases --- </xf:comment> <xf:macro name="uix_canvasTab" arg-icon="!" arg-location="!" arg-canvas="!" arg-type="!"> <xf:if is="{$location} == {$canvas}"> <div class="uix_canvasTab uix_canvasTab__{{$type}}" data-target="uix_canvasPanel__{{$type}}"> <xf:fa icon="fa-{$icon}" /> </div> </xf:if> </xf:macro> <xf:macro name="uix_canvasTabs" arg-location="!"> <div class="uix_canvas__tabs"> <xf:macro name="uix_canvasTab" arg-icon="list" arg-type="navigation" arg-location="{{property('uix_canvas_location_navigation')}}" arg-canvas="{$location}"/> <xf:macro name="uix_canvasTab" arg-icon="grid" arg-type="sidebar" arg-location="{{property('uix_canvas_location_sidebar')}}" arg-canvas="{$location}"/> <xf:macro name="uix_canvasTab" arg-icon="user" arg-type="account" arg-location="{{property('uix_canvas_location_visitorTabs')}}" arg-canvas="{$location}"/> <xf:macro name="uix_canvasTab" arg-icon="email" arg-type="conversations" arg-location="{{property('uix_canvas_location_visitorTabs')}}" arg-canvas="{$location}"/> <xf:macro name="uix_canvasTab" arg-icon="alert" arg-type="alerts" arg-location="{{property('uix_canvas_location_visitorTabs')}}" arg-canvas="{$location}"/> <xf:macro name="uix_canvasTab" arg-icon="star" arg-type="custom" arg-location="{{property('uix_canvas_location_custom')}}" arg-canvas="{$location}"/> </div> </xf:macro> <xf:comment> <xf:set var="$uix_whatsNew__component"> <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') }}"> <i aria-hidden="true"></i> <span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span> </a> </xf:set> <xf:macro name="uix_whatsNew__component" arg-content="!" arg-location="!"> <xf:if is="property('uix_userTabsPosition') == {$location}"> {$content} </xf:if> </xf:macro> </xf:comment> <xf:comment> --- breadcrumb --- </xf:comment> <xf:if is="!{$uix_hideBreadcrumb}"> <xf:set var="$uix_breadcrumbCrumbContent"> <xf:set var="$position" value="{{ 0 }}" /> <xf:set var="$rootBreadcrumb" value="{$navTree.{$xf.options.rootBreadcrumb}}" /> <xf:if is="$rootBreadcrumb AND $rootBreadcrumb.href != $xf.uri AND $rootBreadcrumb.href != $xf.fullUri"> <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 AND $selectedNavEntry.href AND $selectedNavEntry.href != $xf.uri AND $selectedNavEntry.href != $xf.fullUri AND $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 AND $breadcrumb.href != $xf.fullUri"> <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:set> </xf:if> <xf:set var="$breadcrumbCount">{{ count($breadcrumbs)|default(0) }}</xf:set> <xf:set var="$navEntryCount">{{ $selectedNavEntry == null ? 0 : 1 }}</xf:set> <xf:if is="{$uix_breadcrumbCrumbContent} && ({{ ($navEntryCount|escape + $breadcrumbCount|escape) != 1 }} || !property('uix_hideSingleCrumb'))"> <xf:set var="$uix_breadcrumbHasCrumbs" value="1" /> </xf:if> <xf:macro name="breadcrumbs" arg-breadcrumbHasCrumbs="!" arg-crumbContent="!" arg-variant=""> <xf:if contentcheck="true"> <div class="breadcrumb block {{ $variant ? 'p-breadcrumb--' . $variant : '' }}"> <div class="pageContent"> <xf:contentcheck> <xf:if is="{$breadcrumbHasCrumbs}"> <xf:if contentcheck="true"> <ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}" itemscope itemtype="https://schema.org/BreadcrumbList"> <xf:contentcheck> {{ $crumbContent }} </xf:contentcheck> </ul> </xf:if> </xf:if> </xf:contentcheck> </div> </div> </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"> <xf:if is="{$href} == {$xf.homePageUrl} && property('uix_homeCrumbIcon')"> <xf:fa icon="fa-home" /> <span style="display: none;" itemprop="name">{$value}</span> <xf:else /> <span itemprop="name">{$value}</span> </xf:if> </a> <xf:if is="$position"><meta itemprop="position" content="{$position}" /></xf:if> </li> </xf:macro> <xf:comment> --- Top breadcrumb ---</xf:comment> <xf:set var="$uix_topBreadcrumb__component"> <xf:ad position="container_breadcrumb_top_above" /> <xf:macro name="breadcrumbs" arg-crumbContent="{$uix_breadcrumbCrumbContent}" arg-breadcrumbHasCrumbs="{$uix_breadcrumbHasCrumbs}" /> <xf:ad position="container_breadcrumb_top_below" /> </xf:set> <xf:macro name="uix_topBreadcrumb__component" arg-location="" arg-content="!"> <xf:if is="property('uix_topBreadcrumbLocation') === {$location}"> {$content} </xf:if> </xf:macro> <xf:comment> --- bottom breadcrumb --- </xf:comment> <xf:set var="$uix_bottomBreadcrumb__component"> <xf:if is="!property('uix_removeBottomBreadcrumb')"> <xf:ad position="container_breadcrumb_bottom_above" /> <xf:macro name="breadcrumbs" arg-crumbContent="{$uix_breadcrumbCrumbContent}" arg-breadcrumbHasCrumbs="{$uix_breadcrumbHasCrumbs}" arg-variant="bottom" /> <xf:ad position="container_breadcrumb_bottom_below" /> </xf:if> </xf:set> <xf:macro name="uix_bottomBreadcrumb__component" arg-content="!" arg-location="!"> <xf:if is="property('uix_bottomBreadcrumbLocation') == {$location}"> {$content} </xf:if> </xf:macro> <xf:comment>------ NOTICES ---------</xf:comment> <xf:set var="$uix_notices"> <xf:if is="!{$uix_hideNotices}"> <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:if> </xf:set> <xf:macro name="uix_notices" arg-location="!" arg-content="!"> <xf:if is="{$location} == property('uix_noticeLocation')"> {{$content}} </xf:if> </xf:macro> <xf:comment>------ FOOTER ---------</xf:comment> <xf:set var="$uix_footer"> <footer class="p-footer" id="footer"> <xf:if is="!{$uix_hideExtendedFooter} && property('uix_enableExtendedFooter')"> <xf:include template="uix_extendedFooter" /> </xf:if> <div class="p-footer-inner"> <div class="pageContent"> <div class="p-footer-row"> <xf:if contentcheck="true"> <div class="p-footer-row-main"> <ul class="p-footer-linkList p-footer-choosers"> <xf:contentcheck> <xf:if is="(property('uix_pageWidthToggle') != 'disabled') && $uix_canTogglePageWidth"> <li><a id="uix_widthToggle--trigger" data-xf-init="tooltip" title="{{ phrase('th_toggle_width_uix') }}" rel="nofollow"><xf:fa icon="fa-compress-alt" /></a></li> </xf:if> <xf:if is="$xf.visitor.canChangeStyle() && !{{ property('uix_hideStyleChoose') }}"> <li><a href="{{ link('misc/style') }}" data-xf-click="overlay" data-xf-init="tooltip" title="{{ phrase('style_chooser') }}" rel="nofollow">{$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') }}" rel="nofollow"><i class="fa fa-globe" aria-hidden="true"></i> {$xf.language.title}</a></li> </xf:if> </xf:contentcheck> </ul> </div> </xf:if> </div> <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 href="{$xf.homePageUrl}">{{ phrase('home') }}</a></li> </xf:if> <li><a href="#top" title="{{ phrase('top') }}" data-xf-click="scroll-to"><i class="fa fa-arrow-up" aria-hidden="true"></i></a></li> <li><a href="{{ link('forums/index.rss', '-') }}" target="_blank" class="p-footer-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><i class="fa fa-rss"></i><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li> </ul> </div> </div> </div> <div class="p-footer-copyrightRow"> <div class="pageContent"> <div class="uix_copyrightBlock"> <xf:if contentcheck="true"> <div class="p-footer-copyright"> <xf:contentcheck> <xf:copyright /> <xf:callback class="ThemeHouse\Core\Branding" method="renderStyleBranding" /><xf:set var="$thBrandingDisplayed" value="1" /> {{ 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> <xf:comment> <xf:macro name="uix_socialMedia" arg-location="copyright" template="uix_socialMedia" /> </xf:comment> <xf:macro name="uix_socialMedia__component" arg-content="{$uix_socialMediaContent}" arg-location="copyright" /> </div> </div> </footer> </xf:set> <xf:macro name="uix_footer" arg-insideContent="!" arg-location="!" arg-content="!"> <xf:if is="($insideContent && {$location} == 'insideContent') || ($location == 'bottom' && !$insideContent)"> {{$content}} </xf:if> </xf:macro> <xf:comment>------ END COMPONENT MARKUP MACROS ---------</xf:comment> <xf:set var="$thUixFontSize" value="{{ 62.5 * (14 + $xf.visitor.Option.thuix_font_size * 2) / 14 }}" /> <html id="XF" lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}" style="font-size: {$thUixFontSize}%;" 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 : '' }} {$uix_htmlClasses} {$uix_additionalHtmlClasses}" {{ $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:comment> -- moved to top to use in macros <xf:set var="$siteName" value="{$xf.options.boardTitle}" /> <xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set> <xf:set var="$title"><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" /></xf:set> <xf:set var="$description"><xf:description /></xf:set> </xf:comment> <title>{$title}</title> <link rel="manifest" href="{{ base_url('webmanifest.php') }}"> <xf:if is="property('metaThemeColor')"> <meta name="theme-color" content="{{ parse_less_color(property('metaThemeColor')) }}" /> <meta name="msapplication-TileColor" content="{{ property('metaThemeColor') }}"> </xf:if> <meta name="apple-mobile-web-app-title" content="{{ $xf.options.boardShortTitle ?: $xf.options.boardTitle }}"> <xf:if is="property('publicIconUrl')"> <link rel="apple-touch-icon" href="{{ base_url(property('publicIconUrl', true)) }}"> </xf:if> <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: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" /> <xf:set var="$uix_stickyStaffBarHeight" value="0" /> <xf:if is="property('uix_stickyStaffBar') && ({$uix_responsiveStaffBar} || {$uix_alwaysStaffBar})"> <xf:set var="$uix_stickyStaffBarHeight" value="{{property('uix_stickyStaffBarHeight')}}" /> </xf:if> </head> <body data-template="{$template}"> <xf:include template="page_style" /> <div id="jumpToTop"></div> <xf:comment> -- Not currently supporting Sidebar navigation when page style is not covered --- <xf:if is="property('uix_navigationType') == 'sidebarNav' && property('uix_pageStyle') != 'covered'"> <xf:macro name="uix_sidebarNav__component" arg-content="{$uix_sidebarNav__component}" /> </xf:if> </xf:comment> <div class="uix_pageWrapper--fixed"> <div class="p-pageWrapper" id="top"> <xf:if is="!{{property('uix_removeHeaderWrapper')}}"> <div class="uix_headerContainer"> <div class="uix_headerContainer--stickyFix"></div> </xf:if> <xf:macro name="uix_staffbar__component" arg-content="{$uix_staffbar__component}" /> <xf:set var="$uix_headerContent"> <xf:if contentcheck="true"> <div class="p-header-content"> <xf:contentcheck> <xf:if is="property('uix_viewportShowLogoBlock') != '0'"> <xf:macro name="uix_logo__component" arg-content="{$uix_logo__component}" /> </xf:if> <xf:if contentcheck="true"> <div class="p-nav-opposite"> <xf:contentcheck> <xf:macro name="uix_visitorTabs__component" arg-socialMediaContent="{$uix_socialMediaContent}" arg-whatsNewContent="{$uix_whatsNew__component}" arg-searchContent="{$uix_search__component}" arg-loginTabsContent="{$uix_loginTabs__component}" arg-visitorContent="{$uix_userTabs__component}" arg-location="header" /> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:set> <xf:macro name="uix_logoBlock" arg-content=""> <xf:if contentcheck="true"> <header class="p-header p-header--hasExtraContent" id="header"> <div class="p-header-inner"> {$content} <xf:contentcheck> <xf:ad position="container_header" /> </xf:contentcheck> </div> </header> <xf:else /> <header class="p-header" id="header"> <div class="p-header-inner"> {$content} </div> </header> </xf:if> </xf:macro> <xf:if is="{{ !property('uix_navAboveHeader') }}"> <xf:macro name="uix_logoBlock" arg-content="{$uix_headerContent}" /> </xf:if> <xf:set var="$navHtml"> <nav class="p-nav"> <div class="p-nav-inner"> <xf:if is="!{$uix_hideNavigation}"> <xf:set var="$uix_badgeCounter" value="{{$xf.visitor.conversations_unread + $xf.visitor.alerts_unread}}" /> <xf:if is="{{ property('uix_visitorTabsMobile') == 'canvas' }}"> <xf:set var="$uix_visitorTabCanvas" value="1" /> <xf:else /> <xf:set var="$uix_visitorTabCanvas" value="0" /> </xf:if> <xf:button class="button--plain p-nav-menuTrigger {{ $uix_visitorTabsMobile == 'canvas' ? 'js-badge--alerts js-badge--conversations' : '' }} badgeContainer{{ ($uix_visitorTabCanvas && ($xf.visitor.alerts_unread || $xf.visitor.conversations_unread)) ? ' badgeContainer--highlighted' : '' }}" data-badge="{$uix_badgeCounter|number}" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" role="button" tabindex="0" aria-label="{{ phrase('menu')|for_attr }}"> <i aria-hidden="true"></i> </xf:button> <xf:if is="property('uix_navigationType') == 'sidebarNav' && property('uix_pageStyle') == 'covered'"> <xf:button class="button--plain p-nav-menuTrigger uix_sidebarNav--trigger" id="uix_sidebarNav--trigger" rel="nofollow" role="button" tabindex="0" aria-label="{{ phrase('menu')|for_attr }}"> <i aria-hidden="true"></i> </xf:button> </xf:if> </xf:if> <xf:macro name="uix_logo__component" arg-content="{$uix_logo__component}" /> <xf:if is="!{$uix_hideNavigation}"> <xf:if is="property('uix_navigationType') != 'sidebarNav' || property('uix_pageStyle') != 'covered'"> <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> </xf:if> <xf:if is="property('uix_activeNavTitle')"> <div class="uix_activeNavTitle"> <span> <xf:if is="{$uix_mobileActiveNav}"> {{ $uix_mobileActiveNav }} <xf:elseif is="{$selectedNavEntry.href}" /> {$selectedNavEntry.title} <xf:else /> </xf:if> </span> </div> </xf:if> </xf:if> <xf:macro name="uix_search__component" arg-location="navigationLeft" arg-content="{$uix_search__component}" /> <xf:if contentcheck="true"> <div class="p-nav-opposite"> <xf:contentcheck> <xf:macro name="uix_visitorTabs__component" arg-socialMediaContent="{$uix_socialMediaContent}" arg-whatsNewContent="{$uix_whatsNew__component}" arg-searchContent="{$uix_search__component}" arg-loginTabsContent="{$uix_loginTabs__component}" arg-visitorContent="{$uix_userTabs__component}" arg-location="navigation" /> <xf:macro name="uix_sidebarTrigger__component" arg-content="{$uix_sidebarTrigger__content}" arg-location="navigation" /> </xf:contentcheck> </div> </xf:if> </div> <xf:comment> <xf:macro template="uix_megaMenu" name="uix_megaMenu" /> </xf:comment> </nav> </xf:set> <xf:set var="$uix_navOffset"> [ { "breakpoint": "0", "offset": "0" } <xf:if is="{$uix_responsiveStaffBar} && !{$uix_alwaysStaffBar} && {{ property('uix_stickyStaffBar') }}"> ,{ "breakpoint": "{{ property('uix_staffBarBreakpoint')|escape('json') }}", "offset": "{{property('uix_stickyStaffBarHeight')|escape('json')}}" } </xf:if> <xf:if is="{$uix_alwaysStaffBar} && {{ property('uix_stickyStaffBar') }}"> ,{ "breakpoint": "0", "offset": "{{property('uix_stickyStaffBarHeight')|escape('json')}}" } </xf:if> ] </xf:set> <xf:if is="property('publicNavSticky') == 'primary'"> <div class="p-navSticky p-navSticky--primary <xf:if is="{{ (property('publicNavSticky') !== 'none') && !property('uix_removeHeaderWrapper')}}">uix_stickyBar</xf:if>" data-top-offset-breakpoints="{$uix_navOffset|for_attr}" data-xf-init="sticky-header"> {$navHtml|raw} </div> {$subNavHtml|raw} <xf:elseif is="property('publicNavSticky') == 'all'" /> <div class="p-navSticky p-navSticky--all <xf:if is="{{ (property('publicNavSticky') !== 'none') && !property('uix_removeHeaderWrapper')}}">uix_stickyBar</xf:if>" data-top-offset-breakpoints="{$uix_navOffset|for_attr}" data-xf-init="sticky-header"> {$navHtml|raw} {$subNavHtml|raw} </div> <xf:else /> {$navHtml|raw} {$subNavHtml|raw} </xf:if> <xf:if is="{{ property('uix_navAboveHeader') }}"> <xf:macro name="uix_logoBlock" arg-content="{$uix_headerContent}" /> </xf:if> <xf:macro name="welcomeSection" template="uix_welcomeSection" arg-location="header" arg-showWelcomeSection="{$uix_showWelcomeSection}" /> <xf:macro name="uix_topBreadcrumb__component" arg-location="header" arg-content="{$uix_topBreadcrumb__component}" /> <xf:macro name="uix_mainTabComponent" arg-location="header" arg-content="{$uix_mainTabComponent}" /> <xf:macro name="uix_titlebar__component" arg-location="header" arg-content="{$uix_titlebar__component}" /> {{$uix_headerExtra|raw }} <xf:if is="!{{property('uix_removeHeaderWrapper')}}"> </div> </xf:if> <xf:comment> --- UI.X off canvas start ---</xf:comment> <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"> <xf:include template="uix_canvasTabs" /> <xf:include template="uix_canvasPanels" /> <xf:macro name="canvasNavPanel"> <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"> <a href="{{ link('account') }}" class="offCanvasMenu-link"> <xf:avatar user="$xf.visitor" size="xxs" href="" /> {$xf.visitor.username} </a> <hr class="offCanvasMenu-separator" /> </div> </xf:if> <div class="js-offCanvasNavTarget"></div> <xf:if is="$xf.visitor.user_id"> <div class="offCanvasMenu-linkHolder {{$uix_myAccountLinks == 'profile' ? 'is-selected' : ''}}"><div class="p-navEl__inner u-ripple"><a data-nav-id="profile" href="{{ link('members', $xf.visitor) }}" class="offCanvasMenu-link">{{ phrase('th_profile_uix') }}</a></div></div> <div class="offCanvasMenu-linkHolder {{$uix_myAccountLinks == 'alerts' ? 'is-selected' : ''}}"><div class="p-navEl__inner u-ripple"><a data-nav-id="alerts" href="{{ link('account/alerts') }}" class="offCanvasMenu-link">{{ phrase('alerts')}}</a></div></div> <div class="offCanvasMenu-linkHolder {{$uix_myAccountLinks == 'settings' ? 'is-selected' : ''}}"><div class="p-navEl__inner u-ripple"><a data-nav-id="settings" href="{{ link('account/preferences') }}" class="offCanvasMenu-link">{{ phrase('settings')}}</a></div></div> </xf:if> <xf:if contentcheck="true"> <div class="uix_sidebarNav__inner__widgets"> <xf:contentcheck> {$uix_sidebarNavWidgets|raw} </xf:contentcheck> </div> </xf:if> </xf:macro> <div class="offCanvasMenu-installBanner js-installPromptContainer" style="display: none;" data-xf-init="install-prompt"> <div class="offCanvasMenu-installBanner-header">{{ phrase('install_app') }}</div> <xf:button class="js-installPromptButton">{{ phrase('install') }}</xf:button> </div> </div> </div> <xf:macro name="uix_titlebar__component" arg-location="belowHeader" arg-content="{$uix_titlebar__component}" /> <div class="p-body"> <xf:if is="property('uix_navigationType') == 'sidebarNav' && property('uix_pageStyle') == 'covered'"> <xf:macro name="uix_sidebarNav__component" arg-content="{$uix_sidebarNav__component}" /> </xf:if> <div class="p-body-inner {{ $removePageWrapper ? 'p-body-inner-none' : ''}}"> <xf:if is="!is_addon_active('ThemeHouse/UIX') && $xf.visitor.is_admin"> <div class="blockMessage blockMessage--error blockMessage--errorUixAddon"> <h2 style="margin: 0 0 .5em 0">UI.X Error</h2> <p> It appears that you do not have the UI.X Add-on installed. Please install this add-on to ensure your style works as expected. You can download the UI.X add-on <a href="https://www.themehouse.com/xenforo/2/addons/uix-addon">here</a>. </p> <xf:button href="https://www.themehouse.com/help/documentation/uix2" class="button--primary"> <xf:fa icon="fa-exclamation-triangle" /> View Documentation </xf:button> </div> </xf:if> <!--XF:EXTRA_OUTPUT--> <xf:macro name="uix_notices" arg-location="aboveMainContainer" arg-content="{$uix_notices}" /> <xf:macro name="uix_titlebar__component" arg-location="aboveMainContainer" arg-content="{$uix_titlebar__component}" /> <xf:macro name="welcomeSection" template="uix_welcomeSection" arg-location="aboveMainContainer" arg-showWelcomeSection="{$uix_showWelcomeSection}" /> <xf:macro name="uix_topBreadcrumb__component" arg-location="aboveMainContainer" arg-content="{$uix_topBreadcrumb__component}" /> <xf:macro name="uix_mainTabComponent" arg-location="aboveMainContainer" arg-content="{$uix_mainTabComponent}" /> <xf:macro template="browser_warning_macros" name="javascript" /> <xf:macro template="browser_warning_macros" name="browser" /> <xf:if is="count($xf.reactionsActive) > 1 AND $xf.visitor.user_id"> <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> <div uix_component="MainContainer" class="uix_contentWrapper"> <xf:macro name="uix_notices" arg-location="mainContainerTop" arg-content="{$uix_notices}" /> <xf:ad position="container_content_above" /> <xf:macro name="welcomeSection" template="uix_welcomeSection" arg-location="mainContainerTop" arg-showWelcomeSection="{$uix_showWelcomeSection}" /> <xf:macro name="uix_topBreadcrumb__component" arg-location="mainContainerTop" arg-content="{$uix_topBreadcrumb__component}" /> <xf:macro name="uix_titlebar__component" arg-location="mainContainerTop" arg-content="{$uix_titlebar__component}" /> <xf:macro name="uix_mainTabComponent" arg-location="mainContainerTop" arg-content="{$uix_mainTabComponent}" /> <div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav' : '' }}"> <xf:comment> <xf:if is="$sideNav"> <div class="p-body-sideNavCol"></div> </xf:if> <div class="p-body-contentCol"></div> <xf:if is="$sidebar"> <div class="p-body-sidebarCol"></div> </xf:if> </xf:comment> <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 {{ (property('uix_stickySidebar') == 'top') ? ' uix_stickyBodyElement' : '' }}" data-ocm-class="offCanvasMenu offCanvasMenu--blocks" id="js-SideNavOcm" data-ocm-builder="sideNav"> <div class="uix_sidebar--scroller"> <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> </div> </xf:if> <xf:macro name="uix_sidebar__component" arg-content="{$uix_sidebar__component}" arg-location="left" /> <div uix_component="MainContent" class="p-body-content"> <!-- ABOVE MAIN CONTENT --> <xf:macro name="uix_notices" arg-location="aboveMainContent" arg-content="{$uix_notices}" /> <xf:macro name="uix_topBreadcrumb__component" arg-location="aboveMainContent" arg-content="{$uix_topBreadcrumb__component}" /> <xf:macro name="welcomeSection" template="uix_welcomeSection" arg-location="aboveMainContent" arg-showWelcomeSection="{$uix_showWelcomeSection}" /> <xf:macro name="uix_titlebar__component" arg-location="aboveMainContent" arg-content="{$uix_titlebar__component}" /> <xf:macro name="uix_mainTabComponent" arg-location="aboveMainContent" arg-content="{$uix_mainTabComponent}" /> <div class="p-body-pageContent"> <xf:macro name="uix_notices" arg-location="mainContentTop" arg-content="{$uix_notices}" /> <xf:macro name="welcomeSection" template="uix_welcomeSection" arg-location="mainContentTop" arg-showWelcomeSection="{$uix_showWelcomeSection}" /> <xf:macro name="uix_topBreadcrumb__component" arg-location="mainContentTop" arg-content="{$uix_topBreadcrumb__component}" /> <xf:macro name="uix_titlebar__component" arg-location="mainContentTop" arg-content="{$uix_titlebar__component}" /> <xf:macro name="uix_mainTabComponent" arg-location="mainContentTop" arg-content="{$uix_mainTabComponent}" /> {$content|raw} <xf:macro name="uix_bottomBreadcrumb__component" arg-content="{$uix_bottomBreadcrumb__component}" arg-location="mainContentBottom" /> </div> <!-- BELOW MAIN CONTENT --> <xf:ad position="container_content_below" /> <xf:macro name="uix_bottomBreadcrumb__component" arg-content="{$uix_bottomBreadcrumb__component}" arg-location="belowMainContent" /> </div> <xf:macro name="uix_sidebar__component" arg-content="{$uix_sidebar__component}" arg-location="right" /> </div> <xf:macro name="uix_bottomBreadcrumb__component" arg-content="{$uix_bottomBreadcrumb__component}" arg-location="mainContainerBottom" /> </div> <xf:macro name="uix_bottomBreadcrumb__component" arg-content="{$uix_bottomBreadcrumb__component}" arg-location="belowMainContainer" /> <xf:macro name="uix_footer" arg-location="insideContent" arg-content="{$uix_footer}" arg-insideContent="{{ property('uix_footerInsideContent')}}" /> </div> </div> <xf:macro name="uix_footer" arg-location="bottom" arg-content="{$uix_footer}" arg-insideContent="{{ property('uix_footerInsideContent')}}" /> <xf:if contentcheck="true"> <div class="uix_fabBar uix_fabBar--active"> <xf:contentcheck> <xf:if is="property('scrollJumpButtons')"> <div class="u-scrollButtons js-scrollButtons" data-trigger-type="{{ property('scrollJumpButtons') }}"> <xf:button href="#top" class="button--scroll ripple-JsOnly" 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 ripple-JsOnly" 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:if is="property('uix_fab') != 'never'"> <xf:if contentcheck="true"> <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div> </xf:if> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if is="(property('uix_fab') != 'never') && !property('uix_fabScroll')"> <xf:if contentcheck="true"> <div class="uix_fabBar uix_fabBar--mirror"> <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div> </div> </xf:if> </xf:if> <xf:if is="property('uix_visitorTabsMobile') == 'tabbar'"> <xf:macro name="uix_tabBar" template="uix_tabBar" /> </xf:if> </div> </div> <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:include template="uix_config" /> <xf:macro template="helper_js_global" name="body" arg-app="public" arg-jsState="{$jsState}" /> <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> <xf:if is="property('uix_loginStyle') == 'slidingPanel'"> <div class="uix__loginForm uix__loginForm--login"> <div class="uix__loginForm--panel"> <xf:include template="login"> <xf:set var="$uix_loginPreventAutoFocus" value="1" /> <xf:set var="$providers" value="{{$uixConAccProviders}}" /> </xf:include> </div> <div class="uix__loginForm--mask"></div> </div> </xf:if> {$ldJsonHtml|raw} </body> </html> <xf:macro name="nav_entry" arg-sidebarNav="" arg-navId="!" arg-nav="!" arg-selected="{{ false }}" arg-shortcut=""> <div class="p-navEl {{ !$sidebarNav ? 'u-ripple' : '' }} {{ $selected ? 'is-selected' : '' }}" {{ $nav.children ? 'data-has-children="true"' : '' }}> <xf:if is="$sidebarNav"> <div class="p-navEl__inner u-ripple"> </xf:if> <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}" class="p-navEl-linkHolder" data-menu-pos-ref="< .p-navEl" data-xf-click="menu" 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"> <xf:if is="!{$sidebarNav}"> <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> </xf:if> <xf:if is="{$sidebarNav} && $nav.children && property('uix_tablinksInSideNav')"> <a class="uix_sidebarNav--trigger <xf:if is="!property('uix_sideNavCollapsed') && $selected">is-expanded</xf:if>" rel="nofollow"><xf:fa icon="fa-chevron-down" /></a> </xf:if> <xf:if is="$sidebarNav"> </div> </xf:if> <xf:if is="property('uix_tablinksInSideNav')"> <xf:if is="{$sidebarNav}"> <div <xf:if is="$nav.children">data-menu="false"</xf:if> class="uix_sidebarNav__subNav <xf:if is="!property('uix_sideNavCollapsed') && $selected">subNav--expand</xf:if>"> <div class="uix_sidebarNav__subNavInner"> <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> </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="{$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><span>{{ $titleHtml ? $titleHtml|raw : $nav.title }}</span><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-ripple 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>]]>

</template>


-<template title="account_alerts" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ phrase('alerts') }}</xf:title> <xf:page option="uix_myAccountLinks" value="alerts" /> <xf:wrap template="account_wrapper" /> <div class="block"> <div class="block-outer"><xf:trim> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:button href="{{ link('account/alerts/mark-read') }}" class="button--link" overlay="true"> {{ phrase('mark_read') }} </xf:button> </div> </div> </xf:trim></div> <div class="block-container"> <div class="block-body"> <xf:if is="$alerts is not empty"> <ol class="listPlain" data-xf-init="alerts-list"> <xf:foreach loop="$alerts" value="$alert"> <li data-alert-id="{$alert.alert_id}" class="alert js-alert block-row block-row--separated {{ $alert.isUnreadInUi() ? 'is-unread' : '' }}"> <xf:macro template="alert_macros" name="row" arg-alert="{$alert}" /> </li> </xf:foreach> </ol> <xf:elseif is="$page <= 1" /> <div class="block-row">{{ phrase('you_do_not_have_any_recent_alerts') }}</div> <xf:else /> <div class="block-row">{{ phrase('no_alerts_can_be_shown') }}</div> </xf:if> </div> </div> <xf:pagenav link="account/alerts" page="{$page}" perpage="{$perPage}" total="{$totalAlerts}" wrapperclass="block-outer block-outer--after" /> </div>]]>

</template>


-<template title="account_preferences" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ phrase('preferences') }}</xf:title> <xf:page option="uix_myAccountLinks" value="settings" /> <xf:wrap template="account_wrapper" /> <xf:form action="{{ link('account/preferences') }}" ajax="true" class="block" data-force-flash-message="true"> <div class="block-container"> <div class="block-body"> <xf:if is="$xf.visitor.canChangeStyle()"> <xf:selectrow name="user[style_id]" value="{$xf.visitor.style_id}" label="{{ phrase('style') }}"> <xf:option value="0">{{ phrase('use_default_style:') }} {$defaultStyle.title}</xf:option> <xf:foreach loop="$styles" value="$style"> <xf:option value="{$style.style_id}">{$style.title}{{ !$style.user_selectable ? ' *' : '' }}</xf:option> </xf:foreach> </xf:selectrow> <xf:else /> <xf:hiddenval name="user[style_id]">{$xf.visitor.style_id}</xf:hiddenval> </xf:if> <xf:if is="$xf.visitor.canChangeLanguage()"> <xf:selectrow name="user[language_id]" value="{$xf.visitor.language_id}" label="{{ phrase('language') }}"> <xf:foreach loop="$languages" value="$language"> <xf:option value="{$language.language_id}">{$language.title}{{ !$language.user_selectable ? ' *' : '' }}</xf:option> </xf:foreach> </xf:selectrow> <xf:else /> <xf:hiddenval name="user[language_id]">{{ $xf.visitor.language_id ?: $xf.options.defaultLanguageId }}</xf:hiddenval> </xf:if> <xf:selectrow name="user[timezone]" value="{$xf.visitor.timezone}" label="{{ phrase('time_zone') }}"> <xf:options source="$timeZones" /> </xf:selectrow> <xf:macro template="helper_account" name="email_options_row" arg-showConversationOption="{{ true }}" /> <xf:checkboxrow label="{{ phrase('content_options') }}"> <xf:option value="watch_no_email" name="option[creation_watch_state]" checked="{{ $xf.visitor.Option.creation_watch_state ? true : false }}" label="{{ phrase('automatically_watch_content_you_create...') }}"> <xf:checkbox> <xf:option value="watch_email" name="option[creation_watch_state]" checked="{{ $xf.visitor.Option.creation_watch_state == 'watch_email' }}" label="{{ phrase('and_receive_email_notifications') }}" /> </xf:checkbox> </xf:option> <xf:option value="watch_no_email" name="option[interaction_watch_state]" checked="{{ $xf.visitor.Option.interaction_watch_state ? true : false }}" label="{{ phrase('automatically_watch_content_you_interact_with...') }}"> <xf:checkbox> <xf:option value="watch_email" name="option[interaction_watch_state]" checked="{{ $xf.visitor.Option.interaction_watch_state == 'watch_email' }}" label="{{ phrase('and_receive_email_notifications') }}" /> </xf:checkbox> </xf:option> <xf:option name="option[content_show_signature]" checked="{$xf.visitor.Option.content_show_signature}" label="{{ phrase('show_peoples_signatures_with_their_messages') }}" /> </xf:checkboxrow> <xf:macro template="helper_account" name="activity_privacy_row" /> <xf:macro template="custom_fields_macros" name="custom_fields_edit" arg-type="users" arg-group="preferences" arg-set="{$xf.visitor.Profile.custom_fields}" /> <xf:if is="$xf.options.enableNotices && (count($xf.session.dismissedNotices) > 0)"> <hr class="formRowSep" /> <xf:checkboxrow> <xf:option name="restore_notices" label="{{ phrase('restore_dismissed_notices') }}" hint="{{ phrase('restore_dismissed_notices_hint') }}" /> </xf:checkboxrow> </xf:if> <xf:if is="$xf.visitor.canUsePushNotifications()"> <xf:formrow label="{{ phrase('push_notifications') }}" rowtype="button" explain="{{ phrase('enable_push_explain') }}"> <xf:button class="is-disabled" data-xf-init="push-toggle"> {{ phrase('push_checking_device_capabilities...') }} </xf:button> </xf:formrow> <xf:checkboxrow label=""> <xf:option name="option[push_on_conversation]" checked="{$xf.visitor.Option.push_on_conversation}" label="{{ phrase('receive_push_notification_when_new_conversation_message_is_received') }}" /> </xf:checkboxrow> <xf:js> jQuery.extend(true, XF.config, { skipPushNotificationSubscription: true, skipPushNotificationCta: true }); jQuery.extend(XF.phrases, { push_enable_label: "{{ phrase('push_enable_label')|escape('js') }}", push_disable_label: "{{ phrase('push_disable_label')|escape('js') }}", push_not_supported_label: "{{ phrase('push_not_supported_label')|escape('js') }}", push_blocked_label: "{{ phrase('push_blocked_label')|escape('js') }}" }); </xf:js> <xf:else /> <xf:hiddenval name="option[push_on_conversation]">{$xf.visitor.Option.push_on_conversation}</xf:hiddenval> </xf:if> </div> <xf:if is="$alertOptOuts is not empty"> <xf:css src="notification_opt_out.less" /> <h2 class="block-formSectionHeader"><span class="block-formSectionHeader-aligner">{{ phrase('receive_notification_when_someone...') }}</span></h2> <div class="block-body"> <xf:set var="$canPush" value="{{ $xf.visitor.canUsePushNotifications() }}" /> <xf:foreach loop="$alertOptOuts" key="$contentType" value="$options"> <xf:foreach loop="$options" key="$action" value="$label"> <xf:formrow label="{$label}" data-content-type="{$contentType}" data-action="{$action}"> <ul class="notificationChoices"> <li class="notificationChoices-choice notificationChoices-choice--alert"> <xf:checkbox standalone="true"> <xf:option name="alert[{$contentType}_{$action}]" data-xf-init="{{ $canPush ? 'disabler' : '' }}" data-container="< .notificationChoices | .notificationChoices-choice--push" checked="{{ $xf.visitor.Option.doesReceiveAlert($contentType, $action) }}" label="{{ phrase('alert') }}" /> </xf:checkbox> </li> <xf:if is="$canPush"> <li class="notificationChoices-choice notificationChoices-choice--push"> <xf:checkbox standalone="true"> <xf:option name="push[{$contentType}_{$action}]" checked="{{ $xf.visitor.Option.doesReceivePush($contentType, $action) }}" label="{{ phrase('push') }}" /> </xf:checkbox> <xf:hiddenval name="push_shown[{$contentType}_{$action}]">1</xf:hiddenval> </li> </xf:if> </ul> </xf:formrow> </xf:foreach> <hr class="formRowSep" /> </xf:foreach> </div> </xf:if> <xf:submitrow icon="save" sticky="true" /> </div> </xf:form>]]>

</template>


-<template title="account_visitor_menu" version_string="2.2.0 Beta 5" version_id="2020035" addon_id="XF" type="public">

<![CDATA[<xf:if contentcheck="true"> <h4 class="menu-tabHeader tabs" data-xf-init="tabs" role="tablist"> <span class="hScroller" data-xf-init="h-scroller"> <span class="hScroller-scroll"> <a href="{{ link('account') }}" class="tabs-tab is-active" role="tab" tabindex="0" aria-controls="{{ unique_id('accountMenu') }}">{{ phrase('your_account') }}</a> <xf:contentcheck> <xf:if is="$xf.visitor.canViewBookmarks()"> <a href="{{ link('account/bookmarks') }}" class="tabs-tab" role="tab" tabindex="0" aria-controls="{{ unique_id('accountMenuBookmarks') }}">{{ phrase('bookmarks') }}</a> </xf:if> <!--[XF:account_tabs:bottom]--> </xf:contentcheck> </span> </span> </h4> <xf:set var="$hasTabs" value="{{ true }}" /> </xf:if> <xf:set var="$accountHtml"> <div class="menu-row menu-row--alt"> <xf:macro name="visitor_panel_row" /> </div> <xf:macro name="visitor_panel_row"> <div class="contentRow contentRow--alignMiddle"> <div class="contentRow-figure"> <span class="avatarWrapper"> <xf:avatar user="{$xf.visitor}" size="s" href="" notooltip="true" /> <xf:if is="$xf.visitor.canUploadAvatar()"> <a class="avatarWrapper-update" href="{{ link('account/avatar') }}" data-xf-click="overlay"><span>{{ phrase('edit') }}</span></a> </xf:if> </span> </div> <div class="contentRow-main"> <h3 class="contentRow-header"><xf:username user="$xf.visitor" rich="true" notooltip="true" /></h3> <div class="contentRow-lesser"> <xf:usertitle user="$xf.visitor" /> </div> </div> </div> <div class="contentRow-minor"> <!--[XF:stats_pairs:above_messages]--> <dl class="pairs pairs--justified fauxBlockLink"> <xf:if is="property('uix_visitorPanelIcons')"> <xf:fa icon="fa-comments" /> <xf:else /> <dt>{{ phrase('messages') }}</dt> </xf:if> <dd> <a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="fauxBlockLink-linkRow u-concealed"> {$xf.visitor.message_count|number} </a> </dd> </dl> <!--[XF:stats_pairs:above_reactions]--> <dl class="pairs pairs--justified fauxBlockLink"> <xf:if is="property('uix_visitorPanelIcons')"> <xf:fa icon="fa-thumbs-up" /> <xf:else /> <dt>{{ phrase('reaction_score') }}</dt> </xf:if> <dd> <a href="{{ link('account/reactions') }}" class="fauxBlockLink-linkRow u-concealed"> {$xf.visitor.reaction_score|number} </a> </dd> </dl> <!--[XF:stats_pairs:above_points]--> <xf:if is="$xf.options.enableTrophies"> <dl class="pairs pairs--justified fauxBlockLink"> <xf:if is="property('uix_visitorPanelIcons')"> <xf:fa icon="fa-trophy" /> <xf:else /> <dt>{{ phrase('trophy_points') }}</dt> </xf:if> <dd> <a href="{{ link('members/trophies', $xf.visitor) }}" data-xf-click="overlay" class="fauxBlockLink-linkRow u-concealed"> {$xf.visitor.trophy_points|number} </a> </dd> </dl> </xf:if> </div> </xf:macro> <!--[XF:menu_separator:below_visitor_panel]--> <hr class="menu-separator menu-separator--hard" /> <ul class="listPlain listColumns listColumns--narrow listColumns--together"> <!--[XF:content_links:top]--> <xf:if is="$xf.options.enableNewsFeed"> <li><a href="{{ link('whats-new/news-feed') }}" class="menu-linkRow">{{ phrase('news_feed') }}</a></li> </xf:if> <li><a href="{{ link('search/member', null, {'user_id': $xf.visitor.user_id}) }}" class="menu-linkRow">{{ phrase('your_content') }}</a></li> <li><a href="{{ link('account/reactions') }}" class="menu-linkRow">{{ phrase('reactions_received') }}</a></li> <!--[XF:content_links:bottom]--> </ul> <!--[XF:menu_separator:below_content_links]--> <hr class="menu-separator" /> <ul class="listPlain listColumns listColumns--narrow listColumns--together"> <!--[XF:account_links:top]--> <li><a href="{{ link('account/account-details') }}" class="menu-linkRow">{{ phrase('account_details') }}</a></li> <li><a href="{{ link('account/security') }}" class="menu-linkRow">{{ phrase('password_and_security') }}</a></li> <li><a href="{{ link('account/privacy') }}" class="menu-linkRow">{{ phrase('privacy') }}</a></li> <li><a href="{{ link('account/preferences') }}" class="menu-linkRow">{{ phrase('preferences') }}</a></li> <xf:if is="$xf.visitor.canEditSignature()"> <li><a href="{{ link('account/signature') }}" class="menu-linkRow">{{ phrase('signature') }}</a></li> </xf:if> <xf:if is="$xf.app.userUpgradeCount"> <li><a href="{{ link('account/upgrades') }}" class="menu-linkRow">{{ phrase('account_upgrades') }}</a></li> </xf:if> <xf:if is="$xf.app.connectedAccountCount"> <li><a href="{{ link('account/connected-accounts') }}" class="menu-linkRow">{{ phrase('connected_accounts') }}</a></li> </xf:if> <li><a href="{{ link('account/following') }}" class="menu-linkRow">{{ phrase('following') }}</a></li> <li><a href="{{ link('account/ignored') }}" class="menu-linkRow">{{ phrase('ignoring') }}</a></li> <!--[XF:account_links:bottom]--> </ul> <!--[XF:menu_separator:below_account_links]--> <hr class="menu-separator" /> <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="menu-linkRow">{{ phrase('log_out') }}</a> <xf:if is="$xf.visitor.canPostOnProfile()"> <xf:form action="{{ link('members/post', $xf.visitor) }}" ajax="true" data-redirect="off" data-reset-complete="true" data-no-auto-focus="true" class="menu-footer"> <span class="u-srOnly" id="ctrl_message">{{ phrase('update_your_status:') }}</span> <xf:textarea name="message" rows="1" autosize="true" maxlength="{$xf.options.profilePostMaxLength}" placeholder="{{ phrase('update_your_status...') }}" data-xf-init="focus-trigger user-mentioner emoji-completer" data-display="< :next" aria-labelledby="ctrl_message" /> <div class="u-hidden u-hidden--transition u-inputSpacer"> <xf:button type="submit" class="button--primary" icon="reply">{{ phrase('post_verb') }}</xf:button> </div> </xf:form> </xf:if> </xf:set> <xf:if is="$hasTabs"> <ul class="tabPanes"> <li class="is-active" role="tabpanel" id="{{ unique_id('accountMenu') }}"> {$accountHtml|raw} </li> <xf:if is="$xf.visitor.canViewBookmarks()"> <li role="tabpanel" id="{{ unique_id('accountMenuBookmarks') }}" data-href="{{ link('account/bookmarks-popup') }}" data-load-target=".js-bookmarksMenuBody"> <div class="js-bookmarksMenuBody"> <div class="menu-row">{{ phrase('loading...') }}</div> </div> <div class="menu-footer menu-footer--close"> <a href="{{ link('account/bookmarks') }}" class="js-bookmarkShowAllLink">{{ phrase('show_all...') }}</a> </div> </li> </xf:if> <!--[XF:account_tab_panes:bottom]--> </ul> <xf:else /> {$accountHtml|raw} </xf:if>]]>

</template>


-<template title="account_wrapper" version_string="2.1.0 Beta 5" version_id="2010035" addon_id="XF" type="public">

<![CDATA[<xf:sidenav> <div class="block"> <div class="block-container"> <h3 class="block-header">{{ phrase('your_account') }}</h3> <div class="block-body"> <!--[XF:profile_links:top]--> <a class="blockLink" href="{{ link('members', $xf.visitor) }}">{{ phrase('your_profile') }}</a> <a class="blockLink {{ $pageSelected == 'alerts' ? 'is-selected' : '' }}" href="{{ link('account/alerts') }}"> {{ phrase('alerts') }} </a> <a class="blockLink {{ $pageSelected == 'reactions' ? 'is-selected' : '' }}" href="{{ link('account/reactions') }}"> {{ phrase('reactions_received') }} </a> <xf:if is="$xf.visitor.canViewBookmarks()"> <a class="blockLink {{ $pageSelected == 'bookmarks' ? 'is-selected' : '' }}" href="{{ link('account/bookmarks') }}"> {{ phrase('bookmarks') }} </a> </xf:if> <!--[XF:profile_links:bottom]--> </div> <h3 class="block-minorHeader">{{ phrase('settings') }}</h3> <div class="block-body"> <!--[XF:settings_links:top]--> <a class="blockLink {{ $pageSelected == 'account_details' ? 'is-selected' : '' }}" href="{{ link('account/account-details') }}"> {{ phrase('account_details') }} </a> <a class="blockLink {{ $pageSelected == 'security' ? 'is-selected' : '' }}" href="{{ link('account/security') }}"> {{ phrase('password_and_security') }} </a> <a class="blockLink {{ $pageSelected == 'privacy' ? 'is-selected' : '' }}" href="{{ link('account/privacy') }}"> {{ phrase('privacy') }} </a> <a class="blockLink {{ $pageSelected == 'preferences' ? 'is-selected' : '' }}" href="{{ link('account/preferences') }}"> {{ phrase('preferences') }} </a> <xf:if is="$xf.visitor.canEditSignature()"> <a class="blockLink {{ $pageSelected == 'signature' ? 'is-selected' : '' }}" href="{{ link('account/signature') }}"> {{ phrase('signature') }} </a> </xf:if> <xf:if is="$xf.app.userUpgradeCount"> <a class="blockLink {{ $pageSelected == 'upgrades' ? 'is-selected' : '' }}" href="{{ link('account/upgrades') }}"> {{ phrase('account_upgrades') }} </a> </xf:if> <xf:if is="$xf.app.connectedAccountCount"> <a class="blockLink {{ $pageSelected == 'connected_account' ? 'is-selected' : '' }}" href="{{ link('account/connected-accounts') }}"> {{ phrase('connected_accounts') }} </a> </xf:if> <a class="blockLink {{ $pageSelected == 'following' ? 'is-selected' : '' }}" href="{{ link('account/following') }}"> {{ phrase('following') }} </a> <a class="blockLink {{ $pageSelected == 'ignored' ? 'is-selected' : '' }}" href="{{ link('account/ignored') }}"> {{ phrase('ignoring') }} </a> <a href="{{ link('logout', null, {'t': csrf_token()}) }}" class="blockLink">{{ phrase('log_out') }}</a> <!--[XF:settings_links:bottom]--> </div> </div> </div> </xf:sidenav> <xf:page option="sideNavTitle">{{ phrase('your_account') }}</xf:page> <xf:breadcrumb href="{{ link('account') }}">{{ phrase('your_account') }}</xf:breadcrumb> {$innerContent|raw}]]>

</template>


-<template title="app.less" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[@_nav-elTransitionSpeed: @xf-animationSpeed; @_navAccount-hPadding: @xf-paddingLarge; @uix_sidebarNavBreakpoint: {{ property('pageWidthMax') + 1 + ( 2 * (property('uix_sidebarNavWidth') + property('elementSpacer')) ) }}px; .u-anchorTarget { .m-stickyHeaderConfig(@xf-publicNavSticky); height: (@_stickyHeader-height + @_stickyHeader-offset); margin-top: -(@_stickyHeader-height + @_stickyHeader-offset); } @supports (scroll-padding-top: 10px) { html:not(.has-browser-safari) { .m-stickyHeaderConfig(@xf-publicNavSticky); scroll-padding-top: (@_stickyHeader-height + @_stickyHeader-offset); } html:not(.has-browser-safari) .u-anchorTarget { height: 0; margin-top: 0; } } .uix_pageWidth--wrapped { width: 100%; <xf:if is="property('uix_pageStyle') == 'wrapped'"> .m-pageWidth(); </xf:if> } .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); } } flex-grow: 1; <xf:if is="property('uix_pageStyle') == 'wrapped'"> .xf-uix_pageWrapper(); @media (min-width: {{ property('responsiveEdgeSpacerRemoval') + 1 }}px) { margin-top: @xf-pageEdgeSpacer; margin-bottom: @xf-pageEdgeSpacer; padding: @xf-pageEdgeSpacer; } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { border: none; box-shadow: none; } </xf:if> } // RESPONSIVE HEADER .p-offCanvasAccountLink { display: none; .avatar {margin-right: 24px;} } @media (max-width: @xf-responsiveNarrow) { .p-offCanvasAccountLink, .p-offCanvasRegisterLink { display: block; } } @media (max-width: @xf-pageWidthMax) { #uix_widthToggle--trigger {display: none;} } #uix_widthToggle--trigger:hover {cursor: pointer;} .uix_page--fixed #uix_widthToggle--trigger .fa--xf:before { .m-faBase(); .m-faContent(@fa-var-expand-alt); } {{ include('app_staffbar.less') }} <xf:if is="{{ property('uix_viewportShowLogoBlock') }} != '100%'"> {{ include('app_header.less') }} </xf:if> {{ 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('app_alerts.less') }} {{ include('app_content_vote.less') }}]]>

</template>


-<template title="app_alerts.less" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[.alert { &.is-unread { .xf-contentHighlightBase(); } } .alertToggler { text-decoration: none !important; padding: @xf-paddingMedium; margin-right: -@xf-paddingMedium; .alert & { opacity: 0; } .alert:hover &, .has-touchevents & { opacity: 1; } } .alertToggler-icon { font-size: .75em; font-weight: min(@xf-fontAwesomeWeight, @faWeight-regular); .is-unread & { font-weight: @faWeight-solid; } } <xf:if is="property('uix_iconFontFamily') != 'fontawesome'"> .alert { .alertToggler-icon:before {content: '\F0766';} &.is-unread .alertToggler-icon:before {content: '\F0765';} } </xf:if>]]>

</template>


-<template title="app_body.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[// ######################################### MAIN BODY ################################# .p-body { display: flex; align-items: stretch; flex-grow: 1; min-height: 1px; // IE11 workaround - related to #139187 position: relative; } .p-body-inner { width: 100%; <xf:if is="property('uix_pageStyle') != 'wrapped'"> .m-pageWidth(); .m-pageInset(); <xf:else /> @media (min-width: {{ property('responsiveEdgeSpacerRemoval') + 1 }}px ) { flex-grow: 1; } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .m-pageWidth(); .m-pageInset(); } </xf:if> transition: ease-in-out max-width .3s, ease-in-out left .3s, ease-in-out width .3s; display: flex; flex-direction: column; .m-clearFix(); position: relative; left: 0; padding-left: 0; padding-right: 0; padding-bottom: @xf-elementSpacer; .uix_page--fluid & { transition: @uix_moveIn max-width .3s, @uix_moveIn left .3s, @uix_moveIn width .3s; } &.p-body-inner-none { max-width: 100%; width: 100%; margin: 0; padding: 0; } /* > * { margin-bottom: 20px; &:last-child {margin-bottom: 0;} } */ .p-body-header { margin-bottom: @xf-elementSpacer; } } .uix_contentWrapper { // margin-bottom: @xf-elementSpacer; flex-grow: 1; <xf:if is="property('uix_contentWrapper') == 1"> padding: @xf-pageEdgeSpacer; .xf-uix_contentWrapperStyle(); @media (max-width: @xf-responsiveEdgeSpacerRemoval) { padding: {{ property('pageEdgeSpacer') / 2 }}px; margin-left: -{{ property('pageEdgeSpacer') / 2 }}px; margin-right: -{{ property('pageEdgeSpacer') / 2 }}px; border: none; box-shadow: none; } </xf:if> } .p-body-main { // display: table; table-layout: fixed; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; max-width: 100%; margin-bottom: auto; min-height: 1px; // IE11 workaround - related to #139187 } .p-body-content { // display: table-cell; vertical-align: top; @media ( min-width: {{ property('uix_sidebarBreakpoint') + 1 }}px ) { <xf:if is="{{ property('uix_sidebarLocation') == 'right' }}"> transition: ease-in width .2s, ease-in max-width .2s; .uix_sidebarCollapsed & { transition: ease-in width .2s .2s, ease-in max-width .2s .2s; } <xf:else /> transition: @uix_moveOut width .2s, ease-in max-width .2s; .uix_sidebarCollapsed & { transition: ease-in width .2s .2s, ease-in max-width .2s .2s; } </xf:if> } flex-grow: 1; max-width: 100%; width: 100%; .p-body-main--withSidebar &, .p-body-main--withSideNav & { // don't let the ad overflow the sidebar area -- this can happen due to how the Adsense JS works ins.adsbygoogle { // -10px gives a little buffer or helps account for no scrollbar being considered max-width: calc(~'100vw - 10px - @{xf-pageEdgeSpacer} - @{xf-pageEdgeSpacer} - @{xf-sidebarWidth} - @{xf-sidebarSpacer}'); @media (min-width: {{ property('uix_sidebarBreakpoint') + 1 }}px ) { // window wider than the max width, so limit to the display area without the sidebar max-width: calc(~'@{xf-pageWidthMax} - @{xf-pageEdgeSpacer} - @{xf-pageEdgeSpacer} - @{xf-sidebarWidth} - @{xf-sidebarSpacer}'); } @media (max-width: @xf-uix_sidebarBreakpoint) { // sidebar/sidenav have been moved/hidden max-width: 100vw; } } } .p-body-main--withSideNav & { @media (min-width: {{ property('uix_sidebarBreakpoint') + 1 }}px ) { width: calc(~"100% - {{ property('sidebarWidth') + property('elementSpacer')}}px"); max-width: calc(~"100% - {{ property('sidebarWidth') + property('elementSpacer')}}px"); display: inline-block; } } .p-body-main--withSidebar & { @media (min-width: {{ property('uix_sidebarBreakpoint') + 1 }}px ) { width: calc(~"100% - {{ property('sidebarWidth') + property('elementSpacer')}}px"); max-width: calc(~"100% - {{ property('sidebarWidth') + property('elementSpacer')}}px"); display: inline-block; } } @media (min-width: {{ property('uix_sidebarBreakpoint') + 1 }}px ) { .p-body-main--withSidebar.p-body-main--withSideNav & { width: calc(~"100% - {{ (property('sidebarWidth') + property('elementSpacer')) * 2 }}px"); max-width: calc(~"100% - {{ (property('sidebarWidth') + property('elementSpacer')) * 2 }}px"); display: inline-block; } } } .p-body-pageContent { > .tabs--standalone:first-child { margin-bottom: (@xf-elementSpacer) / 2; } } .p-body-pageContent { <xf:if is="property('uix_contentWrapper') == 2"> .xf-uix_contentWrapperStyle(); padding: @xf-pageEdgeSpacer; @media (max-width: @xf-responsiveEdgeSpacerRemoval) { padding: {{ property('pageEdgeSpacer') / 2 }}px; margin-left: -{{ property('pageEdgeSpacer') / 2 }}px; margin-right: -{{ property('pageEdgeSpacer') / 2 }}px; border: none; box-shadow: none; } </xf:if> } .p-body-sideNav { display: table-cell; vertical-align: top; width: @xf-sidebarWidth; float: left; } .p-body-sideNavTrigger { display: none; } .p-body-sidebar { // display: table-cell; display: inline-block; vertical-align: top; width: @xf-sidebarWidth; .contentRow-figure .avatar--m { // make these avatars a bit smaller in the sidebar so the content has more space .m-avatarSize(@avatar-m * 2 / 3); } } .p-body-sideNavCol, .p-body-contentCol, .p-body-sidebarCol { display: table-column; } .p-body-sideNavCol, .p-body-sidebarCol { width: @xf-sidebarWidth; } // .block[data-widget-id], .p-body-sideNav, .p-body-sidebar, // .uix_extendedFooterRow, .columnContainer-sidebar { .block-container { .xf-uix_sidebarWidgetWrapper(); } .block-minorHeader, .block-header { display: flex; align-items: center; padding: @xf-uix_widgetPadding; .xf-uix_sidebarWidgetHeading(); } .block-minorHeader:before, .block-header:before { .m-faBase(); font-size: @xf-uix_iconSize !important; padding-right: @xf-paddingMedium; color: @xf-textColorMuted; } .block-footer { padding: @xf-uix_widgetPadding; .xf-uix_sidebarWidgetFooter(); } .block-row { padding: @xf-uix_widgetPadding; .xf-uix_sidebarBlockRow(); } } // ---- Widget icons ----- .p-body-sidebar .block .block-minorHeader:before, .p-body-sideNavContent .block .block-minorHeader:before, .p-body-sidebar .block .block-header:before, .uix_extendedFooterRow .block .block-minorHeader:before, .p-body-sideNavContent .block .block-header:before{ .m-faBase(); } // .block[data-widget-definition], // .block[data-widget-key], .p-body-sideNav, .p-body-sidebar, .uix_extendedFooterRow { <xf:if is="{{ property('uix_defaultSidebarIcon') }}"> .block-minorHeader:before, .block-header:before, { .m-faContent(@fa-var-file-alt); } </xf:if> .block[data-widget-definition="th_userNavigation"] .block-minorHeader:before { .m-faContent(@fa-var-user); } .block[data-widget-definition="members_online"] .block-minorHeader:before { .m-faContent(@fa-var-users); } .block[data-widget-definition="board_totals"] .block-minorHeader:before, .block[data-widget-definition="online_statistics"] .block-minorHeader:before, .block[data-widget-definition="forum_statistics"] .block-minorHeader:before { .m-faContent(@fa-var-chart-bar); } .block[data-widget-definition="share_page"] .block-minorHeader:before { .m-faContent(@fa-var-share); } .block[data-widget-definition="most_messages"] .block-minorHeader:before { .m-faContent(@fa-var-comments); } .block[data-widget-definition="find_member"] .block-minorHeader:before { .m-faContent(@fa-var-search); } .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{ .m-faContent(@fa-var-comment); } .block[data-widget-definition="birthdays"] .block-minorHeader:before{ .m-faContent(@fa-var-birthday-cake); } .block[data-widget-definition="th_navigation"] .block-minorHeader:before{ .m-faContent(@fa-var-list); } body .block[data-widget-key="thuix_footer_facebookWidget"] .block-minorHeader:before { .m-faBase('Brands'); .m-faContent(@fa-var-facebook); } body .block[data-widget-definition="thuix_footer_twitterWidget"] .block-minorHeader:before{ .m-faBase('Brands'); .m-faContent(@fa-var-twitter); } form[data-xf-init*="poll-block"] .block-minorHeader:before { .m-faContent(@fa-var-poll); } } // xpress WP widget support .p-body-sidebar .block-xpress { .block-minorHeader:before { .m-faContent(@fa-var-file-alt); } &.widget_media_gallery .block-minorHeader:before, &.widget_media_audio .block-minorHeader:before { .m-faContent(@fa-var-image); } &.widget_calendar .block-minorHeader:before { .m-faContent(@fa-var-calendar); } &.widget_recent_comments .block-minorHeader:before { .m-faContent(@fa-var-comments); } &.widget_search .block-minorHeader:before { .m-faContent(@fa-var-search); } } <xf:if is="!property('uix_sidebarIcons')"> .p-body-sidebar .block .block-minorHeader:before, .p-body-sideNavContent .block .block-minorHeader:before, .p-body-pageContent .block .block-minorHeader:before, .p-body-sidebar .block .block-header:before, .p-body-sideNavContent .block .block-header:before, .p-body-pageContent .block .block-header:before {display: none !important;} </xf:if> <xf:if is="!property('uix_footerIcons')"> .uix_extendedFooterRow .block .block-minorHeader:before {display: none !important;} </xf:if> .uix_extendedFooterRow .block-minorHeader:before { font-size: @xf-uix_iconSize !important; padding-right: @xf-paddingMedium; } <xf:if is="property('uix_visitorPanelIcons')"> .block[data-widget-definition="visitor_panel"] .pairs { dt:after {display: none;} } </xf:if> .p-body-content, .p-body-sideNav, .p-body-sideNavContent, .uix_sidebarInner { > :first-child { margin-top: 0; } > :last-child { margin-bottom: 0; } } @media (max-width: @xf-uix_sidebarBreakpoint ) { .p-body-sideNavCol, .p-body-contentCol, .p-body-sidebarCol { display: none; width: auto; } /* .p-body-main, .p-body-content { display: block; } */ .p-body-content {flex-grow: 1; width: 100%;} .p-body-sideNav { display: block; width: 100%; } .p-body-sideNavTrigger { margin-bottom: ((@xf-elementSpacer) / 2); text-align: center; .button:before { .m-faBase(); font-size: 120%; vertical-align: middle; display: inline-block; margin: -4px 6px -4px 0; .m-faContent(@fa-var-bars); //, .88em } .has-js & { display: block; } } .has-js .p-body-sideNavInner:not(.offCanvasMenu) { display: none; .m-transitionFadeDown(); } .has-no-js .p-body-sideNavInner { margin-bottom: @xf-elementSpacer; } .p-body-sidebar { width: 100%; float: none; order: 1; flex-grow: 1; display: block; margin-top: @xf-elementSpacer; .uix_sidebarInner { display: flex; flex-wrap: wrap; align-items: stretch; flex-grow: 1; margin: 0 -((@xf-pageEdgeSpacer) / 2); } .uix_sidebarInner .uix_sidebar--scroller > * { margin: 0 ((@xf-pageEdgeSpacer) / 2) @xf-elementSpacer; min-width: @xf-sidebarWidth; flex: 1 1 @xf-sidebarWidth; .block-container { margin-left: 0; margin-right: 0; } &:last-child { margin-bottom: @xf-elementSpacer; } } .uix_sidebarInner.offCanvasMenu-content .uix_sidebar--scroller > * { flex: auto; min-width: 0; } // add an invisible block to ensure that the last row has the correct widths &:after { display: block; content: ''; height: 0; margin: 0 ((@xf-pageEdgeSpacer) / 2); min-width: @xf-sidebarWidth; flex: 1 1 @xf-sidebarWidth; } .block-container { display: flex; flex-direction: column; height: 100%; .block-footer { margin-top: auto; } } } .p-body-main--withSideNav, .p-body-main--withSidebar { .p-body-content { padding: 0; } } } .uix_sidebarCollapsed .uix_sidebarInner { overflow: hidden; } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .p-body-sideNavContent { // this is likely to contain blocks that overflow the container so account for that margin: 0 -@xf-pageEdgeSpacer; padding: 0 @xf-pageEdgeSpacer; .offCanvasMenu & { margin: 0; padding: 0; } } .p-body-sidebar { display: block; margin-left: 0; margin-right: 0; .uix_sidebarInner > * { // margin-left: 0; // margin-right: 0; min-width: 0; } } }]]>

</template>


-<template title="app_breadcrumbs.less" version_string="2.2.0" version_id="2020070" addon_id="XF" type="public">

<![CDATA[.breadcrumb { <xf:if is="property('uix_pageStyle') == 'fixed'"> .m-pageWidth(); </xf:if> .pageContent { <xf:if is="property('uix_pageStyle') != 'fixed'"> .m-pageWidth(); </xf:if> } .p-body-inner & { max-width: 100%; width: 100%; padding-left: 0; padding-right: 0; .pageContent { max-width: 100%; width: 100%; padding-left: 0; padding-right: 0; } } } .p-pageWrapper .breadcrumb { @media (min-width: @xf-responsiveNarrow) { .xf-uix_breadcrumbWrapper(); } &.p-breadcrumb--bottom { .xf-uix_breadcrumbWrapperBottom(); } .pageContent { display: flex; align-items: center; > *:not(:last-child) {margin-right: @xf-paddingMedium;} } .uix_breadcrumb--opposite { margin-left: auto; display: inline-flex; align-items: center; > *:not(:last-child) {margin-right: 5px;} } } .p-breadcrumbs { .m-listPlain(); .m-clearFix(); // margin-bottom: 5px; // line-height: 1.5; display: flex; flex-wrap: wrap; align-items: center; flex-grow: 1; @media (min-width: @xf-responsiveNarrow) { .xf-uix_breadcrumbStyle(); } i {font-size: @xf-uix_iconSize;} &.p-breadcrumbs--bottom { // margin-top: @xf-elementSpacer; margin-bottom: 0; } > li { float: left; font-size: @xf-fontSizeSmall; display: flex; align-items: center; font-size: inherit; a { display: inline-block; vertical-align: bottom; max-width: 300px; .m-overflowEllipsis(); .xf-uix_breadcrumbItem(); } &:after, &:before { .m-faBase(); // font-size: 90%; // color: @xf-textColorMuted; } &:after { .m-faContent(@fa-var-angle-right, false ltr); //, .5em .m-faContent(@fa-var-angle-left, false, rtl); //, .5em margin: 0 .5em; } &:first-child { padding-left: 0; } &:last-child { &:after {display: none;} a { font-weight: @xf-fontWeightHeavy; .xf-uix_breadcrumbItem__active(); } } } } @media (max-width: @xf-responsiveMedium) { .p-breadcrumbs > li a { max-width: 200px; } } @media (max-width: @xf-responsiveNarrow) { .p-breadcrumbs { > li { font-size: @xf-fontSizeSmallest; display: none; padding-left: 0; a { display: inline-flex; align-items: center; } &:last-child { // display: block; display: flex; } a { max-width: 90vw; color: inherit !important; &:hover {text-decoration: none;} } &:after { display: none; } a:before { .m-faBase(); .m-faContent(@fa-var-chevron-left, .72em, ltr); .m-faContent(@fa-var-chevron-right, .72em, rtl); // margin-right: .5em; font-size: @xf-uix_iconSizeLarge !important; color: inherit; } } } }]]>

</template>


-<template title="app_footer.less" version_string="2.1.0 Beta 2" version_id="2010032" addon_id="XF" type="public">

<![CDATA[// ######################################### FOOTER ################################# <xf:comment> may have been removed at xf2 beta .p-footer-debug-list { // color: xf-default(@xf-publicFooterLink--color, inherit); .pairs--debug { display: inline; padding-right: 4px; > dt, > dd { display: inline; color: inherit; a {padding: 0;} } } } </xf:comment> .p-footer { display: flex; flex-direction: column; .xf-publicFooter(); // a {.xf-publicFooterLink();} } .p-footer-inner { order: @xf-uix_footerMenuOrder; <xf:if is="property('uix_pageStyle') != 'covered' && !property('uix_forceCoverFooterMenu')"> .m-pageWidth(); .m-pageInset(); </xf:if> padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingMedium; .xf-uix_footerMenu(); .pageContent { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; <xf:if is="property('uix_pageStyle') == 'covered' || property('uix_forceCoverFooterMenu')"> .m-pageWidth(); .m-pageInset(); <xf:if is="(property('uix_pageStyle') != 'wrapped')"> padding:0; </xf:if> </xf:if> } a { .xf-publicFooterLink(); } } .p-footer-copyrightRow { order: @xf-uix_copyrightOrder; <xf:if is="property('uix_pageStyle') != 'covered' && !property('uix_forceCoverCopyright')"> .m-pageWidth(); .m-pageInset(); </xf:if> .xf-uix_footerCopyrightRow(); .pageContent { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; <xf:if is="property('uix_pageStyle') == 'covered' || property('uix_forceCoverCopyright')"> .m-pageWidth(); .m-pageInset(); <xf:if is="(property('uix_pageStyle') != 'wrapped')"> padding:0; </xf:if> </xf:if> } .p-footer-debug-list li a { color: inherit; &:hover {color: inherit; text-decoration: underline;} } } /* commented out in beta 1 (Ian) .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } */ .p-footer-linkList { .m-listPlain(); // .m-clearFix(); display: inline-flex; flex-wrap: wrap; align-items: center; > li { /* commented out in beta 1 (Ian) float: left; margin-right: .5em; margin: @xf-paddingMedium; */ &:last-child { margin-right: 0; } a { padding: 6px; border-radius: @xf-borderRadiusSmall; display: inline-block; &:hover { .xf-uix_footerLinkHover(); text-decoration: none; // background-color: fade(@xf-publicFooterLink--color, 10%); } } } &.p-footer-choosers { margin: -6px; a { margin: 6px; .xf-uix_footerChooser(); &:hover {.xf-uix_footerChooserHover();} // i {display: none;} } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #FFA500; border-radius: 2px; } .fa-rss { color: white; } } /* .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; } */ @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }]]>

</template>


-<template title="app_header.less" version_string="2.2.0 Beta 4" version_id="2020034" addon_id="XF" type="public">

<![CDATA[// MAIN HEADER ROW .p-header { .xf-publicHeader(); <xf:if is="property('uix_pageStyle') == 'fixed'"> .m-pageWidth(); </xf:if> .p-header-logo img {max-width: @xf-uix_logoWidth;} a { color: inherit; } .p-header-logo img {width: 100%;} } .p-header-inner { .m-pageInset(); <xf:if is="property('uix_pageStyle') != 'fixed'"> .m-pageWidth(); </xf:if> position: relative; } .p-header-content { // padding: @xf-paddingMedium 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; max-width: 100%; <xf:if is="property('uix_viewportCenterLogo') == '100%'"> justify-content: center; flex-direction: column; .p-nav-opposite {margin-top: @xf-paddingLarge; margin-left: 0;} .p-header-logo {margin-right: 0;} </xf:if> @media (max-width: @xf-uix_viewportCenterLogo) { justify-content: center; flex-direction: column; .p-nav-opposite {margin-top: @xf-paddingLarge; margin-left: 0;} .p-header-logo {margin-right: 0;} } } .p-header-logo { vertical-align: middle; // margin-right: auto; a { color: inherit; text-decoration: none; } &.p-header-logo--text { font-size: @xf-fontSizeLargest; } &.p-header-logo--image { img { &[src$="/xenforo-logo.svg"] { height: 36px; } // vertical-align: bottom; // max-width: 100%; // max-height: 200px; } } .uix_logoIcon {.xf-uix_logoIconStyle();} } @media (max-width: @xf-responsiveNarrow) { .p-header-logo { // max-width: 100px; &.p-header-logo--text { font-size: @xf-fontSizeLarge; font-weight: @xf-fontWeightNormal; .m-overflowEllipsis(); } } .p-navgroup-link { .p-navGroup--member & { margin-left: 5px; &:first-of-type { margin-left: 0; } } } } ]]>

</template>


-<template title="app_inlinemod.less" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[// #################################### INLINE MOD BUTTON ################ .inlineModButton { display: inline-block; position: relative; i:before { display: inline-block; .m-faBase(); .m-faContent(@fa-var-check-square, 1em); //, .88em vertical-align: -1px; font-size: 1.2em; margin: -.2em 0; line-height: 1; } &.inlineModButton--noIcon i { display: none; } &.is-mod-active { color: @xf-textColorAttention; .inlineModButton-count { display: inline; } } &:not(.inlineModButton--withLabel) { .inlineModButton-label { .m-visuallyHidden(); } } } .inlineModButton-count { display: none; position: absolute; top: -3px; left: -6px; .xf-contentHighlightBase(); border: @xf-borderSize solid @xf-borderColorAccentContent; border-radius: @xf-borderRadiusSmall; padding: 1px 2px; font-size: 9px; line-height: 1; .inlineModButton--noIcon & { position: static; font-size: 80%; padding-top: 0; padding-bottom: 0; } } // #################################### INLINE MOD BAR ################ .inlineModBar { .xf-inlineModBar(); .m-transitionFadeDown(); .m-clearFix(); .input, .button { padding-top: @xf-paddingSmall; padding-bottom: @xf-paddingSmall; height: auto; line-height: inherit; } &.is-active:first-of-type { .m-dropShadow(0, 0, 8px, 3px, 0.3); } } .inlineModBar-inner { .m-pageWidth(); .m-pageInset(); display: flex; align-items: center; } .inlineModBar-controls { .m-listPlain(); margin-right: auto; display: flex; align-items: center; flex-wrap: wrap; min-height: 35px; max-width: 100%; > li { float: left; display: inline-block; margin-right: 1em; &:last-child { margin-right: 0; } } } .inlineModBar-close { float: right; margin-left: 1em; order: 2; } .inlineModBar-title { font-weight: @xf-fontWeightHeavy; } .button.inlineModBar-goButton { font-size: @xf-fontSizeNormal; line-height: 1.5; // matches select min-width: 0; } .inlineModBarCover { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; cursor: pointer; }]]>

</template>


-<template title="app_nav.less" version_string="2.2.3 Patch 1" version_id="2020371" addon_id="XF" type="public">

<![CDATA[// navEl / Navigation Elements for header navigation .p-navEl { .m-clearFix(); display: inline-flex; align-items: center; } .p-navEl-linkHolder { float: left; } .p-navEl-link { float: left; // .m-transition(opacity, background; @_nav-elTransitionSpeed); text-decoration: none !important; max-height: 100%; &.p-navEl-link--menuTrigger { cursor: pointer; &:after { .m-menuGadget(); // .58em opacity: .5; .m-transition(opacity; @_nav-elTransitionSpeed); } &:hover:after { opacity: 1; } } } .p-navEl-splitTrigger { float: left; opacity: .5; cursor: pointer; text-decoration: none; .m-transition(all; @_nav-elTransitionSpeed); &:after { .m-menuGadget(); // .58em line-height: 1; } &:hover { opacity: 1; text-decoration: none; } } // HEADER NAV ROW .p-nav { .xf-publicNav(); <xf:if is="property('uix_pageStyle') == 'fixed'"> .m-pageWidth(); </xf:if> transition: ease-in .15s all; a:not(.button) { color: inherit; } .p-navSticky.is-sticky & { .p-nav-list .p-navEl.is-selected, .p-account { border-radius: 0; } } } a.uix_logo { text-decoration: none; } .p-nav-inner { <xf:if is="property('uix_pageStyle') == 'covered'"> .m-pageWidth(); .m-pageInset(0px); </xf:if> position: relative; <xf:if is="property('uix_navigationBarHeight')"> height: @xf-uix_navigationBarHeight; </xf:if> .p-header-logo { display: inline-flex; align-items: center; margin-right: @xf-paddingLarge; .uix_logo { display: flex; } &.p-header-logo--image img { max-height: calc(@xf-uix_navigationBarHeight - (@xf-uix_navLogoVertSpacing * 2)); .is-sticky & { max-height: calc(@xf-uix_stickyNavHeight - (@xf-uix_navLogoVertSpacing * 2)); } } } .m-clearFix(); display: flex; align-items: center; } .p-nav .uix_activeNavTitle { .xf-uix_activeNavTitleStyle(); display: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; @media (max-width: @xf-publicNavCollapseWidth) and (min-width: @xf-responsiveNarrow) { display: inline-block; } } .p-nav .p-nav-menuTrigger { display: none; vertical-align: middle; align-self: center; // margin-left: max(0px, @xf-pageEdgeSpacer - 6px); margin-right: 5px; color: inherit; padding: 0 8px; &:hover { text-decoration: none; cursor: pointer; } i:after { .m-faBase(); font-size: @xf-fontSizeLargest; .m-faContent(@fa-var-bars); vertical-align: bottom; font-size: @xf-uix_iconSizeLarge; } .p-nav-menuText { display: none; } } <xf:if is="property('uix_logoSmall')"> .uix_logoSmall { <xf:if is="property('uix_brandmarkImage__breakpoint') != '100%'"> display: none; </xf:if> // max-width: 100px; align-self: center; img { display: block; max-height: @header-navHeight; &:not([src$=".svg"]) { width: auto; } } } <xf:if is="property('uix_brandmarkImage__breakpoint') == '100%'"> .p-header-logo.p-header-logo--image .uix_logo {display: none;} </xf:if> @media (max-width: {{ property('uix_brandmarkImage__breakpoint') - 1 }}px) { .uix_logoSmall {display: inline-block;} .p-header-logo.p-header-logo--image .uix_logo {display: none;} } </xf:if> .uix_logo--text { display: flex; align-items: center; white-space: nowrap; .xf-uix_logoText__style(); &:hover { text-decoration: none; } } <xf:if is="property('uix_logoTextBreakpoint')"> @media (max-width: @xf-uix_logoTextBreakpoint) { .uix_logo--text {font-size: @xf-uix_responsiveLogoFontSize;} } </xf:if> .p-nav-scroller { margin-right: auto; max-width: 100%; .hScroller-scroll:not(.is-calculated) { // IE11 seems to want to flash a vertical scrollbar without this here overflow: hidden; } .hScroller-action { .m-hScrollerActionColorVariation( xf-default(@xf-publicNav--background-color, transparent), xf-default(@xf-publicNav--color, ~""), xf-intensify(@xf-publicNav--color, 10%) ); } } .p-nav-list { .m-listPlain(); .m-clearFix(); display: flex; align-items: center; font-size: 0; // this applies padding that will be contained within the scroller. // it needs font-size 0 to not create extra space though /* &:before, &:after { display: inline-block; width: @xf-pageEdgeSpacer; content: ''; } */ > li { display: inline-block; vertical-align: bottom; font-size: @xf-fontSizeNormal; &:first-child { margin-left: 0; } } .badgeContainer:after {margin-left: 4px;} .m-navElHPadding(@xf-publicNavPaddingH); .p-navEl { .xf-publicNavTab(); .m-transition(all; @_nav-elTransitionSpeed); &.is-selected { .xf-publicNavSelected(); .p-navEl-link { <xf:if is="{{ property('uix_viewportWidthRemoveSubNav') }} != '100%'"> @media (min-width: {{ property('uix_viewportWidthRemoveSubNav') + 1 }}px ) { padding-right: @xf-publicNavPaddingH; // since the split trigger is hidden } </xf:if> &:hover { background: none; text-decoration: none; color: inherit; } } .p-navEl-splitTrigger { <xf:if is="{{ property('uix_viewportWidthRemoveSubNav') }} != '100%'"> @media (min-width: {{ property('uix_viewportWidthRemoveSubNav') + 1 }}px ) { display: none; } </xf:if> } } &:not(.is-selected):not(.is-menuOpen) { &:hover, // .p-navEl-link:hover, // .p-navEl-splitTrigger:hover { .xf-publicNavTabHover(); } .p-navEl-link:hover, .p-navEl-splitTrigger:hover { text-decoration: none; color: inherit; } } &.is-menuOpen { .xf-publicNavTabMenuOpen(); border-top-left-radius: xf-default(@xf-publicNavSelected--border-top-left-radius, 0); border-top-right-radius: xf-default(@xf-publicNavSelected--border-top-right-radius, 0); // .m-dropShadow(0, 5px, 10px, 0, .35); a { // text-decoration: none; // opacity: 1; } } } .p-navEl-link, .p-navEl-splitTrigger { padding-top: @xf-publicNavPaddingV; padding-bottom: @xf-publicNavPaddingV; display: inline-flex; align-items: center; &:hover {background: none !important;} } } .p-navSticky--primary.is-sticky { .p-nav-list { .p-navEl-link.p-navEl-link--splitMenu { padding-right: ((@xf-publicNavPaddingH) / 4); } .p-navEl.is-selected .p-navEl-splitTrigger { display: inline; position: relative; &:before { content: ''; position: absolute; left: 0; top: 5px; bottom: 5px; width: 0; border-left: @xf-borderSize solid fade(xf-default(@xf-publicNavSelected--color, transparent), 35%); } } } } @media (max-width: @xf-publicNavCollapseWidth) { .has-js { .p-nav-inner { // min-height: 45px; } .p-nav .p-nav-menuTrigger { display: inline-flex; } .p-sectionLinks .p-sectionLinks--group { display: none; } .p-nav-scroller { display: none; } } } // ACCOUNT/VISITOR/SEARCH SECTION .p-nav-opposite { margin-left: auto; // margin-right: @xf-pageEdgeSpacer; text-align: right; flex-shrink: 0; display: inline-flex; align-items: center; } .p-navgroup { float: left; .m-clearFix(); // background: @xf-publicHeaderAdjustColor; border-top-left-radius: @xf-borderRadiusMedium; border-top-right-radius: @xf-borderRadiusMedium; display: inline-flex; &.p-discovery { // margin-left: .5em; &.p-discovery--noSearch { margin-left: 0; } // i {line-height: 1;} } .p-navgroup-linkText { padding-left: @xf-paddingSmall; &:empty {display: none;} } } <xf:if is="property('uix_removeVisitorTabsText')"> @media (max-width: @xf-uix_viewportRemoveVisitorTabsText) { .p-navgroup.p-navgroup--member .p-navgroup-linkText, .p-discovery .p-navgroup-linkText {display: none;} .p-navgroup.p-navgroup--member .p-navgroup-link i, .p-navgroup.p-discovery .p-navgroup-link i { &:after, &:before { font-size: @xf-uix_iconSizeLarge; } } } </xf:if> <xf:if is="property('uix_removeRegisterText')"> @media (max-width: @xf-uix_viewportRemoveRegisterText) { .p-navgroup--guest .p-navgroup-linkText {display: none;} .p-navgroup.p-navgroup--guest .p-navgroup-link i { &:after, &:before { font-size: @xf-uix_iconSizeLarge; } } } </xf:if> <xf:if is="property('uix_condenseVisitorTabs')"> @media (max-width: @xf-uix_viewportCondenseVisitorTabs) { .p-account.p-navgroup--member { .p-navgroup-link--conversations {display: none;} .p-navgroup-link--alerts {display: none;} } } </xf:if> .p-navgroup-link { float: left; padding: (@xf-publicNavPaddingV / 2); // border-left: 1px solid @xf-publicHeaderAdjustColor; display: inline-flex; align-items: center; <xf:if is="property('uix_removeVisitorTabsText')"> @media (max-width: @xf-uix_viewportRemoveVisitorTabsText) { padding: @xf-paddingSmall calc(@xf-paddingSmall * 2); } </xf:if> &:first-of-type { border-top-left-radius: @xf-borderRadiusMedium; border-left: none; } &:last-of-type { border-top-right-radius: @xf-borderRadiusMedium; } &:hover { text-decoration: none; // background: xf-intensify(@xf-publicHeaderAdjustColor, 5%); } &.p-navgroup-link--user { .m-overflowEllipsis(); max-width: 150px; .avatar { // .m-avatarSize((@xf-fontSizeNormal) * (@xf-lineHeightDefault)); .m-avatarSize(@xf-uix_iconSizeLarge); margin: 1px 0; @media (min-width: @xf-uix_removeVisitorTabsText) { .m-avatarSize(@xf-uix_iconSize); font-size: 11px; } } } &.badgeContainer { // opacity: .6; position: relative; &:after { position: absolute; // left: (@_navAccount-hPadding - 6px); // top: (@xf-publicNavPaddingV - 2px); right: 2px; top: 3px; padding: 1px 3px; margin: 0; font-size: 10px; line-height: 11px; } &:hover, &.badgeContainer--highlighted { // opacity: 1; } } &.is-menuOpen { .xf-publicNavTabMenuOpen(); // .m-dropShadow(0, 5px, 10px, 0, .35); opacity: 1; } /* &.p-navgroup-link--iconic { i:after { .m-faBase(); display: inline-block; min-width: 1.2em; text-align: center; } } */ &.p-navgroup-link--conversations { i:after { .m-faBase(); display: inline-block; min-width: 1em; .m-faContent(@fa-var-envelope, 1em); } } &.p-navgroup-link--alerts { i:after { .m-faBase(); display: inline-block; min-width: 1em; .m-faContent(@fa-var-bell, 1em); } } &.p-navgroup-link--bookmarks i:after { .m-faContent(@fa-var-bookmark); //, .75em } &.p-navgroup-link--whatsnew i:after { .m-faBase(); .m-faContent(@fa-var-bolt, .5em); width: auto; } &.p-navgroup-link--search i:after { .m-faBase(); .m-faContent(@fa-var-search); } &.p-navgroup-link--logIn { i:after { .m-faBase(); display: inline-block; min-width: 1em; .m-faContent(@fa-var-key); } } &.p-navgroup-link--register { i:after { .m-faBase(); display: inline-block; min-width: 1em; .m-faContent(@fa-var-clipboard); } } } .p-navgroup-link--whatsnew { display: none; .p-navgroup-link:first-of-type& + .p-navgroup-link { border-top-left-radius: @xf-borderRadiusMedium; border-left: none; } } <xf:if is="property('uix_visitorTabsMobile') != 'initial'"> @media (max-width: @xf-responsiveNarrow) { .p-navgroup.p-account { .p-navgroup-link--user {display: none;} .p-navgroup-link--conversations {display: none;} .p-navgroup-link--alerts {display: none;} } <xf:if is="property('uix_visitorTabsMobile') == 'tabbar'"> .p-navgroup.p-discovery { .p-navgroup-link--whatsnew {display: none;} } </xf:if> } </xf:if> @media (max-width: @xf-responsiveWide) { /* .p-navgroup-link { &.p-navgroup-link--iconic .p-navgroup-linkText, &.p-navgroup-link--textual i { display: none; } &.p-navgroup-link--textual { .m-overflowEllipsis(); max-width: 110px; } &.p-navgroup-link--iconic i:after { text-align: center; } } */ } @media (max-width: @xf-publicNavCollapseWidth) { .p-navgroup-link--whatsnew { display: inline-flex; .p-navgroup-link:first-of-type& + .p-navgroup-link { // border-top-left-radius: 0; // border-left: 1px solid @xf-publicHeaderAdjustColor; } } .has-js { .p-nav-opposite { align-self: center; // margin-right: max(0px, @xf-pageEdgeSpacer - 6px); .p-navgroup { background: none; } .p-navgroup-link { border: none; border-radius: @xf-borderRadiusMedium; &.is-menuOpen { .m-borderBottomRadius(0); } &.badgeContainer { opacity: 1; } } } } } /* @media (max-width: 359px) { .p-navgroup-link&.p-navgroup-link--user { display: none; } } @media (max-width: 374px) { .p-navgroup-link.p-navgroup-link--register { display: none; } } */ .p-navgroup .p-navgroup-link i { &:after, &:before { @media (min-width: @xf-uix_viewportRemoveRegisterText) { font-size: @xf-uix_iconSize; // padding-right: @xf-paddingMedium; } } } <xf:if is="property('uix_rightAlignNavigation')"> @media (min-width: @xf-publicNavCollapseWidth) { .p-nav-inner .p-nav-opposite, .p-sectionLinks .p-nav-opposite {margin-left: 0;} .p-nav-inner .p-nav-scroller, .p-sectionLinks .p-sectionLinks-inner {margin-right: 0; margin-left: auto;} } </xf:if>]]>

</template>


-<template title="app_prepend.less" version_string="2.2.0 Release Candidate 1" version_id="2020051" addon_id="XF" type="public">

<![CDATA[.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))"; } } */ } .m-navElHPadding(@padding) { .p-navEl-link { padding: 0 @padding; &.p-navEl-link--splitMenu { padding-right: ((@padding) / 8); } &.p-navEl-link--menuTrigger { padding-right: ((@padding) / 3); // equal to splitTrigger padding-right &:after { padding-left: ((@padding) / 4 + (@padding) / 3); // equal to splitMenu padding-right + splitTrigger padding-left } } } .p-navEl-splitTrigger { padding: 0 ((@padding) / 3); } }]]>

</template>


-<template title="app_sectionlinks.less" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[// SUB SECTION LINKS .p-sectionLinks { .xf-publicSubNav(); <xf:if is="property('uix_pageStyle') == 'fixed'"> .m-pageWidth(); </xf:if> transition: ease-in .15s all; .p-sectionLinks--group { display: flex; align-items: center; <xf:if is="property('uix_rightAlignNavigation')"> &:first-child { margin-left: auto; } </xf:if> } .hScroller-action { .m-hScrollerActionColorVariation( xf-default(@xf-publicSubNav--background-color, transparent), xf-default(@xf-publicSubNav--color, ~""), xf-default(@xf-publicSubNavElHover--color, ~"") ); } .p-nav-opposite a:not(.button) { color: inherit; &:hover { .xf-publicSubNavElHover(); } } &.p-sectionLinks--empty { height: 10px; display: none; } .pageContent { display: flex; align-items: center; position: relative; justify-content: space-between; <xf:if is="property('publicNavSticky')"> min-height: @xf-uix_stickySectionLinkHeight; height: @xf-uix_stickySectionLinkHeight; </xf:if> <xf:if is="property('uix_pageStyle') == 'covered'"> .m-pageWidth(); </xf:if> } .p-navgroup .p-navgroup-link i:after, .p-navSearch-trigger i:after {font-size: @xf-uix_iconFont;} .p-navgroup-link.p-navgroup-link--user .avatar { font-size: @xf-uix_iconSizeLarge; .m-avatarSize(@xf-uix_iconSize); } .p-navSearch-trigger, .p-navgroup .p-navgroup-link {padding: @xf-paddingSmall;} } .p-sectionLinks-inner { // .m-clearFix(); // .m-pageWidth(); @defaultPadding: max(0px, @xf-pageEdgeSpacer - @xf-publicSubNavPaddingH); .m-pageInset(@defaultPadding); margin-right: auto; } .p-sectionLinks-list { .m-listPlain(); font-size: 0; a { color: inherit; } > li { display: inline-block; } .m-navElHPadding(@xf-publicSubNavPaddingH); .p-navEl { font-size: @xf-publicSubNav--font-size; // padding-top: @xf-paddingMedium; // padding-bottom: @xf-paddingMedium; height: @xf-uix_stickyStaffBarHeight; &:hover { .xf-publicSubNavElHover(); a { text-decoration: @xf-publicSubNavElHover--text-decoration; } } <xf:comment> &.is-menuOpen { .xf-publicSubNavElMenuOpen(); .m-borderBottomRadius(0); .m-dropShadow(0, 5px, 10px, 0, .35); } </xf:comment> } .p-navEl-link, .p-navEl-splitTrigger { padding-top: @xf-publicSubNavPaddingV; padding-bottom: @xf-publicSubNavPaddingV; } } <xf:if is="(property('uix_searchPosition') != 'tablinks') && (property('uix_loginTriggerPosition ') != 'tablinks') && (property('uix_userTabsPosition ') != 'tablinks')"> @media (max-width: @xf-publicNavCollapseWidth) { .has-js .p-sectionLinks-inner { display: none; } } </xf:if>]]>

</template>


-<template title="app_staffbar.less" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![CDATA[// ######################################### STAFF BAR ################################# .p-staffBar { z-index: 150; .xf-publicStaffBar(); <xf:if is="property('uix_pageStyle') == 'fixed'"> .m-pageWidth(); .m-pageInset(); </xf:if> .hScroller-action { .m-hScrollerActionColorVariation( xf-default(@xf-publicStaffBar--background-color, transparent), xf-default(@xf-publicStaffBar--color, ~""), xf-intensify(@xf-publicStaffBar--color, 10%) ); } <xf:if is="{{ property('uix_stickyStaffBar')}}"> @supports (position: sticky) or (position: -webkit-sticky) { & { position: -webkit-sticky; position: sticky; top: 0; &.is-sticky-broken, &.is-sticky-disabled { position: static; top: auto; } } } </xf:if> .pageContent { display: flex; align-items: center; // justify-content: space-between; position: relative; height: 100%; <xf:if is="property('uix_pageStyle') == 'covered'"> .m-pageWidth(); .m-pageInset(); </xf:if> min-height: @xf-uix_stickyStaffBarHeight; .p-nav-opposite a:not(.button) { color: inherit; &:hover {.xf-uix_staffBarTabHover();} } a { .xf-uix_staffBarTab(); &:hover {.xf-uix_staffBarTabHover();} } } } .p-staffBar-inner { .m-clearFix(); // padding-top: @xf-paddingMedium; //padding-bottom: @xf-paddingMedium; } .p-staffBar-link { display: inline-block; vertical-align: top; color: inherit; padding: 4px @xf-paddingMedium; margin-right: .35em; .xf-uix_staffBarTab(); &:last-child { margin-right: 0; } &:hover { text-decoration: none; // background: xf-diminish(@xf-publicStaffBar--background-color, 6%); border-radius: @xf-borderRadiusSmall; .xf-uix_staffBarTabHover(); } }]]>

</template>


-<template title="app_stickynav.less" version_string="2.2.0" version_id="2020070" addon_id="XF" type="public">

<![CDATA[// STICKY NAV SETUP <xf:if is="property('publicNavSticky')"> .p-pageWrapper .p-navSticky { z-index: @zIndex-1; &.is-sticky { z-index: @zIndex-4; // .m-dropShadow(0, 2px, 5px, 0px, .26); <xf:if is="!{{ property('uix_removeHeaderWrapper')}}"> position: fixed !important; top: 0; bottom: auto !important; left: 0; right: 0; margin-left: auto; margin-right: auto; </xf:if> <xf:if is="property('uix_pageStyle') == 'wrapped' && !property('uix_removeHeaderWrapper')"> @uix_pageSpacerTotal: @xf-pageEdgeSpacer * 2; @uix_adjustedWrappedPageWidth: @xf-pageWidthMax - @uix_pageSpacerTotal; width: 100vw !important; @media (min-width: @xf-responsiveEdgeSpacerRemoval) { width: ~'calc(100vw - @{uix_pageSpacerTotal}) !important'; } @media (min-width: @uix_adjustedWrappedPageWidth) { width: @uix_adjustedWrappedPageWidth !important; } </xf:if> > * {box-shadow: @xf-uix_elevation1; border-radius: 0 !important;} .p-nav {.xf-uix_stickyNavigationStyle();} .p-sectionLinks {.xf-uix_sectionLinksStickyStyle();} <xf:if is="property('uix_pageStyle') != 'covered'"> // .m-pageWidth(); padding: 0 !important; </xf:if> <xf:if is="property('uix_pageStyle') == 'fluid'"> > * { max-width: 100%; } </xf:if> .p-nav-inner { height: @xf-uix_stickyNavHeight; .p-navEl, .p-navEl-link {max-height: @xf-uix_stickyNavHeight;} } <xf:if is="property('publicNavSticky')"> .p-sectionLinks { border-bottom: 0; .pageContent { height: @xf-uix_stickySectionLinkHeight; } } </xf:if> } <xf:if is="{{ property('uix_removeHeaderWrapper')}}"> @supports (position: sticky) or (position: -webkit-sticky) { & { position: -webkit-sticky; position: sticky; top: 0; &.is-sticky-broken, &.is-sticky-disabled { position: static; top: auto; } } } </xf:if> } </xf:if> <xf:if is="property('uix_mainTabsSticky')"> .uix_headerContainer .uix_mainTabBar.is-sticky { position: fixed !important; bottom: auto !important; left: 0; right: 0; @media (max-width: @xf-uix_search_maxResponsiveWidth ) {z-index: 500;} margin: 0 auto; border-radius: 0 !important; .tabs-tab {height: @xf-uix_mainTabsHeight;} box-shadow: @xf-uix_elevation1; <xf:if is="property('uix_pageStyle') == 'wrapped' && !property('uix_removeHeaderWrapper')"> width: @xf-pageWidthMax - (@xf-pageEdgeSpacer * 2) !important; </xf:if> } .uix_mainTabBar.is-sticky { box-shadow: @xf-uix_elevation1; z-index: 300; } </xf:if> <xf:if is="property('uix_stickyStaffBar')"> .p-staffBar.is-sticky { <xf:if is="!{{ property('uix_removeHeaderWrapper')}}"> position: fixed !important; bottom: auto !important; top: 0 !important; left: 0; right: 0; margin: 0 auto; </xf:if> z-index: 500; border-radius: 0 !important; .xf-uix_stickyStaffbarStyle(); height: @xf-uix_stickyStaffBarHeight; <xf:if is="property('publicNavSticky') == 'none'"> box-shadow: @xf-uix_elevation1; </xf:if> <xf:if is="property('uix_pageStyle') == 'wrapped'&& !property('uix_removeHeaderWrapper')"> width: @xf-pageWidthMax - (@xf-pageEdgeSpacer * 2) !important; </xf:if> } <xf:if is="{{ property('uix_removeHeaderWrapper')}}"> .p-staffBar { @supports (position: sticky) or (position: -webkit-sticky) { & { position: -webkit-sticky; position: sticky; top: 0; &.is-sticky-broken, &.is-sticky-disabled { position: static; top: auto; } } } } </xf:if> </xf:if>]]>

</template>


-<template title="app_title.less" version_string="2.2.0 Release Candidate 1" version_id="2020051" addon_id="XF" type="public">

<![CDATA[.p-body-header { <xf:if is="property('uix_pageStyle') == 'fixed'"> .m-pageWidth(); </xf:if> .pageContent { <xf:if is="property('uix_pageStyle') != 'fixed'"> .m-pageWidth(); </xf:if> } .p-body-inner & { max-width: 100%; width: 100%; padding-left: 0; padding-right: 0; .pageContent { max-width: 100%; width: 100%; padding-left: 0; padding-right: 0; } } } .p-pageWrapper > .p-body-header .pageContent { min-height: 36px; } .p-pageWrapper .p-body-header { .xf-uix_titlebar(); .pageContent { display: flex; align-items: center; .p-title-pageAction {margin-top: 0;} @media(max-width: @xf-responsiveMedium) { flex-wrap: wrap; } } .contentRow {flex-grow: 1;} .uix_headerInner { margin: 5px; margin-left: 0; flex-grow: 1; } .uix_headerInner--opposite { display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: center; margin-left: auto; margin-right: 0; } .uix_headerInner + .uix_headerInner--opposite { margin: 5px auto; } .p-title { display: flex; flex-wrap: wrap; align-items: center; max-width: 100%; &.p-title--noH1 { flex-direction: row-reverse; } .p-title-pageAction { margin: 5px 0; } } .p-title-value { padding: 0; margin: 0 0 3px 0; font-size: @xf-fontSizeLargest; font-weight: @xf-fontWeightNormal; margin-right: auto; min-width: 0; .xf-uix_pageTitle(); .has-no-flexbox & { float: left; } } .p-title-pageAction { margin-left: @xf-paddingLarge; @media(max-width: @xf-responsiveNarrow) { margin-left: 0; margin-top: @xf-paddingLarge; } .has-no-flexbox & { float: right; } } .p-description { margin: 0; padding: 0; font-size: inherit; color: inherit; } } .p-title-pageAction .button + .button {margin-left: @xf-paddingMedium;} @media (max-width: @xf-responsiveNarrow) { .p-title-value { font-size: @xf-fontSizeLarger; } }]]>

</template>


-<template title="app_user_banners.less" version_string="2.0.4" version_id="2000470" addon_id="XF" type="public">

<![CDATA[.m-userBannerVariation(@color; @bg; @border: false) { color: @color; background: @bg; border-color: xf-intensify(@bg, 10%); border-radius: @xf-borderRadiusMedium; & when (iscolor(@border)) { border-color: @border; } } .userBanner { font-size: 75%; font-size: 11px; font-weight: @xf-fontWeightNormal; font-style: normal; padding: 1px @xf-paddingMedium; padding: 1px 3px; border: 1px solid transparent; border-radius: @xf-borderRadiusSmall; text-align: center; display: inline-block; strong { font-weight: inherit; } // variations &.userBanner--hidden { background: none; border: none; box-shadow: none; } &.userBanner--staff, &.userBanner--primary { .m-userBannerVariation(@xf-linkColor, @xf-contentHighlightBg, @xf-borderColorHighlight); .m-userBannerVariation(#fff, @xf-uix_primaryColor, @xf-uix_primaryColor); } &.userBanner--accent { .m-userBannerVariation(#fff, @xf-uix_secondaryColor, @xf-uix_secondaryColor); } &.userBanner--red { .m-userBannerVariation(white, #d80000); } &.userBanner--green { .m-userBannerVariation(white, green); } &.userBanner--olive { .m-userBannerVariation(white, olive); } &.userBanner--lightGreen { .m-userBannerVariation(black, #ccf9c8, #bee8ba); } &.userBanner--blue { .m-userBannerVariation(white, #0008e3); } &.userBanner--royalBlue { .m-userBannerVariation(white, royalblue); } &.userBanner--skyBlue { .m-userBannerVariation(white, #7cc3e0); } &.userBanner--gray { .m-userBannerVariation(white, gray); } &.userBanner--silver { .m-userBannerVariation(black, silver); } &.userBanner--yellow { .m-userBannerVariation(black, #ffff91, #e6e687); } &.userBanner--orange { .m-userBannerVariation(black, #ffcb00); } }]]>

</template>


-<template title="approval_queue.less" version_string="2.1.0 Beta 5" version_id="2010035" addon_id="XF" type="public">

<![CDATA[.approvalQueue { .block-container.approvalQueue-item--approve { .message, .message-cell--user, .message-cell--extra { background: @xf-inlineModHighlightColor; } .message .message-userArrow:after { border-right-color: @xf-inlineModHighlightColor; } } .block-container.approvalQueue-item--delete { .message-cell--user, .message-cell--main { opacity: 0.25; } } .block-container.approvalQueue-item--spam { border-color: red; .message-cell--user, .message-cell--main { opacity: 0.25; } } }]]>

</template>


-<template title="bb_code.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[@_bbCodeBlock-spacing: .5em; @_bbCodeBlock-paddingV: @xf-paddingMedium; @_bbCodeBlock-paddingH: @xf-paddingLarge; @_bbCodeBlock-expandTriggerHeight: (@xf-bbCodeBlockExpandHeight) / 2; .bbCodeBlock { display: flow-root; margin: @_bbCodeBlock-spacing 0; .xf-bbCodeBlock(); &.bbCodeBlock--quote { .bbCodeBlock-content { font-size: @xf-fontSizeSmall; } } } .bbCodeBlock-title { padding: @_bbCodeBlock-paddingV @_bbCodeBlock-paddingH; .xf-bbCodeBlockTitle(); .m-clearFix(); } a.bbCodeBlock-sourceJump { color: inherit; text-decoration: none; &:hover { text-decoration: underline; } &:after { .m-faBase(); .m-faContent(@fa-var-arrow-circle-up); //, 1em display: inline-block; margin-left: 5px; } } .bbCodeBlock-content { position: relative; padding: @_bbCodeBlock-paddingV @_bbCodeBlock-paddingH; .m-clearFix(); } .bbCodeBlock--code .bbCodeBlock-content {background-color: @xf-contentBg; color: @xf-textColor;} .bbCodeBlock-expandLink { display: none; position: absolute; top: (@xf-bbCodeBlockExpandHeight) + (@_bbCodeBlock-paddingV * 2) - (@_bbCodeBlock-expandTriggerHeight); left: 0; right: 0; height: @_bbCodeBlock-expandTriggerHeight; cursor: pointer; z-index: @zIndex-1; .m-gradient( fade(@xf-bbCodeBlock--background-color, 0%), xf-default(@xf-bbCodeBlock--background-color, transparent), transparent, 0%, 60% ); a { position: absolute; bottom: @_bbCodeBlock-paddingV; left: 0; right: 0; text-align: center; font-size: @xf-fontSizeSmall; color: @xf-textColorAttention; text-decoration: none; } } .bbCodeBlock--screenLimited { .bbCodeBlock-content { max-height: 300px; max-height: 70vh; overflow: auto; -webkit-overflow-scrolling: touch; } } .bbCodeBlock--expandable { overflow: hidden; .m-transition(-xf-height, height, padding, margin, border;); .bbCodeBlock-content { overflow: hidden; .bbCodeBlock:not(.bbCodeBlock--expandable) .bbCodeBlock-content { overflow: visible; } .bbCodeBlock.bbCodeBlock--screenLimited .bbCodeBlock-content { overflow: auto; } } .bbCodeBlock-expandContent { max-height: @xf-bbCodeBlockExpandHeight; overflow: hidden; } &.is-expandable { .bbCodeBlock-expandLink { display: block; } } &.is-expanded { .bbCodeBlock-expandContent { max-height: none; } .bbCodeBlock-expandLink { display: none; } } } .bbCodeBlock--unfurl { .xf-contentHighlightBase(); padding: @_bbCodeBlock-paddingV; width: 650px; max-width: 100%; border-left: @xf-borderSizeMinorFeature solid @xf-borderColorFeature; overflow: hidden; .contentRow-header { margin: 0; font-size: @xf-fontSizeNormal; font-weight: normal; .m-overflowEllipsis(); } .contentRow-snippet { font-size: @xf-fontSizeSmaller; font-style: normal; } .contentRow-minor { font-size: @xf-fontSizeSmaller; } &.is-pending { opacity: 0.5; &.is-recrawl { opacity: 1; } } &.is-simple { .contentRow-figure { display: none; } } .bbCodeBlockUnfurl-icon { width: 12px; vertical-align: -2px; } } .bbCodeCode { margin: 0; padding: 0; .has-hiddenscroll & { // solely to workaround this Chrome bug: https://bugs.chromium.org/p/chromium/issues/detail?id=914844 // TODO: remove when fixed padding-bottom: @xf-paddingLarge; } font-family: @xf-fontFamilyCode; font-size: @xf-fontSizeSmall; line-height: @xf-lineHeightDefault; -ltr-rtl-text-align: left; direction: ltr; white-space: pre; position: relative; .m-tabSize(); code { font-family: inherit; } .prism-token { &.prism-comment, &.prism-prolog, &.prism-doctype, &.prism-cdata { & when (@xf-styleType = light) { color: #a50; } & when (@xf-styleType = dark) { color: #8292a2; } } &.prism-constant { & when (@xf-styleType = light) { color: #05a; } & when (@xf-styleType = dark) { color: #f92672; } } &.prism-tag { & when (@xf-styleType = light) { color: #170; } & when (@xf-styleType = dark) { color: #f92672; } } &.prism-boolean { & when (@xf-styleType = light) { color: #219; } & when (@xf-styleType = dark) { color: #ae81ff; } } &.prism-symbol, &.prism-atrule, &.prism-keyword { & when (@xf-styleType = light) { color: #708; } & when (@xf-styleType = dark) { color: #e6db74; } } &.prism-selector, &.prism-function { & when (@xf-styleType = light) { color: #05a; } & when (@xf-styleType = dark) { color: #e6db74; } } &.prism-deleted { color: #d44; } &.prism-inserted { color: #292; } &.prism-string, &.prism-attr-value { & when (@xf-styleType = light) { color: #a11; } & when (@xf-styleType = dark) { color: #a6e22e; } } &.prism-number { & when (@xf-styleType = light) { color: #164; } & when (@xf-styleType = dark) { color: #ae81ff; } } &.prism-attr-name, &.prism-char, &.prism-builtin { & when (@xf-styleType = light) { color: #00c; } & when (@xf-styleType = dark) { color: #a6e22e; } } &.prism-regex, &.prism-important, &.prism-variable, &.prism-package { & when (@xf-styleType = light) { color: #05a; } & when (@xf-styleType = dark) { color: #fd971f; } } &.prism-class-name, &.prism-important, &.prism-bold { & when (@xf-styleType = light) { color: #00f; } & when (@xf-styleType = dark) { color: #e6db74; } } &.prism-bold { font-weight: bold; } &.prism-italic, &.prism-constant { & when (@xf-styleType = light) { color: #05a; } & when (@xf-styleType = dark) { color: #f92672; } font-style: italic; } &.prism-entity { cursor: help; } } } .bbCodeInline { margin: 0; .xf-bbCodeInlineCode(); font-family: @xf-fontFamilyCode; line-height: @xf-lineHeightDefault; box-decoration-break: clone; -webkit-box-decoration-break: clone; white-space: pre-wrap; } .bbCodeSpoiler { margin: @_bbCodeBlock-spacing 0; } .bbCodeSpoiler-button { .has-no-js & { display: none; } } .bbCodeSpoiler-content { .m-hiddenEl(true); .has-no-js & { display: block !important; } > .bbCodeBlock--spoiler { margin: .2em 0 0; } } .bbCodeInlineSpoiler { background-color: rgba(0, 0, 0, 0); color: rgba(0, 0, 0, 0); text-shadow: @xf-textColorMuted 0 0 14px; cursor: pointer; a, span { color: inherit !important;; .has-js & { pointer-events: none; } } .smilie { filter: blur(8px) grayscale(90%); } &:hover { text-shadow: @xf-textColorMuted 0 0 10px; } }]]>

</template>


-<template title="category_view" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[<xf:title>{$category.title}</xf:title> <xf:description>{$category.description|raw}</xf:description> <xf:if is="!$category.isSearchEngineIndexable()"> <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head> </xf:if> <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 uix_nodeList block"> <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: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="code_editor.less" version_string="2.2.0 Beta 2" version_id="2020032" addon_id="XF" type="public">

<![CDATA[/* XF-RTL:disable */ .codeEditor { // standard editor with fixed-width font and 55% screen height, used when the code editor is the primary // editable element on screen &.CodeMirror { height: 55vh; direction: ltr; .xf-input(); font-family: @xf-fontFamilyCode; padding: 0; -ltr-rtl-border-color: @xf-borderColorHeavy @xf-borderColorLight @xf-borderColorLight @xf-borderColorHeavy; //color: @xf-inputTextColor; //background: @xf-inputBgColor; //border: @xf-borderSize solid; //border-radius: @xf-borderRadiusMedium; .m-inputZoomFix(); &.CodeMirror-focused { .xf-inputFocus(); } &.CodeMirror-simplescroll { .CodeMirror-sizer { // Bit hacky but solves issue with the simplescroll bars overlapping the content padding-right: 30px !important; } } } // short editor, taking only 30% of the vertical height &.codeEditor--short { height: 30vh; } // show an editor that shrinks to a very small height for very little content &.codeEditor--autoSize { height: auto; .CodeMirror-lines { min-height: (@xf-fontSizeNormal * @xf-lineHeightDefault * 2) + 8px; // 2 lines, 4px padding from .CodeMirror-lines } } // like --autoSize, but shrinks to a single line when empty &.codeEditor--oneLine { min-height: auto; } // use proportional font - use this when syntax highlighting is useful, but not imperative, like HTML-enabled descriptions &.codeEditor--proportional { font-family: @xf-fontFamilyUi; } } [disabled] + .codeEditor, [disabled] + .codeEditor.CodeMirror-focused { .xf-inputDisabled(); } [readonly] + .codeEditor, [readonly] + .codeEditor.CodeMirror-focused { background: mix(xf-default(@xf-input--background-color, @xf-contentBg), xf-default(@xf-inputDisabled--background-color, @xf-paletteNeutral1)); } // Default CSS (mostly) {{ include('codemirror.less') }} // Extra stuff for DARK styles, taking values from CodeMirror's DARCULA theme .cm-s-default { & when (@xf-styleType = dark) { &.CodeMirror { .CodeMirror-cursor { border-left: 1px solid #dddddd; } .CodeMirror-activeline-background { background: #3A3A3A; } .CodeMirror-selected { background: #085a9c; } .CodeMirror-gutters { background: rgb(72, 72, 72); border-right: 1px solid grey; color: #606366 } .CodeMirror-matchingbracket { background-color: #3b514d; color: yellow !important; } } span.cm-keyword { font-weight: bold; color: #CC7832; } span.cm-atom { font-weight: bold; color: #CC7832; } span.cm-number { color: #6897BB; } span.cm-def { color: #FFC66D; } span.cm-variable { color: #A9B7C6; } span.cm-property { color: #A9B7C6; } span.cm-operator { color: #A9B7C6; } span.cm-variable-2 { color: #A9B7C6; } span.cm-variable-3, span.cm-comment { color: #808080; } span.cm-string { color: #6A8759; } span.cm-string-2 { color: #6A8759; } span.cm-meta { color: #BBB529; } span.cm-qualifier { color: #6A8759; } span.cm-builtin { color: #A9B7C6; } span.cm-bracket { color: #A9B7C6; } span.cm-tag { color: #CC7832; } span.cm-attribute { color: #6A8759; } span.cm-link { color: #287BDE; } span.cm-error { color: #BC3F3C; } span.cm-invalidchar { color: #BC3F3C; } span.cm-type { color: #A9B7C6; } } // background-color: #fff; } /* XF-RTL:enable */]]>

</template>


-<template title="content_vote_macros" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[<xf:macro name="vote_control" arg-link="!" arg-content="!" arg-extraClass=""> <xf:set var="$currentVote" value="{{ $content.getVisitorContentVote() }}" /> <xf:set var="$canVote" value="{{ $content.canVoteOnContent() }}" /> <div class="contentVote {{ $currentVote ? 'is-voted' : '' }} js-contentVote {$extraClass}" data-xf-init="content-vote" data-content-id="{{ $content.getEntityContentTypeId() }}"> <a href="{{ $canVote ? link($link, $content, {'type' : 'up'}) : 'javascript:' }}" class="contentVote-vote {{ $canVote ? '' : 'is-disabled' }} contentVote-vote--up {{ ($currentVote == 'up') ? 'is-voted' : '' }}" data-vote="up"><span class="u-srOnly">{{ phrase('upvote') }}</span></a> <span class="contentVote-score {{ $content.vote_score > 0 ? 'is-positive' : '' }} {{ $content.vote_score < 0 ? 'is-negative' : '' }} js-voteCount" data-score="{$content.vote_score}">{$content.vote_score_short}</span> <xf:if is="$content.isContentDownvoteSupported()"> <a href="{{ $canVote ? link($link, $content, {'type' : 'down'}) : 'javascript:' }}" class="contentVote-vote {{ ($canVote AND $content.canDownvoteContent()) ? '' : 'is-disabled' }} contentVote-vote--down {{ ($currentVote == 'down') ? 'is-voted' : '' }}" data-vote="down"><span class="u-srOnly">{{ phrase('downvote') }}</span></a> </xf:if> </div> </xf:macro> <xf:macro name="vote_display" arg-content="!" arg-extraClass=""> <div class="contentVote js-contentVote contentVote--display {{ $content.getVisitorContentVote() ? 'is-voted' : '' }} {$extraClass}" data-content-id="{{ $content.getEntityContentTypeId() }}"> <span class="contentVote-score {{ $content.vote_score > 0 ? 'is-positive' : '' }} {{ $content.vote_score < 0 ? 'is-negative' : '' }} js-voteCount" data-score="{$content.vote_score}">{$content.vote_score_short}</span> <span class="contentVote-description">{{ $content.vote_score == 1 ? phrase('vote_noun') : phrase('votes') }}</span> </div> </xf:macro> <xf:macro name="vote_display_placeholder" arg-extraClass=""> <div class="contentVote contentVote--display contentVote--placeholder {$extraClass}"> <span class="contentVote-score">-</span> <span class="contentVote-description">{{ phrase('votes') }}</span> </div> </xf:macro>]]>

</template>


-<template title="conversation_list" version_string="2.1.10 Patch 2" version_id="2011072" addon_id="XF" type="public">

<![CDATA[<xf:title page="{$page}">{{ phrase('conversations') }}</xf:title> <xf:js src="xf/inline_mod.js" min="1" /> <xf:pageaction if="$xf.visitor.canStartConversation()"> <xf:button href="{{ link('conversations/add') }}" class="button--cta" icon="write">{{ phrase('start_conversation') }}</xf:button> </xf:pageaction> <div class="block" data-xf-init="inline-mod" data-type="conversation" data-href="{{ link('inline-mod') }}"> <div class="block-outer"> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}" link="conversations" params="{$filters}" wrapperclass="block-outer-main" /> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:macro template="inline_mod_macros" name="button" arg-variant="inlineModButton--withLabel" arg-label="{{ phrase('selected') }}" arg-tooltip="{{ false }}" /> </div> </div> </div> <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.starter_id AND $starterFilter"> <li><a href="{{ link('conversations', null, $filters|replace('starter_id', null)) }}" class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}"> {{ phrase('started_by_x', {'name': $starterFilter.username}) }}</a></li> </xf:if> <xf:if is="$filters.receiver_id AND $receiverFilter"> <li><a href="{{ link('conversations', null, $filters|replace('receiver_id', null)) }}" class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}"> {{ phrase('received_by_x', {'name': $receiverFilter.username}) }}</a></li> </xf:if> <xf:if is="$filters.starred"> <li><a href="{{ link('conversations', null, $filters|replace('starred', null)) }}" class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}"> <span class="filterBar-filterToggle-label">{{ phrase('show_only:') }}</span> {{ phrase('starred') }}</a></li> </xf:if> <xf:if is="$filters.unread"> <li><a href="{{ link('conversations', null, $filters|replace('unread', null)) }}" class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}"> <span class="filterBar-filterToggle-label">{{ phrase('show_only:') }}</span> {{ phrase('filter_unread') }}</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" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('show_only:') }}</h4> <xf:form action="{{ link('conversations/filters') }}"> <div class="menu-row menu-row--separated"> <xf:radio name="filter_type"> <xf:option value="" selected="{{ !$starterFilter AND !$receiverFilter }}">{{ phrase('show_all_conversations') }}</xf:option> <xf:option value="started" selected="{{ $starterFilter ? true : false }}" data-hide="true" label="{{ phrase('started_by...') }}"> <xf:textbox name="starter" value="{{ $starterFilter ? $starterFilter.username : '' }}" ac="single" maxlength="{{ max_length($xf.visitor, 'username') }}"/> </xf:option> <xf:option value="received" selected="{{ $receiverFilter ? true : false }}" data-hide="true" label="{{ phrase('received_by...') }}"> <xf:textbox name="receiver" value="{{ $receiverFilter ? $receiverFilter.username : '' }}" ac="single" maxlength="{{ max_length($xf.visitor, 'username') }}" /> </xf:option> </xf:radio> </div> <div class="menu-row menu-row--separated"> <xf:checkbox> <xf:option name="starred" selected="{$filters.starred}" label="{{ phrase('starred_conversations') }}" /> <xf:option name="unread" selected="{$filters.unread}" label="{{ phrase('unread_conversations') }}" /> </xf:checkbox> </div> <div class="menu-footer"> <span class="menu-footer-controls"> <xf:button type="submit" class="button--primary">{{ phrase('filter') }}</xf:button> </span> </div> <xf:hiddenval name="apply">1</xf:hiddenval> </xf:form> </div> </div> </div> </div> <div class="block-body"> <xf:if is="$userConvs is not empty"> <div class="structItemContainer"> <xf:foreach loop="$userConvs" value="$userConv"> <xf:macro template="conversation_list_macros" name="item" arg-userConv="{$userConv}" /> </xf:foreach> </div> <xf:else /> <div class="block-row">{{ phrase('there_no_conversations_to_display') }}</div> </xf:if> </div> <div class="block-footer block-footer--split uix_conversationsFooterMobile"> <div class="block-footer-main"> <a href="{{ link('conversations') }}">{{ phrase('show_all...') }}</a> </div> <xf:if is="$xf.visitor.canStartConversation()"> <div class="block-footer-opposite"> <a href="{{ link('conversations/add') }}">{{ phrase('start_new_conversation') }}</a> </div> </xf:if> </div> </div> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}" link="conversations" params="{$filters}" wrapperclass="block-outer block-outer--after" /> </div> <xf:widgetpos id="conversation_list_sidebar" position="sidebar" />]]>

</template>


-<template title="conversation_list_macros" version_string="2.1.3" version_id="2010370" addon_id="XF" type="public">

<![CDATA[<xf:macro name="item" arg-userConv="!" arg-allowInlineMod="{{ true }}"> <xf:css src="structured_list.less" /> <div class="structItem structItem--conversation {{ $userConv.isUnread() ? 'is-unread' : '' }} js-inlineModContainer" data-author="{{ $userConv.Master.Starter.username ?: $userConv.Master.username }}"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <xf:avatar user="$userConv.Master.Starter" size="s" defaultname="{$userConv.Master.username}" /> </div> </div> <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy"> <xf:if contentcheck="true"> <ul class="structItem-statuses"> <xf:contentcheck> <xf:if is="$userConv.is_starred"> <li> <i class="structItem-status structItem-status--starred" aria-hidden="true" title="{{ phrase('starred')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('starred') }}</span> </li> </xf:if> <xf:if is="!$userConv.Master.conversation_open"> <li> <i class="structItem-status structItem-status--locked" aria-hidden="true" title="{{ phrase('locked')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('locked') }}</span> </li> </xf:if> </xf:contentcheck> </ul> </xf:if> <a href="{{ link('conversations/unread', $userConv) }}" class="structItem-title" data-tp-primary="on">{$userConv.title}</a> <div class="structItem-minor"> <xf:if contentcheck="true"> <ul class="structItem-extraInfo"> <xf:contentcheck> <xf:if is="$allowInlineMod"> <li><xf:checkbox standalone="true"> <xf:option value="{$userConv.conversation_id}" class="js-inlineModToggle" /> </xf:checkbox></li> </xf:if> </xf:contentcheck> </ul> </xf:if> <ul class="structItem-parts"> <li> <ul class="listInline listInline--comma listInline--selfInline"> <li><xf:username user="$userConv.Master.Starter" defaultname="{$userConv.Master.username}" title="{{ phrase('conversation_starter') }}" /></li><xf:trim> </xf:trim><xf:foreach loop="$userConv.Master.recipients" value="$recipient" if="{$recipient.user_id} != {$userConv.Master.user_id}"><xf:trim> <li><xf:username user="{$recipient}" defaultname="{{ phrase('unknown_member') }}" /></li> </xf:trim></xf:foreach> </ul> </li> <li class="structItem-startDate"><a href="{{ link('conversations', $userConv) }}" rel="nofollow"><xf:date time="{$userConv.Master.start_date}" /></a></li> <xf:if is="$userConv.reply_count >= $xf.options.messagesPerPage"> <span class="structItem-pageJump"> <xf:foreach loop="{{ last_pages($userConv.reply_count + 1, $xf.options.messagesPerPage, $xf.options.lastPageLinks) }}" value="$p"> <a href="{{ link('conversations', $userConv, {'page': $p}) }}">{$p}</a> </xf:foreach> </span> </xf:if> </ul> </div> </div> <div class="structItem-cell structItem-cell--meta"> <dl class="pairs pairs--justified"> <dt>{{ phrase('replies') }}</dt> <dd>{$userConv.reply_count|number}</dd> </dl> <dl class="pairs pairs--justified structItem-minor"> <dt>{{ phrase('participants') }}</dt> <dd>{$userConv.Master.recipient_count|number}</dd> </dl> </div> <div class="structItem-cell structItem-cell--latest"> <a href="{{ link('conversations/latest', $userConv) }}" rel="nofollow"><xf:date time="{$userConv.last_message_date}" class="structItem-latestDate" /></a> <div class="structItem-minor"><xf:username user="{$userConv.Master.last_message_cache}" /></div> </div> </div> </xf:macro>]]>

</template>


-<template title="conversation_message_macros" version_string="2.1.0 Beta 6" version_id="2010036" addon_id="XF" type="public">

<![CDATA[<xf:macro name="message" arg-message="!" arg-conversation="!" arg-position="" arg-lastRead="{{ null }}"> <xf:css src="message.less" /> <article class="message message--conversationMessage {{ $message.isIgnored() ? ' is-ignored' : '' }} {{ $message.isUnread($lastRead) ? 'is-unread' : '' }} js-message" data-author="{{ $message.User.username ?: $message.username }}"> <span class="u-anchorTarget" id="convMessage-{$message.message_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info" arg-user="{$message.User}" arg-fallbackName="{$message.username}" /> </div> <div class="message-cell message-cell--main"> <div class="message-main js-quickEditTarget"> <div class="message-content"> <header class="message-attribution"> <a href="{{ link('conversations/messages', $message) }}" class="message-attribution-main u-concealed" rel="nofollow"> <xf:date time="{$message.message_date}" /> </a> <span class="message-attribution-opposite"> <xf:if is="$message.isUnread($lastRead)"> <span class="message-newIndicator">{{ phrase('new') }}</span> </xf:if> <xf:if is="$position">#{$position|number}</xf:if> </span> </header> <xf:if is="$message.isIgnored()"> <div class="messageNotice messageNotice--ignored"> {{ phrase('you_are_ignoring_content_by_this_member') }} </div> </xf:if> <div class="message-userContent lbContainer js-lbContainer" data-lb-id="message-{$message.message_id}" data-lb-caption-title="{{ $message.User ? $message.User.username : $message.username }}" data-lb-caption-desc="{{ date_time($message.message_date) }}"> <article class="message-body js-selectToQuote"> {{ bb_code($message.message, 'conversation_message', $message) }} <div class="js-selectToQuoteEnd">&nbsp;</div> </article> <xf:if is="$message.attach_count"> <xf:macro template="message_macros" name="attachments" arg-attachments="{$message.Attachments}" arg-message="{$message}" arg-canView="{{ true }}" /> </xf:if> </div> <xf:macro template="message_macros" name="signature" arg-user="{$message.User}" /> </div> <div class="reactionsBar js-reactionsList {{ $message.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$message}" link="conversations/messages/reactions" /> </div> <footer class="message-footer"> <xf:if contentcheck="true"> <div class="message-actionBar actionBar"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$message}" link="conversations/messages/react" list="< .js-message | .js-reactionsList" /> <xf:if is="$conversation.canReply()"> <xf:set var="$quoteLink">{{ link('conversations/reply', $conversation, {'quote': $message.message_id}) }}</xf:set> <xf:if is="$xf.options.multiQuote"> <a href="{$quoteLink}" class="actionBar-action actionBar-action--mq u-jsOnly js-multiQuote" title="{{ phrase('toggle_multi_quote_tooltip')|for_attr }}" data-message-id="{$message.message_id}" data-mq-action="add"> {{ phrase('quote') }} </a> </xf:if> <a href="{$quoteLink}" class="actionBar-action actionBar-action--reply" title="{{ phrase('reply_quoting_this_message')|for_attr }}" data-xf-click="quote" data-quote-href="{{ link('conversations/messages/quote', $message) }}">{{ phrase('reply') }}</a> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$message.canReport()"> <a href="{{ link('conversations/messages/report', $message) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:if is="$message.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('conversations/messages/edit', $message) }}" class="actionBar-action actionBar-action--edit" data-xf-click="quick-edit" data-editor-target="< .js-quickEditTarget">{{ phrase('edit') }}</a> </xf:if> <xf:if is="$message.canCleanSpam()"> <a href="{{ link('spam-cleaner', $message) }}" class="actionBar-action actionBar-action--spam actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('spam') }}</a> </xf:if> <xf:if is="$xf.visitor.canViewIps() && $message.ip_id"> <a href="{{ link('conversations/messages/ip', $message) }}" class="actionBar-action actionBar-action--ip" data-xf-click="overlay">{{ phrase('ip') }}</a> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </footer> </div> </div> </div> </article> </xf:macro>]]>

</template>


-<template title="core.less" version_string="2.2.4" version_id="2020470" addon_id="XF" type="email">

<![CDATA[// NOTE: THIS DOES NOT HAVE ACCESS TO public:setup.less automatically! // THE LESS HERE SHOULD BE KEPT AS SIMPLE AS POSSIBLE // UI.X Font Sizes /* solution for pxs */ @fontSizeNormal: unit(10 * @xf-fontSizeNormal, px); @fontSizeLargest: unit(10 * @xf-fontSizeLargest, px); @fontSizeSmall: unit(10 * @xf-fontSizeSmall, px); /* solution for rems @fontSizeNormal: (0.625 * @xf-fontSizeNormal); @fontSizeLargest: (0.625 * @xf-fontSizeLargest); @fontSizeSmall: (0.625 * @xf-fontSizeSmall); */ body { margin: 0; padding: 0; word-wrap: break-word; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; background-color: @xf-emailBg; font-size: @fontSizeNormal; font-family: @xf-emailFont; line-height: @xf-lineHeightDefault; color: @xf-emailTextColor; } table { border-spacing: 0; mso-table-lspace: 0pt; mso-table-rspace: 0pt; } table, td { border-collapse: collapse; } a { color: @xf-emailLinkColor; text-decoration: none; } .bbImage { height: auto; max-width: 100%; } #bodyTable { height: 100% !important; width: 100% !important; margin: 0; padding: 0; background-color: @xf-emailBg; } #bodyTableContainer { background-color: @xf-emailBg; } .container { width: 100%; max-width: 600px; } .header { color: @xf-emailHeaderColor; padding: @xf-paddingMedium @xf-paddingLarge; border-top-left-radius: @xf-borderRadiusMedium; border-top-right-radius: @xf-borderRadiusMedium; font-family: @xf-emailFont; font-size: @fontSizeLargest; line-height: @xf-lineHeightDefault; } .header a { color: @xf-emailHeaderColor; } .content { background-color: @xf-emailContentBg; border-radius: @xf-borderRadiusSmall; color: @xf-emailTextColor; padding: @xf-paddingLarge; font-size: @fontSizeNormal; font-family: @xf-emailFont; line-height: @xf-lineHeightDefault; } .content .bbImage { max-width: 100%; } .content > p:first-child { margin-top: 0; } .content > p:last-child { margin-bottom: 0; } .footer { padding: @xf-paddingMedium @xf-paddingLarge; text-align: center; color: @xf-emailTextColorMuted; font-size: @fontSizeSmall; font-family: @xf-emailFont; line-height: @xf-lineHeightDefault; } .footer a { color: @xf-emailTextColorMuted; text-decoration: underline; } .footerExtra { margin-top: 1em; } h2 { font-size: @fontSizeLargest; font-weight: normal; margin: @xf-paddingLarge 0; padding: 0; } hr { border: 0; border-bottom: @xf-borderSize solid @xf-emailBorderColor; } div.message { border-left: @xf-borderSizeFeature solid @xf-borderColorFeature; margin: @xf-paddingLarge 0; padding: @xf-paddingLarge; } div.quote { border-left: @xf-borderSizeFeature solid @xf-borderColorAttention; border-top: @xf-borderSize solid @xf-emailBorderColor; border-bottom: @xf-borderSize solid @xf-emailBorderColor; border-right: @xf-borderSize solid @xf-emailBorderColor; background: @xf-emailContentAltBg; margin: @xf-paddingLarge 0; padding: @xf-paddingLarge; } .quote-name { color: @xf-textColorAttention; font-size: @fontSizeSmall; margin-bottom: @xf-paddingMedium; } pre.code { margin: @xf-paddingLarge 0; padding: @xf-paddingLarge; border-left: @xf-borderSizeFeature solid @xf-borderColorAttention; border-top: @xf-borderSize solid @xf-emailBorderColor; border-bottom: @xf-borderSize solid @xf-emailBorderColor; border-right: @xf-borderSize solid @xf-emailBorderColor; background: @xf-emailContentAltBg; max-width: 600px; overflow: auto; } .textLink { color: @xf-emailTextColor; text-decoration: none; } .linkBar { padding: @xf-paddingMedium; background-color: @xf-emailContentAltBg; border-top: @xf-borderSize solid @xf-emailBorderColor; } .button { display: inline-block; padding: 5px 10px; border: none; border-radius: @xf-borderRadiusMedium; color: @xf-buttonTextColor; text-decoration: none; .xf-buttonBase(); .xf-buttonDefault(); .xf-buttonPrimary(); font-size: @fontSizeSmall; background-color: @xf-buttonPrimaryBg; } .buttonFake { display: inline-block; padding: 5px 10px; font-size: @fontSizeSmall; } .minorText, .unsubscribeLink { font-size: @fontSizeSmall; color: @xf-emailTextColorMuted; } .minorText a, .unsubscribeLink a { color: @xf-emailTextColorMuted; text-decoration: underline; } .unsubscribeLink { margin-top: 1em; text-align: center; } .mediaPlaceholder, .spoilerPlaceholder { border-radius: @xf-borderRadiusSmall; margin: @xf-paddingMedium 0; padding: @xf-paddingMedium; font-size: @fontSizeLargest; line-height: 3; text-align: center; border: @xf-borderSize solid @xf-emailBorderColor; background-color: @xf-emailContentAltBg; } .inlineSpoilerPlaceholder { font-size: @xf-fontSizeSmall; background-color: @xf-contentAltBg; border: @xf-borderSize solid @xf-borderColorLight; border-radius: @xf-borderRadiusSmall; padding: 1px @xf-paddingSmall; } .u-opposite { text-align: right; } // ################################ ACTIVITY SUMMARY ############################### .p-activitySummary #bodyTableContainer { padding: 0; } .summaryContentWrapper { padding: 0 @xf-paddingLarge; max-width: 1200px; } .summaryHeaderBar { color: @xf-chromeTextColor; background: @xf-chromeBg; font-family: @xf-emailFont; font-size: @xf-fontSizeLargest; line-height: @xf-lineHeightDefault; padding: @xf-paddingMedium @xf-paddingLarge; a { color:@xf-chromeTextColor; } img { max-height: 200px; vertical-align: bottom; &.logo-svg { max-width: 200px; } } } .summaryOuterHeader { width: 100%; table-layout: fixed; margin: @xf-paddingLargest 0; } .summaryOuterHeader-content { font-size: @xf-fontSizeLarger; font-weight: @xf-fontWeightNormal; color: @xf-emailTextColorMuted; } .summaryBlock { color: @xf-emailTextColor; background-color: @xf-emailContentBg; border: @xf-borderSize solid @xf-emailBorderColor; border-radius: @xf-borderRadiusSmall; border-collapse: separate; width: 100%; table-layout: fixed; margin: @xf-paddingLargest 0; } .summaryBlock-header { font-size: @xf-fontSizeLarger; color: @xf-majorHeadingTextColor; background: @xf-majorHeadingBg; border-bottom: @xf-borderSize solid @xf-borderColorLight; border-top-left-radius: @xf-borderRadiusSmall; border-top-right-radius: @xf-borderRadiusSmall; padding: @xf-blockPaddingV @xf-blockPaddingH; a { color: @xf-majorHeadingTextColor; } } .statsGroup { display: flex; flex-flow: row wrap; font-size: @xf-fontSizeLarge; } .stat { flex: auto; vertical-align: top; margin-right: @xf-paddingMedium; margin-bottom: @xf-paddingMedium; } .stat-label { font-size: @xf-fontSizeSmall; color: @xf-emailTextColorMuted; } .p-activitySummary .content.content--attribution, .p-activitySummary .content.content--footer, .p-activitySummary .content.content--footer table { font-size: @xf-fontSizeSmall; color: @xf-emailTextColorMuted; a:not(.button) { color: inherit; text-decoration: underline; } }]]>

</template>


-<template title="core.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[// ########################## GLOBAL BASE SETUP ####################### html { font: @xf-fontSizeNormal / @xf-lineHeightDefault sans-serif; font-family: @xf-fontFamilyUi; font-weight: @xf-fontWeightNormal; color: @xf-textColor; margin: 0; padding: 0; word-wrap: break-word; background-color: @xf-pageBg; /* // just a reminder that we *might* want this at some point -ms-text-size-adjust: none; -webkit-text-size-adjust: none;*/ } body { font-size: @xf-fontSizeNormal; } button, input, optgroup, select, textarea { font-family: @xf-fontFamilyUi; line-height: @xf-lineHeightDefault; } img { max-width: 100%; height: auto; } b, strong { font-weight: @xf-fontWeightHeavy; } a { .xf-link(); &:hover { .xf-linkHover(); } } svg { fill: currentColor; } {{ include('core_setup.less') }} {{ include('core_utilities.less') }} {{ include('core_list.less') }} {{ include('core_categorylist.less') }} {{ include('core_block.less') }} {{ include('core_blockmessage.less') }} {{ include('core_blockstatus.less') }} {{ include('core_blocklink.less') }} {{ include('core_blockend.less') }} {{ include('core_fixedmessage.less') }} {{ include('core_button.less') }} {{ include('core_meter_bar.less') }} // ################################# INPUTS & FORMS ##################### {{ include('core_input.less') }} {{ include('core_formrow.less') }} {{ include('core_collapse.less') }} {{ include('core_badge.less') }} {{ include('core_tooltip.less') }} {{ include('core_menu.less') }} {{ include('core_offcanvas.less') }} {{ include('core_tab.less') }} {{ include('core_overlay.less') }} {{ include('core_globalaction.less') }} {{ include('core_avatar.less') }} {{ include('core_datalist.less') }} {{ include('core_filter.less') }} {{ include('core_contentrow.less') }} {{ include('core_pagenav.less') }} {{ include('core_hscroller.less') }} // FLASH MESSAGES .flashMessage { display: none; position: fixed; top: 0; left: 0; right: 0; z-index: @zIndex-9; .xf-flashMessage(); .m-transitionFadeDown(@xf-animationSpeed); } // AUTOCOMPLETE .autoCompleteList { .m-autoCompleteList(); margin-top: 2px; &.autoCompleteList--inherit { font-size: inherit; li { padding: @xf-paddingLarge; line-height: inherit; } } } // #################################### TAGS ############################## // note that while this is related to tags, it's commonly used so just include it .tagList, .tagList > dt, .tagList > dd { display: inline; padding: 0; margin: 0; } .tagItem { display: inline-block; max-width: 100%; padding: 0 6px 1px; margin: 0 0 2px; border-radius: @xf-borderRadiusMedium; font-size: @xf-fontSizeSmaller; .xf-chip(); .xf-uix_tag(); a&:hover { text-decoration: none; color: @xf-chip--color; .xf-chipHover(); .xf-uix_tagHover(); } } // ############################# MISC ######################### .recaptcha { &.input { box-sizing: content-box; max-width: 100%; } img { max-width: 100%; } } .likesBar { .m-transitionFadeDown(); .xf-minorBlockContent(); border-left: @xf-borderSizeMinorFeature solid @xf-borderColorFeature; padding: @xf-paddingMedium; font-size: @xf-fontSizeSmaller; margin-top: @xf-paddingMedium; .xf-uix_messageLikes(); } .likeIcon { &:before { .m-faBase(); .m-faContent(@fa-var-thumbs-up); //, 1em color: @xf-textColorFeature; //margin-right: .2em; } } .reactionsBar { .m-transitionFadeDown(); .xf-minorBlockContent(); border-left: @xf-borderSizeMinorFeature solid @xf-borderColorFeature; padding: @xf-paddingMedium; font-size: @xf-fontSizeSmaller; margin-top: @xf-paddingMedium; .xf-uix_messageLikes(); &:last-child { margin-top: @xf-messagePadding; } } .reactionSummary { display: inline-block; .m-listPlain(); line-height: 16px; height: 16px; margin: 0 -2px; vertical-align: text-top; > li { display: inline-block; height: 20px; width: 20px; padding: 2px; margin: -2px 0; background: @xf-contentBg; border-radius: 50%; position: relative; margin-left: -6px; &:nth-child(1) { z-index: 3; margin-left: 0; } &:nth-child(2) { z-index: 2; } &:nth-child(3) { z-index: 1; } } .reaction { position: absolute; top: 0; &.reaction { // increase specificity to override .reaction.reaction--<size> display: block; } } } .reactionsBar, .message-responseRow { .reactionSummary { > li { background: @xf-contentAltBg; } .reaction { top: 2px; } } } .reactTooltip { padding: 0; display: flex; flex-wrap: wrap; justify-content: center; max-width: 100%; .reaction { margin: @xf-paddingSmall; .m-transition(transform); &:hover { .m-transform(scale(1.2)); } } } .colorChip { display: inline-block; border: @xf-borderSize solid @xf-borderColor; border-radius: @xf-borderRadiusMedium; padding: 1px; width: 100px; } .colorChip-inner { display: block; background-color: transparent; border-radius: @xf-borderRadiusSmall; height: 1em; } .colorChip-value { display: none; } pre.sf-dump { // not ideal, but then again neither is the default of 99999... z-index: @zIndex-1 !important; } .grecaptcha-badge { z-index: @zIndex-5; } // Bookmarking links for 2.1 .bookmarkLink { &:before { .m-faBase(); .m-faContent(@fa-var-bookmark); font-weight: min(@xf-fontAwesomeWeight, @faWeight-regular); } &.is-bookmarked { &:before { font-weight: @faWeight-solid; } } &.bookmarkLink--highlightable.is-bookmarked { color: @xf-textColorAttention; &:hover { color: @xf-textColorAccentContent; } } span { margin-left: .35em; } } .dragHandle { cursor: move; touch-action: none; &:before { .m-faBase(); .m-faContent(@fa-var-bars); } .is-undraggable & { visibility: hidden; cursor: default; } } .memberProfileBanner { background-size: cover !important; background-position-x: center !important; background-repeat: no-repeat !important; &.memberProfileBanner--small { height: 150px; margin-bottom: @xf-paddingMedium; } &.memberProfileBanner--empty { display: none; } } .solutionIcon { display: inline-flex; padding: @xf-paddingMedium; font-size: @xf-uix_iconSizeLarge; line-height: 1; color: @xf-textColorMuted; .m-transition(); a& { color: @xf-textColorMuted; text-decoration: none; } &:before { .m-faBase(); .m-faContent(@fa-var-check-circle); font-weight: min(@xf-fontAwesomeWeight, @faWeight-regular); } &.is-solution { color: @xf-votePositiveColor; opacity: 1; &:before { font-weight: @faWeight-solid; } } } {{ include('core_action_bar.less') }} {{ include('core_labels.less') }} {{ include('core_pikaday.less') }} {{ include('core_reaction.less') }} {{ include('core_smilie.less') }} {{ include('core_bbcode.less') }} // RESOLUTION OUTPUT .debugResolution { font-size: @xf-fontSizeSmallest; .debugResolution-output:before { content: "Full @{xf-responsiveWide} - @{xf-pageWidthMax}"; @media (min-width: @xf-pageWidthMax) { content: "Max > @{xf-pageWidthMax}"; } @media (max-width: @xf-responsiveWide) { content: "Wide < @{xf-responsiveWide}"; } @media (max-width: @xf-responsiveMedium) { content: "Medium < @{xf-responsiveMedium}"; } @media (max-width: @xf-responsiveNarrow) { content: "Narrow < @{xf-responsiveNarrow}"; } } }]]>

</template>


-<template title="core_action_bar.less" version_string="2.2.0" version_id="2020070" addon_id="XF" type="public">

<![CDATA[.actionBar { .m-clearFix(); } .actionBar-set { &.actionBar-set--internal { float: left; // margin-left: -3px; > .actionBar-action:first-child { margin-left: 0; } } &.actionBar-set--external { float: right; // margin-right: -3px; > .actionBar-action:last-child { margin-right: 0; } } } .actionBar .actionBar-action { display: inline-block; padding: 3px; border: 1px solid transparent; border-radius: @xf-borderRadiusMedium; margin-left: 5px; .xf-uix_messageControl(); &:hover { .xf-uix_messageControlHover(); } &:before { .m-faBase(); font-size: 1.1em; padding-right: 2px; } &.actionBar-action--menuTrigger { display: none; &.is-displayed { display: inline; } &:after { .m-menuGadget(); } } &.actionBar-action--inlineMod { label { color: @xf-linkColor; font-size: 120%; // vertical-align: -2px; } input { .m-checkboxAligner(); } } &.actionBar-action--mq { &:before { .m-faContent("@{fa-var-plus}\20");} // plus &.is-selected { background-color: @xf-contentHighlightBg; border-color: @xf-borderColorHighlight; &:before { .m-faContent("@{fa-var-minus}\20");} // minus } } &.actionBar-action--postLink { text-decoration: inherit !important; color: inherit !important; } &.actionBar-action--reply:before { .m-faContent("@{fa-var-reply}");} &.actionBar-action--like:before { .m-faContent("@{fa-var-thumbs-up}");} &.actionBar-action--reaction:not(.has-reaction) .reaction-text { color: inherit; } &.actionBar-action--view { background: @xf-contentBg; color: @xf-linkColor; .m-buttonBorderColorVariation(@xf-borderColor); padding-left: @xf-paddingLarge; padding-right: @xf-paddingLarge; &:hover, &:active, &:focus { text-decoration: none; background: @xf-contentHighlightBg; } } &.actionBar-action--reply:before { .m-faContent("@{fa-var-reply}\20");} // reply &.actionBar-action--comment:before { .m-faContent("@{fa-var-reply}\20");} // reply &.actionBar-action--like.unlike:before { .m-faContent("@{fa-var-thumbs-down}\20");}// thumbs up &.actionBar-action--reaction.reaction--imageHidden i:before { .m-faContent("@{fa-var-thumbs-up}\20");} &.actionBar-action--report:before { .m-faContent("@{fa-var-exclamation-circle}\20");} &.actionBar-action--delete:before { .m-faContent("@{fa-var-trash}\20");} &.actionBar-action--edit:before { .m-faContent("@{fa-var-edit}\20");} &.actionBar-action--ip:before { .m-faContent("@{fa-var-globe}\20");} &.actionBar-action--history:before { .m-faContent("@{fa-var-history}\20");} &.actionBar-action--warn:before { .m-faContent("@{fa-var-warning}\20");} &.actionBar-action--spam:before { .m-faContent("@{fa-var-warning}\20");} } @media (max-width: @xf-responsiveMedium) { .actionBar .actionBar-action { &.actionBar-action--menuItem { display: none !important; } &.actionBar-action--menuTrigger { display: inline; } } }]]>

</template>


-<template title="core_avatar.less" version_string="2.1.1" version_id="2010170" addon_id="XF" type="public">

<![CDATA[// ################################### AVATARS ############################# .m-uix_avatarShape() { <xf:if is="property('uix_avatarShape') == 1"> border-radius: 100%; <xf:elseif is="property('uix_avatarShape') == 2" /> border-radius: 0; <xf:elseif is="property('uix_avatarShape') == 3" /> -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); <xf:elseif is="property('uix_avatarShape') == 4" /> -webkit-clip-path: polygon(50% 0, 100% 38%, 80% 100%, 20% 100%, 0 38%); clip-path: polygon(50% 0, 100% 38%, 80% 100%, 20% 100%, 0 38%); <xf:elseif is="property('uix_avatarShape') == 5" /> -webkit-clip-path: polygon(50% 0, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%); clip-path: polygon(50% 0, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%); <xf:elseif is="property('uix_avatarShape') == 6" /> -webkit-clip-path: polygon(0 50%, 15% 15%, 50% 0, 85% 15%, 100% 50%, 85% 85%, 50% 100%, 15% 85%); clip-path: polygon(0 50%, 15% 15%, 50% 0, 85% 15%, 100% 50%, 85% 85%, 50% 100%, 15% 85%); </xf:if> } .avatar { display: inline-flex; justify-content: center; align-items: center; border-radius: @xf-avatarBorderRadius; vertical-align: top; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; line-height: 1; .m-uix_avatarShape(); img { background-color: @xf-avatarBg; } &.avatar--default { &.avatar--default--dynamic, &.avatar--default--text { font-family: @xf-avatarDynamicFont; font-weight: normal; text-align: center; text-decoration: none !important; // this works with the flex box approach line-height: 1; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } &.avatar--default--text { color: xf-default(@xf-textColorMuted, black) !important; background: mix(xf-default(@xf-textColorMuted, black), xf-default(@xf-avatarBg, white), 25%) !important; > span:before { content: ~"'@{xf-avatarDefaultTextContent}'"; } } &.avatar--default--image { background-color: @xf-avatarBg; background-image: url(@xf-avatarDefaultImage); background-size: cover; > span { display: none; } } } &:hover { text-decoration: none; } &.avatar--updateLink { position: relative; } &.avatar--separated { border: 1px solid @xf-avatarBg; } &.avatar--square { border-radius: 0; } &.avatar--xxs { .m-avatarSize(@avatar-xxs); } &.avatar--xs { .m-avatarSize(@avatar-xs); } &.avatar--s { .m-avatarSize(@avatar-s); } &.avatar--m { .m-avatarSize(@avatar-m); } &.avatar--l { .m-avatarSize(@avatar-l); } &.avatar--o { .m-avatarSize(@avatar-o); } img:not(.cropImage) { .m-hideText; display: block; border-radius: inherit; width: 100%; height: 100%; } &:not(a) { cursor: inherit; } } .memberHeader-avatar .avatar {border-radius: @xf-avatarBorderRadius;} .avatar-update { width: 100%; height: 30px; bottom: -30px; position: absolute; .m-hiddenLinks(); .m-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3), #000); .m-transition(); padding: @xf-paddingSmall; overflow: hidden; font-family: @xf-fontFamilyUi; font-size: @xf-fontSizeSmaller; line-height: @xf-lineHeightDefault; display: none; align-items: center; justify-content: center; .avatar--updateLink & { display: flex; } .has-touchevents &, .avatar:hover & { bottom: 0; } a { text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); color: #fff; &:hover { text-decoration: none; } } } .avatarWrapper { display: inline-block; position: relative; } .avatarWrapper-update { position: absolute; top: 50%; bottom: 0; left: 0; right: 0; display: flex; align-items: flex-end; justify-content: center; padding-bottom: .8em; color: #fff; text-decoration: none; opacity: 0; .m-transition(opacity); &:before { content: ''; position: absolute; top: -100%; bottom: 0; left: 0; right: 0; .m-borderBottomRadius(xf-default(@xf-avatarBorderRadius, 0)); .m-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .9), #000, 60%); opacity: .75; .m-transition(opacity); pointer-events: none; } span { // so it sits on top of the BG position: relative; } &:hover { color: #fff; text-decoration: none; &:before { opacity: 1; } } .avatarWrapper:hover &, .has-touchevents & { opacity: 1; } &.avatarWrapper-update--small, .avatar--s + & { font-size: @xf-fontSizeSmall; padding-bottom: .2em; } }]]>

</template>


-<template title="core_badge.less" version_string="2.0.10" version_id="2001070" addon_id="XF" type="public">

<![CDATA[// #################################################### BADGES ########################### .badge, .badgeContainer:after { display: inline-block; padding: 2px 4px 1px; margin: -2px 0 -2px 4px; font-size: 80%; line-height: 1; font-weight: @xf-fontWeightNormal; .xf-badge(); } .badgeContainer { &:after { content: attr(data-badge); display: none; } &.badgeContainer--visible:after { display: inline-block; } } .badge.badge--highlighted, .badgeContainer.badgeContainer--highlighted:after { display: inline-block; .xf-badgeHighlighted(); }]]>

</template>


-<template title="core_block.less" version_string="2.2.0 Beta 6" version_id="2020036" addon_id="XF" type="public">

<![CDATA[// ################################# BLOCKS ################## .blocks { margin-bottom: @xf-elementSpacer; &:last-child { margin-bottom: 0; } .block { margin-bottom: (@xf-elementSpacer / 2); &:last-child { margin-bottom: 0; } } &.blocks--close .block { margin-bottom: (@xf-elementSpacer / 4); } &.blocks--separated { + .blocks { padding-top: @xf-elementSpacer; border-top: @xf-borderSize solid @xf-borderColor; } } } .blocks-header { font-size: @xf-fontSizeLarger; font-weight: @xf-fontWeightNormal; color: @xf-textColorMuted; margin: 0; padding: 0; margin-bottom: 5px; &.blocks-header--strong { color: @xf-textColorDimmed; .blocks-desc { color: @xf-textColorMuted; } } } .blocks-textJoiner { display: table; width: 100%; margin-bottom: (@xf-elementSpacer / 2); padding: 0 @xf-paddingMedium; > span { display: table-cell; position: relative; &:before { content: ''; position: absolute; left: 0; right: 0; top: 50%; border-top: @xf-borderSize solid @xf-borderColor; } } > em { display: table-cell; padding: 0 @xf-paddingLarge; width: 1%; white-space: nowrap; // font-size: @xf-fontSizeLargest; line-height: 1; font-style: normal; text-align: center; font-weight: 400; color: @xf-textColorMuted; text-transform: lowercase; } } .block { margin-bottom: @xf-elementSpacer; &:last-child {margin-bottom: 0;} &.block--close { margin-bottom: 5px; } &.block--treeEntryChooser { .block-header { font-size: @xf-fontSizeLarge; .block-desc { font-size: @xf-fontSizeSmallest; } } .block-row { padding-top: 6px; padding-bottom: 6px; } .contentRow { &.is-disabled { opacity: 0.5; } } .contentRow-title { font-size: @xf-fontSizeNormal; } .contentRow-minor { font-size: @xf-fontSizeSmaller; } .contentRow-suffix { font-size: @xf-fontSizeSmall; } } } .block-outer { padding-bottom: @xf-blockPaddingV; .m-clearFix(); .xf-uix_blockOuter(); &:empty { display: none; } &.block-outer--after { padding-top: @xf-blockPaddingV; padding-bottom: 0; } &.block-outer--padded { padding-left: @xf-blockPaddingH; padding-right: @xf-blockPaddingH; } .block-outer-hint { font-size: @xf-fontSizeSmall; color: @xf-textColorMuted; } } .block-outer-main, .block-row-main { float: left; } .block-outer-opposite, .block-row-opposite { float: right; } .block-outer-middle, .block-row-middle { text-align: center; } .block-container { .xf-contentBase(); .xf-blockBorder() border-radius: @xf-blockBorderRadius; //.m-transition(border, margin;); // edgeSpacerRemoval .xf-uix_blockContainer(); &.block-container--none { background: none; border: none; color: @xf-textColor; padding: 0; box-shadow: none; } } @media (min-width: @xf-responsiveEdgeSpacerRemoval) { @{block-noStripSel} > :first-child, .block-topRadiusContent, @{block-noStripSel} > .block-body:first-child > .blockLink:first-child { border-top-left-radius: @block-borderRadius-inner; border-top-right-radius: @block-borderRadius-inner; } @{block-noStripSel} > :last-child, .block-bottomRadiusContent, @{block-noStripSel} > .block-body:last-child > .blockLink:last-child, @{block-noStripSel} > .tabPanes:last-child > [role=tabpanel] > :last-child, @{block-noStripSel} > .tabPanes:last-child > [role=tabpanel] > .block-body > :last-child { border-bottom-left-radius: @block-borderRadius-inner; border-bottom-right-radius: @block-borderRadius-inner; } @{block-noStripSel} > .block-body:first-child > .dataList:first-child, .block-topRadiusContent.dataList, .block-topRadiusContent > .dataList:first-child { tbody:first-child .dataList-row:first-child, thead:first-child .dataList-row:first-child { > .dataList-cell:first-child { border-top-left-radius: @block-borderRadius-inner; } > .dataList-cell:last-child { border-top-right-radius: @block-borderRadius-inner; } } } @{block-noStripSel} > .block-body:first-child > .formRow:first-child, .block-topRadiusContent.formRow, .block-topRadiusContent > .formRow:first-child { > dt { border-top-left-radius: @block-borderRadius-inner; } > dd { border-top-right-radius: @block-borderRadius-inner; } } @{block-noStripSel} > .block-body:last-child > .dataList:last-child, .block-bottomRadiusContent.dataList, .block-bottomRadiusContent > .dataList:last-child { tbody:last-child .dataList-row:last-child { > .dataList-cell:first-child { border-bottom-left-radius: @block-borderRadius-inner; } > .dataList-cell:last-child { border-bottom-right-radius: @block-borderRadius-inner; } } } @{block-noStripSel} > .block-body:last-child > .formRow:last-child, .block-bottomRadiusContent.formRow, .block-bottomRadiusContent > .formRow:last-child { > dt { border-bottom-left-radius: @block-borderRadius-inner; } > dd { border-bottom-right-radius: @block-borderRadius-inner; } } @{block-noStripSel} > .block-body:last-child .formSubmitRow:not(.is-sticky), @{block-noStripSel} > .formSubmitRow:not(.is-sticky):last-child, .block-bottomRadiusContent > .formSubmitRow:not(.is-sticky) { > dt { border-bottom-left-radius: @block-borderRadius-inner; } > dd { border-bottom-right-radius: @block-borderRadius-inner; } .formSubmitRow-bar { border-bottom-left-radius: @block-borderRadius-inner; border-bottom-right-radius: @block-borderRadius-inner; } } } .block-header { padding: @xf-blockPaddingV @xf-blockPaddingH; margin: 0; font-weight: @xf-fontWeightNormal; text-decoration: none; .xf-blockHeader(); .m-clearFix(); .m-hiddenLinks(); &.block-header--separated { border-top: @xf-borderSize solid @xf-borderColorLight; } .block-desc { color: fade(@xf-blockHeader--color, 70); .m-textColoredLinks(); } } .block-minorHeader { padding: @xf-blockPaddingV @xf-blockPaddingH; margin: 0; font-weight: @xf-fontWeightNormal; text-decoration: none; .xf-blockMinorHeader(); .m-clearFix(); .m-hiddenLinks(); .block-body + & { border-top: @xf-borderSize solid @xf-borderColorLight; } .block-desc { .m-textColoredLinks(); } &--spaced { margin-top: @xf-paddingSmall; } &--small { font-size: @xf-fontSizeSmall; } } .block-tabHeader { padding: 0; margin: 0; font-weight: @xf-fontWeightNormal; .xf-blockTabHeader(); .m-tabsTogether(xf-default(@xf-blockTabHeader--font-size, @xf-fontSizeNormal)); .tabs-tab { padding: @xf-blockPaddingV @xf-blockPaddingH; border-bottom: @xf-borderSizeFeature solid transparent; .xf-uix_blockTabHeaderTab(); &:hover { color: @xf-blockTabHeaderSelected--color; background: fade(@xf-blockTabHeaderSelected--color, 10%); } &.is-active { background: none; .xf-blockTabHeaderSelected(); } } .block-tabHeader-extra { float: right; color: inherit; font-size: @xf-blockTabHeader--font-size; padding: @xf-blockPaddingV @xf-blockPaddingH; } .hScroller-action { .m-hScrollerActionColorVariation( xf-default(@xf-blockTabHeader--background-color, transparent), xf-default(@xf-blockTabHeader--color, ~""), xf-default(@xf-blockTabHeaderSelected--color, ~"") ); } } .block-minorTabHeader { padding: 0; margin: 0; font-weight: @xf-fontWeightNormal; .xf-blockMinorTabHeader(); .m-tabsTogether(xf-default(@xf-blockMinorTabHeader--font-size, @xf-fontSizeNormal)); .tabs-tab { padding: @xf-blockPaddingV @xf-blockPaddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature); border-bottom: @xf-borderSizeFeature solid transparent; &:hover { color: @xf-blockMinorTabHeaderSelected--color; } &.is-active { background: none; .xf-blockMinorTabHeaderSelected(); } } .hScroller-action { .m-hScrollerActionColorVariation( xf-default(@xf-blockMinorTabHeader--background-color, transparent), xf-default(@xf-blockMinorTabHeader--color, ~""), xf-default(@xf-blockMinorTabHeaderSelected--color, ~"") ); } } .block-filterBar { padding: (@xf-blockPaddingH / 2) (@xf-blockPaddingH / 2); .xf-blockFilterBar(); &.block-filterBar--standalone { padding: @xf-paddingMedium @xf-paddingMedium; border: @xf-borderSize solid @xf-borderColor; border-radius: @block-borderRadius-inner; @media (max-width: @xf-responsiveEdgeSpacerRemoval) { border-radius: 0; border-left: none; border-right: none; } } .filterBar-filterToggle { background: mix( xf-default(@xf-blockFilterBar--color, @xf-linkColor), xf-default(@xf-blockFilterBar--background-color, transparent), 8% ); } .filterBar-filterToggle, .filterBar-menuTrigger { &:hover { text-decoration: none; background: mix( xf-default(@xf-blockFilterBar--color, @xf-linkColor), xf-default(@xf-blockFilterBar--background-color, transparent), 16% ); } } } .block-textHeader { margin: @xf-blockPaddingV/2 0; padding: 0; font-weight: @xf-fontWeightNormal; .xf-blockTextHeader(); .m-clearFix(); .m-hiddenLinks(); &.block-textHeader--scaled { font-size: inherit; } .block-textHeader-highlight { color: @xf-textColor; } .block-desc { .m-textColoredLinks(); } &:first-child { margin-top: 0; } } .block-formSectionHeader { padding: @xf-blockPaddingV @xf-blockPaddingH; margin: 0; font-weight: @xf-fontWeightNormal; text-decoration: none; .xf-formSectionHeader(); .m-clearFix(); .m-hiddenLinks(); .block-desc { .m-textColoredLinks(); } .block-container > &:first-child, .block-body--collapsible &:first-child, .block-header + & { border-top: none; } .block-formSectionHeader-aligner { @_blockPaddingShift: (unit(@xf-formLabelWidth) / 100) * (@xf-blockPaddingH); display: inline-block; text-align: right; min-width: @xf-formLabelWidth; min-width: ~"calc((@{xf-formLabelWidth}) - (@{_blockPaddingShift}) - (@{xf-formRowPaddingHInner}) - (@{xf-borderSize}))"; max-width: 100%; .menu & { display: inline; text-align: left; min-width: 0; padding-left: 0; } @media (max-width: @xf-formResponsive) { display: inline; text-align: left; min-width: 0; padding-left: 0; } } .menu & {padding-left: @xf-formRowPaddingHOuter;} @media (max-width: @xf-formResponsive) { padding-left: @xf-formRowPaddingHOuter; } .block-formSectionHeader-multiChecker { float: right; } &--small { font-size: @xf-fontSizeNormal; } } .block-desc, .blocks-desc { display: block; // font-size: @xf-fontSizeSmaller; // font-weight: @xf-fontWeightNormal; .xf-uix_categoryDescription(); } .block-body { .m-listPlain(); .xf-uix_blockBody(); &.block-body--collapsible { .has-no-js & { display: block; } .m-transitionFadeDown(); } &.block-body--contained { overflow: auto; max-height: 300px; max-height: 70vh; } &.block-body--containedFixed { overflow-x: auto; max-height: 300px; } } .block-row { margin: 0; padding: @xf-blockPaddingV @xf-blockPaddingH; .m-clearFix(); &.block-row--toEdge { padding-left: 0; padding-right: 0; } &.block-row--alt { .xf-contentAltBase(); } &.block-row--minor { font-size: @xf-fontSizeSmall; } &.block-row--separated { // padding-top: (@xf-blockPaddingV) * 2; // padding-bottom: (@xf-blockPaddingV) * 2; padding-bottom: @xf-blockPaddingV; padding-top: @xf-blockPaddingV; + .block-row { border-top: @xf-borderSize solid @xf-borderColorLight; } } &.block-row--connectAbove { padding-bottom: (@xf-blockPaddingV) * 2; .block-body > &:last-child { padding-bottom: @xf-blockPaddingV; } } &.block-row--highlighted { .xf-contentHighlightBase(); } &.block-row--clickable:hover { .xf-contentHighlightBase(); } &.is-mod-selected { background: @xf-inlineModHighlightColor; } > pre { &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } } .block-separator { margin: 0; padding: 0; border: none; border-top: @xf-borderSize solid @xf-borderColorLight; } .block-footer { padding: @xf-blockPaddingV @xf-blockPaddingH; .xf-blockFooter(); .m-clearFix(); &:first-child { border: none; } [data-app=admin] & { .block-footer-counter, .block-footer-select { line-height: 30px; } } &:not(.block-footer--split) { .block-footer-counter { float: left; } .block-footer-controls { float: right; } } .block-footer-controls .button, .block-footer-counter .button { .xf-uix_buttonSmall(); } &.block-footer--split { display: flex; align-items: center; .block-footer-main, .block-footer-counter { flex-grow: 1; } .block-footer-select:not(:last-child) { margin: 0 1em; } .block-footer-opposite, .block-footer-controls { margin-left: auto; } } } @media (max-width: @xf-responsiveNarrow) { .block-outer { text-align: center; } .block-outer-main, .block-outer-opposite { float: none; text-align: center; } .block-outer-main + .block-outer-opposite { margin-top: @xf-paddingMedium; } }]]>

</template>


-<template title="core_blockend.less" version_string="2.0.7" version_id="2000770" addon_id="XF" type="public">

<![CDATA[// This contains rules that apply to various block and block-related systems. This file should be included // after all of the primary definitions to ensure the rules override. .blockMessage, .blockStatus, .block-row { p:first-child { margin-top: 0; } p:last-child { margin-bottom: 0; } } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .block-container, .blockMessage { margin-left: -@xf-pageEdgeSpacer * .5; margin-right: -@xf-pageEdgeSpacer * .5; border-radius: 0; border-left: none; border-right: none; } .blockStatus { margin-left: -@xf-pageEdgeSpacer * .5; margin-right: -@xf-pageEdgeSpacer * .5; border-radius: 0; border-right: none; } .blockMessage.blockMessage--none { margin-left: 0; margin-right: 0; } }]]>

</template>


-<template title="core_blockmessage.less" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![CDATA[// ############################ BLOCK MESSAGE ################### .block-rowMessage { margin: @xf-blockPaddingV 0; padding: @xf-blockPaddingV @xf-blockPaddingH; .xf-blockBorder(); border-radius: @xf-blockBorderRadius; .m-clearFix(); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } &.block-rowMessage--small { font-size: @xf-fontSizeSmall; padding: @xf-blockPaddingV/2 @xf-blockPaddingH/2; } &.block-rowMessage--center { text-align: center; } .m-blockMessageVariants(); } .blockMessage { margin-bottom: @xf-elementSpacer; padding: @xf-blockPaddingV @xf-blockPaddingH; .xf-contentBase(); .xf-blockBorder(); border-radius: @xf-blockBorderRadius; .xf-uix_blockMessage(); .m-clearFix(); //.m-transition(border, margin;); // edgeSpacerRemoval &.blockMessage--none { background: none; border: none; color: @xf-textColor; padding: 0; box-shadow: none; } &.blockMessage--close { margin-top: 5px; margin-bottom: 5px; } &.blockMessage--small { font-size: @xf-fontSizeSmall; padding: @xf-paddingMedium; } &.blockMessage--center { text-align: center; } .m-blockMessageVariants(); } .blockMessage--iconic, .block-rowMessage--iconic { text-align: left; position: relative; padding-left: 4em; min-height: 4em; &:before { .m-faBase(); font-size: 280%; // 2 x line height position: absolute; top: 0; left: @xf-paddingMedium; } } .m-blockMessageVariants() { // note: the double && is correct here -- it enforces output like ".x.x--variant". The extra specificity helps // prevent issues from things like media query overrides. &&--highlight { .xf-contentHighlightBase(); } &--highlight&--iconic:before { .m-faContent(@fa-var-info-circle); } &&--important { .xf-contentAccentBase(); border-left: @xf-borderSizeFeature solid @xf-borderColorAttention; // padding: @xf-paddingMedium; a { .xf-contentAccentLink(); } } &--important&--iconic:before { .m-faContent(@fa-var-exclamation-circle); color: @xf-textColorAttention; color: @xf-important-featureColor; } &&--alt { .xf-contentAltBase(); } &&--success { border-left: @xf-borderSizeFeature solid @xf-successFeatureColor; background: @xf-successBg; color: @xf-successColor; .m-textColoredLinks(); } &--success&--iconic:before { .m-faContent(@fa-var-check-circle); color: @xf-success-featureColor; } &&--warning { border-left: @xf-borderSizeFeature solid @xf-warningFeatureColor; background: @xf-warningBg; color: @xf-warningColor; .m-textColoredLinks(); } &--warning&--iconic:before { .m-faContent(@fa-var-exclamation-triangle); color: @xf-warning-featureColor; } &&--error { border-left: @xf-borderSizeFeature solid @xf-errorFeatureColor; background: @xf-errorBg; color: @xf-errorColor; .m-textColoredLinks(); } &--error&--iconic:before { .m-faContent(@fa-var-times-circle); color: @xf-error-featureColor; } }]]>

</template>


-<template title="core_button.less" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![CDATA[// ############################ BUTTONS ################# .button, button.button a.button // needed for specificity over a:link { .m-buttonBase(); .button-text {display: inline-flex; align-items: center;} a { color: inherit; text-decoration: none; } &:hover, &:focus { .xf-uix_buttonHover(); } &:active { .xf-uix_buttonActive(); } .xf-buttonDefault(); .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonDefault--background-color, transparent)); &.button--primary { .xf-buttonPrimary(); .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonPrimary--background-color, transparent)); &:hover, &:focus {.xf-uix_buttonPrimaryHover();} &:active {.xf-uix_buttonPrimaryActive();} } &.button--cta { .xf-buttonCta(); .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonCta--background-color, transparent)); &:hover, &:focus {.xf-uix_buttonCtaHover();} &:active {.xf-uix_buttonCtaActive();} } &.button--link { // block colors // background: @xf-contentBg; // color: @xf-linkColor; // .m-buttonBorderColorVariation(@xf-borderColor); .xf-uix_buttonSmall(); .xf-uix_buttonLink(); &:hover, &:focus { text-decoration: none; // background: @xf-contentHighlightBg; .xf-uix_buttonHover(); } &:active { .xf-uix_buttonActive(); } } &.button--plain { background: none; color: @xf-linkColor; border: none; &:hover, &:active, &:focus { text-decoration: none; background: none; } } &.button--alt { // block colors background-color: @xf-contentHighlightBg; color: @xf-linkColor; .m-buttonBorderColorVariation(@xf-paletteColor2); &:hover, &:active, &:focus { background-color: @xf-paletteColor1; color: @xf-linkColor; } } &.button--longText { .m-overflowEllipsis(); max-width: 100%; display: inline-block; } &.is-disabled { .xf-buttonDisabled(); // .m-buttonBorderColorVariation(xf-default(@xf-buttonDisabled--background-color, transparent)); &:hover, &:active, &:focus { .xf-buttonDisabled(); // background: xf-default(@xf-buttonDisabled--background-color, transparent) !important; } } &.is-hidden { display: none; } &.button--scroll { // background: fade(xf-default(@xf-buttonDefault--background-color, transparent), 75%); .xf-buttonPrimary(); padding: 5px 8px; .m-dropShadow(); &:hover, &:focus {.xf-uix_buttonPrimaryHover();} &:active {.xf-uix_buttonPrimaryActive();} } &.button--normal { font-size: @xf-fontSizeNormal; } &.button--small { font-size: @xf-fontSizeSmall; padding: 3px 6px; .xf-uix_buttonSmall(); } &.button--smaller { font-size: @xf-fontSizeSmaller; padding: 2px 5px; } &.button--fullWidth { display: block; width: 100%; box-sizing: border-box; } &.button--adminStyleAsset { &.is-disabled { visibility: hidden; } &.is-modify { .m-buttonIcon(@fa-var-pencil); } &.is-revert { .m-buttonIcon(@fa-var-history); } } &.button--wrap { white-space: normal; } &.button--icon { > .button-text:before, .button-icon { .m-faBase(); } > .button-text:before, > .fa--xf:before, .button-icon { // font-size: 120%; font-size: @xf-uix_iconSize; vertical-align: -.1em; display: inline-block; // margin: -.255em 6px -.255em 0; margin-right: .2em; // content: ''; } > .fa--xf { // helps fix a button alignment issue (Chrome only) line-height: inherit; } /* > .button-text:before { .m-faBase(); // font-size: 120%; font-size: @xf-uix_iconSize; vertical-align: middle; display: inline-block; // margin: -.255em 6px -.255em 0; margin-right: .2em; } */ .button-icon { height: 1em; vertical-align: 0; } &.button--iconOnly { > .button-text:before, > i.fa--xf:before, .button-icon { margin-left: 0; margin-right: 0; } } &.button--padded { > .button-text:before, > i.fa--xf:before, .button-icon { margin-top: 0; margin-bottom: 0; } } &--add { .m-buttonIcon(@fa-var-plus-square, 0.88em); // fa-plus-square } &--import { .m-buttonIcon(@fa-var-upload, 0.1.13em); // fa-upload } &--export, &--download { .m-buttonIcon(@fa-var-download, 1.13em); // fa-download } &--redirect { .m-buttonIcon(@fa-var-external-link, 1em); } &--edit { .m-buttonIcon(@fa-var-pencil, 1.13em); // fa-pencil } &--save { .m-buttonIcon(@fa-var-save, 0.88em); // fa-floppy-o } &--delete { .m-buttonIcon(@fa-var-trash-o, 0.79em); } &--reply { .m-buttonIcon(@fa-var-mail-reply, 1.13); // fa-reply } &--quote { .m-buttonIcon(@fa-var-quote-left, 1.13em); } &--purchase { .m-buttonIcon(@fa-var-shopping-basket, 1.13em); } &--payment { .m-buttonIcon(@fa-var-credit-card, 1.13em); } &--convert { .m-buttonIcon(@fa-var-flash, .75em); } &--search { .m-buttonIcon(@fa-var-search, 1em); } &--sort { .m-buttonIcon(@fa-var-sort, 0.63em); } &--upload { .m-buttonIcon(@fa-var-upload, 1.13em); } &--attach { .m-buttonIcon(@fa-var-paperclip, 1em); } &--login { .m-buttonIcon(@fa-var-lock, 0.88em); } &--rate { .m-buttonIcon(@fa-var-star, 1.13em); } &--config { .m-buttonIcon(@fa-var-cog, 1em); } &--refresh { .m-buttonIcon(@fa-var-refresh, 1em); } &--translate { .m-buttonIcon(@fa-var-globe, .97em); } &--vote { .m-buttonIcon(@fa-var-check-circle-o, 1em); } &--result { .m-buttonIcon(@fa-var-bar-chart-o, 1.15em); } &--history { .m-buttonIcon(@fa-var-history, 1em); } &--cancel { .m-buttonIcon(@fa-var-ban, 1em); } &--close { .m-buttonIcon(@fa-var-times, .69em); } &--preview { .m-buttonIcon(@fa-var-eye, 1.13em); } &--conversation { .m-buttonIcon(@fa-var-comments-o, 1.13em); } &--write { .m-buttonIcon(@fa-var-edit, 1.13em); } &--download { .m-buttonIcon(@fa-var-download, .93em); } &--bolt { .m-buttonIcon(@fa-var-bolt, .75em); } &--list { .m-buttonIcon(@fa-var-list, 1em); } &--prev { .m-buttonIcon(@fa-var-chevron-left, .63em); } &--next { .m-buttonIcon(@fa-var-chevron-right, .63em); } &--confirm { .m-buttonIcon(@fa-var-check, 1em); } &--disable { .m-buttonIcon(@fa-var-power-off, 1em); } &--markRead { .m-buttonIcon(@fa-var-check-square-o, .88em); } &--user { .m-buttonIcon(@fa-var-user, .88em); } &--userCircle { .m-buttonIcon(@fa-var-user-circle, .97em); } &--notificationsOn { .m-buttonIcon(@fa-var-bell-o, 1.25em); // actually only .88em, but as we use this as a toggle, make it the same width as bell-slash } &--notificationsOff { .m-buttonIcon(@fa-var-bell-slash-o, 1.25em); } &--show { .m-buttonIcon(@fa-var-eye, 1.25em); // actually only 1.13em, but it's a toggle } &--hide { .m-buttonIcon(@fa-var-eye-slash, 1.25em); } &--merge { .m-buttonIcon(@fa-var-compress, .88em); } &--move { .m-buttonIcon(@fa-var-share, 1.13em); } &--copy { .m-buttonIcon(@fa-var-clone, .88em); } &--approve, &--unapprove { .m-buttonIcon(@fa-var-shield, 1em); } &--delete, &--undelete { .m-buttonIcon(@fa-var-trash-o, .88em); } &--stick, &--unstick { .m-buttonIcon(@fa-var-thumb-tack, .75em); } &--lock { .m-buttonIcon(@fa-var-lock, .88em); } &--unlock { .m-buttonIcon(@fa-var-unlock, .88em); } &--bookmark { .m-buttonIcon(@fa-var-bookmark); &.is-bookmarked .button-text:before { font-weight: @faWeight-solid; color: @xf-textColorAttention; } } } &.button--provider { > .button-text:before, .button-icon { .m-faBase('Brands'); font-size: 120%; vertical-align: middle; display: inline-block; margin: -4px 6px -4px 0; } .button-icon { height: 1em; vertical-align: 0; } &--facebook { .m-buttonColorVariation(#3B5998, white); .m-buttonIcon(@fa-var-facebook, 1em); .button-text {display: inline;} } &--twitter { .m-buttonColorVariation(#1DA1F3, white); .m-buttonIcon(@fa-var-twitter, 1em); } &--google { .m-buttonColorVariation(white, #444); border-color: #e9e9e9; > .button-text:before { display: none; } } &--github { .m-buttonColorVariation(#666666, white); .m-buttonIcon(@fa-var-github, .97em); } &--linkedin { .m-buttonColorVariation(#0077b5, white); .m-buttonIcon(@fa-var-linkedin, .88em); } &--microsoft { .m-buttonColorVariation(#00bcf2, white); .m-buttonIcon(@fa-var-windows, .88em); } &--yahoo { .m-buttonColorVariation(#410093, white); .m-buttonIcon(@fa-var-yahoo, .88em); } } // button-text and button-menu are always children of button--splitTrigger // but are defined here for reasons of specificity, as these border colors // are overwritten by .m-buttonBorderColorVariation() > .button-text { border-right: @xf-borderSize solid transparent; } > .button-menu { border-left: @xf-borderSize solid transparent; } &.button--splitTrigger { .m-clearFix(); padding: 0; font-size: 0; display: inline-block; button.button-text { background: transparent; border: none; border-right: @xf-borderSize solid transparent; color: inherit; } > .button-text, > .button-menu { .xf-buttonBase(); display: inline-block; &:hover { &:after { opacity: 1; } } } > .button-text { .m-borderRightRadius(0); } > .button-menu { .m-borderLeftRadius(0); padding-right: xf-default(@xf-buttonBase--padding-right, 0);// * (2/3); padding-left: xf-default(@xf-buttonBase--padding-left, 0);// * (2/3); &:after { .m-menuGadget(); // .58em opacity: .5; } } } } .buttonGroup { display: inline-block; vertical-align: top; .m-clearFix(); &.buttonGroup--aligned { vertical-align: middle; } > .button { float: left; &:not(:first-child) { border-left: none; } &:not(:first-child):not(:last-child) { border-radius: 0; } &:first-child:not(:last-child) { .m-borderRightRadius(0); } &:last-child:not(:first-child) { .m-borderLeftRadius(0); } } > .buttonGroup-buttonWrapper { float: left; &:not(:first-child) > .button { border-left: none; } &:not(:first-child):not(:last-child) > .button { border-radius: 0; } &:first-child:not(:last-child) > .button { .m-borderRightRadius(0); } &:last-child:not(:first-child) > .button { .m-borderLeftRadius(0); } } } .toggleButton { > input { display: none; } > span { .xf-buttonDisabled(); .m-buttonBorderColorVariation(xf-default(@xf-buttonDisabled--background-color, transparent)); } &.toggleButton--small > span { font-size: @xf-fontSizeSmaller; padding: @xf-paddingSmall; } > input:checked + span { .xf-buttonDefault(); .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonDefault--background-color, transparent)); } } .u-scrollButtons { position: fixed; bottom: 30px; <xf:if is="property('uix_fab') == 'always'"> bottom: 100px; <xf:elseif is="property('uix_fab') == 'mobile'" /> @media(max-width: {{ property('uix_fabVw') - 1 }}px ) { bottom: 100px; } </xf:if> <xf:if is="(property('uix_visitorTabsMobile') == 'tabbar') && ( property('uix_fab') != 'never' )"> @media (max-width: @xf-responsiveNarrow) { bottom: {{ property('paddingLarge') + 23 + 100 }}px; } </xf:if> right: (@xf-pageEdgeSpacer) / 2; .has-hiddenscroll & { right: 20px; } z-index: @zIndex-9; .m-transition(opacity; @xf-animationSpeed); opacity: 0; display: none; &.is-transitioning { display: flex; } &.is-active { display: flex; opacity: 1; } .button { font-size: 14px; display: flex; height: 24px; line-height: 24px; + .button { margin-left: @xf-paddingMedium; } } } .block-outer-opposite .button { .xf-uix_buttonSmall(); }]]>

</template>


-<template title="core_categorylist.less" version_string="2.2.0 Beta 6" version_id="2020036" addon_id="XF" type="public">

<![CDATA[// ################################ CATEGORY LIST ####################### @_categoryListTogglerWidth: 1em; @_categoryListTogglerPaddingH: (@xf-blockPaddingH / 2); .categoryList { display: none; .m-listPlain(); &.is-active { display: block; } } .categoryList-item { padding: 0; text-decoration: none; font-size: @xf-fontSizeNormal; &.categoryList-item--small { font-size: @xf-fontSizeSmall; } .categoryList { padding-left: @xf-paddingLarge; } } .categoryList-itemDesc { display: block; font-size: @xf-fontSizeSmaller; font-weight: @xf-fontWeightNormal; color: @xf-textColorMuted; margin-top: -@xf-blockPaddingV; .m-overflowEllipsis(); } .categoryList-header { padding: @xf-blockPaddingV 0; margin: 0; color: @xf-textColorFeature; text-decoration: none; font-weight: @xf-fontWeightHeavy; &.categoryList-header--muted { color: @xf-textColorMuted; } .m-clearFix(); .m-hiddenLinks(); } .categoryList-itemRow { display: flex; min-width: 0; align-items: center; } .categoryList-link { display: block; flex-grow: 1; padding: (@xf-blockPaddingV / 2) @xf-blockPaddingH; text-decoration: none; .m-overflowEllipsis(); &:hover { text-decoration: none; } &.is-selected { font-weight: @xf-fontWeightHeavy; } .categoryList-toggler + &, .categoryList-togglerSpacer + & { padding-left: 0; } } .categoryList-label { margin-left: auto; align-self: center; padding-right: @_categoryListTogglerPaddingH; } .categoryList-toggler { display: inline-block; padding: (@xf-blockPaddingV / 2) @_categoryListTogglerPaddingH; text-decoration: none; flex-grow: 0; line-height: 1; &:hover { text-decoration: none; } &:after { .m-faBase(); // font-size: 80%; .m-faContent(@fa-var-chevron-down, @_categoryListTogglerWidth); } &.is-active:after { .m-faContent(@fa-var-chevron-up, @_categoryListTogglerWidth); } } .categoryList-togglerSpacer { display: inline-block; visibility: hidden; padding: (@xf-blockPaddingV / 2) (@xf-blockPaddingH / 2); &:after { .m-faBase(); // font-size: 80%; .m-faContent(@fa-var-chevron-down, @_categoryListTogglerWidth); } }]]>

</template>


-<template title="core_contentrow.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[// ########################################### CONTENT ROWS ############################ @_contentRow-faderHeight: 150px; @_contentRow-faderCoverHeight: (@_contentRow-faderHeight) / 2; .contentRow { display: flex; &.contentRow--alignMiddle { align-items: center; } &.is-deleted { opacity: .7; .contentRow-header, .contentRow-title { text-decoration: line-through; } } } .m-figureFixed(@size) { width: @size; img, i.fa, i.fal, i.far, i.fas, i.fab, i.fad, .avatar { max-height: @size; } } .contentRow-figure { vertical-align: top; white-space: nowrap; word-wrap: normal; text-align: center; img, i.fa, i.fal, i.far, i.fas, i.fab, i.fad, .avatar { vertical-align: bottom; } &.contentRow-figure--fixedBookmarkIcon { .m-figureFixed(48px); } &.contentRow-figure--fixedSmall { .m-figureFixed(60px); } &.contentRow-figure--fixedMedium { .m-figureFixed(100px); &.contentRow-figure--fixedMedium--fluidWidth { width: auto; max-width: 200px; } } &.contentRow-figure--fixedLarge { .m-figureFixed(200px); } &.contentRow-figure--text { font-size: @xf-fontSizeLargest; } } .contentRow-figureContainer { position: relative; .contentRow-figureSeparated { position: absolute; right: -5px; bottom: -5px; .m-avatarSize(@avatar-s / 2 + 2px); } } .contentRow-figureIcon { text-align: center; color: @xf-textColorFeature; img, i.fa, i.fal, i.far, i.fas, i.fab, i.fad { width: 64px; overflow: hidden; white-space: nowrap; word-wrap: normal; border-radius: @xf-borderRadiusMedium; .contentRow-figure--fixedBookmarkIcon & { width: 48px; } } } .contentRow-main { flex: 1; min-width: 0; vertical-align: top; padding-left: @xf-paddingLarge; &:before { // because of line height, there appears to be extra space at the top of this content: ''; display: block; margin-top: -.18em; } &.contentRow-main--close { padding-left: @xf-paddingMedium; } &:first-child { padding-left: 0; } } .contentRow-header { margin: 0; padding: 0; font-weight: @xf-fontWeightHeavy; font-size: @xf-fontSizeLarge; } .contentRow-title { margin: 0; padding: 0; font-weight: @xf-fontWeightNormal; font-size: @xf-fontSizeLarge; } .contentRow-snippet { font-size: @xf-fontSizeSmall; margin: .25em 0; } .contentRow-muted { color: @xf-textColorMuted; } .contentRow-lesser { font-size: @xf-fontSizeSmall; } .contentRow-suffix { padding-left: @xf-paddingMedium; white-space: nowrap; word-wrap: normal; } .contentRow-faderContainer { position: relative; overflow: hidden; } .contentRow-faderContent { max-height: 150px; overflow: hidden; -webkit-mask-image: linear-gradient(to bottom, #000 100px, transparent 150px); mask-image: linear-gradient(to bottom, #000 100px, transparent 150px); } .contentRow-fader { position: absolute; top: (@_contentRow-faderHeight) + ((@xf-paddingMedium) * 2) - (@_contentRow-faderCoverHeight); left: 0; right: 0; height: @_contentRow-faderCoverHeight; @supports not (-webkit-mask-image) or not (mask-image) { .m-gradient(fade(@xf-contentBg, 0%), @xf-contentBg, transparent, 0%, 80%); } } .contentRow-minor { font-size: @xf-fontSizeSmall; color: @xf-textColorMuted; time {color: @xf-textColorDimmed;} &.contentRow-minor--hideLinks { .m-hiddenLinks(); a {text-decoration: underline;} } &.contentRow-minor--smaller { font-size: @xf-fontSizeSmaller; } &.contentRow-minor--singleLine { .m-overflowEllipsis(); } } .contentRow-spaced { margin: .5em 0; &:last-child { margin-bottom: 0; } } .contentRow-extra { float: right; padding-left: @xf-paddingMedium; font-size: @xf-fontSizeSmallest; &.contentRow-extra--small { font-size: @xf-fontSizeSmall; color: @xf-textColorMuted; } &.contentRow-extra--normal { font-size: @xf-fontSizeNormal; color: @xf-textColorMuted; } &.contentRow-extra--large { font-size: @xf-fontSizeLarge; color: @xf-textColorMuted; } &.contentRow-extra--larger { font-size: @xf-fontSizeLarger; color: @xf-textColorMuted; } &.contentRow-extra--largest { font-size: @xf-fontSizeLargest; color: @xf-textColorMuted; } } @media (max-width: @xf-responsiveNarrow) { .contentRow-figure { &.contentRow-figure--fixedBookmarkIcon { width: @avatar-xs; } .avatar--s { .m-avatarSize(@avatar-xs); } } .contentRow--hideFigureNarrow { .contentRow-figure { display: none; } .contentRow-main { padding-left: 0; } } }]]>

</template>


-<template title="core_datalist.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[// ################################# DATA LISTS ################### .dataList { max-width: 100%; &.dataList--separated { border-top: @xf-borderSize solid @xf-borderColorLight; border-bottom: @xf-borderSize solid @xf-borderColorLight; } &.dataList--separatedTop { border-top: @xf-borderSize solid @xf-borderColorLight; } &.dataList--separatedBottom { border-bottom: @xf-borderSize solid @xf-borderColorLight; } &.dataList--contained { overflow-x: auto; max-height: 300px; max-height: 85vh; } &.dataList--containedFixed { overflow-x: auto; max-height: 300px; } @media (max-width: @xf-responsiveMedium) { overflow-x: auto; } } .dataList-table { width: 100%; border-collapse: separate; border-spacing: 0; } .dataList-rowGroup { &.is-hidden { display: none; } } .m-adjustDataListCellPadding(@paddingV; @paddingH) { padding: @paddingV @paddingH; &.dataList-cell--action, &.dataList-cell--link { padding: 0; a, label, .dataList-blockLink { padding: @paddingV @paddingH; } } } .dataList-row { &:hover:not(.dataList-row--noHover):not(.dataList-row--header):not(.is-spHovered), .is-spActive &.is-spChecked { background: fade(@xf-contentHighlightBg, 50%); } .is-spActive &.is-spHovered { background: fade(@xf-contentHighlightBg, 75%); } .is-spActive &:not(.dataList-row--noHover):not(.dataList-row--header):not(.is-spChecked) * { color: @xf-textColorMuted; } &.dataList-row--header { .dataList-cell { .xf-dataListHeader(); .m-adjustDataListCellPadding(@xf-dataListPaddingV/2, @xf-dataListPaddingH); .m-textColoredLinks(); text-align: left; &.dataList-cell--min { text-align: center; } } } &.dataList-row--subSection { .dataList-cell { .xf-dataListSection(); .m-adjustDataListCellPadding(@xf-dataListPaddingV/2, @xf-dataListPaddingH); a { color: inherit; } } &:hover:not(.dataList-row--noHover) .dataList-cell { .xf-dataListSection(background); } } &.dataList-row--note { .dataList-cell { text-align: center; } } &.dataList-row--deleted { .dataList-cell { opacity: .5; } } &.dataList-row--highlighted { font-weight: @xf-fontWeightHeavy; } &.dataList-row--custom { > .dataList-cell:first-child { border-left: @xf-borderSizeFeature solid red; } .dataList-cell--link a { color: red; } } &.dataList-row--parentCustom { > .dataList-cell:first-child { border-left: @xf-borderSizeFeature solid orange; } .dataList-cell--link a { color: orange; } } &.dataList-row--protected { > .dataList-cell:first-child { border-left: @xf-borderSizeFeature solid @xf-borderColorFeature; } } &.is-hidden { display: none; } &.dataList-row--disabled { .dataList-cell--link a { color: @xf-textColorMuted; .m-transition(); } } &.dataList-row--opposite, &.dataList-row--header.dataList-row--opposite { .dataList-cell { text-align: right; &:first-of-type { text-align: left; } } } &.dataList-row--opposite, &.dataList-row--header.dataList-row--opposite { .dataList-cell { text-align: right; &:first-of-type { text-align: left; } } } &.dataList-row--opposite, &.dataList-row--header.dataList-row--opposite { .dataList-cell { text-align: right; &:first-of-type { text-align: left; } } } tbody:last-child &:last-child .dataList-cell { border-bottom: none; } } .dataList-cell { vertical-align: middle; padding: @xf-dataListPaddingV @xf-dataListPaddingH; border-bottom: @xf-borderSize solid @xf-borderColorFaint; &.dataList-cell--main { min-width: 180px; } &.dataList-cell--minWidth { min-width: 17vw; min-width: ~"min(17vw, 250px)"; } &.dataList-cell--link, &.dataList-cell--action { padding: 0; } &.dataList-cell--alt, &.dataList-cell--action { background: @xf-contentAltBg; } &.dataList-cell--highlighted { background: @xf-contentHighlightBg; } &.dataList-cell--separated { border-left: @xf-borderSize solid @xf-borderColorFaint; } &.dataList-cell--min, &.dataList-cell--action, &.dataList-cell--iconic, &.dataList-cell-fa { width: 1%; white-space: nowrap; word-wrap: normal; text-align: center; } &.dataList-cell--number { text-align: right; } &.dataList-cell--number { text-align: right; } &.dataList-cell--action { font-size: @xf-fontSizeSmaller; } &.dataList-cell--action, &.dataList-cell--link { cursor: pointer; text-decoration: none; &.dataList-cell--alt:hover, &.dataList-cell--action:hover { background: @xf-contentHighlightBg; } a, label, .dataList-blockLink { padding: @xf-dataListPaddingV @xf-dataListPaddingH; display: block; height: 100%; text-decoration: none; cursor: pointer; } input { cursor: pointer; } } &.dataList-cell--action a:not(.iconic) { // padding: @xf-dataListPaddingV @xf-dataListPaddingH * 2; } &.dataList-cell--iconic, &.dataList-cell--fa { padding: 0; font-size: 125%; min-width: 2.5em; position: relative; text-align: center; } &.dataList-cell--iconic { > a.iconic > i { .iconicIcon(false); } > .iconic { position: absolute; // fill the cell top: 0; left: 0; right: 0; bottom: 0; > i { &:before, &:after { left: 50%; margin-left: -.5em; // half of icon width top: 50%; margin-top: -.5em; // half of icon height } } > input[type=checkbox] + i { &:before, &:after { margin-top: -.7em; margin-left: -.4375em; // half of .fa-check-square width } } > input[type=radio] + i { &:before, &:after { margin-top: -.7em; margin-left: -.5em; // half of .fa-check-square width } } &.iconic--toggle > input[type=checkbox] + i { &:before { .m-faContent(@fa-var-toggle-off, 1.125em); } &:after { .m-faContent(@fa-var-toggle-on, 1.125em); } &:before, &:after { font-size: 120%; margin-top: -.7em; margin-left: -.5625em; // half of .fa-toggle-on width } } &.iconic--delete > i { &:before { .m-faContent(@fa-var-trash-alt, .875em); } &:before, &:after { margin-top: -.7em; margin-left: -.4375em; // half of .fa-trash-alt width } } } } &.dataList-cell--image { padding: 0; a { padding: 0; } img, .dataList-imagePlaceholder { display: block; margin: auto; font-size: 30px; } } &.dataList-cell--imageSmall { img, .dataList-imagePlaceholder { height: 41px; max-width: 41px; line-height: 41px; } .avatar { .m-avatarSize(41px); border-radius: 2px; } } &.dataList-cell--imageSmallWide { img, .dataList-imagePlaceholder { height: 41px; max-width: 82px; line-height: 41px; } .avatar { .m-avatarSize(41px); border-radius: 0; } } &.dataList-cell--imageMedium { img, .dataList-imagePlaceholder { height: 54px; max-width: 54px; line-height: 54px; } .avatar { .m-avatarSize(54px); border-radius: 0; } } &.dataList-cell--imageMediumWide { img, .dataList-imagePlaceholder { height: 54px; max-width: 108px; line-height: 54px; } .avatar { .m-avatarSize(54px); border-radius: 0; } } &.dataList-cell--responsiveMenuTrigger, &.dataList-cell--fauxResponsiveMenuTrigger { display: none; } &.dataList-cell--breakWord { word-break: break-word; } &.dataList-cell--hint, .dataList-row--subSection &.dataList-cell--hint { text-align: right; font-size: @xf-fontSizeSmaller; color: @xf-textColorMuted; } // create ten depth classes for the appearance of nested items .depthLoop(@i) when (@i <= 10) { &.dataList-cell--d@{i} { text-indent: (@i - 1) * 25px; } .depthLoop(@i + 1); } .depthLoop(1); .is-match { text-decoration: underline; color: red; } @media (max-width: @xf-responsiveMedium) { &.dataList-cell--responsiveMenuItem, &.dataList-cell--fauxResponsiveMenuItem { display: none !important; } &.dataList-cell--responsiveMenuTrigger, &.dataList-cell--fauxResponsiveMenuTrigger { display: table-cell; } } } .dataList-imagePlaceholder { &:after { content: '?'; } } .dataList-mainRow, .dataList-textRow, .dataList-subRow { width: 0; min-width: 100%; line-height: 1.4; max-height: 1.4em; overflow: hidden; white-space: nowrap; word-wrap: normal; text-overflow: ellipsis; &:empty { display: none; } } .dataList-mainRow { font-weight: @xf-fontWeightHeavy; .dataList-row--subSection & { font-weight: @xf-fontWeightNormal; } } .dataList-secondRow { display: block; font-size: @xf-fontSizeSmallest; } .dataList-hint, .dataList-subRow { color: @xf-textColorMuted; font-size: @xf-fontSizeSmaller; font-weight: @xf-fontWeightNormal; } .dataList-hint { display: inline; } .dataList-row--footer .dataList-cell { // note that this is applied as a cell style which has higher priority than the row styles normally applied padding: @xf-dataListPaddingV/2 @xf-dataListPaddingH; border-bottom: none; .xf-dataListFooter(); } .dataList--responsive { .dataList-table, tbody, thead, tfoot { display: block; } .dataList-row { display: block; &.dataList-row--headerResponsive { display: none; } } .dataList-cell { display: block; width: auto; &[data-cell-label] { display: flex; align-items: center; > * { min-width: 0; text-align: right; } &:before { display: table-cell; content: attr(data-cell-label) "{$xf.language.label_separator}"; padding-right: @xf-dataListPaddingH; margin-right: auto; word-break: normal; white-space: normal; text-align: left; } > .input:first-child:last-child { display: inline; } a { // commonly a URL, but needed to prevent a potential overflow min-width: 0; } } &.dataList-cell--iconic { &:not([data-cell-label]):before { content: ""; display: inline-block; height: 1em; } padding: @xf-dataListPaddingV @xf-dataListPaddingH; } &.dataList-cell--link, &.dataList-cell--action { &[data-cell-label]:before { padding: @xf-dataListPaddingV @xf-dataListPaddingH; } } &.dataList-cell--iconic, &.dataList-cell--fa { display: table-cell; width: 1%; } &.dataList-cell--iconic[data-cell-label] { display: flex; width: auto; font-size: 100%; .iconic { position: relative; } } } .dataList-row:not(.dataList-row--header):not(.dataList-row--subSection) { border-bottom: @xf-borderSize solid @xf-borderColorLight; .dataList-cell { border-bottom: none; } } tbody:last-child .dataList-row:not(.dataList-row--header):not(.dataList-row--subSection):last-child { border-bottom: none; } .dataList-mainRow, .dataList-textRow, .dataList-subRow { width: auto; min-width: 0; } }]]>

</template>


-<template title="core_filter.less" version_string="2.2.0 Beta 4" version_id="2020034" addon_id="XF" type="public">

<![CDATA[// ##################### FILTERING ##################### .filterBlock { padding: @xf-paddingMedium; font-size: @xf-fontSizeSmaller; float: right; .xf-contentBase(); .xf-blockBorder(); border-radius: @xf-blockBorderRadius; .m-clearFix(); .filterBlock-input { width: 150px; display: inline; font-size: @xf-fontSizeSmaller; &.filterBlock-input--small { width: 100px; } } select.filterBlock-input { width: auto; } } .quickFilter { position: relative; .input { width: 180px; font-size: @xf-fontSizeSmaller; } label { font-size: @xf-fontSizeSmaller; } input[type=checkbox] { .m-checkboxAligner(); } .js-filterClear { color: @controlColor; &:hover { color: @controlColor--hover; } &:before { .m-faBase(); .m-faContent(@fa-var-times); } } } .filterBar { .m-clearFix(); } .filterBar-filters { .m-listPlain(); display: inline; > li { display: inline; } } .filterBar-filterToggle { display: inline-block; text-decoration: none; color: inherit; padding: 1px 8px; border-radius: @xf-borderRadiusMedium; .m-transition(); &:after { .m-faBase(); font-size: 80%; .m-faContent(" @{fa-var-times}"); opacity: .5; .m-transition(opacity); } &:hover { text-decoration: none; &:after { opacity: 1; } } } .filterBar-filterToggle-label { opacity: .75; } .filterBar-menuTrigger { float: right; white-space: nowrap; border-radius: @xf-borderRadiusMedium; text-decoration: none; padding: 1px 5px; .xf-uix_buttonSmall(); &:after { .m-menuGadget(); } } @media (max-width: @xf-responsiveMedium) { .filterBar-filterToggle-label { display: none; } }]]>

</template>


-<template title="core_formrow.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[// ########################################### FORM ROWS ################################# @_form-labelShiftInput: @xf-input--padding + @xf-borderSize; // technically input border-top-width + padding-top @_form-labelButtonInput: 5px; // technically button border-top-width + padding-top, adjusted for text size differences @_form-elementSpacer: @xf-paddingMedium; .m-formRowBlockStyle() { display: block; > dt, > dd { width: auto; display: block; padding: ((@xf-formRowPaddingV) / 2) @xf-formRowPaddingHOuter @xf-formRowPaddingV; } > dt { background: none; border: none; text-align: left; padding-bottom: 0; .formRow-hint { display: inline; } } &.formRow--input, &.formRow--button { > dt { padding-top: ((@xf-formRowPaddingV) / 2); } } > dd { padding-top: ((@xf-formRowPaddingV) / 2); } > dd > .inputChoices:first-child { padding-top: 0; } } .formRow--button li:not(:last-child) {margin-right: 8px;} .formRow { display: table; table-layout: fixed; width: 100%; margin: 0; position: relative; > dt, > dd { display: table-cell; vertical-align: top; margin: 0; } > dt { border-right: @xf-borderSize solid transparent; .xf-formLabel(); width: @xf-formLabelWidth; padding: @xf-formRowPaddingV @xf-formRowPaddingHInner @xf-formRowPaddingV @xf-formRowPaddingHOuter; } > dd { width: (100% - @xf-formLabelWidth); padding: @xf-formRowPaddingV @xf-formRowPaddingHOuter @xf-formRowPaddingV @xf-formRowPaddingHInner; } &.formRow--input > dt { padding-top: (@xf-formRowPaddingV + @_form-labelShiftInput); } &.formRow--button > dt { padding-top: (@xf-formRowPaddingV + @_form-labelButtonInput); } &.formRow--inputLabelPair > dt { padding-top: (@xf-formRowPaddingV * 2); } &.formRow--valueToEdge > dd { padding-left: 0; padding-right: 0; } &.formRow--noValuePadding > dd { padding: 0; } &.formRow--fullWidth { .m-formRowBlockStyle(); & + .formRow, .formRow + &, & + * > .formRow:first-of-type, // allows formRows to be wrapped .formRow + * > &:first-of-type // in a single-depth grouping element { border-top: @xf-borderSize solid @xf-borderColorLight; } &.formRow--noLabel { > dt { display: none; } > dd { padding-top: @xf-formRowPaddingV; } } & + .formRow--mergePrev, & + * > .formRow:first-of-type.formRow--mergePrev, &.formRow--mergeNext + &, &.formRow--mergeNext + * > &:first-of-type { border-top: 0; > dt { padding-top: 0; } } &.formRow--noGutter { > dt, > dd { padding-left: 0; padding-right: 0; } } &.formRow--noPadding { > dt, > dd { padding: 0; } } &.formRow--noTopPadding { > dt, > dd { padding-top: 0; } } &.formRow--noBottomPadding { > dt, > dd { padding-bottom: 0; } } &.formRow--noPadding + &, &.formRow--noPadding + * > &:first-of-type { > dt { padding-top: @xf-formRowPaddingV; } } } &.formRow--limited { display: none; } &.formRow--inputMultiLine > dd { > .input, > .inputGroup { margin-bottom: @_form-elementSpacer; &:last-child { margin-bottom: 0; } } } .formRow-label { .m-appendColon(); } &.formRow--noColon .formRow-label:after { content: ""; } .formRow-explain { margin: @_form-elementSpacer 0 0; .m-formElementExplain(); &:first-child { margin: 0; font-size: inherit; } } &.formRow--explainOffset .formRow-explain { margin-top: (@_form-elementSpacer) * 2; } .formRow-hint { display: block; font-style: normal; .xf-formHint(); .m-textColoredLinks(); .formRow-hint-featured { display: block; //font-weight: @xf-fontWeightHeavy; color: @xf-textColorFeature; } } + .formInfoRow { border-top: @xf-borderSize solid @xf-borderColorLight; } @media (max-width: @xf-formResponsive) { .m-formRowBlockStyle(); } .menu & {.m-formRowBlockStyle();} } .formButtonGroup { display: flex; flex-wrap: wrap; margin-top: @xf-paddingLarge; margin-bottom: -5px; &.formButtonGroup--close { margin-top: 0; } } .formButtonGroup-primary { order: 2; margin-left: auto; margin-bottom: 5px; .formButtonGroup--simple & { order: 1; margin-left: 0; } } .formButtonGroup-extra { order: 1; margin-bottom: 5px; .formButtonGroup--simple & { order: 2; margin-left: @xf-paddingSmall; } } .formInfoRow { padding: @xf-formRowPaddingV @xf-formRowPaddingHOuter; &.formInfoRow--close { padding-top: ((@xf-formRowPaddingV) / 2); padding-bottom: ((@xf-formRowPaddingV) / 2); } &.formInfoRow--noPadding { padding: 0; } &.formInfoRow--confirm { text-align: center; strong { display: block; margin: .5em 0; font-size: @xf-fontSizeLarger; &:last-child { margin-bottom: 0; } } } + .formRow { border-top: @xf-borderSize solid @xf-borderColorLight; } &.u-hidden:not(.is-active) { + .formRow { border-top: none; } } > .blockMessage { &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } } } .formSubmitRow { position: relative; > dt { display: none; } > dd { width: 100%; padding: 0; } &.formSubmitRow--sticky.is-sticky { .formSubmitRow-main { position: fixed; bottom: 0; z-index: @zIndex-2; } .formSubmitRow-bar { box-shadow: 0px -5px 15px fade(black, 15%); @supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) { box-shadow: none; .m-backdropFilter(blur(10px)); } } } &.formSubmitRow--simple, &.formSubmitRow--standalone { > dt { visibility: hidden; } .formSubmitRow-controls { text-align: center; padding-left: 0; margin-left: 0; } } &.formSubmitRow--standalone { .formSubmitRow-bar { border: @xf-borderSize solid @xf-borderColor; border-radius: @block-borderRadius-inner; @media (max-width: @xf-responsiveEdgeSpacerRemoval) { border-radius: 0; border-left: none; border-right: none; } } &.is-sticky { .formSubmitRow-bar { border-bottom: 0; } } } .block-body--collapsible:not(.is-active) + &:not(.formSubmitRow--simple, .formSubmitRow--standalone) { > dt { visibility: hidden; } } } .formSubmitRow-main { position: relative; } .formSubmitRow-bar { position: absolute; top: 0; right: 0; bottom: 0; left: 0; .xf-formSubmitRow(); } .formSubmitRow-controls { position: relative; padding-left: @xf-formLabelWidth; padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingMedium; margin-left: @xf-formRowPaddingHInner; margin-right: @xf-formRowPaddingHOuter; > .button:first-child:last-child { min-width: 120px; } } @media (max-width: @xf-formResponsive) { .formSubmitRow-controls { padding-left: 0; text-align: center; } } .formRowSep { margin: -1px @xf-formRowPaddingHOuter 0; border: none; border-top: @xf-borderSize solid @xf-borderColor; &.formRowSep--noGutter { margin-left: 0; margin-right: 0; } + .formRowSep, &:last-child { display: none; } .block-body > &:first-child { display: none; } } /* -- adds styling to fix forms in modals/dropdowns, such as login -- Added by Ian */ .menu .blocks .block:last-child {margin-bottom: (@xf-elementSpacer / 2);} .menu.menu--structural { .formSubmitRow { dt, dd {padding: 0;} .formSubmitRow-bar {display: none;} .formSubmitRow-controls { padding: 0; display: flex; .button {flex-grow: 1;} } } dl.formRow { padding: @xf-formRowPaddingV @xf-formRowPaddingH; padding-top: 0; &:first-child {padding-top: @xf-formRowPaddingV;} dd, dt {padding: 0;} } .uix_login__registerLink {padding: 0;} .formRow-label {padding-bottom: 5px; display: inline-block;} .blocks-textJoiner {margin: 0;} .menu-footer { border-bottom-left-radius: @xf-menuBorderRadius; border-bottom-right-radius: @xf-menuBorderRadius; } }]]>

</template>


-<template title="core_input.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[// ###################################### INPUTS ########################## @_input-numberWidth: 150px; @_input-numberNarrowWidth: 90px; @_input-textColor: xf-default(@xf-input--color, @xf-textColor); @_input-elementSpacer: @xf-paddingMedium; @_input-checkBoxSpacer: 1.5em; .m-inputReadOnly() { color: mix(xf-default(@xf-input--color, @xf-textColor), xf-default(@xf-inputDisabled--color, @xf-textColorMuted)); background: mix(xf-default(@xf-input--background-color, @xf-contentBg), xf-default(@xf-inputDisabled--background-color, @xf-paletteNeutral1)); } :root { --input-border-heavy: @xf-borderColorHeavy; --input-border-light: @xf-borderColorLight; } .input:focus, .input.is-focused, .inputGroup:focus-within, #XF .fr-box.fr-basic.is-focused, .codeEditor.CodeMirror.CodeMirror-focused { --input-border-heavy: xf-intensify(@xf-borderColorHighlight, 5%); --input-border-light: xf-diminish(@xf-borderColorHighlight, 3%); } .input { .xf-input(); display: block; width: 100%; line-height: @xf-lineHeightDefault; text-align: left; // this will be flipped in RTL word-wrap: break-word; -webkit-appearance: none; -moz-appearance: none; appearance: none; .m-transition(); .m-placeholder({color: fade(@_input-textColor, 40%); }); &:focus, &.is-focused { outline: 0; .xf-inputFocus(); .m-placeholder({color: fade(@_input-textColor, 50%); }); } &[readonly], &.is-readonly { .m-inputReadOnly(); } &[disabled] { .xf-inputDisabled(); } &[type=number], &.input--number { text-align: right; max-width: @_input-numberWidth; &.input--numberNarrow { width: @_input-numberNarrowWidth; } } &.input--date { max-width: @_input-numberWidth; } textarea& { min-height: 0; max-height: 400px; max-height: 75vh; resize: vertical; padding-top: 8px; padding-bottom: 8px; &.input--fitHeight { resize: none; &.input--fitHeight--short { max-height: 200px; max-height: 35vh; } } &.input--code { overflow-x: auto; -ltr-rtl-text-align: left; // force blocks of code back to left align } &.input--maxHeight-300px { max-height: 300px; } .has-js &[rows="1"][data-single-line] { overflow: hidden; resize: none; } .has-js &[rows="1"][data-single-line] { overflow: hidden; resize: none; } } // this makes select inputs consistent across all browsers and OSes select&, &.input--select { padding-right: 1em !important; .m-selectGadgetColor(@_input-textColor); background-size: 1em !important; background-repeat: no-repeat !important; -ltr-background-position: 100% !important; white-space: nowrap; word-wrap: normal; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; overflow-x: hidden; // iOS seems to require this to prevent overflow with long options... overflow-y: auto; // ...and Firefox seems to require this to prevent the above from breaking vertical scroll... &[disabled] { .m-selectGadgetColor(xf-default(@xf-inputDisabled--color, @xf-textColor)); } &[size], &[multiple] { background-image: none !important; padding-right: xf-default(@xf-input--padding, 5px) !important; height: auto; } } &.input--autoSize { width: auto; } &.input--inline { display: inline; width: auto; } &.input--code { font-family: @xf-fontFamilyCode; direction: ltr; //white-space: nowrap; word-wrap: normal; } &.input--title { font-size: @xf-fontSizeLargest; } &.input--avatarSizeS { min-height: @avatar-s; } &.input--passwordHideShow { ::-ms-reveal, ::-ms-clear { display: none !important; } } .m-inputZoomFix(); .fa--inputOverlay + & { padding-left: 2em; } } // Overlay a FontAwesome icon over the start of a text box as a hint to its usem // Use the 'fa' attribute in XF template syntax for xf:textbox, xf:numberbox and xf:textarea .fa--xf.fa--inputOverlay { position: absolute; padding: (xf-default(@xf-input--padding, 0) + 2) xf-default(@xf-input--padding, 0) xf-default(@xf-input--padding, 0); line-height: @xf-lineHeightDefault; color: @xf-input--border-top-color; & + .input { padding-left: xf-default(@xf-input--padding, 0) * 2 + xf-default(@xf-input--font-size, @xf-fontSizeNormal); } } // ############################# NEW ICONIC CONTROLS ###################### @controlColor: xf-default(@xf-buttonPrimary--background-color, @xf-paletteColor4); @controlColor: @xf-textColorMuted; @controlColor--hover: xf-intensify(@controlColor, 25%); .iconicIcon(@setPosition: true) { display: inline-block; min-width: 1em; height: .9em;// prevents some zoom-related issues -ltr-rtl-text-align: left; &:before, &:after { height: .9em;// prevents some zoom-related issues .m-faBase('Pro'; inherit); //.m-transition(opacity, color; @xf-animationSpeed, @xf-animationSpeed / 2); position: absolute; & when (@setPosition = true) { left: 0; top: 0; } opacity: 1; } } .iconic { display: inline-block; position: relative; > input { .m-visuallyHidden(); position: absolute; left: 0; width: auto; height: auto; + i { .iconicIcon(); } & + i:after { opacity: 0; } &:disabled + i:before, &[readonly] + i:before { opacity: .3; } &:disabled:checked + i:after, &[readonly]:checked + i:after { opacity: .3; + i:before { .m-faContent(@fa-var-square, .93em); } &:checked + i:before { .m-faContent(@fa-var-check-square-o, .93em); } } &:checked { & + i:before { opacity: 0; } + i:before { .m-faContent(@fa-var-circle-o, .86em); } &:checked + i:before { .m-faContent(@fa-var-check-circle, .86em); } & + i:after { opacity: 1; } } &:focus + i { &:before, &:after { outline: Highlight solid 2px; -moz-outline-radius: 5px; @media (-webkit-min-device-pixel-ratio: 0) { outline: -webkit-focus-ring-color auto 5px; } } } } // handler for labelled inputs - indent the text away from the control .iconic-label:before { content: ''; display: inline-block; width: @_input-checkBoxSpacer - 1em; // min-width of input > i } &.iconic--hideShow { min-width: 56px; cursor: pointer; > input[type=checkbox] + i { &:before { .m-faContent(@fa-var-eye); } &:after { .m-faContent(@fa-var-eye-slash); } } .iconic-label { font-size: @xf-fontSizeSmall; vertical-align: text-top; } } &.iconic--hiddenLabel .iconic-label:before { display: none; } > input[type=checkbox] + i { &:before { .m-faContent(@fa-var-square, .88em); } &:after { .m-faContent(@fa-var-check-square, .88em); } } > input[type=radio] + i { &:before { .m-faContent(@fa-var-circle, 1em); } &:after { .m-faContent(@fa-var-check-circle, 1em); } } } // Fix position for inputChoices to allow nested indenting .inputChoices > .inputChoices-choice { position: relative; .iconic { position: static; > input + i { position: absolute; left: 0; } &.iconic--noLabel { display: inline; } } // undo the normal indenting of text from checkbox .iconic-label:before { display: none; } } // Basic control colours for common scenarios .formRow, .inputGroup, .inputChoices, .block-footer, .dataList-cell, .message-cell--extra { .iconic, &.dataList-cell--fa > a { > i, svg { color: @controlColor; fill: currentColor; } &:hover > i, &:hover svg { color: @controlColor--hover; fill: currentColor; } } } // ############################# END ICONIC CONTROLS ###################### .u-inputSpacer { margin-top: @_input-elementSpacer; } .inputGroup { display: flex; align-items: stretch; max-width: 100%; .inputGroup-text { flex-grow: 0; display: flex; align-items: center; white-space: nowrap; vertical-align: middle; padding: 0 @xf-paddingMedium; &:first-child { padding-left: 0; } &:last-child { padding-right: 0; } } .inputGroup-splitter { display: inline-block; width: @_form-elementSpacer; flex-shrink: 0; } .input { flex-shrink: 1; min-width: 0; // firefox bug - https://bugzilla.mozilla.org/show_bug.cgi?id=1021913 } .button { flex-shrink: 0; } &:not(.inputGroup--joined) { .input, .button { + .input, + .button { margin-left: @_form-elementSpacer; } } } .inputGroup-label { flex-shrink: 1; width: 100%; padding: 0 0 @xf-paddingMedium; .m-appendColon(); } @media (max-width: @xf-formResponsive) { .input:not(.input--autoSize):not(.input--numberNarrow) { width: 100%; } } .input:not(.input--autoSize):not(.input--numberNarrow) { .menu & {width: 100%;} } &.inputGroup--inline { display: inline-flex; } &.inputGroup--auto { .input { width: auto; } } &.inputGroup--joined { .input { border-radius: 0; &:first-child { border-top-left-radius: @xf-borderRadiusMedium; border-bottom-left-radius: @xf-borderRadiusMedium; border-right: none; } &:last-child { border-top-right-radius: @xf-borderRadiusMedium; border-bottom-right-radius: @xf-borderRadiusMedium; border-left: none; } } .inputGroup-text { .xf-input(border); .xf-input(background); text-align: center; padding: @xf-paddingSmall @xf-paddingMedium; &.inputGroup-text--disabled, &.is-disabled, &[disabled] { .xf-inputDisabled(); a { text-decoration: none; } } &:first-child { border-right: 0; border-top-left-radius: @xf-borderRadiusMedium; border-bottom-left-radius: @xf-borderRadiusMedium; } &:last-child { border-left: 0; border-top-right-radius: @xf-borderRadiusMedium; border-bottom-right-radius: @xf-borderRadiusMedium; } } .input + .inputGroup-text, .input + .input, .inputGroup-text + .input { border-left: @xf-borderSize solid var(--input-border-light); } .inputGroup-text + .inputGroup-text, .inputGroup-text + select.input { border-left: 0; } } } .inputGroup-container > .inputGroup { margin-top: @xf-paddingMedium; &:first-child { margin-top: 0; } } .inputNumber { .input--number { -moz-appearance: textfield !important; &::-webkit-inner-spin-button, &::-webkit-outer-spin-button { margin: 0 !important; -webkit-appearance: none !important; } @media (max-width: @xf-formResponsive) { min-width: auto; max-width: 120px; } .menu & {width: 120px;} } } .inputNumber-button { position: relative; .m-faBase(); color: @controlColor; font-size: 1.0em; font-style: normal !important; line-height: .75em; vertical-align: -15%; width: 45px; justify-content: center; text-align: center; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; &.inputNumber-button--smaller { vertical-align: 0; width: 35px; } .menu & { vertical-align: 0; width: 25px; } &--up::before { .m-faContent(@fa-var-plus, .88em); } &--down::before { .m-faContent(@fa-var-minus, .88em); } .inputGroup.inputGroup--joined & { &:hover, &:active, &:focus { background-color: saturate(xf-intensify(@xf-paletteColor1, 4%), 12%); color: @controlColor--hover; } } .input.input--number[readonly] ~ & { .m-inputReadOnly(); } .input.input--number[disabled] ~ & { cursor: default; .xf-inputDisabled(); } } .inputDate { .inputDate-icon { position: relative; .m-faBase(); color: @xf-linkColor; font-size: 1.0em; font-style: normal !important; line-height: .75em; // vertical-align: -15%; display: inline-flex; cursor: pointer; width: 45px; justify-content: center; text-align: center; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; @media (max-width: @xf-formResponsive) { vertical-align: 0; width: 25px; } .menu & { vertical-align: 0; width: 25px; } &::before { .m-faContent(@fa-var-calendar, .88em); }; } } .inputUploadButton { position: relative; .m-faBase(); color: @controlColor; font-size: 1.0em; font-style: normal !important; line-height: .75em; vertical-align: -15%; width: 45px; justify-content: center; text-align: center; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; .inputGroup.inputGroup--joined & { &:hover, &:active, &:focus { background-color: saturate(xf-intensify(@xf-paletteColor1, 4%), 12%); color: @controlColor--hover; } } &:before { .m-faContent(@fa-var-upload, 1.25em); } input[type="file"] { visibility: hidden; position: absolute; width: 1px; height: 1px; overflow: hidden; left: -1000px; z-index: -1; opacity: 0; } } .inputList { .m-listPlain(); > li { margin-top: @xf-paddingMedium; &:first-child { margin-top: 0; } } } .inputPair { .m-clearFix(); > .input, .inputPair-input { float: right; width: 49%; // fallback width: ~"calc(50% - 2px)"; &:first-child { float: left; } } } .inputPair-container > .inputPair { margin-top: @xf-paddingMedium; &:first-child { margin-top: 0; } } .inputLabelPair { .m-clearFix(); margin: @xf-paddingMedium 0; padding: 0; > dt, > dd { float: left; margin: 0; padding: 0; } > dt { width: 65%; padding-right: @xf-paddingMedium; padding-top: .6em; > label { .m-appendColon(); } } > dd { width: 35%; text-align: right; .input { width: 100%; max-width: none; } } @media (max-width: @xf-responsiveNarrow) { > dt, > dd { width: 50%; } } } .inputChoices { list-style: none; padding: 0; margin: 0; > .inputChoices-choice { margin-bottom: @_input-elementSpacer; padding-left: @_input-checkBoxSpacer; &:last-child { margin-bottom: 0; } > .inputChoices, .inputChoices-spacer { margin-top: @_input-elementSpacer; } } &.inputChoices--noChoice > .inputChoices-choice, .inputChoices-plainChoice { padding-left: 0; } &.inputChoices--inline > .inputChoices-choice { display: inline-block; margin-right: @_input-elementSpacer; margin-bottom: 0; &:last-child { margin-right: 0; } } .inputChoices-label { padding-left: 0; font-size: @xf-fontSizeSmall; color: @xf-textColorMuted; } + .inputChoices:not(.inputChoices--inline) { margin-top: @_input-elementSpacer; } } .inputChoices-group + .inputChoices-group, .inputChoices-choice + .inputChoices-group { margin-top: (@xf-paddingMedium) * 2; } .inputChoices-spacer + .inputChoices { margin-top: @_input-elementSpacer; } .inputChoices-heading { color: @xf-textColorMuted; padding-bottom: (@xf-paddingMedium) / 2; border-bottom: @xf-borderSize solid @xf-borderColorFaint; margin-bottom: @xf-paddingMedium; position: relative; &.inputChoices-heading--checkAll { .iconic { position: static; & > input + i { position: absolute; right: 0; left: auto; width: auto; } } } } .inputChoices-explain { .m-formElementExplain(); &.inputChoices-explain--after { margin-top: @_input-elementSpacer; } } .inputChoices-dependencies { list-style: none; padding: 0; margin: 0; > li { margin-top: @_input-elementSpacer; > label { display: block; padding: @xf-paddingSmall 0; &.iconic--labelled > input + i { margin-left: 0; } } } } .inputValidationError { margin-top: @xf-paddingMedium; padding: @xf-blockPaddingV @xf-blockPaddingH; .xf-blockBorder(); border-radius: @xf-blockBorderRadius; border-left: @xf-borderSizeFeature solid @xf-errorFeatureColor; background: @xf-errorBg; color: @xf-errorColor; .m-textColoredLinks(); .m-hiddenEl(true); &:empty { display: none; } > ul, > ol { margin-top: 0; margin-bottom: 0; } } @media (max-width: @xf-responsiveNarrow) { .input.input--title { font-size: @xf-fontSizeLarge; } }]]>

</template>


-<template title="core_labels.less" version_string="2.0.10" version_id="2001070" addon_id="XF" type="public">

<![CDATA[.label { display: inline-block; padding: 1px .35em; border: 1px solid transparent; border-radius: @xf-borderRadiusMedium; font-size: 80%; line-height: ((@xf-lineHeightDefault) * .9); text-decoration: none; &:hover, a:hover & { text-decoration: none; } &.label--fullSize { font-size: 100%; } &.label--small { font-size: @xf-fontSizeSmall; } &.label--smallest { font-size: @xf-fontSizeSmallest; } // Label variations &.label--hidden { // this has to essentially undo all the adjustments made by .label padding: inherit; border: none; font-size: inherit; line-height: inherit; text-decoration: inherit; &:hover { text-decoration: underline; } } &.label--subtle { .m-labelVariation(@xf-textColorMuted, @xf-contentAltBg); } &.label--primary { .m-labelVariation(white, @xf-uix_prefixPrimary); } &.label--accent { .m-labelVariation(white, @xf-uix_prefixAccent); } &.label--red { .m-labelVariation(white, @xf-uix_prefixRed); } &.label--green { .m-labelVariation(white, @xf-uix_prefixGreen); } &.label--olive { .m-labelVariation(white, @xf-uix_prefixOlive); } &.label--lightGreen { .m-labelVariation(white, @xf-uix_prefixLightGreen); } &.label--blue { .m-labelVariation(black, @xf-uix_prefixBlue); } &.label--royalBlue { .m-labelVariation(white, @xf-uix_prefixRoyalBlue); } &.label--skyBlue { .m-labelVariation(white, @xf-uix_prefixRedSkyBlue); } &.label--gray { .m-labelVariation(white, @xf-uix_prefixGray); } &.label--silver { .m-labelVariation(black, @xf-uix_prefixSilver); } &.label--yellow { .m-labelVariation(black, @xf-uix_prefixYellow); } &.label--orange { .m-labelVariation(black, @xf-uix_prefixOrange); } &.label--error { .m-labelVariation(#c84448, #fde9e9, #c84448); } } .label-append { display: inline-block; } .labelLink, .labelLink:hover { text-decoration: none; }]]>

</template>


-<template title="core_list.less" version_string="2.2.0 Beta 5" version_id="2020035" addon_id="XF" type="public">

<![CDATA[// ##################################### LISTS ################## .pairs { padding: 0; margin: 0; overflow: hidden; line-height: 1.7; &.pairs--plainLabel { > dt { color: inherit; } } &.pairs--spaced + .pairs { margin-top: @xf-paddingMedium; } &.pairs--noColon { > dt { &:after { content: ""; } } } &.pairs--rightLabel { > dt { text-align: right; } } > dt { padding: 0; margin: 0; color: @xf-textColorMuted; .m-appendColon(); } > dd { padding: 0; margin: 0; } &.pairs--inline { display: inline; > dt, > dd { display: inline; } } &.pairs--columns { display: table; table-layout: fixed; width: 100%; > dt, > dd { display: table-cell; } > dt { width: 50%; padding-right: @xf-paddingMedium; } &.pairs--fixedSmall > dt { width: 200px; } &.pairs--fluidSmall > dt { width: 25%; } &.pairs--fluidHuge > dt { width: 70%; } @media (max-width: 500px) { display: block; > dt, > dd { display: block; } &.pairs > dt // the .pairs repetition is to increase specificity to override all fixed/fluid options { width: auto; padding-right: 0; } & + .pairs { margin-top: @xf-paddingMedium; } } } &.pairs--justified { // .m-clearFix(); display: flex; justify-content: space-between; > dt { float: left; max-width: 100%; margin-right: @xf-paddingMedium; flex-shrink: 0; } > dd { float: right; text-align: right; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } &.pairs--rows { display: inline-table; margin-right: @xf-paddingMedium; &.pairs--rows--centered { > dt, > dd { text-align: center; } } &:last-of-type { margin-right: 0; } > dt { display: table-row; font-size: 80%; &:after { content: ''; // display: none; } } > dd { display: table-row; } } } .pairWrapper { &.pairWrapper--spaced { .pairs { margin-top: @xf-paddingMedium; &:first-child { margin-top: 0; } } } } .pairJustifier { display: flex; flex-wrap: wrap; justify-content: space-between; margin-right: -5px; margin-bottom: -5px; .pairs.pairs--rows { margin-right: 5px; margin-bottom: 5px; } } .listPlain { .m-listPlain(); } .listInline { .m-listPlain(); &.listInline--selfInline, &.listInline--customField { display: inline; } > li { display: inline; margin: 0; padding: 0; } &.listInline--block { > li { display: inline-block; } } &.listInline--comma, &.listInline--customField { > li:after { content: "{$xf.language.comma_separator}"; } > li:last-child:after { content: ""; display: none; } } &.listInline--bullet { > li:before { content: "\00B7\20"; } > li:first-child:before { content: ""; display: none; } } } .listHeap { .m-listPlain(); margin: -4px; > li { margin: 0; padding: 0; display: inline-block; margin: 4px; &:last-child { margin-right: 0; } } } .listColumns { .m-columns(2, @xf-responsiveNarrow); > li { .m-columnBreakAvoid(); position: relative; // workaround Chrome quirk with hover triggers in visitor menu } &.listColumns--spaced { > li { margin-bottom: .5em; } } &.listColumns--narrow { .m-columns(2); } &.listColumns--together { -moz-column-gap: 0; -webkit-column-gap: 0; column-gap: 0; } &.listColumns--collapsed { display: inline-block; } &.listColumns--3 { .m-columns(3); @media (max-width: @xf-responsiveWide) { .m-columns(2, @xf-responsiveNarrow); } } &.listColumns--4 { .m-columns(4); @media (max-width: @xf-responsiveWide) { .m-columns(2, @xf-responsiveNarrow); } } } .textHighlight { font-style: normal; font-weight: @xf-fontWeightHeavy; &.textHighlight--attention { color: @xf-textColorAttention; } }]]>

</template>


-<template title="core_menu.less" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![CDATA[// ###################################### MENUS ###################### @_menu-arrowSize: 8px; @_menu-edgePadding: @xf-pageEdgeSpacer; @_menu-closePaddingH: @xf-paddingLarge; @_menu-paddingH: 8px; @_menu-paddingV: 8px; .menuTrigger { cursor: pointer; &:after { .m-menuGadget(); } } .menuOutsideClicker { position: fixed; display: none; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; // above non set stuff but below anything intentionally set &.is-active { display: block; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } } .menu { .m-transitionFade(); @media (max-width: @xf-responsiveNarrow) { width: 90% !important; max-width: 90% !important; left: 0; right: 0; margin-left: auto; margin-right: auto; } position: absolute; z-index: @zIndex-2; margin: @_menu-arrowSize 0 0; min-width: 240px; max-width: 320px; border-radius: @xf-menuBorderRadius; // .m-dropShadow(0, 5px, 10px, 0, .35); box-shadow: @xf-uix_elevation2; .xf-contentBase(); .block-container { box-shadow: none; // border-radius: 0; margin: 0; border: none; padding: 0; } &.menu--structural { margin-top: 0; // when menus nudge up against structure, the joined corner should not be radiused &.menu--left { // border-top-left-radius: 0; } &.menu--right { // border-top-right-radius: 0; } } &.menu--superWide { width: 75%; max-width: calc(~'100% - @{xf-pageEdgeSpacer}'); } &.menu--veryWide { width: 500px; max-width: calc(~'100% - @{xf-pageEdgeSpacer}'); } &.menu--wide { width: 350px; max-width: calc(~'100% - @{xf-pageEdgeSpacer}'); } &.menu--medium { width: 300px; max-width: calc(~'100% - @{xf-pageEdgeSpacer}'); } &.menu--potentialFixed { z-index: @zIndex-4; } .menu-minorHeader--small { padding: @_menu-paddingV @_menu-paddingH; font-size: calc(@xf-menu--font-size + 1); } // fix overflow when menu padding is less than padding medium for alert trigger .alertToggler { margin-right: -@_menu-paddingH; } } .menu-arrow { position: absolute; top: 0; width: 0; height: 0; border: 0 solid transparent; display: none; top: -@_menu-arrowSize; -ltr-rtl-left: 50%; -ltr-rtl-margin-left: -@_menu-arrowSize; .m-triangleUp(@xf-menuFeatureBorderColor, @_menu-arrowSize); .menu--structural & { top: -@_menu-arrowSize; } .menu--up & { display: none; } } .menu-content { margin: 0; padding: 0; list-style: none; text-align: left; .xf-menu(); border-radius: @xf-menuBorderRadius; // border-top: @xf-borderSizeFeature solid @xf-menuFeatureBorderColor; // when menus nudge up against structure, the joined corner should not be radiused .menu--structural.menu--left & { // border-top-left-radius: 0; } .menu--structural.menu--right & { // border-top-right-radius: 0; } // potentially fixed menus .menu--potentialFixed & { overflow: auto; max-height: 450px; max-height: 80vh; } > :last-child { border-bottom-left-radius: @xf-menuBorderRadius; border-bottom-right-radius: @xf-menuBorderRadius; } } .menu--pageJump { width: auto; min-width: 0; } .menu-header { padding: @_menu-paddingH; margin: 0; font-weight: @xf-fontWeightNormal; text-decoration: none; .xf-menuHeader(); .m-clearFix(); .m-hiddenLinks(); &.menu-header--small { font-size: @xf-fontSizeNormal; } .menu-desc { color: fade(@xf-menuHeader--color, 70); .m-textColoredLinks(); } } .menu-desc { display: block; font-size: @xf-fontSizeSmaller; font-weight: @xf-fontWeightNormal; } .menu-tabHeader { padding: 0; margin: 0; font-weight: @xf-fontWeightNormal; text-decoration: none; .xf-menuTabHeader(); .m-tabsTogether(xf-default(@xf-menuTabHeader--font-size, @xf-fontSizeNormal)); .tabs-tab { padding: @xf-blockPaddingV @_menu-paddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature); border-bottom: @xf-borderSizeFeature solid transparent; &:hover { color: @xf-blockMinorTabHeaderSelected--color; } &.is-active { .xf-menuTabHeaderSelected(); } } .hScroller-action { .m-hScrollerActionColorVariation( xf-default(@xf-menuTabHeader--background-color, transparent), xf-default(@xf-menuTabHeader--color, ~""), xf-default(@xf-blockMinorTabHeaderSelected--color, ~"") ); } } .menu-scroller { overflow: auto; max-height: 300px; max-height: 60vh; -webkit-overflow-scrolling: touch; .menu-row + & { border-top: @xf-borderSize solid @xf-borderColorLight; } } .menu-row { margin: 0; padding: @_menu-paddingH; .m-clearFix(); // causing issues when menu-row is not the first item // &:not(:first-of-type):not(.menu-row--separated) {padding-top: 0;} &.menu-row--alt { .xf-contentAltBase(); } &.menu-row--highlighted { .xf-contentHighlightBase(); } &.menu-row--close { padding-left: @_menu-closePaddingH; padding-right: @_menu-closePaddingH; } &.menu-row--separated { + .menu-row { border-top: @xf-borderSize solid @xf-borderColorLight; } } &.menu-row--clickable:hover { background: @xf-contentHighlightBg; } &:empty { padding: 0; } } .menu-linkRow { display: block; padding: @_menu-paddingV @_menu-paddingH; // text-indent: @_menu-paddingH; border-left: @xf-borderSizeFeature solid transparent; .xf-menuLinkRow(); &.menu-linkRow--alt { .xf-contentAltBase(); } &.is-selected, &:hover, &:focus { .xf-menuLinkRowSelected(); // border-left-color: fade(@xf-borderColorFeature, 50%); &:focus { outline: 0; } &.is-selected { border-left-color: @xf-borderColorFeature; } } &.is-hidden { display: none; } i[aria-hidden=true] { font-size: @xf-fontSizeSmall; display: inline-block; width: 23px; // about 1.75em at this font size & ~ .menu-linkRow-hint { padding-left: 23px; } } &:hover i[aria-hidden=true]:after { color: @xf-linkHoverColor; } } .menu-linkRow-hint { font-style: inherit; font-size: @xf-fontSizeSmallest; color: @xf-textColorMuted; display: block; } .menu-separator { margin: 0 (@_menu-paddingH) / 2; padding: 0; border: none; border-top: @xf-borderSize solid @xf-borderColorLight; &.menu-separator--hard { margin: 0; } & + .menu-separator, &:last-child { display: none; } } .menu-footer { padding: @_menu-paddingV @_menu-paddingH; .xf-menuFooter(); .m-clearFix(); &.menu-footer--close { padding-left: @_menu-closePaddingH; padding-right: @_menu-closePaddingH; } &:not(.menu-footer--split) { .menu-footer-counter { float: left; } .menu-footer-controls { float: right; .button {.xf-uix_buttonSmall();} } } &.menu-footer--split { display: flex; align-items: center; .menu-footer-main, .menu-footer-counter { flex-grow: 1; } .menu-footer-select:not(:last-child) { margin: 0 1em; } .menu-footer-opposite, .menu-footer-controls { margin-left: auto; } } }]]>

</template>


-<template title="core_offcanvas.less" version_string="2.2.0 Beta 4" version_id="2020034" addon_id="XF" type="public">

<![CDATA[// ################################## OFF CANVAS MENU ######################### @_offCanvas-animationLength: @xf-animationSpeed; .offCanvasMenu { display: none; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: @zIndex-5; .m-transition(none; @_offCanvas-animationLength); // needed to keep the children displayed through animation .m-transform(scale(1)); // forces instant repaint in iOS // every tap on iOS causes a brief highlight, disable it for off canvas menu // then restore it for some tappable elements to retain it -webkit-tap-highlight-color: rgba(0, 0, 0, 0); pointer-events: none; > * {pointer-events: auto;} a { -webkit-tap-highlight-color: initial; } &.is-transitioning { display: block; } &.is-active { display: block; } .offCanvasMenu-hidden { display: none; } .offCanvasMenu-shown { display: block; } .offCanvasMenu-closer { float: right; cursor: pointer; text-decoration: none; -webkit-tap-highlight-color: initial; padding: @xf-paddingLarge; margin: -@xf-paddingLarge; &:hover { text-decoration: none; } &:after { .m-faBase(); .m-faContent(@fa-var-times, .79em); } } .block-container, .blockMessage { margin-left: 0; margin-right: 0; border-radius: 0; border-left: none; border-right: none; } } .offCanvasMenu-shown { display: none; } .offCanvasMenu-backdrop { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, .25); opacity: 0; .m-transition(all; @_offCanvas-animationLength; ease-in-out); .is-active & { opacity: 1; } } .offCanvasMenu-content { position: relative; width: 280px; max-width: 85%; height: 100%; overflow: auto; .m-transition(all; @_offCanvas-animationLength; ease-in-out); -webkit-overflow-scrolling: touch; .xf-uix_canvas(); .has-os-ios & { // accounts for iOS deadzone in Safari padding-bottom: 44px; } & when(@ltr) { .m-dropShadow(2px, 0, 5px, 0, .25); .m-transform(translateX(-280px)); } & when(@rtl) { .m-dropShadow(-2px, 0, 5px, 0, .25); .m-transform(translateX(280px)); } .is-active & { .m-transform(translateX(0)); } .p-nav-content { margin-bottom: 96px; } } .offCanvasMenu-header { padding: @xf-paddingLarge; margin: 0; font-size: @xf-fontSizeLarge; font-weight: @xf-fontWeightHeavy; background-color: @xf-contentHighlightBg; .m-clearFix(); .m-hiddenLinks(); &.offCanvasMenu-header--separated { margin-bottom: @xf-paddingLarge; } } .offCanvasMenu-row { padding: @xf-paddingLarge; } .offCanvasMenu-separator { padding: 0; margin: 0; border: none; border-top: 1px solid transparent; } .offCanvasMenu-link { display: block; padding: @xf-paddingLarge; font-size: @xf-fontSizeLarge; text-decoration: inherit; &:hover { text-decoration: inherit; } &.offCanvasMenu-link--splitToggle { position: relative; text-decoration: inherit; &:before { content: ''; position: absolute; left: 0; top: (@xf-paddingLarge - 4px); bottom: (@xf-paddingLarge - 4px); width: 0; border-left: 1px solid currentColor; } &:after { .m-faBase(); .m-faContent(@fa-var-chevron-down, .88em); } &.is-active:after { .m-faContent(@fa-var-chevron-up, .88em); } } } .offCanvasMenu-linkHolder { display: flex; &.is-selected { a { color: inherit; } .offCanvasMenu-link:first-child { padding-left: @xf-paddingLarge; } } .offCanvasMenu-link { flex-grow: 1; &.offCanvasMenu-link--splitToggle { flex-grow: 0; } &:hover { background: none; } } } .offCanvasMenu-list { .m-listPlain(); > li { border-top: @xf-borderSize solid transparent; } &:first-child > li:first-child { border-top: none; } } .offCanvasMenu-subList { .m-listPlain(); .m-transitionFadeDown(); padding-bottom: @xf-paddingLargest; .offCanvasMenu-link { padding-left: @xf-paddingLarge; padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingMedium; font-size: @xf-fontSizeSmall; } } .offCanvasMenu-installBanner { display: flex; justify-content: space-between; align-items: center; padding: @xf-paddingLarge @xf-paddingMedium; font-size: @xf-fontSizeLarge; } .offCanvasMenu--blocks { .offCanvasMenu-content { // .xf-pageBackground(); // color: @xf-textColor; } .offCanvasMenu-header { color: @xf-textColorEmphasized; background: @xf-contentHighlightBg; border-bottom: @xf-borderSize solid @xf-borderColorHeavy; } .offCanvasMenu-separator { border-top-color: @xf-borderColor; } .offCanvasMenu-list > li { border-top-color: @xf-borderColor; } } .offCanvasMenu--nav { .offCanvasMenu-content { // .xf-publicNav(); font-size: @xf-fontSizeSmall; display: flex; flex-direction: column; a { color: inherit; } } .offCanvasMenu-header { background: @xf-publicHeaderAdjustColor; border-bottom: @xf-borderSize solid fadein(@xf-publicHeaderAdjustColor, 10%); .xf-uix_canvasHeader(); } .offCanvasMenu-list { border-bottom: @xf-borderSize solid fadein(@xf-publicHeaderAdjustColor, 10%); a { .xf-uix_canvasNavItem(); border-radius: 0; &:hover {.xf-uix_canvasNavItemHoverColor();} } } .offCanvasMenu-separator { border-top-color: fadein(@xf-publicHeaderAdjustColor, 10%); } .offCanvasMenu-link.offCanvasMenu-link--splitToggle:before { border-left-color: fadein(@xf-publicHeaderAdjustColor, 1%); } .offCanvasMenu-linkHolder { text-decoration: none; &:hover { // background: fadeout(@xf-publicHeaderAdjustColor, 6%); } &.is-selected { // .xf-publicNavSelected(no-border, no-border-radius); a, .offCanvasMenu-link {.xf-uix_canvasNavItemActive();} .offCanvasMenu-link.offCanvasMenu-link--splitToggle:before { // border-left-color: fade(xf-default(@xf-publicNavSelected--color, transparent), 20%); } } } .offCanvasMenu-subList { background: @xf-publicHeaderAdjustColor; a { .xf-uix_canvasNavSubItem(); &:hover {.xf-uix_canvasNavItemHoverColor();} } .offCanvasMenu-link:hover { text-decoration: none; // background: @xf-publicHeaderAdjustColor; } } .offCanvasMenu-list > li { border-top-color: @xf-publicHeaderAdjustColor; } .offCanvasMenu-installBanner { margin-top: auto; background: @xf-publicHeaderAdjustColor; border-top: @xf-borderSize solid fadein(@xf-publicHeaderAdjustColor, 10%); } }]]>

</template>


-<template title="core_overlay.less" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[// #################################### OVERLAYS ################################ .overlay-container { display: none; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: @zIndex-9; background: @xf-overlayMaskColor; -webkit-overflow-scrolling: touch; opacity: 0; .m-transition(opacity); @media (max-width: @xf-responsiveNarrow) { .overlay-title { position: sticky; top: 0; } } &.is-transitioning { display: block; } &.is-active { display: block; opacity: 1; @media (max-width: @xf-responsiveNarrow) { transform: translatey(0); } } } .overlay { position: relative; margin: 40px auto 10px; margin-top: @xf-overlayTopMargin; width: 100%; max-width: 800px; background: @xf-contentBg; color: @xf-textColor; .xf-blockBorder(); border-radius: @xf-blockBorderRadius; .m-dropShadow(0, 5px, 15px, 0, .5); outline: none; > .overlay-title:first-child, .overlay-firstChild { border-top-left-radius: @xf-blockBorderRadius; border-top-right-radius: @xf-blockBorderRadius; } > .overlay-content > *:last-child, .overlay-lastChild { border-bottom-left-radius: @xf-blockBorderRadius; border-bottom-right-radius: @xf-blockBorderRadius; } .block-container {box-shadow: none;} } @media (max-width: @xf-responsiveWide) { .overlay { max-width: calc(~'100% - 20px'); } } @media (max-width: @xf-responsiveNarrow) { .overlay { max-width: 100%; margin: 0; margin-top: auto; max-height: 75vh; border-bottom-left-radius: 0; border-bottom-right-radius: 0; overflow-y: scroll; position: fixed; bottom: 0; top: auto; transform: translatey(100%); transition: transform ease-in .25s; .block-container { margin-left: 0; margin-right: 0; } .is-active & { transform: translatey(0%); } .overlay-title {z-index: 1;} .formSubmitRow--sticky { position: sticky; bottom: 0; } } } .overlay-title { .m-clearFix(); display: none; margin: 0; font-weight: @xf-fontWeightNormal; .xf-overlayHeader(); .overlay & { display: block; } } .overlay-titleCloser { float: right; cursor: pointer; margin-left: 5px; text-decoration: none; // opacity: .5; .m-transition(); &:after { .m-faBase(); .m-faContent(@fa-var-times); } &:hover { text-decoration: none; opacity: 1; } } .overlay-content { .m-clearFix(); } // when displaying a modal, prevent scrolling on the main content but allow it on the overlay body.is-modalOpen { overflow: hidden !important; .overlay-container, .offCanvasMenu { overflow-y: scroll !important; } } @media (max-width: @xf-responsiveNarrow) { .overlay-title { font-size: @xf-fontSizeLarger; } } // ############################### OVERLAY/BLOCK NESTING ############################## .block-container > .tabPanes > li, .block-container > .block-body, .block-container > .block-body > .block-row, .overlay-content { > .blocks > .block > .block-container, > .block > .block-container, > .blockMessage { margin-left: 0; margin-right: 0; border-radius: @xf-blockBorderRadius; // restore the radius that might be removed for some viewports as we're within the overlay border-left: none; border-right: none; } > .blocks > .block:first-child, > .block:first-child, > .blockMessage:first-child { margin-top: 0; .block-outer:not(.block-outer--after) { border-bottom: @xf-borderSize solid @xf-borderColorLight; padding: @xf-blockPaddingV; } } > .blocks > .block:last-child, > .block:last-child, > .blockMessage:last-child { margin-bottom: 0; .block-outer.block-outer--after { border-top: @xf-borderSize solid @xf-borderColorLight; padding: @xf-blockPaddingV; } } > .blocks > .block:first-child > .block-container, > .block:first-child > .block-container, > .blockMessage:first-child { border-top: none; } > .blocks > .block:last-child > .block-container, > .block:last-child > .block-container, > .blockMessage:last-child { border-bottom: none; } > .block:not(:first-child) > .block-container, > .blockMessage:not(:first-child) { .m-borderTopRadius(0); } > .blocks > .block:not(:last-child) > .block-container, > .block:not(:last-child) > .block-container, > .blockMessage:not(:last-child) { .m-borderBottomRadius(0); } } .overlay-content { > .blocks > .block > .block-container, > .block > .block-container, > .blockMessage { .m-borderTopRadius(0); } > .blocks > .block > .block-container, > .block > .block-container { > :first-child { .m-borderTopRadius(0); } > .block-body:first-child > .formRow:first-child { > dt { border-top-left-radius: 0; } > dd { border-top-right-radius: 0; } } > .dataList:first-child { tbody:first-child .dataList-row:first-child, thead:first-child .dataList-row:first-child { > .dataList-cell:first-child { border-top-left-radius: 0; } > .dataList-cell:last-child { border-top-right-radius: 0; } } } } > .block:last-child > .block-container > .formSubmitRow:not(.is-sticky):last-child .formSubmitRow-bar { border-bottom-left-radius: @block-borderRadius-inner; border-bottom-right-radius: @block-borderRadius-inner; } }]]>

</template>


-<template title="core_pagenav.less" version_string="2.2.0 Beta 4" version_id="2020034" addon_id="XF" type="public">

<![CDATA[// ####################################### PAGE NAVIGATION ######################## @_page-paddingV: xf-default(@xf-buttonBase--padding-top, 6px); @_page-paddingH: 8px; @_page-paddingHSimple: 10px; .pageNavWrapper {} .pageNav {display: flex;} .pageNav-jump--next {margin-left: 6px;} .pageNav-jump--prev {margin-right: 6px;} .m-pageNavElCore() { background: @xf-contentBg; color: @xf-textColorMuted; .xf-blockBorder(); // font-size: @xf-fontSizeSmall; border-radius: 0; border: 1px solid @xf-borderColor; white-space: nowrap; height: 24px; line-height: 24px; &:hover, &:active { // background: xf-intensify(@xf-contentHighlightBg, 3%); text-decoration: none; color: @xf-textColor; } } .pageNav-jump { display: inline-block; .m-pageNavElCore(); // border-radius: @xf-borderRadiusSmall; padding: @_page-paddingV @_page-paddingH; height: 26px; line-height: 26px; &.pageNav-jump--prev:before, &.pageNav-jump--next:after { .m-faBase('Pro', @faWeight-solid); font-size: 80%; unicode-bidi: isolate; // maintain position in RTL with LTR text } &.pageNav-jump--prev:before { .m-faContent("@{fa-var-caret-left}\00a0", false, ltr); // .61em .m-faContent("@{fa-var-caret-right}\00a0", false, rtl); // .61em } &.pageNav-jump--next:after { .m-faContent("\00a0@{fa-var-caret-right}", false, ltr); // .61em .m-faContent("\00a0@{fa-var-caret-left}", false, rtl); // .61em } } .pageNav-main { .m-listPlain(); display: inline-table; } .pageNav-page { display: table-cell; .m-pageNavElCore(); &:not(:last-child) { border-right: none; } &:not(:first-child) { border-left-color: @xf-borderColorLight; } <xf:comment> &:first-child { .m-borderLeftRadius(@xf-borderRadiusSmall); } &:last-child { .m-borderRightRadius(@xf-borderRadiusSmall); } </xf:comment> > a { display: block; padding: @_page-paddingV @_page-paddingH; text-decoration: none; color: inherit; } &.pageNav-page--current { // background: @xf-contentAccentBg; color: @xf-uix_secondaryColor; box-shadow: 0 -2px @xf-uix_secondaryColor inset; // border: @xf-borderSize solid @xf-borderColorAccentContent; cursor: pointer; &:hover, &:active { // background: xf-intensify(@xf-contentAccentBg, 3%); } <xf:comment> + .pageNav-page { border-left: none; } </xf:comment> } } // Hide relative page numbers on narrow devices when we have a skip entry as we don't necessarily have space. @media (max-width: @xf-responsiveNarrow) { .pageNav--skipStart { .pageNav-page.pageNav-page--earlier { display: none; } } .pageNav--skipEnd { .pageNav-page.pageNav-page--later { display: none; } .pageNav-page.pageNav-page--skipEnd { border-left: none; } } } // ########################### SIMPLE PAGE NAV VARIANT ######################## .pageNavSimple { display: inline-flex; height: 24px; line-height: 24px; } .pageNavSimple-el { display: inline-block; .xf-blockBorder(); border-radius: @xf-borderRadiusSmall; padding: @_page-paddingV @_page-paddingHSimple; font-size: @xf-fontSizeSmall; text-align: center; white-space: nowrap; margin-right: 4px; &:last-child { margin-right: 0; } &.pageNavSimple-el--current { // .xf-contentAccentBase(); color: @xf-uix_primaryColor; background-color: none; &:hover, &:active { background: xf-intensify(@xf-contentAccentBg, 3%); text-decoration: none; } } &.pageNavSimple-el--prev, &.pageNavSimple-el--next { background: @xf-uix_primaryColor; color: #fff; min-width: 75px; @media (max-width: 350px) { min-width: 0; } &:hover, &:active { background: xf-intensify(@xf-uix_primaryColor, 5%); text-decoration: none; } i:before { .m-faBase('Pro', @faWeight-solid); } } &.pageNavSimple-el--prev i:before { .m-faContent(@fa-var-caret-left, false, ltr); // , .44em .m-faContent(@fa-var-caret-right, false, rtl); // , .44em } &.pageNavSimple-el--next i:before { .m-faContent(@fa-var-caret-right, false, ltr); // , .44em .m-faContent(@fa-var-caret-left, false, rtl); // , .44em } &.pageNavSimple-el--first, &.pageNavSimple-el--last { border-color: transparent; padding-left: (@_page-paddingHSimple / 2); padding-right: (@_page-paddingHSimple / 2); color: @xf-uix_primaryColor; &:hover, &:active { .xf-blockBorder(); background: xf-intensify(@xf-contentHighlightBg, 3%); color: @xf-linkColor; text-decoration: none; } i:before { .m-faBase('Pro', @faWeight-solid); } } &.pageNavSimple-el--first i:before { .m-faContent(@fa-var-backward, false, ltr); // 1em .m-faContent(@fa-var-forward, false, rtl); // 1em width: auto; font-size: 18px; line-height: inherit; } &.pageNavSimple-el--last i:before { .m-faContent(@fa-var-forward, false, ltr); // 1em .m-faContent(@fa-var-backward, false, rtl); // 1em width: auto; font-size: 18px; line-height: inherit; } &.is-disabled { border-color: transparent; background: none; color: @xf-textColorMuted; text-decoration: none; pointer-events: none; &:hover { background: none; color: @xf-textColorMuted; } } } // #################### DISPLAY VARIANTS ######################### .pageNavWrapper--simple { .pageNav { display: none; } } .pageNavWrapper--full { .pageNavSimple { display: none; } } .pageNavWrapper--mixed { .pageNavSimple { display: none; } @media (max-width: @xf-responsiveMedium) { .pageNav { display: none; } .pageNavSimple { display: inline-flex; } } } <xf:if is="property('uix_hideTopPagenavMobile')"> // Hide any block page nav that goes before the block as we will be wasting vertical space. @media (max-width: @xf-responsiveNarrow) { .block-outer:not(.block-outer--after) .pageNavWrapper:not(.pageNavWrapper--forceShow) { display: none; } // this is a sanity check in case .block-outer--after is forgotten .block-container + .block-outer .pageNavWrapper { display: block; } } </xf:if>]]>

</template>


-<template title="core_reaction.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[.reaction { display: flex; -webkit-touch-callout: none; &.reaction--imageHidden { img { display: none; } &.reaction--1 { i { .m-faBefore(@fa-var-thumbs-up, 1em); .m-faBase(); } } } &.reaction--small, &.reaction--medium { display: inline-block; .reaction-text { margin-left: 0; } } &.reaction--right { justify-content: flex-end; } &.reaction--inline { display: inline-flex;; } a&:hover, a&:focus { text-decoration: none; .reaction-text { text-decoration: underline; } } } .reactionScore { display: inline-block; padding: 2px 3px; min-width: 16px; text-align: center; vertical-align: text-bottom; border-radius: @xf-borderRadiusMedium; font-size: @xf-fontSizeSmallest; .xf-chip(); &:hover { .xf-chipHover(); } } .reaction-image { vertical-align: text-bottom; .reaction--small & { max-width: 16px; max-height: 16px; } .reaction--medium & { max-width: 21px; max-height: 21px; } } .reaction-sprite { vertical-align: text-bottom; <xf:if is="$reactionSprites"> <xf:foreach loop="$reactionSprites" key="$reactionId" value="$reactionSprite"> <xf:if is="$reactionSprite.sprite_css"> .reaction--{$reactionId} & { {$reactionSprite.sprite_css|raw} } </xf:if> <xf:if is="$reactionSprite.small_sprite_css"> .reaction--small.reaction--{$reactionId} & { {$reactionSprite.small_sprite_css|raw} } </xf:if> <xf:if is="$reactionSprite.medium_sprite_css"> .reaction--medium.reaction--{$reactionId} & { {$reactionSprite.medium_sprite_css|raw} } </xf:if> </xf:foreach> </xf:if> } .reaction-text { margin-left: 10px; align-self: center; // note: when we add a reaction we make the text bold // the below approach sets the space for that to ensure // the text doesn't jump when the bold happens. &::after { content: " "; font-weight: @xf-fontWeightHeavy; height: 1px; color: transparent; overflow: hidden; visibility: hidden; } .has-reaction & { font-weight: @xf-fontWeightHeavy; } .reaction--small & { margin-left: 0; } <xf:if is="$reactionColors"> <xf:foreach loop="$reactionColors" key="$reactionId" value="$reactionColor"> <xf:if is="$reactionColor"> .reaction--{$reactionId} & { color: {$reactionColor}; } </xf:if> </xf:foreach> </xf:if> } <xf:if is="$reactionColors"> <xf:foreach loop="$reactionColors" key="$reactionId" value="$reactionColor"> <xf:if is="$reactionColor"> .is-active.tabs-tab--reaction{$reactionId} { border-color: {$reactionColor} !important; } </xf:if> </xf:foreach> </xf:if>]]>

</template>


-<template title="core_setup.less" version_string="2.2.0" version_id="2020070" addon_id="XF" type="public">

<![CDATA[// Vital base setup, don't change these! html {.xf-pageBackground();} html:after { content: 'full'; display: none; @media (max-width: @xf-responsiveWide) { content: 'wide'; } @media (max-width: @xf-responsiveMedium) { content: 'medium'; } @media (max-width: @xf-responsiveNarrow) { content: 'narrow'; } } * { // global sizing calculations expect border-box box-sizing: border-box; } body { // don't hide the vertical scrollbar overflow-y: scroll !important; } [data-xf-click], a[tabindex] { // iOS doesn't bubble clicks up to the body where we have a listener, so we need to force that cursor: pointer; } [dir=auto] { // this will get flipped in RT text-align: left; } pre, textarea { // soft line wraps word-wrap: normal; } img { // without specifying this, resized images look worse -ms-interpolation-mode: bicubic; } em { &:lang(zh), &:lang(ja), &:lang(ko) { font-style: normal; } } // ################################################# // Focus handlers, set by XF.NavDeviceWatcher (core.js) .has-pointer-nav { :focus { outline: 0 } ::-moz-focus-inner { border: 0; } .iconic > input:focus + i { &:before, &:after { outline: 0; } } } .m-keyframes(spin, { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }); ]]>

</template>


-<template title="core_tab.less" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[// ################################## TABS #################################### .tabs { display: flex; &.tabs--wrappable { flex-wrap: wrap; } &.tabs--right { float: right; position: relative; margin-left: auto; align-self: center; white-space: nowrap; } } .tabs-tab { display: inline-block; cursor: pointer; white-space: nowrap; color: inherit; font-weight: inherit; text-decoration: none; .m-transition(); &:hover { text-decoration: none; } } .tabs-extra { position: relative; margin-left: auto; padding: 0 @xf-blockPaddingH 0 @xf-paddingMedium; align-self: center; white-space: nowrap; &.tabs-extra--minor { font-size: @xf-fontSizeSmall; } a { color: inherit; text-decoration: none; display: block; padding: @xf-paddingMedium; margin-right: -@xf-paddingMedium; } } .tabPanes { .m-listPlain(); > li { display: none; &.is-active { display: block; } } } // ################################# OUTER TABS ######################### .tabs--standalone { padding: 0; margin-bottom: @xf-elementSpacer; font-weight: @xf-fontWeightNormal; .xf-blockBorder(); .xf-standaloneTab(); .m-tabsTogether(xf-default(@xf-standaloneTab--font-size, @xf-fontSizeNormal)); &.tabs--standalone--closer { margin-bottom: @xf-paddingMedium; } &.tabs--standalone--small { .m-tabsTogether(@xf-fontSizeSmall); } &.tabs--standalone--inline { display: inline-block; margin-bottom: 0; } .tabs-tab { padding: @xf-blockPaddingV @xf-blockPaddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature); border-bottom: @xf-borderSizeFeature solid transparent; &:hover { color: @xf-standaloneTabSelected--color; } &.is-active { .xf-standaloneTabSelected(); } } .hScroller-action { .m-hScrollerActionColorVariation( xf-default(@xf-standaloneTab--background-color, transparent), xf-default(@xf-standaloneTab--color, ~""), xf-default(@xf-standaloneTabSelected--color, ~"") ); } } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .tabs--standalone { // margin-left: -@xf-pageEdgeSpacer; // margin-right: -@xf-pageEdgeSpacer; border-radius: 0; .tabs--standalone:not(.tabs--right) { border-left: none; border-right: none; } .tabs--right& { margin: 0; } } }]]>

</template>


-<template title="core_tooltip.less" version_string="2.1.10 Patch 2" version_id="2011072" addon_id="XF" type="public">

<![CDATA[// ######################################### TOOLTIPS ####################################### @_tooltip-arrowSize: 5px; @_tooltip-arrowSizeLarge: 10px; @_tooltip-zIndex: @zIndex-3; .tooltip { position: absolute; z-index: @_tooltip-zIndex; line-height: @xf-lineHeightDefault; padding: 0 5px; display: none; &.tooltip--basic { max-width: 300px; // Tooltip positioning is literal. &.tooltip--top { margin-bottom: 3px; padding-bottom: @_tooltip-arrowSize; } &.tooltip--right { -ltr-rtl-margin-left: 3px; -ltr-rtl-padding-left: @_tooltip-arrowSize; } &.tooltip--bottom { margin-top: 3px; padding-top: @_tooltip-arrowSize; .has-touchevents &.tooltip--selectToQuote { margin-top: .75em; } } &.tooltip--left { -ltr-rtl-margin-right: 3px; -ltr-rtl-padding-right: @_tooltip-arrowSize; } .m-textColoredLinks(); } &.tooltip--noninteractive { pointer-events: none; } &.tooltip--noninteractive { pointer-events: none; } &.tooltip--description { max-width: 350px; } &.tooltip--selectToQuote { .m-hiddenLinks(); } &.tooltip--preview { max-width: 100%; width: 400px; } &.tooltip--member { max-width: 100%; width: 450px; padding: 0 10px; } &.tooltip--reaction { max-width: 100%; padding: 0 15px; margin: 5px 0; } &.tooltip--bookmark, &.tooltip--share { max-width: 100%; width: 340px; padding: 0 15px; } &.tooltip--bookmark, &.tooltip--member, &.tooltip--preview, &.tooltip--share { // Tooltip positioning is literal. &.tooltip--top { padding-bottom: @_tooltip-arrowSizeLarge; } &.tooltip--right { -ltr-rtl-padding-left: @_tooltip-arrowSizeLarge; } &.tooltip--bottom { padding-top: @_tooltip-arrowSizeLarge; } &.tooltip--left { -ltr-rtl-padding-right: @_tooltip-arrowSizeLarge; } } } .tooltip-content { .tooltip--basic & { text-align: center; .xf-tooltip(); } .tooltip--description & { text-align: left; } .tooltip--preview & { .xf-contentBase(); padding: @xf-paddingMedium; text-align: left; border: 1px solid @xf-borderColor; .m-dropShadow(0, 5px, 10px, 0, .35); } .tooltip--bookmark &, .tooltip--member &, .tooltip--share & { .xf-contentBase(); padding: 0; text-align: left; border: 1px solid @xf-borderColor; .m-dropShadow(0, 5px, 10px, 0, .35); } .tooltip--reaction & { .xf-contentBase(); padding: 0; text-align: center; border: 1px solid @xf-borderColor; border-radius: @xf-borderRadiusLarge; } } .tooltip-content-inner { position: relative; .tooltip--basic & { max-height: 200px; overflow: hidden; } .tooltip--preview & { max-height: 200px; overflow: hidden; .tooltip-content-cover { .m-gradient(fade(@xf-contentBg, 0%), @xf-contentBg, transparent, 160px, 200px); } } .tooltip-content-cover { position: absolute; top: 0; bottom: 0; left: 0; right: 0; } } // Tooltip side positioning is literal. /* XF-RTL:disable */ .tooltip-arrow { position: absolute; width: 0; height: 0; border: 0 solid transparent; .m-tooltipArrow( xf-default(@xf-tooltip--background-color, transparent), @_tooltip-arrowSize, ~'.tooltip--basic' ); @classes: tooltip--preview tooltip--member tooltip--share tooltip--bookmark; .m-tooltipArrowList(@xf-borderColor, @_tooltip-arrowSizeLarge + 1px, @classes, @xf-contentBg); .tooltip--member.tooltip--bottom &:after { .m-triangleUp(xf-default(@xf-memberTooltipHeader--background-color, transparent), @_tooltip-arrowSizeLarge); } } .m-tooltipArrowList(@color, @size, @classes, @fillColor: false) { .variations(@classes, @i: 1) when (@i <= length(@classes)) { @variation: extract(@classes, @i); .m-tooltipArrow(@color, @size, ~'.@{variation}', @fillColor); .variations(@classes, @i + 1); } .variations(@classes); } /* XF-RTL:enable */ .tooltipCover { display: none; position: absolute; opacity: 0; z-index: (@_tooltip-zIndex - 1); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); &.is-active { display: block; } }]]>

</template>


-<template title="custom_fields_macros" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[<xf:macro name="custom_fields_view" arg-type="!" arg-group="!" arg-set="!" arg-onlyInclude="{{ null }}" arg-additionalFilters="{{ [] }}" arg-wrapperClass="" arg-valueClass="pairs pairs--columns pairs--fixedSmall pairs--customField"> <xf:if contentcheck="true"> <div class="{$wrapperClass}"> <xf:contentcheck> <xf:macro name="custom_fields_values" arg-type="{$type}" arg-group="{$group}" arg-set="{$set}" arg-onlyInclude="{$onlyInclude}" arg-additionalFilters="{$additionalFilters}" arg-valueClass="{$valueClass}" /> </xf:contentcheck> </div> </xf:if> </xf:macro> <xf:macro name="custom_fields_values" arg-type="!" arg-group="!" arg-set="!" arg-onlyInclude="{{ null }}" arg-additionalFilters="{{ [] }}" arg-valueClass="pairs pairs--columns pairs--fixedSmall pairs--customField"> <xf:foreach loop="$xf.app.getCustomFields({$type}, {$group}, {$onlyInclude}, {$additionalFilters})" key="$fieldId" value="$fieldDefinition"> <xf:if is="$fieldDefinition.hasValue({$set.{$fieldDefinition.field_id}})"> <xf:set var="$fieldValue"><xf:macro name="custom_field_value" arg-definition="{$fieldDefinition}" arg-value="{$set.{$fieldDefinition.field_id}}" /></xf:set> <xf:if is="$fieldDefinition.wrapper_template"> {$fieldDefinition.getFormattedOutput($fieldValue)|raw} <xf:else /> <dl class="{$valueClass}" data-field="{$fieldId}"> <dt>{$fieldDefinition.title}</dt> <dd>{$fieldValue}</dd> </dl> </xf:if> </xf:if> </xf:foreach> </xf:macro> <xf:macro name="custom_field_value" arg-definition="!" arg-value="!"> <xf:if is="$definition.field_type == 'stars'"> <xf:macro template="rating_macros" name="stars" arg-rating="{$value}" /> <xf:else /> <xf:if is="$definition.match_type == 'date'"> <xf:macro name="custom_field_value_date" arg-date="{$value}" /> <xf:elseif is="$definition.match_type == 'color'" /> <xf:macro name="custom_field_value_color" arg-color="{$value}" /> <xf:else /> {$definition.getFormattedValue($value)|raw} </xf:if> </xf:if> </xf:macro> <xf:macro name="custom_field_value_date" arg-date="!"> {{ date(date_from_format('Y-m-d', $date)) }} </xf:macro> <xf:macro name="custom_field_value_color" arg-color="!"> <span class="colorChip" data-xf-init="tooltip" title="{$color}"> <span class="colorChip-inner" style="background-color: {$color}"> <span class="colorChip-value">{$color}</span> </span> </span> </xf:macro> <xf:macro name="custom_fields_edit" arg-type="!" arg-group="{{ null }}" arg-set="!" arg-editMode="user" arg-onlyInclude="{{ null }}" arg-additionalFilters="{{ [] }}" arg-rowType="" arg-rowClass="" arg-namePrefix="custom_fields" arg-requiredOnly="{{ false }}"> <xf:foreach loop="$xf.app.getCustomFieldsForEdit({$type}, {$set}, {$editMode}, {$group}, {$onlyInclude}, {$additionalFilters})" key="$fieldId" value="$fieldDefinition"> <xf:if is="!$requiredOnly OR ($requiredOnly AND $fieldDefinition.required)"> <xf:formrow label="{$fieldDefinition.title}" explain="{$fieldDefinition.description}" hint="{{ $fieldDefinition.isRequired($editMode) ? phrase('required') : '' }}" rowtype="{$rowType} customField {{ in_array($fieldDefinition.field_type, ['textbox', 'textarea', 'bbcode', 'select']) ? 'input' : '' }}" rowclass="{$rowClass}" data-field="{$fieldDefinition.field_id}"> <xf:macro name="custom_fields_edit_{$fieldDefinition.field_type}" arg-set="{$set}" arg-definition="{$fieldDefinition}" arg-editMode="{$editMode}" arg-namePrefix="{$namePrefix}" /> </xf:formrow> </xf:if> </xf:foreach> </xf:macro> <xf:macro name="custom_fields_edit_groups" arg-type="!" arg-groups="!" arg-set="!" arg-editMode="user" arg-onlyInclude="{{ null }}" arg-additionalFilters="{{ [] }}" arg-rowType="" arg-namePrefix="custom_fields" arg-requiredOnly=""> <xf:foreach loop="$groups" value="$group"> <xf:macro name="custom_fields_edit" arg-type="{$type}" arg-group="{$group}" arg-set="{$set}" arg-editMode="{$editMode}" arg-onlyInclude="{$onlyInclude}" arg-additionalFilters="{$additionalFilters}" arg-rowType="{$rowType}" arg-namePrefix="{$namePrefix}" arg-requiredOnly="{$requiredOnly}" /> </xf:foreach> </xf:macro> <xf:macro name="custom_fields_edit_textbox" arg-set="!" arg-definition="!" arg-editMode="!" arg-namePrefix="custom_fields"> <xf:if is="$definition.match_type == 'date'"> <xf:dateinput name="{$namePrefix}[{$definition.field_id}]" value="{$set.{$definition.field_id}}" data-field="{$definition.field_id}" maxlength="{{ $definition.max_length ? $definition.max_length : '' }}" required="{{ $definition.isRequired($editMode) ? 'required' : '' }}" class="field_{$definition.field_id}" /> <xf:elseif is="$definition.match_type == 'color'" /> <xf:macro template="color_picker_macros" name="color_picker" arg-name="{$namePrefix}[{$definition.field_id}]" arg-value="{$set.{$definition.field_id}}" arg-mapName="" arg-row="{{ false }}" arg-required="{$definition.isRequired($editMode)}" /> <xf:elseif is="$definition.match_type == 'number'" /> <xf:set var="$step" value="1" /> <xf:if is="$definition.match_params.number_integer"> <xf:if is="$definition.match_params.number_min >= 0"> <xf:set var="$pattern" value="\d*" /> </xf:if> <xf:else /> <xf:set var="$step" value="any" /> </xf:if> <xf:if is="$definition.match_params.number_min !== ''"> <xf:set var="$min" value="{$definition.match_params.number_min}" /> </xf:if> <xf:if is="$definition.match_params.number_max !== ''"> <xf:set var="$max" value="{$definition.match_params.number_max}" /> </xf:if> <xf:numberbox name="{$namePrefix}[{$definition.field_id}]" value="{$set.{$definition.field_id}}" maxlength="{{ $definition.max_length ? $definition.max_length : '' }}" pattern="{$pattern}" default="" min="{$min}" max="{$max}" step="{$step}" required="{{ $definition.isRequired($editMode) ? 'required' : '' }}" class="field_{$definition.field_id}" /> <xf:else /> <xf:if is="in_array($definition.match_type, ['regex', 'alphanumeric'])"> <xf:set var="$type" value="text" /> <xf:set var="$pattern" value="{{ $definition.match_type == 'regex' ? $definition.match_params.regex : '\w+' }}" /> <xf:set var="$title">{{ phrase('please_enter_value_that_matches_required_format') }}</xf:set> <xf:elseif is="in_array($definition.match_type, ['date', 'email', 'url', 'color'])" /> <xf:set var="$type" value="{$definition.match_type}" /> <xf:else /> <xf:set var="$type" value="text" /> </xf:if> <xf:textbox name="{$namePrefix}[{$definition.field_id}]" value="{$set.{$definition.field_id}}" type="{$type}" maxlength="{{ $definition.max_length ? $definition.max_length : '' }}" pattern="{$pattern}" title="{$title}" min="{$min}" max="{$max}" step="{$step}" required="{{ $definition.isRequired($editMode) ? 'required' : '' }}" class="field_{$definition.field_id}" /> </xf:if> </xf:macro> <xf:macro name="custom_fields_edit_textarea" arg-set="!" arg-definition="!" arg-editMode="!" arg-namePrefix="custom_fields"> <xf:textarea name="{$namePrefix}[{$definition.field_id}]" value="{$set.{$definition.field_id}}" maxlength="{{ $definition.max_length ? $definition.max_length : '' }}" autosize="true" required="{{ $definition.isRequired($editMode) ? 'required' : '' }}" class="field_{$definition.field_id}" /> </xf:macro> <xf:macro name="custom_fields_edit_bbcode" arg-set="!" arg-definition="!" arg-editMode="!" arg-namePrefix="custom_fields"> <xf:editor name="{$namePrefix}[{$definition.field_id}]" value="{$set.{$definition.field_id}}" previewable="0" data-min-height="80" data-attachment-target="false" class="field_{$definition.field_id}" /> </xf:macro> <xf:macro name="custom_fields_edit_select" arg-set="!" arg-definition="!" arg-editMode="!" arg-multi="" arg-namePrefix="custom_fields"> <xf:select name="{$namePrefix}[{$definition.field_id}]" value="{{ $set.{$definition.field_id} === null ? '' : {$set.{$definition.field_id}} }}" multiple="{$multi}" class="field_{$definition.field_id}"> <xf:option value="" /> <xf:options source="$definition.field_choices" /> </xf:select> </xf:macro> <xf:macro name="custom_fields_edit_radio" arg-set="!" arg-definition="!" arg-editMode="!" arg-namePrefix="custom_fields"> <xf:radio name="{$namePrefix}[{$definition.field_id}]" value="{{ $set.{$definition.field_id} === null ? '' : {$set.{$definition.field_id}} }}" class="field_{$definition.field_id}" listclass="listColumns"> <xf:if is="!$definition.isRequired($editMode)"> <xf:option value="">{{ phrase('no_selection') }}</xf:option> </xf:if> <xf:foreach loop="$definition.field_choices" key="$value" value="$label"> <xf:option value="{$value}" required="{{ $definition.isRequired($editMode) ? 'required' : '' }}">{$label}</xf:option> </xf:foreach> </xf:radio> </xf:macro> <xf:macro name="custom_fields_edit_checkbox" arg-set="!" arg-definition="!" arg-editMode="!" arg-namePrefix="custom_fields"> <xf:checkbox name="{$namePrefix}[{$definition.field_id}]" value="{$set.{$definition.field_id}}" required="{{ $definition.isRequired($editMode) ? 'required' : '' }}" listclass="field_{$definition.field_id} listColumns"> <xf:options source="$definition.field_choices" /> </xf:checkbox> </xf:macro> <xf:macro name="custom_fields_edit_multiselect" arg-set="!" arg-definition="!" arg-editMode="!" arg-namePrefix="custom_fields"> <xf:macro name="custom_fields_edit_select" arg-set="{$set}" arg-definition="{$definition}" arg-editMode="!" arg-multi="1" arg-namePrefix="{$namePrefix}" /> </xf:macro> <xf:macro name="custom_fields_edit_stars" arg-set="!" arg-definition="!" arg-editMode="!" arg-namePrefix="custom_fields"> <xf:macro template="rating_macros" name="rating" arg-name="{$namePrefix}[{$definition.field_id}]" arg-currentRating="{$set.{$definition.field_id}}" arg-deselectable="{{ $definition.isRequired($editMode) ? 'false' : 'true' }}" arg-row="{{ false }}" /> </xf:macro>]]>

</template>


-<template title="deletion_macros" version_string="2.0.10" version_id="2001070" addon_id="XF" type="public">

<![CDATA[<xf:macro name="notice" arg-log="!" arg-message=""> <ul class="listInline listInline--bullet listInline--selfInline"> <xf:if is="$message is not empty"> <li>{$message}</li> </xf:if> <li>{{ phrase('deleted_by_x', {'name': $log.delete_username ?: phrase('n_a')}) }}</li> <xf:if is="{$log}"> <li><xf:date time="{$log.delete_date}" /></li> <xf:if is="{$log.delete_reason}"> <li>{{ phrase('reason:') }} {$log.delete_reason}</li> </xf:if> </xf:if> </ul> </xf:macro>]]>

</template>


-<template title="editor.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[/* XF-RTL:disable */ {{ include('editor_base.less') }} /* XF-RTL:enable */ @_editorBorderRadius: xf-default(@xf-input--border-radius, @xf-borderRadiusMedium); @_editorBorderColor: var(--input-border-heavy) var(--input-border-light) var(--input-border-light) var(--input-border-heavy); //@_editorFocusBorderColor: xf-default(@xf-inputFocus--border-top-color, @xf-borderColorHeavy) xf-default(@xf-inputFocus--border-right-color, @xf-borderColorLight) xf-default(@xf-inputFocus--border-bottom-color, @xf-borderColorLight) xf-default(@xf-inputFocus--border-left-color, @xf-borderColorHeavy); @_editorButtonGroupHPadding: 12px; @_editorButtonGroupHPaddingSmall: 6px; .fr-box.fr-basic { background: @xf-editorBg; border: solid 1px @xf-borderColor; border-color: @_editorBorderColor; .border-radius(@_editorBorderRadius); .fr-toolbar.fr-top { background: @xf-editorToolsBg; } &.is-focused { background: @xf-editorFocusBg; //border-color: @_editorFocusBorderColor; .fr-element { color: @xf-editorFocusColor; } .fr-toolbar.fr-top { background: @xf-editorToolsFocusBg; } } // regular border instead of an 'input' border &.is-preview, &.is-preview .fr-toolbar .fr-btn-grp.rte-tab--preview { background: @xf-contentBg; border-color: @xf-borderColor; } .fr-wrapper { border: none; } .fr-element { .m-inputZoomFix(); padding-top: @editor-padding / 2; } } .fr-toolbar { @_more-spacer: 4px; display: flex; flex-wrap: wrap; border: none; background: transparent; .border-radius(@_editorBorderRadius @_editorBorderRadius 0 0); .fr-command.fr-btn { display: inline-flex; align-items: center; justify-content: center; // context sensitivity for toolbar buttons (highlight [B] when cursor is on bold text etc.) &.fr-active:not(.fr-disabled) { color: @xf-editorButtonActiveColor; } // de-emphasize the 'more' buttons slightly &[data-cmd^="more"] { opacity: 0.5; &.fr-open { opacity: 1 } i { width: 16px; } } &.fr-dropdown { margin-right: 8px; &:last-of-type { margin-right: 2px; } } } // BUTTON GROUP HANDLING .fr-btn-grp { // using CSS variables here but we have a fallback for older browsers (for now) --hpadding: @_editorButtonGroupHPadding; display: inline-flex; border-style: solid; border-width: 0px; border-color: @_editorBorderColor; margin: 0; padding: @_more-spacer 0 0 @_editorButtonGroupHPadding; // basic padding for older browsers padding: @_more-spacer 0 0 var(--hpadding); // hide empty groups completely, just in case we have alternative padding specified later on &:empty { padding: 0 !important; } //&:nth-child(even) //{ // background: rgba(0,0,0,.05); //} &.fr-float-left { + .fr-btn-grp.fr-float-right:not(.rte-tab--preview) { flex: 1 1 0; justify-content: flex-end; } } &.rte-tab--beforePreview { padding-right: @_editorButtonGroupHPadding; padding-right: var(--hpadding); &.fr-float-left { // make sure this expands to fill the space so the preview border is correct flex-grow: 1; } } // tabify inactive groups &.rte-tab--inactive { border-bottom-width: 1px; } &.rte-tab--preview { border-left-width: 1px; .border-radius(0 @_editorBorderRadius 0 0); // pad the button to make it fill the tab // normally padding: 4px, 17px, 0, 22px; margin: 0; padding: 0 !important; .fr-command.fr-btn { padding: 4px (@_editorButtonGroupHPadding + 5px) 0px (@_editorButtonGroupHPadding + 5px); padding: 4px ~'calc(var(--hpadding) + 5px)' 0px ~'calc(var(--hpadding) + 5px)'; height: 36px; .border-radius(0 @_editorBorderRadius 0 0); &:hover { background: transparent; } } } } .fr-newline { margin: 0; } // 'more' toolbar stuff .fr-command.fr-btn.fr-open { margin-top: @btn-margin; padding-bottom: @_more-spacer; height: (@btn-height + @_more-spacer); } .fr-more-toolbar { position: absolute; bottom: 0; &[style*="padding-left: 0px"] { // Padding is used on the more toolbar for button alignment. If it's 0 then we don't want // the buttons to be jammed up against the edge. padding-left: @_editorButtonGroupHPaddingSmall !important; } } } .fr-separator { float: none; display: inline-flex; align-items: center; justify-content: center; background-color: @xf-editorButtonDisabledColor; &.fr-vs { height: @btn-height - @btn-margin * 2; margin: 4px; } .fr-toolbar > & { // hide separators directly under the toolbar rather in groups - this only happens as // a resize quirk display: none; } } // RTE disabled (BB code mode) styling .fr-box textarea.input { border: none; background: none; } // some adjustments for different screen resolutions .fr-box.fr-basic { &[data-size="XL"], &[data-size="LG"], &[data-size="MD"] { .fr-btn-grp { padding-right: @_editorButtonGroupHPadding; } } // shrink the 'Preview' padding at smaller resolutions &[data-size="SM"], &[data-size="XS"] { .fr-btn-grp { --hpadding: @_editorButtonGroupHPaddingSmall; } } // show the 'Preview' text on the preview tab at larger resolutions // this width is defined by the width of the page 50px larger than the size at which quick reply turns on the full-size toolbar @media (min-width: 1132px) { &[data-size="XL"] .rte-tab--preview span.fr-sr-only { font-size: 13px; // undo the original class position: static; width: auto; height: auto; clip: auto; overflow: visible; margin: 0; } } } .fr-toolbar, .fr-popup, .fr-modal { // make FontAwesome iconography respect btn-font-size .fr-command.fr-btn i { font-size: @xf-editorButtonSize; } // improve positioning of FA buttons .fr-tabs .fr-command.fr-btn i { margin: ((@popup-tab-button-height - @popup-btn-svg-size) / 2) ((@popup-tab-button-width - @popup-btn-svg-size) / 2); } .fr-command.fr-btn svg path { fill: currentColor; .m-transition(none); } // adjust separator height in this scenario to match button height .fr-tabs .fr-separator.fr-vs { margin-top: 2px; margin-bottom: 2px; } // some elements briefly flash through dropdowns on transition z-index: 3; } .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content { ul.fr-dropdown-list li a i { font-size: @xf-editorButtonSize; margin: 8px 7px; } } // setup visuals in the editor match visuals in messages .fr-view { img.fr-draggable:not(.smilie), .bbImage { max-width: 100%; height: auto; } .fr-video { position: relative; video { width: 560px; max-width: 100%; } } .fr-audio { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; audio { width: 560px; max-width: 100%; } } p { margin-bottom: 0; margin-top: 0; } &.fr-element { .fr-disabled { .xf-inputDisabled() !important; } @attach-margin: @xf-bbCodeImgFloatMargin; @attach-margin-after: @xf-bbCodeImgFloatMarginAfter; img.fr-dii { display: inline-block; float: none; margin: 0; max-width: 100%; &.fr-fil { float: left; margin: @attach-margin @attach-margin-after @attach-margin-after 0; max-width: calc(~'100% - @{attach-margin}'); } &.fr-fir { float: right; margin: @attach-margin 0 @attach-margin-after @attach-margin-after; max-width: calc(~'100% - @{attach-margin}'); } } .fr-video.fr-dvi { display: inline-block; float: none; margin-left: @attach-margin; margin-right: @attach-margin; max-width: calc(~'100% - (2 * @{attach-margin})'); outline: @xf-borderSize solid @xf-borderColorLight; &.fr-fvl { float: left; margin: @attach-margin @attach-margin-after @attach-margin-after 0; max-width: calc(~'100% - @{attach-margin}'); } &.fr-fvr { float: right; margin: @attach-margin 0 @attach-margin-after @attach-margin-after; max-width: calc(~'100% - @{attach-margin}'); } } } .m-tableBase(); h2, h3, h4 { margin: .5em 0; clear: both; } h2 { font-size: @xf-fontSizeLargest; } h3 { font-size: @xf-fontSizeLarger; } h4 { font-size: @xf-fontSizeLarge; } hr { border: none; border-top: @xf-borderSize solid @xf-borderColorHeavy; clear: both; } // quote tag emulation blockquote { .xf-bbCodeBlock(); margin: .5em 0; padding: @xf-paddingMedium @xf-paddingLarge; font-size: @xf-fontSizeSmall; display: flow-root; .m-tableBase(); .m-tableBase(); &:first-child { margin-top: 0; } &:last-child { margin-bottom: 0; } &[data-quote] { &:before { display: block; content: attr(data-quote) "{$xf.language.label_separator}"; .xf-bbCodeBlockTitle(); padding: @xf-paddingMedium @xf-paddingLarge; margin: -@xf-paddingMedium -@xf-paddingLarge @xf-paddingMedium -@xf-paddingLarge; // this margin combination makes the attribution take the full width and have bottom padding } } } } // try to make Froala inputs look like ours .fr-popup { .fr-input-line { padding: 18px 0 8px; input[type="text"], textarea { .xf-input(); margin: 0; line-height: @xf-lineHeightDefault; .m-transition(background, color;); height: auto; &:hover { .xf-input(border); } &:focus { .xf-input(border); .xf-input(padding); .xf-inputFocus(); } .m-inputZoomFix(); } input + label, textarea + label { line-height: 1.2; font-size: 12px; color: fade(xf-default(@xf-input--color, @xf-textColor), 40%); background: transparent; top: 28px; } input.fr-not-empty + label, textarea.fr-not-empty + label { color: @xf-textColorMuted; top: 2px; } } .fr-action-buttons { height: auto; .m-frCommandStyle(); } // fix FA selected color indicator .fr-color-set > span .fr-selected-color { .m-faBase(); } } .fr-quick-insert { padding-right: 0; margin-left: (@editor-padding / 2); // bring this into our z-index levels z-index: @zIndex-2; } // this toolbar is redundant and annoying .fr-second-toolbar { display: none; } .m-frCommandStyle() { button.fr-command { .m-buttonBase(); .xf-buttonPrimary(); .m-buttonBlockColorVariationSimple(xf-default(@xf-buttonPrimary--background-color, transparent)); height: auto; min-width: 0; line-height: @xf-lineHeightDefault; &:hover, &:active, &:focus { // overriding Froala's hover color: @xf-buttonPrimary--color; background-color: @xf-uix_buttonPrimaryHover--background-color; .xf-uix_buttonPrimaryHover(); } } } // Fix for broken CSS in ui/popup.scss, plugin/image.scss, plugin/video.scss // See: https://github.com/froala/wysiwyg-editor/issues/3878 .fr-popup textarea { resize: none; } .fr-image-resizer { &.fr-active { display: block; } .fr-handler { &.fr-hnw { cursor: nw-resize; } &.fr-hne { cursor: ne-resize; } &.fr-hsw { cursor: sw-resize; } &.fr-hse { cursor: se-resize; } } } .fr-box .fr-video-resizer { &.fr-active { display: block; } .fr-handler { &.fr-hnw { cursor: nw-resize; } &.fr-hne { cursor: ne-resize; } &.fr-hsw { cursor: sw-resize; } &.fr-hse { cursor: se-resize; } } } // #### Smilies, emoji and GIF popup @_menu-padding: @xf-paddingMedium; @_menu-padding-large: @xf-paddingLarge; .menu--emoji { width: 412px; } .menu--gif { width: 500px; } .menu--emoji, .menu--gif { max-width: calc(~'100% - @{xf-pageEdgeSpacer}'); .menu-content { position: relative; } .menu-scroller { max-height: 250px; border-top: 0; } .menu-row { padding: @_menu-padding @_menu-padding; &.menu-row--insertedMessage { .m-hiddenEl(true); position: absolute; top: 0; left: 0; right: 0; border-bottom: @xf-borderSize solid @xf-borderColorLight; } &.menu-row--search { border-bottom: @xf-borderSize solid @xf-borderColor; } } .menu-emojiInsertedMessage { display: flex; align-items: center; justify-content: center; min-height: 35px; font-size: @xf-fontSizeNormal; img { max-height: 32px; } span { margin-left: .5em } } .menu-header { background: none; .xf-formSectionHeader(); background-color: @xf-contentBg; z-index: @zIndex-1; font-size: @xf-fontSizeNormal; position: -webkit-sticky; position: sticky; padding: @_menu-padding @_menu-padding-large; top: 0; } .block-body--emoji { border-top: @xf-borderSize solid @xf-borderColorLight; } .is-hidden { display: none; } } .emojiList { .m-listPlain(); display: flex; flex-wrap: wrap; justify-content: flex-start; margin-right: -3px; margin-bottom: -3px; > li { min-width: 32px; margin-right: 3px; margin-bottom: 3px; .border-radius(@xf-borderRadiusMedium); cursor: pointer; &:hover, &:focus { background-color: @xf-paletteColor2; } a { min-width: 32px; height: 32px; font-size: 24px; display: flex; justify-content: center; align-items: center; cursor: pointer; overflow: hidden; &:hover, &:focus { text-decoration: none; } img { max-height: 32px; } .smilie.smilie--emoji { width: 22px; } .smilie--lazyLoad { visibility: hidden; } } } } // ### Editor placeholder system (where the editor is hidden until clicked) .editorPlaceholder { .is-hidden { display: none; } cursor: text; .editorPlaceholder-placeholder { .input { padding: @xf-paddingLarge; span { &:before { .m-faBase(); .m-faContent(@fa-var-pen); } } } } } // ### Editor draft saving indicator .editorDraftIndicator { .m-transition(); opacity: 0; position: absolute; bottom: 6px; right: 8px; width: 8px; height: 8px; border-radius: 4px; background: rgb(127, 185, 0); &.is-active { opacity: 1; } } .xfPreview { .m-clearFix(); }]]>

</template>


-<template title="editor_base.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[/***** froala.less *****/ /***** variables.less *****/ // Theme Name. @theme: 'theme'; // Generic. @white: #FFF; @light-black: #333333; @black: #000; @gray: #CCCCCC; @dark-grey: #999999; @font-family: Arial, Helvetica, sans-serif; @border-radius: 2px; @transition-timing: 0.2s ease 0s; @bg-color: #f5f5f5; // UI colors @ui-color: #0098f7; @ui-text: #222222; @ui-hover-light-color: mix(@white, #999, 90%); @ui-hover-color: mix(@white, #999, 80%); @ui-focused-color: mix(@white, #999, 60%); @ui-disabled-color: mix(@white, #000, 74%); @ui-active-color: #d6d6d6; @ui-bg: @white; @ui-font-size: 14px; @ui-border-color: @ui-text; @ui-border-top: 5px solid @ui-border-color; @ui-border-hover-color:#515151; @ui-bg-color: #efefef; @ui-svg-size: 24px; @ui-box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12); @ui-bg-color-more: @bg-color; // Separator @separator-size: 1px; @separator-color: mix(@white, #999, 80%); @separator-margin: 8px 4px; // Toolbar @toolbar-transition-timing: 0.5s; @toolbar-newline-margin: 9px; @toolbar-newline-height: 1px; @toolbar-newline-color: @ui-bg-color; @btn-more-open-margin-top: 10px; @btn-more-open-margin-bottom: -1px; @btn-size: 36px; // Logo @logo-svg-height: 20px; @logo-svg-width: 47px; @logo-svg-margin: 7px 0; @logo-transition-timing: 0.3s; @logo-span-padding: 11px 5px 10px 15px; @logo-span-font-size: 12px; @logo-color: #b1b2b7; // Screen sizes. @screen-xs: 480px; @screen-sm: 768px; @screen-md: 992px; @screen-lg: 1200px; @screen-xs-max: (@screen-sm - 1); @screen-sm-max: (@screen-md - 1); @screen-md-max: (@screen-lg - 1); @screen-lg-max: 'auto'; // Tooltip @tooltip-bg: @ui-text; @tooltip-text: @white; @tooltip-font-size: 11px; @tooltip-line-height: 22px; // Editor properties. @editor-padding: 20px; @editor-bg: @white; @editor-font-family: sans-serif; @editor-font-color: #414141; @editor-font-size: 14px; @editor-line-height: 1.6; @editor-shadow-level: 1; @editor-border: 1px solid @gray; @editor-border-radius: 10px; @editor-align: left; // Text selection colors. @selection-bg: #b5d6fd; @selection-text: #000; // Placeholder properties. @placeholder-size: @editor-font-size; @placeholder-font-family: @editor-font-family; @placeholder-color: #AAA; // Button colors. @btn-text: @light-black; @btn-hover-text: @light-black; @btn-hover-bg: #ebebeb; @btn-active-text: @xf-uix_primaryColor; @btn-active-hover-text: @xf-uix_primaryColor; @btn-active-hover-bg: @btn-hover-bg; @btn-selected-text: @btn-text; @btn-selected-bg: @ui-focused-color; @btn-active-selected-text: @xf-uix_primaryColor; @btn-active-selected-bg: @btn-selected-bg; @btn-disabled-color: @ui-disabled-color; @btn-disabled-opacity: 0.3; // Button size. @btn-width: 38px; @btn-height: 40px; @btn-margin: 4px; @btn-font-size: 24px; @btn-more-toolbar-height: 34px; @btn-border-radius: 4px; @btn-dropdown-border-radius: 0 @btn-border-radius @btn-border-radius 0; @btn-hover-border-radius: @btn-border-radius 0 0 @btn-border-radius; @btn-svg-size: @ui-svg-size; @btn-tab-border-radius: 6px 6px 0 0; // Second toolbar. @more-toolbar-margin: 0 17px 0 12px; @more-toolbar-margin-sm: 0 7px 0 6px; @more-toolbar-btn-height: @btn-height + (@btn-margin * 2); // Image. @image-margin: 5px; @image-padding: 0 1px; // Image and Video @handler-size: 12px; @handler-size-lg: 10px; // Code View @code-view-bg: @white; @code-view-text: @black; // Table properties. @table-border: 1px solid #DDD; @table-resizer: 1px solid @ui-color; // Insert table grid. @insert-table-grid: @table-border; // Quick insert. @floating-btn-bg: @white; @floating-btn-text: @light-black; @floating-btn-hover-bg: @btn-hover-bg; @floating-btn-hover-text: @floating-btn-text; @floating-btn-size: 40px; @floating-btn-font-size: 14px; @floating-btn-border: none; @floating-svg-btn-size: @ui-svg-size; @floating-svg-btn-margin: 8px; @floating-btn-padding: 6px 10px 10px 10px; @floating-btn-box-shadow: @ui-box-shadow; @quick-insert-padding-right: 10px; // List menu. @dropdown-arrow-width: 4px; @dropdown-max-height: 275px; @dropdown-options-width: 16px; @dropdown-options-margin-left: -5px; @dropdown-options-border-left: solid 1px #FAFAFA; @dropdown-transition-timing: 0.3s; @dropdown-border-radius: 4px; @dropdown-list-padding: 8px 0; @dropdown-list-min-width: 72px; @dropdown-list-item-font-size: 15px; @dropdown-menu-box-shadow: @ui-box-shadow; // Image manager. @modal-bg: @white; @modal-overlay-color: @black; @modal-head-height: 56px; @modal-head-padding: 0 10px; @modal-btn-padding: (@floating-btn-size - @floating-svg-btn-size) / 2; @modal-btn-margin-top: 10px; @modal-tags-border-radius: 32px; @modal-tags-padding: 0 20px; @modal-link-tags-padding: 6px 12px; @modal-link-tags-margin: 8px 0 8px 8px; @modal-selected-tag-bg: #EcF5Ff; @modal-wrapper-border-radius: 10px; @modal-wrapper-margin-lg: 20px auto; @modal-wrapper-margin-md: 50px auto; @modal-wrapper-margin-sm: 30px auto; @modal-wrapper-box-shadow: 0 3px 5px -1px rgba(0,0,0,.2), 0 6px 10px 0 rgba(0,0,0,.14), 0 1px 18px 0 rgba(0,0,0,.12); @modal-head-min-height: 42px; @modal-close-margin: 10px; @modal-heading-font-size: 20px; @modal-heading-padding: 19px 10px; @modal-body-min-width: 150px; @modal-body-btn-height: @btn-size; @modal-body-btn-padding: 10px; @modal-body-padding-bottom: 20px; @modal-head-line-height: 18px; @modal-wrapper-min-width: 300px; @modal-overlay-opacity: 0.5; // Destroy buttons (delete in image manager). @modal-destroy-btn-bg: #B8312F; @modal-destroy-btn-text: @white; @modal-destroy-btn-hover-bg: mix(contrast(@modal-destroy-btn-bg, @black, @white), @modal-destroy-btn-bg, 10%); @modal-destroy-btn-hover-text: @white; // Popups @popup-layer-width: 260px; @popup-border-radius: 6px; @popup-min-width: 276px; @popup-container-max-height: 200px; @popup-icon-size: @ui-svg-size; @popup-tab-button-width: 46px; @popup-tab-button-height: @btn-height; @popup-box-shadow: 0 3px 5px -1px rgba(0,0,0,.2), 0 6px 10px 0 rgba(0,0,0,.14), 0 1px 18px 0 rgba(0,0,0,.12); @popup-action-btn-spacing: 10px; @popup-margin-top: @popup-action-btn-spacing; @popup-layer-margin: 20px; @popup-action-button-font-size: 18px; @popup-only-btn-padding: 6px 10px; @popup-btn-svg-size: @ui-svg-size; @popup-border-margin: 20px; @popup-border-padding: 20px; @popup-icon-font-size: 20px; @popup-padding: 5px; @popup-icon-padding: 6px; @popup-emoticon-container-width: 368px; @popup-sc-container-width: @popup-emoticon-container-width; @popup-fa-container-width: 506px; @popup-sm-ie-width: 236px; @popup-fa-icon-size: 18px; @popup-fa-icon-padding: 8px; @popup-fa-icon-margin: 6px; @popup-fa-icon-font-size: 18px; @popup-fa-grid-icon-size: 45px; // Inputs. @input-border-color: @dark-grey; @input-label-color: mix(@white, #000, 50%); @input-line-padding: 15px 0; @input-border-radius: 2px; @input-border-width: 1px; @input-focus-border-width: 2px; @input-padding-left-right: 12px; @input-padding-top-bottom: 4px; @input-padding: @input-padding-top-bottom @input-padding-left-right; @input-focus-padding: (@input-padding-top-bottom - @input-focus-border-width + @input-border-width) (@input-padding-left-right - @input-focus-border-width + @input-border-width); @input-height: 46px; @input-label-font-size: 14px; @input-label-font-size-after: 11px; @input-label-top: 29px; @input-label-top-after: 9px; @input-label-left: 12px; @input-label-left-after: 4px; @input-label-padding: 4px; @input-margin-bottom: 1px; // Checkbox @checkbox-size: 18px; @checkbox-padding: 10px; @checkbox-margin: 2px; @checbox-svg-size: 10px; @checkbox-line-margin-top: 10px; @checkbox-line-font-size: 14px; @checkbox-line-label-margin: 0 5px; @checkbox-line-height: 1.4px; @checbox-active-bg: #EcF5Ff; @checkbox-opacity: 0.8; // Quote. @blockquote-level1-color: #5E35B1; @blockquote-level2-color: #00BCD4; @blockquote-level3-color: #43A047; // Char counter. @char-counter-text-color: @dark-grey; @char-counter-font-size: 14px; @char-counter-font-family: sans-serif; @char-counter-padding: 10px; @drag-helper-border: solid 1px @ui-color; @drag-helper-bg: @ui-color; // Document ready. @document-ready-padding: 30px; @document-ready-bg-color: @ui-bg-color; // Colors @color-input-line-padding: 15px 0 0; @color-action-button-padding: 17px 0 0; @color-span-size: 32px; @color-remove-svg-margin: 4px; @color-line-height: 32px; @color-font-size: 13px; // Emoticons @emoticon-tab-padding: 6px; @emoticon-tab-btn-padding: 0 0 0 14px; // Image Manager @image-manager-list-margin: 0 20px; @image-manager-not-available-padding: 12px 0; //Special Character @special-char-btn-padding: 10px 15px; // ################# CUSTOM OVERRIDES ################ {{ include('editor_override.less') }} /***** mixins.less *****/ .resize(@val) { resize: @val; -moz-resize: @val; -webkit-resize: @val; } .opacity(@opacity: 0.5) { -webkit-opacity: @opacity; -moz-opacity: @opacity; opacity: @opacity; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } .transition(@transition...) { -webkit-transition: @transition; -moz-transition: @transition; -ms-transition: @transition; -o-transition: @transition; } .transform(@string) { -webkit-transform: @string; -moz-transform: @string; -ms-transform: @string; -o-transform: @string; } .box-sizing(@type: border-box) { -webkit-box-sizing: @type; -moz-box-sizing: @type; box-sizing: @type; } .border-radius(@radius: 0) { border-radius: @radius; -moz-border-radius: @radius; -webkit-border-radius: @radius; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; } .user-select(@select) { user-select: @select; -o-user-select:@select; -moz-user-select: @select; -khtml-user-select: @select; -webkit-user-select: @select; -ms-user-select: @select; } .box-shadow(@shadow) { -webkit-box-shadow: @shadow; -moz-box-shadow: @shadow; box-shadow: @shadow; } .fr-clearfix { &::after { clear: both; display: block; content: ""; height: 0; } } .fr-clearfix { &::after { clear: both; display: block; content: ""; height: 0; } } .column-count(@count) { column-count: @count; -moz-column-count: @count; -webkit-column-count: @count; } .column-gap(@gap) { column-gap: @gap; -moz-column-gap: @gap; -webkit-column-gap: @gap; } .animation(@val) { -webkit-animation: @val; -moz-animation: @val; -o-animation: @val; animation: @val; } .handler-size(@size) { .fr-handler { width: @size; height: @size; &.fr-hnw { left: (-@size / 2); top: (-@size / 2); } &.fr-hne { right: (-@size / 2); top: (-@size / 2); } &.fr-hsw { left: (-@size / 2); bottom: (-@size / 2); } &.fr-hse { right: (-@size / 2); bottom: (-@size / 2); } } } .font-smoothing() { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .fr-hide-by-clipping { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; } .fr-hide-by-clipping { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; } .display-inline-flex() { display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex; } .keyframes(@animation-name, @rules) { @-webkit-keyframes @animation-name { @rules(); } @-moz-keyframes @animation-name { @rules(); } @-o-keyframes @animation-name { @rules(); } @keyframes @animation-name { @rules(); } } /***** core/element.less *****/ .fr-element, .fr-element:focus { outline: 0 solid transparent; } .fr-box.fr-basic { .border-radius(@editor-border-radius); .fr-element { font-family: @editor-font-family; color: @editor-font-color; font-size: @editor-font-size; line-height: @editor-line-height; padding: @editor-padding; .box-sizing(border-box); overflow-x: auto; min-height: (20px + (2 * @editor-padding)); text-align: @editor-align; } &.fr-rtl { .fr-element { text-align: right; } } } .fr-element { background: transparent; position: relative; z-index: 2; // CSS rule for iPad not being able to select sometimes. -webkit-user-select: auto; // Fix bootstrap select. a { .user-select(auto); } &.fr-disabled { .user-select(none); } [contenteditable="true"] { outline: 0 solid transparent; } } .fr-box { a.fr-floating-btn { .box-shadow(@floating-btn-box-shadow); .border-radius(100%); height: @floating-btn-size; width: @floating-btn-size; text-align: center; background: @floating-btn-bg; color: @floating-btn-text; .transition(background @transition-timing, color @transition-timing, transform @transition-timing); outline: none; left: 0; top: 0; line-height: (@floating-btn-size); .transform(scale(0)); text-align: center; display: block; .box-sizing(border-box); border: @floating-btn-border; svg { .transition(transform @transition-timing); fill: @floating-btn-text; } i, svg { font-size: @floating-btn-font-size; line-height: @floating-btn-size; } &.fr-btn + .fr-btn { margin-left: 10px; } &:hover { background: @floating-btn-hover-bg; cursor: pointer; svg { fill: @floating-btn-hover-text; } } } .fr-visible { a.fr-floating-btn { .transform(scale(1)); } } } /***** core/iframe.less *****/ iframe.fr-iframe { width: 100%; border: none; position: relative; display: block; z-index: 2; .box-sizing(border-box); } /***** core/wrapper.less *****/ .fr-wrapper { position: relative; z-index: 1; .fr-clearfix(); .fr-placeholder { position: absolute; font-size: @placeholder-size; color: @placeholder-color; font-family: @placeholder-font-family; z-index: 1; display: none; top: 0; left: 0; right: 0; overflow: hidden; } &.show-placeholder { .fr-placeholder { display: block; white-space: nowrap; text-overflow: ellipsis; } } ::selection { // background: @selection-bg; // color: @selection-text; .xf-uix_textSelection(); } ::-moz-selection { // background: @selection-bg; // color: @selection-text; .xf-uix_textSelection(); } } .fr-box.fr-basic { .fr-wrapper { background: @editor-bg; border: @editor-border; border-bottom-color: @ui-bg-color; top: 0; left: 0; } } .fr-box.fr-basic { &.fr-top .fr-wrapper { border-top: 0; } &.fr-bottom .fr-wrapper { border-bottom: 0; .border-radius(@editor-border-radius @editor-border-radius 0 0); } } @media (min-width: @screen-md) { .fr-box.fr-document { min-width: 21cm; .fr-wrapper { text-align: left; padding: @document-ready-padding; min-width: 21cm; background: @document-ready-bg-color; .fr-element { text-align: left; background: @white; width: 21cm; margin: auto; min-height: 26cm !important; padding: 1cm 2cm; overflow: visible; z-index: auto; hr { margin-left: -2cm; margin-right: -2cm; background: @document-ready-bg-color; height: 1cm; outline: none; border: none; } img { z-index: 1; } } } } } /***** tooltip.less *****/ .fr-tooltip { position: absolute; top: 0; left: 0; padding: 0 8px; .border-radius(@border-radius); background: @tooltip-bg; color: @tooltip-text; font-size: @tooltip-font-size; line-height: @tooltip-line-height; font-family: @font-family; .transition(opacity @transition-timing); .opacity(0); left: -3000px; .user-select(none); z-index: 2147483647; text-rendering: optimizelegibility; .font-smoothing(); &.fr-visible { .opacity(1); } } /***** ui/buttons.less *****/ // Command button. .fr-toolbar, .fr-popup, .fr-modal { .fr-btn-wrap { float: left; white-space: nowrap; position: relative; &.fr-hidden { display: none; } } .fr-command.fr-btn { background: transparent; color: @btn-text; -moz-outline: 0; outline: none; border: 0; line-height: 1; cursor: pointer; text-align: left; margin: @btn-margin (@btn-margin / 2); padding: 0; .transition(all @toolbar-transition-timing); .border-radius(@btn-border-radius); z-index: 2; position: relative; .box-sizing(border-box); text-decoration: none; .user-select(none); float: left; height: @btn-height; &.fr-dropdown.fr-options { .border-radius(@btn-dropdown-border-radius); } &.fr-btn-hover { .border-radius(@btn-hover-border-radius); } &::-moz-focus-inner { border: 0; padding: 0 } &.fr-btn-text { width: auto; } i, svg { display: block; text-align: center; float: none; margin: ((@btn-height - @btn-svg-size) / 2) ((@btn-width - @btn-svg-size) / 2); width: @btn-svg-size; } svg.fr-svg { height: @btn-svg-size; } svg path { .transition(all @toolbar-transition-timing); fill: @btn-text; } // Used for accessibility instead of aria-label. span.fr-sr-only { .fr-hide-by-clipping(); } span { font-size: @ui-font-size; display: block; line-height: (@ui-font-size + 3px); min-width: (@btn-width - 2 * @btn-margin); float: left; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; height: (@ui-font-size + 3px); font-weight: bold; padding: 0 @btn-margin; } img { margin: ((@btn-height - @btn-font-size) / 2) ((@btn-width - @btn-font-size) / 2); width: @btn-font-size; } &.fr-btn-active-popup { background: @btn-active-bg; } &.fr-dropdown { &.fr-selection { span { font-weight: normal; } } i, span, img, svg { margin-left: (((@btn-width - @btn-svg-size) / 2) - @dropdown-arrow-width); margin-right: (((@btn-width - @btn-svg-size) / 2) + @dropdown-arrow-width); } &:after { position: absolute; width: 0; height: 0; border-left: @dropdown-arrow-width solid transparent; border-right: @dropdown-arrow-width solid transparent; border-top: @dropdown-arrow-width solid @btn-text; right: ceil((((@btn-width - @btn-svg-size) / 2 - @dropdown-arrow-width) / 2)); top: ((@btn-height - @dropdown-arrow-width) / 2); .transition(all @dropdown-transition-timing); content: ""; } // Dropdown is visible. &.fr-active { fill: @btn-text; background: @btn-active-bg; .transition(@toolbar-transition-timing ease); &:hover { background: @btn-hover-bg; fill: @btn-selected-text; &::after { border-top-color: @btn-selected-text; } } &:after { border-top: 0; border-bottom: 4px solid @ui-text; } } } &.fr-disabled { color: @btn-disabled-color; cursor: default; .opacity(@btn-disabled-opacity); &::after { border-top-color: @btn-disabled-color; } } &.fr-hidden { display: none; } } .fr-tabs { .fr-command.fr-btn { margin: 0; width: @popup-tab-button-width; height: @popup-tab-button-height; .border-radius(0); &:not(:hover):not(:focus) { &.fr-active, &.fr-active-tab { background: @ui-bg; } } span { height: (@btn-font-size + 3); } img, svg { margin: ((@popup-tab-button-height - @popup-btn-svg-size) / 2) ((@popup-tab-button-width - @popup-btn-svg-size) / 2); width: @popup-btn-svg-size; height: @popup-btn-svg-size; } } } .fr-btn-grp, .fr-more-toolbar, .fr-buttons:not(.fr-tabs) { .fr-command.fr-btn { &.fr-active:not(.fr-dropdown) { svg path { fill: @btn-active-text; } } } } &.fr-disabled { .fr-btn, .fr-btn.fr-active { color: @btn-disabled-color; .opacity(@btn-disabled-opacity); &.fr-dropdown::after { border-top-color: @btn-disabled-color; } } } &.fr-rtl { .fr-btn-grp { &.fr-float-left { float: right; } &.fr-float-right { float: left; } } .fr-command.fr-btn, .fr-btn-wrap { float: right; &.fr-dropdown.fr-options { .border-radius(@btn-hover-border-radius); } &.fr-btn-hover { .border-radius(@btn-dropdown-border-radius); } } } } .fr-toolbar.fr-inline { > .fr-command.fr-btn:not(.fr-hidden), > .fr-btn-wrap:not(.fr-hidden) { .display-inline-flex(); float: none; } } .fr-desktop { .fr-command { // Hover. &:hover, &:focus, &.fr-btn-hover, &.fr-expanded { outline: 0; color: @btn-hover-text; &:not(.fr-table-cell) { background: @btn-hover-bg; } &::after { border-top-color: @btn-hover-text; } } // Button is selected. &.fr-selected:not(.fr-table-cell), &:active { color: @btn-selected-text; background: @btn-selected-bg; } &.fr-active { &:hover, &:focus, &.fr-btn-hover, &.fr-expanded { background: @btn-hover-bg; } &:active { background: @btn-active-bg; } } &.fr-disabled { &:hover, &:focus, &.fr-selected { background: transparent; } } } &.fr-disabled { .fr-command { &:hover, &:focus, &.fr-selected { background: transparent; } } } } .fr-toolbar.fr-mobile, .fr-popup.fr-mobile { .fr-command.fr-blink { background: @btn-active-bg; } } /***** ui/dropdown.less *****/ .fr-command.fr-btn { &.fr-options { width: @dropdown-options-width; margin-left: @dropdown-options-margin-left; &.fr-btn-hover, &:hover, &:focus { border-left: @dropdown-options-border-left; .transition(border-left 0s, background-color 0.5s); } } + .fr-dropdown-menu { background: @ui-bg; display: inline-block; position: absolute; right: auto; bottom: auto; height: auto; z-index: 4; .border-radius(@dropdown-border-radius); -webkit-overflow-scrolling: touch; overflow: hidden; zoom: 1; .box-shadow(@dropdown-menu-box-shadow); &.test-height { .fr-dropdown-wrapper { .transition(none); height: auto; max-height: @dropdown-max-height; } } .fr-dropdown-wrapper { padding: 0; margin: auto; display: inline-block; text-align: left; position: relative; .box-sizing(border-box); .transition(height @dropdown-transition-timing); margin-top: 0; float: left; height: 0; margin-top: 0 !important; .fr-dropdown-content { position: relative; ul.fr-dropdown-list { list-style-type: none; margin: 0; padding: @dropdown-list-padding; min-width: @dropdown-list-min-width; li { padding: 0; margin: 0; font-size: @dropdown-list-item-font-size; a { padding: 0 (((@dropdown-list-min-width - @floating-svg-btn-size) / 2) - @btn-margin); line-height: 200%; display: flex; cursor: pointer; white-space: nowrap; color: inherit; text-decoration: none; .border-radius(0); svg { width: @floating-svg-btn-size; height: @floating-svg-btn-size; margin: (@btn-margin - 1) @btn-margin; path { fill: @btn-text; } } &.fr-active { background: @ui-active-color; } &.fr-disabled { color: @btn-disabled-color; cursor: default; } .fr-shortcut { margin-left: 20px; font-weight: bold; -webkit-opacity: 0.75; -moz-opacity: 0.75; opacity: 0.75; } } } } } } } &.fr-active { + .fr-dropdown-menu { display: inline-block; .box-shadow(@dropdown-menu-box-shadow); } } } .fr-bottom > .fr-command.fr-btn { + .fr-dropdown-menu { .border-radius(@border-radius @border-radius 0 0); } } .fr-toolbar, .fr-popup { &.fr-rtl { .fr-dropdown-wrapper { text-align: right !important; } } } /***** ui/modal.less *****/ body.fr-prevent-scroll { overflow: hidden; &.fr-mobile { position: fixed; -webkit-overflow-scrolling: touch; } } .fr-modal { color: @ui-text; font-family: @font-family; position: fixed; overflow-x: auto; overflow-y: scroll; top: 0; left: 0; bottom: 0; right: 0; width: 100%; z-index: 2147483640; text-rendering: optimizelegibility; .font-smoothing(); text-align: center; line-height: 1.2; &.fr-middle { .fr-modal-wrapper { margin-top: 0; margin-bottom: 0; margin-left: auto; margin-right: auto; top: 50%; left: 50%; .transform(translate(-50%, -50%)); position: absolute; } } .fr-modal-wrapper { .border-radius(@modal-wrapper-border-radius); background-clip: padding-box; margin: @modal-wrapper-margin-lg; display: inline-block; background: @modal-bg; min-width: @modal-wrapper-min-width; .box-shadow(@modal-wrapper-box-shadow); border: 0; overflow: hidden; width: 90%; position: relative; @media (min-width: @screen-sm) and (max-width: @screen-sm-max) { margin: @modal-wrapper-margin-sm; width: 70%; } @media (min-width: @screen-md) { margin: @modal-wrapper-margin-md; width: 960px; } .fr-modal-head { background: @modal-bg; overflow: hidden; position: absolute; width: 100%; min-height: @modal-head-min-height; z-index: 3; border-bottom: solid @ui-bg-color 1px; .transition(all @transition-timing); .fr-modal-head-line { height: @modal-head-height; padding: @modal-head-padding; } .fr-modal-close { margin: @modal-close-margin; position: absolute; top: 0; right: 0; } h4 { font-size: @modal-heading-font-size; padding: @modal-heading-padding; margin: 0; font-weight: 400; line-height: @modal-head-line-height; display: inline-block; float: left; } } div.fr-modal-body { height: 100%; min-height: @modal-body-min-width; overflow-y: auto; padding-bottom: @modal-body-padding-bottom; &:focus { outline: 0; } button.fr-command { height: @modal-body-btn-height; line-height: 1; color: @ui-color; padding: @modal-body-btn-padding; cursor: pointer; text-decoration: none; border: none; background: none; font-size: 16px; outline: none; .transition(background @transition-timing); .border-radius(@border-radius); + button { margin-left: 24px; } &:hover, &:focus { background: @btn-hover-bg; color: @ui-color; } &:active { background: @btn-active-bg; color: @ui-color; } } button::-moz-focus-inner { border: 0; } } } } .fr-desktop .fr-modal-wrapper { .fr-modal-head { i:hover { background: @ui-hover-color; } } } // Overlay that appears with modal. .fr-overlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: @modal-overlay-color; .opacity(@modal-overlay-opacity); z-index: 2147483639; } ol.decimal_type { counter-reset: item; } ol.decimal_type > li{ display: block; } ol.decimal_type > li:before { content: counters(item, ".") ". "; counter-increment: item; } /***** ui/popup.less *****/ .fr-popup { position: absolute; display: none; color: @ui-text; background: @ui-bg; .box-shadow(@popup-box-shadow); font-family: @font-family; .box-sizing(border-box); .user-select(none); margin-top: @popup-margin-top; z-index: 2147483635; text-align: left; .border-radius(@popup-border-radius); text-rendering: optimizelegibility; .font-smoothing(); line-height: 1.2; .fr-icon { text-align: center; vertical-align: middle; font-size: @popup-icon-font-size; line-height: 1; cursor: pointer; font-weight: 400; box-sizing: content-box; padding: @popup-icon-padding; } .fr-icon-container { padding: @popup-border-padding; max-height: @popup-container-max-height; overflow: auto; .box-sizing(border-box); @supports not (-ms-high-contrast: none) { grid-template-columns: repeat(auto-fill, minmax(@btn-size, @btn-size)); display: grid; } @media (min-width: @screen-sm) { min-width: @popup-min-width; } @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { display: inline-flex; -ms-flex-flow: row wrap; } @media screen and (-ms-high-contrast: active) and (max-width: @screen-sm), (-ms-high-contrast: none) and (max-width: @screen-sm) { width: @popup-sm-ie-width; } } .fr-input-focus { background: @ui-hover-light-color; } &.fr-above { margin-top: -10px; border-top: 0; } &.fr-active { display: block; } &.fr-hidden { .opacity(0); } &.fr-empty { display: none !important; } .fr-hs { display: block !important; &.fr-hidden { display: none !important; } } .fr-input-line { position: relative; padding: @input-line-padding; input[type="text"], textarea { width: 100%; margin-bottom: @input-margin-bottom; .border-radius(@input-border-radius); border: solid @input-border-width @input-border-color; color: @ui-text; font-size: @input-label-font-size; background: @ui-bg; position: relative; z-index: 2; padding: @input-padding; .box-sizing(border-box); .transition(border @toolbar-transition-timing, padding @toolbar-transition-timing); &:hover { border: solid @input-border-width @ui-border-hover-color; } &:focus { border: solid @input-focus-border-width @ui-color; padding: @input-focus-padding; } } input[type="text"] { height: @input-height; } input + label, textarea + label { position: absolute; top: @input-label-top; left: @input-label-left; font-size: @input-label-font-size; color: grey; .transition(all @toolbar-transition-timing ease); z-index: 3; display: block; background: @ui-bg; padding: 0; cursor: text; } input.fr-not-empty + label, textarea.fr-not-empty + label { color: @input-label-color; width: auto; left: @input-label-left-after; padding: 0 @input-label-padding; font-size: @input-label-font-size-after; top: @input-label-top-after; } } input, textarea { .user-select(text); .border-radius(0); outline: none; } textarea { resize: none, } .fr-buttons { white-space: nowrap; line-height: 0; .fr-btn { margin-left: @btn-margin; margin-right: @btn-margin; display: inline-block; float: none; i { float: left; } } .fr-separator { display: inline-block; float: none; } &.fr-tabs { .border-radius(@btn-tab-border-radius); background-color: @ui-bg-color-more; overflow: hidden; &.fr-tabs-scroll { @media (max-width: @screen-sm) { overflow: scroll; overflow-y: hidden; width: @popup-min-width; } } } &:not(.fr-tabs) { padding: @popup-padding; } } .fr-layer { .border-radius(@popup-border-radius); width: (@popup-layer-width * 0.75); @media (min-width: @screen-sm) { width: @popup-layer-width; } .box-sizing(border-box); margin: @popup-layer-margin; display: none; &.fr-active { display: inline-block; } } .fr-action-buttons { z-index: 7; height: @btn-size; text-align: right; button.fr-command { height: @btn-size; line-height: 1; color: @ui-color; padding: @popup-action-btn-spacing; cursor: pointer; text-decoration: none; border: none; background: none; font-size: @popup-action-button-font-size; outline: none; .transition(background @transition-timing); .border-radius(@border-radius); + button { margin-left: 24px; } &:hover, &:focus { background: @btn-hover-bg; color: @ui-color; } &:active { background: @btn-active-bg; color: @ui-color; } } button::-moz-focus-inner { border: 0; } } .fr-checkbox { position: relative; display: inline-block; width: @checkbox-size; height: @checkbox-size; padding: @checkbox-padding; border-radius: 100%; line-height: 1; .box-sizing(content-box); vertical-align: middle; svg { margin-left: @checkbox-margin; margin-top: @checkbox-margin; display: none; width: @checbox-svg-size; height: @checbox-svg-size; } span { .border-radius(@border-radius); width: @checkbox-size; height: @checkbox-size; display: inline-block; position: relative; z-index: 1; .box-sizing(border-box); .transition(background @transition-timing, border-color @transition-timing); } input { position: absolute; z-index: 2; .opacity(0); border: 0 none; cursor: pointer; height: @checkbox-size; margin: 0; padding: 0; width: @checkbox-size; top: 7px; left: 7px; &:not(:checked) { & + span { border: solid 2px @input-border-color; } &:active + span { background-color: @bg-color; } &:focus + span, &:hover + span { border-color: @ui-border-hover-color; } } &:checked { & + span { background: @ui-color; border: solid 2px @ui-color; svg { display: block; } } &:active + span { background-color: @checbox-active-bg; } &:focus + span, &:hover + span { .opacity(@checkbox-opacity); } } } } .fr-checkbox-line { font-size: @checkbox-line-font-size; line-height: @checkbox-line-height; margin-top: @checkbox-line-margin-top; label { cursor: pointer; margin: @checkbox-line-label-margin; vertical-align: middle; } } &.fr-rtl { direction: rtl; text-align: right; .fr-action-buttons { text-align: left; } .fr-input-line { input + label, textarea + label { left: auto; right: 0; } } .fr-buttons .fr-separator.fr-vs { float: right; } } } /***** ui/text_edit.less *****/ .fr-text-edit-layer { width: 250px; .box-sizing(border-box); display: block !important; } /***** ui/toolbar.less *****/ .fr-toolbar { color: @ui-text; background: @ui-bg; position: relative; font-family: @font-family; .fr-clearfix(); .box-sizing(border-box); .user-select(none); .border-radius(@border-radius); text-align: left; border: @editor-border; text-rendering: optimizelegibility; .font-smoothing(); line-height: 1.2; padding-bottom: 0; .transition(padding-bottom @toolbar-transition-timing); &::after { height: 0; } .fr-newline { clear: both; display: block; content: ""; margin-left: @toolbar-newline-margin; margin-right: @toolbar-newline-margin; background: @toolbar-newline-color; height: @toolbar-newline-height; .transition(height @toolbar-transition-timing); } &.fr-toolbar-open { .fr-newline { height: 0; } padding-bottom: @more-toolbar-btn-height; } .fr-float-right { float: right; } .fr-float-left { float: left; } .fr-more-toolbar { float: left; .border-radius(0); background-color: @ui-bg-color-more; .transition(height @toolbar-transition-timing); height: 0; z-index: 2; overflow: hidden; position: absolute; .box-sizing(border-box); width: 100%; &.fr-expanded { height: @more-toolbar-btn-height; } &.fr-overflow-visible { overflow: visible; } & > .fr-command.fr-btn { margin-left: @btn-margin; margin-right: @btn-margin; } } .fr-btn-grp { display: inline-block; margin: @more-toolbar-margin; @media (max-width: @screen-sm) { margin: @more-toolbar-margin-sm; } } .fr-command.fr-btn.fr-open { margin-top: @btn-more-open-margin-top; margin-bottom: @btn-more-open-margin-bottom; .border-radius(@btn-border-radius @btn-border-radius 0 0); &:not(:hover):not(:focus):not(:active) { background: @ui-bg-color-more; } } &.fr-rtl { text-align: right; } &.fr-inline { display: none; .box-shadow(@popup-box-shadow); border: 0; white-space: nowrap; position: absolute; margin-top: 5px; z-index: 2147483630; &.fr-above { margin-top: -10px; border-top: 0; } .fr-newline { height: 0; } } &.fr-top { top: 0; border-bottom: 0; .border-radius(@editor-border-radius @editor-border-radius 0 0); } &.fr-bottom { bottom: 0; border-top: 0; padding-bottom: 0; .border-radius(0 0 @editor-border-radius @editor-border-radius); .fr-newline { padding-top: 0; .transition(padding-top @toolbar-transition-timing); } &.fr-toolbar-open .fr-newline { padding-top: @more-toolbar-btn-height; background: @white; } .fr-command.fr-btn.fr-open { margin-top: @btn-more-open-margin-bottom; margin-bottom: @btn-more-open-margin-top; .border-radius(0 0 @btn-border-radius @btn-border-radius); } } &.fr-sticky-on { .border-radius(0); } } .fr-separator { background: @separator-color; display: block; vertical-align: top; float: left; + .fr-separator { display: none; } &.fr-vs { height: (@btn-height - 2 * @btn-margin); width: @separator-size; margin: @separator-margin; } &.fr-hs { clear: both; width: calc(~"100% - (2 * @{btn-margin})"); margin: 0 @btn-margin; height: @separator-size; } &.fr-hidden { display: none !important; } } .fr-rtl .fr-separator { float: right; } .fr-toolbar.fr-inline .fr-separator.fr-hs { float: none; } .fr-toolbar.fr-inline .fr-separator.fr-vs { float: none; display: inline-block; } .fr-second-toolbar { border: @editor-border; border-top: 0; background: @editor-bg; line-height: 1.4; .border-radius(0 0 @editor-border-radius @editor-border-radius); .fr-clearfix(); } #fr-logo { float: left; outline: none; & > span{ display: inline-block; float: left; font-family: sans-serif; padding: @logo-span-padding; font-size: @logo-span-font-size; font-weight: 500; color: @logo-color; .transition(color @logo-transition-timing); } & > svg { height: @logo-svg-height; width: @logo-svg-width; margin: @logo-svg-margin; cursor: pointer; } & > svg * { .transition(fill @logo-transition-timing); } &:hover, &:focus { & > span { color: @btn-active-hover-text; } & > svg .fr-logo { fill: @btn-active-hover-text; } } } /***** helpers.less *****/ .fr-visibility-helper { display: none; margin-left: 0 !important; @media (min-width: @screen-sm) { margin-left: 1px !important; } @media (min-width: @screen-md) { margin-left: 2px !important; } @media (min-width: @screen-lg) { margin-left: 3px !important; } } .fr-opacity-0 { .opacity(0); } .fr-box { position: relative; } /** * Postion sticky hacks. */ .fr-sticky { position: -webkit-sticky; position: -moz-sticky; position: -ms-sticky; position: -o-sticky; position: sticky; } .fr-sticky-off { position: relative; } .fr-sticky-on { position: fixed; z-index: 10; &.fr-sticky-ios { position: absolute; left: 0; right: 0; width: auto !important; } } .fr-sticky-dummy { display: none; } .fr-sticky-on + .fr-sticky-dummy, .fr-sticky-box > .fr-sticky-dummy { display: block; } // Used for accessibility instead of aria-label. span.fr-sr-only { .fr-hide-by-clipping(); } /***** plugins/colors.less *****/ .fr-popup { .fr-layer.fr-color-hex-layer { margin: 0; padding: @popup-border-padding; padding-top: 0; float: left; .fr-input-line { float: left; width: calc(~"100% - 50px"); padding: @color-input-line-padding; } .fr-action-buttons { float: right; width: @btn-width; height: @btn-height; padding: @color-action-button-padding; margin: 0; } .fr-action-buttons { button.fr-command { .border-radius(@border-radius); font-size: @color-font-size; height: @btn-height; width: @btn-width; box-sizing: border-box; } } } .fr-separator + .fr-colors-tabs { margin-left: 2px; margin-right: 2px; } .fr-color-set { line-height: 0; display: none; &.fr-selected-set { display: block; padding: @popup-border-padding; padding-bottom: 0; } > span { display: inline-block; width: @color-span-size; height: @color-span-size; position: relative; z-index: 1; > i, > svg { text-align: center; line-height: @color-line-height; height: @ui-svg-size; width: @ui-svg-size; margin: @color-remove-svg-margin; font-size: @color-font-size; position: absolute; bottom: 0; cursor: default; left: 0; path { fill: @ui-text; } } .fr-selected-color { color: @white; font-family: FontAwesome; font-size: @color-font-size; font-weight: 400; line-height: @color-line-height; position: absolute; top: 0; bottom: 0; right: 0; left: 0; text-align: center; cursor: default; } &:hover, &:focus { outline: 1px solid @ui-text; z-index: 2; } } } } .fr-rtl .fr-popup { .fr-colors-tabs { .fr-colors-tab { &.fr-selected-tab { &[data-param1="text"] ~ [data-param1="background"]::after { .transform(translate3d(100%,0,0)); } } } } } /***** plugins/draggable.less *****/ .fr-drag-helper { background: @drag-helper-bg; height: 2px; margin-top: -1px; .opacity(0.2); position: absolute; z-index: 2147483640; display: none; &.fr-visible { display: block; } } .fr-dragging { .opacity(0.4); } /***** plugins/file.less *****/ .fr-popup { .fr-file-upload-layer { border: dashed 2px @ui-disabled-color; padding: 25px 0; margin: @popup-border-margin; position: relative; font-size: 14px; letter-spacing: 1px; line-height: 140%; .box-sizing(border-box); text-align: center; &:hover { background: @ui-hover-color; } &.fr-drop { background: @ui-hover-color; border-color: @ui-color; } .fr-form { .opacity(0); position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 2147483640; overflow: hidden; margin: 0 !important; padding: 0 !important; width: 100% !important; input { cursor: pointer; position: absolute; right: 0; top: 0; bottom: 0; width: 500%; height: 100%; margin: 0; font-size: 400px; } } } .fr-file-progress-bar-layer { .box-sizing(border-box); > h3 { font-size: 16px; margin: 10px 0; font-weight: normal; } > div.fr-action-buttons { display: none; } > div.fr-loader { background: mix(@white, @ui-color, 70%); height: 10px; width: 100%; margin-top: 20px; overflow: hidden; position: relative; span { display: block; height: 100%; width: 0%; background: @ui-color; .transition(width @transition-timing); } &.fr-indeterminate { span { width: 30% !important; position: absolute; top: 0; .animation(loading 2s linear infinite); } } } &.fr-error { > div.fr-loader { display: none; } > div.fr-action-buttons { display: block; } } } } @keyframes loading { from {left: -25%;} to {left: 100%} } .keyframes(loading) { from {left: -25%;} to {left: 100%} } /***** plugins/image.less *****/ .fr-element img { cursor: pointer; padding: @image-padding; } .fr-image-resizer { position: absolute; border: solid 1px @ui-color; display: none; .user-select(none); .box-sizing(content-box); &.fr-active { display: block, } .fr-handler { display: block; position: absolute; background: @ui-color; border: solid 1px @white; .border-radius(2px); z-index: 4; .box-sizing(border-box); &.fr-hnw { cursor: nw-resize, } &.fr-hne { cursor: ne-resize, } &.fr-hsw { cursor: sw-resize, } &.fr-hse { cursor: se-resize, } } .handler-size(@handler-size); @media(min-width: @screen-lg) { .handler-size(@handler-size-lg); } } .fr-image-overlay { position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 2147483640; display: none; } .fr-popup { .fr-image-upload-layer { border: dashed 2px @ui-disabled-color; padding: 25px 0; margin: @popup-border-margin; position: relative; font-size: 14px; letter-spacing: 1px; line-height: 140%; text-align: center; &:hover { background: @ui-hover-color; } &.fr-drop { background: @ui-hover-color; border-color: @ui-color; } .fr-form { .opacity(0); position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 2147483640; overflow: hidden; margin: 0 !important; padding: 0 !important; width: 100% !important; input { cursor: pointer; position: absolute; right: 0; top: 0; bottom: 0; width: 500%; height: 100%; margin: 0; font-size: 400px; } } } .fr-image-progress-bar-layer { > h3 { font-size: 16px; margin: 10px 0; font-weight: normal; } > div.fr-action-buttons { display: none; } > div.fr-loader { background: mix(@white, @ui-color, 70%); height: 10px; width: 100%; margin-top: 20px; overflow: hidden; position: relative; span { display: block; height: 100%; width: 0%; background: @ui-color; .transition(width @transition-timing); } &.fr-indeterminate { span { width: 30% !important; position: absolute; top: 0; .animation(loading 2s linear infinite); } } } &.fr-error { > div.fr-loader { display: none; } > div.fr-action-buttons { display: block; } } } } .fr-image-size-layer { .fr-image-group { .fr-input-line { width: calc(~"50% - 5px"); display: inline-block; + .fr-input-line { margin-left: 10px; } } } } .fr-uploading { .opacity(0.4); } .keyframes(loading) { from {left: -25%;} to {left: 100%} } /***** plugins/table.less *****/ .fr-element { table { td.fr-selected-cell, th.fr-selected-cell { border: 1px double @ui-color; } // Prevent Firefox selection. tr { .user-select(none); } td, th { .user-select(text); } } // Prevent Firefox selection. .fr-no-selection { table { td, th { .user-select(none); } } } } .fr-table-resizer { cursor: col-resize; position: absolute; z-index: 3; display: none; &.fr-moving { z-index: 2; } div { .opacity(0); border-right: @table-resizer; } } .fr-no-selection { .user-select(none); } // Table popups. .fr-popup { // Insert table. .fr-table-size { margin: @popup-border-margin; .fr-table-size-info { text-align: center; font-size: 14px; } .fr-select-table-size { line-height: 0; padding: 5px; white-space: nowrap; > span { display: inline-block; padding: 0 4px 4px 0; background: transparent; > span { display: inline-block; width: 18px; height: 18px; border: @insert-table-grid; } &.hover { background: transparent; > span { background: rgba(red(@ui-color), green(@ui-color), blue(@ui-color), 0.3); border: solid 1px @xf-uix_primaryColor; } } } .new-line { .fr-clearfix(); } } } &.fr-above { .fr-table-size { .fr-select-table-size { > span { display: inline-block !important; } } } } // Table colors. .fr-table-colors { display: block; padding: @popup-border-padding; padding-bottom: 0; } } .fr-popup.fr-desktop .fr-table-size .fr-select-table-size > span > span { width: 12px; height: 12px; } .fr-insert-helper { position: absolute; z-index: 9999; white-space: nowrap; } /***** plugins/video.less *****/ .fr-element { .fr-video { .user-select(none); &::after { position: absolute; content: ''; z-index: 1; top: 0; left: 0; right: 0; bottom: 0; cursor: pointer; display: block; background: rgba(0,0,0,0); } &.fr-active > * { z-index: 2; position: relative; } > * { .box-sizing(content-box); max-width: 100%; border: none; } } } .fr-box .fr-video-resizer { position: absolute; border: solid 1px @ui-color; display: none; .user-select(none); &.fr-active { display: block, } .fr-handler { display: block; position: absolute; background: @ui-color; border: solid 1px @white; z-index: 4; .box-sizing(border-box); &.fr-hnw { cursor: nw-resize, } &.fr-hne { cursor: ne-resize, } &.fr-hsw { cursor: sw-resize, } &.fr-hse { cursor: se-resize, } } .handler-size(@handler-size); @media(min-width: @screen-lg) { .handler-size(@handler-size-lg); } } .fr-popup { .fr-video-size-layer { .fr-video-group { .fr-input-line { width: calc(~"50% - 5px"); display: inline-block; + .fr-input-line { margin-left: 10px; } } } } .fr-video-upload-layer { border: dashed 2px @ui-disabled-color; padding: 25px 0; margin: @popup-border-margin; position: relative; font-size: 14px; letter-spacing: 1px; line-height: 140%; text-align: center; &:hover { background: @ui-hover-color; } &.fr-drop { background: @ui-hover-color; border-color: @ui-color; } .fr-form { .opacity(0); position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 2147483640; overflow: hidden; margin: 0 !important; padding: 0 !important; width: 100% !important; input { cursor: pointer; position: absolute; right: 0; top: 0; bottom: 0; width: 500%; height: 100%; margin: 0; font-size: 400px; } } } .fr-video-progress-bar-layer { > h3 { font-size: 16px; margin: 10px 0; font-weight: normal; } > div.fr-action-buttons { display: none; } > div.fr-loader { background: mix(@white, @ui-color, 70%); height: 10px; width: 100%; margin-top: 20px; overflow: hidden; position: relative; span { display: block; height: 100%; width: 0%; background: @ui-color; .transition(width @transition-timing); } &.fr-indeterminate { span { width: 30% !important; position: absolute; top: 0; .animation(loading 2s linear infinite); } } } &.fr-error { > div.fr-loader { display: none; } > div.fr-action-buttons { display: block; } } } } .fr-video-overlay { position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 2147483640; display: none; } .fr-autoplay-margin{ margin-top:0px !important; } /* Files: froala.less, plugins/colors.less, plugins/draggable.less, plugins/file.less, plugins/image.less, plugins/table.less, plugins/video.less */]]>

</template>


-<template title="fa.css" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[<xf:if is="{{ property('uix_iconFontFamily')}} == 'fontawesome'"> /*! * Font Awesome Pro by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) */@font-face{font-family:'Font Awesome 5 Duotone';font-style:normal;font-weight:900;src:url('styles/fonts/fa/fa-duotone-900.woff2?_v=5.15.1') format('woff2'),url('styles/fonts/fa/fa-duotone-900.woff?_v=5.15.1') format('woff')}.fad{font-family:'Font Awesome 5 Duotone';position:relative;font-weight:900}.fad:before{position:absolute;color:var(--fa-primary-color, inherit);opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad:after{color:var(--fa-secondary-color, inherit);opacity:.4;opacity:var(--fa-secondary-opacity, .4)}.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before{opacity:.4;opacity:var(--fa-secondary-opacity, .4)}.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:1;opacity:var(--fa-primary-opacity, 1)}.fad.fa-inverse{color:#fff}.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fad.fa-stack-1x:before,.fad.fa-stack-2x:before,.fad.fa-fw:before{left:50%;transform:translateX(-50%)}.fad.fa-abacus:after{content:"\10f640"}.fad.fa-acorn:after{content:"\10f6ae"}.fad.fa-ad:after{content:"\10f641"}.fad.fa-address-book:after{content:"\10f2b9"}.fad.fa-address-card:after{content:"\10f2bb"}.fad.fa-adjust:after{content:"\10f042"}.fad.fa-air-conditioner:after{content:"\10f8f4"}.fad.fa-air-freshener:after{content:"\10f5d0"}.fad.fa-alarm-clock:after{content:"\10f34e"}.fad.fa-alarm-exclamation:after{content:"\10f843"}.fad.fa-alarm-plus:after{content:"\10f844"}.fad.fa-alarm-snooze:after{content:"\10f845"}.fad.fa-album:after{content:"\10f89f"}.fad.fa-album-collection:after{content:"\10f8a0"}.fad.fa-alicorn:after{content:"\10f6b0"}.fad.fa-alien:after{content:"\10f8f5"}.fad.fa-alien-monster:after{content:"\10f8f6"}.fad.fa-align-center:after{content:"\10f037"}.fad.fa-align-justify:after{content:"\10f039"}.fad.fa-align-left:after{content:"\10f036"}.fad.fa-align-right:after{content:"\10f038"}.fad.fa-align-slash:after{content:"\10f846"}.fad.fa-allergies:after{content:"\10f461"}.fad.fa-ambulance:after{content:"\10f0f9"}.fad.fa-american-sign-language-interpreting:after{content:"\10f2a3"}.fad.fa-amp-guitar:after{content:"\10f8a1"}.fad.fa-analytics:after{content:"\10f643"}.fad.fa-anchor:after{content:"\10f13d"}.fad.fa-angel:after{content:"\10f779"}.fad.fa-angle-double-down:after{content:"\10f103"}.fad.fa-angle-double-left:after{content:"\10f100"}.fad.fa-angle-double-right:after{content:"\10f101"}.fad.fa-angle-double-up:after{content:"\10f102"}.fad.fa-angle-down:after{content:"\10f107"}.fad.fa-angle-left:after{content:"\10f104"}.fad.fa-angle-right:after{content:"\10f105"}.fad.fa-angle-up:after{content:"\10f106"}.fad.fa-angry:after{content:"\10f556"}.fad.fa-ankh:after{content:"\10f644"}.fad.fa-apple-alt:after{content:"\10f5d1"}.fad.fa-apple-crate:after{content:"\10f6b1"}.fad.fa-archive:after{content:"\10f187"}.fad.fa-archway:after{content:"\10f557"}.fad.fa-arrow-alt-circle-down:after{content:"\10f358"}.fad.fa-arrow-alt-circle-left:after{content:"\10f359"}.fad.fa-arrow-alt-circle-right:after{content:"\10f35a"}.fad.fa-arrow-alt-circle-up:after{content:"\10f35b"}.fad.fa-arrow-alt-down:after{content:"\10f354"}.fad.fa-arrow-alt-from-bottom:after{content:"\10f346"}.fad.fa-arrow-alt-from-left:after{content:"\10f347"}.fad.fa-arrow-alt-from-right:after{content:"\10f348"}.fad.fa-arrow-alt-from-top:after{content:"\10f349"}.fad.fa-arrow-alt-left:after{content:"\10f355"}.fad.fa-arrow-alt-right:after{content:"\10f356"}.fad.fa-arrow-alt-square-down:after{content:"\10f350"}.fad.fa-arrow-alt-square-left:after{content:"\10f351"}.fad.fa-arrow-alt-square-right:after{content:"\10f352"}.fad.fa-arrow-alt-square-up:after{content:"\10f353"}.fad.fa-arrow-alt-to-bottom:after{content:"\10f34a"}.fad.fa-arrow-alt-to-left:after{content:"\10f34b"}.fad.fa-arrow-alt-to-right:after{content:"\10f34c"}.fad.fa-arrow-alt-to-top:after{content:"\10f34d"}.fad.fa-arrow-alt-up:after{content:"\10f357"}.fad.fa-arrow-circle-down:after{content:"\10f0ab"}.fad.fa-arrow-circle-left:after{content:"\10f0a8"}.fad.fa-arrow-circle-right:after{content:"\10f0a9"}.fad.fa-arrow-circle-up:after{content:"\10f0aa"}.fad.fa-arrow-down:after{content:"\10f063"}.fad.fa-arrow-from-bottom:after{content:"\10f342"}.fad.fa-arrow-from-left:after{content:"\10f343"}.fad.fa-arrow-from-right:after{content:"\10f344"}.fad.fa-arrow-from-top:after{content:"\10f345"}.fad.fa-arrow-left:after{content:"\10f060"}.fad.fa-arrow-right:after{content:"\10f061"}.fad.fa-arrow-square-down:after{content:"\10f339"}.fad.fa-arrow-square-left:after{content:"\10f33a"}.fad.fa-arrow-square-right:after{content:"\10f33b"}.fad.fa-arrow-square-up:after{content:"\10f33c"}.fad.fa-arrow-to-bottom:after{content:"\10f33d"}.fad.fa-arrow-to-left:after{content:"\10f33e"}.fad.fa-arrow-to-right:after{content:"\10f340"}.fad.fa-arrow-to-top:after{content:"\10f341"}.fad.fa-arrow-up:after{content:"\10f062"}.fad.fa-arrows:after{content:"\10f047"}.fad.fa-arrows-alt:after{content:"\10f0b2"}.fad.fa-arrows-alt-h:after{content:"\10f337"}.fad.fa-arrows-alt-v:after{content:"\10f338"}.fad.fa-arrows-h:after{content:"\10f07e"}.fad.fa-arrows-v:after{content:"\10f07d"}.fad.fa-assistive-listening-systems:after{content:"\10f2a2"}.fad.fa-asterisk:after{content:"\10f069"}.fad.fa-at:after{content:"\10f1fa"}.fad.fa-atlas:after{content:"\10f558"}.fad.fa-atom:after{content:"\10f5d2"}.fad.fa-atom-alt:after{content:"\10f5d3"}.fad.fa-audio-description:after{content:"\10f29e"}.fad.fa-award:after{content:"\10f559"}.fad.fa-axe:after{content:"\10f6b2"}.fad.fa-axe-battle:after{content:"\10f6b3"}.fad.fa-baby:after{content:"\10f77c"}.fad.fa-baby-carriage:after{content:"\10f77d"}.fad.fa-backpack:after{content:"\10f5d4"}.fad.fa-backspace:after{content:"\10f55a"}.fad.fa-backward:after{content:"\10f04a"}.fad.fa-bacon:after{content:"\10f7e5"}.fad.fa-bacteria:after{content:"\10e059"}.fad.fa-bacterium:after{content:"\10e05a"}.fad.fa-badge:after{content:"\10f335"}.fad.fa-badge-check:after{content:"\10f336"}.fad.fa-badge-dollar:after{content:"\10f645"}.fad.fa-badge-percent:after{content:"\10f646"}.fad.fa-badge-sheriff:after{content:"\10f8a2"}.fad.fa-badger-honey:after{content:"\10f6b4"}.fad.fa-bags-shopping:after{content:"\10f847"}.fad.fa-bahai:after{content:"\10f666"}.fad.fa-balance-scale:after{content:"\10f24e"}.fad.fa-balance-scale-left:after{content:"\10f515"}.fad.fa-balance-scale-right:after{content:"\10f516"}.fad.fa-ball-pile:after{content:"\10f77e"}.fad.fa-ballot:after{content:"\10f732"}.fad.fa-ballot-check:after{content:"\10f733"}.fad.fa-ban:after{content:"\10f05e"}.fad.fa-band-aid:after{content:"\10f462"}.fad.fa-banjo:after{content:"\10f8a3"}.fad.fa-barcode:after{content:"\10f02a"}.fad.fa-barcode-alt:after{content:"\10f463"}.fad.fa-barcode-read:after{content:"\10f464"}.fad.fa-barcode-scan:after{content:"\10f465"}.fad.fa-bars:after{content:"\10f0c9"}.fad.fa-baseball:after{content:"\10f432"}.fad.fa-baseball-ball:after{content:"\10f433"}.fad.fa-basketball-ball:after{content:"\10f434"}.fad.fa-basketball-hoop:after{content:"\10f435"}.fad.fa-bat:after{content:"\10f6b5"}.fad.fa-bath:after{content:"\10f2cd"}.fad.fa-battery-bolt:after{content:"\10f376"}.fad.fa-battery-empty:after{content:"\10f244"}.fad.fa-battery-full:after{content:"\10f240"}.fad.fa-battery-half:after{content:"\10f242"}.fad.fa-battery-quarter:after{content:"\10f243"}.fad.fa-battery-slash:after{content:"\10f377"}.fad.fa-battery-three-quarters:after{content:"\10f241"}.fad.fa-bed:after{content:"\10f236"}.fad.fa-bed-alt:after{content:"\10f8f7"}.fad.fa-bed-bunk:after{content:"\10f8f8"}.fad.fa-bed-empty:after{content:"\10f8f9"}.fad.fa-beer:after{content:"\10f0fc"}.fad.fa-bell:after{content:"\10f0f3"}.fad.fa-bell-exclamation:after{content:"\10f848"}.fad.fa-bell-on:after{content:"\10f8fa"}.fad.fa-bell-plus:after{content:"\10f849"}.fad.fa-bell-school:after{content:"\10f5d5"}.fad.fa-bell-school-slash:after{content:"\10f5d6"}.fad.fa-bell-slash:after{content:"\10f1f6"}.fad.fa-bells:after{content:"\10f77f"}.fad.fa-betamax:after{content:"\10f8a4"}.fad.fa-bezier-curve:after{content:"\10f55b"}.fad.fa-bible:after{content:"\10f647"}.fad.fa-bicycle:after{content:"\10f206"}.fad.fa-biking:after{content:"\10f84a"}.fad.fa-biking-mountain:after{content:"\10f84b"}.fad.fa-binoculars:after{content:"\10f1e5"}.fad.fa-biohazard:after{content:"\10f780"}.fad.fa-birthday-cake:after{content:"\10f1fd"}.fad.fa-blanket:after{content:"\10f498"}.fad.fa-blender:after{content:"\10f517"}.fad.fa-blender-phone:after{content:"\10f6b6"}.fad.fa-blind:after{content:"\10f29d"}.fad.fa-blinds:after{content:"\10f8fb"}.fad.fa-blinds-open:after{content:"\10f8fc"}.fad.fa-blinds-raised:after{content:"\10f8fd"}.fad.fa-blog:after{content:"\10f781"}.fad.fa-bold:after{content:"\10f032"}.fad.fa-bolt:after{content:"\10f0e7"}.fad.fa-bomb:after{content:"\10f1e2"}.fad.fa-bone:after{content:"\10f5d7"}.fad.fa-bone-break:after{content:"\10f5d8"}.fad.fa-bong:after{content:"\10f55c"}.fad.fa-book:after{content:"\10f02d"}.fad.fa-book-alt:after{content:"\10f5d9"}.fad.fa-book-dead:after{content:"\10f6b7"}.fad.fa-book-heart:after{content:"\10f499"}.fad.fa-book-medical:after{content:"\10f7e6"}.fad.fa-book-open:after{content:"\10f518"}.fad.fa-book-reader:after{content:"\10f5da"}.fad.fa-book-spells:after{content:"\10f6b8"}.fad.fa-book-user:after{content:"\10f7e7"}.fad.fa-bookmark:after{content:"\10f02e"}.fad.fa-books:after{content:"\10f5db"}.fad.fa-books-medical:after{content:"\10f7e8"}.fad.fa-boombox:after{content:"\10f8a5"}.fad.fa-boot:after{content:"\10f782"}.fad.fa-booth-curtain:after{content:"\10f734"}.fad.fa-border-all:after{content:"\10f84c"}.fad.fa-border-bottom:after{content:"\10f84d"}.fad.fa-border-center-h:after{content:"\10f89c"}.fad.fa-border-center-v:after{content:"\10f89d"}.fad.fa-border-inner:after{content:"\10f84e"}.fad.fa-border-left:after{content:"\10f84f"}.fad.fa-border-none:after{content:"\10f850"}.fad.fa-border-outer:after{content:"\10f851"}.fad.fa-border-right:after{content:"\10f852"}.fad.fa-border-style:after{content:"\10f853"}.fad.fa-border-style-alt:after{content:"\10f854"}.fad.fa-border-top:after{content:"\10f855"}.fad.fa-bow-arrow:after{content:"\10f6b9"}.fad.fa-bowling-ball:after{content:"\10f436"}.fad.fa-bowling-pins:after{content:"\10f437"}.fad.fa-box:after{content:"\10f466"}.fad.fa-box-alt:after{content:"\10f49a"}.fad.fa-box-ballot:after{content:"\10f735"}.fad.fa-box-check:after{content:"\10f467"}.fad.fa-box-fragile:after{content:"\10f49b"}.fad.fa-box-full:after{content:"\10f49c"}.fad.fa-box-heart:after{content:"\10f49d"}.fad.fa-box-open:after{content:"\10f49e"}.fad.fa-box-tissue:after{content:"\10e05b"}.fad.fa-box-up:after{content:"\10f49f"}.fad.fa-box-usd:after{content:"\10f4a0"}.fad.fa-boxes:after{content:"\10f468"}.fad.fa-boxes-alt:after{content:"\10f4a1"}.fad.fa-boxing-glove:after{content:"\10f438"}.fad.fa-brackets:after{content:"\10f7e9"}.fad.fa-brackets-curly:after{content:"\10f7ea"}.fad.fa-braille:after{content:"\10f2a1"}.fad.fa-brain:after{content:"\10f5dc"}.fad.fa-bread-loaf:after{content:"\10f7eb"}.fad.fa-bread-slice:after{content:"\10f7ec"}.fad.fa-briefcase:after{content:"\10f0b1"}.fad.fa-briefcase-medical:after{content:"\10f469"}.fad.fa-bring-forward:after{content:"\10f856"}.fad.fa-bring-front:after{content:"\10f857"}.fad.fa-broadcast-tower:after{content:"\10f519"}.fad.fa-broom:after{content:"\10f51a"}.fad.fa-browser:after{content:"\10f37e"}.fad.fa-brush:after{content:"\10f55d"}.fad.fa-bug:after{content:"\10f188"}.fad.fa-building:after{content:"\10f1ad"}.fad.fa-bullhorn:after{content:"\10f0a1"}.fad.fa-bullseye:after{content:"\10f140"}.fad.fa-bullseye-arrow:after{content:"\10f648"}.fad.fa-bullseye-pointer:after{content:"\10f649"}.fad.fa-burger-soda:after{content:"\10f858"}.fad.fa-burn:after{content:"\10f46a"}.fad.fa-burrito:after{content:"\10f7ed"}.fad.fa-bus:after{content:"\10f207"}.fad.fa-bus-alt:after{content:"\10f55e"}.fad.fa-bus-school:after{content:"\10f5dd"}.fad.fa-business-time:after{content:"\10f64a"}.fad.fa-cabinet-filing:after{content:"\10f64b"}.fad.fa-cactus:after{content:"\10f8a7"}.fad.fa-calculator:after{content:"\10f1ec"}.fad.fa-calculator-alt:after{content:"\10f64c"}.fad.fa-calendar:after{content:"\10f133"}.fad.fa-calendar-alt:after{content:"\10f073"}.fad.fa-calendar-check:after{content:"\10f274"}.fad.fa-calendar-day:after{content:"\10f783"}.fad.fa-calendar-edit:after{content:"\10f333"}.fad.fa-calendar-exclamation:after{content:"\10f334"}.fad.fa-calendar-minus:after{content:"\10f272"}.fad.fa-calendar-plus:after{content:"\10f271"}.fad.fa-calendar-star:after{content:"\10f736"}.fad.fa-calendar-times:after{content:"\10f273"}.fad.fa-calendar-week:after{content:"\10f784"}.fad.fa-camcorder:after{content:"\10f8a8"}.fad.fa-camera:after{content:"\10f030"}.fad.fa-camera-alt:after{content:"\10f332"}.fad.fa-camera-home:after{content:"\10f8fe"}.fad.fa-camera-movie:after{content:"\10f8a9"}.fad.fa-camera-polaroid:after{content:"\10f8aa"}.fad.fa-camera-retro:after{content:"\10f083"}.fad.fa-campfire:after{content:"\10f6ba"}.fad.fa-campground:after{content:"\10f6bb"}.fad.fa-candle-holder:after{content:"\10f6bc"}.fad.fa-candy-cane:after{content:"\10f786"}.fad.fa-candy-corn:after{content:"\10f6bd"}.fad.fa-cannabis:after{content:"\10f55f"}.fad.fa-capsules:after{content:"\10f46b"}.fad.fa-car:after{content:"\10f1b9"}.fad.fa-car-alt:after{content:"\10f5de"}.fad.fa-car-battery:after{content:"\10f5df"}.fad.fa-car-building:after{content:"\10f859"}.fad.fa-car-bump:after{content:"\10f5e0"}.fad.fa-car-bus:after{content:"\10f85a"}.fad.fa-car-crash:after{content:"\10f5e1"}.fad.fa-car-garage:after{content:"\10f5e2"}.fad.fa-car-mechanic:after{content:"\10f5e3"}.fad.fa-car-side:after{content:"\10f5e4"}.fad.fa-car-tilt:after{content:"\10f5e5"}.fad.fa-car-wash:after{content:"\10f5e6"}.fad.fa-caravan:after{content:"\10f8ff"}.fad.fa-caravan-alt:after{content:"\10e000"}.fad.fa-caret-circle-down:after{content:"\10f32d"}.fad.fa-caret-circle-left:after{content:"\10f32e"}.fad.fa-caret-circle-right:after{content:"\10f330"}.fad.fa-caret-circle-up:after{content:"\10f331"}.fad.fa-caret-down:after{content:"\10f0d7"}.fad.fa-caret-left:after{content:"\10f0d9"}.fad.fa-caret-right:after{content:"\10f0da"}.fad.fa-caret-square-down:after{content:"\10f150"}.fad.fa-caret-square-left:after{content:"\10f191"}.fad.fa-caret-square-right:after{content:"\10f152"}.fad.fa-caret-square-up:after{content:"\10f151"}.fad.fa-caret-up:after{content:"\10f0d8"}.fad.fa-carrot:after{content:"\10f787"}.fad.fa-cars:after{content:"\10f85b"}.fad.fa-cart-arrow-down:after{content:"\10f218"}.fad.fa-cart-plus:after{content:"\10f217"}.fad.fa-cash-register:after{content:"\10f788"}.fad.fa-cassette-tape:after{content:"\10f8ab"}.fad.fa-cat:after{content:"\10f6be"}.fad.fa-cat-space:after{content:"\10e001"}.fad.fa-cauldron:after{content:"\10f6bf"}.fad.fa-cctv:after{content:"\10f8ac"}.fad.fa-certificate:after{content:"\10f0a3"}.fad.fa-chair:after{content:"\10f6c0"}.fad.fa-chair-office:after{content:"\10f6c1"}.fad.fa-chalkboard:after{content:"\10f51b"}.fad.fa-chalkboard-teacher:after{content:"\10f51c"}.fad.fa-charging-station:after{content:"\10f5e7"}.fad.fa-chart-area:after{content:"\10f1fe"}.fad.fa-chart-bar:after{content:"\10f080"}.fad.fa-chart-line:after{content:"\10f201"}.fad.fa-chart-line-down:after{content:"\10f64d"}.fad.fa-chart-network:after{content:"\10f78a"}.fad.fa-chart-pie:after{content:"\10f200"}.fad.fa-chart-pie-alt:after{content:"\10f64e"}.fad.fa-chart-scatter:after{content:"\10f7ee"}.fad.fa-check:after{content:"\10f00c"}.fad.fa-check-circle:after{content:"\10f058"}.fad.fa-check-double:after{content:"\10f560"}.fad.fa-check-square:after{content:"\10f14a"}.fad.fa-cheese:after{content:"\10f7ef"}.fad.fa-cheese-swiss:after{content:"\10f7f0"}.fad.fa-cheeseburger:after{content:"\10f7f1"}.fad.fa-chess:after{content:"\10f439"}.fad.fa-chess-bishop:after{content:"\10f43a"}.fad.fa-chess-bishop-alt:after{content:"\10f43b"}.fad.fa-chess-board:after{content:"\10f43c"}.fad.fa-chess-clock:after{content:"\10f43d"}.fad.fa-chess-clock-alt:after{content:"\10f43e"}.fad.fa-chess-king:after{content:"\10f43f"}.fad.fa-chess-king-alt:after{content:"\10f440"}.fad.fa-chess-knight:after{content:"\10f441"}.fad.fa-chess-knight-alt:after{content:"\10f442"}.fad.fa-chess-pawn:after{content:"\10f443"}.fad.fa-chess-pawn-alt:after{content:"\10f444"}.fad.fa-chess-queen:after{content:"\10f445"}.fad.fa-chess-queen-alt:after{content:"\10f446"}.fad.fa-chess-rook:after{content:"\10f447"}.fad.fa-chess-rook-alt:after{content:"\10f448"}.fad.fa-chevron-circle-down:after{content:"\10f13a"}.fad.fa-chevron-circle-left:after{content:"\10f137"}.fad.fa-chevron-circle-right:after{content:"\10f138"}.fad.fa-chevron-circle-up:after{content:"\10f139"}.fad.fa-chevron-double-down:after{content:"\10f322"}.fad.fa-chevron-double-left:after{content:"\10f323"}.fad.fa-chevron-double-right:after{content:"\10f324"}.fad.fa-chevron-double-up:after{content:"\10f325"}.fad.fa-chevron-down:after{content:"\10f078"}.fad.fa-chevron-left:after{content:"\10f053"}.fad.fa-chevron-right:after{content:"\10f054"}.fad.fa-chevron-square-down:after{content:"\10f329"}.fad.fa-chevron-square-left:after{content:"\10f32a"}.fad.fa-chevron-square-right:after{content:"\10f32b"}.fad.fa-chevron-square-up:after{content:"\10f32c"}.fad.fa-chevron-up:after{content:"\10f077"}.fad.fa-child:after{content:"\10f1ae"}.fad.fa-chimney:after{content:"\10f78b"}.fad.fa-church:after{content:"\10f51d"}.fad.fa-circle:after{content:"\10f111"}.fad.fa-circle-notch:after{content:"\10f1ce"}.fad.fa-city:after{content:"\10f64f"}.fad.fa-clarinet:after{content:"\10f8ad"}.fad.fa-claw-marks:after{content:"\10f6c2"}.fad.fa-clinic-medical:after{content:"\10f7f2"}.fad.fa-clipboard:after{content:"\10f328"}.fad.fa-clipboard-check:after{content:"\10f46c"}.fad.fa-clipboard-list:after{content:"\10f46d"}.fad.fa-clipboard-list-check:after{content:"\10f737"}.fad.fa-clipboard-prescription:after{content:"\10f5e8"}.fad.fa-clipboard-user:after{content:"\10f7f3"}.fad.fa-clock:after{content:"\10f017"}.fad.fa-clone:after{content:"\10f24d"}.fad.fa-closed-captioning:after{content:"\10f20a"}.fad.fa-cloud:after{content:"\10f0c2"}.fad.fa-cloud-download:after{content:"\10f0ed"}.fad.fa-cloud-download-alt:after{content:"\10f381"}.fad.fa-cloud-drizzle:after{content:"\10f738"}.fad.fa-cloud-hail:after{content:"\10f739"}.fad.fa-cloud-hail-mixed:after{content:"\10f73a"}.fad.fa-cloud-meatball:after{content:"\10f73b"}.fad.fa-cloud-moon:after{content:"\10f6c3"}.fad.fa-cloud-moon-rain:after{content:"\10f73c"}.fad.fa-cloud-music:after{content:"\10f8ae"}.fad.fa-cloud-rain:after{content:"\10f73d"}.fad.fa-cloud-rainbow:after{content:"\10f73e"}.fad.fa-cloud-showers:after{content:"\10f73f"}.fad.fa-cloud-showers-heavy:after{content:"\10f740"}.fad.fa-cloud-sleet:after{content:"\10f741"}.fad.fa-cloud-snow:after{content:"\10f742"}.fad.fa-cloud-sun:after{content:"\10f6c4"}.fad.fa-cloud-sun-rain:after{content:"\10f743"}.fad.fa-cloud-upload:after{content:"\10f0ee"}.fad.fa-cloud-upload-alt:after{content:"\10f382"}.fad.fa-clouds:after{content:"\10f744"}.fad.fa-clouds-moon:after{content:"\10f745"}.fad.fa-clouds-sun:after{content:"\10f746"}.fad.fa-club:after{content:"\10f327"}.fad.fa-cocktail:after{content:"\10f561"}.fad.fa-code:after{content:"\10f121"}.fad.fa-code-branch:after{content:"\10f126"}.fad.fa-code-commit:after{content:"\10f386"}.fad.fa-code-merge:after{content:"\10f387"}.fad.fa-coffee:after{content:"\10f0f4"}.fad.fa-coffee-pot:after{content:"\10e002"}.fad.fa-coffee-togo:after{content:"\10f6c5"}.fad.fa-coffin:after{content:"\10f6c6"}.fad.fa-coffin-cross:after{content:"\10e051"}.fad.fa-cog:after{content:"\10f013"}.fad.fa-cogs:after{content:"\10f085"}.fad.fa-coin:after{content:"\10f85c"}.fad.fa-coins:after{content:"\10f51e"}.fad.fa-columns:after{content:"\10f0db"}.fad.fa-comet:after{content:"\10e003"}.fad.fa-comment:after{content:"\10f075"}.fad.fa-comment-alt:after{content:"\10f27a"}.fad.fa-comment-alt-check:after{content:"\10f4a2"}.fad.fa-comment-alt-dollar:after{content:"\10f650"}.fad.fa-comment-alt-dots:after{content:"\10f4a3"}.fad.fa-comment-alt-edit:after{content:"\10f4a4"}.fad.fa-comment-alt-exclamation:after{content:"\10f4a5"}.fad.fa-comment-alt-lines:after{content:"\10f4a6"}.fad.fa-comment-alt-medical:after{content:"\10f7f4"}.fad.fa-comment-alt-minus:after{content:"\10f4a7"}.fad.fa-comment-alt-music:after{content:"\10f8af"}.fad.fa-comment-alt-plus:after{content:"\10f4a8"}.fad.fa-comment-alt-slash:after{content:"\10f4a9"}.fad.fa-comment-alt-smile:after{content:"\10f4aa"}.fad.fa-comment-alt-times:after{content:"\10f4ab"}.fad.fa-comment-check:after{content:"\10f4ac"}.fad.fa-comment-dollar:after{content:"\10f651"}.fad.fa-comment-dots:after{content:"\10f4ad"}.fad.fa-comment-edit:after{content:"\10f4ae"}.fad.fa-comment-exclamation:after{content:"\10f4af"}.fad.fa-comment-lines:after{content:"\10f4b0"}.fad.fa-comment-medical:after{content:"\10f7f5"}.fad.fa-comment-minus:after{content:"\10f4b1"}.fad.fa-comment-music:after{content:"\10f8b0"}.fad.fa-comment-plus:after{content:"\10f4b2"}.fad.fa-comment-slash:after{content:"\10f4b3"}.fad.fa-comment-smile:after{content:"\10f4b4"}.fad.fa-comment-times:after{content:"\10f4b5"}.fad.fa-comments:after{content:"\10f086"}.fad.fa-comments-alt:after{content:"\10f4b6"}.fad.fa-comments-alt-dollar:after{content:"\10f652"}.fad.fa-comments-dollar:after{content:"\10f653"}.fad.fa-compact-disc:after{content:"\10f51f"}.fad.fa-compass:after{content:"\10f14e"}.fad.fa-compass-slash:after{content:"\10f5e9"}.fad.fa-compress:after{content:"\10f066"}.fad.fa-compress-alt:after{content:"\10f422"}.fad.fa-compress-arrows-alt:after{content:"\10f78c"}.fad.fa-compress-wide:after{content:"\10f326"}.fad.fa-computer-classic:after{content:"\10f8b1"}.fad.fa-computer-speaker:after{content:"\10f8b2"}.fad.fa-concierge-bell:after{content:"\10f562"}.fad.fa-construction:after{content:"\10f85d"}.fad.fa-container-storage:after{content:"\10f4b7"}.fad.fa-conveyor-belt:after{content:"\10f46e"}.fad.fa-conveyor-belt-alt:after{content:"\10f46f"}.fad.fa-cookie:after{content:"\10f563"}.fad.fa-cookie-bite:after{content:"\10f564"}.fad.fa-copy:after{content:"\10f0c5"}.fad.fa-copyright:after{content:"\10f1f9"}.fad.fa-corn:after{content:"\10f6c7"}.fad.fa-couch:after{content:"\10f4b8"}.fad.fa-cow:after{content:"\10f6c8"}.fad.fa-cowbell:after{content:"\10f8b3"}.fad.fa-cowbell-more:after{content:"\10f8b4"}.fad.fa-credit-card:after{content:"\10f09d"}.fad.fa-credit-card-blank:after{content:"\10f389"}.fad.fa-credit-card-front:after{content:"\10f38a"}.fad.fa-cricket:after{content:"\10f449"}.fad.fa-croissant:after{content:"\10f7f6"}.fad.fa-crop:after{content:"\10f125"}.fad.fa-crop-alt:after{content:"\10f565"}.fad.fa-cross:after{content:"\10f654"}.fad.fa-crosshairs:after{content:"\10f05b"}.fad.fa-crow:after{content:"\10f520"}.fad.fa-crown:after{content:"\10f521"}.fad.fa-crutch:after{content:"\10f7f7"}.fad.fa-crutches:after{content:"\10f7f8"}.fad.fa-cube:after{content:"\10f1b2"}.fad.fa-cubes:after{content:"\10f1b3"}.fad.fa-curling:after{content:"\10f44a"}.fad.fa-cut:after{content:"\10f0c4"}.fad.fa-dagger:after{content:"\10f6cb"}.fad.fa-database:after{content:"\10f1c0"}.fad.fa-deaf:after{content:"\10f2a4"}.fad.fa-debug:after{content:"\10f7f9"}.fad.fa-deer:after{content:"\10f78e"}.fad.fa-deer-rudolph:after{content:"\10f78f"}.fad.fa-democrat:after{content:"\10f747"}.fad.fa-desktop:after{content:"\10f108"}.fad.fa-desktop-alt:after{content:"\10f390"}.fad.fa-dewpoint:after{content:"\10f748"}.fad.fa-dharmachakra:after{content:"\10f655"}.fad.fa-diagnoses:after{content:"\10f470"}.fad.fa-diamond:after{content:"\10f219"}.fad.fa-dice:after{content:"\10f522"}.fad.fa-dice-d10:after{content:"\10f6cd"}.fad.fa-dice-d12:after{content:"\10f6ce"}.fad.fa-dice-d20:after{content:"\10f6cf"}.fad.fa-dice-d4:after{content:"\10f6d0"}.fad.fa-dice-d6:after{content:"\10f6d1"}.fad.fa-dice-d8:after{content:"\10f6d2"}.fad.fa-dice-five:after{content:"\10f523"}.fad.fa-dice-four:after{content:"\10f524"}.fad.fa-dice-one:after{content:"\10f525"}.fad.fa-dice-six:after{content:"\10f526"}.fad.fa-dice-three:after{content:"\10f527"}.fad.fa-dice-two:after{content:"\10f528"}.fad.fa-digging:after{content:"\10f85e"}.fad.fa-digital-tachograph:after{content:"\10f566"}.fad.fa-diploma:after{content:"\10f5ea"}.fad.fa-directions:after{content:"\10f5eb"}.fad.fa-disc-drive:after{content:"\10f8b5"}.fad.fa-disease:after{content:"\10f7fa"}.fad.fa-divide:after{content:"\10f529"}.fad.fa-dizzy:after{content:"\10f567"}.fad.fa-dna:after{content:"\10f471"}.fad.fa-do-not-enter:after{content:"\10f5ec"}.fad.fa-dog:after{content:"\10f6d3"}.fad.fa-dog-leashed:after{content:"\10f6d4"}.fad.fa-dollar-sign:after{content:"\10f155"}.fad.fa-dolly:after{content:"\10f472"}.fad.fa-dolly-empty:after{content:"\10f473"}.fad.fa-dolly-flatbed:after{content:"\10f474"}.fad.fa-dolly-flatbed-alt:after{content:"\10f475"}.fad.fa-dolly-flatbed-empty:after{content:"\10f476"}.fad.fa-donate:after{content:"\10f4b9"}.fad.fa-door-closed:after{content:"\10f52a"}.fad.fa-door-open:after{content:"\10f52b"}.fad.fa-dot-circle:after{content:"\10f192"}.fad.fa-dove:after{content:"\10f4ba"}.fad.fa-download:after{content:"\10f019"}.fad.fa-drafting-compass:after{content:"\10f568"}.fad.fa-dragon:after{content:"\10f6d5"}.fad.fa-draw-circle:after{content:"\10f5ed"}.fad.fa-draw-polygon:after{content:"\10f5ee"}.fad.fa-draw-square:after{content:"\10f5ef"}.fad.fa-dreidel:after{content:"\10f792"}.fad.fa-drone:after{content:"\10f85f"}.fad.fa-drone-alt:after{content:"\10f860"}.fad.fa-drum:after{content:"\10f569"}.fad.fa-drum-steelpan:after{content:"\10f56a"}.fad.fa-drumstick:after{content:"\10f6d6"}.fad.fa-drumstick-bite:after{content:"\10f6d7"}.fad.fa-dryer:after{content:"\10f861"}.fad.fa-dryer-alt:after{content:"\10f862"}.fad.fa-duck:after{content:"\10f6d8"}.fad.fa-dumbbell:after{content:"\10f44b"}.fad.fa-dumpster:after{content:"\10f793"}.fad.fa-dumpster-fire:after{content:"\10f794"}.fad.fa-dungeon:after{content:"\10f6d9"}.fad.fa-ear:after{content:"\10f5f0"}.fad.fa-ear-muffs:after{content:"\10f795"}.fad.fa-eclipse:after{content:"\10f749"}.fad.fa-eclipse-alt:after{content:"\10f74a"}.fad.fa-edit:after{content:"\10f044"}.fad.fa-egg:after{content:"\10f7fb"}.fad.fa-egg-fried:after{content:"\10f7fc"}.fad.fa-eject:after{content:"\10f052"}.fad.fa-elephant:after{content:"\10f6da"}.fad.fa-ellipsis-h:after{content:"\10f141"}.fad.fa-ellipsis-h-alt:after{content:"\10f39b"}.fad.fa-ellipsis-v:after{content:"\10f142"}.fad.fa-ellipsis-v-alt:after{content:"\10f39c"}.fad.fa-empty-set:after{content:"\10f656"}.fad.fa-engine-warning:after{content:"\10f5f2"}.fad.fa-envelope:after{content:"\10f0e0"}.fad.fa-envelope-open:after{content:"\10f2b6"}.fad.fa-envelope-open-dollar:after{content:"\10f657"}.fad.fa-envelope-open-text:after{content:"\10f658"}.fad.fa-envelope-square:after{content:"\10f199"}.fad.fa-equals:after{content:"\10f52c"}.fad.fa-eraser:after{content:"\10f12d"}.fad.fa-ethernet:after{content:"\10f796"}.fad.fa-euro-sign:after{content:"\10f153"}.fad.fa-exchange:after{content:"\10f0ec"}.fad.fa-exchange-alt:after{content:"\10f362"}.fad.fa-exclamation:after{content:"\10f12a"}.fad.fa-exclamation-circle:after{content:"\10f06a"}.fad.fa-exclamation-square:after{content:"\10f321"}.fad.fa-exclamation-triangle:after{content:"\10f071"}.fad.fa-expand:after{content:"\10f065"}.fad.fa-expand-alt:after{content:"\10f424"}.fad.fa-expand-arrows:after{content:"\10f31d"}.fad.fa-expand-arrows-alt:after{content:"\10f31e"}.fad.fa-expand-wide:after{content:"\10f320"}.fad.fa-external-link:after{content:"\10f08e"}.fad.fa-external-link-alt:after{content:"\10f35d"}.fad.fa-external-link-square:after{content:"\10f14c"}.fad.fa-external-link-square-alt:after{content:"\10f360"}.fad.fa-eye:after{content:"\10f06e"}.fad.fa-eye-dropper:after{content:"\10f1fb"}.fad.fa-eye-evil:after{content:"\10f6db"}.fad.fa-eye-slash:after{content:"\10f070"}.fad.fa-fan:after{content:"\10f863"}.fad.fa-fan-table:after{content:"\10e004"}.fad.fa-farm:after{content:"\10f864"}.fad.fa-fast-backward:after{content:"\10f049"}.fad.fa-fast-forward:after{content:"\10f050"}.fad.fa-faucet:after{content:"\10e005"}.fad.fa-faucet-drip:after{content:"\10e006"}.fad.fa-fax:after{content:"\10f1ac"}.fad.fa-feather:after{content:"\10f52d"}.fad.fa-feather-alt:after{content:"\10f56b"}.fad.fa-female:after{content:"\10f182"}.fad.fa-field-hockey:after{content:"\10f44c"}.fad.fa-fighter-jet:after{content:"\10f0fb"}.fad.fa-file:after{content:"\10f15b"}.fad.fa-file-alt:after{content:"\10f15c"}.fad.fa-file-archive:after{content:"\10f1c6"}.fad.fa-file-audio:after{content:"\10f1c7"}.fad.fa-file-certificate:after{content:"\10f5f3"}.fad.fa-file-chart-line:after{content:"\10f659"}.fad.fa-file-chart-pie:after{content:"\10f65a"}.fad.fa-file-check:after{content:"\10f316"}.fad.fa-file-code:after{content:"\10f1c9"}.fad.fa-file-contract:after{content:"\10f56c"}.fad.fa-file-csv:after{content:"\10f6dd"}.fad.fa-file-download:after{content:"\10f56d"}.fad.fa-file-edit:after{content:"\10f31c"}.fad.fa-file-excel:after{content:"\10f1c3"}.fad.fa-file-exclamation:after{content:"\10f31a"}.fad.fa-file-export:after{content:"\10f56e"}.fad.fa-file-image:after{content:"\10f1c5"}.fad.fa-file-import:after{content:"\10f56f"}.fad.fa-file-invoice:after{content:"\10f570"}.fad.fa-file-invoice-dollar:after{content:"\10f571"}.fad.fa-file-medical:after{content:"\10f477"}.fad.fa-file-medical-alt:after{content:"\10f478"}.fad.fa-file-minus:after{content:"\10f318"}.fad.fa-file-music:after{content:"\10f8b6"}.fad.fa-file-pdf:after{content:"\10f1c1"}.fad.fa-file-plus:after{content:"\10f319"}.fad.fa-file-powerpoint:after{content:"\10f1c4"}.fad.fa-file-prescription:after{content:"\10f572"}.fad.fa-file-search:after{content:"\10f865"}.fad.fa-file-signature:after{content:"\10f573"}.fad.fa-file-spreadsheet:after{content:"\10f65b"}.fad.fa-file-times:after{content:"\10f317"}.fad.fa-file-upload:after{content:"\10f574"}.fad.fa-file-user:after{content:"\10f65c"}.fad.fa-file-video:after{content:"\10f1c8"}.fad.fa-file-word:after{content:"\10f1c2"}.fad.fa-files-medical:after{content:"\10f7fd"}.fad.fa-fill:after{content:"\10f575"}.fad.fa-fill-drip:after{content:"\10f576"}.fad.fa-film:after{content:"\10f008"}.fad.fa-film-alt:after{content:"\10f3a0"}.fad.fa-film-canister:after{content:"\10f8b7"}.fad.fa-filter:after{content:"\10f0b0"}.fad.fa-fingerprint:after{content:"\10f577"}.fad.fa-fire:after{content:"\10f06d"}.fad.fa-fire-alt:after{content:"\10f7e4"}.fad.fa-fire-extinguisher:after{content:"\10f134"}.fad.fa-fire-smoke:after{content:"\10f74b"}.fad.fa-fireplace:after{content:"\10f79a"}.fad.fa-first-aid:after{content:"\10f479"}.fad.fa-fish:after{content:"\10f578"}.fad.fa-fish-cooked:after{content:"\10f7fe"}.fad.fa-fist-raised:after{content:"\10f6de"}.fad.fa-flag:after{content:"\10f024"}.fad.fa-flag-alt:after{content:"\10f74c"}.fad.fa-flag-checkered:after{content:"\10f11e"}.fad.fa-flag-usa:after{content:"\10f74d"}.fad.fa-flame:after{content:"\10f6df"}.fad.fa-flashlight:after{content:"\10f8b8"}.fad.fa-flask:after{content:"\10f0c3"}.fad.fa-flask-poison:after{content:"\10f6e0"}.fad.fa-flask-potion:after{content:"\10f6e1"}.fad.fa-flower:after{content:"\10f7ff"}.fad.fa-flower-daffodil:after{content:"\10f800"}.fad.fa-flower-tulip:after{content:"\10f801"}.fad.fa-flushed:after{content:"\10f579"}.fad.fa-flute:after{content:"\10f8b9"}.fad.fa-flux-capacitor:after{content:"\10f8ba"}.fad.fa-fog:after{content:"\10f74e"}.fad.fa-folder:after{content:"\10f07b"}.fad.fa-folder-download:after{content:"\10e053"}.fad.fa-folder-minus:after{content:"\10f65d"}.fad.fa-folder-open:after{content:"\10f07c"}.fad.fa-folder-plus:after{content:"\10f65e"}.fad.fa-folder-times:after{content:"\10f65f"}.fad.fa-folder-tree:after{content:"\10f802"}.fad.fa-folder-upload:after{content:"\10e054"}.fad.fa-folders:after{content:"\10f660"}.fad.fa-font:after{content:"\10f031"}.fad.fa-font-awesome-logo-full:after{content:"\10f4e6"}.fad.fa-font-case:after{content:"\10f866"}.fad.fa-football-ball:after{content:"\10f44e"}.fad.fa-football-helmet:after{content:"\10f44f"}.fad.fa-forklift:after{content:"\10f47a"}.fad.fa-forward:after{content:"\10f04e"}.fad.fa-fragile:after{content:"\10f4bb"}.fad.fa-french-fries:after{content:"\10f803"}.fad.fa-frog:after{content:"\10f52e"}.fad.fa-frosty-head:after{content:"\10f79b"}.fad.fa-frown:after{content:"\10f119"}.fad.fa-frown-open:after{content:"\10f57a"}.fad.fa-function:after{content:"\10f661"}.fad.fa-funnel-dollar:after{content:"\10f662"}.fad.fa-futbol:after{content:"\10f1e3"}.fad.fa-galaxy:after{content:"\10e008"}.fad.fa-game-board:after{content:"\10f867"}.fad.fa-game-board-alt:after{content:"\10f868"}.fad.fa-game-console-handheld:after{content:"\10f8bb"}.fad.fa-gamepad:after{content:"\10f11b"}.fad.fa-gamepad-alt:after{content:"\10f8bc"}.fad.fa-garage:after{content:"\10e009"}.fad.fa-garage-car:after{content:"\10e00a"}.fad.fa-garage-open:after{content:"\10e00b"}.fad.fa-gas-pump:after{content:"\10f52f"}.fad.fa-gas-pump-slash:after{content:"\10f5f4"}.fad.fa-gavel:after{content:"\10f0e3"}.fad.fa-gem:after{content:"\10f3a5"}.fad.fa-genderless:after{content:"\10f22d"}.fad.fa-ghost:after{content:"\10f6e2"}.fad.fa-gift:after{content:"\10f06b"}.fad.fa-gift-card:after{content:"\10f663"}.fad.fa-gifts:after{content:"\10f79c"}.fad.fa-gingerbread-man:after{content:"\10f79d"}.fad.fa-glass:after{content:"\10f804"}.fad.fa-glass-champagne:after{content:"\10f79e"}.fad.fa-glass-cheers:after{content:"\10f79f"}.fad.fa-glass-citrus:after{content:"\10f869"}.fad.fa-glass-martini:after{content:"\10f000"}.fad.fa-glass-martini-alt:after{content:"\10f57b"}.fad.fa-glass-whiskey:after{content:"\10f7a0"}.fad.fa-glass-whiskey-rocks:after{content:"\10f7a1"}.fad.fa-glasses:after{content:"\10f530"}.fad.fa-glasses-alt:after{content:"\10f5f5"}.fad.fa-globe:after{content:"\10f0ac"}.fad.fa-globe-africa:after{content:"\10f57c"}.fad.fa-globe-americas:after{content:"\10f57d"}.fad.fa-globe-asia:after{content:"\10f57e"}.fad.fa-globe-europe:after{content:"\10f7a2"}.fad.fa-globe-snow:after{content:"\10f7a3"}.fad.fa-globe-stand:after{content:"\10f5f6"}.fad.fa-golf-ball:after{content:"\10f450"}.fad.fa-golf-club:after{content:"\10f451"}.fad.fa-gopuram:after{content:"\10f664"}.fad.fa-graduation-cap:after{content:"\10f19d"}.fad.fa-gramophone:after{content:"\10f8bd"}.fad.fa-greater-than:after{content:"\10f531"}.fad.fa-greater-than-equal:after{content:"\10f532"}.fad.fa-grimace:after{content:"\10f57f"}.fad.fa-grin:after{content:"\10f580"}.fad.fa-grin-alt:after{content:"\10f581"}.fad.fa-grin-beam:after{content:"\10f582"}.fad.fa-grin-beam-sweat:after{content:"\10f583"}.fad.fa-grin-hearts:after{content:"\10f584"}.fad.fa-grin-squint:after{content:"\10f585"}.fad.fa-grin-squint-tears:after{content:"\10f586"}.fad.fa-grin-stars:after{content:"\10f587"}.fad.fa-grin-tears:after{content:"\10f588"}.fad.fa-grin-tongue:after{content:"\10f589"}.fad.fa-grin-tongue-squint:after{content:"\10f58a"}.fad.fa-grin-tongue-wink:after{content:"\10f58b"}.fad.fa-grin-wink:after{content:"\10f58c"}.fad.fa-grip-horizontal:after{content:"\10f58d"}.fad.fa-grip-lines:after{content:"\10f7a4"}.fad.fa-grip-lines-vertical:after{content:"\10f7a5"}.fad.fa-grip-vertical:after{content:"\10f58e"}.fad.fa-guitar:after{content:"\10f7a6"}.fad.fa-guitar-electric:after{content:"\10f8be"}.fad.fa-guitars:after{content:"\10f8bf"}.fad.fa-h-square:after{content:"\10f0fd"}.fad.fa-h1:after{content:"\10f313"}.fad.fa-h2:after{content:"\10f314"}.fad.fa-h3:after{content:"\10f315"}.fad.fa-h4:after{content:"\10f86a"}.fad.fa-hamburger:after{content:"\10f805"}.fad.fa-hammer:after{content:"\10f6e3"}.fad.fa-hammer-war:after{content:"\10f6e4"}.fad.fa-hamsa:after{content:"\10f665"}.fad.fa-hand-heart:after{content:"\10f4bc"}.fad.fa-hand-holding:after{content:"\10f4bd"}.fad.fa-hand-holding-box:after{content:"\10f47b"}.fad.fa-hand-holding-heart:after{content:"\10f4be"}.fad.fa-hand-holding-magic:after{content:"\10f6e5"}.fad.fa-hand-holding-medical:after{content:"\10e05c"}.fad.fa-hand-holding-seedling:after{content:"\10f4bf"}.fad.fa-hand-holding-usd:after{content:"\10f4c0"}.fad.fa-hand-holding-water:after{content:"\10f4c1"}.fad.fa-hand-lizard:after{content:"\10f258"}.fad.fa-hand-middle-finger:after{content:"\10f806"}.fad.fa-hand-paper:after{content:"\10f256"}.fad.fa-hand-peace:after{content:"\10f25b"}.fad.fa-hand-point-down:after{content:"\10f0a7"}.fad.fa-hand-point-left:after{content:"\10f0a5"}.fad.fa-hand-point-right:after{content:"\10f0a4"}.fad.fa-hand-point-up:after{content:"\10f0a6"}.fad.fa-hand-pointer:after{content:"\10f25a"}.fad.fa-hand-receiving:after{content:"\10f47c"}.fad.fa-hand-rock:after{content:"\10f255"}.fad.fa-hand-scissors:after{content:"\10f257"}.fad.fa-hand-sparkles:after{content:"\10e05d"}.fad.fa-hand-spock:after{content:"\10f259"}.fad.fa-hands:after{content:"\10f4c2"}.fad.fa-hands-heart:after{content:"\10f4c3"}.fad.fa-hands-helping:after{content:"\10f4c4"}.fad.fa-hands-usd:after{content:"\10f4c5"}.fad.fa-hands-wash:after{content:"\10e05e"}.fad.fa-handshake:after{content:"\10f2b5"}.fad.fa-handshake-alt:after{content:"\10f4c6"}.fad.fa-handshake-alt-slash:after{content:"\10e05f"}.fad.fa-handshake-slash:after{content:"\10e060"}.fad.fa-hanukiah:after{content:"\10f6e6"}.fad.fa-hard-hat:after{content:"\10f807"}.fad.fa-hashtag:after{content:"\10f292"}.fad.fa-hat-chef:after{content:"\10f86b"}.fad.fa-hat-cowboy:after{content:"\10f8c0"}.fad.fa-hat-cowboy-side:after{content:"\10f8c1"}.fad.fa-hat-santa:after{content:"\10f7a7"}.fad.fa-hat-winter:after{content:"\10f7a8"}.fad.fa-hat-witch:after{content:"\10f6e7"}.fad.fa-hat-wizard:after{content:"\10f6e8"}.fad.fa-hdd:after{content:"\10f0a0"}.fad.fa-head-side:after{content:"\10f6e9"}.fad.fa-head-side-brain:after{content:"\10f808"}.fad.fa-head-side-cough:after{content:"\10e061"}.fad.fa-head-side-cough-slash:after{content:"\10e062"}.fad.fa-head-side-headphones:after{content:"\10f8c2"}.fad.fa-head-side-mask:after{content:"\10e063"}.fad.fa-head-side-medical:after{content:"\10f809"}.fad.fa-head-side-virus:after{content:"\10e064"}.fad.fa-head-vr:after{content:"\10f6ea"}.fad.fa-heading:after{content:"\10f1dc"}.fad.fa-headphones:after{content:"\10f025"}.fad.fa-headphones-alt:after{content:"\10f58f"}.fad.fa-headset:after{content:"\10f590"}.fad.fa-heart:after{content:"\10f004"}.fad.fa-heart-broken:after{content:"\10f7a9"}.fad.fa-heart-circle:after{content:"\10f4c7"}.fad.fa-heart-rate:after{content:"\10f5f8"}.fad.fa-heart-square:after{content:"\10f4c8"}.fad.fa-heartbeat:after{content:"\10f21e"}.fad.fa-heat:after{content:"\10e00c"}.fad.fa-helicopter:after{content:"\10f533"}.fad.fa-helmet-battle:after{content:"\10f6eb"}.fad.fa-hexagon:after{content:"\10f312"}.fad.fa-highlighter:after{content:"\10f591"}.fad.fa-hiking:after{content:"\10f6ec"}.fad.fa-hippo:after{content:"\10f6ed"}.fad.fa-history:after{content:"\10f1da"}.fad.fa-hockey-mask:after{content:"\10f6ee"}.fad.fa-hockey-puck:after{content:"\10f453"}.fad.fa-hockey-sticks:after{content:"\10f454"}.fad.fa-holly-berry:after{content:"\10f7aa"}.fad.fa-home:after{content:"\10f015"}.fad.fa-home-alt:after{content:"\10f80a"}.fad.fa-home-heart:after{content:"\10f4c9"}.fad.fa-home-lg:after{content:"\10f80b"}.fad.fa-home-lg-alt:after{content:"\10f80c"}.fad.fa-hood-cloak:after{content:"\10f6ef"}.fad.fa-horizontal-rule:after{content:"\10f86c"}.fad.fa-horse:after{content:"\10f6f0"}.fad.fa-horse-head:after{content:"\10f7ab"}.fad.fa-horse-saddle:after{content:"\10f8c3"}.fad.fa-hospital:after{content:"\10f0f8"}.fad.fa-hospital-alt:after{content:"\10f47d"}.fad.fa-hospital-symbol:after{content:"\10f47e"}.fad.fa-hospital-user:after{content:"\10f80d"}.fad.fa-hospitals:after{content:"\10f80e"}.fad.fa-hot-tub:after{content:"\10f593"}.fad.fa-hotdog:after{content:"\10f80f"}.fad.fa-hotel:after{content:"\10f594"}.fad.fa-hourglass:after{content:"\10f254"}.fad.fa-hourglass-end:after{content:"\10f253"}.fad.fa-hourglass-half:after{content:"\10f252"}.fad.fa-hourglass-start:after{content:"\10f251"}.fad.fa-house:after{content:"\10e00d"}.fad.fa-house-damage:after{content:"\10f6f1"}.fad.fa-house-day:after{content:"\10e00e"}.fad.fa-house-flood:after{content:"\10f74f"}.fad.fa-house-leave:after{content:"\10e00f"}.fad.fa-house-night:after{content:"\10e010"}.fad.fa-house-return:after{content:"\10e011"}.fad.fa-house-signal:after{content:"\10e012"}.fad.fa-house-user:after{content:"\10e065"}.fad.fa-hryvnia:after{content:"\10f6f2"}.fad.fa-humidity:after{content:"\10f750"}.fad.fa-hurricane:after{content:"\10f751"}.fad.fa-i-cursor:after{content:"\10f246"}.fad.fa-ice-cream:after{content:"\10f810"}.fad.fa-ice-skate:after{content:"\10f7ac"}.fad.fa-icicles:after{content:"\10f7ad"}.fad.fa-icons:after{content:"\10f86d"}.fad.fa-icons-alt:after{content:"\10f86e"}.fad.fa-id-badge:after{content:"\10f2c1"}.fad.fa-id-card:after{content:"\10f2c2"}.fad.fa-id-card-alt:after{content:"\10f47f"}.fad.fa-igloo:after{content:"\10f7ae"}.fad.fa-image:after{content:"\10f03e"}.fad.fa-image-polaroid:after{content:"\10f8c4"}.fad.fa-images:after{content:"\10f302"}.fad.fa-inbox:after{content:"\10f01c"}.fad.fa-inbox-in:after{content:"\10f310"}.fad.fa-inbox-out:after{content:"\10f311"}.fad.fa-indent:after{content:"\10f03c"}.fad.fa-industry:after{content:"\10f275"}.fad.fa-industry-alt:after{content:"\10f3b3"}.fad.fa-infinity:after{content:"\10f534"}.fad.fa-info:after{content:"\10f129"}.fad.fa-info-circle:after{content:"\10f05a"}.fad.fa-info-square:after{content:"\10f30f"}.fad.fa-inhaler:after{content:"\10f5f9"}.fad.fa-integral:after{content:"\10f667"}.fad.fa-intersection:after{content:"\10f668"}.fad.fa-inventory:after{content:"\10f480"}.fad.fa-island-tropical:after{content:"\10f811"}.fad.fa-italic:after{content:"\10f033"}.fad.fa-jack-o-lantern:after{content:"\10f30e"}.fad.fa-jedi:after{content:"\10f669"}.fad.fa-joint:after{content:"\10f595"}.fad.fa-journal-whills:after{content:"\10f66a"}.fad.fa-joystick:after{content:"\10f8c5"}.fad.fa-jug:after{content:"\10f8c6"}.fad.fa-kaaba:after{content:"\10f66b"}.fad.fa-kazoo:after{content:"\10f8c7"}.fad.fa-kerning:after{content:"\10f86f"}.fad.fa-key:after{content:"\10f084"}.fad.fa-key-skeleton:after{content:"\10f6f3"}.fad.fa-keyboard:after{content:"\10f11c"}.fad.fa-keynote:after{content:"\10f66c"}.fad.fa-khanda:after{content:"\10f66d"}.fad.fa-kidneys:after{content:"\10f5fb"}.fad.fa-kiss:after{content:"\10f596"}.fad.fa-kiss-beam:after{content:"\10f597"}.fad.fa-kiss-wink-heart:after{content:"\10f598"}.fad.fa-kite:after{content:"\10f6f4"}.fad.fa-kiwi-bird:after{content:"\10f535"}.fad.fa-knife-kitchen:after{content:"\10f6f5"}.fad.fa-lambda:after{content:"\10f66e"}.fad.fa-lamp:after{content:"\10f4ca"}.fad.fa-lamp-desk:after{content:"\10e014"}.fad.fa-lamp-floor:after{content:"\10e015"}.fad.fa-landmark:after{content:"\10f66f"}.fad.fa-landmark-alt:after{content:"\10f752"}.fad.fa-language:after{content:"\10f1ab"}.fad.fa-laptop:after{content:"\10f109"}.fad.fa-laptop-code:after{content:"\10f5fc"}.fad.fa-laptop-house:after{content:"\10e066"}.fad.fa-laptop-medical:after{content:"\10f812"}.fad.fa-lasso:after{content:"\10f8c8"}.fad.fa-laugh:after{content:"\10f599"}.fad.fa-laugh-beam:after{content:"\10f59a"}.fad.fa-laugh-squint:after{content:"\10f59b"}.fad.fa-laugh-wink:after{content:"\10f59c"}.fad.fa-layer-group:after{content:"\10f5fd"}.fad.fa-layer-minus:after{content:"\10f5fe"}.fad.fa-layer-plus:after{content:"\10f5ff"}.fad.fa-leaf:after{content:"\10f06c"}.fad.fa-leaf-heart:after{content:"\10f4cb"}.fad.fa-leaf-maple:after{content:"\10f6f6"}.fad.fa-leaf-oak:after{content:"\10f6f7"}.fad.fa-lemon:after{content:"\10f094"}.fad.fa-less-than:after{content:"\10f536"}.fad.fa-less-than-equal:after{content:"\10f537"}.fad.fa-level-down:after{content:"\10f149"}.fad.fa-level-down-alt:after{content:"\10f3be"}.fad.fa-level-up:after{content:"\10f148"}.fad.fa-level-up-alt:after{content:"\10f3bf"}.fad.fa-life-ring:after{content:"\10f1cd"}.fad.fa-light-ceiling:after{content:"\10e016"}.fad.fa-light-switch:after{content:"\10e017"}.fad.fa-light-switch-off:after{content:"\10e018"}.fad.fa-light-switch-on:after{content:"\10e019"}.fad.fa-lightbulb:after{content:"\10f0eb"}.fad.fa-lightbulb-dollar:after{content:"\10f670"}.fad.fa-lightbulb-exclamation:after{content:"\10f671"}.fad.fa-lightbulb-on:after{content:"\10f672"}.fad.fa-lightbulb-slash:after{content:"\10f673"}.fad.fa-lights-holiday:after{content:"\10f7b2"}.fad.fa-line-columns:after{content:"\10f870"}.fad.fa-line-height:after{content:"\10f871"}.fad.fa-link:after{content:"\10f0c1"}.fad.fa-lips:after{content:"\10f600"}.fad.fa-lira-sign:after{content:"\10f195"}.fad.fa-list:after{content:"\10f03a"}.fad.fa-list-alt:after{content:"\10f022"}.fad.fa-list-music:after{content:"\10f8c9"}.fad.fa-list-ol:after{content:"\10f0cb"}.fad.fa-list-ul:after{content:"\10f0ca"}.fad.fa-location:after{content:"\10f601"}.fad.fa-location-arrow:after{content:"\10f124"}.fad.fa-location-circle:after{content:"\10f602"}.fad.fa-location-slash:after{content:"\10f603"}.fad.fa-lock:after{content:"\10f023"}.fad.fa-lock-alt:after{content:"\10f30d"}.fad.fa-lock-open:after{content:"\10f3c1"}.fad.fa-lock-open-alt:after{content:"\10f3c2"}.fad.fa-long-arrow-alt-down:after{content:"\10f309"}.fad.fa-long-arrow-alt-left:after{content:"\10f30a"}.fad.fa-long-arrow-alt-right:after{content:"\10f30b"}.fad.fa-long-arrow-alt-up:after{content:"\10f30c"}.fad.fa-long-arrow-down:after{content:"\10f175"}.fad.fa-long-arrow-left:after{content:"\10f177"}.fad.fa-long-arrow-right:after{content:"\10f178"}.fad.fa-long-arrow-up:after{content:"\10f176"}.fad.fa-loveseat:after{content:"\10f4cc"}.fad.fa-low-vision:after{content:"\10f2a8"}.fad.fa-luchador:after{content:"\10f455"}.fad.fa-luggage-cart:after{content:"\10f59d"}.fad.fa-lungs:after{content:"\10f604"}.fad.fa-lungs-virus:after{content:"\10e067"}.fad.fa-mace:after{content:"\10f6f8"}.fad.fa-magic:after{content:"\10f0d0"}.fad.fa-magnet:after{content:"\10f076"}.fad.fa-mail-bulk:after{content:"\10f674"}.fad.fa-mailbox:after{content:"\10f813"}.fad.fa-male:after{content:"\10f183"}.fad.fa-mandolin:after{content:"\10f6f9"}.fad.fa-map:after{content:"\10f279"}.fad.fa-map-marked:after{content:"\10f59f"}.fad.fa-map-marked-alt:after{content:"\10f5a0"}.fad.fa-map-marker:after{content:"\10f041"}.fad.fa-map-marker-alt:after{content:"\10f3c5"}.fad.fa-map-marker-alt-slash:after{content:"\10f605"}.fad.fa-map-marker-check:after{content:"\10f606"}.fad.fa-map-marker-edit:after{content:"\10f607"}.fad.fa-map-marker-exclamation:after{content:"\10f608"}.fad.fa-map-marker-minus:after{content:"\10f609"}.fad.fa-map-marker-plus:after{content:"\10f60a"}.fad.fa-map-marker-question:after{content:"\10f60b"}.fad.fa-map-marker-slash:after{content:"\10f60c"}.fad.fa-map-marker-smile:after{content:"\10f60d"}.fad.fa-map-marker-times:after{content:"\10f60e"}.fad.fa-map-pin:after{content:"\10f276"}.fad.fa-map-signs:after{content:"\10f277"}.fad.fa-marker:after{content:"\10f5a1"}.fad.fa-mars:after{content:"\10f222"}.fad.fa-mars-double:after{content:"\10f227"}.fad.fa-mars-stroke:after{content:"\10f229"}.fad.fa-mars-stroke-h:after{content:"\10f22b"}.fad.fa-mars-stroke-v:after{content:"\10f22a"}.fad.fa-mask:after{content:"\10f6fa"}.fad.fa-meat:after{content:"\10f814"}.fad.fa-medal:after{content:"\10f5a2"}.fad.fa-medkit:after{content:"\10f0fa"}.fad.fa-megaphone:after{content:"\10f675"}.fad.fa-meh:after{content:"\10f11a"}.fad.fa-meh-blank:after{content:"\10f5a4"}.fad.fa-meh-rolling-eyes:after{content:"\10f5a5"}.fad.fa-memory:after{content:"\10f538"}.fad.fa-menorah:after{content:"\10f676"}.fad.fa-mercury:after{content:"\10f223"}.fad.fa-meteor:after{content:"\10f753"}.fad.fa-microchip:after{content:"\10f2db"}.fad.fa-microphone:after{content:"\10f130"}.fad.fa-microphone-alt:after{content:"\10f3c9"}.fad.fa-microphone-alt-slash:after{content:"\10f539"}.fad.fa-microphone-slash:after{content:"\10f131"}.fad.fa-microphone-stand:after{content:"\10f8cb"}.fad.fa-microscope:after{content:"\10f610"}.fad.fa-microwave:after{content:"\10e01b"}.fad.fa-mind-share:after{content:"\10f677"}.fad.fa-minus:after{content:"\10f068"}.fad.fa-minus-circle:after{content:"\10f056"}.fad.fa-minus-hexagon:after{content:"\10f307"}.fad.fa-minus-octagon:after{content:"\10f308"}.fad.fa-minus-square:after{content:"\10f146"}.fad.fa-mistletoe:after{content:"\10f7b4"}.fad.fa-mitten:after{content:"\10f7b5"}.fad.fa-mobile:after{content:"\10f10b"}.fad.fa-mobile-alt:after{content:"\10f3cd"}.fad.fa-mobile-android:after{content:"\10f3ce"}.fad.fa-mobile-android-alt:after{content:"\10f3cf"}.fad.fa-money-bill:after{content:"\10f0d6"}.fad.fa-money-bill-alt:after{content:"\10f3d1"}.fad.fa-money-bill-wave:after{content:"\10f53a"}.fad.fa-money-bill-wave-alt:after{content:"\10f53b"}.fad.fa-money-check:after{content:"\10f53c"}.fad.fa-money-check-alt:after{content:"\10f53d"}.fad.fa-money-check-edit:after{content:"\10f872"}.fad.fa-money-check-edit-alt:after{content:"\10f873"}.fad.fa-monitor-heart-rate:after{content:"\10f611"}.fad.fa-monkey:after{content:"\10f6fb"}.fad.fa-monument:after{content:"\10f5a6"}.fad.fa-moon:after{content:"\10f186"}.fad.fa-moon-cloud:after{content:"\10f754"}.fad.fa-moon-stars:after{content:"\10f755"}.fad.fa-mortar-pestle:after{content:"\10f5a7"}.fad.fa-mosque:after{content:"\10f678"}.fad.fa-motorcycle:after{content:"\10f21c"}.fad.fa-mountain:after{content:"\10f6fc"}.fad.fa-mountains:after{content:"\10f6fd"}.fad.fa-mouse:after{content:"\10f8cc"}.fad.fa-mouse-alt:after{content:"\10f8cd"}.fad.fa-mouse-pointer:after{content:"\10f245"}.fad.fa-mp3-player:after{content:"\10f8ce"}.fad.fa-mug:after{content:"\10f874"}.fad.fa-mug-hot:after{content:"\10f7b6"}.fad.fa-mug-marshmallows:after{content:"\10f7b7"}.fad.fa-mug-tea:after{content:"\10f875"}.fad.fa-music:after{content:"\10f001"}.fad.fa-music-alt:after{content:"\10f8cf"}.fad.fa-music-alt-slash:after{content:"\10f8d0"}.fad.fa-music-slash:after{content:"\10f8d1"}.fad.fa-narwhal:after{content:"\10f6fe"}.fad.fa-network-wired:after{content:"\10f6ff"}.fad.fa-neuter:after{content:"\10f22c"}.fad.fa-newspaper:after{content:"\10f1ea"}.fad.fa-not-equal:after{content:"\10f53e"}.fad.fa-notes-medical:after{content:"\10f481"}.fad.fa-object-group:after{content:"\10f247"}.fad.fa-object-ungroup:after{content:"\10f248"}.fad.fa-octagon:after{content:"\10f306"}.fad.fa-oil-can:after{content:"\10f613"}.fad.fa-oil-temp:after{content:"\10f614"}.fad.fa-om:after{content:"\10f679"}.fad.fa-omega:after{content:"\10f67a"}.fad.fa-ornament:after{content:"\10f7b8"}.fad.fa-otter:after{content:"\10f700"}.fad.fa-outdent:after{content:"\10f03b"}.fad.fa-outlet:after{content:"\10e01c"}.fad.fa-oven:after{content:"\10e01d"}.fad.fa-overline:after{content:"\10f876"}.fad.fa-page-break:after{content:"\10f877"}.fad.fa-pager:after{content:"\10f815"}.fad.fa-paint-brush:after{content:"\10f1fc"}.fad.fa-paint-brush-alt:after{content:"\10f5a9"}.fad.fa-paint-roller:after{content:"\10f5aa"}.fad.fa-palette:after{content:"\10f53f"}.fad.fa-pallet:after{content:"\10f482"}.fad.fa-pallet-alt:after{content:"\10f483"}.fad.fa-paper-plane:after{content:"\10f1d8"}.fad.fa-paperclip:after{content:"\10f0c6"}.fad.fa-parachute-box:after{content:"\10f4cd"}.fad.fa-paragraph:after{content:"\10f1dd"}.fad.fa-paragraph-rtl:after{content:"\10f878"}.fad.fa-parking:after{content:"\10f540"}.fad.fa-parking-circle:after{content:"\10f615"}.fad.fa-parking-circle-slash:after{content:"\10f616"}.fad.fa-parking-slash:after{content:"\10f617"}.fad.fa-passport:after{content:"\10f5ab"}.fad.fa-pastafarianism:after{content:"\10f67b"}.fad.fa-paste:after{content:"\10f0ea"}.fad.fa-pause:after{content:"\10f04c"}.fad.fa-pause-circle:after{content:"\10f28b"}.fad.fa-paw:after{content:"\10f1b0"}.fad.fa-paw-alt:after{content:"\10f701"}.fad.fa-paw-claws:after{content:"\10f702"}.fad.fa-peace:after{content:"\10f67c"}.fad.fa-pegasus:after{content:"\10f703"}.fad.fa-pen:after{content:"\10f304"}.fad.fa-pen-alt:after{content:"\10f305"}.fad.fa-pen-fancy:after{content:"\10f5ac"}.fad.fa-pen-nib:after{content:"\10f5ad"}.fad.fa-pen-square:after{content:"\10f14b"}.fad.fa-pencil:after{content:"\10f040"}.fad.fa-pencil-alt:after{content:"\10f303"}.fad.fa-pencil-paintbrush:after{content:"\10f618"}.fad.fa-pencil-ruler:after{content:"\10f5ae"}.fad.fa-pennant:after{content:"\10f456"}.fad.fa-people-arrows:after{content:"\10e068"}.fad.fa-people-carry:after{content:"\10f4ce"}.fad.fa-pepper-hot:after{content:"\10f816"}.fad.fa-percent:after{content:"\10f295"}.fad.fa-percentage:after{content:"\10f541"}.fad.fa-person-booth:after{content:"\10f756"}.fad.fa-person-carry:after{content:"\10f4cf"}.fad.fa-person-dolly:after{content:"\10f4d0"}.fad.fa-person-dolly-empty:after{content:"\10f4d1"}.fad.fa-person-sign:after{content:"\10f757"}.fad.fa-phone:after{content:"\10f095"}.fad.fa-phone-alt:after{content:"\10f879"}.fad.fa-phone-laptop:after{content:"\10f87a"}.fad.fa-phone-office:after{content:"\10f67d"}.fad.fa-phone-plus:after{content:"\10f4d2"}.fad.fa-phone-rotary:after{content:"\10f8d3"}.fad.fa-phone-slash:after{content:"\10f3dd"}.fad.fa-phone-square:after{content:"\10f098"}.fad.fa-phone-square-alt:after{content:"\10f87b"}.fad.fa-phone-volume:after{content:"\10f2a0"}.fad.fa-photo-video:after{content:"\10f87c"}.fad.fa-pi:after{content:"\10f67e"}.fad.fa-piano:after{content:"\10f8d4"}.fad.fa-piano-keyboard:after{content:"\10f8d5"}.fad.fa-pie:after{content:"\10f705"}.fad.fa-pig:after{content:"\10f706"}.fad.fa-piggy-bank:after{content:"\10f4d3"}.fad.fa-pills:after{content:"\10f484"}.fad.fa-pizza:after{content:"\10f817"}.fad.fa-pizza-slice:after{content:"\10f818"}.fad.fa-place-of-worship:after{content:"\10f67f"}.fad.fa-plane:after{content:"\10f072"}.fad.fa-plane-alt:after{content:"\10f3de"}.fad.fa-plane-arrival:after{content:"\10f5af"}.fad.fa-plane-departure:after{content:"\10f5b0"}.fad.fa-plane-slash:after{content:"\10e069"}.fad.fa-planet-moon:after{content:"\10e01f"}.fad.fa-planet-ringed:after{content:"\10e020"}.fad.fa-play:after{content:"\10f04b"}.fad.fa-play-circle:after{content:"\10f144"}.fad.fa-plug:after{content:"\10f1e6"}.fad.fa-plus:after{content:"\10f067"}.fad.fa-plus-circle:after{content:"\10f055"}.fad.fa-plus-hexagon:after{content:"\10f300"}.fad.fa-plus-octagon:after{content:"\10f301"}.fad.fa-plus-square:after{content:"\10f0fe"}.fad.fa-podcast:after{content:"\10f2ce"}.fad.fa-podium:after{content:"\10f680"}.fad.fa-podium-star:after{content:"\10f758"}.fad.fa-police-box:after{content:"\10e021"}.fad.fa-poll:after{content:"\10f681"}.fad.fa-poll-h:after{content:"\10f682"}.fad.fa-poll-people:after{content:"\10f759"}.fad.fa-poo:after{content:"\10f2fe"}.fad.fa-poo-storm:after{content:"\10f75a"}.fad.fa-poop:after{content:"\10f619"}.fad.fa-popcorn:after{content:"\10f819"}.fad.fa-portal-enter:after{content:"\10e022"}.fad.fa-portal-exit:after{content:"\10e023"}.fad.fa-portrait:after{content:"\10f3e0"}.fad.fa-pound-sign:after{content:"\10f154"}.fad.fa-power-off:after{content:"\10f011"}.fad.fa-pray:after{content:"\10f683"}.fad.fa-praying-hands:after{content:"\10f684"}.fad.fa-prescription:after{content:"\10f5b1"}.fad.fa-prescription-bottle:after{content:"\10f485"}.fad.fa-prescription-bottle-alt:after{content:"\10f486"}.fad.fa-presentation:after{content:"\10f685"}.fad.fa-print:after{content:"\10f02f"}.fad.fa-print-search:after{content:"\10f81a"}.fad.fa-print-slash:after{content:"\10f686"}.fad.fa-procedures:after{content:"\10f487"}.fad.fa-project-diagram:after{content:"\10f542"}.fad.fa-projector:after{content:"\10f8d6"}.fad.fa-pump-medical:after{content:"\10e06a"}.fad.fa-pump-soap:after{content:"\10e06b"}.fad.fa-pumpkin:after{content:"\10f707"}.fad.fa-puzzle-piece:after{content:"\10f12e"}.fad.fa-qrcode:after{content:"\10f029"}.fad.fa-question:after{content:"\10f128"}.fad.fa-question-circle:after{content:"\10f059"}.fad.fa-question-square:after{content:"\10f2fd"}.fad.fa-quidditch:after{content:"\10f458"}.fad.fa-quote-left:after{content:"\10f10d"}.fad.fa-quote-right:after{content:"\10f10e"}.fad.fa-quran:after{content:"\10f687"}.fad.fa-rabbit:after{content:"\10f708"}.fad.fa-rabbit-fast:after{content:"\10f709"}.fad.fa-racquet:after{content:"\10f45a"}.fad.fa-radar:after{content:"\10e024"}.fad.fa-radiation:after{content:"\10f7b9"}.fad.fa-radiation-alt:after{content:"\10f7ba"}.fad.fa-radio:after{content:"\10f8d7"}.fad.fa-radio-alt:after{content:"\10f8d8"}.fad.fa-rainbow:after{content:"\10f75b"}.fad.fa-raindrops:after{content:"\10f75c"}.fad.fa-ram:after{content:"\10f70a"}.fad.fa-ramp-loading:after{content:"\10f4d4"}.fad.fa-random:after{content:"\10f074"}.fad.fa-raygun:after{content:"\10e025"}.fad.fa-receipt:after{content:"\10f543"}.fad.fa-record-vinyl:after{content:"\10f8d9"}.fad.fa-rectangle-landscape:after{content:"\10f2fa"}.fad.fa-rectangle-portrait:after{content:"\10f2fb"}.fad.fa-rectangle-wide:after{content:"\10f2fc"}.fad.fa-recycle:after{content:"\10f1b8"}.fad.fa-redo:after{content:"\10f01e"}.fad.fa-redo-alt:after{content:"\10f2f9"}.fad.fa-refrigerator:after{content:"\10e026"}.fad.fa-registered:after{content:"\10f25d"}.fad.fa-remove-format:after{content:"\10f87d"}.fad.fa-repeat:after{content:"\10f363"}.fad.fa-repeat-1:after{content:"\10f365"}.fad.fa-repeat-1-alt:after{content:"\10f366"}.fad.fa-repeat-alt:after{content:"\10f364"}.fad.fa-reply:after{content:"\10f3e5"}.fad.fa-reply-all:after{content:"\10f122"}.fad.fa-republican:after{content:"\10f75e"}.fad.fa-restroom:after{content:"\10f7bd"}.fad.fa-retweet:after{content:"\10f079"}.fad.fa-retweet-alt:after{content:"\10f361"}.fad.fa-ribbon:after{content:"\10f4d6"}.fad.fa-ring:after{content:"\10f70b"}.fad.fa-rings-wedding:after{content:"\10f81b"}.fad.fa-road:after{content:"\10f018"}.fad.fa-robot:after{content:"\10f544"}.fad.fa-rocket:after{content:"\10f135"}.fad.fa-rocket-launch:after{content:"\10e027"}.fad.fa-route:after{content:"\10f4d7"}.fad.fa-route-highway:after{content:"\10f61a"}.fad.fa-route-interstate:after{content:"\10f61b"}.fad.fa-router:after{content:"\10f8da"}.fad.fa-rss:after{content:"\10f09e"}.fad.fa-rss-square:after{content:"\10f143"}.fad.fa-ruble-sign:after{content:"\10f158"}.fad.fa-ruler:after{content:"\10f545"}.fad.fa-ruler-combined:after{content:"\10f546"}.fad.fa-ruler-horizontal:after{content:"\10f547"}.fad.fa-ruler-triangle:after{content:"\10f61c"}.fad.fa-ruler-vertical:after{content:"\10f548"}.fad.fa-running:after{content:"\10f70c"}.fad.fa-rupee-sign:after{content:"\10f156"}.fad.fa-rv:after{content:"\10f7be"}.fad.fa-sack:after{content:"\10f81c"}.fad.fa-sack-dollar:after{content:"\10f81d"}.fad.fa-sad-cry:after{content:"\10f5b3"}.fad.fa-sad-tear:after{content:"\10f5b4"}.fad.fa-salad:after{content:"\10f81e"}.fad.fa-sandwich:after{content:"\10f81f"}.fad.fa-satellite:after{content:"\10f7bf"}.fad.fa-satellite-dish:after{content:"\10f7c0"}.fad.fa-sausage:after{content:"\10f820"}.fad.fa-save:after{content:"\10f0c7"}.fad.fa-sax-hot:after{content:"\10f8db"}.fad.fa-saxophone:after{content:"\10f8dc"}.fad.fa-scalpel:after{content:"\10f61d"}.fad.fa-scalpel-path:after{content:"\10f61e"}.fad.fa-scanner:after{content:"\10f488"}.fad.fa-scanner-image:after{content:"\10f8f3"}.fad.fa-scanner-keyboard:after{content:"\10f489"}.fad.fa-scanner-touchscreen:after{content:"\10f48a"}.fad.fa-scarecrow:after{content:"\10f70d"}.fad.fa-scarf:after{content:"\10f7c1"}.fad.fa-school:after{content:"\10f549"}.fad.fa-screwdriver:after{content:"\10f54a"}.fad.fa-scroll:after{content:"\10f70e"}.fad.fa-scroll-old:after{content:"\10f70f"}.fad.fa-scrubber:after{content:"\10f2f8"}.fad.fa-scythe:after{content:"\10f710"}.fad.fa-sd-card:after{content:"\10f7c2"}.fad.fa-search:after{content:"\10f002"}.fad.fa-search-dollar:after{content:"\10f688"}.fad.fa-search-location:after{content:"\10f689"}.fad.fa-search-minus:after{content:"\10f010"}.fad.fa-search-plus:after{content:"\10f00e"}.fad.fa-seedling:after{content:"\10f4d8"}.fad.fa-send-back:after{content:"\10f87e"}.fad.fa-send-backward:after{content:"\10f87f"}.fad.fa-sensor:after{content:"\10e028"}.fad.fa-sensor-alert:after{content:"\10e029"}.fad.fa-sensor-fire:after{content:"\10e02a"}.fad.fa-sensor-on:after{content:"\10e02b"}.fad.fa-sensor-smoke:after{content:"\10e02c"}.fad.fa-server:after{content:"\10f233"}.fad.fa-shapes:after{content:"\10f61f"}.fad.fa-share:after{content:"\10f064"}.fad.fa-share-all:after{content:"\10f367"}.fad.fa-share-alt:after{content:"\10f1e0"}.fad.fa-share-alt-square:after{content:"\10f1e1"}.fad.fa-share-square:after{content:"\10f14d"}.fad.fa-sheep:after{content:"\10f711"}.fad.fa-shekel-sign:after{content:"\10f20b"}.fad.fa-shield:after{content:"\10f132"}.fad.fa-shield-alt:after{content:"\10f3ed"}.fad.fa-shield-check:after{content:"\10f2f7"}.fad.fa-shield-cross:after{content:"\10f712"}.fad.fa-shield-virus:after{content:"\10e06c"}.fad.fa-ship:after{content:"\10f21a"}.fad.fa-shipping-fast:after{content:"\10f48b"}.fad.fa-shipping-timed:after{content:"\10f48c"}.fad.fa-shish-kebab:after{content:"\10f821"}.fad.fa-shoe-prints:after{content:"\10f54b"}.fad.fa-shopping-bag:after{content:"\10f290"}.fad.fa-shopping-basket:after{content:"\10f291"}.fad.fa-shopping-cart:after{content:"\10f07a"}.fad.fa-shovel:after{content:"\10f713"}.fad.fa-shovel-snow:after{content:"\10f7c3"}.fad.fa-shower:after{content:"\10f2cc"}.fad.fa-shredder:after{content:"\10f68a"}.fad.fa-shuttle-van:after{content:"\10f5b6"}.fad.fa-shuttlecock:after{content:"\10f45b"}.fad.fa-sickle:after{content:"\10f822"}.fad.fa-sigma:after{content:"\10f68b"}.fad.fa-sign:after{content:"\10f4d9"}.fad.fa-sign-in:after{content:"\10f090"}.fad.fa-sign-in-alt:after{content:"\10f2f6"}.fad.fa-sign-language:after{content:"\10f2a7"}.fad.fa-sign-out:after{content:"\10f08b"}.fad.fa-sign-out-alt:after{content:"\10f2f5"}.fad.fa-signal:after{content:"\10f012"}.fad.fa-signal-1:after{content:"\10f68c"}.fad.fa-signal-2:after{content:"\10f68d"}.fad.fa-signal-3:after{content:"\10f68e"}.fad.fa-signal-4:after{content:"\10f68f"}.fad.fa-signal-alt:after{content:"\10f690"}.fad.fa-signal-alt-1:after{content:"\10f691"}.fad.fa-signal-alt-2:after{content:"\10f692"}.fad.fa-signal-alt-3:after{content:"\10f693"}.fad.fa-signal-alt-slash:after{content:"\10f694"}.fad.fa-signal-slash:after{content:"\10f695"}.fad.fa-signal-stream:after{content:"\10f8dd"}.fad.fa-signature:after{content:"\10f5b7"}.fad.fa-sim-card:after{content:"\10f7c4"}.fad.fa-sink:after{content:"\10e06d"}.fad.fa-siren:after{content:"\10e02d"}.fad.fa-siren-on:after{content:"\10e02e"}.fad.fa-sitemap:after{content:"\10f0e8"}.fad.fa-skating:after{content:"\10f7c5"}.fad.fa-skeleton:after{content:"\10f620"}.fad.fa-ski-jump:after{content:"\10f7c7"}.fad.fa-ski-lift:after{content:"\10f7c8"}.fad.fa-skiing:after{content:"\10f7c9"}.fad.fa-skiing-nordic:after{content:"\10f7ca"}.fad.fa-skull:after{content:"\10f54c"}.fad.fa-skull-cow:after{content:"\10f8de"}.fad.fa-skull-crossbones:after{content:"\10f714"}.fad.fa-slash:after{content:"\10f715"}.fad.fa-sledding:after{content:"\10f7cb"}.fad.fa-sleigh:after{content:"\10f7cc"}.fad.fa-sliders-h:after{content:"\10f1de"}.fad.fa-sliders-h-square:after{content:"\10f3f0"}.fad.fa-sliders-v:after{content:"\10f3f1"}.fad.fa-sliders-v-square:after{content:"\10f3f2"}.fad.fa-smile:after{content:"\10f118"}.fad.fa-smile-beam:after{content:"\10f5b8"}.fad.fa-smile-plus:after{content:"\10f5b9"}.fad.fa-smile-wink:after{content:"\10f4da"}.fad.fa-smog:after{content:"\10f75f"}.fad.fa-smoke:after{content:"\10f760"}.fad.fa-smoking:after{content:"\10f48d"}.fad.fa-smoking-ban:after{content:"\10f54d"}.fad.fa-sms:after{content:"\10f7cd"}.fad.fa-snake:after{content:"\10f716"}.fad.fa-snooze:after{content:"\10f880"}.fad.fa-snow-blowing:after{content:"\10f761"}.fad.fa-snowboarding:after{content:"\10f7ce"}.fad.fa-snowflake:after{content:"\10f2dc"}.fad.fa-snowflakes:after{content:"\10f7cf"}.fad.fa-snowman:after{content:"\10f7d0"}.fad.fa-snowmobile:after{content:"\10f7d1"}.fad.fa-snowplow:after{content:"\10f7d2"}.fad.fa-soap:after{content:"\10e06e"}.fad.fa-socks:after{content:"\10f696"}.fad.fa-solar-panel:after{content:"\10f5ba"}.fad.fa-solar-system:after{content:"\10e02f"}.fad.fa-sort:after{content:"\10f0dc"}.fad.fa-sort-alpha-down:after{content:"\10f15d"}.fad.fa-sort-alpha-down-alt:after{content:"\10f881"}.fad.fa-sort-alpha-up:after{content:"\10f15e"}.fad.fa-sort-alpha-up-alt:after{content:"\10f882"}.fad.fa-sort-alt:after{content:"\10f883"}.fad.fa-sort-amount-down:after{content:"\10f160"}.fad.fa-sort-amount-down-alt:after{content:"\10f884"}.fad.fa-sort-amount-up:after{content:"\10f161"}.fad.fa-sort-amount-up-alt:after{content:"\10f885"}.fad.fa-sort-circle:after{content:"\10e030"}.fad.fa-sort-circle-down:after{content:"\10e031"}.fad.fa-sort-circle-up:after{content:"\10e032"}.fad.fa-sort-down:after{content:"\10f0dd"}.fad.fa-sort-numeric-down:after{content:"\10f162"}.fad.fa-sort-numeric-down-alt:after{content:"\10f886"}.fad.fa-sort-numeric-up:after{content:"\10f163"}.fad.fa-sort-numeric-up-alt:after{content:"\10f887"}.fad.fa-sort-shapes-down:after{content:"\10f888"}.fad.fa-sort-shapes-down-alt:after{content:"\10f889"}.fad.fa-sort-shapes-up:after{content:"\10f88a"}.fad.fa-sort-shapes-up-alt:after{content:"\10f88b"}.fad.fa-sort-size-down:after{content:"\10f88c"}.fad.fa-sort-size-down-alt:after{content:"\10f88d"}.fad.fa-sort-size-up:after{content:"\10f88e"}.fad.fa-sort-size-up-alt:after{content:"\10f88f"}.fad.fa-sort-up:after{content:"\10f0de"}.fad.fa-soup:after{content:"\10f823"}.fad.fa-spa:after{content:"\10f5bb"}.fad.fa-space-shuttle:after{content:"\10f197"}.fad.fa-space-station-moon:after{content:"\10e033"}.fad.fa-space-station-moon-alt:after{content:"\10e034"}.fad.fa-spade:after{content:"\10f2f4"}.fad.fa-sparkles:after{content:"\10f890"}.fad.fa-speaker:after{content:"\10f8df"}.fad.fa-speakers:after{content:"\10f8e0"}.fad.fa-spell-check:after{content:"\10f891"}.fad.fa-spider:after{content:"\10f717"}.fad.fa-spider-black-widow:after{content:"\10f718"}.fad.fa-spider-web:after{content:"\10f719"}.fad.fa-spinner:after{content:"\10f110"}.fad.fa-spinner-third:after{content:"\10f3f4"}.fad.fa-splotch:after{content:"\10f5bc"}.fad.fa-spray-can:after{content:"\10f5bd"}.fad.fa-sprinkler:after{content:"\10e035"}.fad.fa-square:after{content:"\10f0c8"}.fad.fa-square-full:after{content:"\10f45c"}.fad.fa-square-root:after{content:"\10f697"}.fad.fa-square-root-alt:after{content:"\10f698"}.fad.fa-squirrel:after{content:"\10f71a"}.fad.fa-staff:after{content:"\10f71b"}.fad.fa-stamp:after{content:"\10f5bf"}.fad.fa-star:after{content:"\10f005"}.fad.fa-star-and-crescent:after{content:"\10f699"}.fad.fa-star-christmas:after{content:"\10f7d4"}.fad.fa-star-exclamation:after{content:"\10f2f3"}.fad.fa-star-half:after{content:"\10f089"}.fad.fa-star-half-alt:after{content:"\10f5c0"}.fad.fa-star-of-david:after{content:"\10f69a"}.fad.fa-star-of-life:after{content:"\10f621"}.fad.fa-star-shooting:after{content:"\10e036"}.fad.fa-starfighter:after{content:"\10e037"}.fad.fa-starfighter-alt:after{content:"\10e038"}.fad.fa-stars:after{content:"\10f762"}.fad.fa-starship:after{content:"\10e039"}.fad.fa-starship-freighter:after{content:"\10e03a"}.fad.fa-steak:after{content:"\10f824"}.fad.fa-steering-wheel:after{content:"\10f622"}.fad.fa-step-backward:after{content:"\10f048"}.fad.fa-step-forward:after{content:"\10f051"}.fad.fa-stethoscope:after{content:"\10f0f1"}.fad.fa-sticky-note:after{content:"\10f249"}.fad.fa-stocking:after{content:"\10f7d5"}.fad.fa-stomach:after{content:"\10f623"}.fad.fa-stop:after{content:"\10f04d"}.fad.fa-stop-circle:after{content:"\10f28d"}.fad.fa-stopwatch:after{content:"\10f2f2"}.fad.fa-stopwatch-20:after{content:"\10e06f"}.fad.fa-store:after{content:"\10f54e"}.fad.fa-store-alt:after{content:"\10f54f"}.fad.fa-store-alt-slash:after{content:"\10e070"}.fad.fa-store-slash:after{content:"\10e071"}.fad.fa-stream:after{content:"\10f550"}.fad.fa-street-view:after{content:"\10f21d"}.fad.fa-stretcher:after{content:"\10f825"}.fad.fa-strikethrough:after{content:"\10f0cc"}.fad.fa-stroopwafel:after{content:"\10f551"}.fad.fa-subscript:after{content:"\10f12c"}.fad.fa-subway:after{content:"\10f239"}.fad.fa-suitcase:after{content:"\10f0f2"}.fad.fa-suitcase-rolling:after{content:"\10f5c1"}.fad.fa-sun:after{content:"\10f185"}.fad.fa-sun-cloud:after{content:"\10f763"}.fad.fa-sun-dust:after{content:"\10f764"}.fad.fa-sun-haze:after{content:"\10f765"}.fad.fa-sunglasses:after{content:"\10f892"}.fad.fa-sunrise:after{content:"\10f766"}.fad.fa-sunset:after{content:"\10f767"}.fad.fa-superscript:after{content:"\10f12b"}.fad.fa-surprise:after{content:"\10f5c2"}.fad.fa-swatchbook:after{content:"\10f5c3"}.fad.fa-swimmer:after{content:"\10f5c4"}.fad.fa-swimming-pool:after{content:"\10f5c5"}.fad.fa-sword:after{content:"\10f71c"}.fad.fa-sword-laser:after{content:"\10e03b"}.fad.fa-sword-laser-alt:after{content:"\10e03c"}.fad.fa-swords:after{content:"\10f71d"}.fad.fa-swords-laser:after{content:"\10e03d"}.fad.fa-synagogue:after{content:"\10f69b"}.fad.fa-sync:after{content:"\10f021"}.fad.fa-sync-alt:after{content:"\10f2f1"}.fad.fa-syringe:after{content:"\10f48e"}.fad.fa-table:after{content:"\10f0ce"}.fad.fa-table-tennis:after{content:"\10f45d"}.fad.fa-tablet:after{content:"\10f10a"}.fad.fa-tablet-alt:after{content:"\10f3fa"}.fad.fa-tablet-android:after{content:"\10f3fb"}.fad.fa-tablet-android-alt:after{content:"\10f3fc"}.fad.fa-tablet-rugged:after{content:"\10f48f"}.fad.fa-tablets:after{content:"\10f490"}.fad.fa-tachometer:after{content:"\10f0e4"}.fad.fa-tachometer-alt:after{content:"\10f3fd"}.fad.fa-tachometer-alt-average:after{content:"\10f624"}.fad.fa-tachometer-alt-fast:after{content:"\10f625"}.fad.fa-tachometer-alt-fastest:after{content:"\10f626"}.fad.fa-tachometer-alt-slow:after{content:"\10f627"}.fad.fa-tachometer-alt-slowest:after{content:"\10f628"}.fad.fa-tachometer-average:after{content:"\10f629"}.fad.fa-tachometer-fast:after{content:"\10f62a"}.fad.fa-tachometer-fastest:after{content:"\10f62b"}.fad.fa-tachometer-slow:after{content:"\10f62c"}.fad.fa-tachometer-slowest:after{content:"\10f62d"}.fad.fa-taco:after{content:"\10f826"}.fad.fa-tag:after{content:"\10f02b"}.fad.fa-tags:after{content:"\10f02c"}.fad.fa-tally:after{content:"\10f69c"}.fad.fa-tanakh:after{content:"\10f827"}.fad.fa-tape:after{content:"\10f4db"}.fad.fa-tasks:after{content:"\10f0ae"}.fad.fa-tasks-alt:after{content:"\10f828"}.fad.fa-taxi:after{content:"\10f1ba"}.fad.fa-teeth:after{content:"\10f62e"}.fad.fa-teeth-open:after{content:"\10f62f"}.fad.fa-telescope:after{content:"\10e03e"}.fad.fa-temperature-down:after{content:"\10e03f"}.fad.fa-temperature-frigid:after{content:"\10f768"}.fad.fa-temperature-high:after{content:"\10f769"}.fad.fa-temperature-hot:after{content:"\10f76a"}.fad.fa-temperature-low:after{content:"\10f76b"}.fad.fa-temperature-up:after{content:"\10e040"}.fad.fa-tenge:after{content:"\10f7d7"}.fad.fa-tennis-ball:after{content:"\10f45e"}.fad.fa-terminal:after{content:"\10f120"}.fad.fa-text:after{content:"\10f893"}.fad.fa-text-height:after{content:"\10f034"}.fad.fa-text-size:after{content:"\10f894"}.fad.fa-text-width:after{content:"\10f035"}.fad.fa-th:after{content:"\10f00a"}.fad.fa-th-large:after{content:"\10f009"}.fad.fa-th-list:after{content:"\10f00b"}.fad.fa-theater-masks:after{content:"\10f630"}.fad.fa-thermometer:after{content:"\10f491"}.fad.fa-thermometer-empty:after{content:"\10f2cb"}.fad.fa-thermometer-full:after{content:"\10f2c7"}.fad.fa-thermometer-half:after{content:"\10f2c9"}.fad.fa-thermometer-quarter:after{content:"\10f2ca"}.fad.fa-thermometer-three-quarters:after{content:"\10f2c8"}.fad.fa-theta:after{content:"\10f69e"}.fad.fa-thumbs-down:after{content:"\10f165"}.fad.fa-thumbs-up:after{content:"\10f164"}.fad.fa-thumbtack:after{content:"\10f08d"}.fad.fa-thunderstorm:after{content:"\10f76c"}.fad.fa-thunderstorm-moon:after{content:"\10f76d"}.fad.fa-thunderstorm-sun:after{content:"\10f76e"}.fad.fa-ticket:after{content:"\10f145"}.fad.fa-ticket-alt:after{content:"\10f3ff"}.fad.fa-tilde:after{content:"\10f69f"}.fad.fa-times:after{content:"\10f00d"}.fad.fa-times-circle:after{content:"\10f057"}.fad.fa-times-hexagon:after{content:"\10f2ee"}.fad.fa-times-octagon:after{content:"\10f2f0"}.fad.fa-times-square:after{content:"\10f2d3"}.fad.fa-tint:after{content:"\10f043"}.fad.fa-tint-slash:after{content:"\10f5c7"}.fad.fa-tire:after{content:"\10f631"}.fad.fa-tire-flat:after{content:"\10f632"}.fad.fa-tire-pressure-warning:after{content:"\10f633"}.fad.fa-tire-rugged:after{content:"\10f634"}.fad.fa-tired:after{content:"\10f5c8"}.fad.fa-toggle-off:after{content:"\10f204"}.fad.fa-toggle-on:after{content:"\10f205"}.fad.fa-toilet:after{content:"\10f7d8"}.fad.fa-toilet-paper:after{content:"\10f71e"}.fad.fa-toilet-paper-alt:after{content:"\10f71f"}.fad.fa-toilet-paper-slash:after{content:"\10e072"}.fad.fa-tombstone:after{content:"\10f720"}.fad.fa-tombstone-alt:after{content:"\10f721"}.fad.fa-toolbox:after{content:"\10f552"}.fad.fa-tools:after{content:"\10f7d9"}.fad.fa-tooth:after{content:"\10f5c9"}.fad.fa-toothbrush:after{content:"\10f635"}.fad.fa-torah:after{content:"\10f6a0"}.fad.fa-torii-gate:after{content:"\10f6a1"}.fad.fa-tornado:after{content:"\10f76f"}.fad.fa-tractor:after{content:"\10f722"}.fad.fa-trademark:after{content:"\10f25c"}.fad.fa-traffic-cone:after{content:"\10f636"}.fad.fa-traffic-light:after{content:"\10f637"}.fad.fa-traffic-light-go:after{content:"\10f638"}.fad.fa-traffic-light-slow:after{content:"\10f639"}.fad.fa-traffic-light-stop:after{content:"\10f63a"}.fad.fa-trailer:after{content:"\10e041"}.fad.fa-train:after{content:"\10f238"}.fad.fa-tram:after{content:"\10f7da"}.fad.fa-transgender:after{content:"\10f224"}.fad.fa-transgender-alt:after{content:"\10f225"}.fad.fa-transporter:after{content:"\10e042"}.fad.fa-transporter-1:after{content:"\10e043"}.fad.fa-transporter-2:after{content:"\10e044"}.fad.fa-transporter-3:after{content:"\10e045"}.fad.fa-transporter-empty:after{content:"\10e046"}.fad.fa-trash:after{content:"\10f1f8"}.fad.fa-trash-alt:after{content:"\10f2ed"}.fad.fa-trash-restore:after{content:"\10f829"}.fad.fa-trash-restore-alt:after{content:"\10f82a"}.fad.fa-trash-undo:after{content:"\10f895"}.fad.fa-trash-undo-alt:after{content:"\10f896"}.fad.fa-treasure-chest:after{content:"\10f723"}.fad.fa-tree:after{content:"\10f1bb"}.fad.fa-tree-alt:after{content:"\10f400"}.fad.fa-tree-christmas:after{content:"\10f7db"}.fad.fa-tree-decorated:after{content:"\10f7dc"}.fad.fa-tree-large:after{content:"\10f7dd"}.fad.fa-tree-palm:after{content:"\10f82b"}.fad.fa-trees:after{content:"\10f724"}.fad.fa-triangle:after{content:"\10f2ec"}.fad.fa-triangle-music:after{content:"\10f8e2"}.fad.fa-trophy:after{content:"\10f091"}.fad.fa-trophy-alt:after{content:"\10f2eb"}.fad.fa-truck:after{content:"\10f0d1"}.fad.fa-truck-container:after{content:"\10f4dc"}.fad.fa-truck-couch:after{content:"\10f4dd"}.fad.fa-truck-loading:after{content:"\10f4de"}.fad.fa-truck-monster:after{content:"\10f63b"}.fad.fa-truck-moving:after{content:"\10f4df"}.fad.fa-truck-pickup:after{content:"\10f63c"}.fad.fa-truck-plow:after{content:"\10f7de"}.fad.fa-truck-ramp:after{content:"\10f4e0"}.fad.fa-trumpet:after{content:"\10f8e3"}.fad.fa-tshirt:after{content:"\10f553"}.fad.fa-tty:after{content:"\10f1e4"}.fad.fa-turkey:after{content:"\10f725"}.fad.fa-turntable:after{content:"\10f8e4"}.fad.fa-turtle:after{content:"\10f726"}.fad.fa-tv:after{content:"\10f26c"}.fad.fa-tv-alt:after{content:"\10f8e5"}.fad.fa-tv-music:after{content:"\10f8e6"}.fad.fa-tv-retro:after{content:"\10f401"}.fad.fa-typewriter:after{content:"\10f8e7"}.fad.fa-ufo:after{content:"\10e047"}.fad.fa-ufo-beam:after{content:"\10e048"}.fad.fa-umbrella:after{content:"\10f0e9"}.fad.fa-umbrella-beach:after{content:"\10f5ca"}.fad.fa-underline:after{content:"\10f0cd"}.fad.fa-undo:after{content:"\10f0e2"}.fad.fa-undo-alt:after{content:"\10f2ea"}.fad.fa-unicorn:after{content:"\10f727"}.fad.fa-union:after{content:"\10f6a2"}.fad.fa-universal-access:after{content:"\10f29a"}.fad.fa-university:after{content:"\10f19c"}.fad.fa-unlink:after{content:"\10f127"}.fad.fa-unlock:after{content:"\10f09c"}.fad.fa-unlock-alt:after{content:"\10f13e"}.fad.fa-upload:after{content:"\10f093"}.fad.fa-usb-drive:after{content:"\10f8e9"}.fad.fa-usd-circle:after{content:"\10f2e8"}.fad.fa-usd-square:after{content:"\10f2e9"}.fad.fa-user:after{content:"\10f007"}.fad.fa-user-alien:after{content:"\10e04a"}.fad.fa-user-alt:after{content:"\10f406"}.fad.fa-user-alt-slash:after{content:"\10f4fa"}.fad.fa-user-astronaut:after{content:"\10f4fb"}.fad.fa-user-chart:after{content:"\10f6a3"}.fad.fa-user-check:after{content:"\10f4fc"}.fad.fa-user-circle:after{content:"\10f2bd"}.fad.fa-user-clock:after{content:"\10f4fd"}.fad.fa-user-cog:after{content:"\10f4fe"}.fad.fa-user-cowboy:after{content:"\10f8ea"}.fad.fa-user-crown:after{content:"\10f6a4"}.fad.fa-user-edit:after{content:"\10f4ff"}.fad.fa-user-friends:after{content:"\10f500"}.fad.fa-user-graduate:after{content:"\10f501"}.fad.fa-user-hard-hat:after{content:"\10f82c"}.fad.fa-user-headset:after{content:"\10f82d"}.fad.fa-user-injured:after{content:"\10f728"}.fad.fa-user-lock:after{content:"\10f502"}.fad.fa-user-md:after{content:"\10f0f0"}.fad.fa-user-md-chat:after{content:"\10f82e"}.fad.fa-user-minus:after{content:"\10f503"}.fad.fa-user-music:after{content:"\10f8eb"}.fad.fa-user-ninja:after{content:"\10f504"}.fad.fa-user-nurse:after{content:"\10f82f"}.fad.fa-user-plus:after{content:"\10f234"}.fad.fa-user-robot:after{content:"\10e04b"}.fad.fa-user-secret:after{content:"\10f21b"}.fad.fa-user-shield:after{content:"\10f505"}.fad.fa-user-slash:after{content:"\10f506"}.fad.fa-user-tag:after{content:"\10f507"}.fad.fa-user-tie:after{content:"\10f508"}.fad.fa-user-times:after{content:"\10f235"}.fad.fa-user-unlock:after{content:"\10e058"}.fad.fa-user-visor:after{content:"\10e04c"}.fad.fa-users:after{content:"\10f0c0"}.fad.fa-users-class:after{content:"\10f63d"}.fad.fa-users-cog:after{content:"\10f509"}.fad.fa-users-crown:after{content:"\10f6a5"}.fad.fa-users-medical:after{content:"\10f830"}.fad.fa-users-slash:after{content:"\10e073"}.fad.fa-utensil-fork:after{content:"\10f2e3"}.fad.fa-utensil-knife:after{content:"\10f2e4"}.fad.fa-utensil-spoon:after{content:"\10f2e5"}.fad.fa-utensils:after{content:"\10f2e7"}.fad.fa-utensils-alt:after{content:"\10f2e6"}.fad.fa-vacuum:after{content:"\10e04d"}.fad.fa-vacuum-robot:after{content:"\10e04e"}.fad.fa-value-absolute:after{content:"\10f6a6"}.fad.fa-vector-square:after{content:"\10f5cb"}.fad.fa-venus:after{content:"\10f221"}.fad.fa-venus-double:after{content:"\10f226"}.fad.fa-venus-mars:after{content:"\10f228"}.fad.fa-vest:after{content:"\10e085"}.fad.fa-vest-patches:after{content:"\10e086"}.fad.fa-vhs:after{content:"\10f8ec"}.fad.fa-vial:after{content:"\10f492"}.fad.fa-vials:after{content:"\10f493"}.fad.fa-video:after{content:"\10f03d"}.fad.fa-video-plus:after{content:"\10f4e1"}.fad.fa-video-slash:after{content:"\10f4e2"}.fad.fa-vihara:after{content:"\10f6a7"}.fad.fa-violin:after{content:"\10f8ed"}.fad.fa-virus:after{content:"\10e074"}.fad.fa-virus-slash:after{content:"\10e075"}.fad.fa-viruses:after{content:"\10e076"}.fad.fa-voicemail:after{content:"\10f897"}.fad.fa-volcano:after{content:"\10f770"}.fad.fa-volleyball-ball:after{content:"\10f45f"}.fad.fa-volume:after{content:"\10f6a8"}.fad.fa-volume-down:after{content:"\10f027"}.fad.fa-volume-mute:after{content:"\10f6a9"}.fad.fa-volume-off:after{content:"\10f026"}.fad.fa-volume-slash:after{content:"\10f2e2"}.fad.fa-volume-up:after{content:"\10f028"}.fad.fa-vote-nay:after{content:"\10f771"}.fad.fa-vote-yea:after{content:"\10f772"}.fad.fa-vr-cardboard:after{content:"\10f729"}.fad.fa-wagon-covered:after{content:"\10f8ee"}.fad.fa-walker:after{content:"\10f831"}.fad.fa-walkie-talkie:after{content:"\10f8ef"}.fad.fa-walking:after{content:"\10f554"}.fad.fa-wallet:after{content:"\10f555"}.fad.fa-wand:after{content:"\10f72a"}.fad.fa-wand-magic:after{content:"\10f72b"}.fad.fa-warehouse:after{content:"\10f494"}.fad.fa-warehouse-alt:after{content:"\10f495"}.fad.fa-washer:after{content:"\10f898"}.fad.fa-watch:after{content:"\10f2e1"}.fad.fa-watch-calculator:after{content:"\10f8f0"}.fad.fa-watch-fitness:after{content:"\10f63e"}.fad.fa-water:after{content:"\10f773"}.fad.fa-water-lower:after{content:"\10f774"}.fad.fa-water-rise:after{content:"\10f775"}.fad.fa-wave-sine:after{content:"\10f899"}.fad.fa-wave-square:after{content:"\10f83e"}.fad.fa-wave-triangle:after{content:"\10f89a"}.fad.fa-waveform:after{content:"\10f8f1"}.fad.fa-waveform-path:after{content:"\10f8f2"}.fad.fa-webcam:after{content:"\10f832"}.fad.fa-webcam-slash:after{content:"\10f833"}.fad.fa-weight:after{content:"\10f496"}.fad.fa-weight-hanging:after{content:"\10f5cd"}.fad.fa-whale:after{content:"\10f72c"}.fad.fa-wheat:after{content:"\10f72d"}.fad.fa-wheelchair:after{content:"\10f193"}.fad.fa-whistle:after{content:"\10f460"}.fad.fa-wifi:after{content:"\10f1eb"}.fad.fa-wifi-1:after{content:"\10f6aa"}.fad.fa-wifi-2:after{content:"\10f6ab"}.fad.fa-wifi-slash:after{content:"\10f6ac"}.fad.fa-wind:after{content:"\10f72e"}.fad.fa-wind-turbine:after{content:"\10f89b"}.fad.fa-wind-warning:after{content:"\10f776"}.fad.fa-window:after{content:"\10f40e"}.fad.fa-window-alt:after{content:"\10f40f"}.fad.fa-window-close:after{content:"\10f410"}.fad.fa-window-frame:after{content:"\10e04f"}.fad.fa-window-frame-open:after{content:"\10e050"}.fad.fa-window-maximize:after{content:"\10f2d0"}.fad.fa-window-minimize:after{content:"\10f2d1"}.fad.fa-window-restore:after{content:"\10f2d2"}.fad.fa-windsock:after{content:"\10f777"}.fad.fa-wine-bottle:after{content:"\10f72f"}.fad.fa-wine-glass:after{content:"\10f4e3"}.fad.fa-wine-glass-alt:after{content:"\10f5ce"}.fad.fa-won-sign:after{content:"\10f159"}.fad.fa-wreath:after{content:"\10f7e2"}.fad.fa-wrench:after{content:"\10f0ad"}.fad.fa-x-ray:after{content:"\10f497"}.fad.fa-yen-sign:after{content:"\10f157"}.fad.fa-yin-yang:after{content:"\10f6ad"}/*! * Font Awesome Pro by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) */@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:300;src:url('styles/fonts/fa/fa-light-300.woff2?_v=5.15.1') format('woff2'),url('styles/fonts/fa/fa-light-300.woff?_v=5.15.1') format('woff')}.fal{font-family:'Font Awesome 5 Pro';position:relative;font-weight:300}/*! * Font Awesome Pro by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) */@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:400;src:url('styles/fonts/fa/fa-regular-400.woff2?_v=5.15.1') format('woff2'),url('styles/fonts/fa/fa-regular-400.woff?_v=5.15.1') format('woff')}.far{font-family:'Font Awesome 5 Pro';position:relative;font-weight:400}/*! * Font Awesome Pro by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) */@font-face{font-family:'Font Awesome 5 Pro';font-style:normal;font-weight:900;src:url('styles/fonts/fa/fa-solid-900.woff2?_v=5.15.1') format('woff2'),url('styles/fonts/fa/fa-solid-900.woff?_v=5.15.1') format('woff')}.fa,.fas{font-family:'Font Awesome 5 Pro';position:relative;font-weight:900}/*! * Font Awesome Pro by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license (Commercial License) */@font-face{font-family:'Font Awesome 5 Brands';font-style:normal;font-weight:400;src:url('styles/fonts/fa/fa-brands-400.woff2?_v=5.15.1') format('woff2'),url('styles/fonts/fa/fa-brands-400.woff?_v=5.15.1') format('woff')}.fab{font-family:'Font Awesome 5 Brands';position:relative;font-weight:400}.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border-radius:.1em;border:solid .08em #eee;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1, -1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(-1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-abacus:before{content:"\f640"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acorn:before{content:"\f6ae"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-conditioner:before{content:"\f8f4"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-alarm-clock:before{content:"\f34e"}.fa-alarm-exclamation:before{content:"\f843"}.fa-alarm-plus:before{content:"\f844"}.fa-alarm-snooze:before{content:"\f845"}.fa-album:before{content:"\f89f"}.fa-album-collection:before{content:"\f8a0"}.fa-algolia:before{content:"\f36c"}.fa-alicorn:before{content:"\f6b0"}.fa-alien:before{content:"\f8f5"}.fa-alien-monster:before{content:"\f8f6"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-align-slash:before{content:"\f846"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-amp-guitar:before{content:"\f8a1"}.fa-analytics:before{content:"\f643"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angel:before{content:"\f779"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-crate:before{content:"\f6b1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-alt-down:before{content:"\f354"}.fa-arrow-alt-from-bottom:before{content:"\f346"}.fa-arrow-alt-from-left:before{content:"\f347"}.fa-arrow-alt-from-right:before{content:"\f348"}.fa-arrow-alt-from-top:before{content:"\f349"}.fa-arrow-alt-left:before{content:"\f355"}.fa-arrow-alt-right:before{content:"\f356"}.fa-arrow-alt-square-down:before{content:"\f350"}.fa-arrow-alt-square-left:before{content:"\f351"}.fa-arrow-alt-square-right:before{content:"\f352"}.fa-arrow-alt-square-up:before{content:"\f353"}.fa-arrow-alt-to-bottom:before{content:"\f34a"}.fa-arrow-alt-to-left:before{content:"\f34b"}.fa-arrow-alt-to-right:before{content:"\f34c"}.fa-arrow-alt-to-top:before{content:"\f34d"}.fa-arrow-alt-up:before{content:"\f357"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-from-bottom:before{content:"\f342"}.fa-arrow-from-left:before{content:"\f343"}.fa-arrow-from-right:before{content:"\f344"}.fa-arrow-from-top:before{content:"\f345"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-square-down:before{content:"\f339"}.fa-arrow-square-left:before{content:"\f33a"}.fa-arrow-square-right:before{content:"\f33b"}.fa-arrow-square-up:before{content:"\f33c"}.fa-arrow-to-bottom:before{content:"\f33d"}.fa-arrow-to-left:before{content:"\f33e"}.fa-arrow-to-right:before{content:"\f340"}.fa-arrow-to-top:before{content:"\f341"}.fa-arrow-up:before{content:"\f062"}.fa-arrows:before{content:"\f047"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-arrows-h:before{content:"\f07e"}.fa-arrows-v:before{content:"\f07d"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-atom-alt:before{content:"\f5d3"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-axe:before{content:"\f6b2"}.fa-axe-battle:before{content:"\f6b3"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backpack:before{content:"\f5d4"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-badge:before{content:"\f335"}.fa-badge-check:before{content:"\f336"}.fa-badge-dollar:before{content:"\f645"}.fa-badge-percent:before{content:"\f646"}.fa-badge-sheriff:before{content:"\f8a2"}.fa-badger-honey:before{content:"\f6b4"}.fa-bags-shopping:before{content:"\f847"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ball-pile:before{content:"\f77e"}.fa-ballot:before{content:"\f732"}.fa-ballot-check:before{content:"\f733"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-banjo:before{content:"\f8a3"}.fa-barcode:before{content:"\f02a"}.fa-barcode-alt:before{content:"\f463"}.fa-barcode-read:before{content:"\f464"}.fa-barcode-scan:before{content:"\f465"}.fa-bars:before{content:"\f0c9"}.fa-baseball:before{content:"\f432"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-basketball-hoop:before{content:"\f435"}.fa-bat:before{content:"\f6b5"}.fa-bath:before{content:"\f2cd"}.fa-battery-bolt:before{content:"\f376"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-slash:before{content:"\f377"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-bed-alt:before{content:"\f8f7"}.fa-bed-bunk:before{content:"\f8f8"}.fa-bed-empty:before{content:"\f8f9"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-exclamation:before{content:"\f848"}.fa-bell-on:before{content:"\f8fa"}.fa-bell-plus:before{content:"\f849"}.fa-bell-school:before{content:"\f5d5"}.fa-bell-school-slash:before{content:"\f5d6"}.fa-bell-slash:before{content:"\f1f6"}.fa-bells:before{content:"\f77f"}.fa-betamax:before{content:"\f8a4"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-biking-mountain:before{content:"\f84b"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blanket:before{content:"\f498"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blinds:before{content:"\f8fb"}.fa-blinds-open:before{content:"\f8fc"}.fa-blinds-raised:before{content:"\f8fd"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bone-break:before{content:"\f5d8"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-alt:before{content:"\f5d9"}.fa-book-dead:before{content:"\f6b7"}.fa-book-heart:before{content:"\f499"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-book-spells:before{content:"\f6b8"}.fa-book-user:before{content:"\f7e7"}.fa-bookmark:before{content:"\f02e"}.fa-books:before{content:"\f5db"}.fa-books-medical:before{content:"\f7e8"}.fa-boombox:before{content:"\f8a5"}.fa-boot:before{content:"\f782"}.fa-booth-curtain:before{content:"\f734"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-bottom:before{content:"\f84d"}.fa-border-center-h:before{content:"\f89c"}.fa-border-center-v:before{content:"\f89d"}.fa-border-inner:before{content:"\f84e"}.fa-border-left:before{content:"\f84f"}.fa-border-none:before{content:"\f850"}.fa-border-outer:before{content:"\f851"}.fa-border-right:before{content:"\f852"}.fa-border-style:before{content:"\f853"}.fa-border-style-alt:before{content:"\f854"}.fa-border-top:before{content:"\f855"}.fa-bow-arrow:before{content:"\f6b9"}.fa-bowling-ball:before{content:"\f436"}.fa-bowling-pins:before{content:"\f437"}.fa-box:before{content:"\f466"}.fa-box-alt:before{content:"\f49a"}.fa-box-ballot:before{content:"\f735"}.fa-box-check:before{content:"\f467"}.fa-box-fragile:before{content:"\f49b"}.fa-box-full:before{content:"\f49c"}.fa-box-heart:before{content:"\f49d"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-box-up:before{content:"\f49f"}.fa-box-usd:before{content:"\f4a0"}.fa-boxes:before{content:"\f468"}.fa-boxes-alt:before{content:"\f4a1"}.fa-boxing-glove:before{content:"\f438"}.fa-brackets:before{content:"\f7e9"}.fa-brackets-curly:before{content:"\f7ea"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-loaf:before{content:"\f7eb"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-bring-forward:before{content:"\f856"}.fa-bring-front:before{content:"\f857"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-browser:before{content:"\f37e"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-bullseye-arrow:before{content:"\f648"}.fa-bullseye-pointer:before{content:"\f649"}.fa-burger-soda:before{content:"\f858"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-burrito:before{content:"\f7ed"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-bus-school:before{content:"\f5dd"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-cabinet-filing:before{content:"\f64b"}.fa-cactus:before{content:"\f8a7"}.fa-calculator:before{content:"\f1ec"}.fa-calculator-alt:before{content:"\f64c"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-edit:before{content:"\f333"}.fa-calendar-exclamation:before{content:"\f334"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-star:before{content:"\f736"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camcorder:before{content:"\f8a8"}.fa-camera:before{content:"\f030"}.fa-camera-alt:before{content:"\f332"}.fa-camera-home:before{content:"\f8fe"}.fa-camera-movie:before{content:"\f8a9"}.fa-camera-polaroid:before{content:"\f8aa"}.fa-camera-retro:before{content:"\f083"}.fa-campfire:before{content:"\f6ba"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candle-holder:before{content:"\f6bc"}.fa-candy-cane:before{content:"\f786"}.fa-candy-corn:before{content:"\f6bd"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-building:before{content:"\f859"}.fa-car-bump:before{content:"\f5e0"}.fa-car-bus:before{content:"\f85a"}.fa-car-crash:before{content:"\f5e1"}.fa-car-garage:before{content:"\f5e2"}.fa-car-mechanic:before{content:"\f5e3"}.fa-car-side:before{content:"\f5e4"}.fa-car-tilt:before{content:"\f5e5"}.fa-car-wash:before{content:"\f5e6"}.fa-caravan:before{content:"\f8ff"}.fa-caravan-alt:before{content:"\e000"}.fa-caret-circle-down:before{content:"\f32d"}.fa-caret-circle-left:before{content:"\f32e"}.fa-caret-circle-right:before{content:"\f330"}.fa-caret-circle-up:before{content:"\f331"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cars:before{content:"\f85b"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cassette-tape:before{content:"\f8ab"}.fa-cat:before{content:"\f6be"}.fa-cat-space:before{content:"\e001"}.fa-cauldron:before{content:"\f6bf"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-cctv:before{content:"\f8ac"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chair-office:before{content:"\f6c1"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-line-down:before{content:"\f64d"}.fa-chart-network:before{content:"\f78a"}.fa-chart-pie:before{content:"\f200"}.fa-chart-pie-alt:before{content:"\f64e"}.fa-chart-scatter:before{content:"\f7ee"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-cheese-swiss:before{content:"\f7f0"}.fa-cheeseburger:before{content:"\f7f1"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-bishop-alt:before{content:"\f43b"}.fa-chess-board:before{content:"\f43c"}.fa-chess-clock:before{content:"\f43d"}.fa-chess-clock-alt:before{content:"\f43e"}.fa-chess-king:before{content:"\f43f"}.fa-chess-king-alt:before{content:"\f440"}.fa-chess-knight:before{content:"\f441"}.fa-chess-knight-alt:before{content:"\f442"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-pawn-alt:before{content:"\f444"}.fa-chess-queen:before{content:"\f445"}.fa-chess-queen-alt:before{content:"\f446"}.fa-chess-rook:before{content:"\f447"}.fa-chess-rook-alt:before{content:"\f448"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-double-down:before{content:"\f322"}.fa-chevron-double-left:before{content:"\f323"}.fa-chevron-double-right:before{content:"\f324"}.fa-chevron-double-up:before{content:"\f325"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-square-down:before{content:"\f329"}.fa-chevron-square-left:before{content:"\f32a"}.fa-chevron-square-right:before{content:"\f32b"}.fa-chevron-square-up:before{content:"\f32c"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chimney:before{content:"\f78b"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clarinet:before{content:"\f8ad"}.fa-claw-marks:before{content:"\f6c2"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-list-check:before{content:"\f737"}.fa-clipboard-prescription:before{content:"\f5e8"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-drizzle:before{content:"\f738"}.fa-cloud-hail:before{content:"\f739"}.fa-cloud-hail-mixed:before{content:"\f73a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-music:before{content:"\f8ae"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-rainbow:before{content:"\f73e"}.fa-cloud-showers:before{content:"\f73f"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sleet:before{content:"\f741"}.fa-cloud-snow:before{content:"\f742"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-clouds:before{content:"\f744"}.fa-clouds-moon:before{content:"\f745"}.fa-clouds-sun:before{content:"\f746"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-club:before{content:"\f327"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-merge:before{content:"\f387"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-coffee-pot:before{content:"\e002"}.fa-coffee-togo:before{content:"\f6c5"}.fa-coffin:before{content:"\f6c6"}.fa-coffin-cross:before{content:"\e051"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coin:before{content:"\f85c"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comet:before{content:"\e003"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-alt-check:before{content:"\f4a2"}.fa-comment-alt-dollar:before{content:"\f650"}.fa-comment-alt-dots:before{content:"\f4a3"}.fa-comment-alt-edit:before{content:"\f4a4"}.fa-comment-alt-exclamation:before{content:"\f4a5"}.fa-comment-alt-lines:before{content:"\f4a6"}.fa-comment-alt-medical:before{content:"\f7f4"}.fa-comment-alt-minus:before{content:"\f4a7"}.fa-comment-alt-music:before{content:"\f8af"}.fa-comment-alt-plus:before{content:"\f4a8"}.fa-comment-alt-slash:before{content:"\f4a9"}.fa-comment-alt-smile:before{content:"\f4aa"}.fa-comment-alt-times:before{content:"\f4ab"}.fa-comment-check:before{content:"\f4ac"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-edit:before{content:"\f4ae"}.fa-comment-exclamation:before{content:"\f4af"}.fa-comment-lines:before{content:"\f4b0"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-minus:before{content:"\f4b1"}.fa-comment-music:before{content:"\f8b0"}.fa-comment-plus:before{content:"\f4b2"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-smile:before{content:"\f4b4"}.fa-comment-times:before{content:"\f4b5"}.fa-comments:before{content:"\f086"}.fa-comments-alt:before{content:"\f4b6"}.fa-comments-alt-dollar:before{content:"\f652"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-slash:before{content:"\f5e9"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-compress-wide:before{content:"\f326"}.fa-computer-classic:before{content:"\f8b1"}.fa-computer-speaker:before{content:"\f8b2"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-construction:before{content:"\f85d"}.fa-container-storage:before{content:"\f4b7"}.fa-contao:before{content:"\f26d"}.fa-conveyor-belt:before{content:"\f46e"}.fa-conveyor-belt-alt:before{content:"\f46f"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-corn:before{content:"\f6c7"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-cowbell:before{content:"\f8b3"}.fa-cowbell-more:before{content:"\f8b4"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-credit-card-blank:before{content:"\f389"}.fa-credit-card-front:before{content:"\f38a"}.fa-cricket:before{content:"\f449"}.fa-critical-role:before{content:"\f6c9"}.fa-croissant:before{content:"\f7f6"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-crutches:before{content:"\f7f8"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-curling:before{content:"\f44a"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dagger:before{content:"\f6cb"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-debug:before{content:"\f7f9"}.fa-deer:before{content:"\f78e"}.fa-deer-rudolph:before{content:"\f78f"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-desktop-alt:before{content:"\f390"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dewpoint:before{content:"\f748"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diamond:before{content:"\f219"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d10:before{content:"\f6cd"}.fa-dice-d12:before{content:"\f6ce"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d4:before{content:"\f6d0"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-d8:before{content:"\f6d2"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digging:before{content:"\f85e"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-diploma:before{content:"\f5ea"}.fa-directions:before{content:"\f5eb"}.fa-disc-drive:before{content:"\f8b5"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-do-not-enter:before{content:"\f5ec"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dog-leashed:before{content:"\f6d4"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-empty:before{content:"\f473"}.fa-dolly-flatbed:before{content:"\f474"}.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-circle:before{content:"\f5ed"}.fa-draw-polygon:before{content:"\f5ee"}.fa-draw-square:before{content:"\f5ef"}.fa-dreidel:before{content:"\f792"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-drone:before{content:"\f85f"}.fa-drone-alt:before{content:"\f860"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick:before{content:"\f6d6"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dryer:before{content:"\f861"}.fa-dryer-alt:before{content:"\f862"}.fa-duck:before{content:"\f6d8"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-ear:before{content:"\f5f0"}.fa-ear-muffs:before{content:"\f795"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-eclipse:before{content:"\f749"}.fa-eclipse-alt:before{content:"\f74a"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-egg-fried:before{content:"\f7fc"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-elephant:before{content:"\f6da"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-h-alt:before{content:"\f39b"}.fa-ellipsis-v:before{content:"\f142"}.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-empty-set:before{content:"\f656"}.fa-engine-warning:before{content:"\f5f2"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-dollar:before{content:"\f657"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange:before{content:"\f0ec"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-square:before{content:"\f321"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows:before{content:"\f31d"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expand-wide:before{content:"\f320"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link:before{content:"\f08e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square:before{content:"\f14c"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-evil:before{content:"\f6db"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fan-table:before{content:"\e004"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-farm:before{content:"\f864"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-faucet-drip:before{content:"\e006"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-field-hockey:before{content:"\f44c"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-certificate:before{content:"\f5f3"}.fa-file-chart-line:before{content:"\f659"}.fa-file-chart-pie:before{content:"\f65a"}.fa-file-check:before{content:"\f316"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-edit:before{content:"\f31c"}.fa-file-excel:before{content:"\f1c3"}.fa-file-exclamation:before{content:"\f31a"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-minus:before{content:"\f318"}.fa-file-music:before{content:"\f8b6"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-plus:before{content:"\f319"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-search:before{content:"\f865"}.fa-file-signature:before{content:"\f573"}.fa-file-spreadsheet:before{content:"\f65b"}.fa-file-times:before{content:"\f317"}.fa-file-upload:before{content:"\f574"}.fa-file-user:before{content:"\f65c"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-files-medical:before{content:"\f7fd"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-film-alt:before{content:"\f3a0"}.fa-film-canister:before{content:"\f8b7"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-smoke:before{content:"\f74b"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-fireplace:before{content:"\f79a"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fish-cooked:before{content:"\f7fe"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-alt:before{content:"\f74c"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flame:before{content:"\f6df"}.fa-flashlight:before{content:"\f8b8"}.fa-flask:before{content:"\f0c3"}.fa-flask-poison:before{content:"\f6e0"}.fa-flask-potion:before{content:"\f6e1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flower:before{content:"\f7ff"}.fa-flower-daffodil:before{content:"\f800"}.fa-flower-tulip:before{content:"\f801"}.fa-flushed:before{content:"\f579"}.fa-flute:before{content:"\f8b9"}.fa-flux-capacitor:before{content:"\f8ba"}.fa-fly:before{content:"\f417"}.fa-fog:before{content:"\f74e"}.fa-folder:before{content:"\f07b"}.fa-folder-download:before{content:"\e053"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-times:before{content:"\f65f"}.fa-folder-tree:before{content:"\f802"}.fa-folder-upload:before{content:"\e054"}.fa-folders:before{content:"\f660"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-font-case:before{content:"\f866"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-football-helmet:before{content:"\f44f"}.fa-forklift:before{content:"\f47a"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-fragile:before{content:"\f4bb"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-french-fries:before{content:"\f803"}.fa-frog:before{content:"\f52e"}.fa-frosty-head:before{content:"\f79b"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-function:before{content:"\f661"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-galaxy:before{content:"\e008"}.fa-game-board:before{content:"\f867"}.fa-game-board-alt:before{content:"\f868"}.fa-game-console-handheld:before{content:"\f8bb"}.fa-gamepad:before{content:"\f11b"}.fa-gamepad-alt:before{content:"\f8bc"}.fa-garage:before{content:"\e009"}.fa-garage-car:before{content:"\e00a"}.fa-garage-open:before{content:"\e00b"}.fa-gas-pump:before{content:"\f52f"}.fa-gas-pump-slash:before{content:"\f5f4"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gift-card:before{content:"\f663"}.fa-gifts:before{content:"\f79c"}.fa-gingerbread-man:before{content:"\f79d"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass:before{content:"\f804"}.fa-glass-champagne:before{content:"\f79e"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-citrus:before{content:"\f869"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glass-whiskey-rocks:before{content:"\f7a1"}.fa-glasses:before{content:"\f530"}.fa-glasses-alt:before{content:"\f5f5"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-globe-snow:before{content:"\f7a3"}.fa-globe-stand:before{content:"\f5f6"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-golf-club:before{content:"\f451"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gramophone:before{content:"\f8bd"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-guitar-electric:before{content:"\f8be"}.fa-guitars:before{content:"\f8bf"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-h1:before{content:"\f313"}.fa-h2:before{content:"\f314"}.fa-h3:before{content:"\f315"}.fa-h4:before{content:"\f86a"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hammer-war:before{content:"\f6e4"}.fa-hamsa:before{content:"\f665"}.fa-hand-heart:before{content:"\f4bc"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-box:before{content:"\f47b"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-magic:before{content:"\f6e5"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-seedling:before{content:"\f4bf"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-receiving:before{content:"\f47c"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-heart:before{content:"\f4c3"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-usd:before{content:"\f4c5"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt:before{content:"\f4c6"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-chef:before{content:"\f86b"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-santa:before{content:"\f7a7"}.fa-hat-winter:before{content:"\f7a8"}.fa-hat-witch:before{content:"\f6e7"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side:before{content:"\f6e9"}.fa-head-side-brain:before{content:"\f808"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-headphones:before{content:"\f8c2"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-medical:before{content:"\f809"}.fa-head-side-virus:before{content:"\e064"}.fa-head-vr:before{content:"\f6ea"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heart-circle:before{content:"\f4c7"}.fa-heart-rate:before{content:"\f5f8"}.fa-heart-square:before{content:"\f4c8"}.fa-heartbeat:before{content:"\f21e"}.fa-heat:before{content:"\e00c"}.fa-helicopter:before{content:"\f533"}.fa-helmet-battle:before{content:"\f6eb"}.fa-hexagon:before{content:"\f312"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-mask:before{content:"\f6ee"}.fa-hockey-puck:before{content:"\f453"}.fa-hockey-sticks:before{content:"\f454"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-home-alt:before{content:"\f80a"}.fa-home-heart:before{content:"\f4c9"}.fa-home-lg:before{content:"\f80b"}.fa-home-lg-alt:before{content:"\f80c"}.fa-hood-cloak:before{content:"\f6ef"}.fa-hooli:before{content:"\f427"}.fa-horizontal-rule:before{content:"\f86c"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-horse-saddle:before{content:"\f8c3"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hospitals:before{content:"\f80e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house:before{content:"\e00d"}.fa-house-damage:before{content:"\f6f1"}.fa-house-day:before{content:"\e00e"}.fa-house-flood:before{content:"\f74f"}.fa-house-leave:before{content:"\e00f"}.fa-house-night:before{content:"\e010"}.fa-house-return:before{content:"\e011"}.fa-house-signal:before{content:"\e012"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-humidity:before{content:"\f750"}.fa-hurricane:before{content:"\f751"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-ice-skate:before{content:"\f7ac"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-icons-alt:before{content:"\f86e"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-polaroid:before{content:"\f8c4"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-inbox-in:before{content:"\f310"}.fa-inbox-out:before{content:"\f311"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-industry-alt:before{content:"\f3b3"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-info-square:before{content:"\f30f"}.fa-inhaler:before{content:"\f5f9"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-integral:before{content:"\f667"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-intersection:before{content:"\f668"}.fa-inventory:before{content:"\f480"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-island-tropical:before{content:"\f811"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-joystick:before{content:"\f8c5"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-jug:before{content:"\f8c6"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-kazoo:before{content:"\f8c7"}.fa-kerning:before{content:"\f86f"}.fa-key:before{content:"\f084"}.fa-key-skeleton:before{content:"\f6f3"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-keynote:before{content:"\f66c"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kidneys:before{content:"\f5fb"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kite:before{content:"\f6f4"}.fa-kiwi-bird:before{content:"\f535"}.fa-knife-kitchen:before{content:"\f6f5"}.fa-korvue:before{content:"\f42f"}.fa-lambda:before{content:"\f66e"}.fa-lamp:before{content:"\f4ca"}.fa-lamp-desk:before{content:"\e014"}.fa-lamp-floor:before{content:"\e015"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before{content:"\f752"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lasso:before{content:"\f8c8"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-layer-minus:before{content:"\f5fe"}.fa-layer-plus:before{content:"\f5ff"}.fa-leaf:before{content:"\f06c"}.fa-leaf-heart:before{content:"\f4cb"}.fa-leaf-maple:before{content:"\f6f6"}.fa-leaf-oak:before{content:"\f6f7"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down:before{content:"\f149"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up:before{content:"\f148"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-light-ceiling:before{content:"\e016"}.fa-light-switch:before{content:"\e017"}.fa-light-switch-off:before{content:"\e018"}.fa-light-switch-on:before{content:"\e019"}.fa-lightbulb:before{content:"\f0eb"}.fa-lightbulb-dollar:before{content:"\f670"}.fa-lightbulb-exclamation:before{content:"\f671"}.fa-lightbulb-on:before{content:"\f672"}.fa-lightbulb-slash:before{content:"\f673"}.fa-lights-holiday:before{content:"\f7b2"}.fa-line:before{content:"\f3c0"}.fa-line-columns:before{content:"\f870"}.fa-line-height:before{content:"\f871"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lips:before{content:"\f600"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-music:before{content:"\f8c9"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location:before{content:"\f601"}.fa-location-arrow:before{content:"\f124"}.fa-location-circle:before{content:"\f602"}.fa-location-slash:before{content:"\f603"}.fa-lock:before{content:"\f023"}.fa-lock-alt:before{content:"\f30d"}.fa-lock-open:before{content:"\f3c1"}.fa-lock-open-alt:before{content:"\f3c2"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-long-arrow-up:before{content:"\f176"}.fa-loveseat:before{content:"\f4cc"}.fa-low-vision:before{content:"\f2a8"}.fa-luchador:before{content:"\f455"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-mace:before{content:"\f6f8"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailbox:before{content:"\f813"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-mandolin:before{content:"\f6f9"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-marker-alt-slash:before{content:"\f605"}.fa-map-marker-check:before{content:"\f606"}.fa-map-marker-edit:before{content:"\f607"}.fa-map-marker-exclamation:before{content:"\f608"}.fa-map-marker-minus:before{content:"\f609"}.fa-map-marker-plus:before{content:"\f60a"}.fa-map-marker-question:before{content:"\f60b"}.fa-map-marker-slash:before{content:"\f60c"}.fa-map-marker-smile:before{content:"\f60d"}.fa-map-marker-times:before{content:"\f60e"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-meat:before{content:"\f814"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaphone:before{content:"\f675"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microphone-stand:before{content:"\f8cb"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-microwave:before{content:"\e01b"}.fa-mind-share:before{content:"\f677"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-hexagon:before{content:"\f307"}.fa-minus-octagon:before{content:"\f308"}.fa-minus-square:before{content:"\f146"}.fa-mistletoe:before{content:"\f7b4"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-mobile-android:before{content:"\f3ce"}.fa-mobile-android-alt:before{content:"\f3cf"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-money-check-edit:before{content:"\f872"}.fa-money-check-edit-alt:before{content:"\f873"}.fa-monitor-heart-rate:before{content:"\f611"}.fa-monkey:before{content:"\f6fb"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-moon-cloud:before{content:"\f754"}.fa-moon-stars:before{content:"\f755"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mountains:before{content:"\f6fd"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-alt:before{content:"\f8cd"}.fa-mouse-pointer:before{content:"\f245"}.fa-mp3-player:before{content:"\f8ce"}.fa-mug:before{content:"\f874"}.fa-mug-hot:before{content:"\f7b6"}.fa-mug-marshmallows:before{content:"\f7b7"}.fa-mug-tea:before{content:"\f875"}.fa-music:before{content:"\f001"}.fa-music-alt:before{content:"\f8cf"}.fa-music-alt-slash:before{content:"\f8d0"}.fa-music-slash:before{content:"\f8d1"}.fa-napster:before{content:"\f3d2"}.fa-narwhal:before{content:"\f6fe"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octagon:before{content:"\f306"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-oil-temp:before{content:"\f614"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-omega:before{content:"\f67a"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-ornament:before{content:"\f7b8"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-outlet:before{content:"\e01c"}.fa-oven:before{content:"\e01d"}.fa-overline:before{content:"\f876"}.fa-page-break:before{content:"\f877"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-brush-alt:before{content:"\f5a9"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-pallet-alt:before{content:"\f483"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-paragraph-rtl:before{content:"\f878"}.fa-parking:before{content:"\f540"}.fa-parking-circle:before{content:"\f615"}.fa-parking-circle-slash:before{content:"\f616"}.fa-parking-slash:before{content:"\f617"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paw-alt:before{content:"\f701"}.fa-paw-claws:before{content:"\f702"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pegasus:before{content:"\f703"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil:before{content:"\f040"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-paintbrush:before{content:"\f618"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-pennant:before{content:"\f456"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-person-carry:before{content:"\f4cf"}.fa-person-dolly:before{content:"\f4d0"}.fa-person-dolly-empty:before{content:"\f4d1"}.fa-person-sign:before{content:"\f757"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-laptop:before{content:"\f87a"}.fa-phone-office:before{content:"\f67d"}.fa-phone-plus:before{content:"\f4d2"}.fa-phone-rotary:before{content:"\f8d3"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pi:before{content:"\f67e"}.fa-piano:before{content:"\f8d4"}.fa-piano-keyboard:before{content:"\f8d5"}.fa-pie:before{content:"\f705"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-pig:before{content:"\f706"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza:before{content:"\f817"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-alt:before{content:"\f3de"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-planet-moon:before{content:"\e01f"}.fa-planet-ringed:before{content:"\e020"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-hexagon:before{content:"\f300"}.fa-plus-octagon:before{content:"\f301"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-podium:before{content:"\f680"}.fa-podium-star:before{content:"\f758"}.fa-police-box:before{content:"\e021"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poll-people:before{content:"\f759"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-popcorn:before{content:"\f819"}.fa-portal-enter:before{content:"\e022"}.fa-portal-exit:before{content:"\e023"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-presentation:before{content:"\f685"}.fa-print:before{content:"\f02f"}.fa-print-search:before{content:"\f81a"}.fa-print-slash:before{content:"\f686"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-projector:before{content:"\f8d6"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pumpkin:before{content:"\f707"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-question-square:before{content:"\f2fd"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-rabbit:before{content:"\f708"}.fa-rabbit-fast:before{content:"\f709"}.fa-racquet:before{content:"\f45a"}.fa-radar:before{content:"\e024"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-radio:before{content:"\f8d7"}.fa-radio-alt:before{content:"\f8d8"}.fa-rainbow:before{content:"\f75b"}.fa-raindrops:before{content:"\f75c"}.fa-ram:before{content:"\f70a"}.fa-ramp-loading:before{content:"\f4d4"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-raygun:before{content:"\e025"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-rectangle-landscape:before{content:"\f2fa"}.fa-rectangle-portrait:before{content:"\f2fb"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-refrigerator:before{content:"\e026"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-repeat:before{content:"\f363"}.fa-repeat-1:before{content:"\f365"}.fa-repeat-1-alt:before{content:"\f366"}.fa-repeat-alt:before{content:"\f364"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-retweet-alt:before{content:"\f361"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-rings-wedding:before{content:"\f81b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocket-launch:before{content:"\e027"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-route-highway:before{content:"\f61a"}.fa-route-interstate:before{content:"\f61b"}.fa-router:before{content:"\f8da"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-triangle:before{content:"\f61c"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-rv:before{content:"\f7be"}.fa-sack:before{content:"\f81c"}.fa-sack-dollar:before{content:"\f81d"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salad:before{content:"\f81e"}.fa-salesforce:before{content:"\f83b"}.fa-sandwich:before{content:"\f81f"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-sausage:before{content:"\f820"}.fa-save:before{content:"\f0c7"}.fa-sax-hot:before{content:"\f8db"}.fa-saxophone:before{content:"\f8dc"}.fa-scalpel:before{content:"\f61d"}.fa-scalpel-path:before{content:"\f61e"}.fa-scanner:before{content:"\f488"}.fa-scanner-image:before{content:"\f8f3"}.fa-scanner-keyboard:before{content:"\f489"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-scarecrow:before{content:"\f70d"}.fa-scarf:before{content:"\f7c1"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-scroll-old:before{content:"\f70f"}.fa-scrubber:before{content:"\f2f8"}.fa-scythe:before{content:"\f710"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-send-back:before{content:"\f87e"}.fa-send-backward:before{content:"\f87f"}.fa-sensor:before{content:"\e028"}.fa-sensor-alert:before{content:"\e029"}.fa-sensor-fire:before{content:"\e02a"}.fa-sensor-on:before{content:"\e02b"}.fa-sensor-smoke:before{content:"\e02c"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-all:before{content:"\f367"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-sheep:before{content:"\f711"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-check:before{content:"\f2f7"}.fa-shield-cross:before{content:"\f712"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shipping-timed:before{content:"\f48c"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shish-kebab:before{content:"\f821"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shovel:before{content:"\f713"}.fa-shovel-snow:before{content:"\f7c3"}.fa-shower:before{content:"\f2cc"}.fa-shredder:before{content:"\f68a"}.fa-shuttle-van:before{content:"\f5b6"}.fa-shuttlecock:before{content:"\f45b"}.fa-sickle:before{content:"\f822"}.fa-sigma:before{content:"\f68b"}.fa-sign:before{content:"\f4d9"}.fa-sign-in:before{content:"\f090"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out:before{content:"\f08b"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signal-1:before{content:"\f68c"}.fa-signal-2:before{content:"\f68d"}.fa-signal-3:before{content:"\f68e"}.fa-signal-4:before{content:"\f68f"}.fa-signal-alt:before{content:"\f690"}.fa-signal-alt-1:before{content:"\f691"}.fa-signal-alt-2:before{content:"\f692"}.fa-signal-alt-3:before{content:"\f693"}.fa-signal-alt-slash:before{content:"\f694"}.fa-signal-slash:before{content:"\f695"}.fa-signal-stream:before{content:"\f8dd"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-siren:before{content:"\e02d"}.fa-siren-on:before{content:"\e02e"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-skeleton:before{content:"\f620"}.fa-sketch:before{content:"\f7c6"}.fa-ski-jump:before{content:"\f7c7"}.fa-ski-lift:before{content:"\f7c8"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-cow:before{content:"\f8de"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sledding:before{content:"\f7cb"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-sliders-h-square:before{content:"\f3f0"}.fa-sliders-v:before{content:"\f3f1"}.fa-sliders-v-square:before{content:"\f3f2"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-plus:before{content:"\f5b9"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoke:before{content:"\f760"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snake:before{content:"\f716"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snooze:before{content:"\f880"}.fa-snow-blowing:before{content:"\f761"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowflakes:before{content:"\f7cf"}.fa-snowman:before{content:"\f7d0"}.fa-snowmobile:before{content:"\f7d1"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-solar-system:before{content:"\e02f"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-alt:before{content:"\f883"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-circle:before{content:"\e030"}.fa-sort-circle-down:before{content:"\e031"}.fa-sort-circle-up:before{content:"\e032"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-shapes-down:before{content:"\f888"}.fa-sort-shapes-down-alt:before{content:"\f889"}.fa-sort-shapes-up:before{content:"\f88a"}.fa-sort-shapes-up-alt:before{content:"\f88b"}.fa-sort-size-down:before{content:"\f88c"}.fa-sort-size-down-alt:before{content:"\f88d"}.fa-sort-size-up:before{content:"\f88e"}.fa-sort-size-up-alt:before{content:"\f88f"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-soup:before{content:"\f823"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-space-station-moon:before{content:"\e033"}.fa-space-station-moon-alt:before{content:"\e034"}.fa-spade:before{content:"\f2f4"}.fa-sparkles:before{content:"\f890"}.fa-speakap:before{content:"\f3f3"}.fa-speaker:before{content:"\f8df"}.fa-speaker-deck:before{content:"\f83c"}.fa-speakers:before{content:"\f8e0"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spider-black-widow:before{content:"\f718"}.fa-spider-web:before{content:"\f719"}.fa-spinner:before{content:"\f110"}.fa-spinner-third:before{content:"\f3f4"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-sprinkler:before{content:"\e035"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root:before{content:"\f697"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-squirrel:before{content:"\f71a"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staff:before{content:"\f71b"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-christmas:before{content:"\f7d4"}.fa-star-exclamation:before{content:"\f2f3"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-star-shooting:before{content:"\e036"}.fa-starfighter:before{content:"\e037"}.fa-starfighter-alt:before{content:"\e038"}.fa-stars:before{content:"\f762"}.fa-starship:before{content:"\e039"}.fa-starship-freighter:before{content:"\e03a"}.fa-staylinked:before{content:"\f3f5"}.fa-steak:before{content:"\f824"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-steering-wheel:before{content:"\f622"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stocking:before{content:"\f7d5"}.fa-stomach:before{content:"\f623"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-stretcher:before{content:"\f825"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-cloud:before{content:"\f763"}.fa-sun-dust:before{content:"\f764"}.fa-sun-haze:before{content:"\f765"}.fa-sunglasses:before{content:"\f892"}.fa-sunrise:before{content:"\f766"}.fa-sunset:before{content:"\f767"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sword:before{content:"\f71c"}.fa-sword-laser:before{content:"\e03b"}.fa-sword-laser-alt:before{content:"\e03c"}.fa-swords:before{content:"\f71d"}.fa-swords-laser:before{content:"\e03d"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablet-android:before{content:"\f3fb"}.fa-tablet-android-alt:before{content:"\f3fc"}.fa-tablet-rugged:before{content:"\f48f"}.fa-tablets:before{content:"\f490"}.fa-tachometer:before{content:"\f0e4"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tachometer-alt-average:before{content:"\f624"}.fa-tachometer-alt-fast:before{content:"\f625"}.fa-tachometer-alt-fastest:before{content:"\f626"}.fa-tachometer-alt-slow:before{content:"\f627"}.fa-tachometer-alt-slowest:before{content:"\f628"}.fa-tachometer-average:before{content:"\f629"}.fa-tachometer-fast:before{content:"\f62a"}.fa-tachometer-fastest:before{content:"\f62b"}.fa-tachometer-slow:before{content:"\f62c"}.fa-tachometer-slowest:before{content:"\f62d"}.fa-taco:before{content:"\f826"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tally:before{content:"\f69c"}.fa-tanakh:before{content:"\f827"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-tasks-alt:before{content:"\f828"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-telescope:before{content:"\e03e"}.fa-temperature-down:before{content:"\e03f"}.fa-temperature-frigid:before{content:"\f768"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-hot:before{content:"\f76a"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-up:before{content:"\e040"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-tennis-ball:before{content:"\f45e"}.fa-terminal:before{content:"\f120"}.fa-text:before{content:"\f893"}.fa-text-height:before{content:"\f034"}.fa-text-size:before{content:"\f894"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-theta:before{content:"\f69e"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-thunderstorm:before{content:"\f76c"}.fa-thunderstorm-moon:before{content:"\f76d"}.fa-thunderstorm-sun:before{content:"\f76e"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-tilde:before{content:"\f69f"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-times-hexagon:before{content:"\f2ee"}.fa-times-octagon:before{content:"\f2f0"}.fa-times-square:before{content:"\f2d3"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tire:before{content:"\f631"}.fa-tire-flat:before{content:"\f632"}.fa-tire-pressure-warning:before{content:"\f633"}.fa-tire-rugged:before{content:"\f634"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-alt:before{content:"\f71f"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-tombstone:before{content:"\f720"}.fa-tombstone-alt:before{content:"\f721"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-toothbrush:before{content:"\f635"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-cone:before{content:"\f636"}.fa-traffic-light:before{content:"\f637"}.fa-traffic-light-go:before{content:"\f638"}.fa-traffic-light-slow:before{content:"\f639"}.fa-traffic-light-stop:before{content:"\f63a"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-transporter:before{content:"\e042"}.fa-transporter-1:before{content:"\e043"}.fa-transporter-2:before{content:"\e044"}.fa-transporter-3:before{content:"\e045"}.fa-transporter-empty:before{content:"\e046"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-trash-undo:before{content:"\f895"}.fa-trash-undo-alt:before{content:"\f896"}.fa-treasure-chest:before{content:"\f723"}.fa-tree:before{content:"\f1bb"}.fa-tree-alt:before{content:"\f400"}.fa-tree-christmas:before{content:"\f7db"}.fa-tree-decorated:before{content:"\f7dc"}.fa-tree-large:before{content:"\f7dd"}.fa-tree-palm:before{content:"\f82b"}.fa-trees:before{content:"\f724"}.fa-trello:before{content:"\f181"}.fa-triangle:before{content:"\f2ec"}.fa-triangle-music:before{content:"\f8e2"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-trophy-alt:before{content:"\f2eb"}.fa-truck:before{content:"\f0d1"}.fa-truck-container:before{content:"\f4dc"}.fa-truck-couch:before{content:"\f4dd"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plow:before{content:"\f7de"}.fa-truck-ramp:before{content:"\f4e0"}.fa-trumpet:before{content:"\f8e3"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-turkey:before{content:"\f725"}.fa-turntable:before{content:"\f8e4"}.fa-turtle:before{content:"\f726"}.fa-tv:before{content:"\f26c"}.fa-tv-alt:before{content:"\f8e5"}.fa-tv-music:before{content:"\f8e6"}.fa-tv-retro:before{content:"\f401"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typewriter:before{content:"\f8e7"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-ufo:before{content:"\e047"}.fa-ufo-beam:before{content:"\e048"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-unicorn:before{content:"\f727"}.fa-union:before{content:"\f6a2"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usb-drive:before{content:"\f8e9"}.fa-usd-circle:before{content:"\f2e8"}.fa-usd-square:before{content:"\f2e9"}.fa-user:before{content:"\f007"}.fa-user-alien:before{content:"\e04a"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-chart:before{content:"\f6a3"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-cowboy:before{content:"\f8ea"}.fa-user-crown:before{content:"\f6a4"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-hard-hat:before{content:"\f82c"}.fa-user-headset:before{content:"\f82d"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-md-chat:before{content:"\f82e"}.fa-user-minus:before{content:"\f503"}.fa-user-music:before{content:"\f8eb"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-robot:before{content:"\e04b"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-user-unlock:before{content:"\e058"}.fa-user-visor:before{content:"\e04c"}.fa-users:before{content:"\f0c0"}.fa-users-class:before{content:"\f63d"}.fa-users-cog:before{content:"\f509"}.fa-users-crown:before{content:"\f6a5"}.fa-users-medical:before{content:"\f830"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-fork:before{content:"\f2e3"}.fa-utensil-knife:before{content:"\f2e4"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-utensils-alt:before{content:"\f2e6"}.fa-vaadin:before{content:"\f408"}.fa-vacuum:before{content:"\e04d"}.fa-vacuum-robot:before{content:"\e04e"}.fa-value-absolute:before{content:"\f6a6"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vhs:before{content:"\f8ec"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-plus:before{content:"\f4e1"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-violin:before{content:"\f8ed"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume:before{content:"\f6a8"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-slash:before{content:"\f2e2"}.fa-volume-up:before{content:"\f028"}.fa-vote-nay:before{content:"\f771"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-wagon-covered:before{content:"\f8ee"}.fa-walker:before{content:"\f831"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-wand:before{content:"\f72a"}.fa-wand-magic:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-warehouse-alt:before{content:"\f495"}.fa-washer:before{content:"\f898"}.fa-watch:before{content:"\f2e1"}.fa-watch-calculator:before{content:"\f8f0"}.fa-watch-fitness:before{content:"\f63e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-water-lower:before{content:"\f774"}.fa-water-rise:before{content:"\f775"}.fa-wave-sine:before{content:"\f899"}.fa-wave-square:before{content:"\f83e"}.fa-wave-triangle:before{content:"\f89a"}.fa-waveform:before{content:"\f8f1"}.fa-waveform-path:before{content:"\f8f2"}.fa-waze:before{content:"\f83f"}.fa-webcam:before{content:"\f832"}.fa-webcam-slash:before{content:"\f833"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whale:before{content:"\f72c"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheat:before{content:"\f72d"}.fa-wheelchair:before{content:"\f193"}.fa-whistle:before{content:"\f460"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wifi-1:before{content:"\f6aa"}.fa-wifi-2:before{content:"\f6ab"}.fa-wifi-slash:before{content:"\f6ac"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-wind-turbine:before{content:"\f89b"}.fa-wind-warning:before{content:"\f776"}.fa-window:before{content:"\f40e"}.fa-window-alt:before{content:"\f40f"}.fa-window-close:before{content:"\f410"}.fa-window-frame:before{content:"\e04f"}.fa-window-frame-open:before{content:"\e050"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-windsock:before{content:"\f777"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wreath:before{content:"\f7e2"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} </xf:if> <xf:if is="{{ property('uix_iconFontFamily')}} != 'fontawesome'"> .far,.fa,.fas,.fab,.fal { display: inline-block; font: normal normal normal 18px/1 "Material Design Icons"; font-size: inherit; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; transform: translate(0, 0); width: auto; } </xf:if> <xf:if is="{{ property('uix_iconFontFamily')}} == 'material'"> {{ include('uix_material_solid.less')}} </xf:if> <xf:if is="{{ property('uix_iconFontFamily')}} == 'materialOutline'"> {{ include('uix_material_outline.less')}} </xf:if>]]>

</template>


-<template title="find_threads_list" version_string="2.2.0 Beta 3" version_id="2020033" addon_id="XF" type="public">

<![CDATA[<xf:if is="$pageSelected == 'started'"> <xf:title page="{$page}">{{ phrase('threads_started_by_x', {'username': $user.username}) }}</xf:title> <xf:elseif is="$pageSelected == 'contributed'" /> <xf:title page="{$page}">{{ phrase('threads_with_posts_by_x', {'username': $user.username}) }}</xf:title> <xf:else /> <xf:title page="{$page}">{{ phrase('threads_with_no_replies') }}</xf:title> <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head> </xf:if> <xf:macro name="navigation" arg-pageSelected="{$pageSelected}" arg-user="{$user}" /> <xf:if is="$threads is not empty"> <xf:if is="$canInlineMod"> <xf:js src="xf/inline_mod.js" min="1" /> </xf:if> <div class="block" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="thread" data-href="{{ link('inline-mod') }}"> <xf:if contentcheck="true"> <div class="block-outer"> <xf:contentcheck> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}" link="find-threads/{$pageSelected}" params="{{ { 'user_id': ($xf.visitor.user_id != $user.user_id ? $user.user_id : '') } }}" wrapperclass="block-outer-main" /> <xf:if is="$canInlineMod"> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:macro template="inline_mod_macros" name="button" /> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> <div class="block-container"> <div class="block-body"> <div class="structItemContainer"> <xf:foreach loop="$threads" value="$thread"> <xf:set var="$extra" value=""/> <xf:macro template="thread_list_macros" name="item" arg-thread="{$thread}" arg-allowEdit="{{ false }}" /> </xf:foreach> </div> </div> </div> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}" link="find-threads/{$pageSelected}" params="{{ { 'user_id': ($xf.visitor.user_id != $user.user_id ? $user.user_id : '') } }}" wrapperclass="block-outer block-outer--after" /> </div> <xf:else /> <div class="blockMessage">{{ phrase('there_no_threads_to_display') }}</div> </xf:if> <xf:macro name="navigation" arg-pageSelected="!" arg-user="!"> <xf:if is="property('findThreadsNavStyle') == 'tabs'"> <div class="tabs tabs--standalone"> <div class="hScroller" data-xf-init="h-scroller"> <span class="hScroller-scroll"> <xf:macro name="links" arg-pageSelected="{$pageSelected}" arg-baseClass="tabs-tab" arg-selectedClass="is-active" arg-user="{$user}" /> </span> </div> </div> <xf:else /> <xf:sidenav> <div class="block"> <div class="block-container"> <h3 class="block-header">{{ phrase('thread_lists') }}</h3> <div class="block-body"> <xf:macro name="links" arg-pageSelected="{$pageSelected}" arg-baseClass="blockLink" arg-selectedClass="is-selected" arg-user="{$user}" /> </div> </div> </div> <xf:widgetpos id="find_threads_sidenav" /> </xf:sidenav> <xf:page option="sideNavTitle">{{ phrase('thread_lists') }}</xf:page> </xf:if> </xf:macro> <xf:macro name="links" arg-pageSelected="!" arg-baseClass="!" arg-selectedClass="!" arg-user="!"> <a class="{$baseClass} {{ ($pageSelected == 'started' && $xf.visitor.user_id == $user.user_id) ? {$selectedClass} : '' }}" href="{{ link('find-threads/started') }}" rel="nofollow">{{ phrase('your_threads') }}</a> <a class="{$baseClass} {{ $pageSelected == 'contributed' ? {$selectedClass} : '' }}" href="{{ link('find-threads/contributed') }}" rel="nofollow">{{ phrase('threads_with_your_posts') }}</a> <a class="{$baseClass} {{ $pageSelected == 'unanswered' ? {$selectedClass} : '' }}" href="{{ link('find-threads/unanswered') }}" rel="nofollow">{{ phrase('unanswered_threads') }}</a> <a class="{$baseClass} {{ $pageSelected == 'watched' ? {$selectedClass} : '' }}" href="{{ link('watched/threads') }}" rel="nofollow">{{ phrase('watched_threads') }}</a> </xf:macro>]]>

</template>


-<template title="forum_list" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[<xf:if is="$xf.options.forumsDefaultPage != 'forums' OR ($xf.options.indexRoute AND $xf.options.indexRoute != 'forums/')"> <xf:title>{{ phrase('forum_list') }}</xf:title> <xf:else /> <xf:h1>{{ phrase('forum_list') }}</xf:h1> </xf:if> <xf:page option="uix_mainTabSets" value="forum" /> <xf:page option="uix_mainTabActive" value="forum_list" /> <xf:macro template="metadata_macros" name="metadata" arg-description="{$xf.options.boardDescription}" arg-canonicalUrl="{{ link('canonical:' . $selfRoute) }}" /> <xf:wrap template="forum_overview_wrapper"> <xf:set var="$pageSelected">forums</xf:set> </xf:wrap> <xf:widgetpos id="forum_list_sidebar" position="sidebar" /> <xf:widgetpos id="forum_list_above_nodes" /> <div class="uix_nodeList block"> <xf:macro name="node_list" arg-children="{$nodeTree}" arg-extras="{$nodeExtras}" /> </div> <xf:widgetpos id="forum_list_below_nodes" /> <xf:head option="rss_forum"><link rel="alternate" type="application/rss+xml" title="{{ phrase('rss_feed_for_x', {'title': $xf.options.boardTitle})|for_attr }}" href="{{ link('forums/index.rss', '-') }}" /></xf:head> <xf:macro name="node_list_entry" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1"> <xf:css src="node_list.less" /> <xf:set var="$nodeTemplate" value="{{ $node.getNodeTemplateRenderer($depth) }}" /> <xf:if is="$nodeTemplate.macro"> <xf:macro template="{$nodeTemplate.template}" name="{$nodeTemplate.macro}" arg-node="{$node}" arg-extras="{$extras}" arg-children="{$children}" arg-childExtras="{$childExtras}" arg-depth="{$depth}" /> <xf:elseif is="{$nodeTemplate.template}" /> <xf:include template="{$nodeTemplate.template}" /> </xf:if> </xf:macro> <xf:macro name="node_list" arg-children="!" arg-extras="!" arg-depth="1"> <xf:css src="node_list.less" /> <xf:foreach loop="$children" key="$id" value="$child"> <xf:macro name="node_list_entry" arg-node="{$child.record}" arg-extras="{$extras.{$id}}" arg-children="{$child.children}" arg-childExtras="{$extras}" arg-depth="{$depth}" /> </xf:foreach> </xf:macro> <xf:macro name="sub_node_list" arg-children="!" arg-childExtras="!" arg-depth="3"> <xf:if contentcheck="true"> <ol> <xf:contentcheck> <xf:macro template="forum_list" name="node_list" arg-children="{$children}" arg-extras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </xf:contentcheck> </ol> </xf:if> </xf:macro> <xf:macro name="sub_nodes_flat" arg-children="!" arg-childExtras="!" arg-depth="3"> <xf:css src="node_list.less" /> <xf:if contentcheck="true"> <div class="node-subNodesFlat"> <span class="node-subNodesLabel">{{ phrase('sub_forums:') }}</span> <ol class="node-subNodeFlatList"> <xf:contentcheck> <xf:macro template="forum_list" name="node_list" arg-children="{$children}" arg-extras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </xf:contentcheck> </ol> </div> </xf:if> </xf:macro> <xf:macro name="sub_nodes_menu" arg-children="!" arg-childExtras="!" arg-depth="3"> <xf:css src="node_list.less" /> <xf:if contentcheck="true"> <div class="node-subNodeMenu"> <a class="menuTrigger" data-xf-click="menu" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true"> <span>{{ phrase('sub_forums') }}</span> <xf:fa icon="fa-folder" /> </a> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('sub_forums') }}</h4> <ol class="subNodeMenu"> <xf:contentcheck> <xf:macro template="forum_list" name="node_list" arg-children="{$children}" arg-extras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </xf:contentcheck> </ol> </div> </div> </div> </xf:if> </xf:macro>]]>

</template>


-<template title="forum_new_posts" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[<xf:if is="$xf.options.forumsDefaultPage != 'new_posts' OR ($xf.options.indexRoute AND $xf.options.indexRoute != 'forums/')"> <xf:title page="{$page}">{{ phrase('new_posts') }}</xf:title> <xf:else /> <xf:h1>{{ phrase('new_posts') }}</xf:h1> </xf:if> <xf:page option="uix_mainTabSets" value="forum" /> <xf:page option="uix_mainTabActive" value="new_posts" /> <xf:macro template="metadata_macros" name="metadata" arg-description="{$xf.options.boardDescription}" /> <xf:if is="$page > 1 OR $originalFindNewId"> <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head> </xf:if> <xf:if is="$page <= 1"> <xf:macro template="metadata_macros" name="canonical_url" arg-canonicalUrl="{{ link('canonical:' . $selfRoute) }}" /> </xf:if> <xf:wrap template="forum_overview_wrapper"> <xf:set var="$pageSelected">new_posts</xf:set> </xf:wrap> <xf:widgetpos id="forum_new_posts_sidebar" position="sidebar" /> <xf:if is="$canInlineMod"> <xf:js src="xf/inline_mod.js" min="1" /> </xf:if> <div class="block" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="thread" data-href="{{ link('inline-mod') }}"> <xf:comment> <xf:if is="$findNew.result_count"> <div class="block-outer"><xf:trim> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$findNew.result_count}" link="forums/new-posts" params="{{ {'f': $findNew.find_new_id} }}" wrapperclass="block-outer-main" /> <xf:if contentcheck="true"> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:contentcheck> <xf:macro template="whats_new_posts" name="buttons" arg-findNew="{$findNew}" arg-canInlineMod="{$canInlineMod}" /> </xf:contentcheck> </div> </div> </xf:if> </xf:trim></div> </xf:if> </xf:comment> <div class="block-container"> <xf:macro template="whats_new_posts" name="filter_bar" arg-findNew="{$findNew}" arg-rerunRoute="forums/new-posts" arg-rerunQuery="{{ {'f': $findNew.find_new_id} }}" arg-filterRoute="forums/new-posts" /> <xf:macro template="whats_new_posts" name="results" arg-findNew="{$findNew}" arg-threads="{$threads}" arg-latestRoute="forums/new-posts" /> </div> <xf:if is="$findNew.result_count"> <div class="block-outer block-outer--after"> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$findNew.result_count}" link="forums/new-posts" params="{{ {'f': $findNew.find_new_id} }}" wrapperclass="block-outer-main" /> <xf:if contentcheck="true"> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:contentcheck> <xf:macro template="whats_new_posts" name="buttons" arg-findNew="{$findNew}" arg-canInlineMod="{$canInlineMod}" /> </xf:contentcheck> </div> </div> </xf:if> <xf:showignored wrapperclass="block-outer-opposite" /> </div> </xf:if> </div>]]>

</template>


-<template title="forum_overview_wrapper" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[<xf:ad position="forum_overview_top" /> <xf:widgetpos id="forum_overview_top" /> <xf:if is="{{ property('uix_removeIndexPageTitle')}}"> <xf:page option="uix_hidePageTitle">1</xf:page> </xf:if> <xf:pageaction> <xf:if is="!property('uix_removeWhatsNewButtons')"> <xf:if is="$pageSelected == 'new_posts' "> <xf:button href="{{ link('forums/list') }}" icon="list"> {{ phrase('forum_list') }} </xf:button> <xf:else /> <xf:button href="{{ $xf.options.forumsDefaultPage == 'new_posts' ? link('forums/new-posts') : link('whats-new/posts') }}" icon="bolt"> {{ phrase('new_posts') }} </xf:button> </xf:if> </xf:if> <xf:if is="$xf.visitor.canCreateThread() OR $xf.visitor.canCreateThreadPreReg()"> <xf:button href="{{ link('forums/create-thread') }}" class="button--cta" icon="write" overlay="true"> {{ phrase('post_thread...') }} </xf:button> </xf:if> </xf:pageaction> {$innerContent|raw} <xf:ad position="forum_overview_bottom" /> <xf:widgetpos id="forum_overview_bottom" />]]>

</template>


-<template title="forum_view" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[<xf:title page="{$page}">{$forum.Node.title}</xf:title> <xf:description>{$forum.Node.description|raw}</xf:description> <xf:page option="uix_mainTabSets" value="forum" /> <xf:page option="uix_mainTabActive" value="forum_list" /> <xf:css src="structured_list.less" /> <xf:if is="!$forum.isSearchEngineIndexable()"> <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head> </xf:if> <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() OR $forum.canCreateThreadPreReg()"> <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:extension name="above_node_list"></xf:extension> <xf:if is="$nodeTree"> <xf:set var="$unreadNode" value="0" /> <xf:foreach loop="$nodeTree" value="$node" key="$id"> <xf:if is="{$nodeExtras.{$id}.hasNew}"> <xf:set var="$unreadNode" value="1" /> </xf:if> </xf:foreach> <xf:ad position="forum_view_above_node_list" arg-forum="{$forum}" /> <div class="block uix_nodeList block--category {{ is_toggled('thuixsf-'.$forum.node_id) ? 'category--collapsed' : '' }}"> <xf:if is="property('uix_categoryStripOutsideWrapper') && property('uix_collapseibleSubForums')"> <h2 class="block-header js-nodeMain{{ property('uix_stickyCategoryStrips') ? ' uix_stickyCategoryStrips' : '' }}"> <xf:if is="property('uix_categoryStripIcons')"> <div class="uix_categoryStrip__icon"> <xf:fa icon="fa-folder" /> </div> </xf:if> <div class="uix_categoryStrip-content"> <xf:set var="$uix_categoryDescriptionDisplay" value="{{ property('uix_categoryDescriptionDisplay') }}" /> <a href="{{ link('categories', $node) }}" class="uix_categoryTitle" data-xf-init="{{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">Sub Forum</a> <xf:if is="$unreadNode"><span class="uix_newIndicator">Unread</span></xf:if> </div> <xf:if is="{{ property('uix_categoryCollapse') && $xf.visitor->hasPermission('th_uix', 'collapseCategories') }}"> <a class="u-ripple categoryCollapse--trigger" data-xf-click="toggle" data-target="< :up :next" data-hide="true" data-xf-init="toggle-storage" data-storage-type="cookie" data-storage-key="thuixsf-{$forum.node_id}"> <xf:fa icon="fa-chevron-up" /></a> </xf:if> </h2> </xf:if> <div class="block-container"> <xf:if is="!property('uix_categoryStripOutsideWrapper') && property('uix_collapseibleSubForums')"> <h2 class="block-header js-nodeMain{{ property('uix_stickyCategoryStrips') ? ' uix_stickyCategoryStrips' : '' }}"> <xf:if is="property('uix_categoryStripIcons')"> <div class="uix_categoryStrip__icon"> <xf:fa icon="fa-folder" /> </div> </xf:if> <div class="uix_categoryStrip-content"> <xf:set var="$uix_categoryDescriptionDisplay" value="{{ property('uix_categoryDescriptionDisplay') }}" /> <a href="{{ link('categories', $node) }}" class="uix_categoryTitle" data-xf-init="{{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">Sub Forum</a> <xf:if is="$unreadNode"><span class="uix_newIndicator">Unread</span></xf:if> </div> <xf:if is="{{ property('uix_categoryCollapse') && $xf.visitor->hasPermission('th_uix', 'collapseCategories') }}"> <a class="u-ripple categoryCollapse--trigger" data-xf-click="toggle" data-target="< :up :next" data-hide="true" data-xf-init="toggle-storage" data-storage-type="cookie" data-storage-key="thuixsf-{$forum.node_id}"> <xf:fa icon="fa-chevron-up" /></a> </xf:if> </h2> </xf:if> <div class="uix_block-body--outer"> <div class="block-body"> <xf:macro template="forum_list" name="node_list" arg-children="{$nodeTree}" arg-extras="{$nodeExtras}" arg-depth="2" /> </div> </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:extension name="above_thread_list"></xf:extension> <xf:ad position="forum_view_above_thread_list" arg-forum="{$forum}" /> <xf:extension name="thread_list_block_classes" value="" /> <div class="block {{ extension_value('thread_list_block_classes') }}" 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> <div class="block-container uix_discussionList"> <xf:extension name="thread_list_header"> <div class="block-filterBar"> <div class="filterBar"> <xf:if contentcheck="true"> <ul class="filterBar-filters"> <xf:contentcheck> <xf:extension name="filters"> <xf:macro name="filters" arg-forum="{$forum}" arg-filters="{$filters}" arg-starterFilter="{$starterFilter}" arg-threadTypeFilter="{$threadTypeFilter}" /> </xf:extension> </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:extension> <xf:set var="$qtPos">{{ ($sortInfo.order == 'last_post_date' && $sortInfo.direction == 'asc') ? 'bottom' : 'top' }}</xf:set> <div class="block-body"> <xf:extension name="thread_list"> <div class="structItemContainer"> <xf:macro name="{{ $templateOverrides.quick_thread_macro ?: 'thread_list_macros::quick_thread' }}" arg-forum="{$forum}" arg-page="{$page}" arg-order="{$sortInfo.order}" arg-direction="{$sortInfo.direction}" arg-prefixes="{$quickThreadPrefixes}" args="{$templateOverrides.quick_thread_macro_args}" /> <xf:if is="$stickyThreads is not empty OR $threads is not empty"> <xf:if is="$stickyThreads is not empty"> <xf:if is="{{ property('uix_separateThreads') }} && $stickyThreads is not empty AND $threads is not empty"> <h3 class="block-minorHeader uix_threadListSeparator"> {{ phrase('th_sticky_threads') }} <xf:if is="{{ property('uix_collapsibleStickyThreads') }}"> <span class="uix_threadCollapseTrigger {{ !is_toggled('thuixfst-'.$forum.node_id) ? 'is-active' : '' }}" data-xf-click="toggle" data-storage-type="cookie" data-target="< :up :next" data-xf-init="toggle-storage" data-storage-key="thuixfst-{$forum.node_id}"> <xf:fa icon="fa-chevron-down" /> </span> </xf:if> </h3> </xf:if> <div class="uix_stickyContainerOuter {{ !is_toggled('thuixfst-'.$forum.node_id) ? 'is-active' : '' }}"> <div class="uix_stickyContainerInner"> <div class="structItemContainer-group structItemContainer-group--sticky"> <xf:foreach loop="$stickyThreads" value="$thread"> <xf:macro name="{{ $templateOverrides.thread_list_macro ?: 'thread_list_macros::item' }}" arg-thread="{$thread}" arg-forum="{$forum}" args="{$templateOverrides.thread_list_macro_args}" /> </xf:foreach> </div> </div> </div> <xf:ad position="forum_view_below_stickies" arg-forum="{$forum}" /> </xf:if> <xf:if is="{{ property('uix_separateThreads') }} && $stickyThreads is not empty AND $threads is not empty"> <h3 class="block-minorHeader uix_threadListSeparator">{{ phrase('th_normal_threads') }}</h3> </xf:if> <div class="structItemContainer-group js-threadList"> <xf:if is="$threads is not empty"> <xf:foreach loop="$threads" value="$thread"> <xf:macro name="{{ $templateOverrides.thread_list_macro ?: 'thread_list_macros::item' }}" arg-thread="{$thread}" arg-forum="{$forum}" args="{$templateOverrides.thread_list_macro_args}" /> </xf:foreach> <xf:if is="$showDateLimitDisabler"> <xf:macro name="date_limit_disabler" arg-forum="{$forum}" arg-page="{$page}" arg-filters="{$filters}" /> </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> <xf:if is="$showDateLimitDisabler"> <xf:macro name="date_limit_disabler" arg-forum="{$forum}" arg-page="{$page}" arg-filters="{$filters}" /> </xf:if> </div> <xf:else /> <div class="structItemContainer-group js-threadList"> <xf:if is="$showDateLimitDisabler"> <div class="structItem js-emptyThreadList"> <div class="structItem-cell">{{ phrase('there_no_threads_to_display') }}</div> </div> <xf:macro name="date_limit_disabler" arg-forum="{$forum}" arg-page="{$page}" arg-filters="{$filters}" /> <xf:else /> <div class="structItem js-emptyThreadList"> <div class="structItem-cell">{{ phrase('there_no_threads_in_this_forum') }}</div> </div> </xf:if> </div> </xf:if> </div> </xf:extension> </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() AND !$forum.canCreateThreadPreReg()"> <div class="block-outer-opposite"> <xf:if is="$xf.visitor.user_id"> <span class="button button--wrap 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:extension name="below_thread_list"></xf:extension> <xf:widgetpos id="forum_view_sidebar" context-forum="{$forum}" position="sidebar" /> <xf:macro name="filters" arg-forum="!" arg-filters="!" arg-starterFilter="{{ null }}" arg-threadTypeFilter="{{ null }}"> <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:extension name="start"></xf:extension> <xf:extension name="prefix_id"> <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:extension> <xf:extension name="starter_id"> <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:extension> <xf:extension name="thread_type"> <xf:if is="$filters.thread_type && $threadTypeFilter"> <li><a href="{{ link('forums', $forum, $filters|replace('thread_type', null)) }}" class="filterBar-filterToggle" data-xf-init="tooltip" title="{{ phrase('remove_this_filter')|for_attr }}"> <span class="filterBar-filterToggle-label">{{ phrase('thread_type_filter:') }}</span> {{ $threadTypeFilter.getTypeTitle() }}</a></li> </xf:if> </xf:extension> <xf:extension name="last_days"> <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:extension> <xf:extension name="order"> <xf:if is="$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> {{ phrase_dynamic('forum_sort.' . $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:extension> <xf:extension name="end"></xf:extension> </xf:macro> <xf:macro name="date_limit_disabler" arg-forum="!" arg-page="!" arg-filters="!"> <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:macro>]]>

</template>


-<template title="helper_js_global" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![CDATA[<xf:macro name="head" arg-app="!"> <xf:set var="$cssUrls" value="{{ ['public:normalize.css', 'public:fa.css', 'public:core.less', $app . ':app.less'] }}" /> <xf:if is="{{ property('uix_iconFontFamily')}} == 'fontawesome'"> <xf:include template="font_awesome_setup" /> </xf:if> <xf:if is="is_addon_active('ThemeHouse/UIX') && is_addon_active('ThemeHouse/UIX') >= 2000490"> <xf:set var="$cssUrls" value="{{ uix_extra_css_urls($cssUrls) }}" /> </xf:if> <link rel="stylesheet" href="{{ css_url($cssUrls) }}" /> <xf:if is="{{property('uix_iconFontFamily')}} != 'fontawesome'"> <link rel="preload" href="{{ base_url(property('uix_imagePath')) }}/fonts/icons/material-icons/fonts/materialdesignicons-webfont.woff2?v=5.8.55" as="font" type="font/woff2" crossorigin="anonymous" /> <link rel="stylesheet" href="{{ base_url(property('uix_imagePath')) }}/fonts/icons/material-icons/css/materialdesignicons.min.css?d={$xf.options.jsLastUpdate}" /> </xf:if> <xf:css src="uix.less" /> <xf:set var="$additionalCSS" value="{{ property('uix_additionalCss')|split(',') }}" /> <xf:foreach loop="$additionalCSS" value="$stylesheet"> <xf:css src="{$stylesheet}" /> </xf:foreach> <!--XF:CSS--> <xf:if is="property('uix_googleFonts')"> <link href='//fonts.googleapis.com/css?family={{ property('uix_googleFonts') }}' rel='stylesheet' type='text/css'> </xf:if> <xf:if is="$xf.fullJs"> <script src="{{ js_url('xf/preamble.js') }}"></script> <xf:else /> <script src="{{ js_url('xf/preamble.min.js') }}"></script> </xf:if> <meta name="apple-mobile-web-app-capable" content="yes"> </xf:macro> <xf:macro name="body" arg-app="!" arg-jsState="{{ null }}"> <xf:corejs /> <!--XF:JS--> <xf:if is="property('uix_buttonRipple')"><xf:js src="themehouse/{{property('uix_jsPath')}}/ripple.js" min="themehouse/{{property('uix_jsPath')}}/ripple.min.js" /></xf:if> <xf:include template="uix_js" /> <xf:if is="property('uix_parallax')"> <xf:js src="themehouse/{{property('uix_jsPath')}}/vendor/parallax/parallax.js" min="themehouse/uix/vendor/parallax/parallax.min.js" /> </xf:if> <xf:js src="themehouse/{{property('uix_jsPath')}}/vendor/hover-intent/jquery.hoverIntent.js" min="themehouse/uix/vendor/hover-intent/jquery.hoverIntent.min.js" /> <xf:if is="property('uix_backstretch')"> <xf:js src="themehouse/{{property('uix_jsPath')}}/vendor/backstretch/jquery.backstretch.js" min="themehouse/uix/vendor/backstretch/jquery.backstretch.min.js" /> </xf:if> <script> jQuery.extend(true, XF.config, { // <!--[XF:js_global:xf_extend_start]--> userId: {$xf.visitor.user_id}, enablePush: {{ $xf.options.enablePush ? 'true' : 'false' }}, pushAppServerKey: '{$xf.options.pushKeysVAPID.publicKey}', url: { fullBase: '{{ base_url(null, true)|escape("js") }}', basePath: '{{ base_url(null, false)|escape("js") }}', css: '{{ css_url(["__SENTINEL__"], false)|escape("js") }}', keepAlive: '{{ link_type($app, "login/keep-alive")|escape("js") }}' }, cookie: { path: '{{ $xf.cookie.path|escape("js") }}', domain: '{{ $xf.cookie.domain|escape("js") }}', prefix: '{{ $xf.cookie.prefix|escape("js") }}', secure: {{ $xf.cookie.secure ? 'true' : 'false' }} }, cacheKey: '{{ cache_key()|escape("js") }}', csrf: '{{ csrf_token()|escape("js") }}', js: {'<!--XF:JS:JSON-->'}, css: {'<!--XF:CSS:JSON-->'}, time: { now: {$xf.time}, today: {$xf.timeDetails.today}, todayDow: {$xf.timeDetails.todayDow}, tomorrow: {$xf.timeDetails.tomorrow}, yesterday: {$xf.timeDetails.yesterday}, week: {$xf.timeDetails.week} }, borderSizeFeature: '{{ property('borderSizeFeature') }}', fontAwesomeWeight: '{{ fa_weight() }}', enableRtnProtect: {{ $xf.enableRtnProtect ? 'true' : 'false' }}, enableFormSubmitSticky: {{ property('formSubmitSticky') ? 'true' : 'false' }}, uploadMaxFilesize: {$xf.uploadMaxFilesize}, allowedVideoExtensions: {$xf.allowedVideoExtensions|json|raw}, allowedAudioExtensions: {$xf.allowedAudioExtensions|json|raw}, shortcodeToEmoji: {{ $xf.options.shortcodeToEmoji ? 'true' : 'false' }}, visitorCounts: { conversations_unread: '{$xf.visitor.conversations_unread|number}', alerts_unviewed: '{$xf.visitor.alerts_unviewed|number}', total_unread: '{{ ($xf.visitor.conversations_unread + $xf.visitor.alerts_unviewed)|number }}', title_count: {{ in_array($xf.options.displayVisitorCount, ['title_count', 'title_and_icon']) ? 'true' : 'false' }}, icon_indicator: {{ in_array($xf.options.displayVisitorCount, ['icon_indicator', 'title_and_icon']) ? 'true' : 'false' }} }, jsState: {{ $jsState ? $jsState|json|raw : '{}' }}, publicMetadataLogoUrl: '{{ property('publicMetadataLogoUrl') ? base_url(property('publicMetadataLogoUrl'), true) : '' }}', publicPushBadgeUrl: '{{ property('publicPushBadgeUrl') ? base_url(property('publicPushBadgeUrl'), true) : '' }}' }); jQuery.extend(XF.phrases, { // <!--[XF:js_global:xf_phrase_start]--> date_x_at_time_y: "{{ phrase('date_x_at_time_y')|escape('js') }}", day_x_at_time_y: "{{ phrase('day_x_at_time_y')|escape('js') }}", yesterday_at_x: "{{ phrase('yesterday_at_x')|escape('js') }}", x_minutes_ago: "{{ phrase('x_minutes_ago')|escape('js') }}", one_minute_ago: "{{ phrase('one_minute_ago')|escape('js') }}", a_moment_ago: "{{ phrase('a_moment_ago')|escape('js') }}", today_at_x: "{{ phrase('today_at_x')|escape('js') }}", in_a_moment: "{{ phrase('in_a_moment')|escape('js') }}", in_a_minute: "{{ phrase('in_a_minute')|escape('js') }}", in_x_minutes: "{{ phrase('in_x_minutes')|escape('js') }}", later_today_at_x: "{{ phrase('later_today_at_x')|escape('js') }}", tomorrow_at_x: "{{ phrase('tomorrow_at_x')|escape('js') }}", day0: "{{ phrase('day_sunday')|escape('js') }}", day1: "{{ phrase('day_monday')|escape('js') }}", day2: "{{ phrase('day_tuesday')|escape('js') }}", day3: "{{ phrase('day_wednesday')|escape('js') }}", day4: "{{ phrase('day_thursday')|escape('js') }}", day5: "{{ phrase('day_friday')|escape('js') }}", day6: "{{ phrase('day_saturday')|escape('js') }}", dayShort0: "{{ phrase('day_sunday_short')|escape('js') }}", dayShort1: "{{ phrase('day_monday_short')|escape('js') }}", dayShort2: "{{ phrase('day_tuesday_short')|escape('js') }}", dayShort3: "{{ phrase('day_wednesday_short')|escape('js') }}", dayShort4: "{{ phrase('day_thursday_short')|escape('js') }}", dayShort5: "{{ phrase('day_friday_short')|escape('js') }}", dayShort6: "{{ phrase('day_saturday_short')|escape('js') }}", month0: "{{ phrase('month_1')|escape('js') }}", month1: "{{ phrase('month_2')|escape('js') }}", month2: "{{ phrase('month_3')|escape('js') }}", month3: "{{ phrase('month_4')|escape('js') }}", month4: "{{ phrase('month_5')|escape('js') }}", month5: "{{ phrase('month_6')|escape('js') }}", month6: "{{ phrase('month_7')|escape('js') }}", month7: "{{ phrase('month_8')|escape('js') }}", month8: "{{ phrase('month_9')|escape('js') }}", month9: "{{ phrase('month_10')|escape('js') }}", month10: "{{ phrase('month_11')|escape('js') }}", month11: "{{ phrase('month_12')|escape('js') }}", active_user_changed_reload_page: "{{ phrase('active_user_changed_reload_page')|escape('js') }}", server_did_not_respond_in_time_try_again: "{{ phrase('server_did_not_respond_in_time_try_again')|escape('js') }}", oops_we_ran_into_some_problems: "{{ phrase('oops_we_ran_into_some_problems')|escape('js') }}", oops_we_ran_into_some_problems_more_details_console: "{{ phrase('oops_we_ran_into_some_problems_more_details_console')|escape('js') }}", file_too_large_to_upload: "{{ phrase('file_too_large_to_upload')|escape('js') }}", uploaded_file_is_too_large_for_server_to_process: "{{ phrase('uploaded_file_is_too_large_for_server_to_process')|escape('js') }}", files_being_uploaded_are_you_sure: "{{ phrase('files_being_uploaded_are_you_sure')|escape('js') }}", attach: "{{ phrase('button.attach')|escape('js') }}", rich_text_box: "{{ phrase('rich_text_box')|escape('js') }}", close: "{{ phrase('close')|escape('js') }}", link_copied_to_clipboard: "{{ phrase('link_copied_to_clipboard')|escape('js') }}", text_copied_to_clipboard: "{{ phrase('text_copied_to_clipboard')|escape('js') }}", loading: "{{ phrase('loading...')|escape('js') }}", processing: "{{ phrase('processing')|escape('js') }}", 'processing...': "{{ phrase('processing...')|escape('js') }}", showing_x_of_y_items: "{{ phrase('showing_x_of_y_items')|escape('js') }}", showing_all_items: "{{ phrase('showing_all_items')|escape('js') }}", no_items_to_display: "{{ phrase('no_items_to_display')|escape('js') }}", number_button_up: "{{ phrase('number_button_up')|escape('js') }}", number_button_down: "{{ phrase('number_button_down')|escape('js') }}", push_enable_notification_title: "{{ phrase('push_enable_notification_title', {'boardTitle': $xf.options.boardTitle})|escape('js') }}", push_enable_notification_body: "{{ phrase('push_enable_notification_body')|escape('js') }}" }); </script> <form style="display:none" hidden="hidden"> <input type="text" name="_xfClientLoadTime" value="" id="_xfClientLoadTime" title="_xfClientLoadTime" tabindex="-1" /> </form> <xf:if is="$xf.visitor.canSearch() && $xf.request.getFullRequestUri() === link('full:index')"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "{{ link('canonical:index')|escape('js') }}", "potentialAction": { "@type": "SearchAction", "target": "{{ link('canonical:search/search')|escape('js') . ($xf.options.useFriendlyUrls ? '?' : '&') . 'keywords={search_keywords}' }}", "query-input": "required name=search_keywords" } } </script> </xf:if> </xf:macro>]]>

</template>


-<template title="input_extended.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[// ################## INPUT TYPES LIST #################### @__borderRadius: @xf-borderRadiusMedium; @__borderColor: @xf-borderColorHeavy; @__textColor: @xf-textColorMuted; @__tabBackground: @xf-contentBg; .inputTypes { .m-listPlain(); display: flex; flex-wrap: wrap; // padding: 0 (2 * @xf-paddingLarge); border-bottom: solid 1px @__borderColor; color: @__textColor; font-size: @xf-fontSizeSmall; } .inputTypes-title { font-weight: bold; } .inputTypes-type { display: block; } .inputTypes-input { .m-visuallyHidden(); } .inputTypes-display { display: flex; justify-content: center; padding: @xf-paddingMedium; border-radius: @__borderRadius @__borderRadius 0 0; border: solid 1px transparent; cursor: pointer; min-width: 100px; position: relative; top: 1px; margin-right: -1px; } .inputTypes-input:checked + .inputTypes-display, .inputTypes-display:hover { color: @xf-inputTextColor; border-color: @__borderColor; background: linear-gradient(180deg, @xf-inputBgColor, @__tabBackground); } .inputTypes-input:checked + .inputTypes-display { border-bottom-color: @xf-contentBg; } .inputTypes-icon { margin-right: 6px; } .inputTypes-defaultIcon { .m-faBase(); .m-faBefore(@fa-var-comment-dots); } .inputTypes--tall { .inputTypes-display { flex-direction: column; align-items: center; } .inputTypes-icon { font-size: 40px; line-height: 1; margin-right: 0; padding-bottom: 3px; } }]]>

</template>


-<template title="login" version_string="2.2.0 Beta 5" version_id="2020035" addon_id="XF" type="public">

<![CDATA[<xf:js src="xf/login_signup.js" min="1" /> <xf:page option="uix_hideExtendedFooter" value="1" /> <xf:page option="uix_hideBreadcrumb" value="1" /> <xf:comment><xf:page option="uix_hideNavigation" value="1" /></xf:comment> <xf:title>{{ phrase('log_in') }}</xf:title> <xf:head option="robots"><meta name="robots" content="noindex" /></xf:head> <xf:if contentcheck="true"> <div class="blockMessage blockMessage--error blockMessage--iconic"> <xf:contentcheck>{$error}</xf:contentcheck> </div> </xf:if> <div class="blocks"> <xf:form action="{{ link('login/login') }}" class="block"> <div class="block-container"> <div class="block-body"> <xf:if is="$uix_loginPreventAutoFocus"> <xf:textboxrow name="login" value="{$login}" autocomplete="username" label="{{ phrase('your_name_or_email_address') }}" /> <xf:else/> <xf:textboxrow name="login" value="{$login}" autofocus="autofocus" autocomplete="username" label="{{ phrase('your_name_or_email_address') }}" /> </xf:if> <xf:passwordboxrow name="password" autocomplete="current-password" label="{{ phrase('password') }}"> <xf:html> <a class="uix_forgotPassWord__link" href="{{ link('lost-password') }}" data-xf-click="overlay">{{ phrase('forgot_your_password') }}</a> </xf:html> </xf:passwordboxrow> <xf:if is="$captcha"> <xf:captcharow label="{{ phrase('verification') }}" force="true" force-visible="true" /> </xf:if> <xf:checkboxrow> <xf:option name="remember" selected="true">{{ phrase('stay_logged_in') }}</xf:option> </xf:checkboxrow> <xf:hiddenval name="_xfRedirect">{$redirect}</xf:hiddenval> </div> <xf:submitrow icon="login" /> </div> <xf:if is="$xf.options.registrationSetup.enabled"> <div class="block-outer block-outer--after uix_login__registerLink"> <div class="block-outer-middle"> {{ phrase('dont_have_account_question') }} <a href="{{ link('register') }}">{{ phrase('register_now') }}</a> </div> </div> </xf:if> </xf:form> <xf:if is="$providers is not empty"> <div class="blocks-textJoiner"><span></span><em>{{ phrase('or_separator') }} {{ phrase('log_in_using') }}</em><span></span></div> <div class="block uix_loginProvider__row"> <div class="block-container"> <div class="block-body"> <xf:formrow rowtype="button"> <ul class="listHeap"> <xf:foreach loop="$providers" value="$provider"> <li> <xf:macro template="connected_account_macros" name="button" arg-provider="{$provider}" /> </li> </xf:foreach> </ul> </xf:formrow> </div> </div> </div> </xf:if> </div>]]>

</template>


-<template title="member.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[@_memberHeader-padding: @xf-paddingLarge; @_memberHeader-avatarSize: @avatar-l; @_memberHeader-avatarSizeShrunk: @avatar-s; .uix_memberHeader__extra { display: flex; flex-wrap: wrap; align-items: center; .memberHeader-buttons {margin-left: auto;} .memberHeader-blurb {margin-right: @xf-paddingMedium;} } .memberHeader { .m-clearFix(); } .memberHeader-main { display: flex; flex-direction: column; justify-content: flex-end; .xf-memberHeader(); .memberHeader--withBanner & { min-height: 250px; } } .memberHeader-mainContent { position: relative; } .memberHeader-avatar { position: absolute; padding: @_memberHeader-padding; } .memberHeader-content { padding: @_memberHeader-padding; padding-left: ((@_memberHeader-padding) * 2 + (@_memberHeader-avatarSize)); } .memberHeader-actionTop { float: right; } .memberHeader-name { margin: 0; margin-top: -.15em; padding: 0; font-weight: @xf-fontWeightNormal; .xf-memberHeaderName(); .memberHeader--withBanner & { .xf-memberHeaderNameBanner(); } } .memberHeader-nameChangeIndicator { color: @xf-textColorMuted; font-size: 75%; &:hover { color: @xf-textColorMuted; } .memberHeader--withBanner & { color: darken(xf-default(@xf-memberHeaderNameBanner--color, white), 20%); &:hover { color: darken(xf-default(@xf-memberHeaderNameBanner--color, white), 20%); } } } // Emulate outer text stroke by stacking a stroked element with the original text. // This is more complex but gives a better result @_member-textStroke: 2px #000; .memberHeader--withBanner { .is-stroked { position: relative; &:before { content: attr(data-stroke); position: absolute; white-space: nowrap; color: #000; -webkit-text-stroke: @_member-textStroke; } span { position: relative; } } .memberHeader-nameChangeIndicator .fa-history { position: relative; &:before { position: relative; z-index: 1; } &:after { position: absolute; left: 0; white-space: nowrap; content: @fa-var-history; -webkit-text-stroke: @_member-textStroke; } } } .memberHeader-blurbContainer { .memberHeader--withBanner & { .xf-memberHeaderBlurbContainerBanner(); .memberHeader-blurb { padding-left: @xf-paddingMedium; padding-right: @xf-paddingMedium; &:first-child { margin-top: 0; padding-top: @xf-paddingMedium; } &:last-child { padding-bottom: @xf-paddingMedium; } &:empty {display: none;} .pairs dt, a { color: darken(xf-default(@xf-memberHeaderBlurbContainerBanner--color, white), 20%); } } } } .memberHeader-banners, .memberHeader-blurb { margin-top: @xf-paddingSmall; } .memberHeader-separator { margin: @_memberHeader-padding 0; border: none; border-top: @xf-borderSize solid @xf-borderColorLight; } .memberHeader-stats { font-size: @xf-fontSizeLarge; .pairJustifier { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); } .pairs.pairs--row { min-width: 100px; } } @media (max-width: @xf-responsiveMedium) { .memberHeader-avatar .avatar { .m-avatarSize(@_memberHeader-avatarSizeShrunk); } .memberHeader-content { padding-left: @_memberHeader-padding; } .memberHeader-main .memberHeader-content { padding-left: ((@_memberHeader-padding) * 2 + (@_memberHeader-avatarSizeShrunk)); } } @media (max-width: @xf-responsiveMedium) { /* .memberHeader-avatar { display: block; position: static; float: none; padding-bottom: 0; text-align: center; } */ .memberHeader-avatar .avatarWrapper-update { font-size: @xf-fontSizeSmall; } .memberHeader-content { padding-left: @_memberHeader-padding; } .memberHeader-main .memberHeader-content { display: flex; flex-direction: column; padding-top: 0; min-height: 0; // text-align: center; } .memberHeader-name { // text-align: center; margin-top: 0; } .memberHeader-actionTop { float: none; order: 2; margin-top: @xf-paddingSmall; } .memberHeader-buttons { // text-align: center; } .memberHeader-banners, .memberHeader-blurb { // text-align: inherit; } } .block-tabHeader.block-tabHeader--memberTabs { border-bottom: none; } .memberOverviewBlocks { .m-listPlain(); display: flex; flex-wrap: wrap; align-items: stretch; > li { width: 33.3%; max-width: 100%; padding: @xf-blockPaddingV @xf-blockPaddingH; @media (max-width: 1150px) { width: 50%; } @media (max-width: 580px) { width: 100%; } } } .memberOverviewBlock { display: flex; flex-direction: column; } .memberOverviewBlock-list { .m-listPlain(); > li { margin: @xf-paddingMedium 0; } } .memberOverviewBlock-seeMore { .xf-minorBlockContent(); padding: @xf-paddingSmall; text-align: center; // pushes this to the bottom with flex box margin-top: auto; }]]>

</template>


-<template title="member_notable" version_string="2.1.2" version_id="2010270" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ $active ? $active.title : phrase('notable_members') }}</xf:title> <xf:wrap template="member_wrapper"> <xf:set var="$pageSelected" value="{{ $active ? $active.member_stat_key : 'overview' }}" /> </xf:wrap> <xf:macro template="metadata_macros" name="canonical_url" arg-canonicalUrl="{{ link('canonical:members') }}" /> <xf:css src="member.less" /> <xf:if is="$userNotFound"> <div class="blockMessage blockMessage--error blockMessage--iconic">{{ phrase('specified_member_cannot_be_found_enter_entire_name') }}</div> </xf:if> <xf:if is="$memberStats is empty"> <div class="blockMessage">{{ phrase('no_notable_members_can_currently_be_shown') }}</div> <xf:else /> <section class="block"> <div class="block-container"> <xf:if is="$active"> <ol class="block-body"> <xf:foreach loop="{$resultsData.{$active.member_stat_key}}" key="$userId" value="$data"> <li class="block-row block-row--separated"> <xf:macro template="member_list_macros" name="item" arg-user="{$data.user}" arg-extraData="{$data.value}" arg-extraDataBig="{{ true }}" /> </li> <xf:else /> <li class="block-row">{{ phrase('no_users_match_specified_criteria') }}</li> </xf:foreach> </ol> <xf:else /> <div class="block-body"> <ol class="memberOverviewBlocks"> <xf:foreach loop="$memberStats" key="$key" value="$memberStat"> <xf:macro name="overview_block" arg-memberStat="{$memberStat}" arg-results="{$resultsData.{$key}}" /> </xf:foreach> </ol> </div> </xf:if> </div> </section> </xf:if> <xf:macro name="overview_block" arg-memberStat="!" arg-results="!" arg-showTitle="{{ true }}" arg-showFooter="{{ true }}"> <xf:if contentcheck="true"> <li class="memberOverviewBlock"> <xf:if is="$showTitle"> <h3 class="block-textHeader"> <a href="{{ link('members', null, {'key': $memberStat.member_stat_key}) }}" class="memberOverViewBlock-title">{$memberStat.title}</a> </h3> </xf:if> <ol class="memberOverviewBlock-list"> <xf:contentcheck> <xf:foreach loop="$results" key="$userId" value="$data"> <li> <xf:macro name="overview_row" arg-data="{$data}" /> </li> </xf:foreach> </xf:contentcheck> </ol> <xf:if is="$showFooter"> <div class="memberOverviewBlock-seeMore"> <a href="{{ link('members', null, {'key': $memberStat.member_stat_key}) }}">{{ phrase('see_more...') }}</a> </div> </xf:if> </li> </xf:if> </xf:macro> <xf:macro name="overview_row" arg-data="!"> <div class="contentRow contentRow--alignMiddle"> <div class="contentRow-figure"> <xf:avatar user="$data.user" size="xs" /> </div> <div class="contentRow-main"> <xf:if is="$data.value"> <div class="contentRow-extra contentRow-extra--large">{$data.value}</div> </xf:if> <h3 class="contentRow-title"><xf:username user="$data.user" rich="true" /></h3> </div> </div> </xf:macro>]]>

</template>


-<template title="member_recent_content" version_string="2.2.4" version_id="2020470" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ phrase('recent_content_by_x', {'name': $user.username}) }}</xf:title> <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head> <xf:breadcrumb href="{{ link('members', $user) }}">{$user.username}</xf:breadcrumb> <xf:css src="search_results.less" /> <xf:if is="$resultCount"> <div class="block"> <div class="block-container"> <ol class="block-body"> <xf:foreach loop="$results" value="$result"> {{ $result.render()|raw }} </xf:foreach> </ol> <div class="block-footer"> <span class="block-footer-controls"><xf:button href="{{ link('search/member', null, {'user_id': $user.user_id}) }}" rel="nofollow"> {{ phrase('see_more') }} </xf:button></span> </div> </div> <div class="block-outer block-outer--after"> <div class="block-outer-opposite"> <xf:showignored /> </div> </div> </div> <xf:else /> <div class="block-container"> <div class="block-row">{{ phrase('x_has_not_posted_any_content_recently', {'name': $user.username}) }}</div> </div> </xf:if>]]>

</template>


-<template title="member_tooltip.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[@_memberTooltip-padding: @xf-paddingMedium; @_memberTooltip-avatarSize: @avatar-m; .memberTooltip-header { display: table; table-layout: fixed; width: 100%; padding: @_memberTooltip-padding; .xf-memberTooltipHeader(); } .memberTooltip-avatar { // display: table-cell; // width: ((@_memberTooltip-padding) * 2 + (@_memberTooltip-avatarSize)); vertical-align: top; padding-right: @_memberTooltip-padding; } .memberTooltip-headerInfo { // display: table-cell; vertical-align: top; flex-grow: 1; min-width: 0; } .memberTooltip-name { margin: 0; margin-top: -.15em; padding: 0; font-weight: @xf-fontWeightNormal; line-height: .8 * (@xf-lineHeightDefault); .xf-memberTooltipName(); .m-hiddenLinks(); .memberTooltip-nameChangeIndicator { color: @xf-textColorMuted; font-size: 75%; &:hover { color: @xf-textColorMuted; } } .memberTooltip--withBanner & { .xf-memberTooltipNameBanner(); .memberTooltip-nameChangeIndicator { color: darken(xf-default(@xf-memberTooltipNameBanner--color, white), 20%); &:hover { color: darken(xf-default(@xf-memberTooltipNameBanner--color, white), 20%); } } } } // Emulate outer text stroke by stacking a stroked element with the original text. // This is more complex but gives a better result @_memberTooltip-textStroke: 2px #000; .memberTooltip--withBanner { .memberTooltip-nameWrapper { .username:hover { text-decoration: none; } } .is-stroked { position: relative; &:before { content: attr(data-stroke); position: absolute; white-space: nowrap; color: #000; -webkit-text-stroke: @_memberTooltip-textStroke; } span { position: relative; } } .memberTooltip-nameChangeIndicator .fa-history { position: relative; &:before { position: relative; z-index: 1; } &:after { position: absolute; left: 0; white-space: nowrap; content: @fa-var-history; -webkit-text-stroke: @_memberTooltip-textStroke; } } } .memberTooltip-headerAction { float: right; } .memberTooltip-blurbContainer { .memberTooltip--withBanner & { .xf-memberTooltipBlurbContainerBanner(); .memberTooltip-blurb { &:first-child { margin-top: 0; } .pairs dt, a { color: darken(xf-default(@xf-memberTooltipBlurbContainerBanner--color, white), 20%); } } } } .memberTooltip-banners { margin: -2px; .userBanner {margin: 2px;} } .memberTooltip-banners, .memberTooltip-blurb { margin-top: .25em; } .memberTooltip-blurb { font-size: @xf-fontSizeSmall; } .memberTooltip-stats { font-size: @xf-fontSizeSmall; dl.pairs.pairs--rows > dt { font-size: @xf-fontSizeSmaller; } } .memberTooltip-info, .memberTooltip-actions { padding: @_memberTooltip-padding; .button { .xf-uix_buttonSmall; } } .memberTooltip-separator { margin: -@xf-borderSize @_memberTooltip-padding 0; border: none; border-top: @xf-borderSize solid @xf-borderColorLight; } @media (max-width: @xf-responsiveNarrow) { .memberTooltip-avatar { width: ((@_memberTooltip-padding) * 2 + (@_memberTooltip-avatarSize * 2 / 3)); .avatar { .m-avatarSize(@_memberTooltip-avatarSize * 2 / 3); } } }]]>

</template>


-<template title="member_view" version_string="2.2.4" version_id="2020470" addon_id="XF" type="public">

<![CDATA[<xf:title page="{$page}">{$user.username}</xf:title> <xf:h1 hidden="true" /> <xf:if is="$xf.visitor.user_id == $user.user_id"> <xf:page option="uix_myAccountLinks" value="profile" /> </xf:if> <xf:if is="!$user.isSearchEngineIndexable()"> <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head> </xf:if> <xf:macro template="metadata_macros" name="metadata" arg-shareUrl="{{ link('canonical:members', $user) }}" arg-canonicalUrl="{{ link('canonical:members', $user, {'page': $page}) }}" arg-imageUrl="{$user.getAvatarUrl('o', null, true)}" /> <xf:page option="ldJsonHtml"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Person", "name": "{$user.username|escape('json')}", "image": "{$user.getAvatarUrl('o', null, true)|escape('json')}" } </script> </xf:page> <xf:css src="member.less" /> <div class="block"> <div class="block-container"> <div class="block-body"> <div class="memberHeader {{ $user.Profile.banner_date ? 'memberHeader--withBanner' : '' }}"> <xf:profilebanner user="$user" size="l" class="memberHeader-main" toggle="memberHeader--withBanner"> <div class="memberHeader-mainContent"> <span class="memberHeader-avatar"> <span class="avatarWrapper"> <xf:avatar user="{$user}" size="l" href="{{ $user.getAvatarUrl('o') ?: '' }}" /> <xf:if is="$user.user_id == $xf.visitor.user_id && $xf.visitor.canUploadAvatar()"> <a class="avatarWrapper-update" href="{{ link('account/avatar') }}" data-xf-click="overlay"><span>{{ phrase('edit') }}</span></a> </xf:if> </span> </span> <div class="memberHeader-content memberHeader-content--info"> <xf:if contentcheck="true"> <div class="memberHeader-actionTop"> <xf:contentcheck> <!--[XF:action_top_start]--> <xf:if contentcheck="true"> <div class="buttonGroup"> <xf:contentcheck> <xf:if is="$user.canBeReported()"> <xf:button href="{{ link('members/report', $user) }}" class="button--link" overlay="true"> {{ phrase('report_verb') }} </xf:button> </xf:if> <xf:if is="$user.user_id == $xf.visitor.user_id && $xf.visitor.canUploadProfileBanner()"> <xf:button href="{{ link('account/banner') }}" class="button--link" overlay="true"> {{ phrase('edit_profile_banner') }} </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">{{ phrase('moderator_tools') }}</xf:button> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h3 class="menu-header">{{ phrase('moderator_tools') }}</h3> <xf:contentcheck> <xf:macro template="member_macros" name="moderator_menu_actions" arg-user="{$user}" arg-context="profile" /> </xf:contentcheck> </div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> <!--[XF:action_top_end]--> </xf:contentcheck> </div> </xf:if> <h1 class="memberHeader-name"> <span class="memberHeader-nameWrapper"> <xf:username user="{$user}" rich="true" href="" stroke="{{ true }}" /> </span> <xf:if is="$user.hasViewableUsernameHistory()"> <a class="memberHeader-nameChangeIndicator" data-xf-click="menu" data-xf-init="tooltip" title="{{ phrase('username_changed')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true" aria-label="{{ phrase('username_changed')|for_attr }}"><xf:fa icon="fa-history" /></a> <div class="menu" data-menu="menu" aria-hidden="true" data-href="{{ link('members/username-history', $user, {'menu': 1}) }}" data-load-target=".js-usernameHistoryBody"> <div class="menu-content"> <h3 class="menu-header">{{ phrase('previous_usernames') }}</h3> <div class="js-usernameHistoryBody"> <div class="menu-row"> {{ phrase('loading...') }} </div> </div> </div> </div> </xf:if> </h1> <xf:if contentcheck="true"> <div class="memberHeader-banners"> <xf:contentcheck><xf:userbanners user="$user" /></xf:contentcheck> </div> </xf:if> <div class="memberHeader-blurbContainer"> <xf:userblurb user="$user" tag="div" class="memberHeader-blurb" /> <xf:comment> <div class="memberHeader-blurb"> <dl class="pairs pairs--inline"> <dt>{{ phrase('joined') }}</dt> <dd><xf:date time="$user.register_date" /></dd> </dl> </div> <xf:if contentcheck="true"> <div class="memberHeader-blurb"> <dl class="pairs pairs--inline"> <dt>{{ phrase('last_seen') }}</dt> <dd dir="auto"> <xf:contentcheck><xf:useractivity user="$user" class="pairs--plainLabel" /></xf:contentcheck> </dd> </dl> </div> </xf:if> </xf:comment> </div> </div> </div> </xf:profilebanner> <div class="memberHeader-content"> <div class="memberHeader-stats"> <div class="pairJustifier"> <xf:macro template="member_macros" name="member_stat_pairs" arg-user="{$user}" arg-context="profile" /> </div> </div> <xf:if contentcheck="true"> <hr class="memberHeader-separator" /> <div class="uix_memberHeader__extra"> <div class="memberHeader-blurb"> <dl class="pairs pairs--inline"> <dt>{{ phrase('joined') }}</dt> <dd><xf:date time="$user.register_date" /></dd> </dl> </div> <xf:if contentcheck="true"> <div class="memberHeader-blurb"> <dl class="pairs pairs--inline"> <dt>{{ phrase('last_seen') }}</dt> <dd dir="auto"> <xf:contentcheck><xf:useractivity user="$user" class="pairs--plainLabel" /></xf:contentcheck> </dd> </dl> </div> </xf:if> <div class="memberHeader-buttons"> <xf:contentcheck> <xf:macro template="member_macros" name="member_action_buttons" arg-user="{$user}" arg-context="profile" /> </xf:contentcheck> </div> </div> </xf:if> </div> </div> </div> </div> </div> <xf:ad position="member_view_below_tabs" arg-user="{$user}" /> <h2 class="block-tabHeader block-tabHeader--memberTabs tabs hScroller" data-xf-init="tabs h-scroller" data-panes=".js-memberTabPanes" data-state="replace" role="tablist"> <span class="hScroller-scroll"> <!--[XF:tabs:start]--> <xf:if is="$user.canViewPostsOnProfile()"> <a href="{{ link('members', $user) }}" class="tabs-tab is-active" role="tab" aria-controls="profile-posts">{{ phrase('profile_posts') }}</a> </xf:if> <xf:if is="$user.canViewLatestActivity()"> <a href="{{ link('members/latest-activity', $user) }}" rel="nofollow" class="tabs-tab" id="latest-activity" role="tab">{{ phrase('latest_activity') }}</a> </xf:if> <a href="{{ link('members/recent-content', $user) }}" rel="nofollow" class="tabs-tab" id="recent-content" role="tab">{{ phrase('postings') }}</a> <!--[XF:tabs:after_recent_content]--> <a href="{{ link('members/about', $user) }}" class="tabs-tab" id="about" role="tab">{{ phrase('about') }}</a> <xf:if is="$xf.visitor.canViewWarnings() && $user.warning_count"> <a href="{{ link('members/warnings', $user) }}" class="tabs-tab" id="warnings" role="tab">{{ phrase('warnings') }}</a> </xf:if> <!--[XF:tabs:end]--> </span> </h2> <ul class="tabPanes js-memberTabPanes"> <!--[XF:tab_panes:start]--> <xf:if is="$user.canViewPostsOnProfile()"> <li class="is-active" role="tabpanel" id="profile-posts"> <xf:js src="xf/inline_mod.js" min="1" /> <xf:macro template="lightbox_macros" name="setup" arg-canViewAttachments="{$canViewAttachments}" /> <div class="block block--messages" data-xf-init="lightbox inline-mod" data-type="profile_post" data-href="{{ link('inline-mod') }}"> <div class="block-container"> <div class="block-body js-replyNewMessageContainer"> <xf:if is="$user.canPostOnProfile()"> <xf:set var="$firstProfilePost" value="{$profilePosts|first}" /> <xf:macro template="profile_post_macros" name="quick_post" arg-user="{$user}" arg-lastDate="{{ $firstProfilePost.post_date ?: 0 }}" arg-containerSelector="< .js-replyNewMessageContainer" arg-attachmentData="{$attachmentData}" /> </xf:if> <xf:if is="$profilePosts is not empty"> <xf:foreach loop="$profilePosts" value="$profilePost"> <xf:macro template="profile_post_macros" name="{{ $profilePost.message_state == 'deleted' ? 'profile_post_deleted' : 'profile_post' }}" arg-attachmentData="{$profilePostAttachData.{$profilePost.profile_post_id}}" arg-profilePost="{$profilePost}" /> </xf:foreach> <xf:else /> <div class="block-row js-replyNoMessages">{{ phrase('there_no_messages_on_xs_profile_yet', {'name': $user.username}) }}</div> </xf:if> </div> </div> <div class="block-outer block-outer--after"> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$total}" link="members" data="{$user}" wrapperclass="block-outer-main" /> <div class="block-outer-opposite"> <xf:showignored /> <xf:if is="$canInlineMod"> <xf:macro template="inline_mod_macros" name="button" /> </xf:if> </div> </div> </div> </li> </xf:if> <xf:if is="$user.canViewLatestActivity()"> <li data-href="{{ link('members/latest-activity', $user) }}" role="tabpanel" aria-labelledby="latest-activity"> <div class="blockMessage">{{ phrase('loading...') }}</div> </li> </xf:if> <li data-href="{{ link('members/recent-content', $user) }}" role="tabpanel" aria-labelledby="recent-content"> <div class="blockMessage">{{ phrase('loading...') }}</div> </li> <!--[XF:tab_panes:after_recent_content]--> <li data-href="{{ link('members/about', $user) }}" role="tabpanel" aria-labelledby="about"> <div class="blockMessage">{{ phrase('loading...') }}</div> </li> <xf:if is="$xf.visitor.canViewWarnings() && $user.warning_count"> <li data-href="{{ link('members/warnings', $user) }}" role="tabpanel" aria-labelledby="warnings"> <div class="blockMessage">{{ phrase('loading...') }}</div> </li> </xf:if> <!--[XF:tab_panes:end]--> </ul> <xf:widgetpos id="member_view_sidebar" context-user="{$user}" position="sidebar" />]]>

</template>


-<template title="message.less" version_string="2.2.3 Patch 1" version_id="2020371" addon_id="XF" type="public">

<![CDATA[@_message-actionColumnWidth: 40px; @_messageSimple-userColumnWidth: 70px; .message { + .message, &.message--bordered { border-top: @xf-borderSize solid @xf-borderColor; } } .message, .block--messages .message { &.is-mod-selected { background: @xf-inlineModHighlightColor; .message-cell--user, .message-cell--vote { background: @xf-inlineModHighlightColor; } .message-userArrow:after { border-right-color: @xf-inlineModHighlightColor; } } } .message-inner { display: flex; & + .message-inner { border-top: @xf-borderSize solid @xf-borderColor; } } .message-cell { display: block; vertical-align: top; padding: @xf-messagePadding; .message--quickReply & { //padding-bottom: 35px; // for the submit row > .formRow:last-child { > dd { padding-bottom: 0; } } } &.message-cell--closer { padding: @xf-messagePaddingSmall; &.message-cell--user { .m-fixedWidthFlex((@xf-messageUserBlockWidth) + 2 * (@xf-messagePaddingSmall)); .message--simple & { .m-fixedWidthFlex(@_messageSimple-userColumnWidth + 2 * (@xf-messagePaddingSmall)); } } &.message-cell--action { .m-fixedWidthFlex((@_message-actionColumnWidth) + 2 * (@xf-messagePaddingSmall)); } } &.message-cell--user, &.message-cell--action { position: relative; .xf-messageUserBlock(no-border); border-right: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; min-width: 0; } &.message-cell--vote { position: relative; .xf-messageUserBlock(no-border); border-left: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; border-right: 0; padding-top: 0; padding-bottom: 0; .message--solution & { background: @xf-successBg; .contentVote {color: @xf-successColor;} } .solutionIcon { margin-top: @xf-paddingMedium; } } &.message-cell--user { .m-fixedWidthFlex((@xf-messageUserBlockWidth) + 2 * (@xf-messagePadding)); .message--simple & { .m-fixedWidthFlex(@_messageSimple-userColumnWidth + 2 * @xf-messagePaddingSmall); // width: auto; // min-width: auto; // background: none; // border: none; // padding-right: 0; } } &.message-cell--action { .m-fixedWidthFlex((@_message-actionColumnWidth) + 2 * (@xf-messagePadding)); } &.message-cell--main { flex: 1 1 auto; width: 100%; // display: flex; min-width: 0; .xf-uix_messageMain(); &.is-editing { padding: 0; } .block { margin: 0; } .block-container { margin: 0; border: none; } } &.message-cell--alert { font-size: @xf-fontSizeSmall; flex: 1 1 auto; width: 100%; min-width: 0; .xf-contentAccentBase(); a { .xf-contentAccentLink(); } } &.message-cell--extra { .m-fixedWidthFlex(180 + 2 * (@xf-messagePadding)); border-left: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; background: @xf-contentAltBg; .formRow-explain { margin: @xf-paddingMedium 0 0; .xf-formExplain(); .m-textColoredLinks(); font-size: 80%; } } &.message-cell--header, &.message-cell--solutionHeader { flex: 1 1 auto; width: 100%; min-width: 0; padding: @xf-blockPaddingV @xf-blockPaddingH; margin: 0; } &.message-cell--header { font-weight: @xf-fontWeightNormal; text-decoration: none; .xf-blockHeader(); border-bottom: none; .m-hiddenLinks(); } &.message-cell--solutionHeader { color: @xf-successColor; font-size: @xf-fontSizeLarge; background: @xf-successBg; border-left: @xf-borderSizeFeature solid @xf-successFeatureColor; } } .message-main { height: 100%; display: flex; flex-direction: column; width: 100%; min-width: 0; } .has-browser-safari .uix_message--condensed .message-main {height: auto;} .message-content { flex: 1 1 auto; // IE11 flex bug min-height: 1px; max-width: 100%; } .message-footer { margin-top: auto; } .message-expandWrapper { position: relative; overflow: hidden; .m-transition(-xf-height, height); .message-expandContent { max-height: 250px; overflow: hidden; } .message-expandContent--small { max-height: 160px; } &.is-expandable { .message-expandLink { display: block; } } &.is-expanded { .message-expandContent { max-height: none; } .message-expandLink { display: none; } } } .message-column { display: flex; flex-direction: column; align-items: center; } .message-expandLink { display: none; position: absolute; top: 60%; bottom: 0; left: 0; right: 0; cursor: pointer; z-index: @zIndex-1; .m-gradient( fade(@xf-contentBase--background-color, 0%), xf-default(@xf-contentBase--background-color, transparent), transparent, 0%, 70% ); &:empty { cursor: auto; .m-gradient( fade(@xf-contentBase--background-color, 0%), xf-default(@xf-contentBase--background-color, transparent), transparent, 0%, 100% ); } a { position: absolute; bottom: @xf-messagePadding; left: 0; right: 0; text-align: center; font-size: @xf-fontSizeSmall; color: @xf-textColorAttention; text-decoration: none; } } form.message--simple .message-cell--main { flex-direction: column; padding: @xf-paddingLarge; } .message--quickReply .message-cell--main { flex-direction: column; padding: @xf-messagePadding; } @media (max-width: @xf-messageSingleColumnWidth) { .message:not(.message--forceColumns) { .message-inner { display: block; } .message-cell { display: block; .m-clearFix(); &.message-cell--user { width: auto; border-right: none; border-bottom: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; } &.message-cell--vote { width: auto; border-left: none; border-top: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; .solutionIcon { margin-top: 0; } } &.message-cell--main { // padding-left: @xf-messagePadding; } &.message-cell--extra { width: auto; border-left: none; border-top: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; } } .message-column { flex-direction: row; justify-content: space-evenly; } } .message--simple:not(.message--forceColumns), .message--quickReply:not(.message--forceColumns) { .message-cell.message-cell--user { display: none; } } } // ######################## USER COLUMN ######################### .message-userArrow { position: absolute; top: (@xf-messagePadding) * 2; right: -1px; .m-triangleLeft(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding); <xf:if is="property('uix_removeMessageArrow')"> display: none; </xf:if> &:after { position: absolute; top: -(@xf-messagePadding - 1px); right: -@xf-messagePadding; content: ""; <xf:if is="property('uix_messageMain--background-color')"> .m-triangleLeft(@xf-uix_messageMain--background-color, @xf-messagePadding - 1px); <xf:else /> .m-triangleLeft(xf-default(@xf-contentBg, transparent), @xf-messagePadding - 1px); </xf:if> } } .message-avatar { text-align: center; .avatar { vertical-align: bottom; max-width: @xf-messageUserBlockWidth; max-height: @xf-messageUserBlockWidth; } } .message-avatar-wrapper { position: relative; display: inline-block; vertical-align: bottom; margin-bottom: .5em; .message-avatar-online { position: absolute; // center bottom position left: 50%; margin-left: -.615em; bottom: -.5em; &:before { .m-faBase(); .m-faContent(@fa-var-user-circle, .969em); line-height: 1; font-weight: bold; color: rgb(127, 185, 0); background: @xf-contentBg; border: @xf-contentBg solid 2px; background: @xf-uix_message--background-color; border-color: @xf-uix_message--background-color; background: @xf-messageUserBlock--background-color; border-color: @xf-messageUserBlock--background-color; border-radius: 50%; display: inline-block; } } } .message-name { font-weight: @xf-fontWeightHeavy; font-size: inherit; text-align: center; margin: 0; } .message-userTitle { font-size: @xf-fontSizeSmaller; font-weight: normal; text-align: center; margin: 0; } .message-userBanner.userBanner { @media (min-width: @xf-messageSingleColumnWidth) { display: block; } margin-top: 3px; } .message-userExtras { // margin-top: 3px; font-size: @xf-fontSizeSmaller; <xf:if is="property('uix_postBitIcons')"> dl.pairs dt:after {content:'';} .pairs { display: flex; align-items: center; margin-top: 3px; i {font-size: 18px;} dd { min-width: 0; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; } } </xf:if> } .message--deleted { .message-userDetails { display: none; } .message-avatar .avatar { .m-avatarSize(@avatar-s); } } @media (min-width: @xf-messageSingleColumnWidth) { .message-userDetails {text-align: center;} } @media (max-width: @xf-messageSingleColumnWidth) { .uix_messagePostBitWrapper { display: flex; flex-grow: 1; flex-direction: column; min-width: 0; max-width: 100%; } .message:not(.message--forceColumns) { .message-userArrow { top: auto; right: auto; bottom: -1px; left: ((@avatar-s) / 2); border: none; .m-triangleUp(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding); &:after { top: auto; right: auto; left: -(@xf-messagePadding - 1px); bottom: -@xf-messagePadding; border: none; .m-triangleUp(@xf-contentBg, @xf-messagePadding - 1px); } } &.is-mod-selected { .message-userArrow:after { border-color: transparent; border-bottom-color: @xf-inlineModHighlightColor; } } .message-user { display: flex; } .message-avatar { margin-bottom: 0; .avatar { .m-avatarSize(@avatar-s); & + .message-avatar-online { left: auto; right: 0; } } } .message-userDetails { flex: 1; min-width: 0; padding-left: @xf-messagePadding; width: 100%; } .message-userExtras { display: flex; flex-wrap: wrap; align-items: center; padding-left: @xf-messagePadding; padding-top: @xf-paddingSmall; .pairs { margin-right: @xf-paddingMedium; line-height: 1.3; } } .message-name { text-align: left; } .message-userTitle, .message-userBanner.userBanner { display: inline-block; text-align: left; margin: 0; } .message--deleted { .message-userDetails { display: block; } } } } // ####################### MAIN COLUMN #################### .message-content { position: relative; .js-selectToQuoteEnd { height: 0; font-size: 0; overflow: hidden; } .message--multiQuoteList & { min-height: 80px; max-height: 120px; overflow: hidden; .message-body { pointer-events: none; } } } .message-attribution { color: @xf-textColorMuted; font-size: @xf-fontSizeSmaller; border-bottom: @xf-borderSize solid @xf-borderColorFaint; padding-bottom: 3px; // .m-clearFix(); .xf-uix_messageMeta; &.message-attribution--plain { border-bottom: none; font-size: inherit; // padding-bottom: 0; } &.message-attribution--split { display: flex; align-items: flex-end; .message-attribution-opposite { margin-left: auto; } } } .message-attribution-main { float: left; } .message-attribution-opposite { float: right; &.message-attribution-opposite--list { display: flex; line-height: 1; .m-listPlain(); > li { margin-left: 14px; &:first-child { margin-left: 0; } } } a { color: inherit; &:hover { text-decoration: none; color: @xf-linkHoverColor; } } } .message-attribution-gadget { display: inline-block; margin: -3px -7px; padding: 3px 7px; } .message-attribution-source { font-size: @xf-fontSizeSmaller; margin-bottom: @xf-paddingSmall; } .message-attribution-user { font-weight: @xf-fontWeightHeavy; .avatar { display: none; } .attribution { display: inline; font-size: inherit; font-weight: inherit; margin: 0; } } .message-newIndicator, a.message-newIndicator { .xf-messageNewIndicator(); white-space: nowrap; } a.message-newIndicator:hover { color: @xf-messageNewIndicator--color; } .message-minorHighlight { font-size: @xf-fontSizeSmall; color: @xf-textColorFeature; padding-left: @xf-messagePadding; padding-right: @xf-messagePadding; } .message-fields { margin: @xf-messagePadding 0; .message--simple & { margin-top: @xf-messagePaddingSmall; margin-bottom: @xf-messagePaddingSmall; } &:last-child { margin-bottom: 0; } .xf-uix_threadField(); dt, dd {vertical-align: top;} .pairs dd {display: inline-block;} } .message-body { margin: @xf-messagePadding 0; font-family: @xf-fontFamilyBody; .m-clearFix(); .xf-uix_messageBody(); .message--simple & { // margin-top: @xf-messagePaddingSmall; margin-bottom: @xf-messagePaddingSmall; } &:last-child { margin-bottom: 0; } .message-title { // basically replicates .structItem-title font-size: @xf-fontSizeLarge; font-weight: @xf-fontWeightNormal; margin: 0 0 @xf-messagePadding 0; padding: 0; } } .message-attachments { margin: .5em 0; .xf-uix_messageAttachments(); } .message-attachments-list { .m-listPlain(); } .message-lastEdit { margin-top: .5em; color: @xf-textColorMuted; font-size: @xf-fontSizeSmallest; text-align: right; padding: 0 @xf-messagePadding @xf-messagePadding; } .message-signature { margin-top: @xf-messagePadding; .xf-messageSignature(); } .message-actionBar .actionBar-set { // margin-top: @xf-messagePadding; font-size: @xf-fontSizeSmall; // padding: calc( @xf-messagePadding / 2 ); .message--simple & { // margin-top: @xf-messagePaddingSmall; } } .message .likesBar { // .xf-minorBlockContent(); // font-size: @xf-fontSizeSmaller; margin-top: @xf-messagePadding; padding: @xf-messagePaddingSmall; .xf-uix_messageLikes(); } .message .reactionsBar { margin-top: @xf-messagePadding; padding: @xf-messagePaddingSmall; .xf-uix_messageLikes(); } .message-historyTarget { margin-top: @xf-messagePadding; } .message-gradient { position: absolute; bottom: 0; left: 0; right: 0; height: 60px; .m-gradient(fade(@xf-contentBg, 0%), @xf-contentBg, @xf-contentBg, 0%, 90%); } .message-responses { margin-top: @xf-messagePaddingSmall; font-size: @xf-fontSizeSmall; .editorPlaceholder { .input { font-size: inherit; } } } .message-responseRow { margin-top: -@xf-minorBlockContent--border-width; .xf-minorBlockContent(); padding: @xf-messagePadding; // note that border radiuses are very difficult to do here due to a lot of dynamic showing/hiding &.message-responseRow--likes, &.message-responseRow--reactions { .m-transitionFadeDown(); } } @media (max-width: @xf-messageSingleColumnWidth) { .message:not(.message--forceColumns) { .message-attribution-user .avatar { display: inline-flex; .m-avatarSize((@xf-fontSizeNormal) * (@xf-lineHeightDefault)); } .message-content { // this is 1px to workaround an IE11 issue - see #139187 min-height: 1px; } } } @media (max-width: @xf-responsiveNarrow) { .message-signature { display: none; } } // MESSAGE MENU .message-menuGroup { display: inline-block; } .message-menuTrigger { display: inline-block; &:after { .m-menuGadget(); // 1em text-align: right; } &:hover:after { color: black; } } .message-menu-section { &--editDelete { .menu-linkRow { font-weight: @xf-fontWeightHeavy; font-size: @xf-fontSizeNormal; } } } .message-menu-link { &--delete i:after { .m-faContent(@fa-var-trash-alt); } &--edit i:after { .m-faContent(@fa-var-edit); } &--report i:after { .m-faContent(@fa-var-frown); } &--warn i:after { .m-faContent(@fa-var-exclamation-triangle); } &--spam i:after { .m-faContent(@fa-var-ban); } &--ip i:after { .m-faContent(@fa-var-sitemap); } &--history i:after { .m-faContent(@fa-var-history); } &--follow i:after { .m-faContent(@fa-var-user-plus); } &--ignore i:after { .m-faContent(@fa-var-user-times); } &--share i:after { .m-faContent(@fa-var-share-alt); } } // ############################# CUSTOM FOR MESSAGE VARIANTS ############## .message-articleUserInfo { .xf-messageUserBlock(no-border); border-top: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color; &:last-child { .m-borderBottomRadius(@block-borderRadius-inner); } .contentRow-figure { width: @xf-messageUserBlockWidth; text-align: center; } .contentRow-main { padding-left: 2 * (@xf-messagePadding); text-align: left; } @media (max-width: @xf-messageSingleColumnWidth) { .contentRow-figure { width: auto; } .contentRow-main { padding-left: @xf-paddingLarge; } } } .message-articleWrittenBy { color: @xf-textColorMuted; font-size: @xf-fontSizeSmall; } .message-articleUserName { font-weight: @xf-fontWeightHeavy; font-size: @xf-fontSizeLarger; margin: 0; display: inline; } .message-articleUserBlurb, .message-articleUserBlurb div { font-size: @xf-fontSizeSmall; display: inline; } .message-articleUserAbout { font-size: @xf-fontSizeSmall; margin: .5em 0; } .message-articleUserBanners .userBanner { margin-bottom: 3px; } .message-articleUserStats { font-size: @xf-fontSizeSmall; color: @xf-textColorMuted; } @media (max-width: @xf-responsiveNarrow) { .message-articleUserStats { display: none; } } // ############################# COMMENTS ############### .comment { } .comment-inner { display: table; table-layout: fixed; width: 100%; } .comment-avatar { display: table-cell; width: 24px; vertical-align: top; .avatar, img { vertical-align: bottom; } } .comment-main { display: table-cell; padding-left: @xf-messagePadding; vertical-align: top; } .comment-contentWrapper { margin-bottom: @xf-messagePaddingSmall; } .message-responses .comment-actionBar.actionBar {padding: 0;} .message-responses .comment-actionBar .actionBar-set.actionBar-set--internal {padding: 0;} .comment-user { font-weight: @xf-fontWeightHeavy; } .comment-body { display: inline; } .comment-note { color: @xf-textColorMuted; font-size: @xf-fontSizeSmallest; } .comment-input { display: block; height: 2.34em; margin-bottom: @xf-messagePaddingSmall; } .comment-actionBar .actionBar-set { // margin-top: @xf-messagePaddingSmall; color: @xf-textColorMuted; } .comment-likes, .comment-reactions { .m-transitionFadeDown(); margin-top: @xf-messagePaddingSmall; font-size: @xf-fontSizeSmaller; } // ######################### ACTION BAR ####################### .actionBar { .m-clearFix(); .xf-uix_messageActionBar(); } .actionBar-set { &.actionBar-set--internal { float: left; margin-left: -3px; > .actionBar-action:first-child { margin-left: 0; } } &.actionBar-set--external { float: right; margin-right: -3px; > .actionBar-action:last-child { margin-right: 0; } } } // ################################## MESSAGE QUICK REPLY ADDITIONS ############# .formSubmitRow.formSubmitRow--messageQr { .formSubmitRow-controls { text-align: center; padding-left: 0; padding-right: 0; margin-left: @xf-messagePadding; margin-right: @xf-messagePadding; @media (max-width: @xf-formResponsive) { text-align: right; } .menu & {text-align: right;} } } // ################################## MESSAGE NOTICES ############################# .messageNotice { margin: @xf-messagePaddingSmall 0; padding: @xf-messagePaddingSmall @xf-messagePadding; .xf-contentAccentBase(); font-size: @xf-fontSizeSmaller; border-left: @xf-borderSizeMinorFeature solid @xf-borderColorAttention; .xf-uix_messageNotice(); &.messageNotice--nested { border-left-width: @xf-borderSize; } &:not(.messageNotice--highlighted) { a, a:hover { .xf-contentAccentLink(); } } &:before { display: inline-block; .m-faBase(); padding-right: .2em; font-size: 125%; color: @xf-textColorAttention; vertical-align: middle; font-size: @xf-uix_iconSize !important; } &.messageNotice--highlighted { .xf-contentHighlightBase(); border-left-color: @xf-borderColorFeature; &:before { color: @xf-textColorFeature; } } &.messageNotice--deleted:before { .m-faContent(@fa-var-trash-alt); } // , .88em &.messageNotice--moderated:before { .m-faContent(@fa-var-shield); } // , 1em &.messageNotice--warning:before { .m-faContent(@fa-var-exclamation-triangle); } // , 1em &.messageNotice--ignored:before { .m-faContent(@fa-var-microphone-slash); } // , 1.25em } // ##################### MESSAGE VARIANTS/RESPONSIVE ################## @media (min-width: @xf-responsiveEdgeSpacerRemoval) { .block:not(.block--messages) { @{block-noStripSel} > .block-body:first-child > .message:first-child, .block-topRadiusContent.message, .block-topRadiusContent > .message:first-child { .message-inner:first-of-type .message-cell { &:first-child { border-top-left-radius: @block-borderRadius-inner; } &:last-child { border-top-right-radius: @block-borderRadius-inner; } } } @{block-noStripSel} > .block-body:last-child > .message:last-child, .block-bottomRadiusContent.message, .block-bottomRadiusContent > .message:last-child { .message-inner:last-of-type .message-cell { &:first-child { border-bottom-left-radius: @block-borderRadius-inner; } &:last-child { border-bottom-right-radius: @block-borderRadius-inner; } } } } } .block--messages, .js-quickReply { .block-container { background: none; border: none; box-shadow: none; border-radius: 0; overflow: visible; padding: 0; } &.block .message, .block-row { .xf-contentBase(); .xf-blockBorder(); border-radius: @xf-blockBorderRadius; .xf-uix_message(); + .message, + .block-row { margin-top: @xf-blockPaddingV; } } .block-filterBar { .xf-blockBorder(); border-radius: @xf-blockBorderRadius; margin-bottom: @xf-blockPaddingV; } .message-spacer { + .message, + .block-row { margin-top: @xf-blockPaddingV; } } .message-inner .message-cell { border-radius: 0; } .message-inner:first-of-type .message-cell { &:first-child { border-top-left-radius: @block-borderRadius-inner; } &:last-child { border-top-right-radius: @block-borderRadius-inner; } } .message-inner:last-of-type .message-cell { &:first-child { border-bottom-left-radius: @block-borderRadius-inner; } &:last-child { border-bottom-right-radius: @block-borderRadius-inner; } } @media (max-width: @xf-messageSingleColumnWidth) { .message-inner { .message-cell { border-radius: 0; } &:first-of-type .message-cell:first-child { border-top-left-radius: @block-borderRadius-inner; border-top-right-radius: @block-borderRadius-inner; } &:last-of-type .message-cell:last-child { border-bottom-left-radius: @block-borderRadius-inner; border-bottom-right-radius: @block-borderRadius-inner; } } .message--simple .message-cell--user + .message-cell { border-radius: 0; border-top-left-radius: @block-borderRadius-inner; border-top-right-radius: @block-borderRadius-inner; } } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .message, .block-row, .block-filterBar { border-left: none; border-right: none; border-radius: 0; } .message .message-inner .message-cell { border-radius: 0; &:first-child, &:last-child { border-radius: 0; } } .message--simple .message-cell--user + .message-cell { border-radius: 0; } } } .message--article { &.is-moderated { background: @xf-contentHighlightBg; } &.is-deleted { opacity: .65; } } // article preview view for thread list .message--articlePreview { display: flex; flex-direction: column; min-width: 0; margin-bottom: @xf-paddingLarge; &:last-child { margin-bottom: 0; } .articlePreview-main { display: flex; flex-direction: column; } .articlePreview-image { flex: 0 0 auto; align-self: center; width: 100%; max-width: 750px; background: center / cover @xf-contentAltBg no-repeat; text-decoration: none; &:after { content: ''; display: block; padding-bottom: 75%; } & + .articlePreview-text { .bbImageWrapper, .bbImage { display: none; } .bbWrapper { .m-fadeOutLines(8, @xf-contentBg); } } } .articlePreview-text { flex: 1 1 auto; display: flex; min-width: 0; flex-direction: column; padding: @xf-messagePadding; } .articlePreview-title { margin: 0; font-size: @xf-fontSizeLarge; } .articlePreview-content { flex: 1 1 auto; } .articlePreview-links { text-align: right; padding-top: @xf-blockPaddingV; } .articlePreview-statuses { float: left; display: flex; list-style: none; margin: 0; padding: 0; > li { margin-right: 8px; } .message-newIndicator { font-size: @xf-fontSizeSmall; } } .articlePreview-footer { padding: 0 @xf-blockPaddingH; } .articlePreview-meta { display: flex; align-items: center; border-top: solid 1px @xf-borderColor; padding: @xf-blockPaddingV 0; color: @xf-textColorMuted; font-size: @xf-fontSizeSmall; > li { margin-right: @xf-blockPaddingH; &:last-child { margin-right: 0; } } } .articlePreview-replies { white-space: nowrap; } .articlePreview-by, .articlePreview-repliesLabel { display: none; } } .block--articles.block--messages.block--expanded { .article-title { // from .p-title-value margin: 0 0 5px; font-size: @xf-fontSizeLargest; font-weight: @xf-fontWeightNormal; } .message-snippet-link { margin-top: .5em; text-align: center; } .message + .message { margin-top: @xf-paddingLargest; } } // expanded article grid behavior @supports (display: grid) { @media (min-width: @xf-responsiveMedium) { .block--previews .block-body { display: grid; gap: @xf-paddingLarge; grid-template-rows: auto; grid-template-columns: repeat(2, 1fr); grid-template-areas: "a a"; > .message:first-of-type:last-of-type { grid-area: a; } > .message--articlePreview { margin-bottom: 0; // first five &:nth-of-type(-n+5) { .articlePreview-title { font-size: @xf-fontSizeLarger; } .articlePreview-image { max-width: none; &:after { padding-bottom: 60%; } } .articlePreview-meta { .articlePreview-by { display: block; } } } // first &:first-of-type { grid-area: a; .articlePreview-title { font-size: @xf-fontSizeLargest; } .articlePreview-meta { border-top: none; } .articlePreview-main { flex-direction: row-reverse; } .articlePreview-image { width: 50%; } } } } } // max width multi-columns .m-maxPreviewColumns() { .block--previews .block-body { grid-template-columns: repeat(4, 1fr); grid-template-areas: "a a a a" "b_1 b_1 b_2 b_2" "b_3 b_3 b_4 b_4"; > .message:first-of-type:last-of-type { grid-area: a; } > .message--articlePreview { &:nth-of-type(1) { grid-area: a; } &:nth-of-type(2) { grid-area: b_1; } &:nth-of-type(3) { grid-area: b_2; } &:nth-of-type(4) { grid-area: b_3; } &:nth-of-type(5) { grid-area: b_4; } } } } .p-body-main:not(.p-body-main--withSidebar) { @media (min-width: @xf-responsiveWide) { .m-maxPreviewColumns(); } } .p-body-main--withSidebar { @media (min-width: (@xf-responsiveWide + @xf-sidebarWidth)) { .m-maxPreviewColumns(); } } }]]>

</template>


-<template title="message_macros" version_string="2.2.4" version_id="2020470" addon_id="XF" type="public">

<![CDATA[<xf:macro name="user_info" arg-user="!" arg-threadUserId="" arg-fallbackName=""> <section itemscope itemtype="https://schema.org/Person" class="message-user {{ !$__globals.uix_postbitCollapsed ? 'userExtra--expand' : ''}}"> <div class="message-avatar {{ ($xf.options.showMessageOnlineStatus && $user && $user.isOnline()) ? 'message-avatar--online' : '' }}"> <div class="message-avatar-wrapper"> <xf:if is="property('uix_postBitAvatarSize') == 'small'"> <xf:avatar user="$user" size="s" defaultname="{$fallbackName}" itemprop="image" /> <xf:elseif is="property('uix_postBitAvatarSize') == 'medium'" /> <xf:avatar user="$user" size="m" defaultname="{$fallbackName}" itemprop="image" /> <xf:elseif is="property('uix_postBitAvatarSize') == 'large'" /> <xf:avatar user="$user" size="l" defaultname="{$fallbackName}" itemprop="image" /> </xf:if> <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="uix_messagePostBitWrapper"> <div class="message-userDetails"> <h4 class="message-name"><xf:username user="$user" rich="true" defaultname="{$fallbackName}" itemprop="name" /></h4> <xf:usertitle user="$user" tag="h5" class="message-userTitle" banner="true" itemprop="jobTitle" /> <xf:if is="$xf.options.showMessageOnlineStatus && $user && $user.isOnline() && ( {{ property('uix_onlineIndicator') }} == 'userbanner')"> <div class="userBanner message-userBanner uix_userBanner--online"> <span class="userBanner-before"></span> <strong>{{ phrase('online_now')}}</strong> <span class="userBanner-after"></span> </div> </xf:if> <xf:if is="($user.user_id == $threadUserId) && (property('uix_originalPoster') != 'none')"> <xf:if is="property('uix_originalPoster') == 'userbanner'"> <div class="userBanner message-userBanner uix_userBanner--op"> <span class="userBanner-before"></span> <strong>{{ phrase('th_original_poster')}}</strong> <span class="userBanner-after"></span> </div> <xf:elseif is="property('uix_originalPoster') == 'icon'" /> <div class="uix_originalPoster__icon" data-xf-init="tooltip" title="{{ phrase('th_original_poster') }}"> <xf:fa icon="fa-user-edit" class="mdi mdi-account-edit" /> </div> </xf:if> </xf:if> <xf:userbanners user="$user" tag="div" class="message-userBanner" itemprop="jobTitle" /> <xf:if is="{$dateHtml}"><div class="message-date">{$dateHtml}</div></xf:if> </div> <xf:if is="{$linkHtml}"><div class="message-permalink">{$linkHtml}</div></xf:if> <xf:if is="$user.user_id"> <xf:set var="$extras" value="{{ property('messageUserElements') }}" /> <xf:if contentcheck="true"> <xf:if is="{{ property('uix_collapseExtraInfo')}}"> <div class="thThreads__message-userExtras"> </xf:if> <div class="message-userExtras"> <xf:contentcheck> <xf:if is="$extras.register_date"> <dl class="pairs pairs--justified"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('joined')|for_attr }}"> <xf:fa icon="fa-user" /> </span> </dt> <xf:else /> <dt>{{ phrase('joined') }}</dt> </xf:if> <dd>{{ date($user.register_date) }}</dd> </dl> </xf:if> <xf:if is="$extras.message_count"> <dl class="pairs pairs--justified"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('messages')|for_attr }}"> <xf:fa icon="fa-comments" /> </span> </dt> <xf:else /> <dt>{{ phrase('messages') }}</dt> </xf:if> <dd>{$user.message_count|number}</dd> </dl> </xf:if> <xf:if is="$extras.solutions AND $user.question_solution_count"> <dl class="pairs pairs--justified"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('solutions')|for_attr }}"> <xf:fa icon="fa-star" /> </span> </dt> <xf:else /> <dt>{{ phrase('solutions') }}</dt> </xf:if> <dd>{$user.question_solution_count|number}</dd> </dl> </xf:if> <xf:if is="$extras.reaction_score"> <dl class="pairs pairs--justified"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('reaction_score')|for_attr }}"> <xf:fa icon="fa-thumbs-up" /> </span> </dt> <xf:else /> <dt>{{ phrase('reaction_score') }}</dt> </xf:if> <dd>{$user.reaction_score|number}</dd> </dl> </xf:if> <xf:if is="$extras.trophy_points && $xf.options.enableTrophies"> <dl class="pairs pairs--justified"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('points')|for_attr }}"> <xf:fa icon="fa-trophy" /> </span> </dt> <xf:else /> <dt>{{ phrase('points') }}</dt> </xf:if> <dd>{$user.trophy_points|number}</dd> </dl> </xf:if> <xf:if is="$extras.age && $user.Profile.age"> <dl class="pairs pairs--justified"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('age')|for_attr }}"> <xf:fa icon="fa-birthday-cake" /> </span> </dt> <xf:else /> <dt>{{ phrase('age') }}</dt> </xf:if> <dd>{$user.Profile.age}</dd> </dl> </xf:if> <xf:if is="$extras.location && $user.Profile.location"> <dl class="pairs pairs--justified"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('location')|for_attr }}"> <xf:fa icon="fa-map-marker" /> </span> </dt> <xf:else /> <dt>{{ phrase('location') }}</dt> </xf:if> <dd data-xf-init="tooltip" title="{$user.Profile.location}"> <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"> <xf:if is="property('uix_postBitIcons')"> <dt> <span data-xf-init="tooltip" title="{{ phrase('website')|for_attr }}"> <xf:fa icon="fa-browser" /> </span> </dt> <xf:else /> <dt>{{ phrase('website') }}</dt> </xf:if> <dd data-xf-init="tooltip" title="{$user.Profile.website|url('host', phrase('visit_site'))}"><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 is="{{ property('uix_collapseExtraInfo')}}"> </div> <div class="thThreads__userExtra--toggle"> <a href="javascript:;" class="thThreads__userExtra--trigger" data-xf-click="ththreads-userextra-trigger"></a> </div> </xf:if> </xf:if> </xf:if> </div> <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"> <div class="uix_signatureExpand">{{ phrase('th_uix_expand_signature')}}</div> <xf:contentcheck> {{ bb_code($user.Profile.signature, 'user:signature', $user) }} </xf:contentcheck> </aside> </xf:if> </xf:if> </xf:macro>]]>

</template>


-<template title="node_list.less" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![CDATA[@_nodeList-statsCellBreakpoint: @xf-uix_viewportCollapseStats; @_iconWidth: {{ property('uix_nodeIconWidth') + property('paddingLarge') }}px; .block--category { .block-header { display: flex; align-items: center; .xf-uix_categoryStrip(); <xf:if is="property('uix_categoryStripOutsideWrapper')"> .m-uix_removePageSpacer(); </xf:if> &.uix_stickyCategoryStrips {position: sticky;} .uix_categoryStrip__icon { align-self: flex-start; i { .xf-uix_categoryIconStyle(); vertical-align: middle; &:before { .m-faBase(); .m-faContent(@fa-var-folder); <xf:if is="{{ property('uix_glyphForumIcon')}}"> content: '@xf-uix_glyphForumIcon'; </xf:if> } } } .node-description { .xf-uix_categoryDescription(); } .categoryCollapse--trigger { font-size: @xf-uix_iconSizeLarge; // padding-right: @xf-paddingMedium; margin-left: auto; } } } .uix_nodeList { .block-container {.xf-uix_nodeContainer();} .block-body {.xf-uix_nodeBlockBody();} } .block-body { .node { &:first-child .node-body { border-top-left-radius: @xf-uix_nodeBlockBody--border-radius; border-top-right-radius: @xf-uix_nodeBlockBody--border-radius; } &:last-child .node-body { border-bottom-left-radius: @xf-uix_nodeBlockBody--border-radius; border-bottom-right-radius: @xf-uix_nodeBlockBody--border-radius; } } } .node { & + .node { border-top: @xf-borderSize solid @xf-borderColorFaint; } } .node-body { display: table; table-layout: fixed; width: 100%; transition: all @uix_move .15s; .xf-uix_nodeBody(); &:hover { .xf-uix_nodeBodyHover(); <xf:if is="property('uix_nodeClickable')"> cursor: pointer; </xf:if> } <xf:if is="property('uix_nodeStatsHover')"> .node-meta, .node-stats { opacity: 0; transition: @uix_moveOut all .15s; left: -6px; position: relative; } &:hover { .node-meta, .node-stats { transition: @uix_moveIn all .15s; opacity: 1; left: 0; } } </xf:if> } .node--depth2:nth-child(even) .node-body{ background-color: @xf-uix_nodeBodyEven; &:hover { .xf-uix_nodeBodyHover(); } } .node-body { display: flex; .node-icon, .node-main {display: inline-block;} .node-main { flex-grow: 1; width: calc(~"100% - {{ property('uix_nodeIconWidth') + property('uix_nodePadding') }}px"); } @media (max-width: @xf-responsiveMedium) { flex-wrap: wrap; .node-extra { width: 100%; padding-left: {{ property('uix_nodeIconWidth') + property('uix_nodePadding') }}px; } } } .node-icon { display: table-cell; vertical-align: top; text-align: center; width: 46px; width: @xf-uix_nodeIconWidth; padding: @xf-uix_nodePadding 0 @xf-uix_nodePadding @xf-uix_nodePadding; flex-shrink: 0; i { display: block; line-height: 1; font-size: 32px; .xf-uix_nodeIconStyle(); &:before { .m-faBase(); font-size: inherit; color: @xf-nodeIconReadColor; .node--unread & { opacity: 1; color: @xf-nodeIconUnreadColor; } } .node--category &:before { .m-faContent(@fa-var-folder); <xf:if is="{{ property('uix_glyphForumIcon')}}"> content: '@xf-uix_glyphForumIcon'; </xf:if> } .node--forum &:before { <xf:if is="{{ property('uix_glyphForumIcon')}}"> .m-faContent(@fa-var-comments); content: '@xf-uix_glyphForumIcon'; </xf:if> } .node--search &::before { .m-faContent(@fa-var-search); } .node--page &:before { .m-faContent(@fa-var-file-alt); <xf:if is="{{ property('uix_glyphPageIcon')}}"> content: '@xf-uix_glyphPageIcon'; </xf:if> } .node--link &:before { .m-faContent(@fa-var-link); <xf:if is="{{ property('uix_glyphLinkIcon')}}"> content: '@xf-uix_glyphLinkIcon'; </xf:if> } <xf:if is="property('uix_nodeIconImages')"> .xf-uix_imageIcon(); &:before {display: none !important;} </xf:if> } } <xf:if is="property('uix_nodeIconImages')"> .node--category .node-icon i, .node--forum .node-icon i {.xf-uix_imageForumIcon();} .node--forum.node--unread .node-icon i {.xf-uix_imageForumUnreadIcon();} .node--link .node-icon i {.xf-uix_imageLinkIcon();} .node--page .node-icon i {.xf-uix_imagePageIcon();} </xf:if> .node-main { display: table-cell; vertical-align: middle; padding: @xf-uix_nodePadding; } .node-stats { // display: table-cell; display: inline-flex; align-items: center; width: 140px; min-width: 140px; vertical-align: middle; text-align: center; padding: @xf-uix_nodePadding 0; .pairs {line-height: 1.5;} > dl.pairs.pairs--rows { width: 50%; float: left; margin: 0; padding: 0 @xf-paddingMedium/2; border-right: 1px solid @xf-borderColor; &:first-child { padding-left: 0; } &:last-child { padding-right: 0; border-right: 0; } } &.node-stats--single { width: 100px; > dl.pairs.pairs--rows { width: 100%; float: none; } } &.node-stats--triple { width: 240px; > dl.pairs.pairs--rows { width: 33.333%; } } <xf:if is="property('uix_viewportCollapseStats') == '100%'"> display: none; </xf:if> @media (max-width: @_nodeList-statsCellBreakpoint) { display: none; } } @_nodeExtra-avatarSize: 36px; .node-extra { // display: table-cell; display: flex; vertical-align: middle; width: 280px; min-width: 230px; padding: @xf-uix_nodePadding; display: inline-flex; //flex-direction: column; //justify-content: center; align-items: center; font-size: @xf-fontSizeSmall; <xf:if is="{{ property('uix_hideNodeLastPost') }}"> display: none; </xf:if> a:not(:hover) {color: inherit;} .node-extra-title:not(:hover) {color: @xf-textColor;} .uix_nodeExtra__rows { display: flex; flex-wrap: wrap; min-width: 0; max-width: 100%; flex-direction: column; width: 100%; } } .node-extra-row { .m-overflowEllipsis(); color: @xf-textColorMuted; max-width: 100%; .listInline {.m-overflowEllipsis();} } .node-extra-icon { padding-right: @xf-uix_nodePadding; float: left; .avatar { .m-avatarSize(@_nodeExtra-avatarSize); } } .node-extra-title { padding-right: .5em; font-weight: @xf-fontWeightHeavy; } .node-title { /* -- Changed to Style Property -- Ian -- margin: 0; padding: 0; font-size: @xf-fontSizeLarge; font-weight: @xf-fontWeightNormal; */ .xf-uix_nodeTitle(); a {color: inherit;} .node--unread & { font-weight: @xf-fontWeightHeavy; .xf-uix_nodeTitle__unread(); } } .node-description { /* UI.X Style property -- Ian font-size: @xf-fontSizeSmall; color: @xf-textColorDimmed; */ .xf-uix_nodeDescription(); &.node-description--tooltip { .has-js:not(.has-touchevents) & { display: none; } } } .node-meta { display: inline; } .node-statsMeta { display: none; .pairs {padding-right: .4em;} dt, dt:after {display: none;} <xf:if is="property('uix_viewportCollapseStats') == '100%'"> display: inline; </xf:if> @media (max-width: @_nodeList-statsCellBreakpoint) { display: inline; } } .node-bonus { font-size: @xf-fontSizeSmall; color: @xf-textColorMuted; text-align: right; } .node-subNodesFlat { font-size: @xf-fontSizeSmall; margin-top: .3em; .node-subNodesLabel { display: none; } } .node-subNodeMenu { display: inline; i {display: none;} <xf:if is="property('uix_viewportCollapseStats') == '100%'"> i {display: inline-block;} span {display: none;} </xf:if> @media (max-width: @xf-uix_viewportCollapseStats) { <xf:if is="{{ property('uix_nodeStatsIcons')}}"> i {display: inline-block;} span {display: none;} </xf:if> } .menuTrigger { color: @xf-textColorMuted; } } @media (max-width: @xf-responsiveMedium) { .node-main { display: block; width: auto; .node--link &, .node--page & { // #168882: we only display the title for these types // so keep these as table-cells for vertical alignment display: table-cell; } } .node-extra { display: flex; // align-items: center; width: auto; // this gives an equivalent of medium padding between main and extra, with main still having large margin-top: (@xf-paddingMedium - @xf-paddingLarge); padding-top: 0; } .node-extra-row { display: inline-block; vertical-align: top; max-width: 100%; } .node-extra-icon { display: none; } .node-description, .node-subNodesFlat { display: none; } } @media (max-width: @xf-responsiveNarrow) { .node-subNodeMenu { // display: none; } } .subNodeLink { &:before, .subNodeLink-icon { display: inline-block; width: 1.28571429em; margin-right: .3em; text-decoration: none; text-align: center; color: @xf-textColorMuted; } &:before { .m-faBase(); } &:hover:before { &:before, .subNodeLink-icon { text-decoration: none; } } &.subNodeLink--unread { font-weight: @xf-fontWeightHeavy; &:before, .subNodeLink-icon { color: @xf-nodeIconUnreadColor; } } &.subNodeLink--forum .subNodeLink-icon:before { .m-faContent(@fa-var-comments); <xf:if is="{{ property('uix_glyphForumIcon')}}"> content: '@xf-uix_glyphForumIcon'; </xf:if> } &.subNodeLink--category:before { .m-faContent(@fa-var-folder); <xf:if is="{{ property('uix_glyphCategoryIcon')}}"> content: '@xf-uix_glyphCategoryIcon'; </xf:if> } &.subNodeLink--page:before { .m-faContent(@fa-var-file-alt); <xf:if is="{{ property('uix_glyphPageIcon')}}"> content: '@xf-uix_glyphPageIcon'; </xf:if> } &.subNodeLink--link:before { .m-faContent(@fa-var-link); <xf:if is="{{ property('uix_glyphLinkIcon')}}"> content: '@xf-uix_glyphLinkIcon'; </xf:if> } &.subNodeLink--search::before { .m-faContent(@fa-var-search); } } .node-subNodeFlatList { .m-listPlain(); .m-clearFix(); > li { display: inline-block; margin-right: 1em; &:last-child { margin-right: 0; } a { .xf-uix_subForumTitle(); } } ol, ul, .node-subNodes { display: none; } } .subNodeMenu { .m-listPlain(); ol, ul { .m-listPlain(); } .subNodeLink { display: block; padding: (@xf-blockPaddingV / 2) @xf-blockPaddingH; text-decoration: none; cursor: pointer; &:hover { text-decoration: none; background: @xf-contentHighlightBg; } } li li .subNodeLink { padding-left: 1.5em; } li li li .subNodeLink { padding-left: 3em; } li li li li .subNodeLink { padding-left: 4.5em; } li li li li li .subNodeLink { padding-left: 6em; } li li li li li li .subNodeLink { padding-left: 7.5em; } }]]>

</template>


-<template title="node_list_category" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![CDATA[<xf:macro name="depth1" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1"> <div class="block block--category block--category{$node.node_id} {{ $node.isCollapsed_uix() ? 'category--collapsed' : ''}}"> <span class="u-anchorTarget" id="{$node.Data.getCategoryAnchor()}"></span> <xf:if is="property('uix_categoryStripOutsideWrapper')"> <h2 class="block-header js-nodeMain{{ property('uix_stickyCategoryStrips') ? ' uix_stickyCategoryStrips' : '' }}"> <xf:if is="property('uix_categoryStripIcons')"> <div class="uix_categoryStrip__icon"> <xf:fa icon="fa-folder" /> </div> </xf:if> <div class="uix_categoryStrip-content"> <xf:comment><a href="{{ link('categories', $node) }}">{$node.title}</a></xf:comment> <xf:comment><xf:if is="{$node.description}"><div class="block-desc">{$node.description|raw}</div></xf:if></xf:comment> <xf:set var="$uix_categoryDescriptionDisplay" value="{{ property('uix_categoryDescriptionDisplay') }}" /> <a href="{{ link('categories', $node) }}" class="uix_categoryTitle" data-xf-init="{{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$node.title}</a> <xf:if is="$uix_categoryDescriptionDisplay != 'none' && $node.description"> <div class="node-description {{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div> </xf:if> </div> <xf:if is="{{ property('uix_categoryCollapse') && $xf.visitor->hasPermission('th_uix', 'collapseCategories') }}"> <a href="javascript:;" class="u-ripple categoryCollapse--trigger" rel="nofollow"><xf:fa icon="fa-chevron-up" /></a> </xf:if> </h2> </xf:if> <div class="block-container"> <xf:if is="!property('uix_categoryStripOutsideWrapper')"> <h2 class="block-header js-nodeMain {{ property('uix_stickyCategoryStrips') ? ' uix_stickyCategoryStrips' : '' }}"> <xf:if is="property('uix_categoryStripIcons')"> <div class="uix_categoryStrip__icon"> <xf:fa icon="fa-folder" /> </div> </xf:if> <div class="uix_categoryStrip-content"> <xf:comment><a href="{{ link('categories', $node) }}">{$node.title}</a></xf:comment> <xf:comment><xf:if is="{$node.description}"><span class="block-desc">{$node.description|raw}</span></xf:if></xf:comment> <xf:set var="$uix_categoryDescriptionDisplay" value="{{ property('uix_categoryDescriptionDisplay') }}" /> <a href="{{ link('categories', $node) }}" class="uix_categoryTitle" data-xf-init="{{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$node.title}</a> <xf:if is="$uix_categoryDescriptionDisplay != 'none' && $node.description"> <div class="node-description {{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div> </xf:if> </div> <xf:if is="{{ property('uix_categoryCollapse') && $xf.visitor->hasPermission('th_uix', 'collapseCategories') }}"> <a class="u-ripple categoryCollapse--trigger" rel="nofollow"><xf:fa icon="fa-chevron-up" /></a> </xf:if> </h2> </xf:if> <div class="uix_block-body--outer"> <div class="block-body"> <xf:macro template="forum_list" name="node_list" arg-children="{$children}" arg-extras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </div> </div> </div> </div> </xf:macro> <xf:macro name="depth2" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1"> <div class="node below--xl 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> <xf:if is="{$extras.hasNew} && property('uix_newNodeMarker')"><span class="uix_newIndicator">{{ phrase('new') }}</span></xf:if> </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} && !property('uix_hideNodeStats')"> <div class="node-statsMeta"> <dl class="pairs pairs--inline"> <xf:if is="property('uix_nodeStatsIcons')"> <dt><xf:fa icon="fa-comment" /></dt> <xf:else /> <dt>{{ phrase('threads') }}</dt> </xf:if> <dd>{$extras.discussion_count|number_short(1)}</dd> </dl> <dl class="pairs pairs--inline"> <xf:if is="property('uix_nodeStatsIcons')"> <dt><xf:fa icon="fa-comments" /></dt> <xf:else /> <dt>{{ phrase('messages') }}</dt> </xf:if> <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} && !property('uix_hideNodeStats')"> <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="uix_nodeExtra__rows"> <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> </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" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![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' : '' }}"> <xf:fa icon="{{ $node.Data.TypeHandler.getTypeIconClass() ?: 'fa-comments' }}" class="subNodeLink-icon" />{$node.title} </a> <xf:macro template="forum_list" name="sub_node_list" arg-children="{$children}" arg-childExtras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </li> </xf:macro> <xf:macro name="forum" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="!" arg-chooseName="" arg-bonusInfo=""> <div class="node node--id{$node.node_id} node--depth{$depth} node--forum {{ $extras.hasNew ? 'node--unread' : 'node--read' }}"> <div class="node-body"> <span class="node-icon" aria-hidden="true"> <xf:fa icon="{{ $node.Data.TypeHandler.getTypeIconClass() ?: 'fa-comments' }}" /> </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> <xf:if is="{$extras.hasNew} && property('uix_newNodeMarker')"><span class="uix_newIndicator">{{ phrase('new') }}</span></xf:if> </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} && !property('uix_hideNodeStats')"> <div class="node-statsMeta"> <dl class="pairs pairs--inline"> <xf:if is="property('uix_nodeStatsIcons')"> <dt><xf:fa icon="fa-comment" /></dt> <xf:else /> <dt>{{ phrase('threads') }}</dt> </xf:if> <dd>{$extras.discussion_count|number_short(1)}</dd> </dl> <dl class="pairs pairs--inline"> <xf:if is="property('uix_nodeStatsIcons')"> <dt><xf:fa icon="fa-comments" /></dt> <xf:else /> <dt>{{ phrase('messages') }}</dt> </xf:if> <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} && !property('uix_hideNodeStats')"> <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="uix_nodeExtra__rows"> <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> </div> <xf:else /> <span class="node-extra-placeholder">{{ phrase('none') }}</span> </xf:if> </div> </div> </div> <xf:if is="{$depth} == 1"> <xf:macro template="forum_list" name="node_list" arg-children="{$children}" arg-extras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </xf:if> </xf:macro>]]>

</template>


-<template title="node_list_search_forum" version_string="2.2.3" version_id="2020370" addon_id="XF" type="public">

<![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="search_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="search_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('search-forums', $node) }}" class="subNodeLink subNodeLink--search">{$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="search_forum" arg-node="!" arg-extras="!" arg-children="{$children}" arg-childExtras="{$childExtras}" arg-depth="!"> <div class="node node--id{$node.node_id} node--depth{$depth} node--search"> <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('search-forums', $node) }}" data-xf-init="{{ $descriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description"> {$node.title} </a> <xf:if is="{$extras.hasNew} && property('uix_newNodeMarker')"><span class="uix_newIndicator">{{ phrase('new') }}</span></xf:if> </h3> <xf:if is="$descriptionDisplay != 'none' && $node.description"> <div class="node-description {{ $descriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}"> {$node.description|raw} </div> </xf:if> <xf:if is="!property('uix_hideNodeStats')"> <div class="node-meta"> <div class="node-statsMeta"> <dl class="pairs pairs--inline"> <xf:if is="property('uix_nodeStatsIcons')"> <dt><xf:fa icon="fa-comment" /></dt> <xf:else /> <dt>{{ phrase('threads') }}</dt> </xf:if> <dd>{$extras.discussion_count|number_short(1)}{{ $extras.discussion_count == $extras.max_results ? '+' : ''}}</dd> </dl> <dl class="pairs pairs--inline"> <xf:if is="property('uix_nodeStatsIcons')"> <dt><xf:fa icon="fa-comments" /></dt> <xf:else /> <dt>{{ phrase('messages') }}</dt> </xf:if> <dd>{$extras.message_count|number_short(1)}</dd> </dl> </div> <xf:if is="$depth == 2 && 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> <xf:if is="$depth == 2 && 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="{{!property('uix_hideNodeStats') }}"> <div class="node-stats"> <dl class="pairs pairs--rows"> <dt>{{ phrase('threads') }}</dt> <dd>{$extras.discussion_count|number_short(1)}{{ $extras.discussion_count == $extras.max_results ? '+' : ''}}</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.discussion_count"> <xf:if 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="uix_nodeExtra__rows"> <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> </div> <xf:else /> <span class="node-extra-placeholder">{{ phrase('private') }}</span> </xf:if> <xf:else /> <span class="node-extra-placeholder">{{ phrase('none') }}</span> </xf:if> </div> </div> </div> <xf:if is="{$depth} == 1"> <xf:macro template="forum_list" name="node_list" arg-children="{$children}" arg-extras="{$childExtras}" arg-depth="{{ $depth + 1 }}" /> </xf:if> </xf:macro>]]>

</template>


-<template title="normalize.css" version_string="2.0.0" version_id="2000070" addon_id="XF" type="public">

<![CDATA[/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}]]>

</template>


-<template title="notice_cookies" version_string="2.1.3" version_id="2010370" addon_id="XF" type="public">

<![CDATA[<div class=""> {{ phrase('this_site_uses_cookies_notice') }} </div> <div class="u-inputSpacer u-alignCenter uix_cookieButtonRow"> <xf:button icon="confirm" href="{{ link('account/dismiss-notice', null, {'notice_id': $notice.notice_id}) }}" class="js-noticeDismiss button--notice">{{ phrase('accept') }}</xf:button> <xf:button href="{{ link('help/cookies') }}" class="button--notice">{{ phrase('learn_more...') }}</xf:button> </div>]]>

</template>


-<template title="notice_macros" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[<xf:macro name="notice_list" arg-type="!" arg-notices="!"> <xf:if is="{$notices} is not empty"> <xf:css src="notices.less" /> <xf:js src="xf/notice.js" min="1" /> <xf:if is="$type == 'scrolling'"> <xf:css src="lightslider.less" /> <xf:js prod="xf/carousel-compiled.js" dev="vendor/lightslider/lightslider.min.js, xf/carousel.js" /> </xf:if> <ul class="notices notices--{$type} {{ count($notices) > 1 ? 'notices--isMulti' : '' }} js-notices" data-xf-init="notices" data-type="{$type}" data-scroll-interval="{{ property('noticeScrollInterval') }}"> <xf:foreach loop="{$notices}" value="$notice"> <xf:macro name="notice" arg-notice="{$notice}" arg-type="{$type}" arg-contentHtml="{$notice.message}" /> </xf:foreach> </ul> </xf:if> </xf:macro> <xf:macro name="notice" arg-notice="!" arg-type="!" arg-contentHtml="!"> <li class="notice js-notice {{ $notice.display_style == 'custom' ? $notice.css_class : 'notice--' . $notice.display_style }}{{ $notice.display_image ? ' notice--hasImage' : '' }}{{ $notice.visibility ? ' notice--hide' . $notice.visibility : '' }}" data-notice-id="{$notice.notice_id}" data-delay-duration="{$notice.delay_duration}" data-display-duration="{$notice.display_duration}" data-auto-dismiss="{$notice.auto_dismiss}" data-visibility="{$notice.visibility}"> <div class="uix_noticeInner"> <div class="uix_noticeIcon"> <xf:if is="({$notice.thuix_icon} == 'mdi mdi-information') || ({$notice.thuix_icon} == '')"> <xf:fa icon="fa-info-circle" /> <xf:else /> <i class="{$notice.thuix_icon}"></i> </xf:if> </div> <xf:if is="$notice.display_image == 'avatar'"> <div class="notice-image"><xf:avatar user="$xf.visitor" size="s" href="" /></div> <xf:elseif is="$notice.display_image == 'image'" /> <div class="notice-image"><img src="{{ base_url($notice.image_url) }}" alt="" /></div> </xf:if> <div class="notice-content"> <xf:if is="$notice.dismissible AND !$notice.custom_dismissible"> <a href="{{ link('account/dismiss-notice', null, {'notice_id': $notice.notice_id}) }}" class="notice-dismiss js-noticeDismiss" data-xf-init="tooltip" title="{{ phrase('dismiss_notice')|for_attr }}"></a> </xf:if> {$contentHtml|raw} </div> </div> </li> </xf:macro>]]>

</template>


-<template title="notices.less" version_string="2.2.0 Release Candidate 1" version_id="2020051" addon_id="XF" type="public">

<![CDATA[@_notice-darkBg: @xf-paletteColor4; @_notice-lightBg: #fff; @_notice-floatingFade: 100%; @_notice-imageSize: 48px; @_notice-padding: @xf-paddingLarge; .notices { .m-listPlain(); &.notices--block { .notice { margin-bottom: @xf-elementSpacer; } } &.notices--floating { // assumed to be within u-bottomFixer margin: 0 auto 0 @xf-elementSpacer; width: 300px; max-width: 100%; z-index: @zIndex-8; @media (max-width: 340px) { margin-right: 10px; } .notice { margin-bottom: 20px; } } .uix_noticeInner { display: flex; } .uix_noticeIcon { display: flex; align-items: center; padding: 0 8px; color: rgba(255,255,255,.5); font-size: 24px; } &.notices--scrolling { display: flex; align-items: stretch; overflow: hidden; .xf-blockBorder(); margin-bottom: ((@xf-elementSpacer) / 2); &.notices--isMulti { margin-bottom: ((@xf-elementSpacer) / 2) + 20px; } .notice { width: 100%; flex-grow: 0; flex-shrink: 0; border: none; box-shadow: none; } } } .noticeScrollContainer { margin-bottom: ((@xf-elementSpacer) / 2); box-shadow: @xf-uix_elevation1; <xf:if is="property('uix_similarScrollNotice')"> border: 2px solid @xf-uix_primaryColor; </xf:if> <xf:if is="property('uix_similarScrollNotice')"> .uix_noticeIcon {background: @xf-uix_primaryColor;} </xf:if> .lSSlideWrapper { .xf-blockBorder(); } .notices.notices--scrolling { border: none; margin-bottom: 0; } <xf:if is="property('uix_similarScrollNotice')"> .notice { &.notice--primary, &.notice--accent, &.notice--dark, &.notice--light {.xf-contentBase();} a {color: @xf-linkColor;} } </xf:if> .lSPager {.xf-contentBase();} } .notice { .m-clearFix(); position: relative; .xf-blockBorder(); .xf-contentBase(); border: 2px solid @xf-borderColor; &.notice--primary { .xf-contentBase(); border: 2px solid @xf-uix_primaryColor; .uix_noticeIcon {background: @xf-uix_primaryColor;} } &.notice--accent { border: 2px solid @xf-uix_secondaryColor; .uix_noticeIcon {background: @xf-uix_secondaryColor;} a:not(.button--notice) { .xf-contentAccentLink(); } } &.notice--dark { //background: @_notice-darkBg; background: @xf-uix_primaryColor; color: #fff; border-color: lighten(@xf-uix_primaryColor, 30%); a:not(.button--notice) { color: #fff; text-decoration: underline; } a.notice-dismiss {color: inherit;} } &.notice--light { color: rgb(20, 20, 20); background: @_notice-lightBg; .uix_noticeIcon {background: @xf-borderColor; color: @xf-textColorMuted;} a:not(.button--notice) { color: rgb(130, 130, 130); } } &.notice--enablePush { display: none; @media (max-width: @xf-responsiveWide) { padding: @xf-paddingSmall @xf-paddingSmall @xf-paddingLarge; font-size: @xf-fontSizeSmall; } } &.notice--cookie { @media (max-width: @xf-responsiveWide) { .notice-content { padding: @xf-paddingSmall @xf-paddingSmall; font-size: @xf-fontSizeSmaller; .button--notice { font-size: @xf-fontSizeSmaller; padding: @xf-paddingSmall @xf-paddingMedium; .button-text { font-size: @xf-fontSizeSmaller; } } } } } .notices--block & { font-size: @xf-fontSizeNormal; border-radius: @xf-blockBorderRadius; } .notices--floating & { font-size: @xf-fontSizeSmallest; border-radius: @xf-borderRadiusMedium; box-shadow: @xf-uix_elevation1; <xf:comment> &.notice--primary { background-color: fade(@xf-contentHighlightBase--background-color, @_notice-floatingFade); } &.notice--accent { background-color: fade(@xf-contentAccentBase--background-color, @_notice-floatingFade); } &.notice--dark { background-color: fade(@_notice-darkBg, @_notice-floatingFade); } &.notice--light { background-color: fade(@_notice-lightBg, @_notice-floatingFade); } </xf:comment> .has-js & { display: none; } } &.notice--hasImage { .notice-content { min-height: ((@_notice-imageSize) + (@_notice-padding) * 2); } } // note: visibility hidden is used by the JS to detect when responsiveness is hiding a notice @media (max-width: @xf-responsiveWide) { &.notice--hidewide:not(.is-vis-processed) { display: none; visibility: hidden; } } @media (max-width: @xf-responsiveMedium) { &.notice--hidemedium:not(.is-vis-processed) { display: none; visibility: hidden; } } @media (max-width: @xf-responsiveNarrow) { &.notice--hidenarrow:not(.is-vis-processed) { display: none; visibility: hidden; } } } .notice-image { float: left; padding: @_notice-padding 0 @_notice-padding @_notice-padding; img { max-width: @_notice-imageSize; max-height: @_notice-imageSize; } } .notice-content { padding: @_notice-padding; flex-grow: 1; // color: @xf-textColorDimmed; a.notice-dismiss { &:before { .m-faBase(); .m-faContent(@fa-var-times, .75em); } float: right; color: inherit; font-size: 16px; line-height: 1; height: 1em; box-sizing: content-box; padding: 0 0 5px 5px; opacity: .5; .m-transition(opacity); cursor: pointer; &:hover { text-decoration: none; opacity: 1; } .notices--floating & { font-size: 14px; } } }]]>

</template>


-<template title="page_style" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<style> .p-pageWrapper .p-navSticky { top: {{ $uix_stickyStaffBarHeight }} !important; } <xf:if is="{$uix_responsiveStaffBar} && !{$uix_alwaysStaffBar}"> @media (max-width: {{ property('uix_staffBarBreakpoint')}}) { .p-pageWrapper .p-navSticky { top: 0 !important; } } </xf:if> <xf:set var="$uix_stickyTabsHeight" value="0" /> <xf:if is="$uix_hasMainTabs && ({{property('uix_tabBarLocation')}} == 'header') && {{property('uix_mainTabsSticky')}}"> <xf:set var="$uix_stickyTabsHeight" value="{{ property('uix_mainTabsHeight')}}" /> </xf:if> <xf:set var="$uix_stickyNavHeightTotal" value="0" /> <xf:set var="$uix_stickyNavPrimary" value="0" /> <xf:if is="!{$uix_hideNavigation}"> <xf:if is="property('publicNavSticky') == 'primary'"> <xf:set var="$uix_stickyNavHeightTotal" value="{{property('uix_stickyNavHeight')}}" /> <xf:set var="$uix_stickyNavPrimary" value="{{property('uix_stickyNavHeight')}}" /> <xf:elseif is="property('publicNavSticky') == 'all'" /> <xf:set var="$uix_stickyNavPrimary" value="{{property('uix_stickyNavHeight')}}" /> <xf:if is="{{property('uix_viewportWidthRemoveSubNav')}} != '100%'"> <xf:set var="$uix_stickyNavHeightTotal" value="{{property('uix_stickyNavHeight') + property('uix_stickySectionLinkHeight')}}" /> <xf:else /> <xf:set var="$uix_stickyNavHeightTotal" value="{{property('uix_stickyNavHeight')}}" /> </xf:if> </xf:if> </xf:if> <xf:set var="$uix_subNavBreakpoint" value="{{ property('uix_viewportWidthRemoveSubNav')}}"/> <xf:if is="!{$uix_subNavContentStatic}"> <xf:set var="$uix_subNavBreakpoint" value="$uix_sidebarBreakpoint"/> </xf:if> <xf:if is="(!{$uix_subNavContentStatic}) || {$uix_subNavContentStatic}"> <xf:set var="$uix_stickyTotal" value="{{ $uix_stickyStaffBarHeight + $uix_stickyNavHeightTotal + property('elementSpacer') + $uix_stickyTabsHeight}}" /> .uix_mainTabBar {top: {{$uix_stickyStaffBarHeight + $uix_stickyNavHeightTotal}}px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: {{$uix_stickyTotal}}px !important; min-height: calc(100vh - {{$uix_stickyTotal}}px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .uix_sidebarInner {margin-top: -{{$uix_stickyTotal}}px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .p-body-sideNavInner {margin-top: -{{$uix_stickyTotal}}px;} .uix_stickyCategoryStrips {top: {{$uix_stickyTotal}}px !important;} #XF .u-anchorTarget { height: {{$uix_stickyTotal}}px; margin-top: -{{$uix_stickyTotal}}px; } <xf:if is="{$uix_responsiveStaffBar} && !{$uix_alwaysStaffBar}"> @media(max-width: {{ property('uix_staffBarBreakpoint') }}) { <xf:set var="$uix_stickyTotal" value="{{ $uix_stickyNavHeightTotal + property('elementSpacer') + $uix_stickyTabsHeight}}" /> .uix_mainTabBar {top: {{$uix_stickyNavHeightTotal}}px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: {{$uix_stickyTotal}}px !important; min-height: calc(100vh - {{$uix_stickyTotal}}px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .uix_sidebarInner {margin-top: -{{$uix_stickyTotal}}px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .p-body-sideNavInner {margin-top: -{{$uix_stickyTotal}}px;} .uix_stickyCategoryStrips {top: {{$uix_stickyTotal}}px !important;} #XF .u-anchorTarget { height: {{$uix_stickyTotal}}px; margin-top: -{{$uix_stickyTotal}}px; } } </xf:if> <xf:if is="{$uix_subNavBreakpoint} != '100%'"> @media (max-width: {$uix_subNavBreakpoint}) { </xf:if> .p-sectionLinks {display: none;} <xf:set var="$uix_stickyTotal" value="{{ $uix_stickyStaffBarHeight + $uix_stickyNavPrimary + property('elementSpacer') + $uix_stickyTabsHeight}}" /> .uix_mainTabBar {top: {{$uix_stickyStaffBarHeight + $uix_stickyNavPrimary}}px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: {{$uix_stickyTotal}}px !important; min-height: calc(100vh - {{$uix_stickyTotal}}px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .uix_sidebarInner {margin-top: -{{$uix_stickyTotal}}px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .p-body-sideNavInner {margin-top: -{{$uix_stickyTotal}}px;} .uix_stickyCategoryStrips {top: {{$uix_stickyTotal}}px !important;} #XF .u-anchorTarget { height: {{$uix_stickyTotal}}px; margin-top: -{{$uix_stickyTotal}}px; } <xf:if is="{$uix_responsiveStaffBar} && !{$uix_alwaysStaffBar}"> @media(max-width: {{ property('uix_staffBarBreakpoint') }}) { <xf:set var="$uix_stickyTotal" value="{{ $uix_stickyNavPrimary + property('elementSpacer') + $uix_stickyTabsHeight }}" /> .uix_mainTabBar {top: {{$uix_stickyNavPrimary}} !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: {{$uix_stickyTotal}}px !important; min-height: calc(100vh - {{$uix_stickyTotal}}px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .uix_sidebarInner {margin-top: -{{$uix_stickyTotal}}px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .p-body-sideNavInner {margin-top: -{{$uix_stickyTotal}}px;} .uix_stickyCategoryStrips {top: {{$uix_stickyTotal}}px !important;} #XF .u-anchorTarget { height: {{$uix_stickyTotal}}px; margin-top: -{{$uix_stickyTotal}}px; } } </xf:if> <xf:if is="{$uix_subNavBreakpoint} != '100%'"> } </xf:if> <xf:else /> <xf:set var="$uix_stickyTotal" value="{{ $uix_stickyStaffBarHeight + $uix_stickyNavPrimary + property('elementSpacer') + $uix_stickyTabsHeight}}" /> .uix_mainTabBar {top: {{$uix_stickyStaffBarHeight + $uix_stickyNavPrimary}}px !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: {{$uix_stickyTotal}}px !important; min-height: calc(100vh - {{$uix_stickyTotal}}px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .uix_sidebarInner {margin-top: -{{$uix_stickyTotal}}px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .p-body-sideNavInner {margin-top: -{{$uix_stickyTotal}}px;} .uix_stickyCategoryStrips {top: {{$uix_stickyTotal}}px !important;} #XF .u-anchorTarget { height: {{$uix_stickyTotal}}px; margin-top: -{{$uix_stickyTotal}}px; } <xf:if is="{$uix_responsiveStaffBar} && !{$uix_alwaysStaffBar}"> <xf:if is="{{ property('uix_staffBarBreakpoint')}} != '100%'"> @media(max-width: {{ property('uix_staffBarBreakpoint') }}) { </xf:if> <xf:set var="$uix_stickyTotal" value="{{ $uix_stickyNavHeightTotal + property('elementSpacer') + $uix_stickyTabsHeight}}" /> .uix_mainTabBar {top: {{$uix_stickyNavHeightTotal}} !important;} .uix_stickyBodyElement:not(.offCanvasMenu) { top: {{$uix_stickyTotal}}px !important; min-height: calc(100vh - {{$uix_stickyTotal}}px) !important; } .uix_sidebarInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .uix_sidebarInner {margin-top: -{{$uix_stickyTotal}}px;} .p-body-sideNavInner .uix_sidebar--scroller {margin-top: {{$uix_stickyTotal}}px;} .p-body-sideNavInner {margin-top: -{{$uix_stickyTotal}}px;} .uix_stickyCategoryStrips {top: {{$uix_stickyTotal}}px !important;} #XF .u-anchorTarget { height: {{$uix_stickyTotal}}px; margin-top: -{{$uix_stickyTotal}}px; } <xf:if is="{{ property('uix_staffBarBreakpoint')}} != '100%'"> } </xf:if> </xf:if> </xf:if> .uix_sidebarNav .uix_sidebar--scroller {max-height: calc(100vh - {$uix_stickyTotal}px);} <xf:if is="property('uix_scrollableSidebar')"> .uix_sidebarInner .uix_sidebar--scroller {max-height: calc(100vh - {$uix_stickyTotal}px);} </xf:if> <xf:if is="property('uix_scrollableSidenav')"> .p-body-sideNavInner .uix_sidebar--scroller {max-height: calc(100vh - {$uix_stickyTotal}px);} </xf:if> </style> <xf:if is="property('uix_stickySidebar') == 'sticky'"> <xf:js> $(".uix_sidebarInner .uix_sidebar--scroller").stick_in_parent({ parent: '.p-body-main', }); $(".p-body-sideNavInner .uix_sidebar--scroller").stick_in_parent({ parent: '.p-body-main', }); <xf:if is="{{property('uix_stickySidebarCalcDelay')}} != '0'"> $(document).ready(function() { window.setTimeout(function() { themehouse.common[20210125].resizeFire() }, {{property('uix_stickySidebarCalcDelay')}}); }) </xf:if> </xf:js> </xf:if>]]>

</template>


-<template title="post_article_macros" version_string="2.2.4" version_id="2020470" addon_id="XF" type="public">

<![CDATA[<xf:macro name="article" arg-post="!" arg-thread="!" arg-forum="{{ null }}" arg-isExpanded="{{ true }}" arg-isListItem="{{ false }}"> <xf:css src="message.less" /> <article class="message message--article js-post js-inlineModContainer {{ $thread.discussion_state == 'moderated' ? 'is-moderated' : '' }} {{ $thread.discussion_state == 'deleted' ? 'is-deleted' : '' }}" data-author="{{ $post.User.username ?: $post.username }}" data-content="post-{$post.post_id}" id="js-post-{$post.post_id}"> <span class="u-anchorTarget" id="post-{$post.post_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--main"> <div class="message-expandWrapper js-expandWatch {{ $isExpanded ? 'is-expanded' : ''}}"> <div class="message-expandContent js-expandContent"> <div class="message-main js-quickEditTarget"> <xf:if is="$isListItem"> <h2 class="article-title"> <xf:if is="$thread.discussion_state == 'moderated'"> <xf:fa icon="fa-shield" class="structItem-status--moderated" aria-hidden="true" title="{{ phrase('awaiting_approval')|for_attr }}" /> <span class="u-srOnly">{{ phrase('awaiting_approval') }}</span> <xf:elseif is="$thread.discussion_state == 'deleted'" /> <i class="structItem-status structItem-status--deleted" aria-hidden="true" title="{{ phrase('deleted')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('deleted') }}</span> </xf:if> <xf:if is="$thread.prefix_id"> <xf:if is="$forum"> <a href="{{ link('forums', $forum, {'prefix_id': $thread.prefix_id}) }}" class="labelLink" rel="nofollow">{{ prefix('thread', $thread, 'html', '') }}</a> <xf:else /> {{ prefix('thread', $thread, 'html', '') }} </xf:if> </xf:if> <a href="{{ link('threads' . (($thread.isUnread() AND !$forceRead) ? '/unread' : ''), $thread) }}">{$thread.title}</a> </h2> </xf:if> <xf:macro name="post_macros::post_attribution" arg-post="{$post}" arg-thread="{$thread}" arg-mainClass="listInline--bullet" arg-showPosition="{{ false }}" arg-showReplyCount="{{ $isListItem ? false : true }}" arg-showUser="{$isListItem}" arg-showThreadUnreadIndicator="{$isListItem}" arg-showThreadStateIcons="{$isListItem}" /> <xf:macro name="post_macros::post_notices" arg-post="{$post}" arg-thread="{$thread}" /> <div class="message-content js-messageContent"> <xf:macro name="post_macros::post_user_content" arg-post="{$post}" arg-thread="{$thread}" arg-snippet="{{ $isListItem ? $thread.Forum.type_config.expanded_snippet : false }}" arg-displayAds="{{ !$isListItem }}" /> <xf:macro name="post_macros::post_last_edit" arg-post="{$post}" /> </div> <xf:if is="$isListItem"> <xf:macro name="list_item_footer" arg-post="{$post}" arg-thread="{$thread}" arg-snippet="{$thread.Forum.type_config.expanded_snippet}" /> <xf:set var="$ldJson" value="{{ $post ? $thread.getLdStructuredData($post) : null }}" /> <xf:if is="$ldJson"> <script type="application/ld+json"> {$ldJson|json(true)|raw} </script> </xf:if> <xf:else /> <div class="reactionsBar js-reactionsList {{ $post.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$post}" link="posts/reactions" /> </div> <xf:macro name="post_macros::post_footer" arg-post="{$post}" arg-thread="{$thread}" /> </xf:if> </div> </div> <div class="message-expandLink js-expandLink"><a role="button" tabindex="0">{{ phrase('click_to_expand') }}</a></div> </div> </div> </div> <xf:if is="!$isListItem"> <aside class="message-articleUserInfo"> <div class="message-cell"> <xf:macro name="author_info" arg-user="{$post.User}" arg-fallbackName="{$post.username}" /> </div> </aside> </xf:if> </article> <xf:if is="!$isListItem"> <xf:ad position="post_below_container" arg-post="{$post}" /> </xf:if> </xf:macro> <xf:macro name="list_item_footer" arg-post="!" arg-thread="!" arg-snippet="{{ false }}"> <xf:set var="$link" value="{{ link('threads', $thread) }}" /> <xf:set var="$linkUnread" value="{{ link('threads' . ($thread.isUnread() ? '/unread' : ''), $thread) }}" /> <footer class="message-footer"> <div class="message-actionBar actionBar"> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:if is="$thread.reply_count"> <a href="{$linkUnread}" class="actionBar-action actionBar-action--replies"> <xf:fa icon="fa-comment" class="u-spaceAfter" />{{ phrase('replies:') }} {$thread.reply_count|number}</a> </xf:if> <xf:if is="$thread.canUseInlineModeration()"> <span class="actionBar-action actionBar-action--inlineMod"><xf:checkbox standalone="true"> <xf:option value="{$thread.thread_id}" class="js-inlineModToggle" data-xf-init="tooltip" title="{{ phrase('select_for_moderation') }}" label="{{ phrase('select_for_moderation') }}" hiddenlabel="true"/> </xf:checkbox></span> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$snippet"> <a href="{$link}" class="actionBar-action actionBar-action--threadLink"> {{ phrase('view_full_article') }} &gt;</a> </xf:if> </xf:contentcheck> </div> </xf:if> </div> </footer> </xf:macro> <xf:macro name="author_info" arg-user="!" arg-fallbackName=""> <div class="contentRow contentRow--alignMiddle"> <div class="contentRow-figure"> <xf:avatar user="$user" size="m" defaultname="{$fallbackName}" /> </div> <div class="contentRow-main"> <div class="message-articleUserFirstLine"> <div class="message-articleWrittenBy u-srOnly">{{ phrase('article_written_by') }}</div> <h3 class="message-articleUserName"> <xf:username user="$user" rich="true" defaultname="{$fallbackName}" /> </h3> <xf:if contentcheck="true"> <div class="message-articleUserBlurb"> <xf:contentcheck> <xf:userblurb user="$user" tag="div" /> </xf:contentcheck> </div> </xf:if> </div> <xf:if contentcheck="true"> <div class="message-articleUserAbout"> <xf:contentcheck> <xf:if is="$user.Profile.about"> {{ bb_code($user.Profile.about, 'user:about', $user) }} </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="message-articleUserBanners"> <xf:contentcheck><xf:userbanners user="$user" /></xf:contentcheck> </div> </xf:if> <div class="message-articleUserStats"> <ul class="listInline listInline--bullet"> <!--[XF:stats:start]--> <li><dl class="pairs pairs--inline"> <dt>{{ phrase('messages') }}</dt> <dd>{$user.message_count|number}</dd> </dl></li> <!--[XF:stats:after_messages]--> <li><dl class="pairs pairs--inline"> <dt>{{ phrase('reaction_score') }}</dt> <dd>{$user.reaction_score|number}</dd> </dl></li> <!--[XF:stats:after_likes]--> <!--[XF:stats:after_reactions]--> <xf:if is="$xf.options.enableTrophies"> <li><dl class="pairs pairs--inline"> <dt>{{ phrase('points') }}</dt> <dd>{$user.trophy_points|number}</dd> </dl></li> </xf:if> <!--[XF:stats:end]--> </ul> </div> </div> </div> </xf:macro> <xf:macro name="article_preview" arg-thread="!" arg-post="!" arg-forum="!" arg-allowInlineMod="{{ true }}"> <xf:set var="$link" value="{{ link('threads', $thread) }}" /> <xf:set var="$linkUnread" value="{{ link('threads' . ($thread.isUnread() ? '/unread' : ''), $thread) }}" /> <xf:set var="$username"><xf:username user="{$thread.User}" defaultname="{$thread.username}" class="u-concealed" /></xf:set> <xf:set var="$ldJson" value="{{ $post ? $thread.getLdStructuredData($post) : null }}" /> <article class="message message--article message--articlePreview {{ $thread.discussion_state == 'moderated' ? 'is-moderated' : '' }}{{ $thread.discussion_state == 'deleted' ? 'is-deleted' : '' }} js-inlineModContainer js-threadListItem-{$thread.thread_id}"> <div class="articlePreview-main"> <xf:if is="$thread.cover_image"> <a href="{$linkUnread}" class="articlePreview-image" style="background-image: url('{$thread.cover_image}')">&nbsp;</a> </xf:if> <div class="articlePreview-text"> <div class="articlePreview-headline"> <h2 class="articlePreview-title"> <xf:if is="$thread.discussion_state == 'moderated'"> <xf:fa icon="fa-shield" class="structItem-status--moderated" aria-hidden="true" title="{{ phrase('awaiting_approval')|for_attr }}" /> <span class="u-srOnly">{{ phrase('awaiting_approval') }}</span> <xf:elseif is="$thread.discussion_state == 'deleted'" /> <i class="structItem-status structItem-status--deleted" aria-hidden="true" title="{{ phrase('deleted')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('deleted') }}</span> </xf:if> <xf:if is="$thread.prefix_id"> <xf:if is="$forum"> <a href="{{ link('forums', $forum, {'prefix_id': $thread.prefix_id}) }}" class="labelLink" rel="nofollow">{{ prefix('thread', $thread, 'html', '') }}</a> <xf:else /> {{ prefix('thread', $thread, 'html', '') }} </xf:if> </xf:if> <a href="{$linkUnread}">{$thread.title}</a> </h2> </div> <div class="articlePreview-content"> <div class="message-content js-messageContent" data-xf-init="lightbox"> <div class="message-userContent lbContainer js-lbContainer" data-lb-id="post-{$post.post_id}" data-lb-caption-desc="{{ $post.User ? $post.User.username : $post.username }} &middot; {{ date_time($post.post_date) }}"> <article class="message-body"> {{ snippet($post.message, $forum.type_config.expanded_snippet, { 'stripQuote': true, 'bbWrapper': true }) }} </article> </div> </div> </div> <div class="articlePreview-links"> <ul class="articlePreview-statuses"> <xf:extension name="status_new"> <xf:if is="$thread.isUnread()"> <li><span class="message-newIndicator" title="{{ !$post.isUnread() ? phrase('new_replies') : '' }}">{{ phrase('new') }}</span></li> </xf:if> </xf:extension> <xf:extension name="status_watch"> <xf:if is="{$xf.visitor.user_id} AND {$thread.Watch.{$xf.visitor.user_id}}"> <li> <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('thread_watched')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('thread_watched') }}</span> </li> <xf:elseif is="!$forum AND {$thread.Forum.Watch.{$xf.visitor.user_id}}" /> <li> <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('forum_watched')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('forum_watched') }}</span> </li> </xf:if> </xf:extension> <xf:extension name="status_state"> <xf:if is="$thread.discussion_state == 'moderated'"> <li> <i class="structItem-status structItem-status--moderated" aria-hidden="true" title="{{ phrase('awaiting_approval')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('awaiting_approval') }}</span> </li> </xf:if> <xf:if is="$thread.discussion_state == 'deleted'"> <li> <i class="structItem-status structItem-status--deleted" aria-hidden="true" title="{{ phrase('deleted')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('deleted') }}</span> </li> </xf:if> <xf:if is="!$thread.discussion_open"> <li> <i class="structItem-status structItem-status--locked" aria-hidden="true" title="{{ phrase('locked')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('locked') }}</span> </li> </xf:if> </xf:extension> <xf:extension name="status_sticky"> <xf:if is="$thread.sticky"> <li> <i class="structItem-status structItem-status--sticky" aria-hidden="true" title="{{ phrase('sticky')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('sticky') }}</span> </li> </xf:if> </xf:extension> </ul> <a href="{$link}">{{ phrase('view_full_article') }} &gt;</a> </div> </div> </div> <footer class="articlePreview-footer"> <ul class="articlePreview-meta listPlain"> <li><xf:avatar user="{$thread.User}" size="xxs" defaultname="{$thread.username}"/></li> <li class="articlePreview-by">{{ phrase('by_user_x', {'name':$username}) }}</li> <li><a href="{$link}" class="u-concealed" rel="nofollow"><xf:date time="{$thread.post_date}"/></a></li> <li class="u-flexStretch"><a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" data-xf-init="share-tooltip" data-href="{{ link('posts/share', $post) }}" rel="nofollow"> <xf:fa icon="fa-share-alt"/> </a></li> <xf:if is="$thread.reply_count"> <li class="articlePreview-replies"><a href="{$linkUnread}" title="{{ phrase('replies:') }} {$thread.reply_count|number}"> <xf:fa icon="fa-comment" class="u-spaceAfter" /><span class="articlePreview-repliesLabel">{{ phrase('replies:') }} </span>{$thread.reply_count|number}</a></li> </xf:if> <xf:if is="$allowInlineMod AND $thread.canUseInlineModeration()"> <li><xf:checkbox standalone="true"> <xf:option value="{$thread.thread_id}" class="js-inlineModToggle" data-xf-init="tooltip" title="{{ phrase('select_for_moderation') }}" label="{{ phrase('select_for_moderation') }}" hiddenlabel="true"/> </xf:checkbox></li> </xf:if> </ul> </footer> <xf:if is="$ldJson"> <script type="application/ld+json"> {$ldJson|json(true)|raw} </script> </xf:if> </article> </xf:macro>]]>

</template>


-<template title="post_edit_new_post" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ prefix('thread', $thread, 'escaped') }}{$thread.title}</xf:title> <xf:h1>{{ prefix('thread', $thread) }}{$thread.title}</xf:h1> <xf:macro name="thread_view::thread_custom_fields_status" arg-thread="{$thread}" arg-forum="{$thread.Forum}" arg-wrapperClass="block-outer" /> <xf:if is="$isPinnedFirstPost"> <xf:macro name="{{ $templateOverrides.pinned_first_post_macro ?: 'post_macros::post' }}" arg-post="{$post}" arg-thread="{$thread}" args="{$templateOverrides.pinned_first_post_macro_args}" /> <xf:else /> <xf:macro name="{{ $templateOverrides.post_macro ?: 'post_macros::post' }}" arg-post="{$post}" arg-thread="{$thread}" args="{$templateOverrides.post_macro_args}" /> </xf:if>]]>

</template>


-<template title="post_macros" version_string="2.2.4" version_id="2020470" addon_id="XF" type="public">

<![CDATA[<xf:macro name="post" arg-post="!" arg-thread="!" arg-uix_condensed="" arg-highlightedPosts="{{ [] }}"> <xf:css src="message.less" /> <xf:set var="$isIgnored" value="{{ $post.isIgnored() }}" /> <xf:extension name="before"></xf:extension> <xf:extension name="extra_classes" value="message--post" /> <article class="message {{ extension_value('extra_classes') }} {{ $uix_condensed ? 'uix_message--condensed' : '' }} js-post js-inlineModContainer {{ $post.isIgnored() ? 'is-ignored' : '' }} {{ $post.isUnread() ? ' is-unread' : '' }}" data-author="{{ $post.User.username ?: $post.username }}" data-content="post-{$post.post_id}" id="js-post-{$post.post_id}"> <span class="u-anchorTarget" id="post-{$post.post_id}"></span> <xf:extension name="full_body"> <div class="message-inner"> <xf:extension name="user_cell"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info" arg-threadUserId="{$thread.user_id}" arg-user="{$post.User}" arg-fallbackName="{$post.username}"/> </div> </xf:extension> <xf:extension name="main_cell"> <div class="message-cell message-cell--main"> <xf:extension name="main_cell_inner"> <div class="message-main uix_messageContent js-quickEditTarget"> <xf:extension name="attribution"> <xf:macro name="post_attribution" arg-post="{$post}" arg-thread="{$thread}" /> </xf:extension> <div class="message-content js-messageContent"> <xf:extension name="content"> <xf:extension name="notices"> <xf:macro name="post_notices" arg-post="{$post}" arg-thread="{$thread}" /> </xf:extension> <xf:extension name="user_content"> <xf:macro name="post_user_content" arg-post="{$post}" arg-thread="{$thread}" /> </xf:extension> <xf:extension name="after_content"> <xf:macro name="post_last_edit" arg-post="{$post}" /> </xf:extension> <xf:extension name="signature"> <xf:macro template="message_macros" name="signature" arg-user="{$post.User}" /> </xf:extension> </xf:extension> </div> <div class="reactionsBar js-reactionsList {{ $post.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$post}" link="posts/reactions" /> </div> <xf:extension name="footer"> <xf:macro name="post_footer" arg-post="{$post}" arg-thread="{$thread}" /> </xf:extension> </div> </xf:extension> </div> </xf:extension> </div> </xf:extension> </article> <xf:extension name="after"></xf:extension> <xf:ad position="post_below_container" arg-post="{$post}" /> </xf:macro> <xf:macro name="post_attribution" arg-post="!" arg-thread="!" arg-showPosition="{{ true }}" arg-showUser="{{ false }}" arg-showThreadUnreadIndicator="{{ false }}" arg-showReplyCount="{{ false }}" arg-repliesPhrase="{{ phrase('replies:') }}" arg-mainClass="" arg-oppositeClass=""> <header class="message-attribution message-attribution--split"> <ul class="message-attribution-main listInline {$mainClass}"> <xf:if is="$showUser"> <xf:set var="$username"><xf:username user="{$post.User}" defaultname="{$post.username}" /></xf:set> <li class="u-concealed message-attribution-user--top">{{ phrase('by_user_x', {'name':$username}) }}</li> </xf:if> <li class="u-concealed"> <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" rel="nofollow"> <xf:date time="{$post.post_date}" itemprop="datePublished" /> </a> </li> <xf:if is="$post.is_question_solution"> <li class="uix_solutionAttribution"> <span class="is-solution" data-xf-init="tooltip" title="{{ phrase('solution') }}"><xf:fa icon="fa-check-circle" /> {{ phrase('solution') }}</span> </li> </xf:if> <xf:if is="$showReplyCount && $thread.reply_count"> <li class="u-concealed"> <a href="{{ link('threads', $thread) }}#posts"> <xf:fa icon="fa-comment" /> {$repliesPhrase|raw} {$thread.reply_count|number} </a> </li> </xf:if> </ul> <ul class="message-attribution-opposite message-attribution-opposite--list {$oppositeClass}"> <xf:if is="$post.isUnread()"> <li><span class="message-newIndicator">{{ phrase('new') }}</span></li> <xf:elseif is="$thread.isUnread() && $showThreadUnreadIndicator" /> <li><span class="message-newIndicator">{{ phrase('new_replies') }}</span></li> </xf:if> <li> <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="message-attribution-gadget" data-xf-init="share-tooltip" data-href="{{ link('posts/share', $post) }}" data-web-share="on" rel="nofollow"> <xf:fa icon="fa-share-alt" /> </a> </li> <xf:if contentcheck="true"> <li> <xf:contentcheck> <xf:macro template="bookmark_macros" name="link" arg-content="{$post}" arg-class="message-attribution-gadget bookmarkLink--highlightable" arg-confirmUrl="{{ link('posts/bookmark', $post) }}" arg-showText="{{ false }}"/> </xf:contentcheck> </li> </xf:if> <xf:if is="$showPosition"> <li> <a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" rel="nofollow"> #{{ number($post.position + 1) }} </a> </li> </xf:if> </ul> </header> </xf:macro> <xf:macro name="post_notices" arg-post="!" arg-thread="!"> <xf:if is="$post.message_state == 'deleted'"> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" /> </div> <xf:elseif is="$post.message_state == 'moderated'" /> <div class="messageNotice messageNotice--moderated"> {{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }} </div> </xf:if> <xf:if is="$post.warning_message"> <div class="messageNotice messageNotice--warning"> {$post.warning_message} </div> </xf:if> <xf:if is="$post.isIgnored()"> <div class="messageNotice messageNotice--ignored"> {{ phrase('you_are_ignoring_content_by_this_member') }} <xf:showignored /> </div> </xf:if> </xf:macro> <xf:macro name="post_user_content" arg-post="!" arg-thread="!" arg-snippet="{{ false }}" arg-displayAds="{{ true }}"> <div class="message-userContent lbContainer js-lbContainer {{ $isIgnored ? 'is-ignored' : '' }}" data-lb-id="post-{$post.post_id}" data-lb-caption-desc="{{ $post.User ? $post.User.username : $post.username }} &middot; {{ date_time($post.post_date) }}"> <xf:if is="$post.isFirstPost()"> <xf:macro template="custom_fields_macros" name="custom_fields_view" arg-type="threads" arg-group="before" arg-onlyInclude="{$thread.Forum.field_cache}" arg-set="{$thread.custom_fields}" arg-wrapperClass="message-fields message-fields--before" /> </xf:if> <article class="message-body js-selectToQuote"> <xf:if is="$displayAds"> <xf:ad position="post_above_content" arg-post="{$post}" /> </xf:if> <xf:if is="$snippet"> {{ bb_code_snippet($post.message, 'post', $post, $snippet) }} <xf:else /> {{ bb_code($post.message, 'post', $post) }} </xf:if> <div class="js-selectToQuoteEnd">&nbsp;</div> <xf:if is="$displayAds"> <xf:ad position="post_below_content" arg-post="{$post}" /> </xf:if> </article> <xf:if is="$post.isFirstPost()"> <xf:macro template="custom_fields_macros" name="custom_fields_view" arg-type="threads" arg-group="after" arg-onlyInclude="{$thread.Forum.field_cache}" arg-set="{$thread.custom_fields}" arg-wrapperClass="message-fields message-fields--after" /> </xf:if> <xf:if is="$post.attach_count"> <xf:macro template="message_macros" name="attachments" arg-attachments="{$post.Attachments}" arg-message="{$post}" arg-canView="{{ $thread.canViewAttachments() }}" /> </xf:if> </div> </xf:macro> <xf:macro name="post_last_edit" arg-post="!"> <xf:if is="$post.last_edit_date"> <div class="message-lastEdit"> <xf:if is="$post.user_id == $post.last_edit_user_id"> {{ phrase('last_edited:') }} <xf:date time="{$post.last_edit_date}" itemprop="dateModified" /> <xf:else /> {{ phrase('last_edited_by_moderator:') }} <xf:date time="{$post.last_edit_date}" itemprop="dateModified" /> </xf:if> </div> </xf:if> </xf:macro> <xf:macro name="post_footer" arg-post="!" arg-thread="!"> <footer class="message-footer"> <xf:if contentcheck="true"> <div class="message-actionBar actionBar"> <xf:contentcheck> <xf:macro name="post_action_bar" arg-post="{$post}" arg-thread="{$thread}" /> </xf:contentcheck> </div> </xf:if> <xf:comment> -- moved to above footer -- <div class="reactionsBar js-reactionsList {{ $post.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$post}" link="posts/reactions" /> </div> </xf:comment> <div class="js-historyTarget message-historyTarget toggleTarget" data-href="trigger-href"></div> </footer> </xf:macro> <xf:macro name="post_action_bar" arg-post="!" arg-thread="!"> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:if is="{{ property('uix_voteActionButton') != 'never'}}"> <xf:if is="$post.isContentVotingSupported()"> <span class="actionBar-action actionBar-action--vote"> <xf:macro template="content_vote_macros" name="vote_control" arg-link="posts/vote" arg-content="{$post}" /> </span> </xf:if> <xf:if is="$thread.isContentVotingSupported() && $post.isFirstPost()"> <span class="actionBar-action actionBar-action--vote"> <xf:macro template="content_vote_macros" name="vote_control" arg-link="threads/vote" arg-content="{$thread}" /> </span> </xf:if> </xf:if> <xf:react content="{$post}" link="posts/react" list="< .js-post | .js-reactionsList" /> <xf:if is="$thread.canReply() OR $thread.canReplyPreReg()"> <xf:set var="$quoteLink">{{ link('threads/reply', $thread, {'quote': $post.post_id}) }}</xf:set> <xf:if is="$xf.options.multiQuote AND $xf.visitor.user_id"> <a href="{$quoteLink}" class="actionBar-action actionBar-action--mq u-jsOnly js-multiQuote" title="{{ phrase('toggle_multi_quote_tooltip')|for_attr }}" data-message-id="{$post.post_id}" data-mq-action="add">{{ phrase('quote') }}</a> </xf:if> <a href="{$quoteLink}" class="actionBar-action actionBar-action--reply" title="{{ phrase('reply_quoting_this_message')|for_attr }}" data-xf-click="quote" data-quote-href="{{ link('posts/quote', $post) }}">{{ phrase('reply') }}</a> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$post.canUseInlineModeration()"> <span class="actionBar-action actionBar-action--inlineMod"> <xf:checkbox standalone="true"> <xf:option value="{$post.post_id}" class="js-inlineModToggle" data-xf-init="tooltip" title="{{ phrase('select_for_moderation') }}" label="{{ phrase('select_for_moderation') }}" hiddenlabel="true" /> </xf:checkbox> </span> </xf:if> <xf:if is="$post.canReport()"> <a href="{{ link('posts/report', $post) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:set var="$hasActionBarMenu" value="{{ false }}" /> <xf:if is="$post.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('posts/edit', $post) }}" class="actionBar-action actionBar-action--edit actionBar-action--menuItem" data-xf-click="quick-edit" data-editor-target="#js-post-{$post.post_id} .js-quickEditTarget" data-menu-closer="true">{{ phrase('edit') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.edit_count && $post.canViewHistory()"> <a href="{{ link('posts/history', $post) }}" class="actionBar-action actionBar-action--history actionBar-action--menuItem" data-xf-click="toggle" data-target="#js-post-{$post.post_id} .js-historyTarget" data-menu-closer="true">{{ phrase('history') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.canDelete('soft')"> <a href="{{ link('posts/delete', $post) }}" class="actionBar-action actionBar-action--delete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('delete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.message_state == 'deleted' AND $post.canUndelete()"> <a href="{{ link('posts/undelete', $post) }}" class="actionBar-action actionBar-action--undelete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('undelete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.canCleanSpam()"> <a href="{{ link('spam-cleaner', $post) }}" class="actionBar-action actionBar-action--spam actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('spam') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$xf.visitor.canViewIps() && $post.ip_id"> <a href="{{ link('posts/ip', $post) }}" class="actionBar-action actionBar-action--ip actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('ip') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.canWarn()"> <a href="{{ link('posts/warn', $post) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$post.warning_id && $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $post.warning_id}) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('view_warning') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$hasActionBarMenu"> <a class="actionBar-action actionBar-action--menuTrigger" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <div class="js-menuBuilderTarget"></div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:macro> <xf:macro name="post_deleted" arg-post="!" arg-thread="!"> <xf:css src="message.less" /> <div class="message message--deleted message--post{{ $post.isIgnored() ? ' is-ignored' : '' }}{{ $post.isUnread() ? ' is-unread' : '' }} js-post js-inlineModContainer" data-author="{{ $post.User.username ?: $post.username }}" data-content="post-{$post.post_id}"> <span class="u-anchorTarget" id="post-{$post.post_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info_simple" arg-user="{$post.User}" arg-fallbackName="{$post.username}" /> </div> <div class="message-cell message-cell--main"> <div class="uix_messageContent"> <div class="message-attribution"> <ul class="listInline listInline--bullet message-attribution-main"> <li><a href="{{ link('threads/post', $thread, {'post_id': $post.post_id}) }}" class="u-concealed" rel="nofollow"><xf:date time="{$post.post_date}" /></a></li> <li><xf:username user="{$post.User}" defaultname="{$post.username}" class="u-concealed" /></li> </ul> </div> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$post.DeletionLog}" /> <a href="{{ link('posts/show', $post) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=post-{$post.post_id}]">{{ phrase('show...') }}</a> <xf:if is="$post.canUseInlineModeration()"> <span style="display: none"> <!-- this can be actioned on the full post --> <xf:checkbox standalone="true"> <xf:option value="{$post.post_id}" class="js-inlineModToggle" hiddenlabel="true" /> </xf:checkbox> </span> </xf:if> </div> </div> </div> </div> </div> <xf:ad position="post_below_container" arg-post="{$post}" /> </xf:macro>]]>

</template>


-<template title="post_suggestion_macros" version_string="2.2.1" version_id="2020170" addon_id="XF" type="public">

<![CDATA[<xf:macro name="suggestion" extends="post_macros::post"> <xf:extension name="main_cell"> <xf:extensionparent /> <xf:if is="$thread.isContentVotingSupported()"> <div class="message-cell message-cell--vote"> <xf:macro template="content_vote_macros" name="vote_control" arg-link="threads/vote" arg-content="{$thread}" /> </div> </xf:if> </xf:extension> </xf:macro>]]>

</template>


-<template title="profile_post_macros" version_string="2.2.0 Release Candidate 1" version_id="2020051" addon_id="XF" type="public">

<![CDATA[<xf:macro name="attribution" arg-profilePost="!" arg-showTargetUser="{{ false }}"> <xf:if is="$showTargetUser AND $profilePost.user_id != $profilePost.profile_user_id"> <xf:username user="$profilePost.User" rich="true" defaultname="{$profilePost.username}" aria-hidden="true" /> <xf:fa icon="{{ $xf.isRtl ? 'fa-caret-left' : 'fa-caret-right' }} u-muted" /> <xf:username user="$profilePost.ProfileUser" rich="true" defaultname="{{ phrase('unknown') }}" aria-hidden="true" /> <span class="u-srOnly">{{ phrase('x_wrote_on_ys_profile', { 'name': ($profilePost.User.username ?: {$profilePost.username}), 'profile': ($profilePost.ProfileUser.username ?: phrase('unknown')) }) }}</span> <xf:else /> <xf:username user="$profilePost.User" rich="true" defaultname="{$profilePost.username}" /> </xf:if> </xf:macro> <xf:macro name="profile_post" arg-profilePost="!" arg-attachmentData="{{ null }}" arg-showTargetUser="{{ false }}" arg-allowInlineMod="{{ true }}"> <xf:css src="message.less" /> <xf:js src="xf/comment.js" min="1" /> <article class="message message--simple {{ $profilePost.isIgnored() ? 'is-ignored' : '' }} js-inlineModContainer" data-author="{{ $profilePost.User.username ?: $profilePost.username }}" data-content="profile-post-{$profilePost.profile_post_id}" id="js-profilePost-{$profilePost.profile_post_id}"> <span class="u-anchorTarget" id="profile-post-{$profilePost.profile_post_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info_simple" arg-user="{$profilePost.User}" arg-fallbackName="{$profilePost.username}" /> </div> <div class="message-cell message-cell--main"> <div class="message-main js-quickEditTarget"> <div class="message-content js-messageContent"> <header class="message-attribution message-attribution--plain"> <ul class="listInline listInline--bullet"> <li class="message-attribution-user"> <xf:avatar user="$profilePost.User" size="xxs" /> <h4 class="attribution"><xf:macro name="attribution" arg-profilePost="{$profilePost}" arg-showTargetUser="{$showTargetUser}" /></h4> </li> <li><a href="{{ link('profile-posts', $profilePost) }}" class="u-concealed" rel="nofollow"><xf:date time="$profilePost.post_date" /></a></li> </ul> </header> <xf:if is="$profilePost.message_state == 'deleted'"> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$profilePost.DeletionLog}" /> </div> <xf:elseif is="$profilePost.message_state == 'moderated'" /> <div class="messageNotice messageNotice--moderated"> {{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }} </div> </xf:if> <xf:if is="$profilePost.warning_message"> <div class="messageNotice messageNotice--warning"> {$profilePost.warning_message} </div> </xf:if> <xf:if is="$profilePost.isIgnored()"> <div class="messageNotice messageNotice--ignored"> {{ phrase('you_are_ignoring_content_by_this_member') }} </div> </xf:if> <div class="lbContainer js-lbContainer" data-lb-id="profile-post-{$profilePost.profile_post_id}" data-lb-caption-desc="{{ $profilePost.User ? $profilePost.User.username : $profilePost.username }} &middot; {{ date_time($profilePost.post_date) }}"> <article class="message-body"> {{ bb_code($profilePost.message, 'profile_post', $profilePost) }} </article> <xf:if is="$profilePost.attach_count"> <xf:macro template="message_macros" name="attachments" arg-attachments="{$profilePost.Attachments}" arg-message="{$profilePost}" arg-canView="{{ $xf.visitor.hasPermission('profilePost', 'viewAttachment') }}" /> </xf:if> </div> </div> <footer class="message-footer"> <div class="message-actionBar actionBar"> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$profilePost}" link="profile-posts/react" list="< .message | .js-reactionsList" /> <xf:if is="$profilePost.canComment() AND property('profilePostCommentToggle')"> <a class="uix_commentsTrigger actionBar-action actionBar-action--reply" data-xf-click="toggle" data-target=".js-commentsTarget-{$profilePost.profile_post_id}" data-scroll-to="true" role="button" tabindex="0">{{ phrase('comment') }}</a> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="{$allowInlineMod} AND $profilePost.canUseInlineModeration()"> <span class="actionBar-action actionBar-action--inlineMod"> <xf:checkbox standalone="true"> <xf:option value="{$profilePost.profile_post_id}" class="js-inlineModToggle" data-xf-init="tooltip" title="{{ phrase('select_for_moderation') }}" label="{{ phrase('select_for_moderation') }}" hiddenlabel="true" /> </xf:checkbox> </span> </xf:if> <xf:if is="$profilePost.canReport()"> <a href="{{ link('profile-posts/report', $profilePost) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:set var="$hasActionBarMenu" value="{{ false }}" /> <xf:if is="$profilePost.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('profile-posts/edit', $profilePost) }}" class="actionBar-action actionBar-action--edit actionBar-action--menuItem" data-xf-click="quick-edit" data-editor-target="#js-profilePost-{$profilePost.profile_post_id} .js-quickEditTarget" data-no-inline-mod="{{ !$allowInlineMod ? 1 : 0 }}" data-menu-closer="true">{{ phrase('edit') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$profilePost.canDelete('soft')"> <a href="{{ link('profile-posts/delete', $profilePost) }}" class="actionBar-action actionBar-action--delete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('delete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$profilePost.message_state == 'deleted' AND $profilePost.canUndelete()"> <a href="{{ link('profile-posts/undelete', $profilePost) }}" data-xf-click="overlay" class="actionBar-action actionBar-action--undelete actionBar-action--menuItem">{{ phrase('undelete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$profilePost.canCleanSpam()"> <a href="{{ link('spam-cleaner', $profilePost) }}" class="actionBar-action actionBar-action--spam actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('spam') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$xf.visitor.canViewIps() && $profilePost.ip_id"> <a href="{{ link('profile-posts/ip', $profilePost) }}" class="actionBar-action actionBar-action--ip actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('ip') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$profilePost.canWarn()"> <a href="{{ link('profile-posts/warn', $profilePost) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$profilePost.warning_id && $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $profilePost.warning_id}) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('view_warning') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$hasActionBarMenu"> <a class="actionBar-action actionBar-action--menuTrigger" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <div class="js-menuBuilderTarget"></div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </div> <section class="message-responses js-messageResponses"> <div class="message-responseRow message-responseRow--reactions js-reactionsList {{ $profilePost.reactions ? 'is-active' : '' }}"><xf:if is="$profilePost.reactions"> <xf:reactions content="{$profilePost}" link="profile-posts/reactions" /> </xf:if></div> <div class="uix_commentsContainer"> <xf:if is="$profilePost.LatestComments is not empty"> <xf:if is="$profilePost.hasMoreComments()"> <div class="message-responseRow u-jsOnly js-commentLoader"> <a href="{{ link('profile-posts/load-previous', $profilePost, {'before': $profilePost.LatestComments.first().comment_date}) }}" data-xf-click="comment-loader" data-container=".js-commentLoader" rel="nofollow">{{ phrase('view_previous_comments...') }}</a> </div> </xf:if> <div class="js-replyNewMessageContainer"> <xf:foreach loop="$profilePost.LatestComments" value="$comment"> <xf:macro name="{{ $comment.message_state == 'deleted' ? 'comment_deleted' : 'comment' }}" arg-comment="{$comment}" arg-profilePost="{$profilePost}" /> </xf:foreach> </div> <xf:else /> <div class="js-replyNewMessageContainer"></div> </xf:if> <xf:if is="$profilePost.canComment()"> <xf:js src="xf/message.js" min="1" /> <div class="message-responseRow js-commentsTarget-{$profilePost.profile_post_id} {{ property('profilePostCommentToggle') ? 'toggleTarget' : '' }}"> <xf:form action="{{ link('profile-posts/add-comment', $profilePost) }}" ajax="true" class="comment" data-xf-init="attachment-manager quick-reply" data-message-container="< .js-messageResponses | .js-replyNewMessageContainer"> <div class="comment-inner"> <span class="comment-avatar"> <xf:avatar user="{$xf.visitor}" size="xxs" /> </span> <div class="comment-main"> <div class="editorPlaceholder" data-xf-click="editor-placeholder"> <div class="editorPlaceholder-editor is-hidden"> <xf:macro template="quick_reply_macros" name="editor" arg-attachmentData="{$attachmentData}" arg-minHeight="40" arg-placeholder="{{ phrase('write_comment...') }}" arg-submitText="{{ phrase('post_comment') }}" arg-deferred="{{ true }}" arg-simpleSubmit="{{ true }}" /> </div> <div class="editorPlaceholder-placeholder"> <div class="input"><span class="u-muted"> {{ phrase('write_comment...') }}</span></div> </div> </div> </div> </div> <xf:set var="$lastProfilePostComment" value="{$profilePost.LatestComments|last}" /> <xf:hiddenval name="last_date">{$lastProfilePostComment.comment_date}</xf:hiddenval> </xf:form> </div> </xf:if> </div> </section> </footer> </div> </div> </div> </article> </xf:macro> <xf:macro name="profile_post_deleted" arg-profilePost="!" arg-showTargetUser="{{ false }}"> <xf:css src="message.less" /> <div class="message message--simple{{ $profilePost.isIgnored() ? ' is-ignored' : '' }} js-inlineModContainer" data-author="{{ $profilePost.User.username ?: $profilePost.username }}" data-content="profile-post-{$profilePost.profile_post_id}"> <span class="u-anchorTarget" id="profile-post-{$profilePost.profile_post_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info_simple" arg-user="{$profilePost.User}" arg-fallbackName="{$profilePost.username}" /> </div> <div class="message-cell message-cell--main"> <div class="message-attribution message-attribution--plain"> <ul class="listInline listInline--bullet"> <li class="message-attribution-user"> <xf:avatar user="$profilePost.User" size="xxs" /> <h4 class="attribution"><xf:macro name="attribution" arg-profilePost="{$profilePost}" arg-showTargetUser="{$showTargetUser}" /></h4> </li> <li><xf:date time="$profilePost.post_date" /></li> </ul> </div> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$profilePost.DeletionLog}" /> <a href="{{ link('profile-posts/show', $profilePost) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=profile-post-{$profilePost.profile_post_id}]">{{ phrase('show...') }}</a> <xf:if is="$profilePost.canUseInlineModeration()"> <span style="display: none"> <!-- this can be actioned on the full post --> <xf:checkbox standalone="true"> <xf:option value="{$profilePost.profile_post_id}" class="js-inlineModToggle" hiddenlabel="true" /> </xf:checkbox> </span> </xf:if> </div> </div> </div> </div> </xf:macro> <xf:macro name="profile_post_simple" arg-profilePost="!" arg-limitHeight="{{ false }}"> <div class="contentRow"> <div class="contentRow-figure"> <xf:avatar user="$profilePost.User" size="xxs" defaultname="{$profilePost.username}" /> </div> <div class="contentRow-main contentRow-main--close"> <div class="contentRow-lesser"> <xf:macro name="attribution" arg-profilePost="{$profilePost}" arg-showTargetUser="{{ true }}" /> </div> <xf:if is="$limitHeight"> <div class="contentRow-faderContainer"> <div class="contentRow-faderContent"> {{ bb_code($profilePost.message, 'profile_post', $profilePost, {'simpleUnfurl': true}) }} </div> <div class="contentRow-fader"></div> </div> <xf:else /> {{ bb_code($profilePost.message, 'profile_post', $profilePost, {'simpleUnfurl': true}) }} </xf:if> <div class="contentRow-minor"> <a href="{{ link('profile-posts', $profilePost) }}" rel="nofollow" class="u-concealed"><xf:date time="{$profilePost.post_date}" /></a> <a href="{{ link('profile-posts', $profilePost) }}" rel="nofollow" class="contentRow-extra" data-xf-click="overlay" data-xf-init="tooltip" title="{{ phrase('interact')|for_attr }}">&#8226;&#8226;&#8226;</a> </div> </div> </div> </xf:macro> <xf:macro name="comment" arg-comment="!" arg-profilePost="!"> <div class="message-responseRow {{ $comment.isIgnored() ? 'is-ignored' : '' }}"> <div class="comment" data-author="{$comment.User.username}" data-content="profile-post-comment-{$comment.profile_post_comment_id}" id="js-profilePostComment-{$comment.profile_post_comment_id}"> <div class="comment-inner"> <span class="comment-avatar"> <xf:avatar user="$comment.User" size="xxs" defaultname="{$comment.username}" /> </span> <div class="comment-main"> <span class="u-anchorTarget" id="profile-post-comment-{$comment.profile_post_comment_id}"></span> <div class="js-quickEditTargetComment"> <div class="comment-content"> <xf:if is="$comment.message_state == 'deleted'"> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$comment.DeletionLog}" /> </div> <xf:elseif is="$comment.message_state == 'moderated'" /> <div class="messageNotice messageNotice--moderated"> {{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }} </div> </xf:if> <xf:if is="$comment.warning_message"> <div class="messageNotice messageNotice--warning"> {$comment.warning_message} </div> </xf:if> <xf:if is="$comment.isIgnored()"> <div class="messageNotice messageNotice--ignored"> {{ phrase('you_are_ignoring_content_by_this_member') }} </div> </xf:if> <div class="comment-contentWrapper"> <xf:username user="$comment.User" rich="true" defaultname="{$comment.username}" class="comment-user" /> <div class="lbContainer js-lbContainer" data-lb-id="profile-post-comment-{$comment.profile_post_comment_id}" data-lb-caption-desc="{{ $comment.User ? $comment.User.username : $comment.username }} &middot; {{ date_time($comment.comment_date) }}"> <article class="comment-body"> {{ bb_code($comment.message, 'profile_post_comment', $comment) }} </article> <xf:if is="$comment.attach_count"> <xf:macro template="message_macros" name="attachments" arg-attachments="{$comment.Attachments}" arg-message="{$comment}" arg-canView="{{ $xf.visitor.hasPermission('profilePost', 'viewAttachment') }}" /> </xf:if> </div> </div> </div> <footer class="comment-footer"> <div class="comment-actionBar actionBar"> <div class="actionBar-set actionBar-set--internal"> <span class="actionBar-action"><xf:date time="{$comment.comment_date}" /></span> <xf:if is="$comment.canReport()"> <a href="{{ link('profile-posts/comments/report', $comment) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:set var="$hasActionBarMenu" value="{{ false }}" /> <xf:if is="$comment.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('profile-posts/comments/edit', $comment) }}" class="actionBar-action actionBar-action--edit actionBar-action--menuItem" data-xf-click="quick-edit" data-editor-target="#js-profilePostComment-{$comment.profile_post_comment_id} .js-quickEditTargetComment" data-menu-closer="true">{{ phrase('edit') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$comment.canDelete('soft')"> <a href="{{ link('profile-posts/comments/delete', $comment) }}" class="actionBar-action actionBar-action--delete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('delete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$comment.message_state == 'deleted' AND $comment.canUndelete()"> <a href="{{ link('profile-posts/comments/undelete', $comment) }}" data-xf-click="overlay" class="actionBar-action actionBar-action--undelete actionBar-action--menuItem">{{ phrase('undelete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$comment.canCleanSpam()"> <a href="{{ link('spam-cleaner', $comment) }}" class="actionBar-action actionBar-action--spam actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('spam') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$xf.visitor.canViewIps() && $comment.ip_id"> <a href="{{ link('profile-posts/comments/ip', $comment) }}" class="actionBar-action actionBar-action--ip actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('ip') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$comment.canWarn()"> <a href="{{ link('profile-posts/comments/warn', $comment) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$comment.warning_id && $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $comment.warning_id}) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('view_warning') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$comment.canApproveUnapprove()"> <xf:if is="$comment.message_state == 'moderated'"> <a href="{{ link('profile-posts/comments/approve', $comment, {'t': csrf_token()}) }}" class="actionBar-action actionBar-action--approve actionBar-action--menuItem">{{ phrase('approve') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$comment.message_state == 'visible'" /> <a href="{{ link('profile-posts/comments/unapprove', $comment, {'t': csrf_token()}) }}" class="actionBar-action actionBar-action--unapprove actionBar-action--menuItem">{{ phrase('unapprove') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> </xf:if> <xf:if is="$hasActionBarMenu"> <a class="actionBar-action actionBar-action--menuTrigger" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <div class="js-menuBuilderTarget"></div> </div> </div> </xf:if> </div> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$comment}" link="profile-posts/comments/react" list="< .comment | .js-commentReactionsList" /> </xf:contentcheck> </div> </xf:if> </div> <div class="comment-reactions js-commentReactionsList {{ $comment.reactions ? 'is-active' : '' }}"><xf:if is="$comment.reactions"> <xf:reactions content="{$comment}" link="profile-posts/comments/reactions" /> </xf:if></div> </footer> </div> </div> </div> </div> </div> </xf:macro> <xf:macro name="comment_deleted" arg-comment="!" arg-profilePost="!"> <div class="message-responseRow"> <div class="comment{{ $comment.isIgnored() ? ' is-ignored' : '' }}" data-author="{$comment.User.username}" data-content="profile-post-comment-{$comment.profile_post_comment_id}"> <div class="comment-inner"> <span class="comment-avatar"> <xf:avatar user="$comment.User" size="xxs" defaultname="{$comment.username}" /> </span> <div class="comment-main"> <span class="u-anchorTarget" id="profile-post-comment-{$comment.profile_post_comment_id}"></span> <div class="comment-content"> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$comment.DeletionLog}" /> <a href="{{ link('profile-posts/comments/show', $comment) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=profile-post-comment-{$comment.profile_post_comment_id}]">{{ phrase('show...') }}</a> </div> </div> <div class="comment-actionBar actionBar"> <div class="actionBar-set actionBar-set--internal"> <span class="actionBar-action"> <xf:date time="{$comment.comment_date}" /> <span role="presentation" aria-hidden="true">&middot;</span> <xf:username user="{$comment.User}" defaultname="{$comment.username}" class="u-concealed" /> </span> </div> </div> </div> </div> </div> </div> </xf:macro> <xf:macro name="quick_post" arg-user="!" arg-containerSelector="!" arg-lastDate="!" arg-attachmentData="{{ null }}"> <xf:js src="xf/message.js" min="1" /> <xf:form action="{{ link('members/post', $user) }}" ajax="true" class="message-spacer js-quickReply" data-xf-init="attachment-manager quick-reply" data-message-container="{$containerSelector}" data-ascending="0"> <xf:macro template="quick_reply_macros" name="body" arg-attachmentData="{$attachmentData}" arg-simple="{{ true }}" arg-placeholder="{{ $xf.visitor.user_id == $user.user_id ? (phrase('update_your_status...')) : phrase('write_something...') }}" arg-submitText="{{ phrase('post_verb') }}" arg-lastDate="{$lastDate}" arg-lastKnownDate="{$lastDate}" arg-minHeight="40" arg-deferred="{{ true }}" arg-simpleSubmit="{{ true }} " /> </xf:form> </xf:macro> <xf:macro name="submit" arg-user="!" arg-lastDate="!" arg-containerSelector="!" arg-style="full" arg-context="user" arg-attachmentData="{{ null }}"> <xf:js src="xf/message.js" min="1" /> <xf:set var="$placeholder" value="{{ $xf.visitor.user_id == $user.user_id ? (phrase('update_your_status...')) : phrase('write_something...') }}" /> <xf:form action="{{ link('members/post', $user) }}" ajax="true" class="{{ $style == 'full' ? 'message message--simple' : 'block-row' }} js-quickReply" data-xf-init="{{ $style == 'full' ? 'attachment-manager' : '' }} quick-reply" data-message-container="{$containerSelector}" data-ascending="0"> <xf:if is="$style == 'full'"> <xf:macro template="quick_reply_macros" name="body" arg-attachmentData="{$attachmentData}" arg-simple="{{ true }}" arg-placeholder="{$placeholder}" arg-submitText="{{ phrase('post_verb') }}" arg-lastDate="{$lastDate}" arg-lastKnownDate="{$lastDate}" arg-minHeight="40" arg-deferred="{{ true }}" arg-simpleSubmit="{{ true }} " /> <xf:else /> <div> <span class="u-srOnly" id="ctrl_message">{{ phrase('update_your_status:') }}</span> <xf:textarea name="message" autosize="true" rows="1" maxlength="{$xf.options.profilePostMaxLength}" class="js-editor" data-xf-init="focus-trigger user-mentioner emoji-completer" data-display="< :next" aria-labelledby="ctrl_message" placeholder="{$placeholder}" /> <div class="u-hidden u-hidden--transition u-inputSpacer"> <xf:button type="submit" class="button--primary" icon="reply">{{ phrase('post_verb') }}</xf:button> </div> <xf:comment><!-- Posts are in descending order so last post is first! --></xf:comment> <xf:hiddenval name="last_date" autocomplete="off">{$lastDate}</xf:hiddenval> </div> </xf:if> <xf:hiddenval name="style">{$style}</xf:hiddenval> <xf:hiddenval name="context">{$context}</xf:hiddenval> </xf:form> </xf:macro>]]>

</template>


-<template title="quick_reply_macros" version_string="2.2.0" version_id="2020070" addon_id="XF" type="public">

<![CDATA[<xf:macro name="body" arg-message="" arg-attachmentData="{{ null }}" arg-forceHash="" arg-messageSelector="" arg-multiQuoteHref="" arg-multiQuoteStorageKey="" arg-simple="{{ false }}" arg-submitText="" arg-lastDate="0" arg-lastKnownDate="0" arg-loadExtra="{{ true }}" arg-simpleSubmit="{{ false }}" arg-minHeight="100" arg-placeholder="{{ phrase('reply_placeholder') }}" arg-deferred="{{ false }}" arg-showGuestControls="{{ true }}" arg-previewUrl=""> <xf:css src="message.less" /> <xf:set var="$sticky" value="{{ property('messageSticky') }}" /> <div class="message message--quickReply block-topRadiusContent block-bottomRadiusContent{{ $simple ? ' message--simple' : '' }}"> <div class="message-inner"> <div class="message-cell message-cell--user"> <div class="message-user {{ $sticky.user_info ? 'is-sticky' : '' }}"> <div class="message-avatar"> <div class="message-avatar-wrapper"> <xf:set var="$user" value="{{ $xf.visitor.user_id ? $xf.visitor : null }}" /> <xf:if is="property('uix_postBitAvatarSize') == 'large'"> <xf:avatar user="$user" size="{{ $simple ? 's' : 'l' }}" defaultname="" /> <xf:elseif is="property('uix_postBitAvatarSize') == 'small'" /> <xf:avatar user="$user" size="{{ $simple ? 's' : 's' }}" defaultname="" /> <xf:else /> <xf:avatar user="$user" size="{{ $simple ? 's' : 'm' }}" defaultname="" /> </xf:if> </div> </div> <span class="message-userArrow"></span> </div> </div> <div class="message-cell message-cell--main"> <div class="message-editorWrapper"> <xf:set var="$editorHtml"> <xf:macro name="editor" arg-message="{$message}" arg-attachmentData="{$attachmentData}" arg-forceHash="{$forceHash}" arg-messageSelector="{$messageSelector}" arg-multiQuoteHref="{$multiQuoteHref}" arg-multiQuoteStorageKey="{$multiQuoteStorageKey}" arg-minHeight="{$minHeight}" arg-placeholder="{$placeholder}" arg-submitText="{$submitText}" arg-deferred="{$deferred}" arg-lastDate="{$lastDate}" arg-lastKnownDate="{$lastKnownDate}" arg-loadExtra="{$loadExtra}" arg-simpleSubmit="{$simpleSubmit}" arg-showGuestControls="{$showGuestControls}" arg-previewUrl="{$previewUrl}" /> </xf:set> <xf:if is="$deferred"> <div class="editorPlaceholder" data-xf-click="editor-placeholder"> <div class="editorPlaceholder-editor is-hidden">{$editorHtml|raw}</div> <div class="editorPlaceholder-placeholder"> <div class="input"><span class="u-muted"> {$placeholder}</span></div> </div> </div> <xf:else /> {$editorHtml|raw} </xf:if> </div> </div> </div> </div> </xf:macro> <xf:macro name="editor" arg-message="" arg-attachmentData="{{ null }}" arg-forceHash="" arg-messageSelector="" arg-multiQuoteHref="" arg-multiQuoteStorageKey="" arg-minHeight="100" arg-placeholder="" arg-submitText="" arg-deferred="{{ false }}" arg-lastDate="0" arg-lastKnownDate="0" arg-loadExtra="{{ true }}" arg-simpleSubmit="{{ false }}" arg-showGuestControls="{{ true }}" arg-previewUrl="" > <xf:editor name="message" value="{$message}" attachments="{{ $attachmentData ? $attachmentData.attachments : [] }}" data-min-height="{$minHeight}" placeholder="{$placeholder}" data-deferred="{{ $deferred ? 'on' : 'off' }}" data-xf-key="{{ phrase('shortcut.quick_reply') }}" data-preview-url="{$previewUrl}" /> <xf:if is="!$xf.visitor.user_id && $showGuestControls"> <xf:textboxrow name="_xfUsername" rowtype="fullWidth noGutter" data-xf-init="guest-username" maxlength="{{ max_length($xf.visitor, 'username') }}" label="{{ phrase('name') }}" /> </xf:if> <xf:if is="$xf.visitor.isShownCaptcha()"> <div class="js-captchaContainer" data-row-type="fullWidth noGutter"></div> <noscript><xf:hiddenval name="no_captcha" value="1" /></noscript> </xf:if> <xf:if is="$attachmentData"> <xf:macro template="helper_attach_upload" name="uploaded_files_list" arg-attachments="{$attachmentData.attachments}" arg-class="attachmentUploads--spaced" /> </xf:if> <div class="formButtonGroup {{ $simpleSubmit ? 'formButtonGroup--simple' : '' }}"> <div class="formButtonGroup-primary"> <xf:button type="submit" class="button--primary" icon="reply"> {{ $submitText ?: phrase('post_reply') }} </xf:button> </div> <xf:if contentcheck="true"> <div class="formButtonGroup-extra"> <xf:contentcheck> <xf:if is="$attachmentData"> <xf:macro template="helper_attach_upload" name="upload_link_from_data" arg-attachmentData="{$attachmentData}" arg-forceHash="{$forceHash}" /> </xf:if> <xf:if is="$xf.options.multiQuote && $multiQuoteHref"> <xf:macro template="multi_quote_macros" name="button" arg-href="{$multiQuoteHref}" arg-messageSelector="{$messageSelector}" arg-storageKey="{$multiQuoteStorageKey}" /> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:hiddenval name="last_date" autocomplete="off">{$lastDate}</xf:hiddenval> <xf:hiddenval name="last_known_date" autocomplete="off">{$lastKnownDate}</xf:hiddenval> <xf:hiddenval name="load_extra">{{ $loadExtra ? 1 : 0 }}</xf:hiddenval> </div> </xf:macro>]]>

</template>


-<template title="register_form" version_string="2.2.0 Beta 5" version_id="2020035" addon_id="XF" type="public">

<![CDATA[<xf:js src="xf/login_signup.js" min="1" /> <xf:page option="uix_hideExtendedFooter" value="1" /> <xf:page option="uix_hideBreadcrumb" value="1" /> <xf:comment><xf:page option="uix_hideNavigation" value="1" /></xf:comment> <xf:title>{{ phrase('register') }}</xf:title> <xf:head option="robots"><meta name="robots" content="noindex" /></xf:head> <xf:if is="$xf.session.preRegActionKey"> <div class="blockMessage blockMessage--highlight"> {{ phrase('pre_reg_action_notice') }}<br /> <br /> {{ phrase('already_have_account') }} <xf:button class="button--link" href="{{ link('login', null, {'_xfRedirect': $redirect}) }}" data-xf-click="overlay" >{{ phrase('login') }}</xf:button> </div> </xf:if> <xf:if is="$providers is not empty"> <div class="block"> <div class="block-container"> <div class="block-body"> <xf:formrow rowtype="button" label="{{ phrase('register_faster_using') }}"> <ul class="listHeap"> <xf:foreach loop="$providers" value="$provider"> <li> <xf:macro template="connected_account_macros" name="button" arg-provider="{$provider}" /> </li> </xf:foreach> </ul> </xf:formrow> </div> </div> </div> </xf:if> <xf:form action="{{ link('register/register') }}" ajax="true" class="block" data-xf-init="reg-form" data-timer="{$xf.options.registrationTimer}"> <div class="block-container"> <div class="block-body"> <xf:comment>Spam catcher field</xf:comment> <xf:macro template="register_macros" name="username_row" arg-fieldName="{{ $regForm.getFieldName('username') }}" arg-value="{$fields.username}" /> <xf:textboxrow name="username" value="" autocomplete="off" rowclass="formRow--limited" maxlength="{{ max_length($xf.visitor, 'username') }}" label="{{ phrase('user_name') }}" explain="{{ phrase('please_leave_this_field_blank') }}" /> <xf:comment>Spam catcher field</xf:comment> <xf:if is="{{ rand(0, 2) == 1 }}"> <xf:textboxrow name="{{ $regForm.getFieldName('email_hp') }}" value="" type="email" autocomplete="off" rowclass="formRow--limited" maxlength="{{ max_length($xf.visitor, 'email') }}" label="{{ phrase('email') }}" explain="{{ phrase('please_leave_this_field_blank') }}" /> </xf:if> <xf:macro template="register_macros" name="email_row" arg-fieldName="{{ $regForm.getFieldName('email') }}" arg-value="{$fields.email}" /> <xf:comment>Spam catcher field</xf:comment> <xf:if is="{{ rand(0, 2) == 1 }}"> <xf:textboxrow name="email" value="" type="email" autocomplete="off" rowclass="formRow--limited" maxlength="{{ max_length($xf.visitor, 'email') }}" label="{{ phrase('email') }}" explain="{{ phrase('please_leave_this_field_blank') }}" /> </xf:if> <xf:comment>Spam catcher field</xf:comment> <xf:if is="{{ rand(0, 2) == 1 }}"> <xf:textboxrow name="password" type="password" autocomplete="off" rowclass="formRow--limited" label="{{ phrase('password') }}" explain="{{ phrase('please_leave_this_field_blank') }}" /> </xf:if> <xf:passwordboxrow name="{{ $regForm.getFieldName('password') }}" autocomplete="new-password" label="{{ phrase('password') }}" hint="{{ phrase('required') }}" required="required" checkstrength="true" /> <xf:macro template="register_macros" name="dob_row" /> <xf:macro template="register_macros" name="location_row" arg-value="{$fields.location}" /> <xf:macro template="register_macros" name="custom_fields" /> <xf:captcharow label="{{ phrase('verification') }}" hint="{{ phrase('required') }}" /> <xf:macro template="register_macros" name="email_choice_row" /> <xf:macro template="register_macros" name="tos_row" /> </div> <xf:macro template="register_macros" name="submit_row" /> </div> <xf:hiddenval name="reg_key">{{ $regForm.getUniqueKey() }}</xf:hiddenval> <xf:hiddenval name="{{ $regForm.getFieldName('timezone') }}" value="" data-xf-init="auto-timezone" /> </xf:form>]]>

</template>


-<template title="search_form" version_string="2.1.0 Release Candidate 2" version_id="2010052" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ phrase('search') }}</xf:title> <xf:page option="uix_mobileActiveNav">{{ phrase('search') }}</xf:page> <xf:head option="robots"><meta name="robots" content="noindex" /></xf:head> <xf:if is="$type"> <xf:breadcrumb href="{{ link('full:search') }}">{{ phrase('search') }}</xf:breadcrumb> </xf:if> <xf:form action="{{ link('search/search') }}" class="block" ajax="true"> <div class="block-container"> <h2 class="block-tabHeader tabs hScroller" data-xf-init="h-scroller"> <span class="hScroller-scroll"> <a href="{{ link('search') }}" class="tabs-tab{{ !$type ? ' is-active' : '' }}">{{ phrase('search_everything') }}</a> <xf:foreach loop="$tabs" key="$tabType" value="$tab"> <a href="{{ link('search', null, {'type': $tabType}) }}" class="tabs-tab{{ $type == $tabType ? ' is-active' : '' }}">{$tab.title}</a> </xf:foreach> <xf:if is="$xf.options.enableTagging"> <a href="{{ link('tags') }}" class="tabs-tab">{{ phrase('search_tags') }}</a> </xf:if> </span> </h2> <div class="block-body"> <xf:include template="{$formTemplateName}" /> </div> <xf:submitrow icon="search" sticky="true" /> </div> <xf:hiddenval name="search_type">{$type}</xf:hiddenval> </xf:form>]]>

</template>


-<template title="select2.less" version_string="2.2.0 Beta 4" version_id="2020034" addon_id="XF" type="public">

<![CDATA[.select2-hidden-accessible { border: 0 !important; clip: rect(0 0 0 0) !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; } .select2 { line-height: normal; *:focus { outline: none; } .select2-selection { padding: 0; margin: 0; display: block; &.input { cursor: text; } ul { list-style: none; margin: 0; padding: 0 5px; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-flex; flex-wrap: wrap; margin-bottom: 5px; > li { &.select2-selection__choice { float: left; font-size: 15px; border-radius: @xf-borderRadiusMedium; .xf-chip(); margin-right: 5px; margin-top: 5px; padding: 0 5px; cursor: default; .select2-selection__choice__remove { font-size: 0; cursor: pointer; &:before { .m-faBase(); font-size: 15px; .m-faContent("@{fa-var-times}\20"); opacity: .5; .m-transition(opacity); margin-right: 3px; font-size: 14px; } &:hover:before { opacity: 1; } } } } .select2-search { flex-grow: 1; min-width: 0; input {.xf-input();} &.select2-search--inline { float: left; } .select2-search__field { border: none; padding: 1px 0; margin-top: 5px; background: transparent; min-width: 100%; max-width: 100%; &:focus { outline: none; } } } } } } .select2-container { display: inline-block; &.select2-container--disabled { .input { .xf-inputDisabled(); } } &.select2-container--open { .select2-dropdown { -ltr-rtl-left: 0; &.select2-dropdown--above { border-bottom: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } &.select2-dropdown--below { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; } } } } .select2-dropdown { border-radius: @xf-borderRadiusSmall; box-sizing: border-box; display: block; position: absolute; -ltr-rtl-left: -100000px; width: 100%; z-index: 1051; padding-top: 2px; &.select2-dropdown--above { padding-bottom: 5px; .select2-results__option.loading-results:not(:last-child) { display: none; } } } .select2-results { } .select2-results__options { display: block; .m-listPlain(); } .select2-results > .select2-results__options { // applies only to the top-level results .m-autoCompleteList(); overflow: auto; max-height: 150px; max-height: ~"max(150px, 50vh)"; -webkit-overflow-scrolling: touch; li[role="group"] { padding: 0; } } .select2-results__options.select2-results__options--nested { margin-left: .8em; li { padding-right: 0; } } .select2-results__group { display: block; padding: @xf-paddingMedium; } .select2-results__option { user-select: none; -webkit-user-select: none; &.select2-results__option--highlighted { background: @xf-contentHighlightBg; } &[aria-disabled="true"] { color: @xf-textColorMuted; } }]]>

</template>


-<template title="setup.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[// Note that this file should never output any CSS directly. It should contain variables and mixins only. // Output should go into core.less. // ################################ VARIABLES ############################### // BLOCKS @block-borderRadius-inner: max(@xf-blockBorderRadius - 1px, 0px); @block-noStripSel: ~'.block-container:not(.block-container--noStripRadius)'; // HELPERS @zIndex-1: 1 * (@xf-zIndexMultiplier); @zIndex-2: 2 * (@xf-zIndexMultiplier); @zIndex-3: 3 * (@xf-zIndexMultiplier); @zIndex-4: 4 * (@xf-zIndexMultiplier); @zIndex-5: 5 * (@xf-zIndexMultiplier); @zIndex-6: 6 * (@xf-zIndexMultiplier); @zIndex-7: 7 * (@xf-zIndexMultiplier); @zIndex-8: 8 * (@xf-zIndexMultiplier); @zIndex-9: 9 * (@xf-zIndexMultiplier); // AVATARS @_avatarBaseSize: 96px; @avatar-xxs: (@_avatarBaseSize) / 4; @avatar-xs: (@_avatarBaseSize) / 3; @avatar-s: (@_avatarBaseSize) / 2; @avatar-m: (@_avatarBaseSize); @avatar-l: (@_avatarBaseSize) * 2; @avatar-o: (@_avatarBaseSize) * 4; @rtl: xf-isRtl; @ltr: xf-isLtr; // DEFAULT FONTAWESOME TYPE @faType: 'Pro'; // FONTAWESOME WEIGHT VALUES @faWeight-light: 300; @faWeight-regular: 400; @faWeight-solid: 900; {{ include('setup_fa.less') }} // TABLES @tablePadding: @xf-paddingSmall; // ####################################### MIXINS ################################## .m-clearFix() { &:before, &:after { content: " "; display: table; } &:after { clear: both; } } .m-hideText() { text-indent: 100%; overflow: hidden; white-space: nowrap; word-wrap: normal; } .m-hyphens(@hyphens: none) { hyphens: @hyphens; -moz-hyphens: @hyphens; -ms-hyphens: @hyphens; -webkit-hyphens: @hyphens; } .m-fadeOutLines(@lines, @bgColor, @lineHeight: @xf-lineHeightDefault) { position: relative; max-height: unit(@lines * @lineHeight, em); overflow: hidden; &:after { content: ''; position: absolute; bottom: 0; right: 0; text-align: right; width: 75%; height: unit(@lineHeight, em); background: linear-gradient(to right, fade(@bgColor, 0%), fade(@bgColor, 100%)); } } .m-overflowEllipsis() { overflow: hidden; white-space: nowrap; word-wrap: normal; text-overflow: ellipsis; } .m-appendColon() { &:after { content: "{$xf.language.label_separator}"; } &.is-sentence:after { content: ""; } } .m-tooltipArrow(@color, @size, @variation: ~'', @fillColor: false) { @{variation}.tooltip--top & { bottom: 0; left: 50%; margin-left: -@size; .m-triangleDown(@color, @size); } @{variation}.tooltip--bottom & { top: 0; left: 50%; margin-left: -@size; .m-triangleUp(@color, @size); } @{variation}.tooltip--right & { top: 50%; left: 0; margin-top: -@size; .m-triangleLeft(@color, @size); } @{variation}.tooltip--left & { top: 50%; right: 0; margin-top: -@size; .m-triangleRight(@color, @size); } & when (iscolor(@fillColor)) { @{variation} &:after { position: absolute; content: ''; } @{variation}.tooltip--top &:after { bottom: 1px; left: -@size + 1px; .m-triangleDown(@fillColor, @size - 1px); } @{variation}.tooltip--bottom &:after { top: 1px; left: -@size + 1px; .m-triangleUp(@fillColor, @size - 1px); } @{variation}.tooltip--right &:after { left: 1px; bottom: -@size + 1px; .m-triangleLeft(@fillColor, @size - 1px); } @{variation}.tooltip--left &:after { right: 1px; bottom: -@size + 1px; .m-triangleRight(@fillColor, @size - 1px); } } } .m-triangleUp(@color; @size) { border: @size solid transparent; border-top-width: 0; border-bottom-color: @color; } .m-triangleDown(@color; @size) { border: @size solid transparent; border-bottom-width: 0; border-top-color: @color; } .m-triangleLeft(@color; @size) { border: @size solid transparent; border-left-width: 0; border-right-color: @color; } .m-triangleRight(@color; @size) { border: @size solid transparent; border-right-width: 0; border-left-color: @color; } .m-dropShadow(@x: 1px; @y: 2px; @blur: 2px; @spread: 0; @alpha: 0.25) { box-shadow: @x @y @blur @spread rgba(0, 0, 0, @alpha); } .m-textOutline(@fillColor: white; @strokeColor: black; @width: 1px;) { -webkit-text-fill-color: @fillColor; -webkit-text-stroke-color: @strokeColor; -webkit-text-stroke-width: @width; } .m-gradient(@startColor; @stopColor; @fallback; @startPos: 0%; @endPos: 100%) { background: @fallback; background: linear-gradient(to bottom, @startColor @startPos, @stopColor @endPos); } .m-gradientHorizontal(@startColor; @stopColor; @fallback; @startPos: 0%; @endPos: 100%) { background: @fallback; & when(@ltr) { background: linear-gradient(to right, @startColor @startPos, @stopColor @endPos); } & when(@rtl) { background: linear-gradient(to left, @startColor @startPos, @stopColor @endPos); } } .m-tabSize(@size: 4) { -moz-tab-size: @size; tab-size: @size; } .m-transition(@props: all; @duration: @xf-animationSpeed; @timing: ease; @delay: 0; @raw-input: false) { // adapted from https://stackoverflow.com/a/20810461 @ScottS .output() when (@raw-input = false) { @propsLength: length(@props); @durationLength: length(@duration); @timingLength: length(@timing); @delayLength: length(@delay); .buildString(@i, @s: ~'') when (@i <= @propsLength) { @prop: extract(@props, @i); .setDuration() when (@i <= @durationLength) { @dur: extract(@duration, @i); } .setDuration() when (@i > @durationLength) { @dur: extract(@duration, @durationLength); } .setDuration(); .setEasing() when (@i <= @timingLength) { @time: extract(@timing, @i); } .setEasing() when (@i > @timingLength) { @time: extract(@timing, @timingLength); } .setEasing(); .setDelay() when (@i <= @delayLength) { @del: extract(@delay, @i); } .setDelay() when (@i > @delayLength) { @del: extract(@delay, @delayLength); } .setDelay(); .setDivider() when (@i > 1) { @divider: ~'@{s},'; } .setDivider() when (@i = 1) { @divider: ~''; } .setDivider(); .buildString((@i + 1), @divider @prop @dur @time); } .buildString(1); .buildString(@i, @s: ~'') when (@i > @propsLength) { .compact(@s); } } .output() when not (@raw-input = false) { .compact(@raw-input); } .compact(@string) { -webkit-transition: @string; //-moz-transition: @string; //-ms-transition: @string; //-o-transition: @string; transition: @string; } .output(); } .m-transitionProperty(@props) { -webkit-transition-property: @props; transition-property: @props; } .m-animation(@props) { -webkit-animation: @props; animation: @props; } .m-transform(@props) { -webkit-transform: @props; -ms-transform: @props; transform: @props; } .m-keyframes(@name, @rules) { @-webkit-keyframes @name { @rules(); } @keyframes @name { @rules(); } } .m-columns(@count; @breakWidth: 0; @gap: 1em) { -moz-column-count: @count; -webkit-column-count: @count; column-count: @count; -moz-column-gap: @gap; -webkit-column-gap: @gap; column-gap: @gap; & when(@breakWidth > 0) { @media (max-width: @breakWidth) { -moz-column-count: 1; -webkit-column-count: 1; column-count: 1; } } } .m-columnBreakAvoid() { -webkit-column-break-inside: avoid; break-inside: avoid-column; page-break-inside: avoid; } .m-borderLeftRadius(@radius) { border-top-left-radius: @radius; border-bottom-left-radius: @radius; } .m-borderRightRadius(@radius) { border-top-right-radius: @radius; border-bottom-right-radius: @radius; } .m-borderTopRadius(@radius) { border-top-left-radius: @radius; border-top-right-radius: @radius; } .m-borderBottomRadius(@radius) { border-bottom-left-radius: @radius; border-bottom-right-radius: @radius; } .m-hiddenLinks() { a { color: inherit; text-decoration: none; &:hover { text-decoration: underline; } } } .m-textColoredLinks() { a { color: inherit; text-decoration: underline; } } .m-placeholder(@rules) { &::-webkit-input-placeholder { @rules(); } &::-moz-placeholder { @rules(); } &:-moz-placeholder { @rules(); } &:-ms-input-placeholder { @rules(); } } .m-autoCompleteList(@wide: false) { .m-listPlain(); cursor: default; .xf-menu(); min-width: 180px; & when(@wide = true) { min-width: 250px; } max-width: 95%; border: @xf-borderSize solid @xf-borderColor; .m-dropShadow(0, 3px, 5px, 0, .3); li { padding: @xf-paddingMedium; line-height: 24px; .m-clearFix(); &.is-selected { background: @xf-contentHighlightBg; } .autoCompleteList-icon { float: left; margin-right: @xf-paddingMedium; width: 24px; height: 24px; } } } .m-listPlain() { list-style: none; margin: 0; padding: 0; } // makes direct children display: inline-block, removing white-space between elements (mostly used on ul > li) .m-inlineBlocks(@fontSize: @xf-fontSizeNormal) { font-size: 0; > * { display: inline-block; font-size: @fontSize; } } .m-tabsTogether(@fontSize: @xf-fontSizeNormal) { font-size: 0; .tabs-tab, .tabs-extra, .hScroller-action { font-size: @fontSize; } } .m-hiddenEl(@transition: true) { display: none; &.is-active { display: block; } & when(@transition = true) { .m-transitionFadeDown(); } } .m-transitionFade(@speed: @xf-animationSpeed) { display: none; opacity: 0; .m-transition(all, -xf-opacity; @speed); &.is-active { display: block; opacity: 1; } &.is-transitioning { display: block; } } .m-transitionFadeDown(@speed: @xf-animationSpeed) { .m-transitionFade(@speed); overflow-y: hidden; height: 0; .m-transitionProperty(all, -xf-height;); &.is-active { height: auto; overflow-y: visible; } &.is-transitioning { overflow-y: hidden; } } .m-visuallyHidden() { position: absolute; height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; clip: rect(0 0 0 0); overflow: hidden; } .m-faBase(@type: @faType; @weight: @xf-fontAwesomeWeight) { .m-defaultFaWeight() when (@type = 'Brands') { @weight: @faWeight-regular; } // else use given @weight .m-defaultFaWeight(); <xf:if is="{{ property('uix_iconFontFamily')}} == 'fontawesome'"> font-family: 'Font Awesome 5 @{type}'; font-size: inherit; font-style: normal; font-weight: @weight; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; <xf:else /> display: inline-block; font: normal normal normal 18px/1 "Material Design Icons"; font-size: 110%; font-weight: normal; // line-height: @fa-line-height-base; line-height: inherit; // transform: translate(0, 0); width: auto; </xf:if> } .m-faContent(@content, @width: false, @direction: false) { & when (@direction = false) { content: @content; } & when (@direction = ltr) { -ltr-content: @content; } & when (@direction = rtl) { -rtl-content: @content; } <xf:if is="{{ property('uix_iconFontFamily')}} == 'fontawesome'"> & when (isnumber(@width)) { width: @width; } & when (@width = false) { width: 1.28571429em; } </xf:if> display: inline-block; text-align: center; } .m-faBefore(@icon, @width: false) { &:before { .m-faContent(@icon, @width); } } .m-faAfter(@icon, @width: false) { &:after { .m-faContent(@icon, @width); } } .m-menuGadget(@separate: false, @faWidth: 1.2em, @faWeight: @faWeight-solid) { .m-faBase(); .m-faContent("@{fa-var-caret-down}", @faWidth); font-weight: @faWeight; font-size: inherit; & when (@separate = true) { margin-left: .2em; } & when (isnumber(@separate)) { margin-left: @separate; } unicode-bidi: isolate; // this is needed to ensure correct positioning in RTL with LTR text } .m-content(@content, @direction: false, @separateDirection: false, @separateWidth: false) { & when (@direction = false) { content: @content; } & when (@direction = ltr) { -ltr-content: @content; } & when (@direction = rtl) { -rtl-content: @content; } & when (@separateDirection = left) { & when (isnumber(@separateWidth)) { margin-right: @separateWidth; } & when not(isnumber(@separateWidth)) { margin-right: .2em; } } & when (@separateDirection = right) { & when (isnumber(@separateWidth)) { margin-left: @separateWidth; } & when not(isnumber(@separateWidth)) { margin-left: .2em; } } } .m-buttonIcon(@icon, @width: false) { & > .button-text { .m-faBefore(@icon, @width); } } .m-avatarSize(@avatarSize) { width: @avatarSize; height: @avatarSize; font-size: round((@avatarSize) * (@xf-avatarDynamicTextPercent / 100)); } .m-buttonBase() { display: inline-block; // maintain this just in case for old browsers display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; border: @xf-borderSize solid transparent; white-space: nowrap; text-decoration: none !important; .m-transition(background-color); .xf-buttonBase(); } .m-buttonColorVariation(@bgColor; @textColor) { color: @textColor; background-color: @bgColor; .m-buttonBorderColorVariation(@bgColor); &:hover, &:active, &:focus { background-color: saturate(xf-intensify(@bgColor, 4%), 12%); } } .m-buttonBlockColorVariationSimple(@color) { .m-buttonBorderColorVariation(@color); &:not(.button--splitTrigger), &.button--splitTrigger > .button-text, &.button--splitTrigger > .button-menu { &:hover, &:focus, &:active { // background-color: saturate(xf-intensify(@color, 4%), 12%); } } } .m-buttonBorderColorVariation(@borderColor) { // border-color: xf-diminish(@borderColor, 5%) xf-intensify(@borderColor, 5%) xf-intensify(@borderColor, 5%) xf-diminish(@borderColor, 5%); border-color: xf-intensify(@borderColor, 8%); &.button--splitTrigger { > .button-text { border-right-color: xf-intensify(@borderColor, 5%); } > .button-menu { border-left-color: xf-diminish(@borderColor, 5%); } } } // this will be replaced by the CSS renderer with the correct background-image rule .m-selectGadgetColor(@color: black) { -xf-select-gadget: @color; } .m-hScrollerActionColorVariation(@background, @text, @textHover) { color: @text; &:hover { color: @textHover; } &.hScroller-action--start { .m-gradientHorizontal(@background, fade(@background, 0%), @background, 66%, 100%); } &.hScroller-action--end { .m-gradientHorizontal(fade(@background, 0%), @background, @background, 0%, 33%); } } // Fix for iOS zoom on input focus. .m-inputZoomFix() { @media (max-width: 568px) { font-size: 16px; } } .m-checkboxAligner() { vertical-align: -2px; } .m-highResolution(@rules) { @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 144dpi) { @rules(); } } .m-fixedWidthFlex(@width) { flex: 0 0 @width; } .m-labelVariation(@color; @bg; @border: false) { color: @color; background: @bg; border-color: xf-intensify(@bg, 10%); & when (iscolor(@border)) { border-color: @border; } a&:hover, a:hover & { background: xf-intensify(@bg, 4%); border-color: xf-intensify(@bg, 14%); & when (iscolor(@border)) { border-color: xf-intensify(@border, 4%); } } } .m-tableBase() { > table { border: none; border-collapse: collapse; empty-cells: show; max-width: 100%; > thead, > tbody { > tr { > th { background: @xf-paletteColor1; border: @xf-borderSize solid @xf-borderColor; border-bottom-color: @xf-borderColorFeature; border-bottom-width: @xf-borderSizeMinorFeature; padding: @tablePadding; } > td { background: @xf-contentBg; border: @xf-borderSize solid @xf-borderColor; padding: @tablePadding; } } } } } .m-backdropFilter(@args) { backdrop-filter: @args; -webkit-backdrop-filter: @args; } .m-blockAligner() { // we want this to still be a block element but to inherit the alignment a user has set - this approximates that [style="text-align: center"] & { margin-left: auto; margin-right: auto; } [style="text-align: left"] & { -ltr-rtl-margin-left: 0; -ltr-rtl-margin-right: auto; } [style="text-align: right"] & { -ltr-rtl-margin-left: auto; -ltr-rtl-margin-right: 0; } } // STICKY HEADER STUFF // Note that to access the height and offset, you need to call the mixin and use the variables locally. @header-navHeight: 2 * (@xf-publicNavPaddingV) + (xf-default(@xf-publicNav--font-size, @xf-fontSizeNormal) * (@xf-lineHeightDefault)); @header-subNavHeight: 2 * (@xf-publicSubNavPaddingV) + (xf-default(@xf-publicSubNav--font-size, @xf-fontSizeNormal) * (@xf-lineHeightDefault)) + xf-default(@xf-publicSubNav--border-top-width, 0) + xf-default(@xf-publicSubNav--border-bottom-width, 0); .m-stickyHeaderConfig(@type) { @_stickyHeader-offset: 10px; @_stickyHeader-height: 0; } .m-stickyHeaderConfig(@type) when(@type = primary) { @_stickyHeader-height: @header-navHeight; } .m-stickyHeaderConfig(@type) when(@type = all) { @_stickyHeader-height: @header-navHeight + @header-subNavHeight; } .m-loadingSpinner() { .is-loading & { opacity: 1; .fa--xf { animation-name: spin; } } .fa--xf { position: absolute; left: ~"calc(50% - 0.5em)"; top: ~"calc(50% - 0.5em)"; animation-duration: 1000ms; animation-iteration-count: infinite; } } {{ include('setup_custom.less') }}]]>

</template>


-<template title="setup_custom.less" version_string="2.1.2" version_id="2010270" addon_id="XF" type="public">

<![CDATA[// This should be used for additional LESS setup code (that does not output anything). // setup.less customizations should be avoided when possible. // ######################## UI.X Variables ###################### // ANIMATIONS // use for incoming elements, or growing elements @uix_moveIn: cubic-bezier(0.0, 0.0, 0.2, 1); // use for exiting elements, or shrinking elements @uix_moveOut: cubic-bezier(0.4, 0.0, 1, 1); // use for growing or moving elements that dont exit/enter the page @uix_move: cubic-bezier(0.4, 0.0, 0.2, 1); // UI.X browser query variables @isIe: ~"(-ms-high-contrast: none), (-ms-high-contrast: active)"; @uix_sidebarNavBreakpoint: {{ property('pageWidthMax') + ( 2 * (property('uix_sidebarNavWidth') + property('elementSpacer')) ) }}px; <xf:set var="$uix_pageEdgeSpacer">{{ property('pageEdgeSpacer') * 2}}px</xf:set> @uix_navigationPaddingV: 8px; // UI.X MIXINS .m-uix_whiteText (@background-color, @color: #fff) when (luma(@background-color) <= 43%) { color: @color; } .m-uix_collapseOverflow() { clip-path: inset(-2px -2px -2px -2px); @media @isIe { overflow: hidden; } } .m-uix_removePageSpacer() { @media (max-width: @xf-responsiveEdgeSpacerRemoval) { margin-left: -@xf-pageEdgeSpacer * .5; margin-right: -@xf-pageEdgeSpacer * .5; border-radius: 0; border-left: none; border-right: none; } } .m-pageSpacerPadding(@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))"; } } */ @media (max-width: @xf-responsiveEdgeSpacerRemoval) { @defaultPadding: @xf-pageEdgeSpacer / 2; 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))"; } } } /* padding-left: @xf-pageEdgeSpacer; padding-right: @xf-pageEdgeSpacer; @media (max-width: @xf-responsiveEdgeSpacerRemoval) { padding-left: {{ property('pageEdgeSpacer') / 2 }}px; padding-right: {{ property('pageEdgeSpacer') / 2 }}px; padding-left: ~"max(10px, env(safe-area-inset-left)) !important"; padding-right: ~"max(10px, env(safe-area-inset-right)) !important"; } */ } .m-pageSpacer() { <xf:if is="property('uix_pageStyle') != 'wrapped'"> width: calc(~"100% - {{$uix_pageEdgeSpacer}}"); </xf:if> @media (max-width: @xf-responsiveEdgeSpacerRemoval) { <xf:if is="property('uix_pageStyle') == 'covered'"> width: calc(~"100% - @xf-pageEdgeSpacer"); <xf:else /> width: 100%; </xf:if> } } .m-pageWidth() { max-width: @xf-pageWidthMax; margin-left: auto; margin-right: auto; width: 100%; .m-pageSpacer(); <xf:if is="property('uix_pageStyle') != 'covered'"> .m-pageSpacerPadding(); </xf:if> transition: max-width 0.2s; @media (max-width: @xf-responsiveWide) { <xf:if is="property('uix_pageStyle') == 'covered'"> padding-left: env(safe-area-inset-left) !important; padding-right: env(safe-area-inset-right) !important; </xf:if> } .uix_page--fluid & { <xf:if is="property('uix_pageStyle') != 'wrapped'"> @media (min-width: @xf-pageWidthMax) { max-width: 100%; } <xf:else /> max-width: 100%; </xf:if> } <xf:if is="(property('uix_navigationType') == 'sidebarNav') && (property('uix_pageStyle') == 'covered')"> @media (max-width: @uix_sidebarNavBreakpoint) { .uix_page--fixed & {max-width: 100%;} #uix_widthToggle--trigger {display: none;} } </xf:if> } .m-pageInset(@defaultPadding: @xf-pageEdgeSpacer) { // here to satisfy global scope only } // Sticky sidebar/sidenav <xf:if is="(property('uix_searchPosition') == 'tablinks') && (property('uix_loginTriggerPosition ') == 'tablinks') && (property('uix_userTabsPosition ') == 'tablinks')"> <xf:set var="$uix_sectionLinkHeight">{{property('uix_sectionLinkHeight')}}</xf:set> <xf:elseif is="property('uix_viewportWidthRemoveSubNav') == '100%'" /> <xf:set var="$uix_sectionLinkHeight">0px</xf:set> <xf:else /> <xf:set var="$uix_sectionLinkHeight">{{property('uix_sectionLinkHeight')}}</xf:set> </xf:if> <xf:if is="property('publicNavSticky') == 'none'"> @uix_navHeight: {{ property('elementSpacer') }}; <xf:elseif is="property('publicNavSticky') == 'primary'" /> @uix_navHeight: {{ property('elementSpacer') + property('uix_stickyNavHeight') }}; <xf:elseif is="property('publicNavSticky') == 'all'" /> @uix_navHeight: {{ property('elementSpacer') + property('uix_stickyNavHeight')}}px + {{$uix_sectionLinkHeight }}; </xf:if>]]>

</template>


-<template title="setup_fa.less" version_string="2.2.2" version_id="2020270" addon_id="XF" type="public">

<![CDATA[{{ include('setup_fa4_variables.less') }} // Variables // -------------------------- @fa-font-path: "styles/fonts/fa"; @fa-font-size-base: 16px; @fa-font-display: block; @fa-line-height-base: 1; @fa-css-prefix: fa; @fa-version: "5.15.1"; @fa-border-color: #eee; @fa-inverse: #fff; @fa-li-width: 2em; @fa-primary-opacity: 1; @fa-secondary-opacity: .4; @fa-var-500px: "\f26e"; @fa-var-abacus: "\f640"; @fa-var-accessible-icon: "\f368"; @fa-var-accusoft: "\f369"; @fa-var-acorn: "\f6ae"; @fa-var-acquisitions-incorporated: "\f6af"; @fa-var-ad: "\f641"; @fa-var-address-book: "\f2b9"; @fa-var-address-card: "\f2bb"; @fa-var-adjust: "\f042"; @fa-var-adn: "\f170"; @fa-var-adversal: "\f36a"; @fa-var-affiliatetheme: "\f36b"; @fa-var-air-conditioner: "\f8f4"; @fa-var-air-freshener: "\f5d0"; @fa-var-airbnb: "\f834"; @fa-var-alarm-clock: "\f34e"; @fa-var-alarm-exclamation: "\f843"; @fa-var-alarm-plus: "\f844"; @fa-var-alarm-snooze: "\f845"; @fa-var-album: "\f89f"; @fa-var-album-collection: "\f8a0"; @fa-var-algolia: "\f36c"; @fa-var-alicorn: "\f6b0"; @fa-var-alien: "\f8f5"; @fa-var-alien-monster: "\f8f6"; @fa-var-align-center: "\f037"; @fa-var-align-justify: "\f039"; @fa-var-align-left: "\f036"; @fa-var-align-right: "\f038"; @fa-var-align-slash: "\f846"; @fa-var-alipay: "\f642"; @fa-var-allergies: "\f461"; @fa-var-amazon: "\f270"; @fa-var-amazon-pay: "\f42c"; @fa-var-ambulance: "\f0f9"; @fa-var-american-sign-language-interpreting: "\f2a3"; @fa-var-amilia: "\f36d"; @fa-var-amp-guitar: "\f8a1"; @fa-var-analytics: "\f643"; @fa-var-anchor: "\f13d"; @fa-var-android: "\f17b"; @fa-var-angel: "\f779"; @fa-var-angellist: "\f209"; @fa-var-angle-double-down: "\f103"; @fa-var-angle-double-left: "\f100"; @fa-var-angle-double-right: "\f101"; @fa-var-angle-double-up: "\f102"; @fa-var-angle-down: "\f107"; @fa-var-angle-left: "\f104"; @fa-var-angle-right: "\f105"; @fa-var-angle-up: "\f106"; @fa-var-angry: "\f556"; @fa-var-angrycreative: "\f36e"; @fa-var-angular: "\f420"; @fa-var-ankh: "\f644"; @fa-var-app-store: "\f36f"; @fa-var-app-store-ios: "\f370"; @fa-var-apper: "\f371"; @fa-var-apple: "\f179"; @fa-var-apple-alt: "\f5d1"; @fa-var-apple-crate: "\f6b1"; @fa-var-apple-pay: "\f415"; @fa-var-archive: "\f187"; @fa-var-archway: "\f557"; @fa-var-arrow-alt-circle-down: "\f358"; @fa-var-arrow-alt-circle-left: "\f359"; @fa-var-arrow-alt-circle-right: "\f35a"; @fa-var-arrow-alt-circle-up: "\f35b"; @fa-var-arrow-alt-down: "\f354"; @fa-var-arrow-alt-from-bottom: "\f346"; @fa-var-arrow-alt-from-left: "\f347"; @fa-var-arrow-alt-from-right: "\f348"; @fa-var-arrow-alt-from-top: "\f349"; @fa-var-arrow-alt-left: "\f355"; @fa-var-arrow-alt-right: "\f356"; @fa-var-arrow-alt-square-down: "\f350"; @fa-var-arrow-alt-square-left: "\f351"; @fa-var-arrow-alt-square-right: "\f352"; @fa-var-arrow-alt-square-up: "\f353"; @fa-var-arrow-alt-to-bottom: "\f34a"; @fa-var-arrow-alt-to-left: "\f34b"; @fa-var-arrow-alt-to-right: "\f34c"; @fa-var-arrow-alt-to-top: "\f34d"; @fa-var-arrow-alt-up: "\f357"; @fa-var-arrow-circle-down: "\f0ab"; @fa-var-arrow-circle-left: "\f0a8"; @fa-var-arrow-circle-right: "\f0a9"; @fa-var-arrow-circle-up: "\f0aa"; @fa-var-arrow-down: "\f063"; @fa-var-arrow-from-bottom: "\f342"; @fa-var-arrow-from-left: "\f343"; @fa-var-arrow-from-right: "\f344"; @fa-var-arrow-from-top: "\f345"; @fa-var-arrow-left: "\f060"; @fa-var-arrow-right: "\f061"; @fa-var-arrow-square-down: "\f339"; @fa-var-arrow-square-left: "\f33a"; @fa-var-arrow-square-right: "\f33b"; @fa-var-arrow-square-up: "\f33c"; @fa-var-arrow-to-bottom: "\f33d"; @fa-var-arrow-to-left: "\f33e"; @fa-var-arrow-to-right: "\f340"; @fa-var-arrow-to-top: "\f341"; @fa-var-arrow-up: "\f062"; @fa-var-arrows: "\f047"; @fa-var-arrows-alt: "\f0b2"; @fa-var-arrows-alt-h: "\f337"; @fa-var-arrows-alt-v: "\f338"; @fa-var-arrows-h: "\f07e"; @fa-var-arrows-v: "\f07d"; @fa-var-artstation: "\f77a"; @fa-var-assistive-listening-systems: "\f2a2"; @fa-var-asterisk: "\f069"; @fa-var-asymmetrik: "\f372"; @fa-var-at: "\f1fa"; @fa-var-atlas: "\f558"; @fa-var-atlassian: "\f77b"; @fa-var-atom: "\f5d2"; @fa-var-atom-alt: "\f5d3"; @fa-var-audible: "\f373"; @fa-var-audio-description: "\f29e"; @fa-var-autoprefixer: "\f41c"; @fa-var-avianex: "\f374"; @fa-var-aviato: "\f421"; @fa-var-award: "\f559"; @fa-var-aws: "\f375"; @fa-var-axe: "\f6b2"; @fa-var-axe-battle: "\f6b3"; @fa-var-baby: "\f77c"; @fa-var-baby-carriage: "\f77d"; @fa-var-backpack: "\f5d4"; @fa-var-backspace: "\f55a"; @fa-var-backward: "\f04a"; @fa-var-bacon: "\f7e5"; @fa-var-bacteria: "\e059"; @fa-var-bacterium: "\e05a"; @fa-var-badge: "\f335"; @fa-var-badge-check: "\f336"; @fa-var-badge-dollar: "\f645"; @fa-var-badge-percent: "\f646"; @fa-var-badge-sheriff: "\f8a2"; @fa-var-badger-honey: "\f6b4"; @fa-var-bags-shopping: "\f847"; @fa-var-bahai: "\f666"; @fa-var-balance-scale: "\f24e"; @fa-var-balance-scale-left: "\f515"; @fa-var-balance-scale-right: "\f516"; @fa-var-ball-pile: "\f77e"; @fa-var-ballot: "\f732"; @fa-var-ballot-check: "\f733"; @fa-var-ban: "\f05e"; @fa-var-band-aid: "\f462"; @fa-var-bandcamp: "\f2d5"; @fa-var-banjo: "\f8a3"; @fa-var-barcode: "\f02a"; @fa-var-barcode-alt: "\f463"; @fa-var-barcode-read: "\f464"; @fa-var-barcode-scan: "\f465"; @fa-var-bars: "\f0c9"; @fa-var-baseball: "\f432"; @fa-var-baseball-ball: "\f433"; @fa-var-basketball-ball: "\f434"; @fa-var-basketball-hoop: "\f435"; @fa-var-bat: "\f6b5"; @fa-var-bath: "\f2cd"; @fa-var-battery-bolt: "\f376"; @fa-var-battery-empty: "\f244"; @fa-var-battery-full: "\f240"; @fa-var-battery-half: "\f242"; @fa-var-battery-quarter: "\f243"; @fa-var-battery-slash: "\f377"; @fa-var-battery-three-quarters: "\f241"; @fa-var-battle-net: "\f835"; @fa-var-bed: "\f236"; @fa-var-bed-alt: "\f8f7"; @fa-var-bed-bunk: "\f8f8"; @fa-var-bed-empty: "\f8f9"; @fa-var-beer: "\f0fc"; @fa-var-behance: "\f1b4"; @fa-var-behance-square: "\f1b5"; @fa-var-bell: "\f0f3"; @fa-var-bell-exclamation: "\f848"; @fa-var-bell-on: "\f8fa"; @fa-var-bell-plus: "\f849"; @fa-var-bell-school: "\f5d5"; @fa-var-bell-school-slash: "\f5d6"; @fa-var-bell-slash: "\f1f6"; @fa-var-bells: "\f77f"; @fa-var-betamax: "\f8a4"; @fa-var-bezier-curve: "\f55b"; @fa-var-bible: "\f647"; @fa-var-bicycle: "\f206"; @fa-var-biking: "\f84a"; @fa-var-biking-mountain: "\f84b"; @fa-var-bimobject: "\f378"; @fa-var-binoculars: "\f1e5"; @fa-var-biohazard: "\f780"; @fa-var-birthday-cake: "\f1fd"; @fa-var-bitbucket: "\f171"; @fa-var-bitcoin: "\f379"; @fa-var-bity: "\f37a"; @fa-var-black-tie: "\f27e"; @fa-var-blackberry: "\f37b"; @fa-var-blanket: "\f498"; @fa-var-blender: "\f517"; @fa-var-blender-phone: "\f6b6"; @fa-var-blind: "\f29d"; @fa-var-blinds: "\f8fb"; @fa-var-blinds-open: "\f8fc"; @fa-var-blinds-raised: "\f8fd"; @fa-var-blog: "\f781"; @fa-var-blogger: "\f37c"; @fa-var-blogger-b: "\f37d"; @fa-var-bluetooth: "\f293"; @fa-var-bluetooth-b: "\f294"; @fa-var-bold: "\f032"; @fa-var-bolt: "\f0e7"; @fa-var-bomb: "\f1e2"; @fa-var-bone: "\f5d7"; @fa-var-bone-break: "\f5d8"; @fa-var-bong: "\f55c"; @fa-var-book: "\f02d"; @fa-var-book-alt: "\f5d9"; @fa-var-book-dead: "\f6b7"; @fa-var-book-heart: "\f499"; @fa-var-book-medical: "\f7e6"; @fa-var-book-open: "\f518"; @fa-var-book-reader: "\f5da"; @fa-var-book-spells: "\f6b8"; @fa-var-book-user: "\f7e7"; @fa-var-bookmark: "\f02e"; @fa-var-books: "\f5db"; @fa-var-books-medical: "\f7e8"; @fa-var-boombox: "\f8a5"; @fa-var-boot: "\f782"; @fa-var-booth-curtain: "\f734"; @fa-var-bootstrap: "\f836"; @fa-var-border-all: "\f84c"; @fa-var-border-bottom: "\f84d"; @fa-var-border-center-h: "\f89c"; @fa-var-border-center-v: "\f89d"; @fa-var-border-inner: "\f84e"; @fa-var-border-left: "\f84f"; @fa-var-border-none: "\f850"; @fa-var-border-outer: "\f851"; @fa-var-border-right: "\f852"; @fa-var-border-style: "\f853"; @fa-var-border-style-alt: "\f854"; @fa-var-border-top: "\f855"; @fa-var-bow-arrow: "\f6b9"; @fa-var-bowling-ball: "\f436"; @fa-var-bowling-pins: "\f437"; @fa-var-box: "\f466"; @fa-var-box-alt: "\f49a"; @fa-var-box-ballot: "\f735"; @fa-var-box-check: "\f467"; @fa-var-box-fragile: "\f49b"; @fa-var-box-full: "\f49c"; @fa-var-box-heart: "\f49d"; @fa-var-box-open: "\f49e"; @fa-var-box-tissue: "\e05b"; @fa-var-box-up: "\f49f"; @fa-var-box-usd: "\f4a0"; @fa-var-boxes: "\f468"; @fa-var-boxes-alt: "\f4a1"; @fa-var-boxing-glove: "\f438"; @fa-var-brackets: "\f7e9"; @fa-var-brackets-curly: "\f7ea"; @fa-var-braille: "\f2a1"; @fa-var-brain: "\f5dc"; @fa-var-bread-loaf: "\f7eb"; @fa-var-bread-slice: "\f7ec"; @fa-var-briefcase: "\f0b1"; @fa-var-briefcase-medical: "\f469"; @fa-var-bring-forward: "\f856"; @fa-var-bring-front: "\f857"; @fa-var-broadcast-tower: "\f519"; @fa-var-broom: "\f51a"; @fa-var-browser: "\f37e"; @fa-var-brush: "\f55d"; @fa-var-btc: "\f15a"; @fa-var-buffer: "\f837"; @fa-var-bug: "\f188"; @fa-var-building: "\f1ad"; @fa-var-bullhorn: "\f0a1"; @fa-var-bullseye: "\f140"; @fa-var-bullseye-arrow: "\f648"; @fa-var-bullseye-pointer: "\f649"; @fa-var-burger-soda: "\f858"; @fa-var-burn: "\f46a"; @fa-var-buromobelexperte: "\f37f"; @fa-var-burrito: "\f7ed"; @fa-var-bus: "\f207"; @fa-var-bus-alt: "\f55e"; @fa-var-bus-school: "\f5dd"; @fa-var-business-time: "\f64a"; @fa-var-buy-n-large: "\f8a6"; @fa-var-buysellads: "\f20d"; @fa-var-cabinet-filing: "\f64b"; @fa-var-cactus: "\f8a7"; @fa-var-calculator: "\f1ec"; @fa-var-calculator-alt: "\f64c"; @fa-var-calendar: "\f133"; @fa-var-calendar-alt: "\f073"; @fa-var-calendar-check: "\f274"; @fa-var-calendar-day: "\f783"; @fa-var-calendar-edit: "\f333"; @fa-var-calendar-exclamation: "\f334"; @fa-var-calendar-minus: "\f272"; @fa-var-calendar-plus: "\f271"; @fa-var-calendar-star: "\f736"; @fa-var-calendar-times: "\f273"; @fa-var-calendar-week: "\f784"; @fa-var-camcorder: "\f8a8"; @fa-var-camera: "\f030"; @fa-var-camera-alt: "\f332"; @fa-var-camera-home: "\f8fe"; @fa-var-camera-movie: "\f8a9"; @fa-var-camera-polaroid: "\f8aa"; @fa-var-camera-retro: "\f083"; @fa-var-campfire: "\f6ba"; @fa-var-campground: "\f6bb"; @fa-var-canadian-maple-leaf: "\f785"; @fa-var-candle-holder: "\f6bc"; @fa-var-candy-cane: "\f786"; @fa-var-candy-corn: "\f6bd"; @fa-var-cannabis: "\f55f"; @fa-var-capsules: "\f46b"; @fa-var-car: "\f1b9"; @fa-var-car-alt: "\f5de"; @fa-var-car-battery: "\f5df"; @fa-var-car-building: "\f859"; @fa-var-car-bump: "\f5e0"; @fa-var-car-bus: "\f85a"; @fa-var-car-crash: "\f5e1"; @fa-var-car-garage: "\f5e2"; @fa-var-car-mechanic: "\f5e3"; @fa-var-car-side: "\f5e4"; @fa-var-car-tilt: "\f5e5"; @fa-var-car-wash: "\f5e6"; @fa-var-caravan: "\f8ff"; @fa-var-caravan-alt: "\e000"; @fa-var-caret-circle-down: "\f32d"; @fa-var-caret-circle-left: "\f32e"; @fa-var-caret-circle-right: "\f330"; @fa-var-caret-circle-up: "\f331"; @fa-var-caret-down: "\f0d7"; @fa-var-caret-left: "\f0d9"; @fa-var-caret-right: "\f0da"; @fa-var-caret-square-down: "\f150"; @fa-var-caret-square-left: "\f191"; @fa-var-caret-square-right: "\f152"; @fa-var-caret-square-up: "\f151"; @fa-var-caret-up: "\f0d8"; @fa-var-carrot: "\f787"; @fa-var-cars: "\f85b"; @fa-var-cart-arrow-down: "\f218"; @fa-var-cart-plus: "\f217"; @fa-var-cash-register: "\f788"; @fa-var-cassette-tape: "\f8ab"; @fa-var-cat: "\f6be"; @fa-var-cat-space: "\e001"; @fa-var-cauldron: "\f6bf"; @fa-var-cc-amazon-pay: "\f42d"; @fa-var-cc-amex: "\f1f3"; @fa-var-cc-apple-pay: "\f416"; @fa-var-cc-diners-club: "\f24c"; @fa-var-cc-discover: "\f1f2"; @fa-var-cc-jcb: "\f24b"; @fa-var-cc-mastercard: "\f1f1"; @fa-var-cc-paypal: "\f1f4"; @fa-var-cc-stripe: "\f1f5"; @fa-var-cc-visa: "\f1f0"; @fa-var-cctv: "\f8ac"; @fa-var-centercode: "\f380"; @fa-var-centos: "\f789"; @fa-var-certificate: "\f0a3"; @fa-var-chair: "\f6c0"; @fa-var-chair-office: "\f6c1"; @fa-var-chalkboard: "\f51b"; @fa-var-chalkboard-teacher: "\f51c"; @fa-var-charging-station: "\f5e7"; @fa-var-chart-area: "\f1fe"; @fa-var-chart-bar: "\f080"; @fa-var-chart-line: "\f201"; @fa-var-chart-line-down: "\f64d"; @fa-var-chart-network: "\f78a"; @fa-var-chart-pie: "\f200"; @fa-var-chart-pie-alt: "\f64e"; @fa-var-chart-scatter: "\f7ee"; @fa-var-check: "\f00c"; @fa-var-check-circle: "\f058"; @fa-var-check-double: "\f560"; @fa-var-check-square: "\f14a"; @fa-var-cheese: "\f7ef"; @fa-var-cheese-swiss: "\f7f0"; @fa-var-cheeseburger: "\f7f1"; @fa-var-chess: "\f439"; @fa-var-chess-bishop: "\f43a"; @fa-var-chess-bishop-alt: "\f43b"; @fa-var-chess-board: "\f43c"; @fa-var-chess-clock: "\f43d"; @fa-var-chess-clock-alt: "\f43e"; @fa-var-chess-king: "\f43f"; @fa-var-chess-king-alt: "\f440"; @fa-var-chess-knight: "\f441"; @fa-var-chess-knight-alt: "\f442"; @fa-var-chess-pawn: "\f443"; @fa-var-chess-pawn-alt: "\f444"; @fa-var-chess-queen: "\f445"; @fa-var-chess-queen-alt: "\f446"; @fa-var-chess-rook: "\f447"; @fa-var-chess-rook-alt: "\f448"; @fa-var-chevron-circle-down: "\f13a"; @fa-var-chevron-circle-left: "\f137"; @fa-var-chevron-circle-right: "\f138"; @fa-var-chevron-circle-up: "\f139"; @fa-var-chevron-double-down: "\f322"; @fa-var-chevron-double-left: "\f323"; @fa-var-chevron-double-right: "\f324"; @fa-var-chevron-double-up: "\f325"; @fa-var-chevron-down: "\f078"; @fa-var-chevron-left: "\f053"; @fa-var-chevron-right: "\f054"; @fa-var-chevron-square-down: "\f329"; @fa-var-chevron-square-left: "\f32a"; @fa-var-chevron-square-right: "\f32b"; @fa-var-chevron-square-up: "\f32c"; @fa-var-chevron-up: "\f077"; @fa-var-child: "\f1ae"; @fa-var-chimney: "\f78b"; @fa-var-chrome: "\f268"; @fa-var-chromecast: "\f838"; @fa-var-church: "\f51d"; @fa-var-circle: "\f111"; @fa-var-circle-notch: "\f1ce"; @fa-var-city: "\f64f"; @fa-var-clarinet: "\f8ad"; @fa-var-claw-marks: "\f6c2"; @fa-var-clinic-medical: "\f7f2"; @fa-var-clipboard: "\f328"; @fa-var-clipboard-check: "\f46c"; @fa-var-clipboard-list: "\f46d"; @fa-var-clipboard-list-check: "\f737"; @fa-var-clipboard-prescription: "\f5e8"; @fa-var-clipboard-user: "\f7f3"; @fa-var-clock: "\f017"; @fa-var-clone: "\f24d"; @fa-var-closed-captioning: "\f20a"; @fa-var-cloud: "\f0c2"; @fa-var-cloud-download: "\f0ed"; @fa-var-cloud-download-alt: "\f381"; @fa-var-cloud-drizzle: "\f738"; @fa-var-cloud-hail: "\f739"; @fa-var-cloud-hail-mixed: "\f73a"; @fa-var-cloud-meatball: "\f73b"; @fa-var-cloud-moon: "\f6c3"; @fa-var-cloud-moon-rain: "\f73c"; @fa-var-cloud-music: "\f8ae"; @fa-var-cloud-rain: "\f73d"; @fa-var-cloud-rainbow: "\f73e"; @fa-var-cloud-showers: "\f73f"; @fa-var-cloud-showers-heavy: "\f740"; @fa-var-cloud-sleet: "\f741"; @fa-var-cloud-snow: "\f742"; @fa-var-cloud-sun: "\f6c4"; @fa-var-cloud-sun-rain: "\f743"; @fa-var-cloud-upload: "\f0ee"; @fa-var-cloud-upload-alt: "\f382"; @fa-var-cloudflare: "\e07d"; @fa-var-clouds: "\f744"; @fa-var-clouds-moon: "\f745"; @fa-var-clouds-sun: "\f746"; @fa-var-cloudscale: "\f383"; @fa-var-cloudsmith: "\f384"; @fa-var-cloudversify: "\f385"; @fa-var-club: "\f327"; @fa-var-cocktail: "\f561"; @fa-var-code: "\f121"; @fa-var-code-branch: "\f126"; @fa-var-code-commit: "\f386"; @fa-var-code-merge: "\f387"; @fa-var-codepen: "\f1cb"; @fa-var-codiepie: "\f284"; @fa-var-coffee: "\f0f4"; @fa-var-coffee-pot: "\e002"; @fa-var-coffee-togo: "\f6c5"; @fa-var-coffin: "\f6c6"; @fa-var-coffin-cross: "\e051"; @fa-var-cog: "\f013"; @fa-var-cogs: "\f085"; @fa-var-coin: "\f85c"; @fa-var-coins: "\f51e"; @fa-var-columns: "\f0db"; @fa-var-comet: "\e003"; @fa-var-comment: "\f075"; @fa-var-comment-alt: "\f27a"; @fa-var-comment-alt-check: "\f4a2"; @fa-var-comment-alt-dollar: "\f650"; @fa-var-comment-alt-dots: "\f4a3"; @fa-var-comment-alt-edit: "\f4a4"; @fa-var-comment-alt-exclamation: "\f4a5"; @fa-var-comment-alt-lines: "\f4a6"; @fa-var-comment-alt-medical: "\f7f4"; @fa-var-comment-alt-minus: "\f4a7"; @fa-var-comment-alt-music: "\f8af"; @fa-var-comment-alt-plus: "\f4a8"; @fa-var-comment-alt-slash: "\f4a9"; @fa-var-comment-alt-smile: "\f4aa"; @fa-var-comment-alt-times: "\f4ab"; @fa-var-comment-check: "\f4ac"; @fa-var-comment-dollar: "\f651"; @fa-var-comment-dots: "\f4ad"; @fa-var-comment-edit: "\f4ae"; @fa-var-comment-exclamation: "\f4af"; @fa-var-comment-lines: "\f4b0"; @fa-var-comment-medical: "\f7f5"; @fa-var-comment-minus: "\f4b1"; @fa-var-comment-music: "\f8b0"; @fa-var-comment-plus: "\f4b2"; @fa-var-comment-slash: "\f4b3"; @fa-var-comment-smile: "\f4b4"; @fa-var-comment-times: "\f4b5"; @fa-var-comments: "\f086"; @fa-var-comments-alt: "\f4b6"; @fa-var-comments-alt-dollar: "\f652"; @fa-var-comments-dollar: "\f653"; @fa-var-compact-disc: "\f51f"; @fa-var-compass: "\f14e"; @fa-var-compass-slash: "\f5e9"; @fa-var-compress: "\f066"; @fa-var-compress-alt: "\f422"; @fa-var-compress-arrows-alt: "\f78c"; @fa-var-compress-wide: "\f326"; @fa-var-computer-classic: "\f8b1"; @fa-var-computer-speaker: "\f8b2"; @fa-var-concierge-bell: "\f562"; @fa-var-confluence: "\f78d"; @fa-var-connectdevelop: "\f20e"; @fa-var-construction: "\f85d"; @fa-var-container-storage: "\f4b7"; @fa-var-contao: "\f26d"; @fa-var-conveyor-belt: "\f46e"; @fa-var-conveyor-belt-alt: "\f46f"; @fa-var-cookie: "\f563"; @fa-var-cookie-bite: "\f564"; @fa-var-copy: "\f0c5"; @fa-var-copyright: "\f1f9"; @fa-var-corn: "\f6c7"; @fa-var-cotton-bureau: "\f89e"; @fa-var-couch: "\f4b8"; @fa-var-cow: "\f6c8"; @fa-var-cowbell: "\f8b3"; @fa-var-cowbell-more: "\f8b4"; @fa-var-cpanel: "\f388"; @fa-var-creative-commons: "\f25e"; @fa-var-creative-commons-by: "\f4e7"; @fa-var-creative-commons-nc: "\f4e8"; @fa-var-creative-commons-nc-eu: "\f4e9"; @fa-var-creative-commons-nc-jp: "\f4ea"; @fa-var-creative-commons-nd: "\f4eb"; @fa-var-creative-commons-pd: "\f4ec"; @fa-var-creative-commons-pd-alt: "\f4ed"; @fa-var-creative-commons-remix: "\f4ee"; @fa-var-creative-commons-sa: "\f4ef"; @fa-var-creative-commons-sampling: "\f4f0"; @fa-var-creative-commons-sampling-plus: "\f4f1"; @fa-var-creative-commons-share: "\f4f2"; @fa-var-creative-commons-zero: "\f4f3"; @fa-var-credit-card: "\f09d"; @fa-var-credit-card-blank: "\f389"; @fa-var-credit-card-front: "\f38a"; @fa-var-cricket: "\f449"; @fa-var-critical-role: "\f6c9"; @fa-var-croissant: "\f7f6"; @fa-var-crop: "\f125"; @fa-var-crop-alt: "\f565"; @fa-var-cross: "\f654"; @fa-var-crosshairs: "\f05b"; @fa-var-crow: "\f520"; @fa-var-crown: "\f521"; @fa-var-crutch: "\f7f7"; @fa-var-crutches: "\f7f8"; @fa-var-css3: "\f13c"; @fa-var-css3-alt: "\f38b"; @fa-var-cube: "\f1b2"; @fa-var-cubes: "\f1b3"; @fa-var-curling: "\f44a"; @fa-var-cut: "\f0c4"; @fa-var-cuttlefish: "\f38c"; @fa-var-d-and-d: "\f38d"; @fa-var-d-and-d-beyond: "\f6ca"; @fa-var-dagger: "\f6cb"; @fa-var-dailymotion: "\e052"; @fa-var-dashcube: "\f210"; @fa-var-database: "\f1c0"; @fa-var-deaf: "\f2a4"; @fa-var-debug: "\f7f9"; @fa-var-deer: "\f78e"; @fa-var-deer-rudolph: "\f78f"; @fa-var-deezer: "\e077"; @fa-var-delicious: "\f1a5"; @fa-var-democrat: "\f747"; @fa-var-deploydog: "\f38e"; @fa-var-deskpro: "\f38f"; @fa-var-desktop: "\f108"; @fa-var-desktop-alt: "\f390"; @fa-var-dev: "\f6cc"; @fa-var-deviantart: "\f1bd"; @fa-var-dewpoint: "\f748"; @fa-var-dharmachakra: "\f655"; @fa-var-dhl: "\f790"; @fa-var-diagnoses: "\f470"; @fa-var-diamond: "\f219"; @fa-var-diaspora: "\f791"; @fa-var-dice: "\f522"; @fa-var-dice-d10: "\f6cd"; @fa-var-dice-d12: "\f6ce"; @fa-var-dice-d20: "\f6cf"; @fa-var-dice-d4: "\f6d0"; @fa-var-dice-d6: "\f6d1"; @fa-var-dice-d8: "\f6d2"; @fa-var-dice-five: "\f523"; @fa-var-dice-four: "\f524"; @fa-var-dice-one: "\f525"; @fa-var-dice-six: "\f526"; @fa-var-dice-three: "\f527"; @fa-var-dice-two: "\f528"; @fa-var-digg: "\f1a6"; @fa-var-digging: "\f85e"; @fa-var-digital-ocean: "\f391"; @fa-var-digital-tachograph: "\f566"; @fa-var-diploma: "\f5ea"; @fa-var-directions: "\f5eb"; @fa-var-disc-drive: "\f8b5"; @fa-var-discord: "\f392"; @fa-var-discourse: "\f393"; @fa-var-disease: "\f7fa"; @fa-var-divide: "\f529"; @fa-var-dizzy: "\f567"; @fa-var-dna: "\f471"; @fa-var-do-not-enter: "\f5ec"; @fa-var-dochub: "\f394"; @fa-var-docker: "\f395"; @fa-var-dog: "\f6d3"; @fa-var-dog-leashed: "\f6d4"; @fa-var-dollar-sign: "\f155"; @fa-var-dolly: "\f472"; @fa-var-dolly-empty: "\f473"; @fa-var-dolly-flatbed: "\f474"; @fa-var-dolly-flatbed-alt: "\f475"; @fa-var-dolly-flatbed-empty: "\f476"; @fa-var-donate: "\f4b9"; @fa-var-door-closed: "\f52a"; @fa-var-door-open: "\f52b"; @fa-var-dot-circle: "\f192"; @fa-var-dove: "\f4ba"; @fa-var-download: "\f019"; @fa-var-draft2digital: "\f396"; @fa-var-drafting-compass: "\f568"; @fa-var-dragon: "\f6d5"; @fa-var-draw-circle: "\f5ed"; @fa-var-draw-polygon: "\f5ee"; @fa-var-draw-square: "\f5ef"; @fa-var-dreidel: "\f792"; @fa-var-dribbble: "\f17d"; @fa-var-dribbble-square: "\f397"; @fa-var-drone: "\f85f"; @fa-var-drone-alt: "\f860"; @fa-var-dropbox: "\f16b"; @fa-var-drum: "\f569"; @fa-var-drum-steelpan: "\f56a"; @fa-var-drumstick: "\f6d6"; @fa-var-drumstick-bite: "\f6d7"; @fa-var-drupal: "\f1a9"; @fa-var-dryer: "\f861"; @fa-var-dryer-alt: "\f862"; @fa-var-duck: "\f6d8"; @fa-var-dumbbell: "\f44b"; @fa-var-dumpster: "\f793"; @fa-var-dumpster-fire: "\f794"; @fa-var-dungeon: "\f6d9"; @fa-var-dyalog: "\f399"; @fa-var-ear: "\f5f0"; @fa-var-ear-muffs: "\f795"; @fa-var-earlybirds: "\f39a"; @fa-var-ebay: "\f4f4"; @fa-var-eclipse: "\f749"; @fa-var-eclipse-alt: "\f74a"; @fa-var-edge: "\f282"; @fa-var-edge-legacy: "\e078"; @fa-var-edit: "\f044"; @fa-var-egg: "\f7fb"; @fa-var-egg-fried: "\f7fc"; @fa-var-eject: "\f052"; @fa-var-elementor: "\f430"; @fa-var-elephant: "\f6da"; @fa-var-ellipsis-h: "\f141"; @fa-var-ellipsis-h-alt: "\f39b"; @fa-var-ellipsis-v: "\f142"; @fa-var-ellipsis-v-alt: "\f39c"; @fa-var-ello: "\f5f1"; @fa-var-ember: "\f423"; @fa-var-empire: "\f1d1"; @fa-var-empty-set: "\f656"; @fa-var-engine-warning: "\f5f2"; @fa-var-envelope: "\f0e0"; @fa-var-envelope-open: "\f2b6"; @fa-var-envelope-open-dollar: "\f657"; @fa-var-envelope-open-text: "\f658"; @fa-var-envelope-square: "\f199"; @fa-var-envira: "\f299"; @fa-var-equals: "\f52c"; @fa-var-eraser: "\f12d"; @fa-var-erlang: "\f39d"; @fa-var-ethereum: "\f42e"; @fa-var-ethernet: "\f796"; @fa-var-etsy: "\f2d7"; @fa-var-euro-sign: "\f153"; @fa-var-evernote: "\f839"; @fa-var-exchange: "\f0ec"; @fa-var-exchange-alt: "\f362"; @fa-var-exclamation: "\f12a"; @fa-var-exclamation-circle: "\f06a"; @fa-var-exclamation-square: "\f321"; @fa-var-exclamation-triangle: "\f071"; @fa-var-expand: "\f065"; @fa-var-expand-alt: "\f424"; @fa-var-expand-arrows: "\f31d"; @fa-var-expand-arrows-alt: "\f31e"; @fa-var-expand-wide: "\f320"; @fa-var-expeditedssl: "\f23e"; @fa-var-external-link: "\f08e"; @fa-var-external-link-alt: "\f35d"; @fa-var-external-link-square: "\f14c"; @fa-var-external-link-square-alt: "\f360"; @fa-var-eye: "\f06e"; @fa-var-eye-dropper: "\f1fb"; @fa-var-eye-evil: "\f6db"; @fa-var-eye-slash: "\f070"; @fa-var-facebook: "\f09a"; @fa-var-facebook-f: "\f39e"; @fa-var-facebook-messenger: "\f39f"; @fa-var-facebook-square: "\f082"; @fa-var-fan: "\f863"; @fa-var-fan-table: "\e004"; @fa-var-fantasy-flight-games: "\f6dc"; @fa-var-farm: "\f864"; @fa-var-fast-backward: "\f049"; @fa-var-fast-forward: "\f050"; @fa-var-faucet: "\e005"; @fa-var-faucet-drip: "\e006"; @fa-var-fax: "\f1ac"; @fa-var-feather: "\f52d"; @fa-var-feather-alt: "\f56b"; @fa-var-fedex: "\f797"; @fa-var-fedora: "\f798"; @fa-var-female: "\f182"; @fa-var-field-hockey: "\f44c"; @fa-var-fighter-jet: "\f0fb"; @fa-var-figma: "\f799"; @fa-var-file: "\f15b"; @fa-var-file-alt: "\f15c"; @fa-var-file-archive: "\f1c6"; @fa-var-file-audio: "\f1c7"; @fa-var-file-certificate: "\f5f3"; @fa-var-file-chart-line: "\f659"; @fa-var-file-chart-pie: "\f65a"; @fa-var-file-check: "\f316"; @fa-var-file-code: "\f1c9"; @fa-var-file-contract: "\f56c"; @fa-var-file-csv: "\f6dd"; @fa-var-file-download: "\f56d"; @fa-var-file-edit: "\f31c"; @fa-var-file-excel: "\f1c3"; @fa-var-file-exclamation: "\f31a"; @fa-var-file-export: "\f56e"; @fa-var-file-image: "\f1c5"; @fa-var-file-import: "\f56f"; @fa-var-file-invoice: "\f570"; @fa-var-file-invoice-dollar: "\f571"; @fa-var-file-medical: "\f477"; @fa-var-file-medical-alt: "\f478"; @fa-var-file-minus: "\f318"; @fa-var-file-music: "\f8b6"; @fa-var-file-pdf: "\f1c1"; @fa-var-file-plus: "\f319"; @fa-var-file-powerpoint: "\f1c4"; @fa-var-file-prescription: "\f572"; @fa-var-file-search: "\f865"; @fa-var-file-signature: "\f573"; @fa-var-file-spreadsheet: "\f65b"; @fa-var-file-times: "\f317"; @fa-var-file-upload: "\f574"; @fa-var-file-user: "\f65c"; @fa-var-file-video: "\f1c8"; @fa-var-file-word: "\f1c2"; @fa-var-files-medical: "\f7fd"; @fa-var-fill: "\f575"; @fa-var-fill-drip: "\f576"; @fa-var-film: "\f008"; @fa-var-film-alt: "\f3a0"; @fa-var-film-canister: "\f8b7"; @fa-var-filter: "\f0b0"; @fa-var-fingerprint: "\f577"; @fa-var-fire: "\f06d"; @fa-var-fire-alt: "\f7e4"; @fa-var-fire-extinguisher: "\f134"; @fa-var-fire-smoke: "\f74b"; @fa-var-firefox: "\f269"; @fa-var-firefox-browser: "\e007"; @fa-var-fireplace: "\f79a"; @fa-var-first-aid: "\f479"; @fa-var-first-order: "\f2b0"; @fa-var-first-order-alt: "\f50a"; @fa-var-firstdraft: "\f3a1"; @fa-var-fish: "\f578"; @fa-var-fish-cooked: "\f7fe"; @fa-var-fist-raised: "\f6de"; @fa-var-flag: "\f024"; @fa-var-flag-alt: "\f74c"; @fa-var-flag-checkered: "\f11e"; @fa-var-flag-usa: "\f74d"; @fa-var-flame: "\f6df"; @fa-var-flashlight: "\f8b8"; @fa-var-flask: "\f0c3"; @fa-var-flask-poison: "\f6e0"; @fa-var-flask-potion: "\f6e1"; @fa-var-flickr: "\f16e"; @fa-var-flipboard: "\f44d"; @fa-var-flower: "\f7ff"; @fa-var-flower-daffodil: "\f800"; @fa-var-flower-tulip: "\f801"; @fa-var-flushed: "\f579"; @fa-var-flute: "\f8b9"; @fa-var-flux-capacitor: "\f8ba"; @fa-var-fly: "\f417"; @fa-var-fog: "\f74e"; @fa-var-folder: "\f07b"; @fa-var-folder-download: "\e053"; @fa-var-folder-minus: "\f65d"; @fa-var-folder-open: "\f07c"; @fa-var-folder-plus: "\f65e"; @fa-var-folder-times: "\f65f"; @fa-var-folder-tree: "\f802"; @fa-var-folder-upload: "\e054"; @fa-var-folders: "\f660"; @fa-var-font: "\f031"; @fa-var-font-awesome: "\f2b4"; @fa-var-font-awesome-alt: "\f35c"; @fa-var-font-awesome-flag: "\f425"; @fa-var-font-awesome-logo-full: "\f4e6"; @fa-var-font-case: "\f866"; @fa-var-fonticons: "\f280"; @fa-var-fonticons-fi: "\f3a2"; @fa-var-football-ball: "\f44e"; @fa-var-football-helmet: "\f44f"; @fa-var-forklift: "\f47a"; @fa-var-fort-awesome: "\f286"; @fa-var-fort-awesome-alt: "\f3a3"; @fa-var-forumbee: "\f211"; @fa-var-forward: "\f04e"; @fa-var-foursquare: "\f180"; @fa-var-fragile: "\f4bb"; @fa-var-free-code-camp: "\f2c5"; @fa-var-freebsd: "\f3a4"; @fa-var-french-fries: "\f803"; @fa-var-frog: "\f52e"; @fa-var-frosty-head: "\f79b"; @fa-var-frown: "\f119"; @fa-var-frown-open: "\f57a"; @fa-var-fulcrum: "\f50b"; @fa-var-function: "\f661"; @fa-var-funnel-dollar: "\f662"; @fa-var-futbol: "\f1e3"; @fa-var-galactic-republic: "\f50c"; @fa-var-galactic-senate: "\f50d"; @fa-var-galaxy: "\e008"; @fa-var-game-board: "\f867"; @fa-var-game-board-alt: "\f868"; @fa-var-game-console-handheld: "\f8bb"; @fa-var-gamepad: "\f11b"; @fa-var-gamepad-alt: "\f8bc"; @fa-var-garage: "\e009"; @fa-var-garage-car: "\e00a"; @fa-var-garage-open: "\e00b"; @fa-var-gas-pump: "\f52f"; @fa-var-gas-pump-slash: "\f5f4"; @fa-var-gavel: "\f0e3"; @fa-var-gem: "\f3a5"; @fa-var-genderless: "\f22d"; @fa-var-get-pocket: "\f265"; @fa-var-gg: "\f260"; @fa-var-gg-circle: "\f261"; @fa-var-ghost: "\f6e2"; @fa-var-gift: "\f06b"; @fa-var-gift-card: "\f663"; @fa-var-gifts: "\f79c"; @fa-var-gingerbread-man: "\f79d"; @fa-var-git: "\f1d3"; @fa-var-git-alt: "\f841"; @fa-var-git-square: "\f1d2"; @fa-var-github: "\f09b"; @fa-var-github-alt: "\f113"; @fa-var-github-square: "\f092"; @fa-var-gitkraken: "\f3a6"; @fa-var-gitlab: "\f296"; @fa-var-gitter: "\f426"; @fa-var-glass: "\f804"; @fa-var-glass-champagne: "\f79e"; @fa-var-glass-cheers: "\f79f"; @fa-var-glass-citrus: "\f869"; @fa-var-glass-martini: "\f000"; @fa-var-glass-martini-alt: "\f57b"; @fa-var-glass-whiskey: "\f7a0"; @fa-var-glass-whiskey-rocks: "\f7a1"; @fa-var-glasses: "\f530"; @fa-var-glasses-alt: "\f5f5"; @fa-var-glide: "\f2a5"; @fa-var-glide-g: "\f2a6"; @fa-var-globe: "\f0ac"; @fa-var-globe-africa: "\f57c"; @fa-var-globe-americas: "\f57d"; @fa-var-globe-asia: "\f57e"; @fa-var-globe-europe: "\f7a2"; @fa-var-globe-snow: "\f7a3"; @fa-var-globe-stand: "\f5f6"; @fa-var-gofore: "\f3a7"; @fa-var-golf-ball: "\f450"; @fa-var-golf-club: "\f451"; @fa-var-goodreads: "\f3a8"; @fa-var-goodreads-g: "\f3a9"; @fa-var-google: "\f1a0"; @fa-var-google-drive: "\f3aa"; @fa-var-google-pay: "\e079"; @fa-var-google-play: "\f3ab"; @fa-var-google-plus: "\f2b3"; @fa-var-google-plus-g: "\f0d5"; @fa-var-google-plus-square: "\f0d4"; @fa-var-google-wallet: "\f1ee"; @fa-var-gopuram: "\f664"; @fa-var-graduation-cap: "\f19d"; @fa-var-gramophone: "\f8bd"; @fa-var-gratipay: "\f184"; @fa-var-grav: "\f2d6"; @fa-var-greater-than: "\f531"; @fa-var-greater-than-equal: "\f532"; @fa-var-grimace: "\f57f"; @fa-var-grin: "\f580"; @fa-var-grin-alt: "\f581"; @fa-var-grin-beam: "\f582"; @fa-var-grin-beam-sweat: "\f583"; @fa-var-grin-hearts: "\f584"; @fa-var-grin-squint: "\f585"; @fa-var-grin-squint-tears: "\f586"; @fa-var-grin-stars: "\f587"; @fa-var-grin-tears: "\f588"; @fa-var-grin-tongue: "\f589"; @fa-var-grin-tongue-squint: "\f58a"; @fa-var-grin-tongue-wink: "\f58b"; @fa-var-grin-wink: "\f58c"; @fa-var-grip-horizontal: "\f58d"; @fa-var-grip-lines: "\f7a4"; @fa-var-grip-lines-vertical: "\f7a5"; @fa-var-grip-vertical: "\f58e"; @fa-var-gripfire: "\f3ac"; @fa-var-grunt: "\f3ad"; @fa-var-guilded: "\e07e"; @fa-var-guitar: "\f7a6"; @fa-var-guitar-electric: "\f8be"; @fa-var-guitars: "\f8bf"; @fa-var-gulp: "\f3ae"; @fa-var-h-square: "\f0fd"; @fa-var-h1: "\f313"; @fa-var-h2: "\f314"; @fa-var-h3: "\f315"; @fa-var-h4: "\f86a"; @fa-var-hacker-news: "\f1d4"; @fa-var-hacker-news-square: "\f3af"; @fa-var-hackerrank: "\f5f7"; @fa-var-hamburger: "\f805"; @fa-var-hammer: "\f6e3"; @fa-var-hammer-war: "\f6e4"; @fa-var-hamsa: "\f665"; @fa-var-hand-heart: "\f4bc"; @fa-var-hand-holding: "\f4bd"; @fa-var-hand-holding-box: "\f47b"; @fa-var-hand-holding-heart: "\f4be"; @fa-var-hand-holding-magic: "\f6e5"; @fa-var-hand-holding-medical: "\e05c"; @fa-var-hand-holding-seedling: "\f4bf"; @fa-var-hand-holding-usd: "\f4c0"; @fa-var-hand-holding-water: "\f4c1"; @fa-var-hand-lizard: "\f258"; @fa-var-hand-middle-finger: "\f806"; @fa-var-hand-paper: "\f256"; @fa-var-hand-peace: "\f25b"; @fa-var-hand-point-down: "\f0a7"; @fa-var-hand-point-left: "\f0a5"; @fa-var-hand-point-right: "\f0a4"; @fa-var-hand-point-up: "\f0a6"; @fa-var-hand-pointer: "\f25a"; @fa-var-hand-receiving: "\f47c"; @fa-var-hand-rock: "\f255"; @fa-var-hand-scissors: "\f257"; @fa-var-hand-sparkles: "\e05d"; @fa-var-hand-spock: "\f259"; @fa-var-hands: "\f4c2"; @fa-var-hands-heart: "\f4c3"; @fa-var-hands-helping: "\f4c4"; @fa-var-hands-usd: "\f4c5"; @fa-var-hands-wash: "\e05e"; @fa-var-handshake: "\f2b5"; @fa-var-handshake-alt: "\f4c6"; @fa-var-handshake-alt-slash: "\e05f"; @fa-var-handshake-slash: "\e060"; @fa-var-hanukiah: "\f6e6"; @fa-var-hard-hat: "\f807"; @fa-var-hashtag: "\f292"; @fa-var-hat-chef: "\f86b"; @fa-var-hat-cowboy: "\f8c0"; @fa-var-hat-cowboy-side: "\f8c1"; @fa-var-hat-santa: "\f7a7"; @fa-var-hat-winter: "\f7a8"; @fa-var-hat-witch: "\f6e7"; @fa-var-hat-wizard: "\f6e8"; @fa-var-hdd: "\f0a0"; @fa-var-head-side: "\f6e9"; @fa-var-head-side-brain: "\f808"; @fa-var-head-side-cough: "\e061"; @fa-var-head-side-cough-slash: "\e062"; @fa-var-head-side-headphones: "\f8c2"; @fa-var-head-side-mask: "\e063"; @fa-var-head-side-medical: "\f809"; @fa-var-head-side-virus: "\e064"; @fa-var-head-vr: "\f6ea"; @fa-var-heading: "\f1dc"; @fa-var-headphones: "\f025"; @fa-var-headphones-alt: "\f58f"; @fa-var-headset: "\f590"; @fa-var-heart: "\f004"; @fa-var-heart-broken: "\f7a9"; @fa-var-heart-circle: "\f4c7"; @fa-var-heart-rate: "\f5f8"; @fa-var-heart-square: "\f4c8"; @fa-var-heartbeat: "\f21e"; @fa-var-heat: "\e00c"; @fa-var-helicopter: "\f533"; @fa-var-helmet-battle: "\f6eb"; @fa-var-hexagon: "\f312"; @fa-var-highlighter: "\f591"; @fa-var-hiking: "\f6ec"; @fa-var-hippo: "\f6ed"; @fa-var-hips: "\f452"; @fa-var-hire-a-helper: "\f3b0"; @fa-var-history: "\f1da"; @fa-var-hive: "\e07f"; @fa-var-hockey-mask: "\f6ee"; @fa-var-hockey-puck: "\f453"; @fa-var-hockey-sticks: "\f454"; @fa-var-holly-berry: "\f7aa"; @fa-var-home: "\f015"; @fa-var-home-alt: "\f80a"; @fa-var-home-heart: "\f4c9"; @fa-var-home-lg: "\f80b"; @fa-var-home-lg-alt: "\f80c"; @fa-var-hood-cloak: "\f6ef"; @fa-var-hooli: "\f427"; @fa-var-horizontal-rule: "\f86c"; @fa-var-hornbill: "\f592"; @fa-var-horse: "\f6f0"; @fa-var-horse-head: "\f7ab"; @fa-var-horse-saddle: "\f8c3"; @fa-var-hospital: "\f0f8"; @fa-var-hospital-alt: "\f47d"; @fa-var-hospital-symbol: "\f47e"; @fa-var-hospital-user: "\f80d"; @fa-var-hospitals: "\f80e"; @fa-var-hot-tub: "\f593"; @fa-var-hotdog: "\f80f"; @fa-var-hotel: "\f594"; @fa-var-hotjar: "\f3b1"; @fa-var-hourglass: "\f254"; @fa-var-hourglass-end: "\f253"; @fa-var-hourglass-half: "\f252"; @fa-var-hourglass-start: "\f251"; @fa-var-house: "\e00d"; @fa-var-house-damage: "\f6f1"; @fa-var-house-day: "\e00e"; @fa-var-house-flood: "\f74f"; @fa-var-house-leave: "\e00f"; @fa-var-house-night: "\e010"; @fa-var-house-return: "\e011"; @fa-var-house-signal: "\e012"; @fa-var-house-user: "\e065"; @fa-var-houzz: "\f27c"; @fa-var-hryvnia: "\f6f2"; @fa-var-html5: "\f13b"; @fa-var-hubspot: "\f3b2"; @fa-var-humidity: "\f750"; @fa-var-hurricane: "\f751"; @fa-var-i-cursor: "\f246"; @fa-var-ice-cream: "\f810"; @fa-var-ice-skate: "\f7ac"; @fa-var-icicles: "\f7ad"; @fa-var-icons: "\f86d"; @fa-var-icons-alt: "\f86e"; @fa-var-id-badge: "\f2c1"; @fa-var-id-card: "\f2c2"; @fa-var-id-card-alt: "\f47f"; @fa-var-ideal: "\e013"; @fa-var-igloo: "\f7ae"; @fa-var-image: "\f03e"; @fa-var-image-polaroid: "\f8c4"; @fa-var-images: "\f302"; @fa-var-imdb: "\f2d8"; @fa-var-inbox: "\f01c"; @fa-var-inbox-in: "\f310"; @fa-var-inbox-out: "\f311"; @fa-var-indent: "\f03c"; @fa-var-industry: "\f275"; @fa-var-industry-alt: "\f3b3"; @fa-var-infinity: "\f534"; @fa-var-info: "\f129"; @fa-var-info-circle: "\f05a"; @fa-var-info-square: "\f30f"; @fa-var-inhaler: "\f5f9"; @fa-var-innosoft: "\e080"; @fa-var-instagram: "\f16d"; @fa-var-instagram-square: "\e055"; @fa-var-instalod: "\e081"; @fa-var-integral: "\f667"; @fa-var-intercom: "\f7af"; @fa-var-internet-explorer: "\f26b"; @fa-var-intersection: "\f668"; @fa-var-inventory: "\f480"; @fa-var-invision: "\f7b0"; @fa-var-ioxhost: "\f208"; @fa-var-island-tropical: "\f811"; @fa-var-italic: "\f033"; @fa-var-itch-io: "\f83a"; @fa-var-itunes: "\f3b4"; @fa-var-itunes-note: "\f3b5"; @fa-var-jack-o-lantern: "\f30e"; @fa-var-java: "\f4e4"; @fa-var-jedi: "\f669"; @fa-var-jedi-order: "\f50e"; @fa-var-jenkins: "\f3b6"; @fa-var-jira: "\f7b1"; @fa-var-joget: "\f3b7"; @fa-var-joint: "\f595"; @fa-var-joomla: "\f1aa"; @fa-var-journal-whills: "\f66a"; @fa-var-joystick: "\f8c5"; @fa-var-js: "\f3b8"; @fa-var-js-square: "\f3b9"; @fa-var-jsfiddle: "\f1cc"; @fa-var-jug: "\f8c6"; @fa-var-kaaba: "\f66b"; @fa-var-kaggle: "\f5fa"; @fa-var-kazoo: "\f8c7"; @fa-var-kerning: "\f86f"; @fa-var-key: "\f084"; @fa-var-key-skeleton: "\f6f3"; @fa-var-keybase: "\f4f5"; @fa-var-keyboard: "\f11c"; @fa-var-keycdn: "\f3ba"; @fa-var-keynote: "\f66c"; @fa-var-khanda: "\f66d"; @fa-var-kickstarter: "\f3bb"; @fa-var-kickstarter-k: "\f3bc"; @fa-var-kidneys: "\f5fb"; @fa-var-kiss: "\f596"; @fa-var-kiss-beam: "\f597"; @fa-var-kiss-wink-heart: "\f598"; @fa-var-kite: "\f6f4"; @fa-var-kiwi-bird: "\f535"; @fa-var-knife-kitchen: "\f6f5"; @fa-var-korvue: "\f42f"; @fa-var-lambda: "\f66e"; @fa-var-lamp: "\f4ca"; @fa-var-lamp-desk: "\e014"; @fa-var-lamp-floor: "\e015"; @fa-var-landmark: "\f66f"; @fa-var-landmark-alt: "\f752"; @fa-var-language: "\f1ab"; @fa-var-laptop: "\f109"; @fa-var-laptop-code: "\f5fc"; @fa-var-laptop-house: "\e066"; @fa-var-laptop-medical: "\f812"; @fa-var-laravel: "\f3bd"; @fa-var-lasso: "\f8c8"; @fa-var-lastfm: "\f202"; @fa-var-lastfm-square: "\f203"; @fa-var-laugh: "\f599"; @fa-var-laugh-beam: "\f59a"; @fa-var-laugh-squint: "\f59b"; @fa-var-laugh-wink: "\f59c"; @fa-var-layer-group: "\f5fd"; @fa-var-layer-minus: "\f5fe"; @fa-var-layer-plus: "\f5ff"; @fa-var-leaf: "\f06c"; @fa-var-leaf-heart: "\f4cb"; @fa-var-leaf-maple: "\f6f6"; @fa-var-leaf-oak: "\f6f7"; @fa-var-leanpub: "\f212"; @fa-var-lemon: "\f094"; @fa-var-less: "\f41d"; @fa-var-less-than: "\f536"; @fa-var-less-than-equal: "\f537"; @fa-var-level-down: "\f149"; @fa-var-level-down-alt: "\f3be"; @fa-var-level-up: "\f148"; @fa-var-level-up-alt: "\f3bf"; @fa-var-life-ring: "\f1cd"; @fa-var-light-ceiling: "\e016"; @fa-var-light-switch: "\e017"; @fa-var-light-switch-off: "\e018"; @fa-var-light-switch-on: "\e019"; @fa-var-lightbulb: "\f0eb"; @fa-var-lightbulb-dollar: "\f670"; @fa-var-lightbulb-exclamation: "\f671"; @fa-var-lightbulb-on: "\f672"; @fa-var-lightbulb-slash: "\f673"; @fa-var-lights-holiday: "\f7b2"; @fa-var-line: "\f3c0"; @fa-var-line-columns: "\f870"; @fa-var-line-height: "\f871"; @fa-var-link: "\f0c1"; @fa-var-linkedin: "\f08c"; @fa-var-linkedin-in: "\f0e1"; @fa-var-linode: "\f2b8"; @fa-var-linux: "\f17c"; @fa-var-lips: "\f600"; @fa-var-lira-sign: "\f195"; @fa-var-list: "\f03a"; @fa-var-list-alt: "\f022"; @fa-var-list-music: "\f8c9"; @fa-var-list-ol: "\f0cb"; @fa-var-list-ul: "\f0ca"; @fa-var-location: "\f601"; @fa-var-location-arrow: "\f124"; @fa-var-location-circle: "\f602"; @fa-var-location-slash: "\f603"; @fa-var-lock: "\f023"; @fa-var-lock-alt: "\f30d"; @fa-var-lock-open: "\f3c1"; @fa-var-lock-open-alt: "\f3c2"; @fa-var-long-arrow-alt-down: "\f309"; @fa-var-long-arrow-alt-left: "\f30a"; @fa-var-long-arrow-alt-right: "\f30b"; @fa-var-long-arrow-alt-up: "\f30c"; @fa-var-long-arrow-down: "\f175"; @fa-var-long-arrow-left: "\f177"; @fa-var-long-arrow-right: "\f178"; @fa-var-long-arrow-up: "\f176"; @fa-var-loveseat: "\f4cc"; @fa-var-low-vision: "\f2a8"; @fa-var-luchador: "\f455"; @fa-var-luggage-cart: "\f59d"; @fa-var-lungs: "\f604"; @fa-var-lungs-virus: "\e067"; @fa-var-lyft: "\f3c3"; @fa-var-mace: "\f6f8"; @fa-var-magento: "\f3c4"; @fa-var-magic: "\f0d0"; @fa-var-magnet: "\f076"; @fa-var-mail-bulk: "\f674"; @fa-var-mailbox: "\f813"; @fa-var-mailchimp: "\f59e"; @fa-var-male: "\f183"; @fa-var-mandalorian: "\f50f"; @fa-var-mandolin: "\f6f9"; @fa-var-map: "\f279"; @fa-var-map-marked: "\f59f"; @fa-var-map-marked-alt: "\f5a0"; @fa-var-map-marker: "\f041"; @fa-var-map-marker-alt: "\f3c5"; @fa-var-map-marker-alt-slash: "\f605"; @fa-var-map-marker-check: "\f606"; @fa-var-map-marker-edit: "\f607"; @fa-var-map-marker-exclamation: "\f608"; @fa-var-map-marker-minus: "\f609"; @fa-var-map-marker-plus: "\f60a"; @fa-var-map-marker-question: "\f60b"; @fa-var-map-marker-slash: "\f60c"; @fa-var-map-marker-smile: "\f60d"; @fa-var-map-marker-times: "\f60e"; @fa-var-map-pin: "\f276"; @fa-var-map-signs: "\f277"; @fa-var-markdown: "\f60f"; @fa-var-marker: "\f5a1"; @fa-var-mars: "\f222"; @fa-var-mars-double: "\f227"; @fa-var-mars-stroke: "\f229"; @fa-var-mars-stroke-h: "\f22b"; @fa-var-mars-stroke-v: "\f22a"; @fa-var-mask: "\f6fa"; @fa-var-mastodon: "\f4f6"; @fa-var-maxcdn: "\f136"; @fa-var-mdb: "\f8ca"; @fa-var-meat: "\f814"; @fa-var-medal: "\f5a2"; @fa-var-medapps: "\f3c6"; @fa-var-medium: "\f23a"; @fa-var-medium-m: "\f3c7"; @fa-var-medkit: "\f0fa"; @fa-var-medrt: "\f3c8"; @fa-var-meetup: "\f2e0"; @fa-var-megaphone: "\f675"; @fa-var-megaport: "\f5a3"; @fa-var-meh: "\f11a"; @fa-var-meh-blank: "\f5a4"; @fa-var-meh-rolling-eyes: "\f5a5"; @fa-var-memory: "\f538"; @fa-var-mendeley: "\f7b3"; @fa-var-menorah: "\f676"; @fa-var-mercury: "\f223"; @fa-var-meteor: "\f753"; @fa-var-microblog: "\e01a"; @fa-var-microchip: "\f2db"; @fa-var-microphone: "\f130"; @fa-var-microphone-alt: "\f3c9"; @fa-var-microphone-alt-slash: "\f539"; @fa-var-microphone-slash: "\f131"; @fa-var-microphone-stand: "\f8cb"; @fa-var-microscope: "\f610"; @fa-var-microsoft: "\f3ca"; @fa-var-microwave: "\e01b"; @fa-var-mind-share: "\f677"; @fa-var-minus: "\f068"; @fa-var-minus-circle: "\f056"; @fa-var-minus-hexagon: "\f307"; @fa-var-minus-octagon: "\f308"; @fa-var-minus-square: "\f146"; @fa-var-mistletoe: "\f7b4"; @fa-var-mitten: "\f7b5"; @fa-var-mix: "\f3cb"; @fa-var-mixcloud: "\f289"; @fa-var-mixer: "\e056"; @fa-var-mizuni: "\f3cc"; @fa-var-mobile: "\f10b"; @fa-var-mobile-alt: "\f3cd"; @fa-var-mobile-android: "\f3ce"; @fa-var-mobile-android-alt: "\f3cf"; @fa-var-modx: "\f285"; @fa-var-monero: "\f3d0"; @fa-var-money-bill: "\f0d6"; @fa-var-money-bill-alt: "\f3d1"; @fa-var-money-bill-wave: "\f53a"; @fa-var-money-bill-wave-alt: "\f53b"; @fa-var-money-check: "\f53c"; @fa-var-money-check-alt: "\f53d"; @fa-var-money-check-edit: "\f872"; @fa-var-money-check-edit-alt: "\f873"; @fa-var-monitor-heart-rate: "\f611"; @fa-var-monkey: "\f6fb"; @fa-var-monument: "\f5a6"; @fa-var-moon: "\f186"; @fa-var-moon-cloud: "\f754"; @fa-var-moon-stars: "\f755"; @fa-var-mortar-pestle: "\f5a7"; @fa-var-mosque: "\f678"; @fa-var-motorcycle: "\f21c"; @fa-var-mountain: "\f6fc"; @fa-var-mountains: "\f6fd"; @fa-var-mouse: "\f8cc"; @fa-var-mouse-alt: "\f8cd"; @fa-var-mouse-pointer: "\f245"; @fa-var-mp3-player: "\f8ce"; @fa-var-mug: "\f874"; @fa-var-mug-hot: "\f7b6"; @fa-var-mug-marshmallows: "\f7b7"; @fa-var-mug-tea: "\f875"; @fa-var-music: "\f001"; @fa-var-music-alt: "\f8cf"; @fa-var-music-alt-slash: "\f8d0"; @fa-var-music-slash: "\f8d1"; @fa-var-napster: "\f3d2"; @fa-var-narwhal: "\f6fe"; @fa-var-neos: "\f612"; @fa-var-network-wired: "\f6ff"; @fa-var-neuter: "\f22c"; @fa-var-newspaper: "\f1ea"; @fa-var-nimblr: "\f5a8"; @fa-var-node: "\f419"; @fa-var-node-js: "\f3d3"; @fa-var-not-equal: "\f53e"; @fa-var-notes-medical: "\f481"; @fa-var-npm: "\f3d4"; @fa-var-ns8: "\f3d5"; @fa-var-nutritionix: "\f3d6"; @fa-var-object-group: "\f247"; @fa-var-object-ungroup: "\f248"; @fa-var-octagon: "\f306"; @fa-var-octopus-deploy: "\e082"; @fa-var-odnoklassniki: "\f263"; @fa-var-odnoklassniki-square: "\f264"; @fa-var-oil-can: "\f613"; @fa-var-oil-temp: "\f614"; @fa-var-old-republic: "\f510"; @fa-var-om: "\f679"; @fa-var-omega: "\f67a"; @fa-var-opencart: "\f23d"; @fa-var-openid: "\f19b"; @fa-var-opera: "\f26a"; @fa-var-optin-monster: "\f23c"; @fa-var-orcid: "\f8d2"; @fa-var-ornament: "\f7b8"; @fa-var-osi: "\f41a"; @fa-var-otter: "\f700"; @fa-var-outdent: "\f03b"; @fa-var-outlet: "\e01c"; @fa-var-oven: "\e01d"; @fa-var-overline: "\f876"; @fa-var-page-break: "\f877"; @fa-var-page4: "\f3d7"; @fa-var-pagelines: "\f18c"; @fa-var-pager: "\f815"; @fa-var-paint-brush: "\f1fc"; @fa-var-paint-brush-alt: "\f5a9"; @fa-var-paint-roller: "\f5aa"; @fa-var-palette: "\f53f"; @fa-var-palfed: "\f3d8"; @fa-var-pallet: "\f482"; @fa-var-pallet-alt: "\f483"; @fa-var-paper-plane: "\f1d8"; @fa-var-paperclip: "\f0c6"; @fa-var-parachute-box: "\f4cd"; @fa-var-paragraph: "\f1dd"; @fa-var-paragraph-rtl: "\f878"; @fa-var-parking: "\f540"; @fa-var-parking-circle: "\f615"; @fa-var-parking-circle-slash: "\f616"; @fa-var-parking-slash: "\f617"; @fa-var-passport: "\f5ab"; @fa-var-pastafarianism: "\f67b"; @fa-var-paste: "\f0ea"; @fa-var-patreon: "\f3d9"; @fa-var-pause: "\f04c"; @fa-var-pause-circle: "\f28b"; @fa-var-paw: "\f1b0"; @fa-var-paw-alt: "\f701"; @fa-var-paw-claws: "\f702"; @fa-var-paypal: "\f1ed"; @fa-var-peace: "\f67c"; @fa-var-pegasus: "\f703"; @fa-var-pen: "\f304"; @fa-var-pen-alt: "\f305"; @fa-var-pen-fancy: "\f5ac"; @fa-var-pen-nib: "\f5ad"; @fa-var-pen-square: "\f14b"; @fa-var-pencil: "\f040"; @fa-var-pencil-alt: "\f303"; @fa-var-pencil-paintbrush: "\f618"; @fa-var-pencil-ruler: "\f5ae"; @fa-var-pennant: "\f456"; @fa-var-penny-arcade: "\f704"; @fa-var-people-arrows: "\e068"; @fa-var-people-carry: "\f4ce"; @fa-var-pepper-hot: "\f816"; @fa-var-perbyte: "\e083"; @fa-var-percent: "\f295"; @fa-var-percentage: "\f541"; @fa-var-periscope: "\f3da"; @fa-var-person-booth: "\f756"; @fa-var-person-carry: "\f4cf"; @fa-var-person-dolly: "\f4d0"; @fa-var-person-dolly-empty: "\f4d1"; @fa-var-person-sign: "\f757"; @fa-var-phabricator: "\f3db"; @fa-var-phoenix-framework: "\f3dc"; @fa-var-phoenix-squadron: "\f511"; @fa-var-phone: "\f095"; @fa-var-phone-alt: "\f879"; @fa-var-phone-laptop: "\f87a"; @fa-var-phone-office: "\f67d"; @fa-var-phone-plus: "\f4d2"; @fa-var-phone-rotary: "\f8d3"; @fa-var-phone-slash: "\f3dd"; @fa-var-phone-square: "\f098"; @fa-var-phone-square-alt: "\f87b"; @fa-var-phone-volume: "\f2a0"; @fa-var-photo-video: "\f87c"; @fa-var-php: "\f457"; @fa-var-pi: "\f67e"; @fa-var-piano: "\f8d4"; @fa-var-piano-keyboard: "\f8d5"; @fa-var-pie: "\f705"; @fa-var-pied-piper: "\f2ae"; @fa-var-pied-piper-alt: "\f1a8"; @fa-var-pied-piper-hat: "\f4e5"; @fa-var-pied-piper-pp: "\f1a7"; @fa-var-pied-piper-square: "\e01e"; @fa-var-pig: "\f706"; @fa-var-piggy-bank: "\f4d3"; @fa-var-pills: "\f484"; @fa-var-pinterest: "\f0d2"; @fa-var-pinterest-p: "\f231"; @fa-var-pinterest-square: "\f0d3"; @fa-var-pizza: "\f817"; @fa-var-pizza-slice: "\f818"; @fa-var-place-of-worship: "\f67f"; @fa-var-plane: "\f072"; @fa-var-plane-alt: "\f3de"; @fa-var-plane-arrival: "\f5af"; @fa-var-plane-departure: "\f5b0"; @fa-var-plane-slash: "\e069"; @fa-var-planet-moon: "\e01f"; @fa-var-planet-ringed: "\e020"; @fa-var-play: "\f04b"; @fa-var-play-circle: "\f144"; @fa-var-playstation: "\f3df"; @fa-var-plug: "\f1e6"; @fa-var-plus: "\f067"; @fa-var-plus-circle: "\f055"; @fa-var-plus-hexagon: "\f300"; @fa-var-plus-octagon: "\f301"; @fa-var-plus-square: "\f0fe"; @fa-var-podcast: "\f2ce"; @fa-var-podium: "\f680"; @fa-var-podium-star: "\f758"; @fa-var-police-box: "\e021"; @fa-var-poll: "\f681"; @fa-var-poll-h: "\f682"; @fa-var-poll-people: "\f759"; @fa-var-poo: "\f2fe"; @fa-var-poo-storm: "\f75a"; @fa-var-poop: "\f619"; @fa-var-popcorn: "\f819"; @fa-var-portal-enter: "\e022"; @fa-var-portal-exit: "\e023"; @fa-var-portrait: "\f3e0"; @fa-var-pound-sign: "\f154"; @fa-var-power-off: "\f011"; @fa-var-pray: "\f683"; @fa-var-praying-hands: "\f684"; @fa-var-prescription: "\f5b1"; @fa-var-prescription-bottle: "\f485"; @fa-var-prescription-bottle-alt: "\f486"; @fa-var-presentation: "\f685"; @fa-var-print: "\f02f"; @fa-var-print-search: "\f81a"; @fa-var-print-slash: "\f686"; @fa-var-procedures: "\f487"; @fa-var-product-hunt: "\f288"; @fa-var-project-diagram: "\f542"; @fa-var-projector: "\f8d6"; @fa-var-pump-medical: "\e06a"; @fa-var-pump-soap: "\e06b"; @fa-var-pumpkin: "\f707"; @fa-var-pushed: "\f3e1"; @fa-var-puzzle-piece: "\f12e"; @fa-var-python: "\f3e2"; @fa-var-qq: "\f1d6"; @fa-var-qrcode: "\f029"; @fa-var-question: "\f128"; @fa-var-question-circle: "\f059"; @fa-var-question-square: "\f2fd"; @fa-var-quidditch: "\f458"; @fa-var-quinscape: "\f459"; @fa-var-quora: "\f2c4"; @fa-var-quote-left: "\f10d"; @fa-var-quote-right: "\f10e"; @fa-var-quran: "\f687"; @fa-var-r-project: "\f4f7"; @fa-var-rabbit: "\f708"; @fa-var-rabbit-fast: "\f709"; @fa-var-racquet: "\f45a"; @fa-var-radar: "\e024"; @fa-var-radiation: "\f7b9"; @fa-var-radiation-alt: "\f7ba"; @fa-var-radio: "\f8d7"; @fa-var-radio-alt: "\f8d8"; @fa-var-rainbow: "\f75b"; @fa-var-raindrops: "\f75c"; @fa-var-ram: "\f70a"; @fa-var-ramp-loading: "\f4d4"; @fa-var-random: "\f074"; @fa-var-raspberry-pi: "\f7bb"; @fa-var-ravelry: "\f2d9"; @fa-var-raygun: "\e025"; @fa-var-react: "\f41b"; @fa-var-reacteurope: "\f75d"; @fa-var-readme: "\f4d5"; @fa-var-rebel: "\f1d0"; @fa-var-receipt: "\f543"; @fa-var-record-vinyl: "\f8d9"; @fa-var-rectangle-landscape: "\f2fa"; @fa-var-rectangle-portrait: "\f2fb"; @fa-var-rectangle-wide: "\f2fc"; @fa-var-recycle: "\f1b8"; @fa-var-red-river: "\f3e3"; @fa-var-reddit: "\f1a1"; @fa-var-reddit-alien: "\f281"; @fa-var-reddit-square: "\f1a2"; @fa-var-redhat: "\f7bc"; @fa-var-redo: "\f01e"; @fa-var-redo-alt: "\f2f9"; @fa-var-refrigerator: "\e026"; @fa-var-registered: "\f25d"; @fa-var-remove-format: "\f87d"; @fa-var-renren: "\f18b"; @fa-var-repeat: "\f363"; @fa-var-repeat-1: "\f365"; @fa-var-repeat-1-alt: "\f366"; @fa-var-repeat-alt: "\f364"; @fa-var-reply: "\f3e5"; @fa-var-reply-all: "\f122"; @fa-var-replyd: "\f3e6"; @fa-var-republican: "\f75e"; @fa-var-researchgate: "\f4f8"; @fa-var-resolving: "\f3e7"; @fa-var-restroom: "\f7bd"; @fa-var-retweet: "\f079"; @fa-var-retweet-alt: "\f361"; @fa-var-rev: "\f5b2"; @fa-var-ribbon: "\f4d6"; @fa-var-ring: "\f70b"; @fa-var-rings-wedding: "\f81b"; @fa-var-road: "\f018"; @fa-var-robot: "\f544"; @fa-var-rocket: "\f135"; @fa-var-rocket-launch: "\e027"; @fa-var-rocketchat: "\f3e8"; @fa-var-rockrms: "\f3e9"; @fa-var-route: "\f4d7"; @fa-var-route-highway: "\f61a"; @fa-var-route-interstate: "\f61b"; @fa-var-router: "\f8da"; @fa-var-rss: "\f09e"; @fa-var-rss-square: "\f143"; @fa-var-ruble-sign: "\f158"; @fa-var-ruler: "\f545"; @fa-var-ruler-combined: "\f546"; @fa-var-ruler-horizontal: "\f547"; @fa-var-ruler-triangle: "\f61c"; @fa-var-ruler-vertical: "\f548"; @fa-var-running: "\f70c"; @fa-var-rupee-sign: "\f156"; @fa-var-rust: "\e07a"; @fa-var-rv: "\f7be"; @fa-var-sack: "\f81c"; @fa-var-sack-dollar: "\f81d"; @fa-var-sad-cry: "\f5b3"; @fa-var-sad-tear: "\f5b4"; @fa-var-safari: "\f267"; @fa-var-salad: "\f81e"; @fa-var-salesforce: "\f83b"; @fa-var-sandwich: "\f81f"; @fa-var-sass: "\f41e"; @fa-var-satellite: "\f7bf"; @fa-var-satellite-dish: "\f7c0"; @fa-var-sausage: "\f820"; @fa-var-save: "\f0c7"; @fa-var-sax-hot: "\f8db"; @fa-var-saxophone: "\f8dc"; @fa-var-scalpel: "\f61d"; @fa-var-scalpel-path: "\f61e"; @fa-var-scanner: "\f488"; @fa-var-scanner-image: "\f8f3"; @fa-var-scanner-keyboard: "\f489"; @fa-var-scanner-touchscreen: "\f48a"; @fa-var-scarecrow: "\f70d"; @fa-var-scarf: "\f7c1"; @fa-var-schlix: "\f3ea"; @fa-var-school: "\f549"; @fa-var-screwdriver: "\f54a"; @fa-var-scribd: "\f28a"; @fa-var-scroll: "\f70e"; @fa-var-scroll-old: "\f70f"; @fa-var-scrubber: "\f2f8"; @fa-var-scythe: "\f710"; @fa-var-sd-card: "\f7c2"; @fa-var-search: "\f002"; @fa-var-search-dollar: "\f688"; @fa-var-search-location: "\f689"; @fa-var-search-minus: "\f010"; @fa-var-search-plus: "\f00e"; @fa-var-searchengin: "\f3eb"; @fa-var-seedling: "\f4d8"; @fa-var-sellcast: "\f2da"; @fa-var-sellsy: "\f213"; @fa-var-send-back: "\f87e"; @fa-var-send-backward: "\f87f"; @fa-var-sensor: "\e028"; @fa-var-sensor-alert: "\e029"; @fa-var-sensor-fire: "\e02a"; @fa-var-sensor-on: "\e02b"; @fa-var-sensor-smoke: "\e02c"; @fa-var-server: "\f233"; @fa-var-servicestack: "\f3ec"; @fa-var-shapes: "\f61f"; @fa-var-share: "\f064"; @fa-var-share-all: "\f367"; @fa-var-share-alt: "\f1e0"; @fa-var-share-alt-square: "\f1e1"; @fa-var-share-square: "\f14d"; @fa-var-sheep: "\f711"; @fa-var-shekel-sign: "\f20b"; @fa-var-shield: "\f132"; @fa-var-shield-alt: "\f3ed"; @fa-var-shield-check: "\f2f7"; @fa-var-shield-cross: "\f712"; @fa-var-shield-virus: "\e06c"; @fa-var-ship: "\f21a"; @fa-var-shipping-fast: "\f48b"; @fa-var-shipping-timed: "\f48c"; @fa-var-shirtsinbulk: "\f214"; @fa-var-shish-kebab: "\f821"; @fa-var-shoe-prints: "\f54b"; @fa-var-shopify: "\e057"; @fa-var-shopping-bag: "\f290"; @fa-var-shopping-basket: "\f291"; @fa-var-shopping-cart: "\f07a"; @fa-var-shopware: "\f5b5"; @fa-var-shovel: "\f713"; @fa-var-shovel-snow: "\f7c3"; @fa-var-shower: "\f2cc"; @fa-var-shredder: "\f68a"; @fa-var-shuttle-van: "\f5b6"; @fa-var-shuttlecock: "\f45b"; @fa-var-sickle: "\f822"; @fa-var-sigma: "\f68b"; @fa-var-sign: "\f4d9"; @fa-var-sign-in: "\f090"; @fa-var-sign-in-alt: "\f2f6"; @fa-var-sign-language: "\f2a7"; @fa-var-sign-out: "\f08b"; @fa-var-sign-out-alt: "\f2f5"; @fa-var-signal: "\f012"; @fa-var-signal-1: "\f68c"; @fa-var-signal-2: "\f68d"; @fa-var-signal-3: "\f68e"; @fa-var-signal-4: "\f68f"; @fa-var-signal-alt: "\f690"; @fa-var-signal-alt-1: "\f691"; @fa-var-signal-alt-2: "\f692"; @fa-var-signal-alt-3: "\f693"; @fa-var-signal-alt-slash: "\f694"; @fa-var-signal-slash: "\f695"; @fa-var-signal-stream: "\f8dd"; @fa-var-signature: "\f5b7"; @fa-var-sim-card: "\f7c4"; @fa-var-simplybuilt: "\f215"; @fa-var-sink: "\e06d"; @fa-var-siren: "\e02d"; @fa-var-siren-on: "\e02e"; @fa-var-sistrix: "\f3ee"; @fa-var-sitemap: "\f0e8"; @fa-var-sith: "\f512"; @fa-var-skating: "\f7c5"; @fa-var-skeleton: "\f620"; @fa-var-sketch: "\f7c6"; @fa-var-ski-jump: "\f7c7"; @fa-var-ski-lift: "\f7c8"; @fa-var-skiing: "\f7c9"; @fa-var-skiing-nordic: "\f7ca"; @fa-var-skull: "\f54c"; @fa-var-skull-cow: "\f8de"; @fa-var-skull-crossbones: "\f714"; @fa-var-skyatlas: "\f216"; @fa-var-skype: "\f17e"; @fa-var-slack: "\f198"; @fa-var-slack-hash: "\f3ef"; @fa-var-slash: "\f715"; @fa-var-sledding: "\f7cb"; @fa-var-sleigh: "\f7cc"; @fa-var-sliders-h: "\f1de"; @fa-var-sliders-h-square: "\f3f0"; @fa-var-sliders-v: "\f3f1"; @fa-var-sliders-v-square: "\f3f2"; @fa-var-slideshare: "\f1e7"; @fa-var-smile: "\f118"; @fa-var-smile-beam: "\f5b8"; @fa-var-smile-plus: "\f5b9"; @fa-var-smile-wink: "\f4da"; @fa-var-smog: "\f75f"; @fa-var-smoke: "\f760"; @fa-var-smoking: "\f48d"; @fa-var-smoking-ban: "\f54d"; @fa-var-sms: "\f7cd"; @fa-var-snake: "\f716"; @fa-var-snapchat: "\f2ab"; @fa-var-snapchat-ghost: "\f2ac"; @fa-var-snapchat-square: "\f2ad"; @fa-var-snooze: "\f880"; @fa-var-snow-blowing: "\f761"; @fa-var-snowboarding: "\f7ce"; @fa-var-snowflake: "\f2dc"; @fa-var-snowflakes: "\f7cf"; @fa-var-snowman: "\f7d0"; @fa-var-snowmobile: "\f7d1"; @fa-var-snowplow: "\f7d2"; @fa-var-soap: "\e06e"; @fa-var-socks: "\f696"; @fa-var-solar-panel: "\f5ba"; @fa-var-solar-system: "\e02f"; @fa-var-sort: "\f0dc"; @fa-var-sort-alpha-down: "\f15d"; @fa-var-sort-alpha-down-alt: "\f881"; @fa-var-sort-alpha-up: "\f15e"; @fa-var-sort-alpha-up-alt: "\f882"; @fa-var-sort-alt: "\f883"; @fa-var-sort-amount-down: "\f160"; @fa-var-sort-amount-down-alt: "\f884"; @fa-var-sort-amount-up: "\f161"; @fa-var-sort-amount-up-alt: "\f885"; @fa-var-sort-circle: "\e030"; @fa-var-sort-circle-down: "\e031"; @fa-var-sort-circle-up: "\e032"; @fa-var-sort-down: "\f0dd"; @fa-var-sort-numeric-down: "\f162"; @fa-var-sort-numeric-down-alt: "\f886"; @fa-var-sort-numeric-up: "\f163"; @fa-var-sort-numeric-up-alt: "\f887"; @fa-var-sort-shapes-down: "\f888"; @fa-var-sort-shapes-down-alt: "\f889"; @fa-var-sort-shapes-up: "\f88a"; @fa-var-sort-shapes-up-alt: "\f88b"; @fa-var-sort-size-down: "\f88c"; @fa-var-sort-size-down-alt: "\f88d"; @fa-var-sort-size-up: "\f88e"; @fa-var-sort-size-up-alt: "\f88f"; @fa-var-sort-up: "\f0de"; @fa-var-soundcloud: "\f1be"; @fa-var-soup: "\f823"; @fa-var-sourcetree: "\f7d3"; @fa-var-spa: "\f5bb"; @fa-var-space-shuttle: "\f197"; @fa-var-space-station-moon: "\e033"; @fa-var-space-station-moon-alt: "\e034"; @fa-var-spade: "\f2f4"; @fa-var-sparkles: "\f890"; @fa-var-speakap: "\f3f3"; @fa-var-speaker: "\f8df"; @fa-var-speaker-deck: "\f83c"; @fa-var-speakers: "\f8e0"; @fa-var-spell-check: "\f891"; @fa-var-spider: "\f717"; @fa-var-spider-black-widow: "\f718"; @fa-var-spider-web: "\f719"; @fa-var-spinner: "\f110"; @fa-var-spinner-third: "\f3f4"; @fa-var-splotch: "\f5bc"; @fa-var-spotify: "\f1bc"; @fa-var-spray-can: "\f5bd"; @fa-var-sprinkler: "\e035"; @fa-var-square: "\f0c8"; @fa-var-square-full: "\f45c"; @fa-var-square-root: "\f697"; @fa-var-square-root-alt: "\f698"; @fa-var-squarespace: "\f5be"; @fa-var-squirrel: "\f71a"; @fa-var-stack-exchange: "\f18d"; @fa-var-stack-overflow: "\f16c"; @fa-var-stackpath: "\f842"; @fa-var-staff: "\f71b"; @fa-var-stamp: "\f5bf"; @fa-var-star: "\f005"; @fa-var-star-and-crescent: "\f699"; @fa-var-star-christmas: "\f7d4"; @fa-var-star-exclamation: "\f2f3"; @fa-var-star-half: "\f089"; @fa-var-star-half-alt: "\f5c0"; @fa-var-star-of-david: "\f69a"; @fa-var-star-of-life: "\f621"; @fa-var-star-shooting: "\e036"; @fa-var-starfighter: "\e037"; @fa-var-starfighter-alt: "\e038"; @fa-var-stars: "\f762"; @fa-var-starship: "\e039"; @fa-var-starship-freighter: "\e03a"; @fa-var-staylinked: "\f3f5"; @fa-var-steak: "\f824"; @fa-var-steam: "\f1b6"; @fa-var-steam-square: "\f1b7"; @fa-var-steam-symbol: "\f3f6"; @fa-var-steering-wheel: "\f622"; @fa-var-step-backward: "\f048"; @fa-var-step-forward: "\f051"; @fa-var-stethoscope: "\f0f1"; @fa-var-sticker-mule: "\f3f7"; @fa-var-sticky-note: "\f249"; @fa-var-stocking: "\f7d5"; @fa-var-stomach: "\f623"; @fa-var-stop: "\f04d"; @fa-var-stop-circle: "\f28d"; @fa-var-stopwatch: "\f2f2"; @fa-var-stopwatch-20: "\e06f"; @fa-var-store: "\f54e"; @fa-var-store-alt: "\f54f"; @fa-var-store-alt-slash: "\e070"; @fa-var-store-slash: "\e071"; @fa-var-strava: "\f428"; @fa-var-stream: "\f550"; @fa-var-street-view: "\f21d"; @fa-var-stretcher: "\f825"; @fa-var-strikethrough: "\f0cc"; @fa-var-stripe: "\f429"; @fa-var-stripe-s: "\f42a"; @fa-var-stroopwafel: "\f551"; @fa-var-studiovinari: "\f3f8"; @fa-var-stumbleupon: "\f1a4"; @fa-var-stumbleupon-circle: "\f1a3"; @fa-var-subscript: "\f12c"; @fa-var-subway: "\f239"; @fa-var-suitcase: "\f0f2"; @fa-var-suitcase-rolling: "\f5c1"; @fa-var-sun: "\f185"; @fa-var-sun-cloud: "\f763"; @fa-var-sun-dust: "\f764"; @fa-var-sun-haze: "\f765"; @fa-var-sunglasses: "\f892"; @fa-var-sunrise: "\f766"; @fa-var-sunset: "\f767"; @fa-var-superpowers: "\f2dd"; @fa-var-superscript: "\f12b"; @fa-var-supple: "\f3f9"; @fa-var-surprise: "\f5c2"; @fa-var-suse: "\f7d6"; @fa-var-swatchbook: "\f5c3"; @fa-var-swift: "\f8e1"; @fa-var-swimmer: "\f5c4"; @fa-var-swimming-pool: "\f5c5"; @fa-var-sword: "\f71c"; @fa-var-sword-laser: "\e03b"; @fa-var-sword-laser-alt: "\e03c"; @fa-var-swords: "\f71d"; @fa-var-swords-laser: "\e03d"; @fa-var-symfony: "\f83d"; @fa-var-synagogue: "\f69b"; @fa-var-sync: "\f021"; @fa-var-sync-alt: "\f2f1"; @fa-var-syringe: "\f48e"; @fa-var-table: "\f0ce"; @fa-var-table-tennis: "\f45d"; @fa-var-tablet: "\f10a"; @fa-var-tablet-alt: "\f3fa"; @fa-var-tablet-android: "\f3fb"; @fa-var-tablet-android-alt: "\f3fc"; @fa-var-tablet-rugged: "\f48f"; @fa-var-tablets: "\f490"; @fa-var-tachometer: "\f0e4"; @fa-var-tachometer-alt: "\f3fd"; @fa-var-tachometer-alt-average: "\f624"; @fa-var-tachometer-alt-fast: "\f625"; @fa-var-tachometer-alt-fastest: "\f626"; @fa-var-tachometer-alt-slow: "\f627"; @fa-var-tachometer-alt-slowest: "\f628"; @fa-var-tachometer-average: "\f629"; @fa-var-tachometer-fast: "\f62a"; @fa-var-tachometer-fastest: "\f62b"; @fa-var-tachometer-slow: "\f62c"; @fa-var-tachometer-slowest: "\f62d"; @fa-var-taco: "\f826"; @fa-var-tag: "\f02b"; @fa-var-tags: "\f02c"; @fa-var-tally: "\f69c"; @fa-var-tanakh: "\f827"; @fa-var-tape: "\f4db"; @fa-var-tasks: "\f0ae"; @fa-var-tasks-alt: "\f828"; @fa-var-taxi: "\f1ba"; @fa-var-teamspeak: "\f4f9"; @fa-var-teeth: "\f62e"; @fa-var-teeth-open: "\f62f"; @fa-var-telegram: "\f2c6"; @fa-var-telegram-plane: "\f3fe"; @fa-var-telescope: "\e03e"; @fa-var-temperature-down: "\e03f"; @fa-var-temperature-frigid: "\f768"; @fa-var-temperature-high: "\f769"; @fa-var-temperature-hot: "\f76a"; @fa-var-temperature-low: "\f76b"; @fa-var-temperature-up: "\e040"; @fa-var-tencent-weibo: "\f1d5"; @fa-var-tenge: "\f7d7"; @fa-var-tennis-ball: "\f45e"; @fa-var-terminal: "\f120"; @fa-var-text: "\f893"; @fa-var-text-height: "\f034"; @fa-var-text-size: "\f894"; @fa-var-text-width: "\f035"; @fa-var-th: "\f00a"; @fa-var-th-large: "\f009"; @fa-var-th-list: "\f00b"; @fa-var-the-red-yeti: "\f69d"; @fa-var-theater-masks: "\f630"; @fa-var-themeco: "\f5c6"; @fa-var-themeisle: "\f2b2"; @fa-var-thermometer: "\f491"; @fa-var-thermometer-empty: "\f2cb"; @fa-var-thermometer-full: "\f2c7"; @fa-var-thermometer-half: "\f2c9"; @fa-var-thermometer-quarter: "\f2ca"; @fa-var-thermometer-three-quarters: "\f2c8"; @fa-var-theta: "\f69e"; @fa-var-think-peaks: "\f731"; @fa-var-thumbs-down: "\f165"; @fa-var-thumbs-up: "\f164"; @fa-var-thumbtack: "\f08d"; @fa-var-thunderstorm: "\f76c"; @fa-var-thunderstorm-moon: "\f76d"; @fa-var-thunderstorm-sun: "\f76e"; @fa-var-ticket: "\f145"; @fa-var-ticket-alt: "\f3ff"; @fa-var-tiktok: "\e07b"; @fa-var-tilde: "\f69f"; @fa-var-times: "\f00d"; @fa-var-times-circle: "\f057"; @fa-var-times-hexagon: "\f2ee"; @fa-var-times-octagon: "\f2f0"; @fa-var-times-square: "\f2d3"; @fa-var-tint: "\f043"; @fa-var-tint-slash: "\f5c7"; @fa-var-tire: "\f631"; @fa-var-tire-flat: "\f632"; @fa-var-tire-pressure-warning: "\f633"; @fa-var-tire-rugged: "\f634"; @fa-var-tired: "\f5c8"; @fa-var-toggle-off: "\f204"; @fa-var-toggle-on: "\f205"; @fa-var-toilet: "\f7d8"; @fa-var-toilet-paper: "\f71e"; @fa-var-toilet-paper-alt: "\f71f"; @fa-var-toilet-paper-slash: "\e072"; @fa-var-tombstone: "\f720"; @fa-var-tombstone-alt: "\f721"; @fa-var-toolbox: "\f552"; @fa-var-tools: "\f7d9"; @fa-var-tooth: "\f5c9"; @fa-var-toothbrush: "\f635"; @fa-var-torah: "\f6a0"; @fa-var-torii-gate: "\f6a1"; @fa-var-tornado: "\f76f"; @fa-var-tractor: "\f722"; @fa-var-trade-federation: "\f513"; @fa-var-trademark: "\f25c"; @fa-var-traffic-cone: "\f636"; @fa-var-traffic-light: "\f637"; @fa-var-traffic-light-go: "\f638"; @fa-var-traffic-light-slow: "\f639"; @fa-var-traffic-light-stop: "\f63a"; @fa-var-trailer: "\e041"; @fa-var-train: "\f238"; @fa-var-tram: "\f7da"; @fa-var-transgender: "\f224"; @fa-var-transgender-alt: "\f225"; @fa-var-transporter: "\e042"; @fa-var-transporter-1: "\e043"; @fa-var-transporter-2: "\e044"; @fa-var-transporter-3: "\e045"; @fa-var-transporter-empty: "\e046"; @fa-var-trash: "\f1f8"; @fa-var-trash-alt: "\f2ed"; @fa-var-trash-restore: "\f829"; @fa-var-trash-restore-alt: "\f82a"; @fa-var-trash-undo: "\f895"; @fa-var-trash-undo-alt: "\f896"; @fa-var-treasure-chest: "\f723"; @fa-var-tree: "\f1bb"; @fa-var-tree-alt: "\f400"; @fa-var-tree-christmas: "\f7db"; @fa-var-tree-decorated: "\f7dc"; @fa-var-tree-large: "\f7dd"; @fa-var-tree-palm: "\f82b"; @fa-var-trees: "\f724"; @fa-var-trello: "\f181"; @fa-var-triangle: "\f2ec"; @fa-var-triangle-music: "\f8e2"; @fa-var-tripadvisor: "\f262"; @fa-var-trophy: "\f091"; @fa-var-trophy-alt: "\f2eb"; @fa-var-truck: "\f0d1"; @fa-var-truck-container: "\f4dc"; @fa-var-truck-couch: "\f4dd"; @fa-var-truck-loading: "\f4de"; @fa-var-truck-monster: "\f63b"; @fa-var-truck-moving: "\f4df"; @fa-var-truck-pickup: "\f63c"; @fa-var-truck-plow: "\f7de"; @fa-var-truck-ramp: "\f4e0"; @fa-var-trumpet: "\f8e3"; @fa-var-tshirt: "\f553"; @fa-var-tty: "\f1e4"; @fa-var-tumblr: "\f173"; @fa-var-tumblr-square: "\f174"; @fa-var-turkey: "\f725"; @fa-var-turntable: "\f8e4"; @fa-var-turtle: "\f726"; @fa-var-tv: "\f26c"; @fa-var-tv-alt: "\f8e5"; @fa-var-tv-music: "\f8e6"; @fa-var-tv-retro: "\f401"; @fa-var-twitch: "\f1e8"; @fa-var-twitter: "\f099"; @fa-var-twitter-square: "\f081"; @fa-var-typewriter: "\f8e7"; @fa-var-typo3: "\f42b"; @fa-var-uber: "\f402"; @fa-var-ubuntu: "\f7df"; @fa-var-ufo: "\e047"; @fa-var-ufo-beam: "\e048"; @fa-var-uikit: "\f403"; @fa-var-umbraco: "\f8e8"; @fa-var-umbrella: "\f0e9"; @fa-var-umbrella-beach: "\f5ca"; @fa-var-uncharted: "\e084"; @fa-var-underline: "\f0cd"; @fa-var-undo: "\f0e2"; @fa-var-undo-alt: "\f2ea"; @fa-var-unicorn: "\f727"; @fa-var-union: "\f6a2"; @fa-var-uniregistry: "\f404"; @fa-var-unity: "\e049"; @fa-var-universal-access: "\f29a"; @fa-var-university: "\f19c"; @fa-var-unlink: "\f127"; @fa-var-unlock: "\f09c"; @fa-var-unlock-alt: "\f13e"; @fa-var-unsplash: "\e07c"; @fa-var-untappd: "\f405"; @fa-var-upload: "\f093"; @fa-var-ups: "\f7e0"; @fa-var-usb: "\f287"; @fa-var-usb-drive: "\f8e9"; @fa-var-usd-circle: "\f2e8"; @fa-var-usd-square: "\f2e9"; @fa-var-user: "\f007"; @fa-var-user-alien: "\e04a"; @fa-var-user-alt: "\f406"; @fa-var-user-alt-slash: "\f4fa"; @fa-var-user-astronaut: "\f4fb"; @fa-var-user-chart: "\f6a3"; @fa-var-user-check: "\f4fc"; @fa-var-user-circle: "\f2bd"; @fa-var-user-clock: "\f4fd"; @fa-var-user-cog: "\f4fe"; @fa-var-user-cowboy: "\f8ea"; @fa-var-user-crown: "\f6a4"; @fa-var-user-edit: "\f4ff"; @fa-var-user-friends: "\f500"; @fa-var-user-graduate: "\f501"; @fa-var-user-hard-hat: "\f82c"; @fa-var-user-headset: "\f82d"; @fa-var-user-injured: "\f728"; @fa-var-user-lock: "\f502"; @fa-var-user-md: "\f0f0"; @fa-var-user-md-chat: "\f82e"; @fa-var-user-minus: "\f503"; @fa-var-user-music: "\f8eb"; @fa-var-user-ninja: "\f504"; @fa-var-user-nurse: "\f82f"; @fa-var-user-plus: "\f234"; @fa-var-user-robot: "\e04b"; @fa-var-user-secret: "\f21b"; @fa-var-user-shield: "\f505"; @fa-var-user-slash: "\f506"; @fa-var-user-tag: "\f507"; @fa-var-user-tie: "\f508"; @fa-var-user-times: "\f235"; @fa-var-user-unlock: "\e058"; @fa-var-user-visor: "\e04c"; @fa-var-users: "\f0c0"; @fa-var-users-class: "\f63d"; @fa-var-users-cog: "\f509"; @fa-var-users-crown: "\f6a5"; @fa-var-users-medical: "\f830"; @fa-var-users-slash: "\e073"; @fa-var-usps: "\f7e1"; @fa-var-ussunnah: "\f407"; @fa-var-utensil-fork: "\f2e3"; @fa-var-utensil-knife: "\f2e4"; @fa-var-utensil-spoon: "\f2e5"; @fa-var-utensils: "\f2e7"; @fa-var-utensils-alt: "\f2e6"; @fa-var-vaadin: "\f408"; @fa-var-vacuum: "\e04d"; @fa-var-vacuum-robot: "\e04e"; @fa-var-value-absolute: "\f6a6"; @fa-var-vector-square: "\f5cb"; @fa-var-venus: "\f221"; @fa-var-venus-double: "\f226"; @fa-var-venus-mars: "\f228"; @fa-var-vest: "\e085"; @fa-var-vest-patches: "\e086"; @fa-var-vhs: "\f8ec"; @fa-var-viacoin: "\f237"; @fa-var-viadeo: "\f2a9"; @fa-var-viadeo-square: "\f2aa"; @fa-var-vial: "\f492"; @fa-var-vials: "\f493"; @fa-var-viber: "\f409"; @fa-var-video: "\f03d"; @fa-var-video-plus: "\f4e1"; @fa-var-video-slash: "\f4e2"; @fa-var-vihara: "\f6a7"; @fa-var-vimeo: "\f40a"; @fa-var-vimeo-square: "\f194"; @fa-var-vimeo-v: "\f27d"; @fa-var-vine: "\f1ca"; @fa-var-violin: "\f8ed"; @fa-var-virus: "\e074"; @fa-var-virus-slash: "\e075"; @fa-var-viruses: "\e076"; @fa-var-vk: "\f189"; @fa-var-vnv: "\f40b"; @fa-var-voicemail: "\f897"; @fa-var-volcano: "\f770"; @fa-var-volleyball-ball: "\f45f"; @fa-var-volume: "\f6a8"; @fa-var-volume-down: "\f027"; @fa-var-volume-mute: "\f6a9"; @fa-var-volume-off: "\f026"; @fa-var-volume-slash: "\f2e2"; @fa-var-volume-up: "\f028"; @fa-var-vote-nay: "\f771"; @fa-var-vote-yea: "\f772"; @fa-var-vr-cardboard: "\f729"; @fa-var-vuejs: "\f41f"; @fa-var-wagon-covered: "\f8ee"; @fa-var-walker: "\f831"; @fa-var-walkie-talkie: "\f8ef"; @fa-var-walking: "\f554"; @fa-var-wallet: "\f555"; @fa-var-wand: "\f72a"; @fa-var-wand-magic: "\f72b"; @fa-var-warehouse: "\f494"; @fa-var-warehouse-alt: "\f495"; @fa-var-washer: "\f898"; @fa-var-watch: "\f2e1"; @fa-var-watch-calculator: "\f8f0"; @fa-var-watch-fitness: "\f63e"; @fa-var-watchman-monitoring: "\e087"; @fa-var-water: "\f773"; @fa-var-water-lower: "\f774"; @fa-var-water-rise: "\f775"; @fa-var-wave-sine: "\f899"; @fa-var-wave-square: "\f83e"; @fa-var-wave-triangle: "\f89a"; @fa-var-waveform: "\f8f1"; @fa-var-waveform-path: "\f8f2"; @fa-var-waze: "\f83f"; @fa-var-webcam: "\f832"; @fa-var-webcam-slash: "\f833"; @fa-var-weebly: "\f5cc"; @fa-var-weibo: "\f18a"; @fa-var-weight: "\f496"; @fa-var-weight-hanging: "\f5cd"; @fa-var-weixin: "\f1d7"; @fa-var-whale: "\f72c"; @fa-var-whatsapp: "\f232"; @fa-var-whatsapp-square: "\f40c"; @fa-var-wheat: "\f72d"; @fa-var-wheelchair: "\f193"; @fa-var-whistle: "\f460"; @fa-var-whmcs: "\f40d"; @fa-var-wifi: "\f1eb"; @fa-var-wifi-1: "\f6aa"; @fa-var-wifi-2: "\f6ab"; @fa-var-wifi-slash: "\f6ac"; @fa-var-wikipedia-w: "\f266"; @fa-var-wind: "\f72e"; @fa-var-wind-turbine: "\f89b"; @fa-var-wind-warning: "\f776"; @fa-var-window: "\f40e"; @fa-var-window-alt: "\f40f"; @fa-var-window-close: "\f410"; @fa-var-window-frame: "\e04f"; @fa-var-window-frame-open: "\e050"; @fa-var-window-maximize: "\f2d0"; @fa-var-window-minimize: "\f2d1"; @fa-var-window-restore: "\f2d2"; @fa-var-windows: "\f17a"; @fa-var-windsock: "\f777"; @fa-var-wine-bottle: "\f72f"; @fa-var-wine-glass: "\f4e3"; @fa-var-wine-glass-alt: "\f5ce"; @fa-var-wix: "\f5cf"; @fa-var-wizards-of-the-coast: "\f730"; @fa-var-wodu: "\e088"; @fa-var-wolf-pack-battalion: "\f514"; @fa-var-won-sign: "\f159"; @fa-var-wordpress: "\f19a"; @fa-var-wordpress-simple: "\f411"; @fa-var-wpbeginner: "\f297"; @fa-var-wpexplorer: "\f2de"; @fa-var-wpforms: "\f298"; @fa-var-wpressr: "\f3e4"; @fa-var-wreath: "\f7e2"; @fa-var-wrench: "\f0ad"; @fa-var-x-ray: "\f497"; @fa-var-xbox: "\f412"; @fa-var-xing: "\f168"; @fa-var-xing-square: "\f169"; @fa-var-y-combinator: "\f23b"; @fa-var-yahoo: "\f19e"; @fa-var-yammer: "\f840"; @fa-var-yandex: "\f413"; @fa-var-yandex-international: "\f414"; @fa-var-yarn: "\f7e3"; @fa-var-yelp: "\f1e9"; @fa-var-yen-sign: "\f157"; @fa-var-yin-yang: "\f6ad"; @fa-var-yoast: "\f2b1"; @fa-var-youtube: "\f167"; @fa-var-youtube-square: "\f431"; @fa-var-zhihu: "\f63f"; <xf:if is="{{ property('uix_iconFontFamily') }} == 'material'"> {{ include('uix_materialVars_solid.less') }} </xf:if> <xf:if is="{{ property('uix_iconFontFamily') }} == 'materialOutline'"> {{ include('uix_materialVars_outline.less') }} </xf:if> // Mixins // -------------------------- .fa-icon() { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; } .fa-icon-rotate(@degrees, @rotation) { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; transform: rotate(@degrees); } .fa-icon-flip(@horiz, @vert, @rotation) { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; transform: scale(@horiz, @vert); } // Only display content to screen readers. A la Bootstrap 4. // // See: http://a11yproject.com/posts/how-to-hide-content/ .sr-only() { border: 0; clip: rect(0,0,0,0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } // Use in conjunction with .sr-only to only display content when it's focused. // // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 // // Credit: HTML5 Boilerplate .sr-only-focusable() { &:active, &:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } }]]>

</template>


-<template title="structured_list.less" version_string="2.2.0 Release Candidate 2" version_id="2020052" addon_id="XF" type="public">

<![CDATA[@_structItem-avatarSize: 36px; @_structItem-avatarSizeExpanded: 48px; @_structItem-avatarSizeEnd: @avatar-xxs; // @_structItem-cellPaddingH: ((@xf-paddingMedium) + (@xf-paddingLarge)) / 2; // average // @_structItem-cellPaddingV: @xf-paddingLarge; @_structItem-cellPaddingH: @xf-uix_structPaddingH; @_structItem-cellPaddingV: @xf-uix_structPaddingV; .structItemContainer { display: table; table-layout: fixed; border-collapse: collapse; list-style: none; margin: 0; padding: 0; width: 100%; } .structItemContainer-group { display: table-row-group; } <xf:comment> .structItemContainer > .structItem:first-child, .structItemContainer > .structItemContainer-group:first-child > .structItem:first-child { border-top: none; } } .structItemContainer--columnBreaker + .structItemContainer--connect, .structItemContainer--columnBreaker + .structItemContainer:first-child, .structItemContainer--columnBreaker + .structItemContainer > .structItemContainer-group:first-child > .structItem:first-child, .structItemContainer + .structItemContainer--columnBreaker:first-child, .structItemContainer + .structItemContainer--columnBreaker > .structItemContainer-group:first-child > .structItem:first-child { border-top: @xf-borderSize solid @xf-borderColorFaint; } </xf:comment> .block-minorHeader.uix_threadListSeparator { display: flex; align-items: center; .xf-uix_threadListSeparator(); } .structItemContainer .structItemContainer-group--sticky { .structItem--thread { .xf-uix_discussionListItemSticky(); } } .structItem.is-mod-selected .structItem-cell--meta, .structItem--thread.is-deleted .structItem-cell--meta{background: none;} .structItem { display: table; border-top: @xf-borderSize solid @xf-borderColorFaint; list-style: none; margin: 0; padding: 0; width: 100%; .xf-uix_discussionListItem(); .pairs {line-height: inherit;} &:nth-child(even) { background-color: @xf-uix_discussionListItemEven; } &--thread:hover { background-color: @xf-uix_discussionListItemHover; <xf:if is="property('uix_discussionListItemHover')"> .structItem-cell--meta { background-color: transparent } </xf:if> } &.is-highlighted, &.is-moderated { // background: @xf-contentHighlightBg; .xf-uix_discussionListItemModerated(); } &.is-deleted { opacity: .7; .structItem-title > * { text-decoration: line-through; } } &.structItem--thread.is-moderated {.xf-uix_discussionListItemModerated();} &.structItem--thread.is-deleted {.xf-uix_discussionListItemDeleted();} &.is-mod-selected { background: @xf-inlineModHighlightColor; opacity: 1; } &:last-child { border-bottom-left-radius: @xf-blockBorderRadius; border-bottom-right-radius: @xf-blockBorderRadius; } } .threadListSeparator { .xf-uix_threadListSeparator(); } .structItem-cell { display: table-cell; vertical-align: top; padding: @_structItem-cellPaddingV @_structItem-cellPaddingH; .structItem--middle & { vertical-align: middle; } &.structItem-cell--vote { width: (40px + (@_structItem-cellPaddingH) * 2); } &.structItem-cell--icon { width: ((@_structItem-avatarSize) + (@_structItem-cellPaddingH) * 2); position: relative; &.structItem-cell--iconExpanded { width: ((@_structItem-avatarSizeExpanded) + (@_structItem-cellPaddingH) * 2); } &.structItem-cell--iconEnd { width: ((@_structItem-avatarSizeEnd) + (@_structItem-cellPaddingH) * 2); padding-left: @_structItem-cellPaddingH / 2; .structItem-iconContainer { padding-top: @xf-paddingMedium /2; } } &.structItem-cell--iconFixedSmall { width: (60px + (@_structItem-cellPaddingH) * 2); } &.structItem-cell--iconFixedSmallest { width: ((@_structItem-avatarSizeEnd) + (@_structItem-cellPaddingH) * 2); } .solutionIcon { padding-left: 0; padding-right: 0; } } &.structItem-cell--meta { width: 135px; .xf-uix_metaCell(); @media (max-width: @xf-uix_discussionListCollapseWidth) { background: none; // padding: 0; border: none; .pairs {line-height: inherit;} } } &.structItem-cell--latest { width: 190px; text-align: right; font-size: @xf-fontSizeSmaller; a:not(:hover) {color: @xf-textColorMuted;} } } .structItem-iconContainer { position: relative; img { display: block; width: 100%; } .avatar { .m-avatarSize(@_structItem-avatarSize); &.avatar--xxs { .m-avatarSize(@_structItem-avatarSizeEnd); } } .structItem-secondaryIcon { position: absolute; right: -5px; bottom: -5px; .m-avatarSize(@_structItem-avatarSize / 2 + 2px); } .structItem-cell--iconExpanded & { .avatar { .m-avatarSize(@_structItem-avatarSizeExpanded); } .structItem-secondaryIcon { .m-avatarSize(@_structItem-avatarSizeExpanded / 2 - 2px); } } } .structItem-title { font-size: @xf-fontSizeLarge; font-weight: @xf-fontWeightNormal; margin: 0; padding: 0; .xf-uix_discussionListTitle(); .label { font-weight: @xf-fontWeightNormal; } a { color: inherit; &:hover {color: @xf-linkHoverColor;} } .is-unread & { font-weight: @xf-fontWeightHeavy; .xf-uix_discussionListTitleUnread(); } } .structItem-minor { font-size: @xf-fontSizeSmaller; color: @xf-textColorMuted; .structItem-cell--main & {clear: both;} .m-hiddenLinks(); } .structItem-parts { .m-listPlain(); display: inline; > li { display: inline; margin: 0; padding: 0; &:nth-child(even) { color: @xf-textColorDimmed; } &:before { content: "\00B7\20"; } &:first-child:before { content: ""; display: none; } } } .structItem-pageJump { margin-left: 8px; font-size: @xf-fontSizeSmallest; a { .xf-chip(); text-decoration: none; border-radius: @xf-borderRadiusSmall; padding: 0 3px; opacity: .5; .m-transition(); .structItem:hover &, .has-touchevents & { opacity: 1; } &:hover { text-decoration: none; .xf-chipHover(); } } } .structItem-statuses, .structItem .structItem-extraInfo { .m-listPlain(); float: right; label.iconic--checkbox i {text-align: right;} > li { float: left; margin-left: 8px; } input[type=checkbox] { .m-checkboxAligner(); } } .structItem-statuses .reactionSummary { vertical-align: -2px; } .structItem-extraInfo .reactionSummary { vertical-align: middle; } .structItem-status { &::before { .m-faBase(); display: inline-block; font-size: 90%; color: @xf-textColorMuted; } &--deleted::before { .m-faContent(@fa-var-trash-alt, .875em); } &--locked::before { .m-faContent(@fa-var-lock, .875em); } &--moderated::before { .m-faContent(@fa-var-shield, 1em); color: @xf-textColorAttention; } &--redirect::before { .m-faContent(@fa-var-external-link, 1em); } &--starred::before { .m-faContent(@fa-var-star, 1.125em); color: @xf-starFullColor; } &--sticky::before { .m-faContent(@fa-var-thumbtack, .75em); } &--watched::before { .m-faContent(@fa-var-bell, .875em); } &--solved::before { .m-faContent(@fa-var-check-circle, 1em); color: @xf-votePositiveColor; } &--attention::before { .m-faContent(@fa-var-bullhorn, 1.125em); color: @xf-textColorAttention; } &--upvoted::before { .m-faContent(@fa-var-thumbs-up, 1em); } &--downvoted::before { .m-faContent(@fa-var-thumbs-down, 1em); } } .structItem.structItem--note { .xf-contentHighlightBase(); color: @xf-textColorFeature; .structItem-cell { padding-top: @_structItem-cellPaddingV / 2; padding-bottom: @_structItem-cellPaddingV / 2; font-size: @xf-fontSizeSmaller; text-align: center; } } @media (max-width: @xf-responsiveWide) { .structItem-cell { vertical-align: top; &.structItem-cell--meta { width: 115px; font-size: @xf-fontSizeSmaller; } &.structItem-cell--latest { width: 140px; font-size: @xf-fontSizeSmaller; } } } @media (max-width: @xf-uix_discussionListCollapseWidth) { .structItem-cell { //padding: (@_structItem-cellPaddingV) / 2 @_structItem-cellPaddingH; &.structItem-cell--icon { .structItem-cell + & { padding-left: 0; width: ((@_structItem-avatarSize) + (@_structItem-cellPaddingH)); } } &.structItem-cell--main, &.structItem-cell--newThread { display: block; padding-bottom: .2em; .structItem-cell + & { padding-left: 0; } } &.structItem-cell--meta { display: block; width: auto; float: left; padding-top: 0; padding-left: 0; padding-right: 0; color: @xf-textColorMuted; font-size: @xf-fontSizeSmaller; line-height: 1; dd:before { margin-right: 2px; } .structItem-minor { display: none; } .pairs { > dt, > dd { display: inline; float: none; margin: 0; } dt {display: none;} dd:before { .m-faBase(); .m-faContent(@fa-var-comment-alt); } dd:after { content: "\00A0\00B7\20"; color: @xf-textColorMuted; } } } &.structItem-cell--latest { display: block; width: auto; float: left; padding-top: 0; padding-left: 0; display: flex; align-items: center; line-height: 1; flex-wrap: wrap; a {order: 2;} .structItem-minor { order: 1; &:after {order: 2;} } .uix_mobileNodeTitle {order: 3;} &:before { // content: "\00A0\00B7\20"; color: @xf-textColorMuted; } a { color: @xf-textColorMuted; } .structItem-minor { display: inline-flex; &:before { .m-faBase(); .m-faContent(@fa-var-reply); margin-right: 2px; } &:after { content: " {{ phrase('th_uix_replied') }} "; .uix_posterIsUser& { content: " {{ phrase('th_uix_posted') }} "; } white-space: pre; } } } &.structItem-cell--iconEnd { display: none; } } .structItem-pageJump, .structItem-extraInfoMinor { display: none; } .is-unread .structItem-latestDate { font-weight: @xf-fontWeightNormal; } } @media (max-width: @xf-uix_discussionListCollapseWidth) { .structItem .lastPostAv {display: none;} } /* if sidebar, then break discussion list earlier */ .p-body-main--withSidebar { @media (min-width: @xf-uix_sidebarBreakpoint) and (max-width: 1200px) { .structItem-cell { //padding: (@_structItem-cellPaddingV) / 2 @_structItem-cellPaddingH; &.structItem-cell--main { display: block; padding-bottom: .2em; padding-left: 0; } &.structItem-cell--meta { display: block; width: auto; float: left; padding-top: 0; padding-left: 0; padding-right: 0; color: @xf-textColorMuted; font-size: @xf-fontSizeSmaller; background: none; // padding: 0; border: none; line-height: 1; dd:before { margin-right: 2px; } .pairs {line-height: inherit;} .structItem-minor { display: none; } .pairs { > dt, > dd { display: inline; float: none; margin: 0; } dt {display: none;} dd:before { .m-faBase(); .m-faContent(@fa-var-comment-alt); } dd:after { content: "\00A0\00B7\20"; color: @xf-textColorMuted; } } } &.structItem-cell--latest { display: block; width: auto; float: left; padding-top: 0; padding-left: 0; display: flex; flex-wrap: wrap; align-items: center; line-height: 1; a {order: 2;} .structItem-minor { order: 1; &:after {order: 2;} } .uix_mobileNodeTitle {order: 3;} &:before { // content: "\00A0\00B7\20"; color: @xf-textColorMuted; } a { color: @xf-textColorMuted; } .structItem-minor { display: inline-block; &:before { .m-faBase(); .m-faContent(@fa-var-reply); } &:after { content: ' replied '; white-space: pre; } } } &.structItem-cell--iconEnd { display: none; } } .structItem-pageJump, .structItem-extraInfoMinor { display: none; } } .structItem.structItem--quickCreate { .structItem-cell--icon, .structItem-cell--vote { display: none; } .structItem-cell--newThread { padding-left: @_structItem-cellPaddingH; padding-bottom: @_structItem-cellPaddingH; } .is-unread .structItem-latestDate { font-weight: @xf-fontWeightNormal; } } @media (min-width: @xf-uix_sidebarBreakpoint) and (max-width: 1200px) { .structItem .lastPostAv {display: none;} } } @media (max-width: @xf-responsiveNarrow) { .structItem-parts { .structItem-startDate { display: none; } } .structItem.structItem--quickCreate { .structItem-cell--icon, .structItem-cell--vote { display: none; } .structItem-cell--newThread { padding-left: @_structItem-cellPaddingH; padding-bottom: @_structItem-cellPaddingH; } } }]]>

</template>


-<template title="tag_view" version_string="2.1.0 Release Candidate 1" version_id="2010051" addon_id="XF" type="public">

<![CDATA[<xf:title page="{$page}">{$tag.tag}</xf:title> <xf:breadcrumb href="{{ link('tags') }}">{{ phrase('tags') }}</xf:breadcrumb> <xf:if is="$activeModType"> <xf:js src="xf/inline_mod.js" min="1" /> </xf:if> <div class="block" data-xf-init="{{ $activeModType ? 'inline-mod' : '' }}" data-type="{$activeModType}" data-href="{{ link('inline-mod') }}"> <xf:if is="$modTypes"> <div class="block-outer"> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:if is="$activeModType"> <xf:macro template="inline_mod_macros" name="button" /> </xf:if> <div class="buttonGroup-buttonWrapper"> <xf:button class="button--link menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true">{{ phrase('enable_moderation') }}</xf:button> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h3 class="menu-header">{{ phrase('enable_moderation') }}</h3> <xf:foreach loop="$modTypes" key="$type" value="$text"> <a href="{{ link('tags', $tag, {'mod': $type, 'page': $page}) }}" class="menu-linkRow {{ $activeModType == $type ? 'is-selected' : '' }}">{$text}</a> </xf:foreach> <xf:if is="$activeModType"> <hr class="menu-separator" /> <a href="{{ link('tags', $tag, {'page': $page}) }}" class="menu-linkRow">{{ phrase('disable') }}</a> </xf:if> </div> </div> </div> </div> </div> </div> </xf:if> <div class="block-container"> <ol class="block-body"> <xf:foreach loop="$results" value="$result"> {{ $result.render({'mod': $activeModType})|raw }} </xf:foreach> </ol> </div> <xf:if contentcheck="true"> <div class="block-outer block-outer--after"> <xf:contentcheck> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$totalResults}" link="tags" data="{$tag}" params="{{ {'mod': $activeModType} }}" wrapperclass="block-outer-main" /> <xf:showignored wrapperclass="block-outer-opposite" /> </xf:contentcheck> </div> </xf:if> </div>]]>

</template>


-<template title="thdonate_campaign_view" version_string="1.1.7 Patch Level 1" version_id="901010791" addon_id="ThemeHouse/Donate" type="public">

<![CDATA[<xf:title>{$campaign.title}</xf:title> <xf:wrap template="thdonate_campaign_wrapper"> <xf:set var="$pageSelected" value="overview" /> </xf:wrap> <div class="block js-CampaignInfoBlock"> <div class="block-container"> <div class="block-body"> <div class="block-row"> <div class="campaign-description"> <xf:if is="$campaign.description"> {{ bb_code($campaign.description, 'html', $campaign) }} <xf:else /> {{ phrase('thdonate_no_campaign_description') }} </xf:if> </div> <div class="reactionsBar js-reactionsList {{ $campaign.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$campaign}" link="donate/reactions" /> </div> <xf:if is="is_addon_active('ThemeHouse/Reactions') && $xf.options.th_reactHandlers_reactions.thdonate_campaign"> <xf:macro template="th_display_reactions" name="reactions_bar" arg-type="thdonate_campaign" arg-id="campaign_id" arg-content="{$campaign}" /> <xf:else /> <xf:if contentcheck="true"> <div class="actionBar"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:if is="$campaign->isValidRelation('Bookmarks')"> <xf:macro template="bookmark_macros" name="link" arg-content="{$campaign}" arg-class="message-attribution-gadget bookmarkLink--highlightable" arg-confirmUrl="{{ link('donate/bookmark', $campaign) }}" arg-showText="{{ false }}"/> </xf:if> <xf:react content="{$campaign}" link="donate/react" list="< .js-CampaignInfoBlock | .js-reactionsList" /> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:if> </div> </div> </div> </div>]]>

</template>


-<template title="thflwf_watchedCategory" version_string="1.0.0 Patch Level 1" version_id="1000091" addon_id="ThemeHouse/ForumListWatchedForums" type="public">

<![CDATA[<xf:if is="$thWatchedNodes is not empty"> <div class="block uix_nodeList block--category block--categoryWatched {{ is_toggled('thuixsf-watched') ? 'category--collapsed' : '' }}"> <span class="u-anchorTarget" id="thWatchedNodes"></span> <xf:if is="property('uix_categoryStripOutsideWrapper')"> <h2 class="block-header js-nodeMain{{ property('uix_stickyCategoryStrips') ? ' uix_stickyCategoryStrips' : '' }}"> <xf:if is="property('uix_categoryStripIcons')"> <div class="uix_categoryStrip__icon"> <xf:fa icon="fa-folder" /> </div> </xf:if> <div class="uix_categoryStrip-content"> <xf:comment><a href="{{ link('categories', $node) }}">{$node.title}</a></xf:comment> <xf:comment><xf:if is="{$node.description}"><div class="block-desc">{$node.description|raw}</div></xf:if></xf:comment> <xf:set var="$uix_categoryDescriptionDisplay" value="{{ property('uix_categoryDescriptionDisplay') }}" /> <a href="{{ link('watched/forums') }}" class="uix_categoryTitle"> {{ phrase('th_flwf_watched_nodes') }} </a> <xf:if is="$uix_categoryDescriptionDisplay != 'none' && $node.description"> <div class="node-description {{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div> </xf:if> </div> <xf:if is="{{ property('uix_categoryCollapse') && $xf.visitor->hasPermission('th_uix', 'collapseCategories') }}"> <a class="u-ripple categoryCollapse--trigger" data-xf-click="toggle" data-target="< :up :next" data-hide="true" data-xf-init="toggle-storage" data-storage-type="cookie" data-storage-key="thuixsf-watched"> <xf:fa icon="fa-chevron-up" /></a> </xf:if> </h2> </xf:if> <div class="block-container"> <xf:if is="!property('uix_categoryStripOutsideWrapper')"> <h2 class="block-header js-nodeMain {{ property('uix_stickyCategoryStrips') ? ' uix_stickyCategoryStrips' : '' }}"> <xf:if is="property('uix_categoryStripIcons')"> <div class="uix_categoryStrip__icon"> <xf:fa icon="fa-folder" /> </div> </xf:if> <div class="uix_categoryStrip-content"> <xf:comment><a href="{{ link('categories', $node) }}">{$node.title}</a></xf:comment> <xf:comment><xf:if is="{$node.description}"><span class="block-desc">{$node.description|raw}</span></xf:if></xf:comment> <xf:set var="$uix_categoryDescriptionDisplay" value="{{ property('uix_categoryDescriptionDisplay') }}" /> <a href="{{ link('watched/forums') }}" class="uix_categoryTitle"> {{ phrase('th_flwf_watched_nodes') }} </a> <xf:if is="$uix_categoryDescriptionDisplay != 'none' && $node.description"> <div class="node-description {{ $uix_categoryDescriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div> </xf:if> </div> <xf:if is="{{ property('uix_categoryCollapse') && $xf.visitor->hasPermission('th_uix', 'collapseCategories') }}"> <a class="u-ripple categoryCollapse--trigger" data-xf-click="toggle" data-target="< :up :next" data-hide="true" data-xf-init="toggle-storage" data-storage-type="cookie" data-storage-key="thuixsf-watched"> <xf:fa icon="fa-chevron-up" /></a> </xf:if> </h2> </xf:if> <div class="uix_block-body--outer"> <div class="block-body"> <xf:foreach loop="$thWatchedNodes" key="$id" value="$watchedNode"> <xf:macro name="node_list_entry" template="forum_list" arg-node="{$watchedNode.record}" arg-extras="{$nodeExtras.{$id}}" arg-children="{$watchedNode.children}" arg-depth="2" arg-childExtras="{$nodeExtras}" /> </xf:foreach> </div> </div> </div> </div> </xf:if>]]>

</template>


-<template title="thmonetize_upgrade_page.less" version_string="1.1.0 Beta 1" version_id="1010031" addon_id="" type="public">

<![CDATA[@thmonetize-var-padding-top: ((@xf-thmonetize_userUpgradeShapeWidth - @xf-thmonetize_userUpgradeShapeBorderWidth - 60px) / 2); .thmonetize_upgrade { &--hasShape .formRow { dt { position: relative; overflow: hidden; } .formRow-labelWrapper:after { .m-faBase(); font-weight: 900; font-size: 100px; line-height: 100px; position: absolute; left: -50px; opacity: 0.3; } } &--circle { .formRow-labelWrapper:after { .m-faContent(@fa-var-circle); } } &--square { .formRow-labelWrapper:after { .m-faContent(@fa-var-square); } } &--star { .formRow-labelWrapper:after { .m-faContent(@fa-var-star); } } &--certificate { .formRow-labelWrapper:after { .m-faContent(@fa-var-certificate); } } &--weight-hanging { .formRow-labelWrapper:after { .m-faContent(@fa-var-weight-hanging); } } &--shield { .formRow-labelWrapper:after { .m-faContent(@fa-var-shield); } } &--hexagon { .formRow-labelWrapper:after { .m-faContent(@fa-var-hexagon); } } &--heart { .formRow-labelWrapper:after { .m-faContent(@fa-var-heart); } } &--folder { .formRow-labelWrapper:after { .m-faContent(@fa-var-folder); } } &--comment-alt { .formRow-labelWrapper:after { .m-faContent(@fa-var-comment-alt); } } &--cloud { .formRow-labelWrapper:after { .m-faContent(@fa-var-cloud); } } &--poop { .formRow-labelWrapper:after { .m-faContent(@fa-var-poop); } } .block-row { display: flex; align-items: center; // line-height: 1; } i { color: @xf-linkColor; display: inline-block; padding-right: @xf-paddingSmall; } } .overlay .thmonetize_UpgradeOptionsList { padding: @xf-paddingMedium; } .thmonetize_UpgradeOptionsList { display: flex; flex-wrap: wrap; margin-right: -@xf-paddingMedium; margin-bottom: @xf-paddingMedium; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); margin: 0; grid-gap: @xf-paddingMedium;; .thmonetize_upgradeHeader, .block-footer {padding: @xf-paddingLarge;} .thmonetize_upgrade { overflow: hidden; } .thmonetize_upgrade--hasColor .block-header { border-bottom: 0; } .thmonetize_upgradeHeader { background: @xf-contentBg; align-items: center; display: flex; flex-direction: column; &.thmonetize_upgradeHeader--shape { margin-bottom: (@xf-thmonetize_userUpgradeShapeWidth / 2); .thmonetize_upgradeHeader__price { width: @xf-thmonetize_userUpgradeShapeWidth; height: @xf-thmonetize_userUpgradeShapeWidth; margin-bottom: -(@xf-thmonetize_userUpgradeShapeWidth / 2); } } &--circle, &--square { .thmonetize_upgradeHeader__price { background-color: @xf-contentBg; border: @xf-thmonetize_userUpgradeShapeBorderWidth solid @xf-contentAltBg; padding-top: @thmonetize-var-padding-top; } } &--circle { .thmonetize_upgradeHeader__price { border-radius: 50%; } } &--star, &--certificate, &--poop, &--bread, &--cloud, &--comment-alt, &--folder, &--heart, &--hexagon, &--shield, &--weight-hanging { .thmonetize_upgradeHeader__price { position: relative; padding-top: (@thmonetize-var-padding-top + @xf-thmonetize_userUpgradeShapeBorderWidth); padding-bottom: @xf-thmonetize_userUpgradeShapeBorderWidth; &:before { .m-faBase(); position: absolute; display: inline-block; font-size: (@xf-thmonetize_userUpgradeShapeWidth - @xf-thmonetize_userUpgradeShapeBorderWidth); line-height: (@xf-thmonetize_userUpgradeShapeWidth - @xf-thmonetize_userUpgradeShapeBorderWidth); font-weight: 900; top: (@xf-thmonetize_userUpgradeShapeBorderWidth / 2); color: @xf-contentBg; -webkit-text-stroke: @xf-thmonetize_userUpgradeShapeBorderWidth @xf-contentAltBg; } } } &--star { .thmonetize_upgrade__length { max-width: (@xf-thmonetize_userUpgradeShapeWidth / 2); } .thmonetize_upgradeHeader__price { &:before { .m-faContent(@fa-var-star); } } } &--certificate { .thmonetize_upgradeHeader__price { &:before { .m-faContent(@fa-var-certificate); } } } &--weight-hanging { .thmonetize_upgradeHeader__price { padding-top: (@thmonetize-var-padding-top + @xf-thmonetize_userUpgradeShapeBorderWidth + @xf-thmonetize_userUpgradeShapeWidth / 10); &:before { .m-faContent(@fa-var-weight-hanging); } } } &--shield { .thmonetize_upgradeHeader__price { padding-top: (@thmonetize-var-padding-top + @xf-thmonetize_userUpgradeShapeBorderWidth - @xf-thmonetize_userUpgradeShapeWidth / 10); &:before { .m-faContent(@fa-var-shield); } } } &--hexagon { .thmonetize_upgradeHeader__price { &:before { .m-faContent(@fa-var-hexagon); } } } &--heart { .thmonetize_upgrade__length { max-width: (@xf-thmonetize_userUpgradeShapeWidth / 2); } .thmonetize_upgradeHeader__price { padding-top: (@thmonetize-var-padding-top + @xf-thmonetize_userUpgradeShapeBorderWidth - @xf-thmonetize_userUpgradeShapeWidth / 10); &:before { .m-faContent(@fa-var-heart); } } } &--folder { .thmonetize_upgradeHeader__price { &:before { .m-faContent(@fa-var-folder); } } } &--comment-alt { .thmonetize_upgradeHeader__price { padding-top: (@thmonetize-var-padding-top + @xf-thmonetize_userUpgradeShapeBorderWidth - @xf-thmonetize_userUpgradeShapeWidth / 8); &:before { .m-faContent(@fa-var-comment-alt); } } } &--cloud { .thmonetize_upgradeHeader__price { padding-top: (@thmonetize-var-padding-top + @xf-thmonetize_userUpgradeShapeBorderWidth + @xf-thmonetize_userUpgradeShapeWidth / 10); &:before { .m-faContent(@fa-var-cloud); } } } &--poop { .thmonetize_upgradeHeader__price { padding-top: (@thmonetize-var-padding-top + @xf-thmonetize_userUpgradeShapeBorderWidth + @xf-thmonetize_userUpgradeShapeWidth / 6); &:before { .m-faContent(@fa-var-poop); } } } } .block-container { background: @xf-contentAltBg; margin: 0; } .thmonetize_UpgradeOption { flex-basis: 250px; flex-grow: 1; // padding-right: @xf-paddingMedium; display: flex; flex-direction: column; justify-content: center; &--featured { .block-container { border: 2px solid @xf-linkColor; } } } .block-container { display: flex; flex-direction: column; flex-grow: 1; } .thmonetize_upgradeHeader__price { align-items: center; display: flex; flex-direction: column; } .thmonetize_upgradeHeader__priceRow { display: flex; justify-content: center; line-height: .75; } .thmonetize_upgrade__price { .xf-thmonetize_userUpgradePrice(); z-index: 1; } .thmonetize_upgrade__currency { .xf-thmonetize_userUpgradeCurrency(); z-index: 1; } .thmonetize_upgrade__occurrence { .xf-thmonetize_userUpgradeOccurrence(); align-self: flex-end; z-index: 1; } .thmonetize_upgrade__length { .xf-thmonetize_userUpgradeLength(); z-index: 1; text-align: center; line-height: 1em; padding-top: 10px; } .block-body { flex-grow: 1; padding-bottom: 20px; } } .thmonetize_UpgradeOptionsList, .thmonetize_UpgradeButtons { .block-footer { text-align: center; form {display: inline-block;} } } .thmonetize_UpgradePageLinks { padding: @xf-paddingMedium; .thmonetize_UpgradePageLinks-more { display: flex; justify-content: center; .button:nth-child(2) { margin-right: @xf-paddingMedium; } } } @media (max-width: @xf-formResponsive) { .thmonetize_upgrade--hasShape .formRow { .formRow-labelWrapper:after { right: @xf-paddingMedium; left: unset; font-size: 15px; line-height: 15px; } } }]]>

</template>


-<template title="thpostcomments_post_macros" version_string="1.0.2" version_id="1000270" addon_id="" type="public">

<![CDATA[<xf:macro name="comment" arg-post="!" arg-thread="!"> <article class="message message--depth{$post.thpostcomments_depth} message--simple{{ $post.isIgnored() ? ' is-ignored' : '' }} js-inlineModContainer" data-author="{{ $post.User.username ?: $post.username }}" data-content="profile-post-{$post.post_id}" id="js-post-{$post.post_id}"> <xf:if is="{$post.thpostcomments_depth} > 0"> <div class="th_messageCollapseTrigger"> <i class="fa fa-chevron-down"></i> </div> </xf:if> <span class="u-anchorTarget" id="post-{$post.post_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info_simple" arg-user="{$post.User}" arg-fallbackName="{$post.username}" /> </div> <div class="message-cell message-cell--main"> <div class="message-main js-quickEditTarget"> <div class="message-content js-messageContent"> <header class="message-attribution message-attribution--plain"> <ul class="listInline listInline--bullet"> <li class="message-attribution-user"> <xf:avatar user="$post.User" size="xxs" /> <h4 class="attribution"> <xf:macro template="profile_post_macros" name="attribution" arg-profilePost="{$post}" arg-showTargetUser="{$showTargetUser}" /> </h4> </li> <li><a href="{{ link('posts', $post) }}" class="u-concealed" rel="nofollow"> <xf:date time="$post.post_date" /> </a> </li> </ul> </header> <article class="message-body"> {{ bb_code($post.message, 'post', $post) }} </article> <xf:if is="$post.attach_count"> <xf:macro template="message_macros" name="attachments" arg-attachments="{$post.Attachments}" arg-message="{$post}" arg-canView="{{ $thread.canViewAttachments() }}" /> </xf:if> </div> <footer class="message-footer"> <div class="message-actionBar actionBar"> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:if is="$post.canLike()"> <a href="{{ link('posts/like', $post) }}" class="actionBar-action actionBar-action--like" data-xf-click="like" data-like-list="< .message | .js-likeList"> <xf:if is="$post.isLiked()"> {{ phrase('unlike') }} <xf:else /> {{ phrase('like') }} </xf:if> </a> </xf:if> <xf:if is="$post.canComment()"> <a href="{{ link('posts/comment', $post) }}" class="actionBar-action actionBar-action--comment" title="{{ phrase('reply_quoting_this_message')|for_attr }}" data-editor-target="#js-post-{$post.post_id}" data-xf-click="comment">{{ phrase('reply') }}</a> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$post.canUseInlineModeration()"> <span class="actionBar-action actionBar-action--inlineMod"> <xf:checkbox standalone="true"> <xf:option value="{$post.post_id}" class="js-inlineModToggle" data-xf-init="tooltip" title="{{ phrase('select_for_moderation')|for_attr }}" label="{{ phrase('select_for_moderation') }}" hiddenlabel="true" /> </xf:checkbox> </span> </xf:if> <xf:if is="$post.canReport()"> <a href="{{ link('posts/report', $post) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report') }}</a> </xf:if> <xf:set var="$hasActionBarMenu" value="{{ false }}" /> <xf:if is="$post.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('posts/edit', $post) }}" class="actionBar-action actionBar-action--edit actionBar-action--menuItem" data-xf-click="quick-edit" data-editor-target="#js-post-{$post.post_id} .js-quickEditTarget" data-menu-closer="true">{{ phrase('edit') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.edit_count && $post.canViewHistory()"> <a href="{{ link('posts/history', $post) }}" class="actionBar-action actionBar-action--history actionBar-action--menuItem" data-xf-click="toggle" data-target="#js-post-{$post.post_id} .js-historyTarget" data-menu-closer="true">{{ phrase('history') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.canDelete('soft')"> <a href="{{ link('posts/delete', $post) }}" class="actionBar-action actionBar-action--delete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('delete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.canCleanSpam()"> <a href="{{ link('spam-cleaner', $post) }}" class="actionBar-action actionBar-action--spam actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('spam') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$xf.visitor.canViewIps() && $post.ip_id"> <a href="{{ link('posts/ip', $post) }}" class="actionBar-action actionBar-action--ip actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('ip') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$post.canWarn()"> <a href="{{ link('posts/warn', $post) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$post.warning_id && $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $post.warning_id}) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('view_warning') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$hasActionBarMenu"> <a class="actionBar-action actionBar-action--menuTrigger" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <div class="js-menuBuilderTarget"></div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </div> </footer> </div> </div> </div> </article> </xf:macro>]]>

</template>


-<template title="thread_list_macros" version_string="2.2.3 Patch 1" version_id="2020371" addon_id="XF" type="public">

<![CDATA[<xf:macro name="item" arg-thread="!" arg-forum="" arg-forceRead="{{ false }}" arg-showWatched="{{ true }}" arg-allowInlineMod="{{ true }}" arg-chooseName="" arg-extraInfo="" arg-allowEdit="{{ true }}"> <xf:css src="structured_list.less" /> <div class="structItem structItem--thread{{ $thread.prefix_id ? ' is-prefix' . $thread.prefix_id : '' }}{{ $thread.isIgnored() ? ' is-ignored' : '' }}{{ ($thread.isUnread() AND !$forceRead) ? ' is-unread' : '' }}{{ $thread.discussion_state == 'moderated' ? ' is-moderated' : '' }}{{ $thread.discussion_state == 'deleted' ? ' is-deleted' : '' }} js-inlineModContainer js-threadListItem-{$thread.thread_id}" data-author="{{ $thread.User.username ?: $thread.username }}"> <xf:extension name="icon_cell"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <xf:avatar user="$thread.User" size="s" defaultname="{$thread.username}" /> <xf:if is="$thread.getUserPostCount()"> <xf:avatar user="$xf.visitor" size="s" href="" class="avatar--separated structItem-secondaryIcon" tabindex="0" data-xf-init="tooltip" data-trigger="auto" title="{{ phrase('you_have_posted_x_messages_in_this_thread', {'count': $thread.getUserPostCount() }) }}" /> </xf:if> </div> </div> </xf:extension> <xf:extension name="main_cell"> <div class="structItem-cell structItem-cell--main" data-xf-init="touch-proxy"> <xf:if contentcheck="true"> <ul class="structItem-statuses"> <xf:contentcheck> <xf:extension name="statuses"> <xf:if is="property('reactionSummaryOnLists') == 'status' && $thread.first_post_reactions"> <li><xf:reactions summary="true" reactions="{$thread.first_post_reactions}" /></li> </xf:if> <xf:extension name="before_status_state"></xf:extension> <xf:if is="$thread.discussion_state == 'moderated'"> <li> <i class="structItem-status structItem-status--moderated" aria-hidden="true" title="{{ phrase('awaiting_approval')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('awaiting_approval') }}</span> </li> </xf:if> <xf:if is="$thread.discussion_state == 'deleted'"> <li> <i class="structItem-status structItem-status--deleted" aria-hidden="true" title="{{ phrase('deleted')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('deleted') }}</span> </li> </xf:if> <xf:if is="!$thread.discussion_open"> <li> <i class="structItem-status structItem-status--locked" aria-hidden="true" title="{{ phrase('locked')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('locked') }}</span> </li> </xf:if> <xf:extension name="status_sticky"> <xf:if is="$thread.sticky"> <li> <i class="structItem-status structItem-status--sticky" aria-hidden="true" title="{{ phrase('sticky')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('sticky') }}</span> </li> </xf:if> </xf:extension> <xf:extension name="before_status_watch"></xf:extension> <xf:if is="{$showWatched} AND {$xf.visitor.user_id}"> <xf:if is="{$thread.Watch.{$xf.visitor.user_id}}"> <li> <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('thread_watched')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('thread_watched') }}</span> </li> <xf:elseif is="!$forum AND {$thread.Forum.Watch.{$xf.visitor.user_id}}" /> <li> <i class="structItem-status structItem-status--watched" aria-hidden="true" title="{{ phrase('forum_watched')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('forum_watched') }}</span> </li> </xf:if> </xf:if> <xf:extension name="before_status_type"></xf:extension> <xf:if is="$thread.discussion_type == 'redirect'"> <xf:extension name="thread_type_redirect"> <li> <i class="structItem-status structItem-status--redirect" aria-hidden="true" title="{{ phrase('redirect')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('redirect') }}</span> </li> </xf:extension> <xf:elseif is="$thread.discussion_type == 'question' && $thread.type_data.solution_post_id" /> <xf:extension name="thread_type_question_solved"> <li> <i class="structItem-status structItem-status--solved" aria-hidden="true" title="{{ phrase('solved')|for_attr }}"></i> <span class="u-srOnly">{{ phrase('solved') }}</span> </li> </xf:extension> <xf:elseif is="!$forum || $forum.forum_type_id == 'discussion'" /> <xf:extension name="thread_type_icon"> <xf:if is="$thread.discussion_type != 'discussion'"> <xf:set var="$threadTypeHandler" value="{{ $thread.getTypeHandler() }}" /> <xf:if is="$threadTypeHandler.getTypeIconClass()"> <li> <xf:set var="$threadTypePhrase" value="{{ $threadTypeHandler.getTypeTitle() }}" /> <xf:fa class="structItem-status" icon="{{ $threadTypeHandler.getTypeIconClass() }}" title="{$threadTypePhrase|for_attr}" /> <span class="u-srOnly">{$threadTypePhrase}</span> </li> </xf:if> </xf:if> </xf:extension> </xf:if> </xf:extension> </xf:contentcheck> </ul> </xf:if> <div class="structItem-title" uix-href="{{ link('threads' . (($thread.isUnread() AND !$forceRead) ? '/unread' : ''), $thread) }}"> <xf:set var="$canPreview" value="{{ $thread.canPreview() }}" /> <xf:if is="$thread.prefix_id"> <xf:if is="$forum"> <a href="{{ link('forums', $forum, {'prefix_id': $thread.prefix_id}) }}" class="labelLink" rel="nofollow">{{ prefix('thread', $thread, 'html', '') }}</a> <xf:else /> {{ prefix('thread', $thread, 'html', '') }} </xf:if> </xf:if> <a href="{{ link('threads' . (($thread.isUnread() AND !$forceRead) ? '/unread' : ''), $thread) }}" class="" data-tp-primary="on" data-xf-init="{{ $canPreview ? 'preview-tooltip' : '' }}" data-preview-url="{{ $canPreview ? link('threads/preview', $thread) : '' }}">{$thread.title}</a> </div> <div class="structItem-minor"> <xf:if contentcheck="true"> <ul class="structItem-extraInfo"> <xf:contentcheck> <xf:if is="property('reactionSummaryOnLists') == 'minor_opposite' && $thread.first_post_reactions"> <li><xf:reactions summary="true" reactions="{$thread.first_post_reactions}" /></li> </xf:if> <xf:if is="{$extraInfo}"> <li>{$extraInfo}</li> <xf:elseif is="$allowEdit AND $thread.canEdit() AND $thread.canUseInlineModeration()" /> <xf:if is="!$allowInlineMod OR !$forum"> <xf:set var="$editParams" value="{{ { '_xfNoInlineMod': !$allowInlineMod ? 1 : null, '_xfForumName': !$forum ? 1 : 0 } }}" /> <xf:else /> <xf:set var="$editParams" value="{{ [] }}" /> </xf:if> <xf:if is="$thread.discussion_type != 'redirect'"> <li class="structItem-extraInfoMinor"> <a href="{{ link('threads/edit', $thread) }}" data-xf-click="overlay" data-cache="false" data-href="{{ link('threads/edit', $thread, $editParams) }}"> {{ phrase('edit') }} </a> </li> </xf:if> </xf:if> <xf:if is="$chooseName"> <li><xf:checkbox standalone="true"> <xf:option name="{$chooseName}[]" value="{$thread.thread_id}" class="js-chooseItem" /> </xf:checkbox></li> <xf:elseif is="$allowInlineMod AND $thread.canUseInlineModeration()" /> <li><xf:checkbox standalone="true"> <xf:option value="{$thread.thread_id}" class="js-inlineModToggle" data-xf-init="tooltip" title="{{ phrase('select_for_moderation') }}" label="{{ phrase('select_for_moderation') }}" hiddenlabel="true" /> </xf:checkbox></li> </xf:if> </xf:contentcheck> </ul> </xf:if> <xf:if is="$thread.discussion_state == 'deleted'"> <xf:if is="{$extraInfo}"><span class="structItem-extraInfo">{$extraInfo}</span></xf:if> <xf:macro template="deletion_macros" name="notice" arg-log="{$thread.DeletionLog}" /> <xf:else /> <ul class="structItem-parts"> <li><xf:username user="$thread.User" defaultname="{$thread.username}" /></li> <li class="structItem-startDate"><a href="{{ link('threads', $thread) }}" rel="nofollow"><xf:date time="{$thread.post_date}" /></a></li> <xf:if is="!$forum"> <li><a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a></li> </xf:if> <xf:if is="$thread.discussion_type != 'redirect' && $thread.reply_count >= $xf.options.messagesPerPage && $xf.options.lastPageLinks"> <span class="structItem-pageJump"> <xf:foreach loop="{{ last_pages($thread.reply_count + 1, $xf.options.messagesPerPage, $xf.options.lastPageLinks) }}" value="$p"> <a href="{{ link('threads', $thread, {'page': $p}) }}">{$p}</a> </xf:foreach> </span> </xf:if> </ul> </xf:if> </div> </div> </xf:extension> <xf:extension name="meta_cell"> <div class="structItem-cell structItem-cell--meta" title="{{ phrase('first_message_reaction_score:')|for_attr }} {$thread.first_post_reaction_score|number}"> <dl class="pairs pairs--justified"> <dt>{{ phrase('replies') }}</dt> <dd>{{ $thread.discussion_type == 'redirect' ? '&ndash;' : $thread.reply_count|number_short }}</dd> </dl> <dl class="pairs pairs--justified structItem-minor"> <dt>{{ phrase('views') }}</dt> <dd>{{ $thread.discussion_type == 'redirect' ? '&ndash;' : ($thread.view_count > $thread.reply_count ? $thread.view_count|number_short : number_short($thread.reply_count+1)) }}</dd> </dl> </div> </xf:extension> <xf:extension name="latest_cell"> <div class="structItem-cell structItem-cell--latest {{ $uix_originalPosterLastPosted ? 'uix_posterIsUser' : '' }}"> <xf:if is="$thread.reply_count|number == 0"> <xf:set var="$uix_originalPosterLastPosted" value="1" /> </xf:if> <xf:if is="$thread.discussion_type == 'redirect'"> {{ phrase('n_a') }} <xf:else /> <xf:if is="!$forum && !is_addon_active('ThemeHouse/Filters')"> <a class="uix_mobileNodeTitle" href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a> </xf:if> <a href="{{ link('threads/latest', $thread) }}" rel="nofollow"><xf:date time="{$thread.last_post_date}" class="structItem-latestDate" /></a> <div class="structItem-minor"> <xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id)"> {{ phrase('ignored_member') }} <xf:else /> <xf:username user="{$thread.LastPoster}" defaultname="{$thread.last_post_username}" /> </xf:if> </div> </xf:if> </div> </xf:extension> <xf:extension name="icon_end_cell"> <div class="structItem-cell structItem-cell--icon structItem-cell--iconEnd"> <div class="structItem-iconContainer"> <xf:if is="$xf.visitor.isIgnoring($thread.last_post_user_id) OR $thread.discussion_type == 'redirect'"> <xf:avatar user="{{ null }}" size="xxs" /> <xf:else /> <xf:avatar user="{$thread.LastPoster}" defaultname="{$thread.last_post_username}" size="xxs" /> </xf:if> </div> </div> </xf:extension> </div> </xf:macro> <xf:macro name="item_new_posts" arg-thread="!"> <div class="contentRow"> <div class="contentRow-figure"> <xf:avatar user="$thread.LastPoster" size="xxs" defaultname="{$thread.last_post_username}" /> </div> <div class="contentRow-main contentRow-main--close"> <xf:if is="$thread.isUnread()"> <a href="{{ link('threads/unread', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a> <xf:else /> <a href="{{ link('threads/post', $thread, {'post_id': $thread.last_post_id}) }}">{{ prefix('thread', $thread) }}{$thread.title}</a> </xf:if> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li>{{ phrase('latest_x', {'name': $thread.last_post_cache.username}) }}</li> <li><xf:date time="{$thread.last_post_date}" /></li> </ul> </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a> </div> </div> </div> </xf:macro> <xf:macro name="item_new_threads" arg-thread="!"> <div class="contentRow"> <div class="contentRow-figure"> <xf:avatar user="$thread.User" size="xxs" defaultname="{$thread.username}" /> </div> <div class="contentRow-main contentRow-main--close"> <a href="{{ link('threads', $thread) }}">{{ prefix('thread', $thread) }}{$thread.title}</a> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li>{{ phrase('started_by_x', {'name': $thread.username}) }}</li> <li><xf:date time="{$thread.post_date}" /></li> <li>{{ phrase('replies:') }} {$thread.reply_count|number_short}</li> </ul> </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <a href="{{ link('forums', $thread.Forum) }}">{$thread.Forum.title}</a> </div> </div> </div> </xf:macro> <xf:macro name="quick_thread" arg-forum="!" arg-page="1" arg-order="last_post_date" arg-direction="desc" arg-prefixes="{{ [] }}"> <xf:css src="structured_list.less" /> <xf:if is="$forum.canCreateThread() OR $forum.canCreateThreadPreReg()"> <xf:js src="xf/thread.js" min="1" /> <xf:set var="$inlineMode" value="{{ ($page == 1 && $order == 'last_post_date' && $direction == 'desc') ? true : false }}" /> <xf:form action="{{ link('forums/post-thread', $forum, {'inline-mode': $inlineMode}) }}" ajax="true" class="structItem structItem--quickCreate" draft="{{ link('forums/draft', $forum) }}" data-xf-init="quick-thread" data-focus-activate=".js-titleInput" data-focus-activate-href="{{ link('forums/post-thread', $forum, {'inline-mode': true}) }}" data-focus-activate-target=".js-quickThreadFields" data-insert-target=".js-threadList" data-replace-target=".js-emptyThreadList"> <xf:extension name="icon_cell"> <div class="structItem-cell structItem-cell--icon"> <div class="structItem-iconContainer"> <xf:avatar user="$xf.visitor" size="s" /> </div> </div> </xf:extension> <xf:extension name="main_cell"> <div class="structItem-cell structItem-cell--newThread js-prefixListenContainer"> <xf:formrow rowtype="noGutter noLabel fullWidth noPadding mergeNext" label="{{ phrase('title') }}"> <xf:prefixinput maxlength="{{ max_length('XF:Thread', 'title') }}" placeholder="{$forum.thread_prompt}" title="{{ phrase('post_new_thread_in_this_forum') }}" prefix-value="{$forum.default_prefix_id}" type="thread" prefixes="{$prefixes}" data-xf-init="tooltip" rows="1" help-href="{{ link('forums/prefix-help', $forum) }}" help-skip-initial="{{ true }}" /> <!--[XF:qt_title_after]--> </xf:formrow> <div class="js-quickThreadFields inserter-container is-hidden"><!--{{ phrase('loading...') }}--></div> </div> </xf:extension> </xf:form> </xf:if> </xf:macro>]]>

</template>


-<template title="thread_move" version_string="2.2.0 Beta 1" version_id="2020031" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ phrase('move_thread:') }} {{ prefix('thread', $thread, 'escaped') }}{$thread.title}</xf:title> <xf:h1>{{ phrase('move_thread:') }} {{ prefix('thread', $thread) }}{$thread.title}</xf:h1> <xf:breadcrumb source="$thread.getBreadcrumbs()" /> <xf:form action="{{ link('threads/move', $thread) }}" class="block" ajax="true"> <div class="block-container"> <div class="block-body js-prefixListenContainer"> <xf:prefixinputrow label="{{ phrase('title') }}" prefixes="{{ $thread.isPrefixEditable() ? $prefixes : [] }}" type="thread" prefix-value="{$thread.prefix_id}" textbox-value="{$thread.title}" href="{{ link('forums/prefixes') }}" listen-to="< .js-prefixListenContainer | .js-nodeList" autofocus="autofocus" maxlength="{{ max_length($thread, 'title') }}" /> <xf:selectrow name="target_node_id" value="{$forum.node_id}" class="js-nodeList" data-xf-init="input-validator" data-validation-url="{{ link('threads/move-warnings', $thread) }}" data-error-target="< dd | .js-threadMoveWarnings" label="{{ phrase('destination_forum') }}"> <xf:foreach loop="$nodeTree.getFlattened(0)" value="$treeEntry"> <xf:option value="{$treeEntry.record.node_id}" disabled="{{ $treeEntry.record.node_type_id != 'Forum' ? 'disabled' : '' }}"> {{ repeat_raw('&nbsp; ', $treeEntry.depth) }} {$treeEntry.record.title} </xf:option> </xf:foreach> <xf:explain> <div class="block-rowMessage block-rowMessage--important u-hidden u-hidden--transition js-threadMoveWarnings"></div> </xf:explain> </xf:selectrow> <xf:macro template="helper_action" name="thread_redirect" arg-label="{{ phrase('redirection_notice') }}" /> <xf:checkboxrow> <xf:option name="notify_watchers" value="1" selected="{{ true }}">{{ phrase('notify_members_watching_destination_forum') }}</xf:option> </xf:checkboxrow> <xf:if is="$thread.canSendModeratorActionAlert()"> <xf:macro template="helper_action" name="thread_alert" arg-selected="{{ true }}" /> </xf:if> </div> <xf:submitrow icon="save" sticky="true" /> </div> </xf:form>]]>

</template>


-<template title="thread_view" version_string="2.2.4" version_id="2020470" addon_id="XF" type="public">

<![CDATA[<xf:title page="{$page}">{{ prefix('thread', $thread, 'escaped') }}{$thread.title}</xf:title> <xf:h1>{{ prefix('thread', $thread) }}{$thread.title}</xf:h1> <xf:if is="!$thread.isSearchEngineIndexable()"> <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head> </xf:if> <xf:if is="{$xpressView}"> <xf:set var="$uix_condensed" value="1" /> </xf:if> <xf:pageaction> <xf:if is="$thread.canReply()"> <xf:button href="{{ link('threads/reply', $thread) }}" class="button--cta uix_quickReply--button" icon="write">{{ phrase('reply') }}</xf:button> </xf:if> </xf:pageaction> <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:extension name="structured_data_extra_params" value="{{ [] }}" /> <xf:extension name="structured_data"> <xf:set var="$ldJson" value="{{ $thread.getLdStructuredData($firstPost, $page, extension_value('structured_data_extra_params')) }}" /> <xf:if is="$ldJson"> <script type="application/ld+json"> {$ldJson|json(true)|raw} </script> </xf:if> </xf:extension> </xf:page> <xf:extension name="content_top"></xf:extension> <!--[XF:content_top]--> <xf:if is="$pendingApproval"> <div class="blockMessage blockMessage--important">{{ phrase('content_submitted_displayed_pending_approval') }}</div> </xf:if> <xf:if is="$thread.prefix_id"> <xf:if contentcheck="true"> <div class="blockMessage blockMessage--alt blockMessage--small blockMessage--close"> <xf:contentcheck>{{ prefix_description('thread', $thread.prefix_id) }}</xf:contentcheck> </div> </xf:if> </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="$canInlineMod OR $thread.canUseInlineModeration()"> <xf:js src="xf/inline_mod.js" min="1" /> </xf:if> <xf:extension name="above_messages"></xf:extension> <xf:ad position="thread_view_above_messages" arg-thread="{$thread}" /> <xf:widgetpos id="thread_view_above_messages" context-thread="{$thread}" /> <xf:set var="$threadActionsHtml"> <xf:extension name="thread_actions"> <xf:if contentcheck="true"> <div class="block-outer-opposite"> <div class="buttonGroup"> <xf:contentcheck> <xf:extension name="thread_action_buttons"> <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 AND $isSimpleDateDisplay) ? ('#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') }}">&#8226;&#8226;&#8226;</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.canChangeType() AND count($creatableThreadTypes) > 1"> <a href="{{ link('threads/change-type', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('change_thread_type') }}</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:extension> </xf:contentcheck> </div> </div> </xf:if> </xf:extension> </xf:set> <xf:set var="$postSortFilterHtml"> <xf:extension name="post_sort_filter"> <xf:if is="($posts is not empty OR $filters)"> <xf:if contentcheck="true"> <div class="tabs tabs--standalone tabs--standalone--small tabs--standalone--inline"> <xf:contentcheck> <xf:if is="$availableSorts AND count($availableSorts) > 1"> <xf:foreach loop="$availableSorts" key="$sortKey" value="$null"> <a href="{{ link('threads', $thread, $pageNavFilters|replace({'order': $sortKey == $defaultOrder ? null : $sortKey})) }}" class="tabs-tab {{ $sortKey == $effectiveOrder ? 'is-active' : '' }}" rel="nofollow"> {{ phrase_dynamic('thread_sort.' . $sortKey) }} </a> </xf:foreach> </xf:if> <xf:extension name="post_sort_filter_end"></xf:extension> </xf:contentcheck> </div> </xf:if> </xf:if> </xf:extension> </xf:set> <xf:if is="$isFirstPostPinned"> <xf:extension name="pinned_block_before"></xf:extension> <xf:extension name="pinned_block_classes" value="" /> <div class="block block--messages {{ extension_value('pinned_block_classes') }}" data-xf-init="lightbox{{ $xf.options.selectQuotable ? ' select-to-quote' : '' }}" data-message-selector=".js-post" data-lb-id="thread-{$thread.thread_id}"> <xf:extension name="pinned_outer_before"> <xf:macro name="thread_status" arg-thread="{$thread}" arg-wrapperClass="block-outer" /> <div class="block-outer"><xf:trim> {$threadActionsHtml} </xf:trim></div> <xf:macro name="thread_custom_fields_status" arg-thread="{$thread}" arg-forum="{$forum}" arg-wrapperClass="block-outer" /> </xf:extension> <div class="block-container"> <div class="block-body"> <xf:extension name="pinned_body"> <xf:macro name="{{ $templateOverrides.pinned_first_post_macro ?: 'post_macros::post' }}" arg-post="{$pinnedPost}" arg-thread="{$thread}" arg-highlightedPosts="{$highlightedPosts}" args="{$templateOverrides.pinned_first_post_macro_args}" /> </xf:extension> </div> </div> <xf:extension name="pinned_outer_after"></xf:extension> </div> </xf:if> <xf:extension name="above_messages_below_pinned"></xf:extension> <xf:extension name="message_block_classes" value="block--messages" /> <div class="block {{ extension_value('message_block_classes') }}" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="post" data-href="{{ link('inline-mod') }}" data-search-target="*"> <span class="u-anchorTarget" id="posts"></span> <xf:if is="!$isFirstPostPinned"> <xf:macro name="thread_status" arg-thread="{$thread}" arg-wrapperClass="block-outer" /> </xf:if> <div class="block-outer"><xf:extension name="messages_block_outer"><xf:trim> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$totalPosts}" link="threads" data="{$thread}" params="{$pageNavFilters}" hash="{$pageNavHash}" wrapperclass="block-outer-main" /> <xf:if is="!$isFirstPostPinned"> {$threadActionsHtml} </xf:if> <xf:if contentcheck="true"> <div class="block-outer-opposite"> <xf:contentcheck>{$postSortFilterHtml}</xf:contentcheck> </div> </xf:if> </xf:trim></xf:extension></div> <xf:extension name="messages_block_outer_secondary"></xf:extension> <xf:if is="!$isFirstPostPinned"> <xf:macro name="thread_custom_fields_status" arg-thread="{$thread}" arg-forum="{$forum}" arg-wrapperClass="block-outer" /> </xf:if> <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:if is="$posts is not empty"> <xf:foreach loop="$posts" value="$post"> <xf:extension name="messages_block_body_before_post"></xf:extension> <xf:if is="$post.message_state == 'deleted'"> <xf:macro name="{{ $templateOverrides.post_deleted_macro ?: 'post_macros::post_deleted' }}" arg-post="{$post}" arg-thread="{$thread}" args="{$templateOverrides.post_deleted_macro_args}" /> <xf:else /> <xf:macro name="{{ $templateOverrides.post_macro ?: 'post_macros::post' }}" arg-post="{$post}" arg-thread="{$thread}" arg-highlightedPosts="{$highlightedPosts}" args="{$templateOverrides.post_macro_args}" arg-uix_condensed="{$uix_condensed}" /> </xf:if> <xf:extension name="messages_block_body_after_post"></xf:extension> </xf:foreach> <xf:else /> <xf:if is="$filters"> <div class="message"> <div class="message-inner"> <div class="message-cell"> {{ phrase('there_no_posts_matching_your_filters') }} </div> </div> </div> </xf:if> </xf:if> </div> </div> <xf:if contentcheck="true"> <div class="block-outer block-outer--after"> <xf:contentcheck> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$totalPosts}" link="threads" data="{$thread}" params="{$pageNavFilters}" hash="{$pageNavHash}" wrapperclass="block-outer-main" /> <xf:showignored wrapperclass="block-outer-opposite" /> <xf:if is=" !$thread.canReply() AND !$thread.canReplyPreReg() AND $thread.discussion_state == 'visible' AND $thread.discussion_open "> <div class="block-outer-opposite"> <xf:if is="$xf.visitor.user_id"> <span class="button button--wrap 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 button--wrap" 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:extension name="below_messages"></xf:extension> <xf:widgetpos id="thread_view_below_messages" context-thread="{$thread}" /> <xf:set var="$isPreRegReply" value="{{ $thread.canReplyPreReg() }}" /> <xf:if is="$thread.canReply() OR $isPreRegReply"> <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() AND !$isPreRegReply) ? ' guest-captcha' : '' }}" data-message-container="div[data-type='post'] .js-replyNewMessageContainer"> <xf:js src="xf/message.js" min="1" /> <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}" arg-loadExtra="{$isSimpleDateDisplay}" arg-showGuestControls="{{ !$isPreRegReply }}" arg-previewUrl="{{ link('threads/reply-preview', $thread) }}"/> </div> </div> </xf:form> </xf:if> <xf:widgetpos id="thread_view_below_quick_reply" context-thread="{$thread}" /> <xf:extension name="below_quick_reply"></xf:extension> <div class="blockMessage blockMessage--none"> <xf:macro template="share_page_macros" name="buttons" arg-iconic="{{ true }}" arg-label="{{ phrase('share:') }}" /> </div> <xf:extension name="below_share"></xf:extension> <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:macro name="thread_custom_fields_status" arg-thread="!" arg-forum="!" arg-wrapperClass=""> <div class="{$wrapperClass} 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> </xf:macro> <xf:widgetpos id="thread_view_sidebar" context-thread="{$thread}" position="sidebar" />]]>

</template>


-<template title="thtopics_topic_heading" version_string="1.0.3" version_id="1000370" addon_id="" type="public">

<![CDATA[<xf:if is="{{ $xf.options.thtopics_enableTopics }}"> <xf:css src="thtopics.less" /> <xf:css src="thtopics_topic_cache.less" /> <div class="p-body-header--inner uix_headerInner"> <xf:if is="($template === 'thread_view') OR ($template === 'topic_view')"> <ul class="thTopicHeading__container__topics"> <li class="thTopicHeading__container__topics__topic"><a href="{{ link('forums/all-threads', null, {'topics': $topic.title . '.' . $topic.topic_id}) }}" class="thTopic thTopic--inverted thTopic--{$topic.topic_id} {$topic.extra_class}">{$topic.title}</a></li> <xf:foreach loop="$thread.additional_topics" value="$additionalTopic"> <li class="thTopicHeading__container__topics__topic"><a href="{{ link('forums/all-threads', null, {'topics': $additionalTopic.title . '.' . $additionalTopic.topic_id}) }}" class="thTopic--additional {$topic.extra_class}">{$additionalTopic.title}</a></li> </xf:foreach> </ul> <div class="p-title"> <h1 class="p-title-value">{{ prefix('thread', $thread) }}{$thread.title}</h1> </div> <div class="p-description">{$description}</div> <xf:else /> <div class="p-title"> <h1 class="p-title-value">{$topic.title}</h1> </div> <div class="p-description">{$topic.description}</div> </xf:if> </div> <xf:if contentcheck="true"> <div class="uix_headerInner--opposite"> <div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div> </div> </xf:if> </xf:if>]]>

</template>


-<template title="thtrending_trending_view" version_string="1.0.4 Patch Level 1" version_id="1000491" addon_id="" type="public">

<![CDATA[<xf:title>{$trending.title}</xf:title> <xf:wrap template="forum_overview_wrapper" /> <xf:page option="uix_mainTabSets" value="forum" /> <xf:page option="uix_mainTabActive" value="trending" /> <xf:pageaction> <xf:if is="$xf.visitor.canCreateThread()"> <xf:button href="{{ link('forums/create-thread') }}" class="button--cta" icon="write" overlay="true"> {{ phrase('post_thread...') }} </xf:button> </xf:if> </xf:pageaction> <xf:widgetpos id="thtrending_trending_sidebar" position="sidebar" /> <xf:widgetpos id="thtrending_trending_sidenav" position="sidenav" /> <xf:if is="$xf.options.forumsDefaultPage === 'thtrending_trending_list'"> <xf:widgetpos id="thuix_index_page" position="sidebar" /> </xf:if> <xf:widgetpos id="thtrending_trending_above_threads" /> <xf:if is="count($trendingConfigs) > 1"> <div class="tabs tabs--standalone"> <div class="hScroller" data-xf-init="h-scroller"> <span class="hScroller-scroll"> <xf:foreach loop="$trendingConfigs" value="$item"> <a href="{{ link('trending', $item) }}" class="tabs-tab {{ ($trending.trending_id == $item.trending_id) ? 'is-active' : '' }}">{$item.title}</a> </xf:foreach> </span> </div> </div> </xf:if> {$trending.renderTrendingContent()|raw} <xf:widgetpos id="thtrending_trending_below_threads" />]]>

</template>


-<template title="thxpress_article_wrapper_macros" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<!--dont believe we need this anymore (IH) --> <xf:macro name="header" arg-article="!" arg-thread="!" arg-titleHtml="{{ null }}" arg-showMeta="{{ true }}" arg-metaHtml="{{ null }}"> <xf:pageaction> <xf:if is="$thread.canReply()"> <xf:button href="{$article.link}" class="button--cta" icon="article"> {{ phrase('thxpress_go_to_article') }} </xf:button> </xf:if> <xf:if is="$thread.canReply()"> <xf:button href="{{ link('threads/reply', $thread) }}" class="button--cta uix_quickReply--button" icon="write"> {{ phrase('reply') }} </xf:button> </xf:if> </xf:pageaction> </xf:macro>]]>

</template>


-<template title="thxpress_inputs.less" version_string="1.1.1 Patch Level 1" version_id="1010191" addon_id="" type="public">

<![CDATA[// ###################################### INPUTS ########################## @_input-numberWidth: 150px; @_input-numberNarrowWidth: 90px; @_input-textColor: xf-default(@xf-input--color, @xf-textColor); @_input-elementSpacer: @xf-paddingMedium; @_input-checkBoxSpacer: 1.5em; .m-inputReadOnly() { color: mix(xf-default(@xf-input--color, @xf-textColor), xf-default(@xf-inputDisabled--color, @xf-textColorMuted)); background: mix(xf-default(@xf-input--background-color, @xf-contentBg), xf-default(@xf-inputDisabled--background-color, @xf-paletteNeutral1)); } body .p-pageWrapper .p-body { input[type="search"], input[type="text"], input[type="email"], input[type="url"], select, textarea { .xf-input(); display: block; width: 100%; line-height: @xf-lineHeightDefault; text-align: left; // this will be flipped in RTL word-wrap: break-word; -webkit-appearance: none; -moz-appearance: none; appearance: none; .m-transition(); .m-placeholder({color: fade(@_input-textColor, 40%); }); .m-inputZoomFix(); &:focus, { outline: 0; .xf-inputFocus(); .m-placeholder({color: fade(@_input-textColor, 50%); }); } &[readonly], &.is-readonly { .m-inputReadOnly(); } &[disabled] { .xf-inputDisabled(); } &[type=number] { text-align: right; max-width: @_input-numberWidth; &.input--numberNarrow { width: @_input-numberNarrowWidth; } } } textarea { min-height: 0; max-height: 400px; max-height: 75vh; resize: vertical; &.input--fitHeight { resize: none; &.input--fitHeight--short { max-height: 200px; max-height: 35vh; } } &.input--code { overflow-x: auto; -ltr-rtl-text-align: left; // force blocks of code back to left align } &.input--maxHeight-300px { max-height: 300px; } .has-js &[rows="1"][data-single-line] { overflow: hidden; resize: none; } } // this makes select inputs consistent across all browsers and OSes select { padding-right: 1em !important; .m-selectGadgetColor(@_input-textColor); background-size: 1em !important; background-repeat: no-repeat !important; -ltr-background-position: 100% !important; white-space: nowrap; word-wrap: normal; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; overflow-x: hidden; // iOS seems to require this to prevent overflow with long options... overflow-y: auto; // ...and Firefox seems to require this to prevent the above from breaking vertical scroll... &[disabled] { .m-selectGadgetColor(xf-default(@xf-inputDisabled--color, @xf-textColor)); } &[size], &[multiple] { background-image: none !important; padding-right: xf-default(@xf-input--padding, 5px) !important; } } }]]>

</template>


-<template title="thxpress_sidebar.less" version_string="1.1.1 Release Candidate 1" version_id="1010151" addon_id="" type="public">

<![CDATA[@xpress_sidebarRowPaddingV: @xf-uix_widgetPadding; @xpress_sidebarRowPaddingH: @xf-uix_widgetPadding; /* Sidebar widgets */ .p-body-sidebar { .block-xpress { .block-container > .block-body:first-child { display:none; & + .block-minorHeader { border-top: none; } } .block-container > .block-body:first-child:last-child {display:block;} .block-row ul:not(.listInline) { .m-listPlain(); margin: -@xpress_sidebarRowPaddingV -@xpress_sidebarRowPaddingH; > li { margin: 0; padding: @xpress_sidebarRowPaddingV @xpress_sidebarRowPaddingH; .m-clearFix(); } } .widget_search button .icon {display: none;} .block-container {color: @xf-textColorDimmed;} &.widget_media_audio .block-row { background: #f2f3f4; padding: 0; } #wp-calendar { text-align: center; width: 100%; } &.widget_tag_cloud .tagcloud .wp-tag-cloud { display: flex; flex-wrap: wrap; margin: -2px; li {padding: 0;} .tag-cloud-link { display: inline-block; max-width: 100%; padding: 0 6px 1px; margin: 0 0 2px; border-radius: @xf-borderRadiusMedium; font-size: @xf-fontSizeSmaller; .xf-chip(); margin: 2px; } } .search-form { display: flex; .button { height: auto; line-height: 1; padding: 0 4px; margin-left: 6px; .button-text { font-size: 0; &:before { font-size: 18px; margin: 0; } } } } } }]]>

</template>


-<template title="thxpress_thirdParty.less" version_string="1.1.1 Patch Level 1" version_id="1010191" addon_id="" type="public">

<![CDATA[/******************************** * * * Woocommerce * * * *******************************/ // Buttons body .p-pageWrapper .woocommerce #respond input#submit, body .p-pageWrapper .woocommerce button.button, body .p-pageWrapper .woocommerce a.button, body .p-pageWrapper .woocommerce button.button, body .p-pageWrapper .woocommerce button.button.alt, body .p-pageWrapper .woocommerce input.button { padding: 0; .xf-buttonBase() !important; .xf-buttonDefault() !important; .xf-buttonPrimary() !important; &:disabled, &:disabled[disabled] { padding: 0; .xf-buttonBase() !important; .xf-buttonDisabled() !important; } &:hover { .xf-uix_buttonHover(); .xf-uix_buttonPrimaryHover(); } &:active { .xf-uix_buttonActive(); .xf-uix_buttonPrimaryActive(); } } // Tabs body.woocommerce div.product .woocommerce-tabs ul.tabs { // remove woo styling background: none; border: none; margin: 0; &:before {display: none;} // add xf styling padding: 0; margin-bottom: @xf-elementSpacer; font-weight: @xf-fontWeightNormal; .xf-blockBorder(); .xf-standaloneTab(); li { // remove woo styling line-height: @xf-lineHeightDefault; margin: 0; border-radius: 0; border: none; background: none; &:before, &:after {display: none;} // add xf styling padding: @xf-blockPaddingV @xf-blockPaddingH max(0px, @xf-blockPaddingV - @xf-borderSizeFeature); border-bottom: @xf-borderSizeFeature solid transparent; a { padding: 0; font-weight: inherit; color: inherit; } &:hover { color: @xf-standaloneTabSelected--color; } &.active { // remove woo styling background: none; border: none; // add xf styling border-bottom: @xf-borderSizeFeature solid transparent; .xf-standaloneTabSelected(); } } } // Product listing .woocommerce ul.products li {text-align: center;} body.woocommerce ul.products, .woocommerce-page ul.products { display: flex; flex-wrap: wrap; li.product { .xf-contentBase(); .xf-blockBorder() .xf-uix_blockContainer(); border-radius: @xf-blockBorderRadius; .m-transition(); .m-transitionProperty(border margin); // edgeSpacerRemoval padding: @xf-blockPaddingV @xf-blockPaddingH; display: flex; flex-direction: column; .woocommerce-LoopProduct-link {flex-grow: 1;} .price { font-size: @xf-fontSizeLarger; color: @xf-textColorMuted; font-weight: @xf-fontWeightHeavy; margin: 0; } .button {margin-top: @xf-paddingMedium;} } } // Product single .article-full.product { .thxpress_authorBlock {display: none;} .summary .price { font-size: @xf-fontSizeLargest; color: @xf-linkColor; margin: 0; } } // Cart body .woocommerce { .woocommerce-cart-form__contents, table.shop_table { border: none; .xf-contentBase(); .xf-blockBorder() border-radius: @xf-blockBorderRadius; .m-transition(); .m-transitionProperty(border margin); // edgeSpacerRemoval .xf-uix_blockContainer(); thead { .xf-blockFilterBar(); } } } // Notices body .woocommerce-info, body .woocommerce-error, body .woocommerce-message, { .xf-blockBorder(); .xf-blockBorder(); .xf-contentBase(); border: 2px solid @xf-uix_primaryColor; } body .woocommerce-error {background: @xf-errorBg; border-color: darken(@xf-errorBg, 35%);}]]>

</template>


-<template title="uix.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[{{ include('uix_buttonRipple.less') }} {{ include('uix_pageAnimations.less') }} {{ include('uix_canvas.less') }} {{ include('uix_thirdParty.less') }} {{ include('uix_bandaids.less') }} <xf:if is="property('uix_onlineIndicator') == 'pulse'"> @keyframes pulse { from { opacity: 1; border-width: 0px; transform: scale(1); } to { transform: scale(2); opacity: 0; border-width: 8px; } } .message-avatar-online { display: inline-flex; align-items: center; justify-content: center; &:after { content: ''; position: absolute; height: 100%; width: 100%; border-radius: 100%; border: 1px solid rgb(127, 185, 0); height: 13px; width: 13px; opacity: 1; animation: pulse 1.5s; animation-iteration-count: infinite; animation-timing-function: ease; transform-origin: center; } } </xf:if> .fb-page { width: 100%; } .tabPanes .block-outer {padding-top: @xf-elementSpacer;} .uix_node--transitioning { .m-uix_collapseOverflow(); } .message .message-responses { .message-responseRow { &:first-child, &.is-active { margin-top: @xf-messagePaddingSmall; } } .comment .comment-actionBar.actionBar { border: none; margin: 0; } } .p-nav-menuTrigger { position: relative; &.badgeContainer:after { position: absolute; left: -5px; top: -5px; @media (min-width: @xf-responsiveNarrow) { display: none !important; } } } .menu-footer-controls { display: flex; flex-wrap: wrap; .button:not(:last-child) { margin-right: 5px; } } .p-navEl .menu-linkRow:before {margin-right: @xf-paddingSmall; } <xf:if is="property('uix_sidebarMobileCanvas')"> @media (min-width: @xf-uix_sidebarBreakpoint) { .uix_sidebarCanvasTrigger {display: none;} } @media (max-width: @xf-uix_sidebarBreakpoint) { body .p-body-sidebar { position: fixed; top: 0; left: 0; bottom: 0; right: 0; transform: translatex(-100%); margin: 0; <xf:if is="property('uix_sidebarMobileCanvas')"> overflow: hidden !important; </xf:if> &.is-transitioning { transition: ease-in .25s .25s transform; .uix_sidebarInner {transition: transform 0.25s ease-in;} &.is-active {transition: ease-in .01s transform;} } .uix_sidebarInner { // padding: 0; margin: 0; <xf:if is="{{ property('uix_sidebarLocation') }} == 'right'"> transform: translatex(200%); margin-left: auto; <xf:else /> transform: translatex(-100%); </xf:if> } .block-container {box-shadow: none;} .uix_sidebar--scroller { margin: 0; width: 100%; } &.is-active { transform: translatex(0); .uix_sidebarInner.offCanvasMenu-content { transform: translatex(0); } } } } <xf:else /> @media (max-width: @xf-uix_sidebarBreakpoint) { body .uix_sidebarInner .uix_sidebar--scroller {margin-top: 0;} } </xf:if> // added to vertically center discussion list meta info .structItem-cell--icon + .structItem-cell--main, .structItem-cell--icon + .structItem-cell--newThread { padding-left: 0; } .structItem-cell--main .structItem-minor { display: flex; align-items: center; .structItem-parts {flex-grow: 1;} .structItem-extraInfo {order: 2; margin-left: auto;} .structItem-statuses {order: 1;} } // end .block.uix_mainTabBar { display: flex; justify-content: center; .xf-uix_mainTabsBarStyling(); .block-tabHeader {border: none;} .tabs-tab:hover {background: none;} } .p-pageWrapper > .block.uix_mainTabBar { margin: 0; } .offCanvasMenu-content { min-height: 100vh; .menu-scroller { max-height: 100%; } } .offCanvasMenu-content .p-body-sideNavContent { .block {margin: 0;} .block-container { box-shadow: none; } } .p-body-header .uix_sidebarTrigger__component {margin-left: @xf-paddingMedium;} .cover .memberHeader-blurb.pairs { border-color: rgba(255,255,255,.3); } .hScroller-scroll { &.th_scroller--start-active { -webkit-mask-image: linear-gradient(to right, transparent 3%, black 10%); mask-image: linear-gradient(to right, transparent 3%, black 10%); } &.th_scroller--end-active { -webkit-mask-image: linear-gradient(to left, transparent 3%, black 10%); mask-image: linear-gradient(to left, transparent 3%, black 10%); } &.th_scroller--end-active.th_scroller--start-active { -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,0) 3%,rgba(0,0,0,1) 10%,rgba(0,0,0,1) 90%,rgba(0,0,0,0) 97%); mask-image: linear-gradient(to right, rgba(0,0,0,0) 3%,rgba(0,0,0,1) 10%,rgba(0,0,0,1) 90%,rgba(0,0,0,0) 97%); } } .block[data-widget-definition="visitor_panel"] .contentRow {margin-bottom: @xf-paddingMedium;} .block[data-widget-definition="th_widget_login_uix"] .formSubmitRow-controls { padding-left: 0; text-align: center; } .uix_loginProvider__row { dt {display: none;} dd {text-align: center;} } .thBranding__pipe {display: none;} .p-footer-copyright > * ~ .thBranding .thBranding__pipe {display: inline;} .offCanvasMenu-link {padding: @xf-paddingMedium @xf-paddingLarge;} .offCanvasMenu-subList {padding-bottom: 0;} *::selection, { .xf-uix_textSelection(); /* WebKit/Blink Browsers */ } *::-moz-selection { .xf-uix_textSelection(); /* Gecko Browsers */ } .block-container { .uix_newIndicator { .xf-uix_newNodeMarkerStyle(); } } /* --- Sticky kit header fix --- */ .uix_headerContainer--stickyFix { height: 1px; visibility: hidden; } .uix_headerContainer {margin-top: -1px !important;} /* -- fixes sticky kit abs positioning for sticky header on covered themes -- */ <xf:if is="{{ property('uix_pageStyle') }} == 'covered'"> .has-no-hiddenscroll .is-modalOpen .is-sticky { margin-left: 0px; } </xf:if> .uix_adminTrigger {display: none !important;} <xf:if is="property('uix_collapseStaffbarLinks')"> @media (max-width: @xf-uix_viewportCollapseStaffLinks) { .p-staffBar-link {display: none !important;} .uix_adminTrigger {display: inline-block !important;} } </xf:if> /***** Abridged Signatures *******/ .uix_signatureExpand {display: none;} .message-signature { overflow: hidden; transition: ease-in-out .2s height; &--expandable { height: @xf-uix_signatureMaxHeight + 0px; // adding 0 converts the number to px value} <xf:if is="property('messageSignature--background-color')"> @signatureBgColor: @xf-messageSignature--background-color; <xf:elseif is="property('uix_message--background-color')" /> @signatureBgColor: @xf-uix_message--background-color; <xf:elseif is="property('contentBase--background-color')" /> @signatureBgColor: @xf-contentBase--background-color; <xf:else /> @signatureBgColor: @xf-contentBg; </xf:if> .uix_signatureExpand { padding-bottom: @xf-paddingLarge; background: linear-gradient(to bottom, fade(@signatureBgColor, 0%), @signatureBgColor 40%); text-align: center; display: flex; justify-content: center; align-items: flex-end; height: 60px; position: absolute; bottom: 0; left: 0; right: 0; color: @xf-textColorAttention; &:hover {cursor: pointer;} } } &.message-signature--expanded { height: auto; padding-bottom: @xf-paddingLarge; .bbWrapper {padding-bottom: (@xf-paddingLarge * 2);} .uix_signatureExpand {background: none;} } } /***** extra user info postbit collapse *******/ <xf:if is="property('uix_collapseExtraInfo')"> .thThreads__userExtra--toggle { text-align: center; margin-top: @xf-paddingMedium; .thThreads__userExtra--trigger { transition: ease-in transform .2s .2s; display: inline-block; &:hover {cursor: pointer;} &:before { .m-faBase(); .m-faContent(@fa-var-chevron-down); } } } </xf:if> .thThreads__message-userExtras { height: 0; overflow: hidden; transition: ease-in height .2s; } @media (max-width: @xf-messageSingleColumnWidth) { .thThreads__message-userExtras {display: none;} .thThreads__userExtra--toggle {display: none;} } .userExtra--expand { .thThreads__message-userExtras {height: auto;} .thThreads__userExtra--trigger {transform: rotate(-180deg);} } /*------- sticky thread collapse ------- */ <xf:if is="property('uix_collapsibleStickyThreads')"> .uix_threadCollapseTrigger { transition: ease transform .2s; margin-left: auto; font-size: 18px; &.is-active {transform: rotate(-180deg);} } .uix_stickyContainerOuter { transition: ease-in height 0.3s, ease-in opacity 0.3s; opacity: 1; display: none; opacity: 0; -webkit-transition: all 0.2s ease, -xf-opacity 0.2s ease; transition: all 0.2s ease, -xf-opacity 0.2s ease; overflow-y: hidden; height: 0; -webkit-transition-property: all, -xf-height; transition-property: all, -xf-height; &.is-active { display: block; opacity: 1; height: auto; overflow-y: visible; } &.is-transitioning { display: block; width: 100%; } &.is-transitioning { overflow-y: hidden; } .uix_stickyContainerInner { width: 100%; display: table; } } .uix_stickyContainerOuter.uix_threadListSeparator--collapsed { height: 0; opacity: 0; pointer-events: none; transition: ease-in height 0.3s, ease-in opacity 0.3s; .uix_block-body--outer { height: 0 !important; opacity: 0; pointer-events: none; } } </xf:if> /*------- category collapse ------- */ <xf:if is="property('uix_categoryCollapse')"> @keyframes overflow-delay { from { overflow: visible; } } @keyframes overflow-show { from { overflow: hidden; } } .category--collapsed.block--category { .uix_block-body--outer { height: 0 !important; opacity: 0; pointer-events: none; animation: .3s overflow-delay; overflow: hidden; // animation-delay: .3s; // animation-fill-mode: backwards; } .categoryCollapse--trigger {transform: rotate(-180deg);} &:hover {text-decoration: none;} } .categoryCollapse--trigger { transition: @uix_move transform .2s; overflow: hidden; height: 18px; min-width: 24px; width: 24px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none !important; } .block--category .uix_block-body--outer { transition: @uix_move height 0.3s, @uix_move opacity 0.3s; opacity: 1; animation: .3s overflow-show; overflow: visible; } </xf:if> /*------- Sidebar collapse ------- */ a.uix_sidebarTrigger__component { display: inline-flex; align-items: center; &:hover {cursor: pointer;} <xf:if is="property('uix_viewportWidthRemoveSubNav') != '100%'"> <xf:if is="property('uix_sidebarTriggerPosition') == 'sectionLinks'"> @media (min-width: {{ property('uix_viewportWidthRemoveSubNav') + 1}}px) { .p-nav-inner & {display: none !important;} } </xf:if> </xf:if> <xf:if is="property('uix_sidebarTriggerPosition') == 'titlebar'"> @media (min-width: {{ property('responsiveWide') + 1}}px) { .p-nav-inner & {display: none !important;} } @media (max-width: @xf-responsiveWide) { .p-body-header & {display: none !important;} } </xf:if> .p-nav-inner & { color: inherit; color: @xf-publicNavTab--color; background: none !important; box-shadow: none; border: none; .uix_sidebarTrigger--phrase { display: none; } i { font-size: @xf-uix_iconSizeLarge; width: auto; padding: 0; margin: 0; &:before { display: inline-flex; justify-content: center; width: 10px; } } } &.uix_sidebarCanvasTrigger { @media (min-width: {{ property('uix_sidebarBreakpoint') + 1}}px) { display: none; } } &.uix_sidebarTrigger { @media (max-width: @xf-uix_sidebarBreakpoint) { display: none; } } i { // transform: rotate(0); // transition: ease-in transform .2s; font-size: @xf-uix_iconSize; margin-left: -7px; } <xf:if is="property('uix_sidebarLocation') == 'left'"> span {order: 1;} /* i { transform: rotate(-180deg); .uix_sidebarCollapsed & { transform: rotate(0); } } */ </xf:if> } <xf:if is="property('uix_collapsibleSidebar')"> .p-body-sidebar { transition: ease-in opacity .2s .2s, ease-in max-height .2s .2s; opacity: 1; max-height: 100%; .uix_sidebarInner { transition: .01s .2s transform; } } @media (min-width: @xf-responsiveWide) { .uix_sidebarCollapsed { .p-body-sidebar { transition: ease-in opacity 0.2s, ease-in max-height .2s .01s; opacity: 0; max-height: 0; } .uix_sidebarInner { transition: .0.01s .0.01s transform; transform: scaleY(0); } .p-body-main--withSidebar .p-body-content { width: 100%; max-width: 100%; <xf:if is="{{ property('uix_sidebarLocation') == 'left' }}"> transition: ease-in width 0.2s 0.2s, ease-in max-width 0.2s .2s </xf:if> } .p-body-main--withSidebar.p-body-main--withSideNav .p-body-content { width: calc(~"100% - {{ property('sidebarWidth') + property('elementSpacer')}}px"); max-width: calc(~"100% - {{ property('sidebarWidth') + property('elementSpacer')}}px"); <xf:if is="{{ property('uix_sidebarLocation') == 'left' }}"> transition: ease-in width 0.2s 0.2s, ease-in max-width 0.2s .2s </xf:if> } } } </xf:if> <xf:if is="property('uix_sidebarLeft')"> .button.uix_sidebarTrigger__component { flex-direction: row-reverse; } </xf:if> /*------- navigation icons------- */ body .p-navEl-link, body .offCanvasMenu-link { font-family: inherit; font-weight: inherit; -webkit-font-smoothing: initial; } <xf:if is="property('uix_navTabIcons')"> .p-navEl-link:before, .offCanvasMenu-link:before { .m-faBase(); .xf-uix_navTabIconStyle(); } <xf:if is="!property('uix_navTabIcons')"> .p-navEl-link:before {display: none !important;} </xf:if> .p-navEl-link:not(.mdi):not(.fa), .offCanvasMenu-link:not(.mdi):not(.fa) { <xf:if is="{{ property('uix_iconFontFamily') }} == 'fontawesome'"> &[data-nav-id]:before {.m-faBase();} </xf:if> <xf:if is="{{ property('uix_defaultNavIcon') }}"> &[data-nav-id]:before { .m-faContent(@fa-var-folder); } </xf:if> .offCanvasMenu-link {dislay: none;} &[data-nav-id="thxpress"]:before { .m-faContent(@fa-var-newspaper); } &[data-nav-id="th_donate"]:before { .m-faContent(@fa-var-gift); } &[data-nav-id="home"]:before { .m-faContent(@fa-var-home); } &[data-nav-id="forums"]:before { .m-faContent(@fa-var-comments); } &[data-nav-id="whatsNew"]:before { .m-faContent(@fa-var-bolt); } &[data-nav-id="members"]:before { .m-faContent(@fa-var-users); } &[data-nav-id="profile"]:before { .m-faContent(@fa-var-user); } &[data-nav-id="alerts"]:before { .m-faContent(@fa-var-bell); } &[data-nav-id="settings"]:before { .m-faContent(@fa-var-cog); } &[data-nav-id="xfmg"]:before { .m-faContent(@fa-var-image); } &[data-nav-id="xfrm"]:before { .m-faContent(@fa-var-cogs); } &[data-nav-id="ad_leaderboards"]:before { .m-faContent(@fa-var-podium); } &[data-nav-id="EWRporta"]:before, &[data-nav-id="blog"]:before, &[data-nav-id="XPRESS"]:before { .m-faContent(@fa-var-newspaper); } } .p-sectionLinks .p-navEl-link:before, .offCanvasMenu-subList .offCanvasMenu-link:before {display: none !important;} </xf:if> /* ---Force header content fluid --- */ <xf:if is="(property('uix_navigationType') == 'sidebarNav') && (property('uix_pageStyle') == 'covered')"> .p-staffBar .pageContent, .p-header-inner, .p-nav-inner, .p-sectionLinks .pageContent {max-width: 100%;} </xf:if> /* ---Sidebar Navigation --- */ .p-nav .p-nav-menuTrigger.uix_sidebarNav--trigger {display: none;} <xf:if is="(property('uix_navigationType') == 'sidebarNav') && (property('uix_pageStyle') == 'covered')"> @media (min-width: {{ property('publicNavCollapseWidth') + 1 }}px ) { .uix_page--fluid.sidebarNav--active .p-body-inner { width: calc( ~"100% - {{ property('uix_sidebarNavWidth') }} - {{property('elementSpacer') * 2 }}px"); } .p-nav .p-nav-menuTrigger.uix_sidebarNav--trigger {display: inline-block;} .uix_page--fixed.sidebarNav--active .p-body-inner { @media (max-width: @uix_sidebarNavBreakpoint) { width: calc( ~"100% - {{ property('uix_sidebarNavWidth') }} - {{property('elementSpacer') * 2 }}px"); } @media (min-width: calc(@uix_sidebarNavBreakpoint + 1px) ) { left: -105px; } } } </xf:if> .uix_sidebarNav__inner__widgets { padding: @xf-paddingLarge; } .sidebarNav--active .uix_sidebarNav { margin-left: 0; } .uix_stickyBodyElement:not(.offCanvasMenu) { position: sticky; position: -webkit-sticky; <xf:comment> -- sticky test -- .uix_stickyBottom & { top: unset !important; bottom: @xf-elementSpacer; margin-top: auto; } </xf:comment> } .uix_stickyBottom .p-body-sidebar {display: flex;} .uix_sidebarNav { .uix_sidebarNav__inner { overflow: hidden; } .uix_sidebar--scroller { overflow-y: auto; margin-right: -30px; padding-right: 32px; } } <xf:if is="property('uix_stickySidebar') == 'top'"> .uix_sidebarInner, .p-body-sideNavInner:not(.offCanvasMenu) { position: static; } @media (min-width: {{property('uix_sidebarBreakpoint') + 1}}px ) { .uix_sidebarInner, .p-body-sideNavInner { position: sticky; position: -webkit-sticky; } <xf:if is="property('uix_scrollableSidebar')"> .uix_sidebarInner, .p-body-sideNavInner { overflow: hidden; .block { margin-left: 2px; margin-rght: 2px; } .uix_sidebar--scroller { overflow-y: auto; max-height: 90vh; margin-right: -30px; padding-right: 32px; padding-top: 2px; padding-bottom: 2px; } } </xf:if> } </xf:if> .offCanvasMenu .offCanvasMenu-link:before { font-size: @xf-uix_iconSizeLarge !important; padding-right: 1em; } .offCanvasMenu-link { display: flex; align-items: center; &.offCanvasMenu-link--splitToggle {font-size: 18px;} } .offCanvasMenu .uix_sidebar--scroller { @media (max-width: @xf-uix_sidebarBreakpoint) { position: static !important; + div[style*="position"] {display: none !important;} } } .uix_sidebarNav { .xf-uix_sidebarNavigationStyle(); width: @xf-uix_sidebarNavWidth; min-width: @xf-uix_sidebarNavWidth; padding-bottom: @xf-elementSpacer; margin-left: -{{property('uix_sidebarNavWidth')}}; <xf:if is="property('uix_pageStyle') != 'covered'"> padding-top: @xf-elementSpacer; </xf:if> z-index: 1; transition: ease-in-out margin-left .3s; @media (max-width: @xf-publicNavCollapseWidth) { margin-left: -{{property('uix_sidebarNavWidth')}} !important; } .uix_sidebarNavList { padding: 10px 0; margin: 0; border-bottom: 1px solid @xf-borderColor; line-height: 40px; width: @xf-uix_sidebarNavWidth - 2px; &:first-child {padding-top: 0;} &:last-child {border-bottom: none;} .uix_sidebarNav__subNav { display: block; height: 0; overflow: hidden; transition: ease-in height .3s; &.subNav--expand {height: auto;} } .menu-linkRow { padding: 0 @xf-paddingLarge; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; color: @xf-textColorDimmed; border: none; .xf-uix_canvasNavSubItem(); &:hover { border: none; .xf-uix_canvasNavItemHover(); } } .p-navEl-link span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; } .uix_sidebarNavList__title { padding: 0 @xf-paddingLarge; font-size: @xf-fontSizeSmaller; color: @xf-textColorMuted; } > li { display: block; .p-navEl:before, .p-navEl:after {display: none;} .p-navEl__inner { display: flex; align-items: center; .xf-uix_canvasNavItem(); } .p-navEl__inner:hover, .blockLink:hover { .xf-uix_canvasNavItemHover(); } .is-selected .p-navEl__inner { .xf-uix_canvasNavItemActive(); a, .p-navEl-link { color: inherit; } } .p-navEl {display: block;} .p-navEl-link, .p-navEl-linkHolder, .blockLink { display: flex; min-width: 0; align-items: center; padding: 0 @xf-paddingLarge; color: @xf-textColorDimmed; background: none; width: 100%; text-decoration: none; float: none; &:before { font-size: @xf-uix_iconSizeLarge !important; width: @xf-uix_iconSizeLarge !important; padding-right: 1em; } } .p-navEl-linkHolder {padding: 0;} .blockLink { padding-left: 50px; } .uix_sidebarNav--trigger { font-size: @xf-uix_iconSize; color: inherit; padding-right: @xf-paddingLarge; .fa--xf {transition: ease-in transform .3s;} &.is-expanded .fa--xf {transform: rotate(-180deg);} } .p-navEl-splitTrigger, .p-navEl-link--menuTrigger:after {display: none;} } } } /* ---VISITOR TABS --- */ .p-account { background-color: transparent; .p-navgroup-link { display: flex; align-items: center; border: none; } } .p-nav .p-navgroup-link:hover {.xf-publicNavTabHover();} {{ include('uix_searchComponent.less') }} /* ---UTILITIES --- */ .media__container { display: flex; .media--left {margin-right: @xf-paddingMedium;} } {{ include('uix_footer.less') }} /* ---Login form sliding panel --- */ <xf:if is="property('uix_loginStyle') == 'slidingPanel'"> .uix__loginForm--panel { background: @xf-contentHighlightBg; overflow: hidden; position: absolute; z-index: 200; transition: ease-in .2s transform; left: 0; right: 0; transform: translateY(-100%); top: 0; } .uix__loginForm--mask { position: absolute; top: 0; left: 0; right: 0; background-color: transparent; transition: ease-in .2s background-color; } .uix__loginForm.is-active .uix__loginForm--panel {transform: translateY(0);} .uix__loginForm.is-active .uix__loginForm--mask { background-color: rgba(0,0,0,.4); bottom: 0; } .uix__loginForm--panel form { .m-pageWidth(); } .uix__loginForm--panel .block-container, .uix__loginForm--panel .formRow > dt, .uix__loginForm--panel .formRow > dd, .uix__loginForm--panel .formSubmitRow-bar { background: none; box-shadow: none; border: none; } .uix__loginForm--panel .block-outer {display: none;} </xf:if> .uix_discussionList { .xf-uix_discussionList(); } [type=checkbox], [type=radio], legend {margin-right: .5em;} .structItem-extraInfo [type=checkbox] {margin-right: 0;} form.structItem { display: flex; max-width: 100%; } .structItem-cell--newThread {flex-grow: 1; min-width: 0;} .uix_messageContent { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; width: 100%; } .uix_socialMedia { display: inline-flex; flex-wrap: wrap; margin: 0 -6px; padding: 0; li {display: inline-block;} li a { margin: 6px; line-height: 1; display: inline-block; .xf-uix_socialMediaIcon(); } } .uix_headerContainer { .xf-uix_headerWrapper(); display: flex; flex-direction: column; <xf:if is="property('uix_pageStyle') != 'wrapped'"> @media (min-width: {{ property('responsiveEdgeSpacerRemoval') + 1 }}px) { margin-top: @xf-uix_headerWhiteSpace; } </xf:if> @media (min-width: @xf-responsiveMedium) { > *:not(.p-nav) { margin-bottom: @xf-uix_headerWhiteSpace; &:last-child {margin-bottom: 0;} } } } <xf:if is="{{property('uix_removeHeaderWrapper')}}"> @media (min-width: {{ property('responsiveEdgeSpacerRemoval') + 1 }}px) { .p-staffBar, .p-header { margin-bottom: @xf-uix_headerWhiteSpace; } } </xf:if> .p-pageWrapper { <xf:if is="property('uix_pageStyle') != 'wrapped'"> @media (min-width: {{ property('responsiveEdgeSpacerRemoval') + 1 }}px) { margin-top: @xf-uix_headerWhiteSpace; } </xf:if> } <xf:if is="property('uix_detachedNavigation')"> .p-body > * {padding-top: @xf-elementSpacer;} </xf:if> .uix_pageWrapper--fixed { <xf:if is="property('uix_pageStyle') != 'wrapped'"> width: 100%; </xf:if> <xf:if is="property('uix_pageStyle') == 'wrapped'"> .m-pageWidth(); .uix_page--fluid & { @media (min-width: @xf-pageWidthMax) { max-width: 95%; } } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { padding: 0 !important; } </xf:if> position: relative; left: 0; transition: max-width .2s, ease-in left .2s; } /* --- post thread widget --- */ .uix_postThreadWidget { border-top: 4px solid @xf-uix_primaryColor; text-align: center; padding: @xf-paddingLarge; color: @xf-textColorDimmed; i { height: 50px; width: 50px; line-height: 50px; border-radius: 100%; background-color: fade(@xf-uix_primaryColor, 20%); color: @xf-uix_primaryColor; display: inline-block; font-size: @xf-uix_iconSizeLarge; } .uix_postThreadWidget__title { font-size: @xf-fontSizeLarger; font-weight: @xf-fontWeightHeavy; color: @xf-textColor; } .button {margin-top: @xf-paddingMedium;} } <xf:if is="property('uix_borderRadiusJs')"> /* --- border radius javascript --- */ @media (min-width: @xf-responsiveEdgeSpacerRemoval) { .uix_smartBorder--noTop { border-bottom-left-radius: @xf-borderRadiusLarge !important; border-bottom-right-radius: @xf-borderRadiusLarge !important; } .uix_smartBorder--noBottom { border-top-left-radius: @xf-borderRadiusLarge !important; border-top-right-radius: @xf-borderRadiusLarge !important; } .uix_smartBorder--default { border-top-left-radius: @xf-borderRadiusLarge !important; border-top-right-radius: @xf-borderRadiusLarge !important; border-bottom-left-radius: @xf-borderRadiusLarge !important; border-bottom-right-radius: @xf-borderRadiusLarge !important; } } </xf:if> // overlay content .block-footer.uix_conversationsFooterMobile { display: none; .overlay & { display: flex; } } .overlay .block-footer { position: sticky; bottom: 0; } <xf:if is="property('uix_visitorTabsMobile') == 'tabbar'"> /* -- tab bar -- */ .uix_tabBar { height: 46px; position: relative; z-index: 300; @media (min-width: @xf-responsiveNarrow) { display: none; } } .uix_tabList { z-index: 100; margin: 0; padding: 0; display: flex; background: @xf-uix_primaryColor; position: fixed; text-transform: capitalize; bottom: 0; left: 0; right: 0; box-shadow: 0 0 2px 0 rgba(0,0,0,0.14), 0 -2px 2px 0 rgba(0,0,0,0.12), 0 -1px 3px 0 rgba(0,0,0,.2); .uix_tabItem { flex-grow: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 5px; height: 46px; color: rgba(255,255,255,.5); line-height: 1; font-size: 10px; position: relative; &:hover { text-decoration: none; color: #fff; } } .badgeContainer:after { position: absolute; top: 7px; right: 30%; } .uix_tabItem i { font-size: 24px; } } </xf:if> // remove border on macro components for mobile @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .uix_headerContainer > *, .p-pageWrapper > *, .p-nav, .p-footer > * {border-radius: 0 !important;} } // nav edits for mobile // staff bar <xf:if is="property('uix_staffBarBreakpoint') != '100%'"> .uix_responsiveStaffBar { @media (max-width: @xf-uix_staffBarBreakpoint) { .p-staffBar {display: none;} } } @media (max-width: @xf-uix_staffBarBreakpoint) { .p-staffBar .p-nav-opposite {display: none;} } @media (min-width: {{ property('uix_staffBarBreakpoint') + 1 }}px ) { <xf:if is="property('uix_searchPosition') == 'staffBar'"> .p-nav .uix_searchBar {display: none;} </xf:if> <xf:if is="property('uix_userTabsPosition') == 'staffBar'"> .p-nav .p-navgroup--member, .p-nav .p-navgroup-link--whatsnew {display: none;} </xf:if> <xf:if is="property('uix_loginTriggerPosition') == 'staffBar'"> .p-nav .p-navgroup--guest {display: none;} </xf:if> } <xf:else /> .p-staffBar .p-navgroup--member, .p-nav .p-navgroup-link--whatsnew {display: none;} .p-staffBar .p-navgroup--guest {display: none;} .p-staffBar .uix_searchBar {display: none;} </xf:if> /* --- show logoblock for desktop --- */ <xf:if is="property('uix_viewportShowLogoBlock') != '100%'"> @media (max-width: {{ property('uix_viewportShowLogoBlock') - 1 }}px ) { .p-header {display: none;} } @media (max-width: {{ property('uix_viewportShowLogoBlock') - 1 }}px ) { .p-header .p-nav-opposite {display: none;} } @media (min-width: @xf-uix_viewportShowLogoBlock) { .p-nav-inner .p-header-logo {display: none;} <xf:if is="property('uix_userTabsPosition') == 'header'"> .p-nav .p-navgroup--member, .p-nav .p-navgroup-link--whatsnew {display: none;} </xf:if> <xf:if is="property('uix_searchPosition') == 'header'"> .p-nav > *:not(.p-header) .uix_searchBar {display: none;} </xf:if> } <xf:else /> .p-header {display: none;} </xf:if> /* sub-navigation */ <xf:if is="property('uix_viewportWidthRemoveSubNav') != '100%'"> @media (max-width: @xf-uix_viewportWidthRemoveSubNav ) { <xf:if is="!property('publicNavSelected--background-color')"> .p-sectionLinks {display: none;} <xf:else /> .p-sectionLinks > * {display: none;} @media(max-width: @xf-publicNavCollapseWidth) { .p-sectionLinks {display: none;} } </xf:if> } @media (min-width: {{ property('uix_viewportWidthRemoveSubNav') + 1 }}px ) { <xf:if is="property('uix_searchPosition') == 'tablinks'"> .p-nav .uix_searchBar {display: none;} </xf:if> <xf:if is="property('uix_userTabsPosition') == 'tablinks'"> .p-nav .p-navgroup--member, .p-nav .p-navgroup-link--whatsnew {display: none;} </xf:if> <xf:if is="property('uix_loginTriggerPosition') == 'tablinks'"> .p-nav .p-navgroup--guest {display: none;} </xf:if> <xf:if is="property('uix_sidebarTriggerPosition') == 'sectionLinks'"> .breadcrumb a.uix_sidebarTrigger__component {display: none;} </xf:if> } <xf:else /> <xf:if is="!property('publicNavSelected--background-color')"> .p-sectionLinks {display: none;} <xf:else /> .p-sectionLinks > * {display: none;} @media(max-width: @xf-publicNavCollapseWidth) { .p-sectionLinks {display: none;} } </xf:if> </xf:if> // search navigation <xf:if is="property('uix_searchPosition') == 'navigationLeft'"> .p-nav .p-nav-opposite .uix_searchBar {display: none;} </xf:if> .menu--account .avatar-update a { max-width: 21px; overflow: hidden; font-size: 12px; } // label.iconic.iconic--labelled > input + i {margin-top: -2px; width: auto;} .comment-reply-link:before { .m-faBase(); .m-faContent(@fa-var-comment-alt); margin-right: 4px; } .sidePanel__tabs .badgeContainer:after { position: relative; top: -15px; left: -5px; } // notices //scrolling notices .lSSlideOuter.noticeScrollContainer { position: relative; .lSPager { margin-top: 0px; position: absolute; bottom: 0; left: 0; right: 0; height: 20px; background: none; } .notice-content {margin-bottom: 20px;} } // bottom notice .notices--bottom_fixer .notice--cookie { .notice-content { display: flex; @media (max-width: @xf-responsiveMedium) { text-align: center; align-items: center; flex-direction: column; } } .u-inputSpacer {margin-top: 0;} .uix_cookieButtonRow { margin: 0 -3px -3px @xf-paddingMedium; @media (max-width: @xf-responsiveMedium) { margin-top: @xf-paddingMedium; margin-left: -3px; } .button {margin: 3px;} } .notice-content > div:first-child { flex-grow: 1; justify-content: center; display: flex; flex-direction: column; } } .uix_mobileNodeTitle { &:before { content: "\00a0\00B7\00a0"; } @media (min-width: @xf-uix_discussionListCollapseWidth) { display: none; } } // MENU .menu { transition: @uix_move .26s transform, @uix_move .26s opacity; transform: translateY(-10px); opacity: 0; &.is-active { transform: translateY(0); opacity: 1; } } .input input {box-shadow: none !important;} <xf:if is="property('uix_clickableThreads')"> .structItem--thread:hover {cursor: pointer;} </xf:if> .uix_sidebarNav .uix_sidebarNav__inner__widgets, .offCanvasMenu-content .uix_sidebarNav__inner__widgets { .block-container, .block-minorHeader, .block-footer, .block-body .block-row { border: none; box-shadow: none; background: none; padding: 0; &:not(:last-child) { padding-bottom: @xf-paddingLarge; } } .block:not(:last-child) .block-container { border-bottom: 1px solid @xf-borderColor; padding-bottom: @xf-paddingLarge; } .block-minorHeader { font-size: @xf-fontSizeSmaller; color: @xf-textColorMuted; &:before {display: none !important;} } [data-widget-definition="th_bookmarks"] { .bookmarkRow { line-height: 40px; display: flex; align-items: center; color: @xf-textColorDimmed; .contentRow-minor, .bookmarkRow-forum {display: none;} .bookmarkRow-content { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } } .block-row {padding: 0 !important;} .contentRow-main.contentRow-main--close {padding: 0;} i:before, a {color: inherit;} .block-footer, .contentRow-main:before {display: none;} .contentRow-figure { height: 24px; padding-right: 1em; font-size: 24px; .avatar, i { font-size: 24px; width: 24px; height: 24px; vertical-align: inherit; } .node-icon { width: auto; } } } } <xf:if is="!property('uix_sidebarTriggerPhrase')"> .uix_sidebarTrigger--phrase {display: none;} </xf:if> .uix_headerInner--opposite a.uix_sidebarTrigger__component { padding: 0 4px; i {margin: 0;} } .uix_originalPoster__icon { height: 19px; width: 19px; background: xf-intensify(@xf-contentHighlightBg, 3%); color: @xf-textColor; display: inline-block; border-radius: 100%; // .m-uix_whiteText(@xf-uix_primaryColor); text-align: center; } // messages .uix_solutionAttribution { color: @xf-votePositiveColor; } .actionBar-action.actionBar-action--vote { <xf:if is="{{property('uix_voteActionButton')}} == 'mobile'"> @media (min-width: @xf-responsiveMedium) { display: none; } </xf:if> .contentVote { flex-direction: row; font-size: inherit; min-width: 0px; .contentVote-vote { width: 24px; height: 24px; line-height: 24px; text-align: center; padding: 0; background: @xf-contentHighlightBg; border-radius: 100%; transform: initial; &.is-voted { background: @xf-votePositiveColor; color: #fff; } } .contentVote-score { padding: 0 10px; } } } <xf:if is="{{property('uix_voteActionButton')}} != 'never'"> .message-cell.message-cell--vote { <xf:if is="{{property('uix_voteActionButton')}} == 'mobile'"> @media (max-width: @xf-responsiveMedium) { </xf:if> display: none; .contentVote { display: none; } .u-srOnly { display: inline; position: static; overflow: visible; height: auto; clip: initial; width: auto; margin: auto; padding-left: 5px; } .solutionIcon { font-size: @xf-fontSizeNormal; } <xf:if is="{{property('uix_voteActionButton')}} == 'mobile'"> } </xf:if> } </xf:if>]]>

</template>


-<template title="uix_bandaids.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[// Added to fix the dark pixel bug https://github.com/Audentio/xf2theme-issues/issues/1055 .device--isAndroid .p-staffBar .hScroller-scroll { overflow-x: auto; } // Add persistent scrollbar on windows .offCanvasMenu-content { overflow-y: scroll; } // remove bottom tabbar on mobile when keyboard is present @media (max-height: 400px) { .uix_tabBar {display: none;} } // no Material icon for Tumblr <xf:if is="{{property('uix_iconFont')}} != 'fontawesome'"> .shareButtons-button--tumblr {display: none;} </xf:if>]]>

</template>


-<template title="uix_buttonRipple.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:if is="{{ property('uix_buttonRipple') }}"> @-webkit-keyframes rippleAnimation { to { border-radius: 100%; opacity: 0; -webkit-transform: scale(2.5); transform: scale(2.5); } } @keyframes rippleAnimation { to { border-radius: 100%; opacity: 0; -webkit-transform: scale(2.5); transform: scale(2.5); } } .rippleButton { position: relative; } .rippleButton .ripple-container { position: absolute; top: 0; left: 0; pointer-events: none; width: 100%; height: 100%; max-height: 100%; max-width: 100%; overflow: hidden; border-radius: inherit; -webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC'); } .rippleButton .ripple { background-color: rgba(255,255,255,0.2); border-radius: 100%; -webkit-transform: scale(0); transform: scale(0); -webkit-transform-origin: center 50%; transform-origin: center 50%; display: block; position: absolute; -webkit-animation: rippleAnimation 650ms ease-out; animation: rippleAnimation 650ms ease-out; -webkit-animation-play-state: running; animation-play-state: running; } .navLink .ripple { background-color: rgba(0,0,0,0.15); -webkit-animation: rippleAnimation 450ms ease-out; } .rippleButton:hover {cursor: pointer;} </xf:if>]]>

</template>


-<template title="uix_canvas.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[.uix_canvas__tabs { display: flex; justify-content: space-around; align-items: center; } .uix_canvasTab { display: inline-block; } .js-visitorTabPanel { .menu-row--highlighted, .menu-separator--hard {display: none;} } .sidePanel__tabPanels { position: relative; .menu-row, .menu-footer, .menu-linkRow { padding-left: @xf-paddingLarge; padding-right: @xf-paddingLarge; } } .sidePanel__tabPanel { height: 0; overflow-x: hidden; touch-action: pan-y; -moz-transition: -moz-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1); -o-transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1); -o-transition: -o-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1); -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1); transition: -webkit-transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1); transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1); // float: left; width: 100%; // position: absolute; top: 0; } .sidePanel__tabPanel.is-left { transform: translate3d(-300px, 0, 0); overflow-y: hidden; } .sidePanel__tabPanel.is-right { transform: translate3d(300px, 0, 0); } .sidePanel__tabPanel.is-active { transform: translate3d(0, 0, 0); display: block; height: auto; overflow-y: auto; } .sidePanel--visitor .sidePanel__tabPanel.is-active { margin-bottom: 50px; } .sidePanel__tabPanel.is-hidden { visibility: hidden; } .sidePanel__tabs { display: -ms-flexbox; display: -webkit-flex; display: flex; flex: 0 0 auto; padding: 0; margin: 0; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; } .sidePanel__tabs li { max-width: 50%; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; color: rgba(255,255,255,.7); list-style: none; } a.sidePanel__tab { font-size: 18px; color: rgba(255, 255, 255, 0.75); background-color: @xf-uix_primaryColor; padding-right: 10px; padding-left: 10px; border-width: 0; border-right-style: solid; border-right-color: rgba(255,255,255,.1); display: block; cursor: pointer; text-align: center; line-height:50px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; height: 50px; } a.sidePanel__tab:hover {color: #fff; text-decoration: none;} a.sidePanel__tab.sidePanel__tab--active { color: #fff; box-shadow: inset 0 -3px rgba(0,0,0,.2); }]]>

</template>


-<template title="uix_canvasPanels" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<div class="sidePanel sidePanel--nav sidePanel--visitor"> <div class="sidePanel__tabPanels"> <div data-content="navigation" class="is-active sidePanel__tabPanel js-navigationTabPanel"> <xf:macro name="canvasNavPanel" template="PAGE_CONTAINER" arg-widgets="{$uix_sidebarNavWidgets}" /> </div> <xf:if is="$xf.visitor.user_id && (property('uix_visitorTabsMobile') == 'canvas')"> <div data-content="account" class="sidePanel__tabPanel js-visitorTabPanel"> <div class="uix_canvasPanelBody" data-menu="menu" aria-hidden="true" data-href="{{ link('account/visitor-menu') }}" data-load-target=".js-visitorMenuBody"> <div class="offCanvasMenu-header"> {{ phrase('your_account') }} <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close') }}"></a> </div> <div class="js-visitorMenuBody"></div> </div> </div> <div data-content="inbox" class="sidePanel__tabPanel js-convoTabPanel"> <div class="uix_canvasPanelBody" data-menu="menu" aria-hidden="true" data-href="{{ link('conversations/popup') }}" data-nocache="true" data-target=".js-convMenuBody"> <div class="offCanvasMenu-header"> {{ phrase('conversations') }} <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close') }}"></a> </div> <div class="js-convMenuBody"> </div> </div> <div class="menu-footer"> <a href="{{ link('conversations/add') }}" class="u-pullRight">{{ phrase('start_new_conversation') }}</a> <a href="{{ link('conversations') }}">{{ phrase('show_all...') }}</a> </div> </div> <div data-content="alerts" class="sidePanel__tabPanel js-alertTabPanel"> <div class="uix_canvasPanelBody" data-menu="menu" aria-hidden="true" data-href="{{ link('account/alerts-popup') }}" data-nocache="true" data-target=".js-alertsMenuBody"> <div class="offCanvasMenu-header"> {{ phrase('alerts') }} <a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close') }}"></a> </div> <div class="js-alertsMenuBody"> </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> </xf:if> </div> </div>]]>

</template>


-<template title="uix_canvasTabs" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:if is="$xf.visitor.user_id && (property('uix_visitorTabsMobile') == 'canvas')"> <ul class="sidePanel__tabs"> <li> <a data-attr="navigation" class="sidePanel__tab sidePanel__tab--active js-visitorTab"><xf:fa icon="fa-bars" /></a> </li> <xf:if is="$xf.visitor.user_id && (property('uix_visitorTabsMobile') == 'canvas')"> <li> <a data-attr="account" data-xf-click="toggle" data-target=".js-visitorTabPanel .uix_canvasPanelBody" class="sidePanel__tab js-visitorTab"><xf:fa icon="fa-user" /></a> </li> <li> <a data-attr="inbox" data-xf-click="toggle" data-target=".js-convoTabPanel .uix_canvasPanelBody" data-badge="{$xf.visitor.conversations_unread|number}" class="sidePanel__tab js-convoTab js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}"> <xf:fa icon="fa-inbox" /> </a> </li> <li> <a data-attr="alerts" data-xf-click="toggle" data-target=".js-alertTabPanel .uix_canvasPanelBody" data-badge="{$xf.visitor.alerts_unread|number}" class="sidePanel__tab js-alertTab js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}"> <xf:fa icon="fa-bell" /> </a> </li> </xf:if> </ul> </xf:if>]]>

</template>


-<template title="uix_config" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<script> if (typeof (window.themehouse) !== 'object') { window.themehouse = {}; } if (typeof (window.themehouse.settings) !== 'object') { window.themehouse.settings = {}; } window.themehouse.settings = { common: { '20210125': { init: false, }, }, data: { version: '{{property('uix_version')}}', jsVersion: 'No JS Files', templateVersion: '2.1.8.0_Release', betaMode: {{property('uix_betaMode')}}, theme: '', url: '{{ base_url(null, true)|escape("js") }}', user: '{$xf.visitor.user_id}', }, inputSync: {}, minimalSearch: { breakpoint: "{{ 0 + property('uix_search_maxResponsiveWidth') }}", dropdownBreakpoint: "{{ 0 + property('uix_search_maxResponsiveWidth') }}", }, sidebar: { enabled: '{{$uix_canCollapseSidebar}}', link: '{{ link("uix/toggle-sidebar.json", null, {"t": csrf_token()}) }}', state: '{{$uix_sidebarCollapsed}}', }, sidebarNav: { enabled: '{{$uix_canCollapseSidebarNav}}', link: '{{ link("uix/toggle-sidebar-navigation.json", null, {"t": csrf_token()}) }}', state: '{{$uix_sidebarNavCollapsed}}', }, fab: { enabled: {{property('uix_fabScroll')}}, }, checkRadius: { enabled: {{property('uix_borderRadiusJs')}}, selectors: '{{property("uix_borderRadiusSelectors")}}', }, nodes: { enabled: {{property('uix_nodeClickable')}}, }, nodesCollapse: { enabled: '{{$uix_canCollapseCategories}}', link: '{{ link("uix/toggle-category.json", null, {"t": csrf_token()}) }}', state: '{{$uix_collapsedCategoriesJson}}', }, widthToggle: { enabled: '{{$uix_canTogglePageWidth}}', link: '{{ link("uix/toggle-width.json", null, {"t": csrf_token()}) }}', state: '{{$uix_pageWidth}}', }, } window.document.addEventListener('DOMContentLoaded', function() { <xf:if is="{{property('uix_betaMode')}}"> window.themehouse.common['20210125'].init(); window.themehouse.common['20180112'] = window.themehouse.common['20210125']; <xf:else /> try { window.themehouse.common['20210125'].init(); window.themehouse.common['20180112'] = window.themehouse.common['20210125']; // custom projects fallback } catch(e) { console.log('Error caught', e); } </xf:if> var jsVersionPrefix = 'No JS Files'; if (typeof(window.themehouse.settings.data.jsVersion) === 'string') { var jsVersionSplit = window.themehouse.settings.data.jsVersion.split('_'); if (jsVersionSplit.length) { jsVersionPrefix = jsVersionSplit[0]; } } var templateVersionPrefix = 'No JS Template Version'; if (typeof(window.themehouse.settings.data.templateVersion) === 'string') { var templateVersionSplit = window.themehouse.settings.data.templateVersion.split('_'); if (templateVersionSplit.length) { templateVersionPrefix = templateVersionSplit[0]; } } if (jsVersionPrefix !== templateVersionPrefix) { var splitFileVersion = jsVersionPrefix.split('.'); var splitTemplateVersion = templateVersionPrefix.split('.'); console.log('version mismatch', jsVersionPrefix, templateVersionPrefix); } }); </script>]]>

</template>


-<template title="uix_extendedFooter" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:if contentcheck="true"> <div class="uix_extendedFooter"> <div class="pageContent"> <div class="uix_extendedFooterRow"> <xf:css src="uix_extendedFooter.less" /> <xf:contentcheck> {$uix_footerWidgets|raw} </xf:contentcheck> </div> </div> </div> </xf:if>]]>

</template>


-<template title="uix_extendedFooter.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[.uix_extendedFooter { order: @xf-uix_extendedFooterOrder; .xf-uix_extendedFooterStyle(); <xf:if is="(property('uix_pageStyle') != 'covered') && !property('uix_forceCoverExtendedFooter')"> .m-pageWidth(); </xf:if> <xf:if is="property('uix_hideExtendedFooterMobile')"> @media (max-width: @xf-responsiveMedium) { display: none; } </xf:if> .pageContent { <xf:if is="(property('uix_pageStyle') == 'covered') || property('uix_forceCoverExtendedFooter')"> .m-pageWidth(); <xf:if is="(property('uix_pageStyle') != 'wrapped')"> padding:0; </xf:if> </xf:if> } .uix_extendedFooterRow { display: flex; flex-wrap: wrap; margin: calc(-@xf-uix_footerWidgetPadding / 2); .blockLink {text-transform: capitalize;} > .block { flex-basis: @xf-uix_footerWidgetWidth; padding: calc(@xf-uix_footerWidgetPadding / 2); margin: 0; flex-grow: 1; min-width: 0; .block-container { margin-left: 0; margin-right: 0; <xf:if is="{{ property('uix_extendedFooter__whiteText') }}"> color: rgba(255,255,255,.7); </xf:if> .xf-uix_footerWidget(); .block-minorHeader { <xf:if is="{{ property('uix_extendedFooter__whiteText') }}"> color: rgba(255,255,255,1); </xf:if> .xf-uix_footerWidgetHeader(); &:before { <xf:if is="{{ property('uix_extendedFooter__whiteText') }}"> color: rgba(255,255,255,.3); </xf:if> } a {color: inherit;} } <xf:if is="{{ property('uix_extendedFooter__whiteText') }}"> .contentRow-minor { color: rgba(255,255,255,.5); time {color: rgba(255,255,255,.7);} } a { color: inherit; } .pairs > dt {color: rgba(255,255,255,.5);} </xf:if> .block-body { .xf-uix_footerWidgetBody(); } .block-row, .blockLink { .xf-uix_footerWidgetRow(); } .block-footer { <xf:if is="{{ property('uix_extendedFooter__whiteText') }}"> color: inherit; </xf:if> .xf-uix_footerWidgetFooter(); } .blockLink { background: none; color: inherit; border-bottom: 1px solid rgba(255,255,255,.12); a {display: block;} } } } } }]]>

</template>


-<template title="uix_footer.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[.uix_fabBar { <xf:if is="property('uix_fab') == 'never' && (property('uix_visitorTabsMobile') == 'tabbar')"> @media (max-width: @xf-responsiveNarrow) { margin-bottom: calc(60px - @xf-paddingLarge); } </xf:if> <xf:if is="property('uix_visitorTabsMobile') == 'tabbar'"> @media (max-width: @xf-responsiveNarrow) { .u-scrollButtons:last-child { margin-bottom: {{ property('paddingLarge') + 30 }}px; } } </xf:if> .uix_editor--focused & { display: none; } &.uix_fabBar--mirror { visibility: hidden; position: static; padding-top: calc(@xf-paddingLarge * 2); background-color: @xf-uix_fabBarBackground; .p-title-pageAction{ padding-top: 0;} <xf:if is="property('uix_fab') == 'mobile'"> @media (min-width: @xf-uix_fabVw) { display: none; } </xf:if> } <xf:if is="!property('uix_fabScroll')"> // background-color: @xf-uix_fabBarBackground; // height: 60px; padding: @xf-paddingLarge 0; </xf:if> <xf:if is="property('uix_fab') == 'mobile'"> @media (min-width: @xf-uix_fabVw) { .p-title-pageAction{ display: none;} } </xf:if> display: flex; flex-direction: column; align-items: flex-end; position: fixed; bottom: 0; left: 0; right: 0; padding: @xf-paddingLarge; z-index: 150; pointer-events: none; .u-scrollButtons {position: static;} .p-title-pageAction { <xf:if is="property('uix_fabScroll') && (property('uix_visitorTabsMobile') == 'tabbar')"> margin-bottom: -30px; <xf:else /> margin-bottom: calc(-60px - @xf-paddingLarge); </xf:if> transition: ease-in .2s margin-bottom; z-index: 5; padding-top: @xf-paddingLarge; .button { border-radius: 100%; height: 60px; width: 60px; padding: 0; font-size: 0; display: none; align-items: center; justify-content: center; box-shadow: @xf-uix_elevation2; background: @xf-buttonCta--background-color; color: @xf-buttonCta--color; &:last-child {display: flex;} &:not(.button--icon) {display: none;} .button-text:before {font-size: @xf-uix_iconSizeLarge; margin: 0;} } } .u-scrollButtons {pointer-events:auto;} &.uix_fabBar--active .p-title-pageAction { margin-bottom: 0; pointer-events: auto; <xf:if is="property('uix_visitorTabsMobile') == 'tabbar'"> @media (max-width: @xf-responsiveNarrow) { margin-bottom: {{ property('paddingLarge') + 30 }}px; } </xf:if> } } #uix_jumpToFixed { font-size: 24px; color: #FFF; background-color: @xf-uix_secondaryColor; padding: 8px; margin: 16px; border-radius: 2px; position: fixed; z-index: 1; transition: opacity 0.4s; display: block; padding: 0; bottom: 0; right: 0; left: auto; } #uix_jumpToFixed a:first-child { padding-bottom: 4px; } #uix_jumpToFixed a { color: inherit; display: block; padding: 8px; } #uix_jumpToFixed a:last-child { padding-top: 4px; }]]>

</template>


-<template title="uix_js" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:js src="themehouse/global/20210125.js" min="true" /> <xf:if is="property('uix_borderRadiusJs')"> <xf:js src="themehouse/{{property('uix_jsPath')}}/indexRadius.js" min="true" /> <xf:else /> <xf:js src="themehouse/{{property('uix_jsPath')}}/index.js" min="true" /> </xf:if> {{ uix_js('themehouse/' . property('uix_jsPath') . '/defer.js', true, 'defer') }} <xf:if is="property('uix_navigationType') == 'sidebarNav'"> {{ uix_js('themehouse/' . property('uix_jsPath') . '/deferSidebarNav.js', true, 'defer') }} </xf:if> <xf:if is="property('uix_fab') != 'never'"> {{ uix_js('themehouse/' . property('uix_jsPath') . '/deferFab.js', true, 'defer') }} </xf:if> <xf:if is="property('uix_categoryCollapse')"> {{ uix_js('themehouse/' . property('uix_jsPath') . '/deferNodesCollapse.js', true, 'defer') }} </xf:if> <xf:if is="property('uix_pageWidthToggle') != 'disabled'"> {{ uix_js('themehouse/' . property('uix_jsPath') . '/deferWidthToggle.js', true, 'defer') }} </xf:if> <xf:js> // detect android device. Added to fix the dark pixel bug https://github.com/Audentio/xf2theme-issues/issues/1055 $(document).ready(function() { var ua = navigator.userAgent.toLowerCase(); var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile"); if(isAndroid) { $('html').addClass('device--isAndroid'); } }) </xf:js> <xf:if is="property('uix_clickableThreads')"> <xf:js> $(document).ready(function() { $('.structItem--thread').bind('click', function(e) { var target = $(e.target); var skip = ['a', 'i', 'input', 'label']; if (target.length && skip.indexOf(target[0].tagName.toLowerCase()) === -1) { var href = $(this).find('.structItem-title').attr('uix-href'); if (e.metaKey || e.cmdKey) { e.preventDefault(); window.open(href, '_blank'); } else { window.location = href; } } }); }); </xf:js> </xf:if> <xf:if is="property('uix_sidebarMobileCanvas')"> <xf:js> $(document).ready(function() { var sidebar = $('.p-body-sidebar'); var backdrop = $('.p-body-sidebar [data-ocm-class="offCanvasMenu-backdrop"]'); $('.uix_sidebarCanvasTrigger').click(function(e) { e.preventDefault(); sidebar.addClass('offCanvasMenu offCanvasMenu--blocks is-active is-transitioning'); $('body').addClass('sideNav--open'); window.setTimeout(function() { sidebar.removeClass('is-transitioning'); }, 250); $('.uix_sidebarInner').addClass('offCanvasMenu-content'); backdrop.addClass('offCanvasMenu-backdrop'); $('body').addClass('is-modalOpen'); }); backdrop.click(function() { sidebar.addClass('is-transitioning'); sidebar.removeClass('is-active'); window.setTimeout(function() { sidebar.removeClass('offCanvasMenu offCanvasMenu--blocks is-transitioning'); $('.uix_sidebarInner').removeClass('offCanvasMenu-content'); backdrop.removeClass('offCanvasMenu-backdrop'); $('body').removeClass('is-modalOpen'); }, 250); }) }); </xf:js> </xf:if> <xf:js> /****** OFF CANVAS ***/ $(document).ready(function() { var panels = { navigation: { position: 1 }, account: { position: 2 }, inbox: { position: 3 }, alerts: { position: 4 } }; var tabsContainer = $('.sidePanel__tabs'); var activeTab = 'navigation'; var activeTabPosition = panels[activeTab].position; var generateDirections = function() { $('.sidePanel__tabPanel').each(function() { var tabPosition = $(this).attr('data-content'); var activeTabPosition = panels[activeTab].position; if (tabPosition != activeTab) { if (panels[tabPosition].position < activeTabPosition) { $(this).addClass('is-left'); } if (panels[tabPosition].position > activeTabPosition) { $(this).addClass('is-right'); } } }); }; generateDirections(); $('.sidePanel__tab').click(function() { $(tabsContainer).find('.sidePanel__tab').removeClass('sidePanel__tab--active'); $(this).addClass('sidePanel__tab--active'); activeTab = $(this).attr('data-attr'); $('.sidePanel__tabPanel').removeClass('is-active'); $('.sidePanel__tabPanel[data-content="' + activeTab + '"]').addClass('is-active'); $('.sidePanel__tabPanel').removeClass('is-left').removeClass('is-right'); generateDirections(); }); }); /******** extra info post toggle ***********/ $(document).ready(function() { XF.thThreadsUserExtraTrigger = XF.Click.newHandler({ eventNameSpace: 'XFthThreadsUserExtraTrigger', init: function(e) {}, click: function(e) { var parent = this.$target.parents('.message-user'); var triggerContainer = this.$target.parent('.thThreads__userExtra--toggle'); var container = triggerContainer.siblings('.thThreads__message-userExtras'); var child = container.find('.message-userExtras'); var eleHeight = child.height(); if (parent.hasClass('userExtra--expand')) { container.css({ height: eleHeight }); parent.toggleClass('userExtra--expand'); window.setTimeout(function() { container.css({ height: '0' }); window.setTimeout(function() { container.css({ height: '' }); }, 200); }, 17); } else { container.css({ height: eleHeight }); window.setTimeout(function() { parent.toggleClass('userExtra--expand'); container.css({ height: '' }); }, 200); } } }); XF.Click.register('ththreads-userextra-trigger', 'XF.thThreadsUserExtraTrigger'); }); /******** Backstretch images ***********/ $(document).ready(function() { if ( {{ property('uix_backstretch') }} ) { $("{{ property('uix_backstretchSelector') }}").addClass('uix__hasBackstretch'); $("{{ property('uix_backstretchSelector') }}").backstretch([ {$__globals.uix_backstretchImages|raw} ], { duration: {{ property('uix_backstretchDuration') }}, fade: {{ property('uix_backstretchFade')}} }); $("{{ property('uix_backstretchSelector') }}").css("zIndex",""); } }); // sidenav canvas blur fix $(document).ready(function(){ $('.p-body-sideNavTrigger .button').click(function(){ $('body').addClass('sideNav--open'); }); }) $(document).ready(function(){ $("[data-ocm-class='offCanvasMenu-backdrop']").click(function(){ $('body').removeClass('sideNav--open'); }); }) $(document).on('editor:start', function (m, ed) { if (typeof (m) !== 'undefined' && typeof (m.target) !== 'undefined') { var ele = $(m.target); if (ele.hasClass('js-editor')) { var wrapper = ele.closest('.message-editorWrapper'); if (wrapper.length) { window.setTimeout(function() { var innerEle = wrapper.find('.fr-element'); if (innerEle.length) { innerEle.focus(function (e) { $('html').addClass('uix_editor--focused') }); innerEle.blur(function (e) { $('html').removeClass('uix_editor--focused') }); } }, 0); } } } }); // off canvas menu closer keyboard shortcut $(document).ready(function() { $(document.body).onPassive('keyup', function(e) { switch (e.key) { case 'Escape': $('.offCanvasMenu.is-active .offCanvasMenu-backdrop').click(); return; } }); }); </xf:js> <xf:if is="property('uix_parallax')"> <xf:js> var parallaxSelector = "{{ property('uix_parallaxSelector') }}" var parallaxImage = "{{ base_url(property('uix_parallaxImage')) }}" var parallaxPosition = "{{ property('uix_parallaxPosition') }}" $(parallaxSelector).parallax({imageSrc: parallaxImage, positionY: parallaxPosition}); </xf:js> </xf:if> <xf:js> $(document).ready(function() { var uixMegaHovered = false; $('.uix-navEl--hasMegaMenu').hoverIntent({ over: function() { if (uixMegaHovered) { menu = $(this).attr('data-nav-id'); $('.p-nav').addClass('uix_showMegaMenu'); $('.uix_megaMenu__content').removeClass('uix_megaMenu__content--active'); $('.uix_megaMenu__content--' + menu).addClass('uix_megaMenu__content--active'); } }, timeout: 200, }); $('.p-nav').mouseenter(function() { uixMegaHovered = true; }); $('.p-nav').mouseleave(function() { $(this).removeClass('uix_showMegaMenu'); uixMegaHovered = false; }); }); </xf:js> <xf:if is="{{ property('uix_abridgedSignatures')}}"> <xf:js> /******** signature collapse toggle ***********/ $(window).on('load', function() { window.setTimeout(function() { var maxHeight = {{ property('uix_signatureMaxHeight') }}; /*** check if expandable ***/ var eles = []; $('.message-signature').each(function() { var height = $(this).height(); if (height > maxHeight) { eles.push($(this)); } }); for (var i = 0; i < eles.length; i++) { eles[i].addClass('message-signature--expandable'); }; /**** expand function ***/ var expand = function(container, canClose) { var inner = container.find('.bbWrapper'); var eleHeight = inner.height(); var isExpanded = container.hasClass('message-signature--expanded'); if (isExpanded) { if (canClose) { container.css({ height: eleHeight }); container.removeClass('message-signature--expanded'); window.setTimeout(function() { container.css({ height: maxHeight }); window.setTimeout(function() { container.css({ height: '' }); }, 200); }, 17); } } else { container.css({ height: eleHeight }); window.setTimeout(function() { container.addClass('message-signature--expanded'); container.css({ height: '' }); }, 200); } } /*** handle hover ***/ <xf:if is="{{ property('uix_signatureHoverEnabled')}}"> $('.message-signature--expandable').hoverIntent({ over: function() { expand($(this, false)); }, out: null, timeout: 300, interval: 300, }); </xf:if> /*** handle click ***/ $('.uix_signatureExpand').click(function() { var container = $(this).parent('.message-signature'); expand(container, true); }); }, 0); }); </xf:js> </xf:if> <xf:if is="{{property('uix_lazyLoadSupport')}}"> <xf:js> document.addEventListener("DOMContentLoaded", function() { var lazyloadImages; if ("IntersectionObserver" in window) { lazyloadImages = document.querySelectorAll(".lazy"); var imageObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { var image = entry.target; image.src = image.dataset.src; image.classList.remove("lazy"); imageObserver.unobserve(image); } }); }); lazyloadImages.forEach(function(image) { imageObserver.observe(image); }); } else { var lazyloadThrottleTimeout; lazyloadImages = document.querySelectorAll(".lazy"); function lazyload () { if(lazyloadThrottleTimeout) { clearTimeout(lazyloadThrottleTimeout); } lazyloadThrottleTimeout = setTimeout(function() { var scrollTop = window.pageYOffset; lazyloadImages.forEach(function(img) { if(img.offsetTop < (window.innerHeight + scrollTop)) { img.src = img.dataset.src; img.classList.remove('lazy'); } }); if(lazyloadImages.length == 0) { document.removeEventListener("scroll", lazyload); window.removeEventListener("resize", lazyload); window.removeEventListener("orientationChange", lazyload); } }, 20); } document.addEventListener("scroll", lazyload); window.addEventListener("resize", lazyload); window.addEventListener("orientationChange", lazyload); } }) </xf:js> </xf:if> <xf:if is="{{ property('uix_swipeSupport')}}"> <xf:js src="{{ js_url('vendor/hammer/hammer.min.js') }}"></xf:js> <xf:js> // swipe canvas close var canvas = $('.offCanvasMenu'); Hammer(canvas[0]).on('swipeleft', function(ev){ $('.offCanvasMenu-backdrop').click(); }); // swipe overlay close $('a[data-xf-click="overlay"]').click(function() { if (window.matchMedia("(max-width: 480px)").matches) { window.setTimeout(function() { var overlayContainer = $('.overlay-container'); var overlay = new Hammer(overlayContainer[0], {direction: Hammer.DIRECTION_ALL}); overlay.get('swipe').set({ direction: Hammer.DIRECTION_ALL }); overlay.on("swipedown", function(ev) { $(overlayContainer).click(); }); }, 250); } }) </xf:js> </xf:if> <xf:if is="{{property('uix_dropdownHover') && property('uix_navigationType') == 'default'}}"> <xf:js> $(document).ready(function() { var menuActive = false; var closeTrigger = $('a[data-xf-click="menu"]'); var menuId = ''; $('.p-navEl').hoverIntent({ over: function() { if (!menuActive) { $(this).find(closeTrigger).click(); } menuActive = true; menuId = $(this).find(closeTrigger).attr('aria-controls'); $(this).find(closeTrigger).focus(); }, out: function() { function closeMenu(menuId) { $(document).mousemove(function() { if ( !$('#' + menuId + ':hover').length && !$('a[aria-controls="' + menuId + '"]:hover').length) { $('a.is-menuOpen[aria-controls="' + menuId + '"]').click(); menuActive = false; menuId = ''; $(document).off('mousemove'); } }); } closeMenu.bind(this, menuId)(); // $(this).find(closeTrigger).focus(); }, timeout: 200, }); }) </xf:js> </xf:if> <xf:js> $(document).ready(function() { setTimeout(function () { var editor = XF.getEditorInContainer($(document)); if (!!editor) { editor.ed.events.on('focus', function() { $('.uix_fabBar').css('display', 'none'); }) editor.ed.events.on('blur', function() { $('.uix_fabBar').css('display', ''); }) } }, 100) }) </xf:js>]]>

</template>


-<template title="uix_mainTabSets" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:macro name="forum" arg-activeTab=""> <!-- first tab --> <!-- new tab --> <xf:if is="{$xf.options.forumsDefaultPage} == 'new_posts'"> <a href="{{ link('forums') }}" class="tabs-tab {{$activeTab == 'new_posts' ? 'is-active' : '' }}">{{ phrase('new_posts') }}</a> </xf:if> <a href="{{ link('forums/-/list') }}" class="tabs-tab {{$activeTab == 'forum_list' ? 'is-active' : '' }}">{{ phrase('forum_list') }}</a> </xf:macro>]]>

</template>


-<template title="uix_materialVars_outline.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[@fa-var-accessible-icon: "\F05A4"; @fa-var-adjust: "\F001A"; @fa-var-air-conditioner: "\F001B"; @fa-var-alarm-clock: "\F0020"; @fa-var-alarm-exclamation: "\F0020"; @fa-var-alarm-plus: "\F0024"; @fa-var-alarm-snooze: "\F068E"; @fa-var-album: "\F0025"; @fa-var-album-collection: "\F0025"; @fa-var-alien: "\F10CB"; @fa-var-alien-monster: "\F10CB"; @fa-var-align-center: "\F0260"; @fa-var-align-justify: "\F0261"; @fa-var-align-left: "\F0262"; @fa-var-align-right: "\F0263"; @fa-var-amazon: "\F002D"; @fa-var-amazon-pay: "\F002D"; @fa-var-ambulance: "\F002F"; @fa-var-amp-guitar: "\F0820"; @fa-var-anchor: "\F0031"; @fa-var-android: "\F0032"; @fa-var-angle-double-down: "\F013C"; @fa-var-angle-double-left: "\F013D"; @fa-var-angle-double-right: "\F013E"; @fa-var-angle-double-up: "\F013F"; @fa-var-angle-down: "\F0140"; @fa-var-angle-left: "\F0141"; @fa-var-angle-right: "\F0142"; @fa-var-angle-up: "\F0143"; @fa-var-angry: "\F0C6A"; @fa-var-angular: "\F06B2"; @fa-var-apple: "\F0035"; @fa-var-apple-alt: "\F0035"; @fa-var-apple-crate: "\F0035"; @fa-var-apple-pay: "\F0035"; @fa-var-archive: "\F120E"; @fa-var-archway: "\F08C7"; @fa-var-arrow-alt-circle-down: "\F054D"; @fa-var-arrow-alt-circle-left: "\F054D"; @fa-var-arrow-alt-circle-right: "\F054D"; @fa-var-arrow-alt-circle-up: "\F054D"; @fa-var-arrow-alt-down: "\F0045"; @fa-var-arrow-alt-from-bottom: "\F054D"; @fa-var-arrow-alt-from-left: "\F054D"; @fa-var-arrow-alt-from-right: "\F054D"; @fa-var-arrow-alt-from-top: "\F054D"; @fa-var-arrow-alt-left: "\F004D"; @fa-var-arrow-alt-right: "\F0054"; @fa-var-arrow-alt-square-down: "\F054D"; @fa-var-arrow-alt-square-left: "\F054D"; @fa-var-arrow-alt-square-right: "\F054D"; @fa-var-arrow-alt-square-up: "\F054D"; @fa-var-arrow-alt-to-bottom: "\F054D"; @fa-var-arrow-alt-to-left: "\F054D"; @fa-var-arrow-alt-to-right: "\F054D"; @fa-var-arrow-alt-to-top: "\F054D"; @fa-var-arrow-alt-up: "\F005D"; @fa-var-arrow-circle-down: "\F054D"; @fa-var-arrow-circle-left: "\F054D"; @fa-var-arrow-circle-right: "\F054D"; @fa-var-arrow-circle-up: "\F054D"; @fa-var-arrow-down: "\F0045"; @fa-var-arrow-from-bottom: "\F054D"; @fa-var-arrow-from-left: "\F054D"; @fa-var-arrow-from-right: "\F054D"; @fa-var-arrow-from-top: "\F054D"; @fa-var-arrow-left: "\F004D"; @fa-var-arrow-right: "\F0054"; @fa-var-arrow-square-down: "\F054D"; @fa-var-arrow-square-left: "\F054D"; @fa-var-arrow-square-right: "\F054D"; @fa-var-arrow-square-up: "\F054D"; @fa-var-arrow-to-bottom: "\F054D"; @fa-var-arrow-to-left: "\F054D"; @fa-var-arrow-to-right: "\F054D"; @fa-var-arrow-to-top: "\F054D"; @fa-var-arrow-up: "\F005D"; @fa-var-arrows: "\F0041"; @fa-var-arrows-alt: "\F0041"; @fa-var-arrows-alt-h: "\F0E73"; @fa-var-arrows-alt-v: "\F0E79"; @fa-var-arrows-h: "\F0E73"; @fa-var-arrows-v: "\F0E79"; @fa-var-artstation: "\F0B5B"; @fa-var-asterisk: "\F06C4"; @fa-var-at: "\F0065"; @fa-var-atlas: "\F034D"; @fa-var-atlassian: "\F0804"; @fa-var-atom: "\F0768"; @fa-var-atom-alt: "\F0768"; @fa-var-audio-description: "\F0580"; @fa-var-award: "\F0FD9"; @fa-var-aws: "\F0E0F"; @fa-var-axe: "\F08C8"; @fa-var-axe-battle: "\F08C8"; @fa-var-baby: "\F006C"; @fa-var-baby-carriage: "\F068F"; @fa-var-backpack: "\F0E13"; @fa-var-backspace: "\F0B5C"; @fa-var-backward: "\F070A"; @fa-var-bacteria: "\F0ED6"; @fa-var-badge: "\F113C"; @fa-var-badge-check: "\F113C"; @fa-var-badge-dollar: "\F113C"; @fa-var-badge-percent: "\F113C"; @fa-var-badge-sheriff: "\F113C"; @fa-var-balance-scale: "\F05D1"; @fa-var-balance-scale-left: "\F05D1"; @fa-var-balance-scale-right: "\F05D1"; @fa-var-ballot: "\F09CA"; @fa-var-ballot-check: "\F09CA"; @fa-var-ban: "\F0DC7"; @fa-var-band-aid: "\F0DAF"; @fa-var-bandcamp: "\F0675"; @fa-var-barcode: "\F0071"; @fa-var-barcode-alt: "\F0071"; @fa-var-barcode-read: "\F0071"; @fa-var-barcode-scan: "\F0072"; @fa-var-bars: "\F035C"; @fa-var-baseball: "\F0852"; @fa-var-baseball-ball: "\F0852"; @fa-var-basketball-ball: "\F0806"; @fa-var-basketball-hoop: "\F0C3C"; @fa-var-bat: "\F0B5F"; @fa-var-battery-bolt: "\F008E"; @fa-var-battery-empty: "\F008E"; @fa-var-battery-full: "\F008E"; @fa-var-battery-half: "\F008E"; @fa-var-battery-quarter: "\F008E"; @fa-var-battery-slash: "\F125E"; @fa-var-battery-three-quarters: "\F008E"; @fa-var-battle-net: "\F0B60"; @fa-var-bed: "\F0099"; @fa-var-bed-alt: "\F0099"; @fa-var-bed-bunk: "\F0099"; @fa-var-bed-empty: "\F08A0"; @fa-var-beer: "\F130C"; @fa-var-bell: "\F009C"; @fa-var-bell-exclamation: "\F0E81"; @fa-var-bell-on: "\F009C"; @fa-var-bell-plus: "\F0A92"; @fa-var-bell-school: "\F009C"; @fa-var-bell-school-slash: "\F009C"; @fa-var-bell-slash: "\F0A91"; @fa-var-bells: "\F009C"; @fa-var-betamax: "\F09CB"; @fa-var-bezier-curve: "\F0559"; @fa-var-bible: "\F00A2"; @fa-var-bicycle: "\F109C"; @fa-var-biking: "\F00A3"; @fa-var-biking-mountain: "\F00A3"; @fa-var-binoculars: "\F00A5"; @fa-var-biohazard: "\F00A7"; @fa-var-birthday-cake: "\F00EB"; @fa-var-bitbucket: "\F00A8"; @fa-var-bitcoin: "\F0813"; @fa-var-blanket: "\F0099"; @fa-var-blender: "\F0CEB"; @fa-var-blender-phone: "\F0CEB"; @fa-var-blinds: "\F00AC"; @fa-var-blinds-open: "\F1011"; @fa-var-blinds-raised: "\F00AC"; @fa-var-blog: "\F1009"; @fa-var-blogger: "\F00AE"; @fa-var-blogger-b: "\F00AE"; @fa-var-bluetooth: "\F00AF"; @fa-var-bluetooth-b: "\F00AF"; @fa-var-bold: "\F0264"; @fa-var-bolt: "\F06D5"; @fa-var-bomb: "\F0691"; @fa-var-bone: "\F00B9"; @fa-var-bone-break: "\F00B9"; @fa-var-book: "\F0B64"; @fa-var-book-alt: "\F0B64"; @fa-var-book-dead: "\F0B64"; @fa-var-book-heart: "\F0B64"; @fa-var-book-medical: "\F0B64"; @fa-var-book-open: "\F0B63"; @fa-var-book-reader: "\F0B64"; @fa-var-book-spells: "\F0B64"; @fa-var-book-user: "\F13AE"; @fa-var-bookmark: "\F00C3"; @fa-var-books: "\F0436"; @fa-var-books-medical: "\F0436"; @fa-var-boombox: "\F05DC"; @fa-var-bootstrap: "\F06C6"; @fa-var-border-all: "\F00C7"; @fa-var-border-bottom: "\F00C8"; @fa-var-border-left: "\F00CC"; @fa-var-border-none: "\F00CD"; @fa-var-border-outer: "\F00CE"; @fa-var-border-right: "\F00CF"; @fa-var-border-style: "\F00D0"; @fa-var-border-style-alt: "\F00D0"; @fa-var-border-top: "\F00D1"; @fa-var-bowling-ball: "\F00D3"; @fa-var-bowling-pins: "\F00D3"; @fa-var-box: "\F00D4"; @fa-var-box-alt: "\F00D4"; @fa-var-box-ballot: "\F00D4"; @fa-var-box-check: "\F00D4"; @fa-var-box-fragile: "\F00D4"; @fa-var-box-full: "\F00D4"; @fa-var-box-heart: "\F00D4"; @fa-var-box-open: "\F00D4"; @fa-var-box-tissue: "\F00D4"; @fa-var-box-up: "\F03D5"; @fa-var-box-usd: "\F00D4"; @fa-var-boxes: "\F03D7"; @fa-var-boxes-alt: "\F03D6"; @fa-var-boxing-glove: "\F0B65"; @fa-var-brackets: "\F016A"; @fa-var-brackets-curly: "\F016A"; @fa-var-braille: "\F09D0"; @fa-var-brain: "\F09D1"; @fa-var-bread-loaf: "\F0F3E"; @fa-var-bread-slice: "\F0CEF"; @fa-var-briefcase: "\F0814"; @fa-var-briefcase-medical: "\F0814"; @fa-var-broom: "\F00E2"; @fa-var-browser: "\F0614"; @fa-var-brush: "\F00E3"; @fa-var-buffer: "\F0619"; @fa-var-bug: "\F0A30"; @fa-var-building: "\F01D7"; @fa-var-bullhorn: "\F0B23"; @fa-var-bullseye: "\F05DD"; @fa-var-bullseye-arrow: "\F08C9"; @fa-var-bullseye-pointer: "\F05DD"; @fa-var-burger-soda: "\F0685"; @fa-var-burn: "\F0238"; @fa-var-burrito: "\F0762"; @fa-var-bus: "\F00E7"; @fa-var-bus-alt: "\F00E7"; @fa-var-bus-school: "\F079F"; @fa-var-business-time: "\F15A1"; @fa-var-cactus: "\F0DB5"; @fa-var-calculator: "\F00EC"; @fa-var-calculator-alt: "\F00EC"; @fa-var-calendar: "\F0B67"; @fa-var-calendar-alt: "\F0B67"; @fa-var-calendar-check: "\F0C44"; @fa-var-calendar-day: "\F00F6"; @fa-var-calendar-edit: "\F08A7"; @fa-var-calendar-exclamation: "\F0A31"; @fa-var-calendar-minus: "\F0D5C"; @fa-var-calendar-plus: "\F00F3"; @fa-var-calendar-star: "\F09D3"; @fa-var-calendar-times: "\F0B67"; @fa-var-calendar-week: "\F0A33"; @fa-var-camcorder: "\F00FC"; @fa-var-camera: "\F0D5D"; @fa-var-camera-alt: "\F0D5D"; @fa-var-camera-home: "\F0D5D"; @fa-var-camera-movie: "\F0D5D"; @fa-var-camera-polaroid: "\F0D5D"; @fa-var-camera-retro: "\F0D5D"; @fa-var-campfire: "\F0EDD"; @fa-var-campground: "\F0508"; @fa-var-candle-holder: "\F05E2"; @fa-var-cannabis: "\F07A6"; @fa-var-car: "\F14ED"; @fa-var-car-alt: "\F14ED"; @fa-var-car-battery: "\F010C"; @fa-var-car-building: "\F14ED"; @fa-var-car-bump: "\F14ED"; @fa-var-car-bus: "\F14ED"; @fa-var-car-crash: "\F14ED"; @fa-var-car-garage: "\F14ED"; @fa-var-car-mechanic: "\F14ED"; @fa-var-car-side: "\F07AB"; @fa-var-car-tilt: "\F14ED"; @fa-var-car-wash: "\F010E"; @fa-var-caravan: "\F07AD"; @fa-var-caravan-alt: "\F07AD"; @fa-var-caret-circle-down: "\F0B2D"; @fa-var-caret-circle-left: "\F0B2D"; @fa-var-caret-circle-right: "\F0B2D"; @fa-var-caret-circle-up: "\F0B2D"; @fa-var-caret-down: "\F035D"; @fa-var-caret-left: "\F035E"; @fa-var-caret-right: "\F035F"; @fa-var-caret-square-down: "\F09DD"; @fa-var-caret-square-left: "\F09DD"; @fa-var-caret-square-right: "\F09DD"; @fa-var-caret-square-up: "\F09DD"; @fa-var-caret-up: "\F0360"; @fa-var-carrot: "\F010F"; @fa-var-cars: "\F0B6E"; @fa-var-cart-arrow-down: "\F0D66"; @fa-var-cart-plus: "\F0112"; @fa-var-cash-register: "\F0CF4"; @fa-var-cassette-tape: "\F09D4"; @fa-var-cat: "\F011B"; @fa-var-cat-space: "\F011B"; @fa-var-cauldron: "\F0677"; @fa-var-cc-amazon-pay: "\F0DBD"; @fa-var-cc-amex: "\F0DBD"; @fa-var-cc-apple-pay: "\F0DBD"; @fa-var-cc-diners-club: "\F0DBD"; @fa-var-cc-discover: "\F0DBD"; @fa-var-cc-jcb: "\F0DBD"; @fa-var-cc-mastercard: "\F0DBD"; @fa-var-cc-paypal: "\F0DBD"; @fa-var-cc-stripe: "\F0DBD"; @fa-var-cc-visa: "\F0DBD"; @fa-var-cctv: "\F07AE"; @fa-var-centos: "\F111A"; @fa-var-certificate: "\F1188"; @fa-var-chair: "\F0CC4"; @fa-var-chair-office: "\F0CC4"; @fa-var-charging-station: "\F05F1"; @fa-var-chart-bar: "\F0128"; @fa-var-chart-line: "\F012A"; @fa-var-chart-line-down: "\F012A"; @fa-var-chart-pie: "\F012B"; @fa-var-chart-pie-alt: "\F012B"; @fa-var-check: "\F0855"; @fa-var-check-circle: "\F0134"; @fa-var-check-double: "\F0855"; @fa-var-check-square: "\F0135"; @fa-var-cheese: "\F12B9"; @fa-var-cheese-swiss: "\F12B9"; @fa-var-cheeseburger: "\F0685"; @fa-var-chess: "\F0857"; @fa-var-chess-bishop: "\F085C"; @fa-var-chess-bishop-alt: "\F085C"; @fa-var-chess-board: "\F0857"; @fa-var-chess-clock: "\F0857"; @fa-var-chess-clock-alt: "\F0857"; @fa-var-chess-king: "\F0857"; @fa-var-chess-king-alt: "\F0857"; @fa-var-chess-knight: "\F0858"; @fa-var-chess-knight-alt: "\F0858"; @fa-var-chess-pawn: "\F0859"; @fa-var-chess-pawn-alt: "\F0859"; @fa-var-chess-queen: "\F085A"; @fa-var-chess-queen-alt: "\F085A"; @fa-var-chess-rook: "\F085B"; @fa-var-chess-rook-alt: "\F085B"; @fa-var-chevron-circle-down: "\F0B27"; @fa-var-chevron-circle-left: "\F0B29"; @fa-var-chevron-circle-right: "\F0B2B"; @fa-var-chevron-circle-up: "\F0B2D"; @fa-var-chevron-double-down: "\F013C"; @fa-var-chevron-double-left: "\F013D"; @fa-var-chevron-double-right: "\F013E"; @fa-var-chevron-double-up: "\F013F"; @fa-var-chevron-down: "\F0140"; @fa-var-chevron-left: "\F0141"; @fa-var-chevron-right: "\F0142"; @fa-var-chevron-square-down: "\F09D7"; @fa-var-chevron-square-left: "\F09D9"; @fa-var-chevron-square-right: "\F09DB"; @fa-var-chevron-square-up: "\F09DD"; @fa-var-chevron-up: "\F0143"; @fa-var-child: "\F02E7"; @fa-var-chromecast: "\F02AF"; @fa-var-church: "\F0144"; @fa-var-circle: "\F0130"; @fa-var-circle-notch: "\F0130"; @fa-var-city: "\F0146"; @fa-var-clipboard: "\F014C"; @fa-var-clipboard-check: "\F08A8"; @fa-var-clipboard-list: "\F10D5"; @fa-var-clipboard-list-check: "\F10D5"; @fa-var-clipboard-prescription: "\F014C"; @fa-var-clipboard-user: "\F0C55"; @fa-var-clock: "\F0150"; @fa-var-closed-captioning: "\F05AE"; @fa-var-cloud: "\F0163"; @fa-var-cloud-download: "\F0B7D"; @fa-var-cloud-download-alt: "\F0B7D"; @fa-var-cloud-drizzle: "\F0163"; @fa-var-cloud-hail: "\F0163"; @fa-var-cloud-hail-mixed: "\F0163"; @fa-var-cloud-meatball: "\F0163"; @fa-var-cloud-moon: "\F0163"; @fa-var-cloud-moon-rain: "\F0163"; @fa-var-cloud-music: "\F0163"; @fa-var-cloud-rain: "\F0163"; @fa-var-cloud-rainbow: "\F0163"; @fa-var-cloud-showers: "\F0163"; @fa-var-cloud-showers-heavy: "\F0163"; @fa-var-cloud-sleet: "\F0163"; @fa-var-cloud-snow: "\F0163"; @fa-var-cloud-sun: "\F0163"; @fa-var-cloud-sun-rain: "\F0163"; @fa-var-cloud-upload: "\F0B7E"; @fa-var-cloud-upload-alt: "\F0B7E"; @fa-var-cocktail: "\F0876"; @fa-var-code: "\F05C0"; @fa-var-code-branch: "\F05C0"; @fa-var-code-commit: "\F05C0"; @fa-var-code-merge: "\F05C0"; @fa-var-codepen: "\F0175"; @fa-var-coffee: "\F06CA"; @fa-var-coffee-pot: "\F06CA"; @fa-var-coffee-togo: "\F06CA"; @fa-var-coffin: "\F0B7F"; @fa-var-coffin-cross: "\F0B7F"; @fa-var-cog: "\F08BB"; @fa-var-cogs: "\F08D6"; @fa-var-coin: "\F0178"; @fa-var-coins: "\F0695"; @fa-var-comet: "\F0629"; @fa-var-comment: "\F0182"; @fa-var-comment-alt: "\F0182"; @fa-var-comment-alt-check: "\F0180"; @fa-var-comment-alt-dollar: "\F0182"; @fa-var-comment-alt-dots: "\F0182"; @fa-var-comment-alt-edit: "\F12C4"; @fa-var-comment-alt-exclamation: "\F017E"; @fa-var-comment-alt-lines: "\F0182"; @fa-var-comment-alt-medical: "\F0182"; @fa-var-comment-alt-minus: "\F15E0"; @fa-var-comment-alt-music: "\F0182"; @fa-var-comment-alt-plus: "\F0183"; @fa-var-comment-alt-slash: "\F15E2"; @fa-var-comment-alt-smile: "\F0182"; @fa-var-comment-alt-times: "\F0182"; @fa-var-comment-check: "\F0180"; @fa-var-comment-dollar: "\F0182"; @fa-var-comment-dots: "\F0182"; @fa-var-comment-edit: "\F12C4"; @fa-var-comment-exclamation: "\F017E"; @fa-var-comment-lines: "\F0182"; @fa-var-comment-medical: "\F0182"; @fa-var-comment-minus: "\F15E0"; @fa-var-comment-music: "\F0182"; @fa-var-comment-plus: "\F0183"; @fa-var-comment-slash: "\F15E2"; @fa-var-comment-smile: "\F0182"; @fa-var-comment-times: "\F0182"; @fa-var-comments: "\F0181"; @fa-var-comments-alt: "\F0181"; @fa-var-comments-alt-dollar: "\F0181"; @fa-var-comments-dollar: "\F0181"; @fa-var-compass: "\F018C"; @fa-var-compass-slash: "\F0B81"; @fa-var-compress: "\F0294"; @fa-var-compress-alt: "\F0615"; @fa-var-compress-arrows-alt: "\F0294"; @fa-var-compress-wide: "\F0294"; @fa-var-computer-classic: "\F07C0"; @fa-var-computer-speaker: "\F0322"; @fa-var-construction: "\F05B5"; @fa-var-cookie: "\F16DE"; @fa-var-cookie-bite: "\F16DE"; @fa-var-copy: "\F1518"; @fa-var-copyright: "\F05E6"; @fa-var-corn: "\F07B8"; @fa-var-couch: "\F156F"; @fa-var-cow: "\F019A"; @fa-var-creative-commons: "\F0D6B"; @fa-var-creative-commons-by: "\F0D6B"; @fa-var-creative-commons-nc: "\F0D6B"; @fa-var-creative-commons-nc-eu: "\F0D6B"; @fa-var-creative-commons-nc-jp: "\F0D6B"; @fa-var-creative-commons-nd: "\F0D6B"; @fa-var-creative-commons-pd: "\F0D6B"; @fa-var-creative-commons-pd-alt: "\F0D6B"; @fa-var-creative-commons-remix: "\F0D6B"; @fa-var-creative-commons-sa: "\F0D6B"; @fa-var-creative-commons-sampling: "\F0D6B"; @fa-var-creative-commons-sampling-plus: "\F0D6B"; @fa-var-creative-commons-share: "\F0D6B"; @fa-var-creative-commons-zero: "\F0D6B"; @fa-var-credit-card: "\F019B"; @fa-var-credit-card-blank: "\F019B"; @fa-var-credit-card-front: "\F019B"; @fa-var-cricket: "\F0D6D"; @fa-var-crop: "\F019E"; @fa-var-crop-alt: "\F019E"; @fa-var-cross: "\F0CF6"; @fa-var-crosshairs: "\F01A3"; @fa-var-crown: "\F11D0"; @fa-var-cube: "\F01A7"; @fa-var-curling: "\F0863"; @fa-var-cut: "\F0190"; @fa-var-dagger: "\F09FC"; @fa-var-database: "\F1632"; @fa-var-desktop: "\F0379"; @fa-var-desktop-alt: "\F07C0"; @fa-var-deviantart: "\F01C7"; @fa-var-dharmachakra: "\F094B"; @fa-var-diamond: "\F0B8B"; @fa-var-dice-d10: "\F076F"; @fa-var-dice-d12: "\F0867"; @fa-var-dice-d20: "\F05EA"; @fa-var-dice-d4: "\F05EB"; @fa-var-dice-d6: "\F05ED"; @fa-var-dice-d8: "\F05EC"; @fa-var-dice-five: "\F114E"; @fa-var-dice-four: "\F114D"; @fa-var-dice-one: "\F114A"; @fa-var-dice-six: "\F114F"; @fa-var-dice-three: "\F114C"; @fa-var-dice-two: "\F114B"; @fa-var-digital-ocean: "\F1237"; @fa-var-diploma: "\F1188"; @fa-var-directions: "\F01D0"; @fa-var-disc-drive: "\F05EE"; @fa-var-discord: "\F066F"; @fa-var-divide: "\F0FDF"; @fa-var-dna: "\F0684"; @fa-var-do-not-enter: "\F0377"; @fa-var-docker: "\F0868"; @fa-var-dog: "\F0A43"; @fa-var-dog-leashed: "\F0A43"; @fa-var-dollar-sign: "\F01C1"; @fa-var-dolly: "\F0E9E"; @fa-var-dolly-empty: "\F0E9E"; @fa-var-dolly-flatbed: "\F0E9E"; @fa-var-dolly-flatbed-alt: "\F0E9E"; @fa-var-dolly-flatbed-empty: "\F0E9E"; @fa-var-donate: "\F02A1"; @fa-var-door-closed: "\F081B"; @fa-var-door-open: "\F081C"; @fa-var-download: "\F0B8F"; @fa-var-draw-circle: "\F0F49"; @fa-var-draw-polygon: "\F0F49"; @fa-var-draw-square: "\F0F49"; @fa-var-drone: "\F01E2"; @fa-var-drone-alt: "\F01E2"; @fa-var-dropbox: "\F01E3"; @fa-var-drupal: "\F01E4"; @fa-var-duck: "\F01E5"; @fa-var-dumbbell: "\F01E6"; @fa-var-edit: "\F0CB6"; @fa-var-egg: "\F13F2"; @fa-var-egg-fried: "\F13F2"; @fa-var-eject: "\F0B91"; @fa-var-elephant: "\F07C6"; @fa-var-ellipsis-h: "\F01D8"; @fa-var-ellipsis-h-alt: "\F01D8"; @fa-var-ellipsis-v: "\F01D9"; @fa-var-ellipsis-v-alt: "\F01D9"; @fa-var-ember: "\F0B30"; @fa-var-engine-warning: "\F01FB"; @fa-var-envelope: "\F01F0"; @fa-var-envelope-open: "\F05EF"; @fa-var-envelope-open-dollar: "\F05EF"; @fa-var-envelope-open-text: "\F05EF"; @fa-var-envelope-square: "\F0D03"; @fa-var-eraser: "\F01FE"; @fa-var-ethereum: "\F086A"; @fa-var-ethernet: "\F0200"; @fa-var-euro-sign: "\F01AD"; @fa-var-evernote: "\F0204"; @fa-var-exclamation: "\F0205"; @fa-var-exclamation-circle: "\F05D6"; @fa-var-exclamation-square: "\F0CE4"; @fa-var-exclamation-triangle: "\F002A"; @fa-var-expand: "\F0293"; @fa-var-expand-alt: "\F0616"; @fa-var-expand-arrows: "\F0293"; @fa-var-expand-arrows-alt: "\F0293"; @fa-var-expand-wide: "\F0293"; @fa-var-external-link: "\F03CC"; @fa-var-external-link-alt: "\F03CC"; @fa-var-external-link-square: "\F03CC"; @fa-var-external-link-square-alt: "\F03CC"; @fa-var-eye: "\F06D0"; @fa-var-eye-dropper: "\F06D0"; @fa-var-eye-evil: "\F06D0"; @fa-var-eye-slash: "\F06D1"; @fa-var-facebook: "\F020C"; @fa-var-facebook-f: "\F020C"; @fa-var-facebook-messenger: "\F020E"; @fa-var-facebook-square: "\F020C"; @fa-var-fan: "\F0210"; @fa-var-fan-table: "\F0210"; @fa-var-farm: "\F0892"; @fa-var-fast-forward: "\F06D2"; @fa-var-faucet: "\F058F"; @fa-var-faucet-drip: "\F058F"; @fa-var-fax: "\F0212"; @fa-var-feather: "\F06D3"; @fa-var-feather-alt: "\F06D3"; @fa-var-fedora: "\F08DB"; @fa-var-file: "\F0224"; @fa-var-file-alt: "\F0224"; @fa-var-file-archive: "\F0224"; @fa-var-file-audio: "\F0224"; @fa-var-file-certificate: "\F1187"; @fa-var-file-chart-line: "\F1029"; @fa-var-file-chart-pie: "\F1029"; @fa-var-file-check: "\F0E29"; @fa-var-file-code: "\F102B"; @fa-var-file-contract: "\F0224"; @fa-var-file-csv: "\F0EA5"; @fa-var-file-download: "\F0966"; @fa-var-file-edit: "\F11E8"; @fa-var-file-excel: "\F102D"; @fa-var-file-exclamation: "\F0A4C"; @fa-var-file-export: "\F102E"; @fa-var-file-image: "\F0EB0"; @fa-var-file-import: "\F102F"; @fa-var-file-invoice: "\F0224"; @fa-var-file-invoice-dollar: "\F0224"; @fa-var-file-medical: "\F0224"; @fa-var-file-medical-alt: "\F0224"; @fa-var-file-minus: "\F0224"; @fa-var-file-music: "\F0E2A"; @fa-var-file-pdf: "\F0E2D"; @fa-var-file-plus: "\F0EED"; @fa-var-file-powerpoint: "\F1035"; @fa-var-file-prescription: "\F0224"; @fa-var-file-search: "\F0C7D"; @fa-var-file-signature: "\F0224"; @fa-var-file-spreadsheet: "\F0224"; @fa-var-file-times: "\F0224"; @fa-var-file-upload: "\F0A4E"; @fa-var-file-user: "\F1028"; @fa-var-file-video: "\F0E2C"; @fa-var-file-word: "\F103E"; @fa-var-files-medical: "\F1032"; @fa-var-film: "\F022F"; @fa-var-film-alt: "\F022F"; @fa-var-film-canister: "\F022F"; @fa-var-filter: "\F0233"; @fa-var-fingerprint: "\F0237"; @fa-var-fire: "\F0238"; @fa-var-fire-alt: "\F0238"; @fa-var-fire-extinguisher: "\F0EF2"; @fa-var-fire-smoke: "\F0238"; @fa-var-firefox: "\F0239"; @fa-var-firefox-browser: "\F0239"; @fa-var-fireplace: "\F0E2E"; @fa-var-fish: "\F023A"; @fa-var-fish-cooked: "\F023A"; @fa-var-flag: "\F023D"; @fa-var-flag-alt: "\F023D"; @fa-var-flag-checkered: "\F023C"; @fa-var-flag-usa: "\F023D"; @fa-var-flame: "\F0238"; @fa-var-flashlight: "\F0244"; @fa-var-flask: "\F0096"; @fa-var-flask-poison: "\F0096"; @fa-var-flask-potion: "\F0096"; @fa-var-flower: "\F09F0"; @fa-var-flower-daffodil: "\F09F0"; @fa-var-flower-tulip: "\F09F2"; @fa-var-fly: "\F0FA1"; @fa-var-folder: "\F0256"; @fa-var-folder-download: "\F10E9"; @fa-var-folder-minus: "\F0256"; @fa-var-folder-open: "\F0DCF"; @fa-var-folder-plus: "\F0B9D"; @fa-var-folder-times: "\F0256"; @fa-var-folder-tree: "\F0256"; @fa-var-folder-upload: "\F10ED"; @fa-var-folders: "\F0255"; @fa-var-font: "\F06D6"; @fa-var-font-awesome: "\F003A"; @fa-var-font-awesome-alt: "\F003A"; @fa-var-font-awesome-flag: "\F003A"; @fa-var-font-awesome-logo-full: "\F003A"; @fa-var-font-case: "\F06D6"; @fa-var-football-ball: "\F025D"; @fa-var-football-helmet: "\F025F"; @fa-var-forklift: "\F07C9"; @fa-var-forward: "\F06D2"; @fa-var-freebsd: "\F08E0"; @fa-var-function: "\F0295"; @fa-var-funnel-dollar: "\F0233"; @fa-var-futbol: "\F04B8"; @fa-var-gamepad: "\F0296"; @fa-var-gamepad-alt: "\F0296"; @fa-var-garage: "\F06D9"; @fa-var-garage-car: "\F06D9"; @fa-var-garage-open: "\F06DA"; @fa-var-gas-pump: "\F0EB8"; @fa-var-gas-pump-slash: "\F140A"; @fa-var-gavel: "\F029B"; @fa-var-ghost: "\F165D"; @fa-var-gift: "\F02A1"; @fa-var-gift-card: "\F02A1"; @fa-var-git: "\F02A2"; @fa-var-git-alt: "\F02A2"; @fa-var-git-square: "\F02A2"; @fa-var-github: "\F02A4"; @fa-var-github-alt: "\F02A4"; @fa-var-github-square: "\F02A4"; @fa-var-gitlab: "\F0BA0"; @fa-var-glass: "\F130F"; @fa-var-glass-champagne: "\F130F"; @fa-var-glass-cheers: "\F130F"; @fa-var-glass-citrus: "\F130F"; @fa-var-glass-martini: "\F130F"; @fa-var-glass-martini-alt: "\F130F"; @fa-var-glass-whiskey: "\F130F"; @fa-var-glass-whiskey-rocks: "\F130F"; @fa-var-glasses: "\F02AA"; @fa-var-glasses-alt: "\F02AA"; @fa-var-globe: "\F01E7"; @fa-var-globe-africa: "\F01E7"; @fa-var-globe-americas: "\F01E7"; @fa-var-globe-asia: "\F01E7"; @fa-var-globe-europe: "\F01E7"; @fa-var-globe-snow: "\F01E7"; @fa-var-globe-stand: "\F01E7"; @fa-var-golf-ball: "\F0823"; @fa-var-golf-club: "\F0823"; @fa-var-goodreads: "\F0D7B"; @fa-var-goodreads-g: "\F0D7B"; @fa-var-google: "\F02AD"; @fa-var-google-drive: "\F02B6"; @fa-var-google-pay: "\F02AD"; @fa-var-google-play: "\F02BC"; @fa-var-google-plus: "\F02BD"; @fa-var-google-plus-g: "\F02BD"; @fa-var-google-plus-square: "\F02BD"; @fa-var-google-wallet: "\F02AD"; @fa-var-graduation-cap: "\F1180"; @fa-var-greater-than: "\F096D"; @fa-var-greater-than-equal: "\F096D"; @fa-var-grip-horizontal: "\F01DC"; @fa-var-guitar-electric: "\F02C4"; @fa-var-hamburger: "\F0685"; @fa-var-hammer: "\F08EA"; @fa-var-hammer-war: "\F08EA"; @fa-var-hand-heart: "\F157E"; @fa-var-hand-holding: "\F0A4F"; @fa-var-hand-holding-box: "\F0A4F"; @fa-var-hand-holding-heart: "\F0A4F"; @fa-var-hand-holding-magic: "\F0A4F"; @fa-var-hand-holding-medical: "\F0A4F"; @fa-var-hand-holding-seedling: "\F0A4F"; @fa-var-hand-holding-usd: "\F0A4F"; @fa-var-hand-holding-water: "\F0A4F"; @fa-var-hand-lizard: "\F0A4F"; @fa-var-hand-middle-finger: "\F0A4F"; @fa-var-hand-paper: "\F0A4F"; @fa-var-hand-peace: "\F0A51"; @fa-var-hand-point-down: "\F0A4F"; @fa-var-hand-point-left: "\F0A4F"; @fa-var-hand-point-right: "\F0A4F"; @fa-var-hand-point-up: "\F0A4F"; @fa-var-hand-pointer: "\F0A4F"; @fa-var-hand-receiving: "\F0A4F"; @fa-var-hand-rock: "\F0A4F"; @fa-var-hand-scissors: "\F0A4F"; @fa-var-hand-sparkles: "\F0A4F"; @fa-var-hand-spock: "\F0A4F"; @fa-var-hands-helping: "\F1218"; @fa-var-handshake: "\F15A1"; @fa-var-handshake-alt: "\F15A1"; @fa-var-handshake-alt-slash: "\F15A1"; @fa-var-handshake-slash: "\F15A1"; @fa-var-hard-hat: "\F096F"; @fa-var-hashtag: "\F0423"; @fa-var-hat-chef: "\F0B7C"; @fa-var-hdd: "\F02CA"; @fa-var-head-side: "\F135F"; @fa-var-head-side-brain: "\F135F"; @fa-var-head-side-cough: "\F135F"; @fa-var-head-side-cough-slash: "\F135F"; @fa-var-head-side-headphones: "\F135F"; @fa-var-head-side-mask: "\F135F"; @fa-var-head-side-medical: "\F135F"; @fa-var-head-side-virus: "\F135F"; @fa-var-head-vr: "\F135F"; @fa-var-heading: "\F05F4"; @fa-var-headphones: "\F02CB"; @fa-var-headphones-alt: "\F02CB"; @fa-var-headset: "\F02CE"; @fa-var-heart: "\F02D5"; @fa-var-heart-broken: "\F0D14"; @fa-var-heart-circle: "\F0972"; @fa-var-heart-rate: "\F02D5"; @fa-var-heart-square: "\F02D3"; @fa-var-helicopter: "\F0AC2"; @fa-var-helmet-battle: "\F096F"; @fa-var-hexagon: "\F02D9"; @fa-var-highlighter: "\F0652"; @fa-var-hiking: "\F0D7F"; @fa-var-history: "\F02DA"; @fa-var-hockey-puck: "\F0879"; @fa-var-hockey-sticks: "\F087A"; @fa-var-home: "\F06A1"; @fa-var-home-alt: "\F06A1"; @fa-var-home-heart: "\F0827"; @fa-var-home-lg: "\F06A1"; @fa-var-home-lg-alt: "\F06A1"; @fa-var-horse: "\F15BF"; @fa-var-horse-head: "\F15BF"; @fa-var-horse-saddle: "\F15BF"; @fa-var-hospital: "\F0FF6"; @fa-var-hospital-alt: "\F0FF6"; @fa-var-hospital-symbol: "\F0FF6"; @fa-var-hospital-user: "\F0FF6"; @fa-var-hot-tub: "\F0828"; @fa-var-hotel: "\F0099"; @fa-var-hourglass: "\F051F"; @fa-var-hourglass-end: "\F051F"; @fa-var-hourglass-half: "\F051F"; @fa-var-hourglass-start: "\F051F"; @fa-var-house: "\F06A1"; @fa-var-house-damage: "\F06A1"; @fa-var-house-day: "\F06A1"; @fa-var-house-flood: "\F0EFA"; @fa-var-house-leave: "\F06A1"; @fa-var-house-night: "\F06A1"; @fa-var-house-return: "\F06A1"; @fa-var-house-signal: "\F06A1"; @fa-var-house-user: "\F0826"; @fa-var-hubspot: "\F0D17"; @fa-var-humidity: "\F058E"; @fa-var-ice-cream: "\F082A"; @fa-var-ice-skate: "\F0D35"; @fa-var-id-card: "\F0FC0"; @fa-var-id-card-alt: "\F0FC0"; @fa-var-image: "\F0976"; @fa-var-image-polaroid: "\F0976"; @fa-var-images: "\F02EF"; @fa-var-inbox: "\F1274"; @fa-var-inbox-in: "\F1274"; @fa-var-inbox-out: "\F1274"; @fa-var-indent: "\F0276"; @fa-var-infinity: "\F06E4"; @fa-var-info: "\F02FD"; @fa-var-info-circle: "\F02FD"; @fa-var-info-square: "\F02FD"; @fa-var-instagram: "\F02FE"; @fa-var-instagram-square: "\F02FE"; @fa-var-island-tropical: "\F104F"; @fa-var-italic: "\F0277"; @fa-var-jack-o-lantern: "\F0BA3"; @fa-var-jira: "\F0303"; @fa-var-journal-whills: "\F0EBF"; @fa-var-jsfiddle: "\F0304"; @fa-var-key: "\F0DD6"; @fa-var-key-skeleton: "\F0DD6"; @fa-var-keyboard: "\F097B"; @fa-var-khanda: "\F10FD"; @fa-var-kickstarter: "\F0745"; @fa-var-kickstarter-k: "\F0745"; @fa-var-knife-kitchen: "\F09FB"; @fa-var-lambda: "\F0627"; @fa-var-lamp: "\F06B5"; @fa-var-lamp-desk: "\F06B5"; @fa-var-lamp-floor: "\F06B5"; @fa-var-language: "\F059F"; @fa-var-laptop: "\F0322"; @fa-var-laptop-code: "\F0322"; @fa-var-laptop-house: "\F0322"; @fa-var-laptop-medical: "\F0322"; @fa-var-laravel: "\F0AD0"; @fa-var-lasso: "\F0F03"; @fa-var-leaf: "\F032A"; @fa-var-leaf-heart: "\F032A"; @fa-var-leaf-maple: "\F0C93"; @fa-var-leaf-oak: "\F032A"; @fa-var-less-than: "\F097C"; @fa-var-less-than-equal: "\F097C"; @fa-var-light-switch: "\F097E"; @fa-var-light-switch-off: "\F097E"; @fa-var-light-switch-on: "\F097E"; @fa-var-lightbulb: "\F0336"; @fa-var-lightbulb-dollar: "\F0336"; @fa-var-lightbulb-exclamation: "\F0336"; @fa-var-lightbulb-on: "\F06E9"; @fa-var-lightbulb-slash: "\F0E50"; @fa-var-link: "\F0337"; @fa-var-linkedin: "\F033B"; @fa-var-linkedin-in: "\F033B"; @fa-var-linux: "\F033D"; @fa-var-lira-sign: "\F01B2"; @fa-var-list: "\F0279"; @fa-var-list-alt: "\F0279"; @fa-var-list-music: "\F0279"; @fa-var-list-ol: "\F027B"; @fa-var-list-ul: "\F0279"; @fa-var-location: "\F07D9"; @fa-var-location-arrow: "\F07D9"; @fa-var-location-circle: "\F034F"; @fa-var-location-slash: "\F12FD"; @fa-var-lock: "\F0341"; @fa-var-lock-alt: "\F0341"; @fa-var-lock-open: "\F0340"; @fa-var-lock-open-alt: "\F0340"; @fa-var-long-arrow-alt-down: "\F0045"; @fa-var-long-arrow-alt-left: "\F004D"; @fa-var-long-arrow-alt-right: "\F0054"; @fa-var-long-arrow-alt-up: "\F005D"; @fa-var-long-arrow-down: "\F0045"; @fa-var-long-arrow-left: "\F004D"; @fa-var-long-arrow-right: "\F0054"; @fa-var-long-arrow-up: "\F005D"; @fa-var-loveseat: "\F156F"; @fa-var-luggage-cart: "\F0F3D"; @fa-var-lungs: "\F1084"; @fa-var-lungs-virus: "\F1084"; @fa-var-magic: "\F0068"; @fa-var-magnet: "\F0347"; @fa-var-mail-bulk: "\F0EBB"; @fa-var-mailbox: "\F0D8C"; @fa-var-map: "\F0982"; @fa-var-map-marked: "\F0982"; @fa-var-map-marked-alt: "\F0982"; @fa-var-map-marker: "\F07D9"; @fa-var-map-marker-alt: "\F07D9"; @fa-var-map-marker-alt-slash: "\F12FD"; @fa-var-map-marker-check: "\F12FB"; @fa-var-map-marker-edit: "\F07D9"; @fa-var-map-marker-exclamation: "\F0F06"; @fa-var-map-marker-minus: "\F12F9"; @fa-var-map-marker-plus: "\F12F8"; @fa-var-map-marker-question: "\F0F08"; @fa-var-map-marker-slash: "\F12FD"; @fa-var-map-marker-smile: "\F07D9"; @fa-var-map-marker-times: "\F07D9"; @fa-var-map-pin: "\F0982"; @fa-var-map-signs: "\F0982"; @fa-var-marker: "\F0652"; @fa-var-mars: "\F029D"; @fa-var-mars-double: "\F029D"; @fa-var-mars-stroke: "\F029D"; @fa-var-mars-stroke-h: "\F029D"; @fa-var-mars-stroke-v: "\F029D"; @fa-var-mask: "\F1023"; @fa-var-mastodon: "\F0AD1"; @fa-var-meat: "\F146A"; @fa-var-medal: "\F1326"; @fa-var-megaphone: "\F0B23"; @fa-var-memory: "\F035B"; @fa-var-mercury: "\F113F"; @fa-var-meteor: "\F0629"; @fa-var-microphone: "\F036E"; @fa-var-microphone-alt: "\F036E"; @fa-var-microphone-alt-slash: "\F036D"; @fa-var-microphone-slash: "\F036D"; @fa-var-microphone-stand: "\F036E"; @fa-var-microscope: "\F0654"; @fa-var-microsoft: "\F0372"; @fa-var-microwave: "\F0C99"; @fa-var-minus: "\F0374"; @fa-var-minus-circle: "\F0377"; @fa-var-minus-hexagon: "\F0374"; @fa-var-minus-octagon: "\F0374"; @fa-var-minus-square: "\F06F2"; @fa-var-mobile: "\F011C"; @fa-var-mobile-alt: "\F011C"; @fa-var-mobile-android: "\F011D"; @fa-var-mobile-android-alt: "\F011D"; @fa-var-money-bill: "\F0116"; @fa-var-money-bill-alt: "\F0116"; @fa-var-money-bill-wave: "\F0116"; @fa-var-money-bill-wave-alt: "\F0116"; @fa-var-money-check: "\F0116"; @fa-var-money-check-alt: "\F0116"; @fa-var-money-check-edit: "\F0116"; @fa-var-money-check-edit-alt: "\F0116"; @fa-var-monitor-heart-rate: "\F0379"; @fa-var-moon: "\F0F65"; @fa-var-moon-cloud: "\F0F65"; @fa-var-moon-stars: "\F0F65"; @fa-var-motorcycle: "\F037C"; @fa-var-mountain: "\F02F5"; @fa-var-mouse: "\F037D"; @fa-var-mouse-alt: "\F037D"; @fa-var-mouse-pointer: "\F037D"; @fa-var-music: "\F075A"; @fa-var-music-alt: "\F075A"; @fa-var-music-alt-slash: "\F075B"; @fa-var-music-slash: "\F075B"; @fa-var-network-wired: "\F0C9D"; @fa-var-newspaper: "\F0395"; @fa-var-not-equal: "\F098D"; @fa-var-notes-medical: "\F06B9"; @fa-var-npm: "\F06F7"; @fa-var-octagon: "\F03C4"; @fa-var-odnoklassniki: "\F03C5"; @fa-var-odnoklassniki-square: "\F03C5"; @fa-var-oil-can: "\F03C7"; @fa-var-oil-temp: "\F03C7"; @fa-var-om: "\F0973"; @fa-var-omega: "\F03C9"; @fa-var-openid: "\F03CD"; @fa-var-opera: "\F03CE"; @fa-var-ornament: "\F03CF"; @fa-var-outdent: "\F0275"; @fa-var-oven: "\F04DE"; @fa-var-paint-brush: "\F0665"; @fa-var-paint-brush-alt: "\F0665"; @fa-var-paint-roller: "\F0665"; @fa-var-palette: "\F0E0C"; @fa-var-paper-plane: "\F1165"; @fa-var-paperclip: "\F03E2"; @fa-var-parachute-box: "\F0CB5"; @fa-var-paragraph: "\F027D"; @fa-var-paragraph-rtl: "\F027D"; @fa-var-parking: "\F03E3"; @fa-var-parking-circle: "\F03E3"; @fa-var-parking-circle-slash: "\F03E3"; @fa-var-parking-slash: "\F03E3"; @fa-var-passport: "\F07E3"; @fa-var-patreon: "\F0882"; @fa-var-pause: "\F03E4"; @fa-var-pause-circle: "\F03E6"; @fa-var-paw: "\F1675"; @fa-var-paw-alt: "\F1675"; @fa-var-paw-claws: "\F1675"; @fa-var-peace: "\F0884"; @fa-var-pen: "\F03EA"; @fa-var-pen-alt: "\F03EA"; @fa-var-pen-fancy: "\F03EA"; @fa-var-pen-nib: "\F03EA"; @fa-var-pen-square: "\F03EA"; @fa-var-pencil: "\F0CB6"; @fa-var-pencil-alt: "\F0CB6"; @fa-var-pencil-paintbrush: "\F0CB6"; @fa-var-pencil-ruler: "\F1353"; @fa-var-people-arrows: "\F000F"; @fa-var-people-carry: "\F000F"; @fa-var-pepper-hot: "\F110F"; @fa-var-percent: "\F1278"; @fa-var-person-booth: "\F0013"; @fa-var-person-carry: "\F0013"; @fa-var-person-dolly: "\F0013"; @fa-var-person-dolly-empty: "\F0013"; @fa-var-person-sign: "\F0013"; @fa-var-phone: "\F0DF0"; @fa-var-phone-alt: "\F0DF0"; @fa-var-phone-laptop: "\F0DF0"; @fa-var-phone-office: "\F0DF0"; @fa-var-phone-plus: "\F119B"; @fa-var-phone-rotary: "\F0DF0"; @fa-var-phone-slash: "\F11A6"; @fa-var-phone-square: "\F0DF0"; @fa-var-phone-square-alt: "\F0DF0"; @fa-var-phone-volume: "\F0DF0"; @fa-var-photo-video: "\F0EB0"; @fa-var-pi: "\F03FF"; @fa-var-piano: "\F067D"; @fa-var-piano-keyboard: "\F067D"; @fa-var-pig: "\F0401"; @fa-var-piggy-bank: "\F1679"; @fa-var-pinterest: "\F0407"; @fa-var-pinterest-p: "\F0407"; @fa-var-pinterest-square: "\F0407"; @fa-var-pizza: "\F0409"; @fa-var-pizza-slice: "\F0409"; @fa-var-place-of-worship: "\F07D9"; @fa-var-plane: "\F001D"; @fa-var-plane-alt: "\F001D"; @fa-var-plane-arrival: "\F001D"; @fa-var-plane-departure: "\F001D"; @fa-var-plane-slash: "\F001E"; @fa-var-planet-moon: "\F01E7"; @fa-var-planet-ringed: "\F01E7"; @fa-var-play: "\F0F1B"; @fa-var-play-circle: "\F040D"; @fa-var-plus: "\F0415"; @fa-var-plus-circle: "\F0419"; @fa-var-plus-hexagon: "\F0415"; @fa-var-plus-octagon: "\F0415"; @fa-var-plus-square: "\F0704"; @fa-var-podcast: "\F0994"; @fa-var-podium: "\F0D25"; @fa-var-podium-star: "\F0D25"; @fa-var-poll: "\F041F"; @fa-var-poll-h: "\F041F"; @fa-var-poll-people: "\F041F"; @fa-var-popcorn: "\F0422"; @fa-var-portrait: "\F0007"; @fa-var-pound-sign: "\F0423"; @fa-var-power-off: "\F0902"; @fa-var-prescription: "\F0706"; @fa-var-prescription-bottle: "\F0706"; @fa-var-prescription-bottle-alt: "\F0706"; @fa-var-presentation: "\F0428"; @fa-var-projector: "\F042E"; @fa-var-pump-medical: "\F1402"; @fa-var-pump-soap: "\F1402"; @fa-var-pumpkin: "\F0BBF"; @fa-var-puzzle-piece: "\F0A66"; @fa-var-qrcode: "\F0432"; @fa-var-question: "\F02D6"; @fa-var-question-circle: "\F0625"; @fa-var-question-square: "\F078B"; @fa-var-quora: "\F0D29"; @fa-var-quote-left: "\F11A7"; @fa-var-quote-right: "\F11A8"; @fa-var-rabbit: "\F0907"; @fa-var-rabbit-fast: "\F0907"; @fa-var-radar: "\F0437"; @fa-var-radiation: "\F043C"; @fa-var-radiation-alt: "\F043C"; @fa-var-radio: "\F0439"; @fa-var-radio-alt: "\F0439"; @fa-var-rainbow: "\F0344"; @fa-var-raspberry-pi: "\F043F"; @fa-var-react: "\F0708"; @fa-var-receipt: "\F0449"; @fa-var-record-vinyl: "\F044A"; @fa-var-rectangle-landscape: "\F0E5F"; @fa-var-rectangle-portrait: "\F0E5F"; @fa-var-rectangle-wide: "\F0E5F"; @fa-var-recycle: "\F044C"; @fa-var-reddit: "\F044D"; @fa-var-reddit-alien: "\F044D"; @fa-var-reddit-square: "\F044D"; @fa-var-redhat: "\F111B"; @fa-var-redo: "\F044E"; @fa-var-redo-alt: "\F044E"; @fa-var-refrigerator: "\F028F"; @fa-var-remove-format: "\F0374"; @fa-var-repeat: "\F0456"; @fa-var-repeat-1: "\F0456"; @fa-var-repeat-1-alt: "\F0456"; @fa-var-repeat-alt: "\F0456"; @fa-var-reply: "\F0F20"; @fa-var-reply-all: "\F0F1F"; @fa-var-ribbon: "\F0460"; @fa-var-ring: "\F07EB"; @fa-var-road: "\F0461"; @fa-var-robot: "\F167A"; @fa-var-rocket: "\F13AF"; @fa-var-rocket-launch: "\F14DF"; @fa-var-router: "\F11E2"; @fa-var-rss: "\F046B"; @fa-var-rss-square: "\F046C"; @fa-var-ruble-sign: "\F01B1"; @fa-var-ruler: "\F046D"; @fa-var-ruler-combined: "\F046D"; @fa-var-ruler-horizontal: "\F046D"; @fa-var-ruler-triangle: "\F046D"; @fa-var-ruler-vertical: "\F046D"; @fa-var-rupee-sign: "\F01AF"; @fa-var-sack: "\F0D2E"; @fa-var-sack-dollar: "\F0D2E"; @fa-var-salesforce: "\F088E"; @fa-var-sass: "\F07EC"; @fa-var-satellite: "\F0470"; @fa-var-satellite-dish: "\F0470"; @fa-var-sausage: "\F08BA"; @fa-var-save: "\F0249"; @fa-var-saxophone: "\F0609"; @fa-var-scanner: "\F06AB"; @fa-var-scanner-image: "\F06AB"; @fa-var-scanner-keyboard: "\F06AB"; @fa-var-scanner-touchscreen: "\F06AB"; @fa-var-school: "\F1180"; @fa-var-screwdriver: "\F0476"; @fa-var-scroll: "\F0477"; @fa-var-scroll-old: "\F0477"; @fa-var-sd-card: "\F0479"; @fa-var-search: "\F0349"; @fa-var-search-dollar: "\F0349"; @fa-var-search-location: "\F0349"; @fa-var-search-minus: "\F06EC"; @fa-var-search-plus: "\F06ED"; @fa-var-seedling: "\F0E67"; @fa-var-send-back: "\F1165"; @fa-var-send-backward: "\F1165"; @fa-var-server: "\F048B"; @fa-var-share: "\F0932"; @fa-var-share-all: "\F11F5"; @fa-var-share-alt: "\F1514"; @fa-var-share-alt-square: "\F1514"; @fa-var-share-square: "\F0932"; @fa-var-sheep: "\F0CC6"; @fa-var-shield: "\F0499"; @fa-var-shield-alt: "\F0499"; @fa-var-shield-check: "\F0CC8"; @fa-var-shield-cross: "\F0CCA"; @fa-var-shield-virus: "\F0499"; @fa-var-ship: "\F0213"; @fa-var-shopping-bag: "\F11D5"; @fa-var-shopping-basket: "\F1181"; @fa-var-shopping-cart: "\F0111"; @fa-var-shovel: "\F0710"; @fa-var-shovel-snow: "\F0710"; @fa-var-shower: "\F09A0"; @fa-var-shredder: "\F049C"; @fa-var-shuttlecock: "\F0851"; @fa-var-sigma: "\F04A0"; @fa-var-sign: "\F0F49"; @fa-var-sign-in: "\F0342"; @fa-var-sign-in-alt: "\F0342"; @fa-var-sign-language: "\F0F49"; @fa-var-sign-out: "\F0343"; @fa-var-sign-out-alt: "\F0343"; @fa-var-signal: "\F04A2"; @fa-var-signal-1: "\F04A2"; @fa-var-signal-2: "\F04A2"; @fa-var-signal-3: "\F04A2"; @fa-var-signal-4: "\F04A2"; @fa-var-signal-alt: "\F04A2"; @fa-var-signal-alt-1: "\F04A2"; @fa-var-signal-alt-2: "\F04A2"; @fa-var-signal-alt-3: "\F04A2"; @fa-var-signal-alt-slash: "\F0783"; @fa-var-signal-slash: "\F0783"; @fa-var-signal-stream: "\F04A2"; @fa-var-signature: "\F0DFB"; @fa-var-sim-card: "\F15D5"; @fa-var-sitemap: "\F04AA"; @fa-var-ski-jump: "\F1304"; @fa-var-ski-lift: "\F1304"; @fa-var-skull: "\F0BC8"; @fa-var-skull-cow: "\F0BC8"; @fa-var-skull-crossbones: "\F0BC7"; @fa-var-skype: "\F04AF"; @fa-var-slack: "\F04B1"; @fa-var-slack-hash: "\F04B1"; @fa-var-smile: "\F01F5"; @fa-var-smile-beam: "\F01F5"; @fa-var-smile-plus: "\F01F5"; @fa-var-smile-wink: "\F01F5"; @fa-var-smog: "\F0A71"; @fa-var-smoking: "\F04B4"; @fa-var-smoking-ban: "\F04B4"; @fa-var-sms: "\F1170"; @fa-var-snake: "\F150E"; @fa-var-snapchat: "\F04B6"; @fa-var-snapchat-ghost: "\F04B6"; @fa-var-snapchat-square: "\F04B6"; @fa-var-snowflake: "\F0717"; @fa-var-snowman: "\F04B7"; @fa-var-solar-panel: "\F0D9B"; @fa-var-sort: "\F04BA"; @fa-var-sort-alpha-down: "\F04BA"; @fa-var-sort-alpha-down-alt: "\F04BA"; @fa-var-sort-alpha-up: "\F04BA"; @fa-var-sort-alpha-up-alt: "\F04BA"; @fa-var-sort-alt: "\F04BA"; @fa-var-sort-amount-down: "\F04BA"; @fa-var-sort-amount-down-alt: "\F04BA"; @fa-var-sort-amount-up: "\F04BA"; @fa-var-sort-amount-up-alt: "\F04BA"; @fa-var-sort-circle: "\F04BA"; @fa-var-sort-circle-down: "\F04BA"; @fa-var-sort-circle-up: "\F04BA"; @fa-var-sort-down: "\F04BA"; @fa-var-sort-numeric-down: "\F04BA"; @fa-var-sort-numeric-down-alt: "\F04BA"; @fa-var-sort-numeric-up: "\F04BA"; @fa-var-sort-numeric-up-alt: "\F04BA"; @fa-var-sort-shapes-down: "\F04BA"; @fa-var-sort-shapes-down-alt: "\F04BA"; @fa-var-sort-shapes-up: "\F04BA"; @fa-var-sort-shapes-up-alt: "\F04BA"; @fa-var-sort-size-down: "\F04BA"; @fa-var-sort-size-down-alt: "\F04BA"; @fa-var-sort-size-up: "\F04BA"; @fa-var-sort-size-up-alt: "\F04BA"; @fa-var-sort-up: "\F04BA"; @fa-var-soundcloud: "\F04C0"; @fa-var-spa: "\F0CD2"; @fa-var-space-station-moon: "\F1383"; @fa-var-space-station-moon-alt: "\F1383"; @fa-var-spade: "\F0E65"; @fa-var-sparkles: "\F1545"; @fa-var-speaker: "\F04C3"; @fa-var-speaker-deck: "\F04C3"; @fa-var-speakers: "\F0D38"; @fa-var-spider: "\F11EA"; @fa-var-spider-black-widow: "\F11EA"; @fa-var-spider-web: "\F0BCA"; @fa-var-spotify: "\F04C7"; @fa-var-spray-can: "\F0665"; @fa-var-sprinkler: "\F105F"; @fa-var-square: "\F0131"; @fa-var-square-full: "\F0131"; @fa-var-square-root: "\F0784"; @fa-var-square-root-alt: "\F0784"; @fa-var-stack-exchange: "\F060B"; @fa-var-stack-overflow: "\F04CC"; @fa-var-stackpath: "\F0359"; @fa-var-star: "\F04D2"; @fa-var-star-and-crescent: "\F0979"; @fa-var-star-christmas: "\F04D2"; @fa-var-star-exclamation: "\F04D2"; @fa-var-star-half: "\F0246"; @fa-var-star-half-alt: "\F0246"; @fa-var-star-of-david: "\F097A"; @fa-var-star-of-life: "\F04D2"; @fa-var-star-shooting: "\F04D2"; @fa-var-stars: "\F09A4"; @fa-var-steam: "\F04D3"; @fa-var-steam-square: "\F04D3"; @fa-var-steam-symbol: "\F04D3"; @fa-var-steering-wheel: "\F04D4"; @fa-var-step-backward: "\F04D5"; @fa-var-step-forward: "\F04D7"; @fa-var-stethoscope: "\F04D9"; @fa-var-sticker-mule: "\F136B"; @fa-var-stocking: "\F04DA"; @fa-var-stomach: "\F1093"; @fa-var-stop: "\F04DB"; @fa-var-stop-circle: "\F0667"; @fa-var-stopwatch: "\F051B"; @fa-var-stopwatch-20: "\F051B"; @fa-var-store: "\F1361"; @fa-var-store-alt: "\F1361"; @fa-var-store-alt-slash: "\F1361"; @fa-var-store-slash: "\F1361"; @fa-var-strikethrough: "\F0280"; @fa-var-subway: "\F06AC"; @fa-var-sunglasses: "\F04E0"; @fa-var-sunrise: "\F059C"; @fa-var-swimming-pool: "\F0606"; @fa-var-sword: "\F04E5"; @fa-var-sword-laser: "\F04E5"; @fa-var-sword-laser-alt: "\F04E5"; @fa-var-symfony: "\F0AE6"; @fa-var-sync: "\F04E6"; @fa-var-sync-alt: "\F04E6"; @fa-var-syringe: "\F0391"; @fa-var-table: "\F04EB"; @fa-var-table-tennis: "\F0E68"; @fa-var-tablet: "\F04F6"; @fa-var-tablet-alt: "\F04F6"; @fa-var-tablet-android: "\F04F7"; @fa-var-tablet-android-alt: "\F04F7"; @fa-var-tablet-rugged: "\F04F6"; @fa-var-taco: "\F0762"; @fa-var-tag: "\F04FC"; @fa-var-tags: "\F12F7"; @fa-var-tape: "\F09D4"; @fa-var-taxi: "\F04FF"; @fa-var-telegram: "\F0501"; @fa-var-telegram-plane: "\F0501"; @fa-var-telescope: "\F0B4E"; @fa-var-tennis-ball: "\F0507"; @fa-var-terminal: "\F018D"; @fa-var-text: "\F09A8"; @fa-var-text-height: "\F09A8"; @fa-var-text-size: "\F09A8"; @fa-var-text-width: "\F09A8"; @fa-var-theater-masks: "\F050D"; @fa-var-thermometer: "\F050F"; @fa-var-thermometer-empty: "\F050F"; @fa-var-thermometer-full: "\F050F"; @fa-var-thermometer-half: "\F050F"; @fa-var-thermometer-quarter: "\F050F"; @fa-var-thermometer-three-quarters: "\F050F"; @fa-var-thumbs-down: "\F0512"; @fa-var-thumbs-up: "\F0514"; @fa-var-thumbtack: "\F0931"; @fa-var-ticket: "\F0913"; @fa-var-ticket-alt: "\F0913"; @fa-var-tilde: "\F0725"; @fa-var-times: "\F0156"; @fa-var-times-circle: "\F0156"; @fa-var-times-hexagon: "\F0156"; @fa-var-times-octagon: "\F0156"; @fa-var-times-square: "\F0156"; @fa-var-tint: "\F0266"; @fa-var-tint-slash: "\F0266"; @fa-var-toilet: "\F09AB"; @fa-var-toilet-paper: "\F1158"; @fa-var-toilet-paper-alt: "\F1158"; @fa-var-toilet-paper-slash: "\F1158"; @fa-var-tombstone: "\F0BA2"; @fa-var-tombstone-alt: "\F0BA2"; @fa-var-toolbox: "\F09AD"; @fa-var-tools: "\F1064"; @fa-var-tooth: "\F0529"; @fa-var-toothbrush: "\F1129"; @fa-var-tractor: "\F0892"; @fa-var-trademark: "\F0A78"; @fa-var-traffic-cone: "\F137C"; @fa-var-traffic-light: "\F052B"; @fa-var-traffic-light-go: "\F052B"; @fa-var-traffic-light-slow: "\F052B"; @fa-var-traffic-light-stop: "\F052B"; @fa-var-train: "\F052C"; @fa-var-tram: "\F052D"; @fa-var-trash: "\F09E7"; @fa-var-trash-alt: "\F09E7"; @fa-var-trash-restore: "\F0819"; @fa-var-trash-restore-alt: "\F0819"; @fa-var-trash-undo: "\F09E7"; @fa-var-trash-undo-alt: "\F09E7"; @fa-var-treasure-chest: "\F0726"; @fa-var-tree: "\F0E69"; @fa-var-tree-alt: "\F0E69"; @fa-var-tree-christmas: "\F0E69"; @fa-var-tree-decorated: "\F0E69"; @fa-var-tree-large: "\F0E69"; @fa-var-tree-palm: "\F0E69"; @fa-var-trello: "\F0532"; @fa-var-triangle: "\F0537"; @fa-var-triangle-music: "\F0537"; @fa-var-trophy: "\F053A"; @fa-var-trophy-alt: "\F053A"; @fa-var-truck: "\F129D"; @fa-var-truck-container: "\F129D"; @fa-var-truck-couch: "\F129D"; @fa-var-truck-loading: "\F129D"; @fa-var-truck-monster: "\F129D"; @fa-var-truck-moving: "\F129D"; @fa-var-truck-pickup: "\F129D"; @fa-var-truck-plow: "\F129D"; @fa-var-truck-ramp: "\F129D"; @fa-var-trumpet: "\F1096"; @fa-var-turtle: "\F0CD7"; @fa-var-tv: "\F0502"; @fa-var-tv-alt: "\F0502"; @fa-var-tv-music: "\F0502"; @fa-var-tv-retro: "\F0502"; @fa-var-twitch: "\F0543"; @fa-var-twitter: "\F0544"; @fa-var-twitter-square: "\F0544"; @fa-var-typewriter: "\F0F2D"; @fa-var-ubuntu: "\F0548"; @fa-var-ufo: "\F10C5"; @fa-var-ufo-beam: "\F10C5"; @fa-var-umbraco: "\F0549"; @fa-var-umbrella: "\F054B"; @fa-var-umbrella-beach: "\F054B"; @fa-var-underline: "\F0287"; @fa-var-undo: "\F054C"; @fa-var-undo-alt: "\F054C"; @fa-var-unicorn: "\F15C2"; @fa-var-unity: "\F06AF"; @fa-var-university: "\F1180"; @fa-var-unlink: "\F0338"; @fa-var-untappd: "\F0551"; @fa-var-upload: "\F0E07"; @fa-var-usb: "\F0553"; @fa-var-usb-drive: "\F0553"; @fa-var-user: "\F0013"; @fa-var-user-alien: "\F0013"; @fa-var-user-alt: "\F0013"; @fa-var-user-alt-slash: "\F0BE7"; @fa-var-user-astronaut: "\F0013"; @fa-var-user-chart: "\F0013"; @fa-var-user-check: "\F0BE2"; @fa-var-user-circle: "\F0B55"; @fa-var-user-clock: "\F0B57"; @fa-var-user-cog: "\F1371"; @fa-var-user-cowboy: "\F0013"; @fa-var-user-crown: "\F0013"; @fa-var-user-edit: "\F0FFB"; @fa-var-user-friends: "\F0013"; @fa-var-user-graduate: "\F0013"; @fa-var-user-hard-hat: "\F05B5"; @fa-var-user-headset: "\F0013"; @fa-var-user-injured: "\F0013"; @fa-var-user-lock: "\F115F"; @fa-var-user-md: "\F0013"; @fa-var-user-md-chat: "\F0013"; @fa-var-user-minus: "\F0AEC"; @fa-var-user-music: "\F0CE9"; @fa-var-user-ninja: "\F0013"; @fa-var-user-nurse: "\F0013"; @fa-var-user-plus: "\F0801"; @fa-var-user-robot: "\F0013"; @fa-var-user-secret: "\F0013"; @fa-var-user-shield: "\F0013"; @fa-var-user-slash: "\F0BE7"; @fa-var-user-tag: "\F0013"; @fa-var-user-tie: "\F10CA"; @fa-var-user-times: "\F0013"; @fa-var-user-unlock: "\F0013"; @fa-var-user-visor: "\F0013"; @fa-var-users: "\F000F"; @fa-var-users-class: "\F000F"; @fa-var-users-cog: "\F000F"; @fa-var-users-crown: "\F000F"; @fa-var-users-medical: "\F000F"; @fa-var-users-slash: "\F000F"; @fa-var-vector-square: "\F0001"; @fa-var-venus: "\F029C"; @fa-var-venus-double: "\F029C"; @fa-var-venus-mars: "\F029C"; @fa-var-vhs: "\F0A1B"; @fa-var-video: "\F0BDC"; @fa-var-video-plus: "\F01D3"; @fa-var-video-slash: "\F0BDB"; @fa-var-vimeo: "\F0577"; @fa-var-vimeo-square: "\F0577"; @fa-var-vimeo-v: "\F0577"; @fa-var-violin: "\F060F"; @fa-var-virus: "\F13B7"; @fa-var-virus-slash: "\F13B7"; @fa-var-vk: "\F0579"; @fa-var-voicemail: "\F057D"; @fa-var-volleyball-ball: "\F09B4"; @fa-var-volume-mute: "\F075F"; @fa-var-volume-off: "\F0581"; @fa-var-volume-slash: "\F0581"; @fa-var-vote-nay: "\F0A20"; @fa-var-vote-yea: "\F0A20"; @fa-var-vr-cardboard: "\F0894"; @fa-var-vuejs: "\F0844"; @fa-var-walker: "\F0583"; @fa-var-walking: "\F0583"; @fa-var-wallet: "\F0BDD"; @fa-var-wand: "\F0068"; @fa-var-wand-magic: "\F0068"; @fa-var-warehouse: "\F0F81"; @fa-var-warehouse-alt: "\F0F81"; @fa-var-watch: "\F0589"; @fa-var-watch-calculator: "\F0589"; @fa-var-watch-fitness: "\F0589"; @fa-var-water: "\F0E0A"; @fa-var-water-lower: "\F0E0A"; @fa-var-water-rise: "\F0E0A"; @fa-var-wave-sine: "\F0F2E"; @fa-var-wave-square: "\F0F2E"; @fa-var-wave-triangle: "\F0F2E"; @fa-var-waveform: "\F147D"; @fa-var-waveform-path: "\F147D"; @fa-var-waze: "\F0BDE"; @fa-var-webcam: "\F05A0"; @fa-var-webcam-slash: "\F05A0"; @fa-var-weight: "\F05A1"; @fa-var-weight-hanging: "\F05A1"; @fa-var-whatsapp: "\F05A3"; @fa-var-whatsapp-square: "\F05A3"; @fa-var-wheat: "\F0073"; @fa-var-whistle: "\F12BC"; @fa-var-wifi: "\F05A9"; @fa-var-wifi-1: "\F05A9"; @fa-var-wifi-2: "\F05A9"; @fa-var-wifi-slash: "\F05AA"; @fa-var-wikipedia-w: "\F05AC"; @fa-var-wind-turbine: "\F0DA5"; @fa-var-window-close: "\F05AD"; @fa-var-window-maximize: "\F05AF"; @fa-var-window-minimize: "\F05B0"; @fa-var-window-restore: "\F05B2"; @fa-var-windsock: "\F15FA"; @fa-var-won-sign: "\F07BD"; @fa-var-wordpress: "\F05B4"; @fa-var-wordpress-simple: "\F05B4"; @fa-var-wrench: "\F0BE0"; @fa-var-x-ray: "\F14C8"; @fa-var-xing: "\F05BE"; @fa-var-xing-square: "\F05BE"; @fa-var-y-combinator: "\F0624"; @fa-var-yahoo: "\F0B4F"; @fa-var-yen-sign: "\F07BC"; @fa-var-yin-yang: "\F0680"; @fa-var-youtube: "\F05C3"; @fa-var-youtube-square: "\F05C3";]]>

</template>


-<template title="uix_materialVars_solid.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[@fa-var-accessible-icon: "\F05A4"; @fa-var-adjust: "\F001A"; @fa-var-air-conditioner: "\F001B"; @fa-var-alarm-clock: "\F0020"; @fa-var-alarm-exclamation: "\F0020"; @fa-var-alarm-plus: "\F0024"; @fa-var-alarm-snooze: "\F068E"; @fa-var-album: "\F0025"; @fa-var-album-collection: "\F0025"; @fa-var-alien: "\F089A"; @fa-var-alien-monster: "\F089A"; @fa-var-align-center: "\F0260"; @fa-var-align-justify: "\F0261"; @fa-var-align-left: "\F0262"; @fa-var-align-right: "\F0263"; @fa-var-amazon: "\F002D"; @fa-var-amazon-pay: "\F002D"; @fa-var-ambulance: "\F002F"; @fa-var-amp-guitar: "\F0820"; @fa-var-anchor: "\F0031"; @fa-var-android: "\F0032"; @fa-var-angle-double-down: "\F013C"; @fa-var-angle-double-left: "\F013D"; @fa-var-angle-double-right: "\F013E"; @fa-var-angle-double-up: "\F013F"; @fa-var-angle-down: "\F0140"; @fa-var-angle-left: "\F0141"; @fa-var-angle-right: "\F0142"; @fa-var-angle-up: "\F0143"; @fa-var-angry: "\F0C69"; @fa-var-angular: "\F06B2"; @fa-var-apple: "\F0035"; @fa-var-apple-alt: "\F0035"; @fa-var-apple-crate: "\F0035"; @fa-var-apple-pay: "\F0035"; @fa-var-archive: "\F003C"; @fa-var-archway: "\F08C7"; @fa-var-arrow-alt-circle-down: "\F054D"; @fa-var-arrow-alt-circle-left: "\F054D"; @fa-var-arrow-alt-circle-right: "\F054D"; @fa-var-arrow-alt-circle-up: "\F054D"; @fa-var-arrow-alt-down: "\F0045"; @fa-var-arrow-alt-from-bottom: "\F054D"; @fa-var-arrow-alt-from-left: "\F054D"; @fa-var-arrow-alt-from-right: "\F054D"; @fa-var-arrow-alt-from-top: "\F054D"; @fa-var-arrow-alt-left: "\F004D"; @fa-var-arrow-alt-right: "\F0054"; @fa-var-arrow-alt-square-down: "\F054D"; @fa-var-arrow-alt-square-left: "\F054D"; @fa-var-arrow-alt-square-right: "\F054D"; @fa-var-arrow-alt-square-up: "\F054D"; @fa-var-arrow-alt-to-bottom: "\F054D"; @fa-var-arrow-alt-to-left: "\F054D"; @fa-var-arrow-alt-to-right: "\F054D"; @fa-var-arrow-alt-to-top: "\F054D"; @fa-var-arrow-alt-up: "\F005D"; @fa-var-arrow-circle-down: "\F054D"; @fa-var-arrow-circle-left: "\F054D"; @fa-var-arrow-circle-right: "\F054D"; @fa-var-arrow-circle-up: "\F054D"; @fa-var-arrow-down: "\F0045"; @fa-var-arrow-from-bottom: "\F054D"; @fa-var-arrow-from-left: "\F054D"; @fa-var-arrow-from-right: "\F054D"; @fa-var-arrow-from-top: "\F054D"; @fa-var-arrow-left: "\F004D"; @fa-var-arrow-right: "\F0054"; @fa-var-arrow-square-down: "\F054D"; @fa-var-arrow-square-left: "\F054D"; @fa-var-arrow-square-right: "\F054D"; @fa-var-arrow-square-up: "\F054D"; @fa-var-arrow-to-bottom: "\F054D"; @fa-var-arrow-to-left: "\F054D"; @fa-var-arrow-to-right: "\F054D"; @fa-var-arrow-to-top: "\F054D"; @fa-var-arrow-up: "\F005D"; @fa-var-arrows: "\F0041"; @fa-var-arrows-alt: "\F0041"; @fa-var-arrows-alt-h: "\F0E73"; @fa-var-arrows-alt-v: "\F0E79"; @fa-var-arrows-h: "\F0E73"; @fa-var-arrows-v: "\F0E79"; @fa-var-artstation: "\F0B5B"; @fa-var-asterisk: "\F06C4"; @fa-var-at: "\F0065"; @fa-var-atlas: "\F034D"; @fa-var-atlassian: "\F0804"; @fa-var-atom: "\F0768"; @fa-var-atom-alt: "\F0768"; @fa-var-audio-description: "\F0580"; @fa-var-award: "\F0FD9"; @fa-var-aws: "\F0E0F"; @fa-var-axe: "\F08C8"; @fa-var-axe-battle: "\F08C8"; @fa-var-baby: "\F006C"; @fa-var-baby-carriage: "\F068F"; @fa-var-backpack: "\F0E10"; @fa-var-backspace: "\F006E"; @fa-var-backward: "\F045F"; @fa-var-bacteria: "\F0ED5"; @fa-var-badge: "\F113B"; @fa-var-badge-check: "\F113B"; @fa-var-badge-dollar: "\F113B"; @fa-var-badge-percent: "\F113B"; @fa-var-badge-sheriff: "\F113B"; @fa-var-balance-scale: "\F05D1"; @fa-var-balance-scale-left: "\F05D1"; @fa-var-balance-scale-right: "\F05D1"; @fa-var-ballot: "\F09C9"; @fa-var-ballot-check: "\F09C9"; @fa-var-ban: "\F0DC7"; @fa-var-band-aid: "\F0DAF"; @fa-var-bandcamp: "\F0675"; @fa-var-barcode: "\F0071"; @fa-var-barcode-alt: "\F0071"; @fa-var-barcode-read: "\F0071"; @fa-var-barcode-scan: "\F0072"; @fa-var-bars: "\F035C"; @fa-var-baseball: "\F0852"; @fa-var-baseball-ball: "\F0852"; @fa-var-basketball-ball: "\F0806"; @fa-var-basketball-hoop: "\F0C3B"; @fa-var-bat: "\F0B5F"; @fa-var-battery-bolt: "\F0079"; @fa-var-battery-empty: "\F008E"; @fa-var-battery-full: "\F0079"; @fa-var-battery-half: "\F0079"; @fa-var-battery-quarter: "\F0079"; @fa-var-battery-slash: "\F125D"; @fa-var-battery-three-quarters: "\F0079"; @fa-var-battle-net: "\F0B60"; @fa-var-bed: "\F02E3"; @fa-var-bed-alt: "\F02E3"; @fa-var-bed-bunk: "\F02E3"; @fa-var-bed-empty: "\F08A0"; @fa-var-beer: "\F0098"; @fa-var-bell: "\F009A"; @fa-var-bell-exclamation: "\F0D59"; @fa-var-bell-on: "\F009A"; @fa-var-bell-plus: "\F009D"; @fa-var-bell-school: "\F009A"; @fa-var-bell-school-slash: "\F009A"; @fa-var-bell-slash: "\F009B"; @fa-var-bells: "\F009A"; @fa-var-betamax: "\F09CB"; @fa-var-bezier-curve: "\F0559"; @fa-var-bible: "\F00A2"; @fa-var-bicycle: "\F109C"; @fa-var-biking: "\F00A3"; @fa-var-biking-mountain: "\F00A3"; @fa-var-binoculars: "\F00A5"; @fa-var-biohazard: "\F00A7"; @fa-var-birthday-cake: "\F00EB"; @fa-var-bitbucket: "\F00A8"; @fa-var-bitcoin: "\F0813"; @fa-var-blanket: "\F02E3"; @fa-var-blender: "\F0CEB"; @fa-var-blender-phone: "\F0CEB"; @fa-var-blinds: "\F00AC"; @fa-var-blinds-open: "\F1011"; @fa-var-blinds-raised: "\F00AC"; @fa-var-blog: "\F1008"; @fa-var-blogger: "\F00AE"; @fa-var-blogger-b: "\F00AE"; @fa-var-bluetooth: "\F00AF"; @fa-var-bluetooth-b: "\F00AF"; @fa-var-bold: "\F0264"; @fa-var-bolt: "\F0241"; @fa-var-bomb: "\F0691"; @fa-var-bone: "\F00B9"; @fa-var-bone-break: "\F00B9"; @fa-var-book: "\F00BA"; @fa-var-book-alt: "\F00BA"; @fa-var-book-dead: "\F00BA"; @fa-var-book-heart: "\F00BA"; @fa-var-book-medical: "\F00BA"; @fa-var-book-open: "\F00BD"; @fa-var-book-reader: "\F00BA"; @fa-var-book-spells: "\F00BA"; @fa-var-book-user: "\F13AD"; @fa-var-bookmark: "\F00C0"; @fa-var-books: "\F00BB"; @fa-var-books-medical: "\F00BB"; @fa-var-boombox: "\F05DC"; @fa-var-bootstrap: "\F06C6"; @fa-var-border-all: "\F00C7"; @fa-var-border-bottom: "\F00C8"; @fa-var-border-left: "\F00CC"; @fa-var-border-none: "\F00CD"; @fa-var-border-outer: "\F00CE"; @fa-var-border-right: "\F00CF"; @fa-var-border-style: "\F00D0"; @fa-var-border-style-alt: "\F00D0"; @fa-var-border-top: "\F00D1"; @fa-var-bowling-ball: "\F00D3"; @fa-var-bowling-pins: "\F00D3"; @fa-var-box: "\F00D4"; @fa-var-box-alt: "\F00D4"; @fa-var-box-ballot: "\F00D4"; @fa-var-box-check: "\F00D4"; @fa-var-box-fragile: "\F00D4"; @fa-var-box-full: "\F00D4"; @fa-var-box-heart: "\F00D4"; @fa-var-box-open: "\F00D4"; @fa-var-box-tissue: "\F00D4"; @fa-var-box-up: "\F03D5"; @fa-var-box-usd: "\F00D4"; @fa-var-boxes: "\F03D3"; @fa-var-boxes-alt: "\F03D6"; @fa-var-boxing-glove: "\F0B65"; @fa-var-brackets: "\F016A"; @fa-var-brackets-curly: "\F016A"; @fa-var-braille: "\F09D0"; @fa-var-brain: "\F09D1"; @fa-var-bread-loaf: "\F0F3E"; @fa-var-bread-slice: "\F0CEE"; @fa-var-briefcase: "\F00D6"; @fa-var-briefcase-medical: "\F00D6"; @fa-var-broom: "\F00E2"; @fa-var-browser: "\F0614"; @fa-var-brush: "\F00E3"; @fa-var-buffer: "\F0619"; @fa-var-bug: "\F00E4"; @fa-var-building: "\F01D7"; @fa-var-bullhorn: "\F00E6"; @fa-var-bullseye: "\F05DD"; @fa-var-bullseye-arrow: "\F08C9"; @fa-var-bullseye-pointer: "\F05DD"; @fa-var-burger-soda: "\F0685"; @fa-var-burn: "\F0238"; @fa-var-burrito: "\F0762"; @fa-var-bus: "\F00E7"; @fa-var-bus-alt: "\F00E7"; @fa-var-bus-school: "\F079F"; @fa-var-business-time: "\F1218"; @fa-var-cactus: "\F0DB5"; @fa-var-calculator: "\F00EC"; @fa-var-calculator-alt: "\F00EC"; @fa-var-calendar: "\F00ED"; @fa-var-calendar-alt: "\F00ED"; @fa-var-calendar-check: "\F00EF"; @fa-var-calendar-day: "\F00F6"; @fa-var-calendar-edit: "\F08A7"; @fa-var-calendar-exclamation: "\F0A31"; @fa-var-calendar-minus: "\F0D5C"; @fa-var-calendar-plus: "\F00F3"; @fa-var-calendar-star: "\F09D3"; @fa-var-calendar-times: "\F00ED"; @fa-var-calendar-week: "\F0A33"; @fa-var-camcorder: "\F00FC"; @fa-var-camera: "\F0100"; @fa-var-camera-alt: "\F0100"; @fa-var-camera-home: "\F0100"; @fa-var-camera-movie: "\F0100"; @fa-var-camera-polaroid: "\F0100"; @fa-var-camera-retro: "\F0100"; @fa-var-campfire: "\F0EDD"; @fa-var-campground: "\F0508"; @fa-var-candle-holder: "\F05E2"; @fa-var-cannabis: "\F07A6"; @fa-var-car: "\F010B"; @fa-var-car-alt: "\F010B"; @fa-var-car-battery: "\F010C"; @fa-var-car-building: "\F010B"; @fa-var-car-bump: "\F010B"; @fa-var-car-bus: "\F010B"; @fa-var-car-crash: "\F010B"; @fa-var-car-garage: "\F010B"; @fa-var-car-mechanic: "\F010B"; @fa-var-car-side: "\F07AB"; @fa-var-car-tilt: "\F010B"; @fa-var-car-wash: "\F010E"; @fa-var-caravan: "\F07AD"; @fa-var-caravan-alt: "\F07AD"; @fa-var-caret-circle-down: "\F0B2C"; @fa-var-caret-circle-left: "\F0B2C"; @fa-var-caret-circle-right: "\F0B2C"; @fa-var-caret-circle-up: "\F0B2C"; @fa-var-caret-down: "\F035D"; @fa-var-caret-left: "\F035E"; @fa-var-caret-right: "\F035F"; @fa-var-caret-square-down: "\F09DC"; @fa-var-caret-square-left: "\F09DC"; @fa-var-caret-square-right: "\F09DC"; @fa-var-caret-square-up: "\F09DC"; @fa-var-caret-up: "\F0360"; @fa-var-carrot: "\F010F"; @fa-var-cars: "\F0B6E"; @fa-var-cart-arrow-down: "\F0D66"; @fa-var-cart-plus: "\F0112"; @fa-var-cash-register: "\F0CF4"; @fa-var-cassette-tape: "\F09D4"; @fa-var-cat: "\F011B"; @fa-var-cat-space: "\F011B"; @fa-var-cauldron: "\F065B"; @fa-var-cc-amazon-pay: "\F015E"; @fa-var-cc-amex: "\F015E"; @fa-var-cc-apple-pay: "\F015E"; @fa-var-cc-diners-club: "\F015E"; @fa-var-cc-discover: "\F015E"; @fa-var-cc-jcb: "\F015E"; @fa-var-cc-mastercard: "\F015E"; @fa-var-cc-paypal: "\F015E"; @fa-var-cc-stripe: "\F015E"; @fa-var-cc-visa: "\F015E"; @fa-var-cctv: "\F07AE"; @fa-var-centos: "\F111A"; @fa-var-certificate: "\F0124"; @fa-var-chair: "\F0CC3"; @fa-var-chair-office: "\F0CC3"; @fa-var-charging-station: "\F05F1"; @fa-var-chart-bar: "\F0128"; @fa-var-chart-line: "\F012A"; @fa-var-chart-line-down: "\F012A"; @fa-var-chart-pie: "\F012B"; @fa-var-chart-pie-alt: "\F012B"; @fa-var-check: "\F012C"; @fa-var-check-circle: "\F0134"; @fa-var-check-double: "\F012C"; @fa-var-check-square: "\F0135"; @fa-var-cheese: "\F12B9"; @fa-var-cheese-swiss: "\F12B9"; @fa-var-cheeseburger: "\F0685"; @fa-var-chess: "\F0857"; @fa-var-chess-bishop: "\F085C"; @fa-var-chess-bishop-alt: "\F085C"; @fa-var-chess-board: "\F0857"; @fa-var-chess-clock: "\F0857"; @fa-var-chess-clock-alt: "\F0857"; @fa-var-chess-king: "\F0857"; @fa-var-chess-king-alt: "\F0857"; @fa-var-chess-knight: "\F0858"; @fa-var-chess-knight-alt: "\F0858"; @fa-var-chess-pawn: "\F0859"; @fa-var-chess-pawn-alt: "\F0859"; @fa-var-chess-queen: "\F085A"; @fa-var-chess-queen-alt: "\F085A"; @fa-var-chess-rook: "\F085B"; @fa-var-chess-rook-alt: "\F085B"; @fa-var-chevron-circle-down: "\F0B26"; @fa-var-chevron-circle-left: "\F0B28"; @fa-var-chevron-circle-right: "\F0B2A"; @fa-var-chevron-circle-up: "\F0B2C"; @fa-var-chevron-double-down: "\F013C"; @fa-var-chevron-double-left: "\F013D"; @fa-var-chevron-double-right: "\F013E"; @fa-var-chevron-double-up: "\F013F"; @fa-var-chevron-down: "\F0140"; @fa-var-chevron-left: "\F0141"; @fa-var-chevron-right: "\F0142"; @fa-var-chevron-square-down: "\F09D6"; @fa-var-chevron-square-left: "\F09D8"; @fa-var-chevron-square-right: "\F09DA"; @fa-var-chevron-square-up: "\F09DC"; @fa-var-chevron-up: "\F0143"; @fa-var-child: "\F02E7"; @fa-var-chromecast: "\F02AF"; @fa-var-church: "\F0144"; @fa-var-circle: "\F0130"; @fa-var-circle-notch: "\F0130"; @fa-var-city: "\F0146"; @fa-var-clipboard: "\F0147"; @fa-var-clipboard-check: "\F014E"; @fa-var-clipboard-list: "\F10D4"; @fa-var-clipboard-list-check: "\F10D4"; @fa-var-clipboard-prescription: "\F0147"; @fa-var-clipboard-user: "\F0148"; @fa-var-clock: "\F0954"; @fa-var-closed-captioning: "\F05AE"; @fa-var-cloud: "\F015F"; @fa-var-cloud-download: "\F0162"; @fa-var-cloud-download-alt: "\F0162"; @fa-var-cloud-drizzle: "\F015F"; @fa-var-cloud-hail: "\F015F"; @fa-var-cloud-hail-mixed: "\F015F"; @fa-var-cloud-meatball: "\F015F"; @fa-var-cloud-moon: "\F015F"; @fa-var-cloud-moon-rain: "\F015F"; @fa-var-cloud-music: "\F015F"; @fa-var-cloud-rain: "\F015F"; @fa-var-cloud-rainbow: "\F015F"; @fa-var-cloud-showers: "\F015F"; @fa-var-cloud-showers-heavy: "\F015F"; @fa-var-cloud-sleet: "\F015F"; @fa-var-cloud-snow: "\F015F"; @fa-var-cloud-sun: "\F015F"; @fa-var-cloud-sun-rain: "\F015F"; @fa-var-cloud-upload: "\F0167"; @fa-var-cloud-upload-alt: "\F0167"; @fa-var-cocktail: "\F0876"; @fa-var-code: "\F05C0"; @fa-var-code-branch: "\F05C0"; @fa-var-code-commit: "\F05C0"; @fa-var-code-merge: "\F05C0"; @fa-var-codepen: "\F0175"; @fa-var-coffee: "\F0176"; @fa-var-coffee-pot: "\F0176"; @fa-var-coffee-togo: "\F0176"; @fa-var-coffin: "\F0B7F"; @fa-var-coffin-cross: "\F0B7F"; @fa-var-cog: "\F0493"; @fa-var-cogs: "\F08D6"; @fa-var-coin: "\F116B"; @fa-var-coins: "\F0B38"; @fa-var-comet: "\F0629"; @fa-var-comment: "\F017A"; @fa-var-comment-alt: "\F017A"; @fa-var-comment-alt-check: "\F017F"; @fa-var-comment-alt-dollar: "\F017A"; @fa-var-comment-alt-dots: "\F017A"; @fa-var-comment-alt-edit: "\F11BF"; @fa-var-comment-alt-exclamation: "\F017D"; @fa-var-comment-alt-lines: "\F017A"; @fa-var-comment-alt-medical: "\F017A"; @fa-var-comment-alt-minus: "\F15DF"; @fa-var-comment-alt-music: "\F017A"; @fa-var-comment-alt-plus: "\F09E5"; @fa-var-comment-alt-slash: "\F15E1"; @fa-var-comment-alt-smile: "\F017A"; @fa-var-comment-alt-times: "\F017A"; @fa-var-comment-check: "\F017F"; @fa-var-comment-dollar: "\F017A"; @fa-var-comment-dots: "\F017A"; @fa-var-comment-edit: "\F11BF"; @fa-var-comment-exclamation: "\F017D"; @fa-var-comment-lines: "\F017A"; @fa-var-comment-medical: "\F017A"; @fa-var-comment-minus: "\F15DF"; @fa-var-comment-music: "\F017A"; @fa-var-comment-plus: "\F09E5"; @fa-var-comment-slash: "\F15E1"; @fa-var-comment-smile: "\F017A"; @fa-var-comment-times: "\F017A"; @fa-var-comments: "\F085F"; @fa-var-comments-alt: "\F085F"; @fa-var-comments-alt-dollar: "\F085F"; @fa-var-comments-dollar: "\F085F"; @fa-var-compass: "\F018B"; @fa-var-compass-slash: "\F0B80"; @fa-var-compress: "\F0294"; @fa-var-compress-alt: "\F0615"; @fa-var-compress-arrows-alt: "\F0294"; @fa-var-compress-wide: "\F0294"; @fa-var-computer-classic: "\F07C0"; @fa-var-computer-speaker: "\F0322"; @fa-var-construction: "\F05B5"; @fa-var-cookie: "\F0198"; @fa-var-cookie-bite: "\F0198"; @fa-var-copy: "\F1517"; @fa-var-copyright: "\F05E6"; @fa-var-corn: "\F07B8"; @fa-var-couch: "\F156E"; @fa-var-cow: "\F019A"; @fa-var-creative-commons: "\F0D6B"; @fa-var-creative-commons-by: "\F0D6B"; @fa-var-creative-commons-nc: "\F0D6B"; @fa-var-creative-commons-nc-eu: "\F0D6B"; @fa-var-creative-commons-nc-jp: "\F0D6B"; @fa-var-creative-commons-nd: "\F0D6B"; @fa-var-creative-commons-pd: "\F0D6B"; @fa-var-creative-commons-pd-alt: "\F0D6B"; @fa-var-creative-commons-remix: "\F0D6B"; @fa-var-creative-commons-sa: "\F0D6B"; @fa-var-creative-commons-sampling: "\F0D6B"; @fa-var-creative-commons-sampling-plus: "\F0D6B"; @fa-var-creative-commons-share: "\F0D6B"; @fa-var-creative-commons-zero: "\F0D6B"; @fa-var-credit-card: "\F0FEF"; @fa-var-credit-card-blank: "\F0FEF"; @fa-var-credit-card-front: "\F0FEF"; @fa-var-cricket: "\F0D6D"; @fa-var-crop: "\F019E"; @fa-var-crop-alt: "\F019E"; @fa-var-cross: "\F0953"; @fa-var-crosshairs: "\F01A3"; @fa-var-crown: "\F01A5"; @fa-var-cube: "\F01A6"; @fa-var-curling: "\F0863"; @fa-var-cut: "\F0190"; @fa-var-dagger: "\F09FC"; @fa-var-database: "\F01BC"; @fa-var-desktop: "\F0379"; @fa-var-desktop-alt: "\F07C0"; @fa-var-deviantart: "\F01C7"; @fa-var-dharmachakra: "\F094B"; @fa-var-diamond: "\F0B8A"; @fa-var-dice-d10: "\F1153"; @fa-var-dice-d12: "\F1154"; @fa-var-dice-d20: "\F1155"; @fa-var-dice-d4: "\F1150"; @fa-var-dice-d6: "\F1151"; @fa-var-dice-d8: "\F1152"; @fa-var-dice-five: "\F01CE"; @fa-var-dice-four: "\F01CD"; @fa-var-dice-one: "\F01CA"; @fa-var-dice-six: "\F01CF"; @fa-var-dice-three: "\F01CC"; @fa-var-dice-two: "\F01CB"; @fa-var-digital-ocean: "\F1237"; @fa-var-diploma: "\F0124"; @fa-var-directions: "\F01D0"; @fa-var-disc-drive: "\F05EE"; @fa-var-discord: "\F066F"; @fa-var-divide: "\F0FDF"; @fa-var-dna: "\F0684"; @fa-var-do-not-enter: "\F0376"; @fa-var-docker: "\F0868"; @fa-var-dog: "\F0A43"; @fa-var-dog-leashed: "\F0A43"; @fa-var-dollar-sign: "\F01C1"; @fa-var-dolly: "\F0E9E"; @fa-var-dolly-empty: "\F0E9E"; @fa-var-dolly-flatbed: "\F0E9E"; @fa-var-dolly-flatbed-alt: "\F0E9E"; @fa-var-dolly-flatbed-empty: "\F0E9E"; @fa-var-donate: "\F02A1"; @fa-var-door-closed: "\F081B"; @fa-var-door-open: "\F081C"; @fa-var-download: "\F01DA"; @fa-var-draw-circle: "\F0F49"; @fa-var-draw-polygon: "\F0F49"; @fa-var-draw-square: "\F0F49"; @fa-var-drone: "\F01E2"; @fa-var-drone-alt: "\F01E2"; @fa-var-dropbox: "\F01E3"; @fa-var-drupal: "\F01E4"; @fa-var-duck: "\F01E5"; @fa-var-dumbbell: "\F01E6"; @fa-var-edit: "\F03EB"; @fa-var-egg: "\F0AAF"; @fa-var-egg-fried: "\F0AAF"; @fa-var-eject: "\F01EA"; @fa-var-elephant: "\F07C6"; @fa-var-ellipsis-h: "\F01D8"; @fa-var-ellipsis-h-alt: "\F01D8"; @fa-var-ellipsis-v: "\F01D9"; @fa-var-ellipsis-v-alt: "\F01D9"; @fa-var-ember: "\F0B30"; @fa-var-engine-warning: "\F01FA"; @fa-var-envelope: "\F01EE"; @fa-var-envelope-open: "\F01EF"; @fa-var-envelope-open-dollar: "\F01EF"; @fa-var-envelope-open-text: "\F01EF"; @fa-var-envelope-square: "\F0D03"; @fa-var-eraser: "\F01FE"; @fa-var-ethereum: "\F086A"; @fa-var-ethernet: "\F0200"; @fa-var-euro-sign: "\F01AD"; @fa-var-evernote: "\F0204"; @fa-var-exclamation: "\F0205"; @fa-var-exclamation-circle: "\F0028"; @fa-var-exclamation-square: "\F0027"; @fa-var-exclamation-triangle: "\F0026"; @fa-var-expand: "\F0293"; @fa-var-expand-alt: "\F0616"; @fa-var-expand-arrows: "\F0293"; @fa-var-expand-arrows-alt: "\F0293"; @fa-var-expand-wide: "\F0293"; @fa-var-external-link: "\F03CC"; @fa-var-external-link-alt: "\F03CC"; @fa-var-external-link-square: "\F03CC"; @fa-var-external-link-square-alt: "\F03CC"; @fa-var-eye: "\F0208"; @fa-var-eye-dropper: "\F0208"; @fa-var-eye-evil: "\F0208"; @fa-var-eye-slash: "\F0209"; @fa-var-facebook: "\F020C"; @fa-var-facebook-f: "\F020C"; @fa-var-facebook-messenger: "\F020E"; @fa-var-facebook-square: "\F020C"; @fa-var-fan: "\F0210"; @fa-var-fan-table: "\F0210"; @fa-var-farm: "\F0892"; @fa-var-fast-forward: "\F0211"; @fa-var-faucet: "\F058F"; @fa-var-faucet-drip: "\F058F"; @fa-var-fax: "\F0212"; @fa-var-feather: "\F06D3"; @fa-var-feather-alt: "\F06D3"; @fa-var-fedora: "\F08DB"; @fa-var-file: "\F0214"; @fa-var-file-alt: "\F0214"; @fa-var-file-archive: "\F0214"; @fa-var-file-audio: "\F0214"; @fa-var-file-certificate: "\F1186"; @fa-var-file-chart-line: "\F0215"; @fa-var-file-chart-pie: "\F0215"; @fa-var-file-check: "\F0216"; @fa-var-file-code: "\F022E"; @fa-var-file-contract: "\F0214"; @fa-var-file-csv: "\F0218"; @fa-var-file-download: "\F0965"; @fa-var-file-edit: "\F11E7"; @fa-var-file-excel: "\F021B"; @fa-var-file-exclamation: "\F0A4B"; @fa-var-file-export: "\F021D"; @fa-var-file-image: "\F021F"; @fa-var-file-import: "\F0220"; @fa-var-file-invoice: "\F0214"; @fa-var-file-invoice-dollar: "\F0214"; @fa-var-file-medical: "\F0214"; @fa-var-file-medical-alt: "\F0214"; @fa-var-file-minus: "\F0214"; @fa-var-file-music: "\F0223"; @fa-var-file-pdf: "\F0225"; @fa-var-file-plus: "\F0752"; @fa-var-file-powerpoint: "\F0227"; @fa-var-file-prescription: "\F0214"; @fa-var-file-search: "\F0C7C"; @fa-var-file-signature: "\F0214"; @fa-var-file-spreadsheet: "\F0214"; @fa-var-file-times: "\F0214"; @fa-var-file-upload: "\F0A4D"; @fa-var-file-user: "\F073B"; @fa-var-file-video: "\F022B"; @fa-var-file-word: "\F022C"; @fa-var-files-medical: "\F0222"; @fa-var-film: "\F022F"; @fa-var-film-alt: "\F022F"; @fa-var-film-canister: "\F022F"; @fa-var-filter: "\F0232"; @fa-var-fingerprint: "\F0237"; @fa-var-fire: "\F0238"; @fa-var-fire-alt: "\F0238"; @fa-var-fire-extinguisher: "\F0EF2"; @fa-var-fire-smoke: "\F0238"; @fa-var-firefox: "\F0239"; @fa-var-firefox-browser: "\F0239"; @fa-var-fireplace: "\F0E2E"; @fa-var-fish: "\F023A"; @fa-var-fish-cooked: "\F023A"; @fa-var-flag: "\F023B"; @fa-var-flag-alt: "\F023B"; @fa-var-flag-checkered: "\F023C"; @fa-var-flag-usa: "\F023B"; @fa-var-flame: "\F0238"; @fa-var-flashlight: "\F0244"; @fa-var-flask: "\F0093"; @fa-var-flask-poison: "\F0093"; @fa-var-flask-potion: "\F0093"; @fa-var-flower: "\F024A"; @fa-var-flower-daffodil: "\F024A"; @fa-var-flower-tulip: "\F09F1"; @fa-var-fly: "\F0FA1"; @fa-var-folder: "\F024B"; @fa-var-folder-download: "\F024D"; @fa-var-folder-minus: "\F024B"; @fa-var-folder-open: "\F0770"; @fa-var-folder-plus: "\F0257"; @fa-var-folder-times: "\F024B"; @fa-var-folder-tree: "\F024B"; @fa-var-folder-upload: "\F0259"; @fa-var-folders: "\F0253"; @fa-var-font: "\F06D6"; @fa-var-font-awesome: "\F003A"; @fa-var-font-awesome-alt: "\F003A"; @fa-var-font-awesome-flag: "\F003A"; @fa-var-font-awesome-logo-full: "\F003A"; @fa-var-font-case: "\F06D6"; @fa-var-football-ball: "\F025D"; @fa-var-football-helmet: "\F025F"; @fa-var-forklift: "\F07C9"; @fa-var-forward: "\F0211"; @fa-var-freebsd: "\F08E0"; @fa-var-function: "\F0295"; @fa-var-funnel-dollar: "\F0232"; @fa-var-futbol: "\F04B8"; @fa-var-gamepad: "\F0296"; @fa-var-gamepad-alt: "\F0296"; @fa-var-garage: "\F06D9"; @fa-var-garage-car: "\F06D9"; @fa-var-garage-open: "\F06DA"; @fa-var-gas-pump: "\F0298"; @fa-var-gas-pump-slash: "\F1409"; @fa-var-gavel: "\F029B"; @fa-var-ghost: "\F02A0"; @fa-var-gift: "\F0E44"; @fa-var-gift-card: "\F0E44"; @fa-var-git: "\F02A2"; @fa-var-git-alt: "\F02A2"; @fa-var-git-square: "\F02A2"; @fa-var-github: "\F02A4"; @fa-var-github-alt: "\F02A4"; @fa-var-github-square: "\F02A4"; @fa-var-gitlab: "\F0BA0"; @fa-var-glass: "\F01AA"; @fa-var-glass-champagne: "\F01AA"; @fa-var-glass-cheers: "\F01AA"; @fa-var-glass-citrus: "\F01AA"; @fa-var-glass-martini: "\F01AA"; @fa-var-glass-martini-alt: "\F01AA"; @fa-var-glass-whiskey: "\F01AA"; @fa-var-glass-whiskey-rocks: "\F01AA"; @fa-var-glasses: "\F02AA"; @fa-var-glasses-alt: "\F02AA"; @fa-var-globe: "\F01E7"; @fa-var-globe-africa: "\F01E7"; @fa-var-globe-americas: "\F01E7"; @fa-var-globe-asia: "\F01E7"; @fa-var-globe-europe: "\F01E7"; @fa-var-globe-snow: "\F01E7"; @fa-var-globe-stand: "\F01E7"; @fa-var-golf-ball: "\F0823"; @fa-var-golf-club: "\F0823"; @fa-var-goodreads: "\F0D7B"; @fa-var-goodreads-g: "\F0D7B"; @fa-var-google: "\F02AD"; @fa-var-google-drive: "\F02B6"; @fa-var-google-pay: "\F02AD"; @fa-var-google-play: "\F02BC"; @fa-var-google-plus: "\F02BD"; @fa-var-google-plus-g: "\F02BD"; @fa-var-google-plus-square: "\F02BD"; @fa-var-google-wallet: "\F02AD"; @fa-var-graduation-cap: "\F0474"; @fa-var-greater-than: "\F096D"; @fa-var-greater-than-equal: "\F096D"; @fa-var-grip-horizontal: "\F01DC"; @fa-var-guitar-electric: "\F02C4"; @fa-var-hamburger: "\F0685"; @fa-var-hammer: "\F08EA"; @fa-var-hammer-war: "\F08EA"; @fa-var-hand-heart: "\F10F1"; @fa-var-hand-holding: "\F0A4F"; @fa-var-hand-holding-box: "\F0A4F"; @fa-var-hand-holding-heart: "\F0A4F"; @fa-var-hand-holding-magic: "\F0A4F"; @fa-var-hand-holding-medical: "\F0A4F"; @fa-var-hand-holding-seedling: "\F0A4F"; @fa-var-hand-holding-usd: "\F0A4F"; @fa-var-hand-holding-water: "\F0A4F"; @fa-var-hand-lizard: "\F0A4F"; @fa-var-hand-middle-finger: "\F0A4F"; @fa-var-hand-paper: "\F0A4F"; @fa-var-hand-peace: "\F0A51"; @fa-var-hand-point-down: "\F0A4F"; @fa-var-hand-point-left: "\F0A4F"; @fa-var-hand-point-right: "\F0A4F"; @fa-var-hand-point-up: "\F0A4F"; @fa-var-hand-pointer: "\F0A4F"; @fa-var-hand-receiving: "\F0A4F"; @fa-var-hand-rock: "\F0A4F"; @fa-var-hand-scissors: "\F0A4F"; @fa-var-hand-sparkles: "\F0A4F"; @fa-var-hand-spock: "\F0A4F"; @fa-var-hands-helping: "\F1218"; @fa-var-handshake: "\F1218"; @fa-var-handshake-alt: "\F1218"; @fa-var-handshake-alt-slash: "\F1218"; @fa-var-handshake-slash: "\F1218"; @fa-var-hard-hat: "\F096F"; @fa-var-hashtag: "\F0423"; @fa-var-hat-chef: "\F0B7C"; @fa-var-hdd: "\F02CA"; @fa-var-head-side: "\F135E"; @fa-var-head-side-brain: "\F135E"; @fa-var-head-side-cough: "\F135E"; @fa-var-head-side-cough-slash: "\F135E"; @fa-var-head-side-headphones: "\F135E"; @fa-var-head-side-mask: "\F135E"; @fa-var-head-side-medical: "\F135E"; @fa-var-head-side-virus: "\F135E"; @fa-var-head-vr: "\F135E"; @fa-var-heading: "\F05F4"; @fa-var-headphones: "\F02CB"; @fa-var-headphones-alt: "\F02CB"; @fa-var-headset: "\F02CE"; @fa-var-heart: "\F02D1"; @fa-var-heart-broken: "\F02D4"; @fa-var-heart-circle: "\F0971"; @fa-var-heart-rate: "\F02D1"; @fa-var-heart-square: "\F02D2"; @fa-var-helicopter: "\F0AC2"; @fa-var-helmet-battle: "\F096F"; @fa-var-hexagon: "\F02D8"; @fa-var-highlighter: "\F0652"; @fa-var-hiking: "\F0D7F"; @fa-var-history: "\F02DA"; @fa-var-hockey-puck: "\F0879"; @fa-var-hockey-sticks: "\F087A"; @fa-var-home: "\F02DC"; @fa-var-home-alt: "\F02DC"; @fa-var-home-heart: "\F0827"; @fa-var-home-lg: "\F02DC"; @fa-var-home-lg-alt: "\F02DC"; @fa-var-horse: "\F15BF"; @fa-var-horse-head: "\F15BF"; @fa-var-horse-saddle: "\F15BF"; @fa-var-hospital: "\F0FF6"; @fa-var-hospital-alt: "\F0FF6"; @fa-var-hospital-symbol: "\F0FF6"; @fa-var-hospital-user: "\F0FF6"; @fa-var-hot-tub: "\F0828"; @fa-var-hotel: "\F02E3"; @fa-var-hourglass: "\F051F"; @fa-var-hourglass-end: "\F051F"; @fa-var-hourglass-half: "\F051F"; @fa-var-hourglass-start: "\F051F"; @fa-var-house: "\F02DC"; @fa-var-house-damage: "\F02DC"; @fa-var-house-day: "\F02DC"; @fa-var-house-flood: "\F0EFA"; @fa-var-house-leave: "\F02DC"; @fa-var-house-night: "\F02DC"; @fa-var-house-return: "\F02DC"; @fa-var-house-signal: "\F02DC"; @fa-var-house-user: "\F0826"; @fa-var-hubspot: "\F0D17"; @fa-var-humidity: "\F058E"; @fa-var-ice-cream: "\F082A"; @fa-var-ice-skate: "\F0D35"; @fa-var-id-card: "\F0FC0"; @fa-var-id-card-alt: "\F0FC0"; @fa-var-image: "\F02E9"; @fa-var-image-polaroid: "\F02E9"; @fa-var-images: "\F02F9"; @fa-var-inbox: "\F0687"; @fa-var-inbox-in: "\F0687"; @fa-var-inbox-out: "\F0687"; @fa-var-indent: "\F0276"; @fa-var-infinity: "\F06E4"; @fa-var-info: "\F02FC"; @fa-var-info-circle: "\F02FC"; @fa-var-info-square: "\F02FC"; @fa-var-instagram: "\F02FE"; @fa-var-instagram-square: "\F02FE"; @fa-var-island-tropical: "\F104F"; @fa-var-italic: "\F0277"; @fa-var-jack-o-lantern: "\F0BA3"; @fa-var-jira: "\F0303"; @fa-var-journal-whills: "\F082E"; @fa-var-jsfiddle: "\F0304"; @fa-var-key: "\F0306"; @fa-var-key-skeleton: "\F0306"; @fa-var-keyboard: "\F030C"; @fa-var-khanda: "\F10FD"; @fa-var-kickstarter: "\F0745"; @fa-var-kickstarter-k: "\F0745"; @fa-var-knife-kitchen: "\F09FB"; @fa-var-lambda: "\F0627"; @fa-var-lamp: "\F06B5"; @fa-var-lamp-desk: "\F06B5"; @fa-var-lamp-floor: "\F06B5"; @fa-var-language: "\F059F"; @fa-var-laptop: "\F0322"; @fa-var-laptop-code: "\F0322"; @fa-var-laptop-house: "\F0322"; @fa-var-laptop-medical: "\F0322"; @fa-var-laravel: "\F0AD0"; @fa-var-lasso: "\F0F03"; @fa-var-leaf: "\F032A"; @fa-var-leaf-heart: "\F032A"; @fa-var-leaf-maple: "\F0C93"; @fa-var-leaf-oak: "\F032A"; @fa-var-less-than: "\F097C"; @fa-var-less-than-equal: "\F097C"; @fa-var-light-switch: "\F097E"; @fa-var-light-switch-off: "\F097E"; @fa-var-light-switch-on: "\F097E"; @fa-var-lightbulb: "\F0335"; @fa-var-lightbulb-dollar: "\F0335"; @fa-var-lightbulb-exclamation: "\F0335"; @fa-var-lightbulb-on: "\F06E8"; @fa-var-lightbulb-slash: "\F0E4F"; @fa-var-link: "\F0337"; @fa-var-linkedin: "\F033B"; @fa-var-linkedin-in: "\F033B"; @fa-var-linux: "\F033D"; @fa-var-lira-sign: "\F01B2"; @fa-var-list: "\F0279"; @fa-var-list-alt: "\F0279"; @fa-var-list-music: "\F0279"; @fa-var-list-ol: "\F027B"; @fa-var-list-ul: "\F0279"; @fa-var-location: "\F034E"; @fa-var-location-arrow: "\F034E"; @fa-var-location-circle: "\F034F"; @fa-var-location-slash: "\F0351"; @fa-var-lock: "\F033E"; @fa-var-lock-alt: "\F033E"; @fa-var-lock-open: "\F033F"; @fa-var-lock-open-alt: "\F033F"; @fa-var-long-arrow-alt-down: "\F0045"; @fa-var-long-arrow-alt-left: "\F004D"; @fa-var-long-arrow-alt-right: "\F0054"; @fa-var-long-arrow-alt-up: "\F005D"; @fa-var-long-arrow-down: "\F0045"; @fa-var-long-arrow-left: "\F004D"; @fa-var-long-arrow-right: "\F0054"; @fa-var-long-arrow-up: "\F005D"; @fa-var-loveseat: "\F156E"; @fa-var-luggage-cart: "\F0F3D"; @fa-var-lungs: "\F1084"; @fa-var-lungs-virus: "\F1084"; @fa-var-magic: "\F0068"; @fa-var-magnet: "\F0347"; @fa-var-mail-bulk: "\F0EBB"; @fa-var-mailbox: "\F06EE"; @fa-var-map: "\F034D"; @fa-var-map-marked: "\F034D"; @fa-var-map-marked-alt: "\F034D"; @fa-var-map-marker: "\F034E"; @fa-var-map-marker-alt: "\F034E"; @fa-var-map-marker-alt-slash: "\F0351"; @fa-var-map-marker-check: "\F0C95"; @fa-var-map-marker-edit: "\F034E"; @fa-var-map-marker-exclamation: "\F0F05"; @fa-var-map-marker-minus: "\F0650"; @fa-var-map-marker-plus: "\F0651"; @fa-var-map-marker-question: "\F0F07"; @fa-var-map-marker-slash: "\F0351"; @fa-var-map-marker-smile: "\F034E"; @fa-var-map-marker-times: "\F034E"; @fa-var-map-pin: "\F034D"; @fa-var-map-signs: "\F034D"; @fa-var-marker: "\F0652"; @fa-var-mars: "\F029D"; @fa-var-mars-double: "\F029D"; @fa-var-mars-stroke: "\F029D"; @fa-var-mars-stroke-h: "\F029D"; @fa-var-mars-stroke-v: "\F029D"; @fa-var-mask: "\F1023"; @fa-var-mastodon: "\F0AD1"; @fa-var-meat: "\F146A"; @fa-var-medal: "\F0987"; @fa-var-megaphone: "\F00E6"; @fa-var-memory: "\F035B"; @fa-var-mercury: "\F113F"; @fa-var-meteor: "\F0629"; @fa-var-microphone: "\F036C"; @fa-var-microphone-alt: "\F036C"; @fa-var-microphone-alt-slash: "\F036D"; @fa-var-microphone-slash: "\F036D"; @fa-var-microphone-stand: "\F036C"; @fa-var-microscope: "\F0654"; @fa-var-microsoft: "\F0372"; @fa-var-microwave: "\F0C99"; @fa-var-minus: "\F0374"; @fa-var-minus-circle: "\F0376"; @fa-var-minus-hexagon: "\F0374"; @fa-var-minus-octagon: "\F0374"; @fa-var-minus-square: "\F0375"; @fa-var-mobile: "\F011C"; @fa-var-mobile-alt: "\F011C"; @fa-var-mobile-android: "\F011D"; @fa-var-mobile-android-alt: "\F011D"; @fa-var-money-bill: "\F0116"; @fa-var-money-bill-alt: "\F0116"; @fa-var-money-bill-wave: "\F0116"; @fa-var-money-bill-wave-alt: "\F0116"; @fa-var-money-check: "\F0116"; @fa-var-money-check-alt: "\F0116"; @fa-var-money-check-edit: "\F0116"; @fa-var-money-check-edit-alt: "\F0116"; @fa-var-monitor-heart-rate: "\F0379"; @fa-var-moon: "\F0F65"; @fa-var-moon-cloud: "\F0F65"; @fa-var-moon-stars: "\F0F65"; @fa-var-motorcycle: "\F037C"; @fa-var-mountain: "\F02F5"; @fa-var-mouse: "\F037D"; @fa-var-mouse-alt: "\F037D"; @fa-var-mouse-pointer: "\F037D"; @fa-var-music: "\F075A"; @fa-var-music-alt: "\F075A"; @fa-var-music-alt-slash: "\F075B"; @fa-var-music-slash: "\F075B"; @fa-var-network-wired: "\F06F3"; @fa-var-newspaper: "\F0395"; @fa-var-not-equal: "\F098D"; @fa-var-notes-medical: "\F06B8"; @fa-var-npm: "\F06F7"; @fa-var-octagon: "\F03C3"; @fa-var-odnoklassniki: "\F03C5"; @fa-var-odnoklassniki-square: "\F03C5"; @fa-var-oil-can: "\F03C7"; @fa-var-oil-temp: "\F03C7"; @fa-var-om: "\F0973"; @fa-var-omega: "\F03C9"; @fa-var-openid: "\F03CD"; @fa-var-opera: "\F03CE"; @fa-var-ornament: "\F03CF"; @fa-var-outdent: "\F0275"; @fa-var-oven: "\F04DE"; @fa-var-paint-brush: "\F0665"; @fa-var-paint-brush-alt: "\F0665"; @fa-var-paint-roller: "\F0665"; @fa-var-palette: "\F03D8"; @fa-var-paper-plane: "\F048A"; @fa-var-paperclip: "\F03E2"; @fa-var-parachute-box: "\F0CB4"; @fa-var-paragraph: "\F027D"; @fa-var-paragraph-rtl: "\F027D"; @fa-var-parking: "\F03E3"; @fa-var-parking-circle: "\F03E3"; @fa-var-parking-circle-slash: "\F03E3"; @fa-var-parking-slash: "\F03E3"; @fa-var-passport: "\F07E3"; @fa-var-patreon: "\F0882"; @fa-var-pause: "\F03E4"; @fa-var-pause-circle: "\F03E5"; @fa-var-paw: "\F03E9"; @fa-var-paw-alt: "\F03E9"; @fa-var-paw-claws: "\F03E9"; @fa-var-peace: "\F0884"; @fa-var-pen: "\F03EA"; @fa-var-pen-alt: "\F03EA"; @fa-var-pen-fancy: "\F03EA"; @fa-var-pen-nib: "\F03EA"; @fa-var-pen-square: "\F03EA"; @fa-var-pencil: "\F03EB"; @fa-var-pencil-alt: "\F03EB"; @fa-var-pencil-paintbrush: "\F03EB"; @fa-var-pencil-ruler: "\F1353"; @fa-var-people-arrows: "\F000E"; @fa-var-people-carry: "\F000E"; @fa-var-pepper-hot: "\F110E"; @fa-var-percent: "\F03F0"; @fa-var-person-booth: "\F0004"; @fa-var-person-carry: "\F0004"; @fa-var-person-dolly: "\F0004"; @fa-var-person-dolly-empty: "\F0004"; @fa-var-person-sign: "\F0004"; @fa-var-phone: "\F03F2"; @fa-var-phone-alt: "\F03F2"; @fa-var-phone-laptop: "\F03F2"; @fa-var-phone-office: "\F03F2"; @fa-var-phone-plus: "\F0659"; @fa-var-phone-rotary: "\F03F2"; @fa-var-phone-slash: "\F0DEF"; @fa-var-phone-square: "\F03F2"; @fa-var-phone-square-alt: "\F03F2"; @fa-var-phone-volume: "\F03F2"; @fa-var-photo-video: "\F021F"; @fa-var-pi: "\F03FF"; @fa-var-piano: "\F067D"; @fa-var-piano-keyboard: "\F067D"; @fa-var-pig: "\F0401"; @fa-var-piggy-bank: "\F1007"; @fa-var-pinterest: "\F0407"; @fa-var-pinterest-p: "\F0407"; @fa-var-pinterest-square: "\F0407"; @fa-var-pizza: "\F0409"; @fa-var-pizza-slice: "\F0409"; @fa-var-place-of-worship: "\F034E"; @fa-var-plane: "\F001D"; @fa-var-plane-alt: "\F001D"; @fa-var-plane-arrival: "\F001D"; @fa-var-plane-departure: "\F001D"; @fa-var-plane-slash: "\F001E"; @fa-var-planet-moon: "\F01E7"; @fa-var-planet-ringed: "\F01E7"; @fa-var-play: "\F040A"; @fa-var-play-circle: "\F040C"; @fa-var-plus: "\F0415"; @fa-var-plus-circle: "\F0417"; @fa-var-plus-hexagon: "\F0415"; @fa-var-plus-octagon: "\F0415"; @fa-var-plus-square: "\F0416"; @fa-var-podcast: "\F0994"; @fa-var-podium: "\F0D25"; @fa-var-podium-star: "\F0D25"; @fa-var-poll: "\F041F"; @fa-var-poll-h: "\F041F"; @fa-var-poll-people: "\F041F"; @fa-var-popcorn: "\F0422"; @fa-var-portrait: "\F0007"; @fa-var-pound-sign: "\F0423"; @fa-var-power-off: "\F0902"; @fa-var-prescription: "\F0706"; @fa-var-prescription-bottle: "\F0706"; @fa-var-prescription-bottle-alt: "\F0706"; @fa-var-presentation: "\F0428"; @fa-var-projector: "\F042E"; @fa-var-pump-medical: "\F1402"; @fa-var-pump-soap: "\F1402"; @fa-var-pumpkin: "\F0BBF"; @fa-var-puzzle-piece: "\F0431"; @fa-var-qrcode: "\F0432"; @fa-var-question: "\F02D6"; @fa-var-question-circle: "\F02D7"; @fa-var-question-square: "\F078B"; @fa-var-quora: "\F0D29"; @fa-var-quote-left: "\F0757"; @fa-var-quote-right: "\F027E"; @fa-var-rabbit: "\F0907"; @fa-var-rabbit-fast: "\F0907"; @fa-var-radar: "\F0437"; @fa-var-radiation: "\F043C"; @fa-var-radiation-alt: "\F043C"; @fa-var-radio: "\F0439"; @fa-var-radio-alt: "\F0439"; @fa-var-rainbow: "\F0344"; @fa-var-raspberry-pi: "\F043F"; @fa-var-react: "\F0708"; @fa-var-receipt: "\F0449"; @fa-var-record-vinyl: "\F044A"; @fa-var-rectangle-landscape: "\F0E5E"; @fa-var-rectangle-portrait: "\F0E5E"; @fa-var-rectangle-wide: "\F0E5E"; @fa-var-recycle: "\F044C"; @fa-var-reddit: "\F044D"; @fa-var-reddit-alien: "\F044D"; @fa-var-reddit-square: "\F044D"; @fa-var-redhat: "\F111B"; @fa-var-redo: "\F044E"; @fa-var-redo-alt: "\F044E"; @fa-var-refrigerator: "\F0290"; @fa-var-remove-format: "\F0374"; @fa-var-repeat: "\F0456"; @fa-var-repeat-1: "\F0456"; @fa-var-repeat-1-alt: "\F0456"; @fa-var-repeat-alt: "\F0456"; @fa-var-reply: "\F045A"; @fa-var-reply-all: "\F045B"; @fa-var-ribbon: "\F0460"; @fa-var-ring: "\F07EB"; @fa-var-road: "\F0461"; @fa-var-robot: "\F06A9"; @fa-var-rocket: "\F0463"; @fa-var-rocket-launch: "\F14DE"; @fa-var-router: "\F11E2"; @fa-var-rss: "\F046B"; @fa-var-rss-square: "\F046C"; @fa-var-ruble-sign: "\F01B1"; @fa-var-ruler: "\F046D"; @fa-var-ruler-combined: "\F046D"; @fa-var-ruler-horizontal: "\F046D"; @fa-var-ruler-triangle: "\F046D"; @fa-var-ruler-vertical: "\F046D"; @fa-var-rupee-sign: "\F01AF"; @fa-var-sack: "\F0D2E"; @fa-var-sack-dollar: "\F0D2E"; @fa-var-salesforce: "\F088E"; @fa-var-sass: "\F07EC"; @fa-var-satellite: "\F0470"; @fa-var-satellite-dish: "\F0470"; @fa-var-sausage: "\F08BA"; @fa-var-save: "\F0249"; @fa-var-saxophone: "\F0609"; @fa-var-scanner: "\F06AB"; @fa-var-scanner-image: "\F06AB"; @fa-var-scanner-keyboard: "\F06AB"; @fa-var-scanner-touchscreen: "\F06AB"; @fa-var-school: "\F0474"; @fa-var-screwdriver: "\F0476"; @fa-var-scroll: "\F0BC1"; @fa-var-scroll-old: "\F0BC1"; @fa-var-sd-card: "\F0479"; @fa-var-search: "\F0349"; @fa-var-search-dollar: "\F0349"; @fa-var-search-location: "\F0349"; @fa-var-search-minus: "\F034A"; @fa-var-search-plus: "\F034B"; @fa-var-seedling: "\F0E66"; @fa-var-send-back: "\F048A"; @fa-var-send-backward: "\F048A"; @fa-var-server: "\F048B"; @fa-var-share: "\F0496"; @fa-var-share-all: "\F11F4"; @fa-var-share-alt: "\F0497"; @fa-var-share-alt-square: "\F0497"; @fa-var-share-square: "\F0496"; @fa-var-sheep: "\F0CC6"; @fa-var-shield: "\F0498"; @fa-var-shield-alt: "\F0498"; @fa-var-shield-check: "\F0565"; @fa-var-shield-cross: "\F0CC9"; @fa-var-shield-virus: "\F0498"; @fa-var-ship: "\F0213"; @fa-var-shopping-bag: "\F049A"; @fa-var-shopping-basket: "\F0076"; @fa-var-shopping-cart: "\F0110"; @fa-var-shovel: "\F0710"; @fa-var-shovel-snow: "\F0710"; @fa-var-shower: "\F09A0"; @fa-var-shredder: "\F049C"; @fa-var-shuttlecock: "\F0851"; @fa-var-sigma: "\F04A0"; @fa-var-sign: "\F0F49"; @fa-var-sign-in: "\F0342"; @fa-var-sign-in-alt: "\F0342"; @fa-var-sign-language: "\F0F49"; @fa-var-sign-out: "\F0343"; @fa-var-sign-out-alt: "\F0343"; @fa-var-signal: "\F04A2"; @fa-var-signal-1: "\F04A2"; @fa-var-signal-2: "\F04A2"; @fa-var-signal-3: "\F04A2"; @fa-var-signal-4: "\F04A2"; @fa-var-signal-alt: "\F04A2"; @fa-var-signal-alt-1: "\F04A2"; @fa-var-signal-alt-2: "\F04A2"; @fa-var-signal-alt-3: "\F04A2"; @fa-var-signal-alt-slash: "\F0783"; @fa-var-signal-slash: "\F0783"; @fa-var-signal-stream: "\F04A2"; @fa-var-signature: "\F0DFB"; @fa-var-sim-card: "\F04A7"; @fa-var-sitemap: "\F04AA"; @fa-var-ski-jump: "\F1304"; @fa-var-ski-lift: "\F1304"; @fa-var-skull: "\F068C"; @fa-var-skull-cow: "\F068C"; @fa-var-skull-crossbones: "\F0BC6"; @fa-var-skype: "\F04AF"; @fa-var-slack: "\F04B1"; @fa-var-slack-hash: "\F04B1"; @fa-var-smile: "\F0C71"; @fa-var-smile-beam: "\F0C71"; @fa-var-smile-plus: "\F0C71"; @fa-var-smile-wink: "\F0C71"; @fa-var-smog: "\F0A71"; @fa-var-smoking: "\F04B4"; @fa-var-smoking-ban: "\F04B4"; @fa-var-sms: "\F0366"; @fa-var-snake: "\F150E"; @fa-var-snapchat: "\F04B6"; @fa-var-snapchat-ghost: "\F04B6"; @fa-var-snapchat-square: "\F04B6"; @fa-var-snowflake: "\F0717"; @fa-var-snowman: "\F04B7"; @fa-var-solar-panel: "\F0D9B"; @fa-var-sort: "\F04BA"; @fa-var-sort-alpha-down: "\F04BA"; @fa-var-sort-alpha-down-alt: "\F04BA"; @fa-var-sort-alpha-up: "\F04BA"; @fa-var-sort-alpha-up-alt: "\F04BA"; @fa-var-sort-alt: "\F04BA"; @fa-var-sort-amount-down: "\F04BA"; @fa-var-sort-amount-down-alt: "\F04BA"; @fa-var-sort-amount-up: "\F04BA"; @fa-var-sort-amount-up-alt: "\F04BA"; @fa-var-sort-circle: "\F04BA"; @fa-var-sort-circle-down: "\F04BA"; @fa-var-sort-circle-up: "\F04BA"; @fa-var-sort-down: "\F04BA"; @fa-var-sort-numeric-down: "\F04BA"; @fa-var-sort-numeric-down-alt: "\F04BA"; @fa-var-sort-numeric-up: "\F04BA"; @fa-var-sort-numeric-up-alt: "\F04BA"; @fa-var-sort-shapes-down: "\F04BA"; @fa-var-sort-shapes-down-alt: "\F04BA"; @fa-var-sort-shapes-up: "\F04BA"; @fa-var-sort-shapes-up-alt: "\F04BA"; @fa-var-sort-size-down: "\F04BA"; @fa-var-sort-size-down-alt: "\F04BA"; @fa-var-sort-size-up: "\F04BA"; @fa-var-sort-size-up-alt: "\F04BA"; @fa-var-sort-up: "\F04BA"; @fa-var-soundcloud: "\F04C0"; @fa-var-spa: "\F0CD1"; @fa-var-space-station-moon: "\F1383"; @fa-var-space-station-moon-alt: "\F1383"; @fa-var-spade: "\F0E65"; @fa-var-sparkles: "\F1545"; @fa-var-speaker: "\F04C3"; @fa-var-speaker-deck: "\F04C3"; @fa-var-speakers: "\F0D38"; @fa-var-spider: "\F11EA"; @fa-var-spider-black-widow: "\F11EA"; @fa-var-spider-web: "\F0BCA"; @fa-var-spotify: "\F04C7"; @fa-var-spray-can: "\F0665"; @fa-var-sprinkler: "\F105F"; @fa-var-square: "\F0131"; @fa-var-square-full: "\F0131"; @fa-var-square-root: "\F0784"; @fa-var-square-root-alt: "\F0784"; @fa-var-stack-exchange: "\F060B"; @fa-var-stack-overflow: "\F04CC"; @fa-var-stackpath: "\F0359"; @fa-var-star: "\F04CE"; @fa-var-star-and-crescent: "\F0979"; @fa-var-star-christmas: "\F04CE"; @fa-var-star-exclamation: "\F04CE"; @fa-var-star-half: "\F0246"; @fa-var-star-half-alt: "\F0246"; @fa-var-star-of-david: "\F097A"; @fa-var-star-of-life: "\F04CE"; @fa-var-star-shooting: "\F04CE"; @fa-var-stars: "\F04CF"; @fa-var-steam: "\F04D3"; @fa-var-steam-square: "\F04D3"; @fa-var-steam-symbol: "\F04D3"; @fa-var-steering-wheel: "\F04D4"; @fa-var-step-backward: "\F04D5"; @fa-var-step-forward: "\F04D7"; @fa-var-stethoscope: "\F04D9"; @fa-var-sticker-mule: "\F1364"; @fa-var-stocking: "\F04DA"; @fa-var-stomach: "\F1093"; @fa-var-stop: "\F04DB"; @fa-var-stop-circle: "\F0666"; @fa-var-stopwatch: "\F13AB"; @fa-var-stopwatch-20: "\F13AB"; @fa-var-store: "\F04DC"; @fa-var-store-alt: "\F04DC"; @fa-var-store-alt-slash: "\F04DC"; @fa-var-store-slash: "\F04DC"; @fa-var-strikethrough: "\F0280"; @fa-var-subway: "\F06AC"; @fa-var-sunglasses: "\F04E0"; @fa-var-sunrise: "\F059C"; @fa-var-swimming-pool: "\F0606"; @fa-var-sword: "\F04E5"; @fa-var-sword-laser: "\F04E5"; @fa-var-sword-laser-alt: "\F04E5"; @fa-var-symfony: "\F0AE6"; @fa-var-sync: "\F04E6"; @fa-var-sync-alt: "\F04E6"; @fa-var-syringe: "\F0391"; @fa-var-table: "\F04EB"; @fa-var-table-tennis: "\F0E68"; @fa-var-tablet: "\F04F6"; @fa-var-tablet-alt: "\F04F6"; @fa-var-tablet-android: "\F04F7"; @fa-var-tablet-android-alt: "\F04F7"; @fa-var-tablet-rugged: "\F04F6"; @fa-var-taco: "\F0762"; @fa-var-tag: "\F04F9"; @fa-var-tags: "\F04FB"; @fa-var-tape: "\F09D4"; @fa-var-taxi: "\F04FF"; @fa-var-telegram: "\F0501"; @fa-var-telegram-plane: "\F0501"; @fa-var-telescope: "\F0B4E"; @fa-var-tennis-ball: "\F0507"; @fa-var-terminal: "\F018D"; @fa-var-text: "\F09A8"; @fa-var-text-height: "\F09A8"; @fa-var-text-size: "\F09A8"; @fa-var-text-width: "\F09A8"; @fa-var-theater-masks: "\F050D"; @fa-var-thermometer: "\F050F"; @fa-var-thermometer-empty: "\F050F"; @fa-var-thermometer-full: "\F050F"; @fa-var-thermometer-half: "\F050F"; @fa-var-thermometer-quarter: "\F050F"; @fa-var-thermometer-three-quarters: "\F050F"; @fa-var-thumbs-down: "\F0511"; @fa-var-thumbs-up: "\F0513"; @fa-var-thumbtack: "\F0403"; @fa-var-ticket: "\F0516"; @fa-var-ticket-alt: "\F0516"; @fa-var-tilde: "\F0725"; @fa-var-times: "\F0156"; @fa-var-times-circle: "\F0156"; @fa-var-times-hexagon: "\F0156"; @fa-var-times-octagon: "\F0156"; @fa-var-times-square: "\F0156"; @fa-var-tint: "\F0266"; @fa-var-tint-slash: "\F0266"; @fa-var-toilet: "\F09AB"; @fa-var-toilet-paper: "\F1157"; @fa-var-toilet-paper-alt: "\F1157"; @fa-var-toilet-paper-slash: "\F1157"; @fa-var-tombstone: "\F0BA2"; @fa-var-tombstone-alt: "\F0BA2"; @fa-var-toolbox: "\F09AC"; @fa-var-tools: "\F1064"; @fa-var-tooth: "\F08C3"; @fa-var-toothbrush: "\F1129"; @fa-var-tractor: "\F0892"; @fa-var-trademark: "\F0A78"; @fa-var-traffic-cone: "\F137C"; @fa-var-traffic-light: "\F052B"; @fa-var-traffic-light-go: "\F052B"; @fa-var-traffic-light-slow: "\F052B"; @fa-var-traffic-light-stop: "\F052B"; @fa-var-train: "\F052C"; @fa-var-tram: "\F052D"; @fa-var-trash: "\F01B4"; @fa-var-trash-alt: "\F01B4"; @fa-var-trash-restore: "\F0819"; @fa-var-trash-restore-alt: "\F0819"; @fa-var-trash-undo: "\F01B4"; @fa-var-trash-undo-alt: "\F01B4"; @fa-var-treasure-chest: "\F0726"; @fa-var-tree: "\F0531"; @fa-var-tree-alt: "\F0531"; @fa-var-tree-christmas: "\F0531"; @fa-var-tree-decorated: "\F0531"; @fa-var-tree-large: "\F0531"; @fa-var-tree-palm: "\F0531"; @fa-var-trello: "\F0532"; @fa-var-triangle: "\F0536"; @fa-var-triangle-music: "\F0536"; @fa-var-trophy: "\F0538"; @fa-var-trophy-alt: "\F0538"; @fa-var-truck: "\F053D"; @fa-var-truck-container: "\F053D"; @fa-var-truck-couch: "\F053D"; @fa-var-truck-loading: "\F053D"; @fa-var-truck-monster: "\F053D"; @fa-var-truck-moving: "\F053D"; @fa-var-truck-pickup: "\F053D"; @fa-var-truck-plow: "\F053D"; @fa-var-truck-ramp: "\F053D"; @fa-var-trumpet: "\F1096"; @fa-var-turtle: "\F0CD7"; @fa-var-tv: "\F0502"; @fa-var-tv-alt: "\F0502"; @fa-var-tv-music: "\F0502"; @fa-var-tv-retro: "\F0502"; @fa-var-twitch: "\F0543"; @fa-var-twitter: "\F0544"; @fa-var-twitter-square: "\F0544"; @fa-var-typewriter: "\F0F2D"; @fa-var-ubuntu: "\F0548"; @fa-var-ufo: "\F10C4"; @fa-var-ufo-beam: "\F10C4"; @fa-var-umbraco: "\F0549"; @fa-var-umbrella: "\F054A"; @fa-var-umbrella-beach: "\F054A"; @fa-var-underline: "\F0287"; @fa-var-undo: "\F054C"; @fa-var-undo-alt: "\F054C"; @fa-var-unicorn: "\F15C2"; @fa-var-unity: "\F06AF"; @fa-var-university: "\F0474"; @fa-var-unlink: "\F0338"; @fa-var-untappd: "\F0551"; @fa-var-upload: "\F0552"; @fa-var-usb: "\F0553"; @fa-var-usb-drive: "\F0553"; @fa-var-user: "\F0004"; @fa-var-user-alien: "\F0004"; @fa-var-user-alt: "\F0004"; @fa-var-user-alt-slash: "\F0012"; @fa-var-user-astronaut: "\F0004"; @fa-var-user-chart: "\F0004"; @fa-var-user-check: "\F0008"; @fa-var-user-circle: "\F0009"; @fa-var-user-clock: "\F0B56"; @fa-var-user-cog: "\F1370"; @fa-var-user-cowboy: "\F0004"; @fa-var-user-crown: "\F0004"; @fa-var-user-edit: "\F06BC"; @fa-var-user-friends: "\F0004"; @fa-var-user-graduate: "\F0004"; @fa-var-user-hard-hat: "\F05B5"; @fa-var-user-headset: "\F0004"; @fa-var-user-injured: "\F0004"; @fa-var-user-lock: "\F115E"; @fa-var-user-md: "\F0004"; @fa-var-user-md-chat: "\F0004"; @fa-var-user-minus: "\F000D"; @fa-var-user-music: "\F0803"; @fa-var-user-ninja: "\F0004"; @fa-var-user-nurse: "\F0004"; @fa-var-user-plus: "\F0014"; @fa-var-user-robot: "\F0004"; @fa-var-user-secret: "\F0004"; @fa-var-user-shield: "\F0004"; @fa-var-user-slash: "\F0012"; @fa-var-user-tag: "\F0004"; @fa-var-user-tie: "\F0CE3"; @fa-var-user-times: "\F0004"; @fa-var-user-unlock: "\F0004"; @fa-var-user-visor: "\F0004"; @fa-var-users: "\F000E"; @fa-var-users-class: "\F000E"; @fa-var-users-cog: "\F000E"; @fa-var-users-crown: "\F000E"; @fa-var-users-medical: "\F000E"; @fa-var-users-slash: "\F000E"; @fa-var-vector-square: "\F0001"; @fa-var-venus: "\F029C"; @fa-var-venus-double: "\F029C"; @fa-var-venus-mars: "\F029C"; @fa-var-vhs: "\F0A1B"; @fa-var-video: "\F0567"; @fa-var-video-plus: "\F09B3"; @fa-var-video-slash: "\F0568"; @fa-var-vimeo: "\F0577"; @fa-var-vimeo-square: "\F0577"; @fa-var-vimeo-v: "\F0577"; @fa-var-violin: "\F060F"; @fa-var-virus: "\F13B6"; @fa-var-virus-slash: "\F13B6"; @fa-var-vk: "\F0579"; @fa-var-voicemail: "\F057D"; @fa-var-volleyball-ball: "\F09B4"; @fa-var-volume-mute: "\F075F"; @fa-var-volume-off: "\F0581"; @fa-var-volume-slash: "\F0581"; @fa-var-vote-nay: "\F0A1F"; @fa-var-vote-yea: "\F0A1F"; @fa-var-vr-cardboard: "\F0894"; @fa-var-vuejs: "\F0844"; @fa-var-walker: "\F0583"; @fa-var-walking: "\F0583"; @fa-var-wallet: "\F0584"; @fa-var-wand: "\F0068"; @fa-var-wand-magic: "\F0068"; @fa-var-warehouse: "\F0F81"; @fa-var-warehouse-alt: "\F0F81"; @fa-var-watch: "\F0589"; @fa-var-watch-calculator: "\F0589"; @fa-var-watch-fitness: "\F0589"; @fa-var-water: "\F058C"; @fa-var-water-lower: "\F058C"; @fa-var-water-rise: "\F058C"; @fa-var-wave-sine: "\F0F2E"; @fa-var-wave-square: "\F0F2E"; @fa-var-wave-triangle: "\F0F2E"; @fa-var-waveform: "\F147D"; @fa-var-waveform-path: "\F147D"; @fa-var-waze: "\F0BDE"; @fa-var-webcam: "\F05A0"; @fa-var-webcam-slash: "\F05A0"; @fa-var-weight: "\F05A1"; @fa-var-weight-hanging: "\F05A1"; @fa-var-whatsapp: "\F05A3"; @fa-var-whatsapp-square: "\F05A3"; @fa-var-wheat: "\F0073"; @fa-var-whistle: "\F09B6"; @fa-var-wifi: "\F05A9"; @fa-var-wifi-1: "\F05A9"; @fa-var-wifi-2: "\F05A9"; @fa-var-wifi-slash: "\F05AA"; @fa-var-wikipedia-w: "\F05AC"; @fa-var-wind-turbine: "\F0DA5"; @fa-var-window-close: "\F05AD"; @fa-var-window-maximize: "\F05AF"; @fa-var-window-minimize: "\F05B0"; @fa-var-window-restore: "\F05B2"; @fa-var-windsock: "\F15FA"; @fa-var-won-sign: "\F07BD"; @fa-var-wordpress: "\F05B4"; @fa-var-wordpress-simple: "\F05B4"; @fa-var-wrench: "\F05B7"; @fa-var-x-ray: "\F14C7"; @fa-var-xing: "\F05BE"; @fa-var-xing-square: "\F05BE"; @fa-var-y-combinator: "\F0624"; @fa-var-yahoo: "\F0B4F"; @fa-var-yen-sign: "\F07BC"; @fa-var-yin-yang: "\F0680"; @fa-var-youtube: "\F05C3"; @fa-var-youtube-square: "\F05C3";]]>

</template>


-<template title="uix_material_outline.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[.fa-accessible-icon:before{content:"\F05A4" ;} .fa-adjust:before{content:"\F001A" ;} .fa-air-conditioner:before{content:"\F001B" ;} .fa-alarm-clock:before{content:"\F0020" ;} .fa-alarm-exclamation:before{content:"\F0020" ;} .fa-alarm-plus:before{content:"\F0024" ;} .fa-alarm-snooze:before{content:"\F068E" ;} .fa-album:before{content:"\F0025" ;} .fa-album-collection:before{content:"\F0025" ;} .fa-alien:before{content:"\F10CB" ;} .fa-alien-monster:before{content:"\F10CB" ;} .fa-align-center:before{content:"\F0260" ;} .fa-align-justify:before{content:"\F0261" ;} .fa-align-left:before{content:"\F0262" ;} .fa-align-right:before{content:"\F0263" ;} .fa-amazon:before{content:"\F002D" ;} .fa-amazon-pay:before{content:"\F002D" ;} .fa-ambulance:before{content:"\F002F" ;} .fa-amp-guitar:before{content:"\F0820" ;} .fa-anchor:before{content:"\F0031" ;} .fa-android:before{content:"\F0032" ;} .fa-angle-double-down:before{content:"\F013C" ;} .fa-angle-double-left:before{content:"\F013D" ;} .fa-angle-double-right:before{content:"\F013E" ;} .fa-angle-double-up:before{content:"\F013F" ;} .fa-angle-down:before{content:"\F0140" ;} .fa-angle-left:before{content:"\F0141" ;} .fa-angle-right:before{content:"\F0142" ;} .fa-angle-up:before{content:"\F0143" ;} .fa-angry:before{content:"\F0C6A" ;} .fa-angular:before{content:"\F06B2" ;} .fa-apple:before{content:"\F0035" ;} .fa-apple-alt:before{content:"\F0035" ;} .fa-apple-crate:before{content:"\F0035" ;} .fa-apple-pay:before{content:"\F0035" ;} .fa-archive:before{content:"\F120E" ;} .fa-archway:before{content:"\F08C7" ;} .fa-arrow-alt-circle-down:before{content:"\F054D" ;} .fa-arrow-alt-circle-left:before{content:"\F054D" ;} .fa-arrow-alt-circle-right:before{content:"\F054D" ;} .fa-arrow-alt-circle-up:before{content:"\F054D" ;} .fa-arrow-alt-down:before{content:"\F0045" ;} .fa-arrow-alt-from-bottom:before{content:"\F054D" ;} .fa-arrow-alt-from-left:before{content:"\F054D" ;} .fa-arrow-alt-from-right:before{content:"\F054D" ;} .fa-arrow-alt-from-top:before{content:"\F054D" ;} .fa-arrow-alt-left:before{content:"\F004D" ;} .fa-arrow-alt-right:before{content:"\F0054" ;} .fa-arrow-alt-square-down:before{content:"\F054D" ;} .fa-arrow-alt-square-left:before{content:"\F054D" ;} .fa-arrow-alt-square-right:before{content:"\F054D" ;} .fa-arrow-alt-square-up:before{content:"\F054D" ;} .fa-arrow-alt-to-bottom:before{content:"\F054D" ;} .fa-arrow-alt-to-left:before{content:"\F054D" ;} .fa-arrow-alt-to-right:before{content:"\F054D" ;} .fa-arrow-alt-to-top:before{content:"\F054D" ;} .fa-arrow-alt-up:before{content:"\F005D" ;} .fa-arrow-circle-down:before{content:"\F054D" ;} .fa-arrow-circle-left:before{content:"\F054D" ;} .fa-arrow-circle-right:before{content:"\F054D" ;} .fa-arrow-circle-up:before{content:"\F054D" ;} .fa-arrow-down:before{content:"\F0045" ;} .fa-arrow-from-bottom:before{content:"\F054D" ;} .fa-arrow-from-left:before{content:"\F054D" ;} .fa-arrow-from-right:before{content:"\F054D" ;} .fa-arrow-from-top:before{content:"\F054D" ;} .fa-arrow-left:before{content:"\F004D" ;} .fa-arrow-right:before{content:"\F0054" ;} .fa-arrow-square-down:before{content:"\F054D" ;} .fa-arrow-square-left:before{content:"\F054D" ;} .fa-arrow-square-right:before{content:"\F054D" ;} .fa-arrow-square-up:before{content:"\F054D" ;} .fa-arrow-to-bottom:before{content:"\F054D" ;} .fa-arrow-to-left:before{content:"\F054D" ;} .fa-arrow-to-right:before{content:"\F054D" ;} .fa-arrow-to-top:before{content:"\F054D" ;} .fa-arrow-up:before{content:"\F005D" ;} .fa-arrows:before{content:"\F0041" ;} .fa-arrows-alt:before{content:"\F0041" ;} .fa-arrows-alt-h:before{content:"\F0E73" ;} .fa-arrows-alt-v:before{content:"\F0E79" ;} .fa-arrows-h:before{content:"\F0E73" ;} .fa-arrows-v:before{content:"\F0E79" ;} .fa-artstation:before{content:"\F0B5B" ;} .fa-asterisk:before{content:"\F06C4" ;} .fa-at:before{content:"\F0065" ;} .fa-atlas:before{content:"\F034D" ;} .fa-atlassian:before{content:"\F0804" ;} .fa-atom:before{content:"\F0768" ;} .fa-atom-alt:before{content:"\F0768" ;} .fa-audio-description:before{content:"\F0580" ;} .fa-award:before{content:"\F0FD9" ;} .fa-aws:before{content:"\F0E0F" ;} .fa-axe:before{content:"\F08C8" ;} .fa-axe-battle:before{content:"\F08C8" ;} .fa-baby:before{content:"\F006C" ;} .fa-baby-carriage:before{content:"\F068F" ;} .fa-backpack:before{content:"\F0E13" ;} .fa-backspace:before{content:"\F0B5C" ;} .fa-backward:before{content:"\F070A" ;} .fa-bacteria:before{content:"\F0ED6" ;} .fa-badge:before{content:"\F113C" ;} .fa-badge-check:before{content:"\F113C" ;} .fa-badge-dollar:before{content:"\F113C" ;} .fa-badge-percent:before{content:"\F113C" ;} .fa-badge-sheriff:before{content:"\F113C" ;} .fa-balance-scale:before{content:"\F05D1" ;} .fa-balance-scale-left:before{content:"\F05D1" ;} .fa-balance-scale-right:before{content:"\F05D1" ;} .fa-ballot:before{content:"\F09CA" ;} .fa-ballot-check:before{content:"\F09CA" ;} .fa-ban:before{content:"\F0DC7" ;} .fa-band-aid:before{content:"\F0DAF" ;} .fa-bandcamp:before{content:"\F0675" ;} .fa-barcode:before{content:"\F0071" ;} .fa-barcode-alt:before{content:"\F0071" ;} .fa-barcode-read:before{content:"\F0071" ;} .fa-barcode-scan:before{content:"\F0072" ;} .fa-bars:before{content:"\F035C" ;} .fa-baseball:before{content:"\F0852" ;} .fa-baseball-ball:before{content:"\F0852" ;} .fa-basketball-ball:before{content:"\F0806" ;} .fa-basketball-hoop:before{content:"\F0C3C" ;} .fa-bat:before{content:"\F0B5F" ;} .fa-battery-bolt:before{content:"\F008E" ;} .fa-battery-empty:before{content:"\F008E" ;} .fa-battery-full:before{content:"\F008E" ;} .fa-battery-half:before{content:"\F008E" ;} .fa-battery-quarter:before{content:"\F008E" ;} .fa-battery-slash:before{content:"\F125E" ;} .fa-battery-three-quarters:before{content:"\F008E" ;} .fa-battle-net:before{content:"\F0B60" ;} .fa-bed:before{content:"\F0099" ;} .fa-bed-alt:before{content:"\F0099" ;} .fa-bed-bunk:before{content:"\F0099" ;} .fa-bed-empty:before{content:"\F08A0" ;} .fa-beer:before{content:"\F130C" ;} .fa-bell:before{content:"\F009C" ;} .fa-bell-exclamation:before{content:"\F0E81" ;} .fa-bell-on:before{content:"\F009C" ;} .fa-bell-plus:before{content:"\F0A92" ;} .fa-bell-school:before{content:"\F009C" ;} .fa-bell-school-slash:before{content:"\F009C" ;} .fa-bell-slash:before{content:"\F0A91" ;} .fa-bells:before{content:"\F009C" ;} .fa-betamax:before{content:"\F09CB" ;} .fa-bezier-curve:before{content:"\F0559" ;} .fa-bible:before{content:"\F00A2" ;} .fa-bicycle:before{content:"\F109C" ;} .fa-biking:before{content:"\F00A3" ;} .fa-biking-mountain:before{content:"\F00A3" ;} .fa-binoculars:before{content:"\F00A5" ;} .fa-biohazard:before{content:"\F00A7" ;} .fa-birthday-cake:before{content:"\F00EB" ;} .fa-bitbucket:before{content:"\F00A8" ;} .fa-bitcoin:before{content:"\F0813" ;} .fa-blanket:before{content:"\F0099" ;} .fa-blender:before{content:"\F0CEB" ;} .fa-blender-phone:before{content:"\F0CEB" ;} .fa-blinds:before{content:"\F00AC" ;} .fa-blinds-open:before{content:"\F1011" ;} .fa-blinds-raised:before{content:"\F00AC" ;} .fa-blog:before{content:"\F1009" ;} .fa-blogger:before{content:"\F00AE" ;} .fa-blogger-b:before{content:"\F00AE" ;} .fa-bluetooth:before{content:"\F00AF" ;} .fa-bluetooth-b:before{content:"\F00AF" ;} .fa-bold:before{content:"\F0264" ;} .fa-bolt:before{content:"\F06D5" ;} .fa-bomb:before{content:"\F0691" ;} .fa-bone:before{content:"\F00B9" ;} .fa-bone-break:before{content:"\F00B9" ;} .fa-book:before{content:"\F0B64" ;} .fa-book-alt:before{content:"\F0B64" ;} .fa-book-dead:before{content:"\F0B64" ;} .fa-book-heart:before{content:"\F0B64" ;} .fa-book-medical:before{content:"\F0B64" ;} .fa-book-open:before{content:"\F0B63" ;} .fa-book-reader:before{content:"\F0B64" ;} .fa-book-spells:before{content:"\F0B64" ;} .fa-book-user:before{content:"\F13AE" ;} .fa-bookmark:before{content:"\F00C3" ;} .fa-books:before{content:"\F0436" ;} .fa-books-medical:before{content:"\F0436" ;} .fa-boombox:before{content:"\F05DC" ;} .fa-bootstrap:before{content:"\F06C6" ;} .fa-border-all:before{content:"\F00C7" ;} .fa-border-bottom:before{content:"\F00C8" ;} .fa-border-left:before{content:"\F00CC" ;} .fa-border-none:before{content:"\F00CD" ;} .fa-border-outer:before{content:"\F00CE" ;} .fa-border-right:before{content:"\F00CF" ;} .fa-border-style:before{content:"\F00D0" ;} .fa-border-style-alt:before{content:"\F00D0" ;} .fa-border-top:before{content:"\F00D1" ;} .fa-bowling-ball:before{content:"\F00D3" ;} .fa-bowling-pins:before{content:"\F00D3" ;} .fa-box:before{content:"\F00D4" ;} .fa-box-alt:before{content:"\F00D4" ;} .fa-box-ballot:before{content:"\F00D4" ;} .fa-box-check:before{content:"\F00D4" ;} .fa-box-fragile:before{content:"\F00D4" ;} .fa-box-full:before{content:"\F00D4" ;} .fa-box-heart:before{content:"\F00D4" ;} .fa-box-open:before{content:"\F00D4" ;} .fa-box-tissue:before{content:"\F00D4" ;} .fa-box-up:before{content:"\F03D5" ;} .fa-box-usd:before{content:"\F00D4" ;} .fa-boxes:before{content:"\F03D7" ;} .fa-boxes-alt:before{content:"\F03D6" ;} .fa-boxing-glove:before{content:"\F0B65" ;} .fa-brackets:before{content:"\F016A" ;} .fa-brackets-curly:before{content:"\F016A" ;} .fa-braille:before{content:"\F09D0" ;} .fa-brain:before{content:"\F09D1" ;} .fa-bread-loaf:before{content:"\F0F3E" ;} .fa-bread-slice:before{content:"\F0CEF" ;} .fa-briefcase:before{content:"\F0814" ;} .fa-briefcase-medical:before{content:"\F0814" ;} .fa-broom:before{content:"\F00E2" ;} .fa-browser:before{content:"\F0614" ;} .fa-brush:before{content:"\F00E3" ;} .fa-buffer:before{content:"\F0619" ;} .fa-bug:before{content:"\F0A30" ;} .fa-building:before{content:"\F01D7" ;} .fa-bullhorn:before{content:"\F0B23" ;} .fa-bullseye:before{content:"\F05DD" ;} .fa-bullseye-arrow:before{content:"\F08C9" ;} .fa-bullseye-pointer:before{content:"\F05DD" ;} .fa-burger-soda:before{content:"\F0685" ;} .fa-burn:before{content:"\F0238" ;} .fa-burrito:before{content:"\F0762" ;} .fa-bus:before{content:"\F00E7" ;} .fa-bus-alt:before{content:"\F00E7" ;} .fa-bus-school:before{content:"\F079F" ;} .fa-business-time:before{content:"\F15A1" ;} .fa-cactus:before{content:"\F0DB5" ;} .fa-calculator:before{content:"\F00EC" ;} .fa-calculator-alt:before{content:"\F00EC" ;} .fa-calendar:before{content:"\F0B67" ;} .fa-calendar-alt:before{content:"\F0B67" ;} .fa-calendar-check:before{content:"\F0C44" ;} .fa-calendar-day:before{content:"\F00F6" ;} .fa-calendar-edit:before{content:"\F08A7" ;} .fa-calendar-exclamation:before{content:"\F0A31" ;} .fa-calendar-minus:before{content:"\F0D5C" ;} .fa-calendar-plus:before{content:"\F00F3" ;} .fa-calendar-star:before{content:"\F09D3" ;} .fa-calendar-times:before{content:"\F0B67" ;} .fa-calendar-week:before{content:"\F0A33" ;} .fa-camcorder:before{content:"\F00FC" ;} .fa-camera:before{content:"\F0D5D" ;} .fa-camera-alt:before{content:"\F0D5D" ;} .fa-camera-home:before{content:"\F0D5D" ;} .fa-camera-movie:before{content:"\F0D5D" ;} .fa-camera-polaroid:before{content:"\F0D5D" ;} .fa-camera-retro:before{content:"\F0D5D" ;} .fa-campfire:before{content:"\F0EDD" ;} .fa-campground:before{content:"\F0508" ;} .fa-candle-holder:before{content:"\F05E2" ;} .fa-cannabis:before{content:"\F07A6" ;} .fa-car:before{content:"\F14ED" ;} .fa-car-alt:before{content:"\F14ED" ;} .fa-car-battery:before{content:"\F010C" ;} .fa-car-building:before{content:"\F14ED" ;} .fa-car-bump:before{content:"\F14ED" ;} .fa-car-bus:before{content:"\F14ED" ;} .fa-car-crash:before{content:"\F14ED" ;} .fa-car-garage:before{content:"\F14ED" ;} .fa-car-mechanic:before{content:"\F14ED" ;} .fa-car-side:before{content:"\F07AB" ;} .fa-car-tilt:before{content:"\F14ED" ;} .fa-car-wash:before{content:"\F010E" ;} .fa-caravan:before{content:"\F07AD" ;} .fa-caravan-alt:before{content:"\F07AD" ;} .fa-caret-circle-down:before{content:"\F0B2D" ;} .fa-caret-circle-left:before{content:"\F0B2D" ;} .fa-caret-circle-right:before{content:"\F0B2D" ;} .fa-caret-circle-up:before{content:"\F0B2D" ;} .fa-caret-down:before{content:"\F035D" ;} .fa-caret-left:before{content:"\F035E" ;} .fa-caret-right:before{content:"\F035F" ;} .fa-caret-square-down:before{content:"\F09DD" ;} .fa-caret-square-left:before{content:"\F09DD" ;} .fa-caret-square-right:before{content:"\F09DD" ;} .fa-caret-square-up:before{content:"\F09DD" ;} .fa-caret-up:before{content:"\F0360" ;} .fa-carrot:before{content:"\F010F" ;} .fa-cars:before{content:"\F0B6E" ;} .fa-cart-arrow-down:before{content:"\F0D66" ;} .fa-cart-plus:before{content:"\F0112" ;} .fa-cash-register:before{content:"\F0CF4" ;} .fa-cassette-tape:before{content:"\F09D4" ;} .fa-cat:before{content:"\F011B" ;} .fa-cat-space:before{content:"\F011B" ;} .fa-cauldron:before{content:"\F0677" ;} .fa-cc-amazon-pay:before{content:"\F0DBD" ;} .fa-cc-amex:before{content:"\F0DBD" ;} .fa-cc-apple-pay:before{content:"\F0DBD" ;} .fa-cc-diners-club:before{content:"\F0DBD" ;} .fa-cc-discover:before{content:"\F0DBD" ;} .fa-cc-jcb:before{content:"\F0DBD" ;} .fa-cc-mastercard:before{content:"\F0DBD" ;} .fa-cc-paypal:before{content:"\F0DBD" ;} .fa-cc-stripe:before{content:"\F0DBD" ;} .fa-cc-visa:before{content:"\F0DBD" ;} .fa-cctv:before{content:"\F07AE" ;} .fa-centos:before{content:"\F111A" ;} .fa-certificate:before{content:"\F1188" ;} .fa-chair:before{content:"\F0CC4" ;} .fa-chair-office:before{content:"\F0CC4" ;} .fa-charging-station:before{content:"\F05F1" ;} .fa-chart-bar:before{content:"\F0128" ;} .fa-chart-line:before{content:"\F012A" ;} .fa-chart-line-down:before{content:"\F012A" ;} .fa-chart-pie:before{content:"\F012B" ;} .fa-chart-pie-alt:before{content:"\F012B" ;} .fa-check:before{content:"\F0855" ;} .fa-check-circle:before{content:"\F0134" ;} .fa-check-double:before{content:"\F0855" ;} .fa-check-square:before{content:"\F0135" ;} .fa-cheese:before{content:"\F12B9" ;} .fa-cheese-swiss:before{content:"\F12B9" ;} .fa-cheeseburger:before{content:"\F0685" ;} .fa-chess:before{content:"\F0857" ;} .fa-chess-bishop:before{content:"\F085C" ;} .fa-chess-bishop-alt:before{content:"\F085C" ;} .fa-chess-board:before{content:"\F0857" ;} .fa-chess-clock:before{content:"\F0857" ;} .fa-chess-clock-alt:before{content:"\F0857" ;} .fa-chess-king:before{content:"\F0857" ;} .fa-chess-king-alt:before{content:"\F0857" ;} .fa-chess-knight:before{content:"\F0858" ;} .fa-chess-knight-alt:before{content:"\F0858" ;} .fa-chess-pawn:before{content:"\F0859" ;} .fa-chess-pawn-alt:before{content:"\F0859" ;} .fa-chess-queen:before{content:"\F085A" ;} .fa-chess-queen-alt:before{content:"\F085A" ;} .fa-chess-rook:before{content:"\F085B" ;} .fa-chess-rook-alt:before{content:"\F085B" ;} .fa-chevron-circle-down:before{content:"\F0B27" ;} .fa-chevron-circle-left:before{content:"\F0B29" ;} .fa-chevron-circle-right:before{content:"\F0B2B" ;} .fa-chevron-circle-up:before{content:"\F0B2D" ;} .fa-chevron-double-down:before{content:"\F013C" ;} .fa-chevron-double-left:before{content:"\F013D" ;} .fa-chevron-double-right:before{content:"\F013E" ;} .fa-chevron-double-up:before{content:"\F013F" ;} .fa-chevron-down:before{content:"\F0140" ;} .fa-chevron-left:before{content:"\F0141" ;} .fa-chevron-right:before{content:"\F0142" ;} .fa-chevron-square-down:before{content:"\F09D7" ;} .fa-chevron-square-left:before{content:"\F09D9" ;} .fa-chevron-square-right:before{content:"\F09DB" ;} .fa-chevron-square-up:before{content:"\F09DD" ;} .fa-chevron-up:before{content:"\F0143" ;} .fa-child:before{content:"\F02E7" ;} .fa-chromecast:before{content:"\F02AF" ;} .fa-church:before{content:"\F0144" ;} .fa-circle:before{content:"\F0130" ;} .fa-circle-notch:before{content:"\F0130" ;} .fa-city:before{content:"\F0146" ;} .fa-clipboard:before{content:"\F014C" ;} .fa-clipboard-check:before{content:"\F08A8" ;} .fa-clipboard-list:before{content:"\F10D5" ;} .fa-clipboard-list-check:before{content:"\F10D5" ;} .fa-clipboard-prescription:before{content:"\F014C" ;} .fa-clipboard-user:before{content:"\F0C55" ;} .fa-clock:before{content:"\F0150" ;} .fa-closed-captioning:before{content:"\F05AE" ;} .fa-cloud:before{content:"\F0163" ;} .fa-cloud-download:before{content:"\F0B7D" ;} .fa-cloud-download-alt:before{content:"\F0B7D" ;} .fa-cloud-drizzle:before{content:"\F0163" ;} .fa-cloud-hail:before{content:"\F0163" ;} .fa-cloud-hail-mixed:before{content:"\F0163" ;} .fa-cloud-meatball:before{content:"\F0163" ;} .fa-cloud-moon:before{content:"\F0163" ;} .fa-cloud-moon-rain:before{content:"\F0163" ;} .fa-cloud-music:before{content:"\F0163" ;} .fa-cloud-rain:before{content:"\F0163" ;} .fa-cloud-rainbow:before{content:"\F0163" ;} .fa-cloud-showers:before{content:"\F0163" ;} .fa-cloud-showers-heavy:before{content:"\F0163" ;} .fa-cloud-sleet:before{content:"\F0163" ;} .fa-cloud-snow:before{content:"\F0163" ;} .fa-cloud-sun:before{content:"\F0163" ;} .fa-cloud-sun-rain:before{content:"\F0163" ;} .fa-cloud-upload:before{content:"\F0B7E" ;} .fa-cloud-upload-alt:before{content:"\F0B7E" ;} .fa-cocktail:before{content:"\F0876" ;} .fa-code:before{content:"\F05C0" ;} .fa-code-branch:before{content:"\F05C0" ;} .fa-code-commit:before{content:"\F05C0" ;} .fa-code-merge:before{content:"\F05C0" ;} .fa-codepen:before{content:"\F0175" ;} .fa-coffee:before{content:"\F06CA" ;} .fa-coffee-pot:before{content:"\F06CA" ;} .fa-coffee-togo:before{content:"\F06CA" ;} .fa-coffin:before{content:"\F0B7F" ;} .fa-coffin-cross:before{content:"\F0B7F" ;} .fa-cog:before{content:"\F08BB" ;} .fa-cogs:before{content:"\F08D6" ;} .fa-coin:before{content:"\F0178" ;} .fa-coins:before{content:"\F0695" ;} .fa-comet:before{content:"\F0629" ;} .fa-comment:before{content:"\F0182" ;} .fa-comment-alt:before{content:"\F0182" ;} .fa-comment-alt-check:before{content:"\F0180" ;} .fa-comment-alt-dollar:before{content:"\F0182" ;} .fa-comment-alt-dots:before{content:"\F0182" ;} .fa-comment-alt-edit:before{content:"\F12C4" ;} .fa-comment-alt-exclamation:before{content:"\F017E" ;} .fa-comment-alt-lines:before{content:"\F0182" ;} .fa-comment-alt-medical:before{content:"\F0182" ;} .fa-comment-alt-minus:before{content:"\F15E0" ;} .fa-comment-alt-music:before{content:"\F0182" ;} .fa-comment-alt-plus:before{content:"\F0183" ;} .fa-comment-alt-slash:before{content:"\F15E2" ;} .fa-comment-alt-smile:before{content:"\F0182" ;} .fa-comment-alt-times:before{content:"\F0182" ;} .fa-comment-check:before{content:"\F0180" ;} .fa-comment-dollar:before{content:"\F0182" ;} .fa-comment-dots:before{content:"\F0182" ;} .fa-comment-edit:before{content:"\F12C4" ;} .fa-comment-exclamation:before{content:"\F017E" ;} .fa-comment-lines:before{content:"\F0182" ;} .fa-comment-medical:before{content:"\F0182" ;} .fa-comment-minus:before{content:"\F15E0" ;} .fa-comment-music:before{content:"\F0182" ;} .fa-comment-plus:before{content:"\F0183" ;} .fa-comment-slash:before{content:"\F15E2" ;} .fa-comment-smile:before{content:"\F0182" ;} .fa-comment-times:before{content:"\F0182" ;} .fa-comments:before{content:"\F0181" ;} .fa-comments-alt:before{content:"\F0181" ;} .fa-comments-alt-dollar:before{content:"\F0181" ;} .fa-comments-dollar:before{content:"\F0181" ;} .fa-compass:before{content:"\F018C" ;} .fa-compass-slash:before{content:"\F0B81" ;} .fa-compress:before{content:"\F0294" ;} .fa-compress-alt:before{content:"\F0615" ;} .fa-compress-arrows-alt:before{content:"\F0294" ;} .fa-compress-wide:before{content:"\F0294" ;} .fa-computer-classic:before{content:"\F07C0" ;} .fa-computer-speaker:before{content:"\F0322" ;} .fa-construction:before{content:"\F05B5" ;} .fa-cookie:before{content:"\F16DE" ;} .fa-cookie-bite:before{content:"\F16DE" ;} .fa-copy:before{content:"\F1518" ;} .fa-copyright:before{content:"\F05E6" ;} .fa-corn:before{content:"\F07B8" ;} .fa-couch:before{content:"\F156F" ;} .fa-cow:before{content:"\F019A" ;} .fa-creative-commons:before{content:"\F0D6B" ;} .fa-creative-commons-by:before{content:"\F0D6B" ;} .fa-creative-commons-nc:before{content:"\F0D6B" ;} .fa-creative-commons-nc-eu:before{content:"\F0D6B" ;} .fa-creative-commons-nc-jp:before{content:"\F0D6B" ;} .fa-creative-commons-nd:before{content:"\F0D6B" ;} .fa-creative-commons-pd:before{content:"\F0D6B" ;} .fa-creative-commons-pd-alt:before{content:"\F0D6B" ;} .fa-creative-commons-remix:before{content:"\F0D6B" ;} .fa-creative-commons-sa:before{content:"\F0D6B" ;} .fa-creative-commons-sampling:before{content:"\F0D6B" ;} .fa-creative-commons-sampling-plus:before{content:"\F0D6B" ;} .fa-creative-commons-share:before{content:"\F0D6B" ;} .fa-creative-commons-zero:before{content:"\F0D6B" ;} .fa-credit-card:before{content:"\F019B" ;} .fa-credit-card-blank:before{content:"\F019B" ;} .fa-credit-card-front:before{content:"\F019B" ;} .fa-cricket:before{content:"\F0D6D" ;} .fa-crop:before{content:"\F019E" ;} .fa-crop-alt:before{content:"\F019E" ;} .fa-cross:before{content:"\F0CF6" ;} .fa-crosshairs:before{content:"\F01A3" ;} .fa-crown:before{content:"\F11D0" ;} .fa-cube:before{content:"\F01A7" ;} .fa-curling:before{content:"\F0863" ;} .fa-cut:before{content:"\F0190" ;} .fa-dagger:before{content:"\F09FC" ;} .fa-database:before{content:"\F1632" ;} .fa-desktop:before{content:"\F0379" ;} .fa-desktop-alt:before{content:"\F07C0" ;} .fa-deviantart:before{content:"\F01C7" ;} .fa-dharmachakra:before{content:"\F094B" ;} .fa-diamond:before{content:"\F0B8B" ;} .fa-dice-d10:before{content:"\F076F" ;} .fa-dice-d12:before{content:"\F0867" ;} .fa-dice-d20:before{content:"\F05EA" ;} .fa-dice-d4:before{content:"\F05EB" ;} .fa-dice-d6:before{content:"\F05ED" ;} .fa-dice-d8:before{content:"\F05EC" ;} .fa-dice-five:before{content:"\F114E" ;} .fa-dice-four:before{content:"\F114D" ;} .fa-dice-one:before{content:"\F114A" ;} .fa-dice-six:before{content:"\F114F" ;} .fa-dice-three:before{content:"\F114C" ;} .fa-dice-two:before{content:"\F114B" ;} .fa-digital-ocean:before{content:"\F1237" ;} .fa-diploma:before{content:"\F1188" ;} .fa-directions:before{content:"\F01D0" ;} .fa-disc-drive:before{content:"\F05EE" ;} .fa-discord:before{content:"\F066F" ;} .fa-divide:before{content:"\F0FDF" ;} .fa-dna:before{content:"\F0684" ;} .fa-do-not-enter:before{content:"\F0377" ;} .fa-docker:before{content:"\F0868" ;} .fa-dog:before{content:"\F0A43" ;} .fa-dog-leashed:before{content:"\F0A43" ;} .fa-dollar-sign:before{content:"\F01C1" ;} .fa-dolly:before{content:"\F0E9E" ;} .fa-dolly-empty:before{content:"\F0E9E" ;} .fa-dolly-flatbed:before{content:"\F0E9E" ;} .fa-dolly-flatbed-alt:before{content:"\F0E9E" ;} .fa-dolly-flatbed-empty:before{content:"\F0E9E" ;} .fa-donate:before{content:"\F02A1" ;} .fa-door-closed:before{content:"\F081B" ;} .fa-door-open:before{content:"\F081C" ;} .fa-download:before{content:"\F0B8F" ;} .fa-draw-circle:before{content:"\F0F49" ;} .fa-draw-polygon:before{content:"\F0F49" ;} .fa-draw-square:before{content:"\F0F49" ;} .fa-drone:before{content:"\F01E2" ;} .fa-drone-alt:before{content:"\F01E2" ;} .fa-dropbox:before{content:"\F01E3" ;} .fa-drupal:before{content:"\F01E4" ;} .fa-duck:before{content:"\F01E5" ;} .fa-dumbbell:before{content:"\F01E6" ;} .fa-edit:before{content:"\F0CB6" ;} .fa-egg:before{content:"\F13F2" ;} .fa-egg-fried:before{content:"\F13F2" ;} .fa-eject:before{content:"\F0B91" ;} .fa-elephant:before{content:"\F07C6" ;} .fa-ellipsis-h:before{content:"\F01D8" ;} .fa-ellipsis-h-alt:before{content:"\F01D8" ;} .fa-ellipsis-v:before{content:"\F01D9" ;} .fa-ellipsis-v-alt:before{content:"\F01D9" ;} .fa-ember:before{content:"\F0B30" ;} .fa-engine-warning:before{content:"\F01FB" ;} .fa-envelope:before{content:"\F01F0" ;} .fa-envelope-open:before{content:"\F05EF" ;} .fa-envelope-open-dollar:before{content:"\F05EF" ;} .fa-envelope-open-text:before{content:"\F05EF" ;} .fa-envelope-square:before{content:"\F0D03" ;} .fa-eraser:before{content:"\F01FE" ;} .fa-ethereum:before{content:"\F086A" ;} .fa-ethernet:before{content:"\F0200" ;} .fa-euro-sign:before{content:"\F01AD" ;} .fa-evernote:before{content:"\F0204" ;} .fa-exclamation:before{content:"\F0205" ;} .fa-exclamation-circle:before{content:"\F05D6" ;} .fa-exclamation-square:before{content:"\F0CE4" ;} .fa-exclamation-triangle:before{content:"\F002A" ;} .fa-expand:before{content:"\F0293" ;} .fa-expand-alt:before{content:"\F0616" ;} .fa-expand-arrows:before{content:"\F0293" ;} .fa-expand-arrows-alt:before{content:"\F0293" ;} .fa-expand-wide:before{content:"\F0293" ;} .fa-external-link:before{content:"\F03CC" ;} .fa-external-link-alt:before{content:"\F03CC" ;} .fa-external-link-square:before{content:"\F03CC" ;} .fa-external-link-square-alt:before{content:"\F03CC" ;} .fa-eye:before{content:"\F06D0" ;} .fa-eye-dropper:before{content:"\F06D0" ;} .fa-eye-evil:before{content:"\F06D0" ;} .fa-eye-slash:before{content:"\F06D1" ;} .fa-facebook:before{content:"\F020C" ;} .fa-facebook-f:before{content:"\F020C" ;} .fa-facebook-messenger:before{content:"\F020E" ;} .fa-facebook-square:before{content:"\F020C" ;} .fa-fan:before{content:"\F0210" ;} .fa-fan-table:before{content:"\F0210" ;} .fa-farm:before{content:"\F0892" ;} .fa-fast-forward:before{content:"\F06D2" ;} .fa-faucet:before{content:"\F058F" ;} .fa-faucet-drip:before{content:"\F058F" ;} .fa-fax:before{content:"\F0212" ;} .fa-feather:before{content:"\F06D3" ;} .fa-feather-alt:before{content:"\F06D3" ;} .fa-fedora:before{content:"\F08DB" ;} .fa-file:before{content:"\F0224" ;} .fa-file-alt:before{content:"\F0224" ;} .fa-file-archive:before{content:"\F0224" ;} .fa-file-audio:before{content:"\F0224" ;} .fa-file-certificate:before{content:"\F1187" ;} .fa-file-chart-line:before{content:"\F1029" ;} .fa-file-chart-pie:before{content:"\F1029" ;} .fa-file-check:before{content:"\F0E29" ;} .fa-file-code:before{content:"\F102B" ;} .fa-file-contract:before{content:"\F0224" ;} .fa-file-csv:before{content:"\F0EA5" ;} .fa-file-download:before{content:"\F0966" ;} .fa-file-edit:before{content:"\F11E8" ;} .fa-file-excel:before{content:"\F102D" ;} .fa-file-exclamation:before{content:"\F0A4C" ;} .fa-file-export:before{content:"\F102E" ;} .fa-file-image:before{content:"\F0EB0" ;} .fa-file-import:before{content:"\F102F" ;} .fa-file-invoice:before{content:"\F0224" ;} .fa-file-invoice-dollar:before{content:"\F0224" ;} .fa-file-medical:before{content:"\F0224" ;} .fa-file-medical-alt:before{content:"\F0224" ;} .fa-file-minus:before{content:"\F0224" ;} .fa-file-music:before{content:"\F0E2A" ;} .fa-file-pdf:before{content:"\F0E2D" ;} .fa-file-plus:before{content:"\F0EED" ;} .fa-file-powerpoint:before{content:"\F1035" ;} .fa-file-prescription:before{content:"\F0224" ;} .fa-file-search:before{content:"\F0C7D" ;} .fa-file-signature:before{content:"\F0224" ;} .fa-file-spreadsheet:before{content:"\F0224" ;} .fa-file-times:before{content:"\F0224" ;} .fa-file-upload:before{content:"\F0A4E" ;} .fa-file-user:before{content:"\F1028" ;} .fa-file-video:before{content:"\F0E2C" ;} .fa-file-word:before{content:"\F103E" ;} .fa-files-medical:before{content:"\F1032" ;} .fa-film:before{content:"\F022F" ;} .fa-film-alt:before{content:"\F022F" ;} .fa-film-canister:before{content:"\F022F" ;} .fa-filter:before{content:"\F0233" ;} .fa-fingerprint:before{content:"\F0237" ;} .fa-fire:before{content:"\F0238" ;} .fa-fire-alt:before{content:"\F0238" ;} .fa-fire-extinguisher:before{content:"\F0EF2" ;} .fa-fire-smoke:before{content:"\F0238" ;} .fa-firefox:before{content:"\F0239" ;} .fa-firefox-browser:before{content:"\F0239" ;} .fa-fireplace:before{content:"\F0E2E" ;} .fa-fish:before{content:"\F023A" ;} .fa-fish-cooked:before{content:"\F023A" ;} .fa-flag:before{content:"\F023D" ;} .fa-flag-alt:before{content:"\F023D" ;} .fa-flag-checkered:before{content:"\F023C" ;} .fa-flag-usa:before{content:"\F023D" ;} .fa-flame:before{content:"\F0238" ;} .fa-flashlight:before{content:"\F0244" ;} .fa-flask:before{content:"\F0096" ;} .fa-flask-poison:before{content:"\F0096" ;} .fa-flask-potion:before{content:"\F0096" ;} .fa-flower:before{content:"\F09F0" ;} .fa-flower-daffodil:before{content:"\F09F0" ;} .fa-flower-tulip:before{content:"\F09F2" ;} .fa-fly:before{content:"\F0FA1" ;} .fa-folder:before{content:"\F0256" ;} .fa-folder-download:before{content:"\F10E9" ;} .fa-folder-minus:before{content:"\F0256" ;} .fa-folder-open:before{content:"\F0DCF" ;} .fa-folder-plus:before{content:"\F0B9D" ;} .fa-folder-times:before{content:"\F0256" ;} .fa-folder-tree:before{content:"\F0256" ;} .fa-folder-upload:before{content:"\F10ED" ;} .fa-folders:before{content:"\F0255" ;} .fa-font:before{content:"\F06D6" ;} .fa-font-awesome:before{content:"\F003A" ;} .fa-font-awesome-alt:before{content:"\F003A" ;} .fa-font-awesome-flag:before{content:"\F003A" ;} .fa-font-awesome-logo-full:before{content:"\F003A" ;} .fa-font-case:before{content:"\F06D6" ;} .fa-football-ball:before{content:"\F025D" ;} .fa-football-helmet:before{content:"\F025F" ;} .fa-forklift:before{content:"\F07C9" ;} .fa-forward:before{content:"\F06D2" ;} .fa-freebsd:before{content:"\F08E0" ;} .fa-function:before{content:"\F0295" ;} .fa-funnel-dollar:before{content:"\F0233" ;} .fa-futbol:before{content:"\F04B8" ;} .fa-gamepad:before{content:"\F0296" ;} .fa-gamepad-alt:before{content:"\F0296" ;} .fa-garage:before{content:"\F06D9" ;} .fa-garage-car:before{content:"\F06D9" ;} .fa-garage-open:before{content:"\F06DA" ;} .fa-gas-pump:before{content:"\F0EB8" ;} .fa-gas-pump-slash:before{content:"\F140A" ;} .fa-gavel:before{content:"\F029B" ;} .fa-ghost:before{content:"\F165D" ;} .fa-gift:before{content:"\F02A1" ;} .fa-gift-card:before{content:"\F02A1" ;} .fa-git:before{content:"\F02A2" ;} .fa-git-alt:before{content:"\F02A2" ;} .fa-git-square:before{content:"\F02A2" ;} .fa-github:before{content:"\F02A4" ;} .fa-github-alt:before{content:"\F02A4" ;} .fa-github-square:before{content:"\F02A4" ;} .fa-gitlab:before{content:"\F0BA0" ;} .fa-glass:before{content:"\F130F" ;} .fa-glass-champagne:before{content:"\F130F" ;} .fa-glass-cheers:before{content:"\F130F" ;} .fa-glass-citrus:before{content:"\F130F" ;} .fa-glass-martini:before{content:"\F130F" ;} .fa-glass-martini-alt:before{content:"\F130F" ;} .fa-glass-whiskey:before{content:"\F130F" ;} .fa-glass-whiskey-rocks:before{content:"\F130F" ;} .fa-glasses:before{content:"\F02AA" ;} .fa-glasses-alt:before{content:"\F02AA" ;} .fa-globe:before{content:"\F01E7" ;} .fa-globe-africa:before{content:"\F01E7" ;} .fa-globe-americas:before{content:"\F01E7" ;} .fa-globe-asia:before{content:"\F01E7" ;} .fa-globe-europe:before{content:"\F01E7" ;} .fa-globe-snow:before{content:"\F01E7" ;} .fa-globe-stand:before{content:"\F01E7" ;} .fa-golf-ball:before{content:"\F0823" ;} .fa-golf-club:before{content:"\F0823" ;} .fa-goodreads:before{content:"\F0D7B" ;} .fa-goodreads-g:before{content:"\F0D7B" ;} .fa-google:before{content:"\F02AD" ;} .fa-google-drive:before{content:"\F02B6" ;} .fa-google-pay:before{content:"\F02AD" ;} .fa-google-play:before{content:"\F02BC" ;} .fa-google-plus:before{content:"\F02BD" ;} .fa-google-plus-g:before{content:"\F02BD" ;} .fa-google-plus-square:before{content:"\F02BD" ;} .fa-google-wallet:before{content:"\F02AD" ;} .fa-graduation-cap:before{content:"\F1180" ;} .fa-greater-than:before{content:"\F096D" ;} .fa-greater-than-equal:before{content:"\F096D" ;} .fa-grip-horizontal:before{content:"\F01DC" ;} .fa-guitar-electric:before{content:"\F02C4" ;} .fa-hamburger:before{content:"\F0685" ;} .fa-hammer:before{content:"\F08EA" ;} .fa-hammer-war:before{content:"\F08EA" ;} .fa-hand-heart:before{content:"\F157E" ;} .fa-hand-holding:before{content:"\F0A4F" ;} .fa-hand-holding-box:before{content:"\F0A4F" ;} .fa-hand-holding-heart:before{content:"\F0A4F" ;} .fa-hand-holding-magic:before{content:"\F0A4F" ;} .fa-hand-holding-medical:before{content:"\F0A4F" ;} .fa-hand-holding-seedling:before{content:"\F0A4F" ;} .fa-hand-holding-usd:before{content:"\F0A4F" ;} .fa-hand-holding-water:before{content:"\F0A4F" ;} .fa-hand-lizard:before{content:"\F0A4F" ;} .fa-hand-middle-finger:before{content:"\F0A4F" ;} .fa-hand-paper:before{content:"\F0A4F" ;} .fa-hand-peace:before{content:"\F0A51" ;} .fa-hand-point-down:before{content:"\F0A4F" ;} .fa-hand-point-left:before{content:"\F0A4F" ;} .fa-hand-point-right:before{content:"\F0A4F" ;} .fa-hand-point-up:before{content:"\F0A4F" ;} .fa-hand-pointer:before{content:"\F0A4F" ;} .fa-hand-receiving:before{content:"\F0A4F" ;} .fa-hand-rock:before{content:"\F0A4F" ;} .fa-hand-scissors:before{content:"\F0A4F" ;} .fa-hand-sparkles:before{content:"\F0A4F" ;} .fa-hand-spock:before{content:"\F0A4F" ;} .fa-hands-helping:before{content:"\F1218" ;} .fa-handshake:before{content:"\F15A1" ;} .fa-handshake-alt:before{content:"\F15A1" ;} .fa-handshake-alt-slash:before{content:"\F15A1" ;} .fa-handshake-slash:before{content:"\F15A1" ;} .fa-hard-hat:before{content:"\F096F" ;} .fa-hashtag:before{content:"\F0423" ;} .fa-hat-chef:before{content:"\F0B7C" ;} .fa-hdd:before{content:"\F02CA" ;} .fa-head-side:before{content:"\F135F" ;} .fa-head-side-brain:before{content:"\F135F" ;} .fa-head-side-cough:before{content:"\F135F" ;} .fa-head-side-cough-slash:before{content:"\F135F" ;} .fa-head-side-headphones:before{content:"\F135F" ;} .fa-head-side-mask:before{content:"\F135F" ;} .fa-head-side-medical:before{content:"\F135F" ;} .fa-head-side-virus:before{content:"\F135F" ;} .fa-head-vr:before{content:"\F135F" ;} .fa-heading:before{content:"\F05F4" ;} .fa-headphones:before{content:"\F02CB" ;} .fa-headphones-alt:before{content:"\F02CB" ;} .fa-headset:before{content:"\F02CE" ;} .fa-heart:before{content:"\F02D5" ;} .fa-heart-broken:before{content:"\F0D14" ;} .fa-heart-circle:before{content:"\F0972" ;} .fa-heart-rate:before{content:"\F02D5" ;} .fa-heart-square:before{content:"\F02D3" ;} .fa-helicopter:before{content:"\F0AC2" ;} .fa-helmet-battle:before{content:"\F096F" ;} .fa-hexagon:before{content:"\F02D9" ;} .fa-highlighter:before{content:"\F0652" ;} .fa-hiking:before{content:"\F0D7F" ;} .fa-history:before{content:"\F02DA" ;} .fa-hockey-puck:before{content:"\F0879" ;} .fa-hockey-sticks:before{content:"\F087A" ;} .fa-home:before{content:"\F06A1" ;} .fa-home-alt:before{content:"\F06A1" ;} .fa-home-heart:before{content:"\F0827" ;} .fa-home-lg:before{content:"\F06A1" ;} .fa-home-lg-alt:before{content:"\F06A1" ;} .fa-horse:before{content:"\F15BF" ;} .fa-horse-head:before{content:"\F15BF" ;} .fa-horse-saddle:before{content:"\F15BF" ;} .fa-hospital:before{content:"\F0FF6" ;} .fa-hospital-alt:before{content:"\F0FF6" ;} .fa-hospital-symbol:before{content:"\F0FF6" ;} .fa-hospital-user:before{content:"\F0FF6" ;} .fa-hot-tub:before{content:"\F0828" ;} .fa-hotel:before{content:"\F0099" ;} .fa-hourglass:before{content:"\F051F" ;} .fa-hourglass-end:before{content:"\F051F" ;} .fa-hourglass-half:before{content:"\F051F" ;} .fa-hourglass-start:before{content:"\F051F" ;} .fa-house:before{content:"\F06A1" ;} .fa-house-damage:before{content:"\F06A1" ;} .fa-house-day:before{content:"\F06A1" ;} .fa-house-flood:before{content:"\F0EFA" ;} .fa-house-leave:before{content:"\F06A1" ;} .fa-house-night:before{content:"\F06A1" ;} .fa-house-return:before{content:"\F06A1" ;} .fa-house-signal:before{content:"\F06A1" ;} .fa-house-user:before{content:"\F0826" ;} .fa-hubspot:before{content:"\F0D17" ;} .fa-humidity:before{content:"\F058E" ;} .fa-ice-cream:before{content:"\F082A" ;} .fa-ice-skate:before{content:"\F0D35" ;} .fa-id-card:before{content:"\F0FC0" ;} .fa-id-card-alt:before{content:"\F0FC0" ;} .fa-image:before{content:"\F0976" ;} .fa-image-polaroid:before{content:"\F0976" ;} .fa-images:before{content:"\F02EF" ;} .fa-inbox:before{content:"\F1274" ;} .fa-inbox-in:before{content:"\F1274" ;} .fa-inbox-out:before{content:"\F1274" ;} .fa-indent:before{content:"\F0276" ;} .fa-infinity:before{content:"\F06E4" ;} .fa-info:before{content:"\F02FD" ;} .fa-info-circle:before{content:"\F02FD" ;} .fa-info-square:before{content:"\F02FD" ;} .fa-instagram:before{content:"\F02FE" ;} .fa-instagram-square:before{content:"\F02FE" ;} .fa-island-tropical:before{content:"\F104F" ;} .fa-italic:before{content:"\F0277" ;} .fa-jack-o-lantern:before{content:"\F0BA3" ;} .fa-jira:before{content:"\F0303" ;} .fa-journal-whills:before{content:"\F0EBF" ;} .fa-jsfiddle:before{content:"\F0304" ;} .fa-key:before{content:"\F0DD6" ;} .fa-key-skeleton:before{content:"\F0DD6" ;} .fa-keyboard:before{content:"\F097B" ;} .fa-khanda:before{content:"\F10FD" ;} .fa-kickstarter:before{content:"\F0745" ;} .fa-kickstarter-k:before{content:"\F0745" ;} .fa-knife-kitchen:before{content:"\F09FB" ;} .fa-lambda:before{content:"\F0627" ;} .fa-lamp:before{content:"\F06B5" ;} .fa-lamp-desk:before{content:"\F06B5" ;} .fa-lamp-floor:before{content:"\F06B5" ;} .fa-language:before{content:"\F059F" ;} .fa-laptop:before{content:"\F0322" ;} .fa-laptop-code:before{content:"\F0322" ;} .fa-laptop-house:before{content:"\F0322" ;} .fa-laptop-medical:before{content:"\F0322" ;} .fa-laravel:before{content:"\F0AD0" ;} .fa-lasso:before{content:"\F0F03" ;} .fa-leaf:before{content:"\F032A" ;} .fa-leaf-heart:before{content:"\F032A" ;} .fa-leaf-maple:before{content:"\F0C93" ;} .fa-leaf-oak:before{content:"\F032A" ;} .fa-less-than:before{content:"\F097C" ;} .fa-less-than-equal:before{content:"\F097C" ;} .fa-light-switch:before{content:"\F097E" ;} .fa-light-switch-off:before{content:"\F097E" ;} .fa-light-switch-on:before{content:"\F097E" ;} .fa-lightbulb:before{content:"\F0336" ;} .fa-lightbulb-dollar:before{content:"\F0336" ;} .fa-lightbulb-exclamation:before{content:"\F0336" ;} .fa-lightbulb-on:before{content:"\F06E9" ;} .fa-lightbulb-slash:before{content:"\F0E50" ;} .fa-link:before{content:"\F0337" ;} .fa-linkedin:before{content:"\F033B" ;} .fa-linkedin-in:before{content:"\F033B" ;} .fa-linux:before{content:"\F033D" ;} .fa-lira-sign:before{content:"\F01B2" ;} .fa-list:before{content:"\F0279" ;} .fa-list-alt:before{content:"\F0279" ;} .fa-list-music:before{content:"\F0279" ;} .fa-list-ol:before{content:"\F027B" ;} .fa-list-ul:before{content:"\F0279" ;} .fa-location:before{content:"\F07D9" ;} .fa-location-arrow:before{content:"\F07D9" ;} .fa-location-circle:before{content:"\F034F" ;} .fa-location-slash:before{content:"\F12FD" ;} .fa-lock:before{content:"\F0341" ;} .fa-lock-alt:before{content:"\F0341" ;} .fa-lock-open:before{content:"\F0340" ;} .fa-lock-open-alt:before{content:"\F0340" ;} .fa-long-arrow-alt-down:before{content:"\F0045" ;} .fa-long-arrow-alt-left:before{content:"\F004D" ;} .fa-long-arrow-alt-right:before{content:"\F0054" ;} .fa-long-arrow-alt-up:before{content:"\F005D" ;} .fa-long-arrow-down:before{content:"\F0045" ;} .fa-long-arrow-left:before{content:"\F004D" ;} .fa-long-arrow-right:before{content:"\F0054" ;} .fa-long-arrow-up:before{content:"\F005D" ;} .fa-loveseat:before{content:"\F156F" ;} .fa-luggage-cart:before{content:"\F0F3D" ;} .fa-lungs:before{content:"\F1084" ;} .fa-lungs-virus:before{content:"\F1084" ;} .fa-magic:before{content:"\F0068" ;} .fa-magnet:before{content:"\F0347" ;} .fa-mail-bulk:before{content:"\F0EBB" ;} .fa-mailbox:before{content:"\F0D8C" ;} .fa-map:before{content:"\F0982" ;} .fa-map-marked:before{content:"\F0982" ;} .fa-map-marked-alt:before{content:"\F0982" ;} .fa-map-marker:before{content:"\F07D9" ;} .fa-map-marker-alt:before{content:"\F07D9" ;} .fa-map-marker-alt-slash:before{content:"\F12FD" ;} .fa-map-marker-check:before{content:"\F12FB" ;} .fa-map-marker-edit:before{content:"\F07D9" ;} .fa-map-marker-exclamation:before{content:"\F0F06" ;} .fa-map-marker-minus:before{content:"\F12F9" ;} .fa-map-marker-plus:before{content:"\F12F8" ;} .fa-map-marker-question:before{content:"\F0F08" ;} .fa-map-marker-slash:before{content:"\F12FD" ;} .fa-map-marker-smile:before{content:"\F07D9" ;} .fa-map-marker-times:before{content:"\F07D9" ;} .fa-map-pin:before{content:"\F0982" ;} .fa-map-signs:before{content:"\F0982" ;} .fa-marker:before{content:"\F0652" ;} .fa-mars:before{content:"\F029D" ;} .fa-mars-double:before{content:"\F029D" ;} .fa-mars-stroke:before{content:"\F029D" ;} .fa-mars-stroke-h:before{content:"\F029D" ;} .fa-mars-stroke-v:before{content:"\F029D" ;} .fa-mask:before{content:"\F1023" ;} .fa-mastodon:before{content:"\F0AD1" ;} .fa-meat:before{content:"\F146A" ;} .fa-medal:before{content:"\F1326" ;} .fa-megaphone:before{content:"\F0B23" ;} .fa-memory:before{content:"\F035B" ;} .fa-mercury:before{content:"\F113F" ;} .fa-meteor:before{content:"\F0629" ;} .fa-microphone:before{content:"\F036E" ;} .fa-microphone-alt:before{content:"\F036E" ;} .fa-microphone-alt-slash:before{content:"\F036D" ;} .fa-microphone-slash:before{content:"\F036D" ;} .fa-microphone-stand:before{content:"\F036E" ;} .fa-microscope:before{content:"\F0654" ;} .fa-microsoft:before{content:"\F0372" ;} .fa-microwave:before{content:"\F0C99" ;} .fa-minus:before{content:"\F0374" ;} .fa-minus-circle:before{content:"\F0377" ;} .fa-minus-hexagon:before{content:"\F0374" ;} .fa-minus-octagon:before{content:"\F0374" ;} .fa-minus-square:before{content:"\F06F2" ;} .fa-mobile:before{content:"\F011C" ;} .fa-mobile-alt:before{content:"\F011C" ;} .fa-mobile-android:before{content:"\F011D" ;} .fa-mobile-android-alt:before{content:"\F011D" ;} .fa-money-bill:before{content:"\F0116" ;} .fa-money-bill-alt:before{content:"\F0116" ;} .fa-money-bill-wave:before{content:"\F0116" ;} .fa-money-bill-wave-alt:before{content:"\F0116" ;} .fa-money-check:before{content:"\F0116" ;} .fa-money-check-alt:before{content:"\F0116" ;} .fa-money-check-edit:before{content:"\F0116" ;} .fa-money-check-edit-alt:before{content:"\F0116" ;} .fa-monitor-heart-rate:before{content:"\F0379" ;} .fa-moon:before{content:"\F0F65" ;} .fa-moon-cloud:before{content:"\F0F65" ;} .fa-moon-stars:before{content:"\F0F65" ;} .fa-motorcycle:before{content:"\F037C" ;} .fa-mountain:before{content:"\F02F5" ;} .fa-mouse:before{content:"\F037D" ;} .fa-mouse-alt:before{content:"\F037D" ;} .fa-mouse-pointer:before{content:"\F037D" ;} .fa-music:before{content:"\F075A" ;} .fa-music-alt:before{content:"\F075A" ;} .fa-music-alt-slash:before{content:"\F075B" ;} .fa-music-slash:before{content:"\F075B" ;} .fa-network-wired:before{content:"\F0C9D" ;} .fa-newspaper:before{content:"\F0395" ;} .fa-not-equal:before{content:"\F098D" ;} .fa-notes-medical:before{content:"\F06B9" ;} .fa-npm:before{content:"\F06F7" ;} .fa-octagon:before{content:"\F03C4" ;} .fa-odnoklassniki:before{content:"\F03C5" ;} .fa-odnoklassniki-square:before{content:"\F03C5" ;} .fa-oil-can:before{content:"\F03C7" ;} .fa-oil-temp:before{content:"\F03C7" ;} .fa-om:before{content:"\F0973" ;} .fa-omega:before{content:"\F03C9" ;} .fa-openid:before{content:"\F03CD" ;} .fa-opera:before{content:"\F03CE" ;} .fa-ornament:before{content:"\F03CF" ;} .fa-outdent:before{content:"\F0275" ;} .fa-oven:before{content:"\F04DE" ;} .fa-paint-brush:before{content:"\F0665" ;} .fa-paint-brush-alt:before{content:"\F0665" ;} .fa-paint-roller:before{content:"\F0665" ;} .fa-palette:before{content:"\F0E0C" ;} .fa-paper-plane:before{content:"\F1165" ;} .fa-paperclip:before{content:"\F03E2" ;} .fa-parachute-box:before{content:"\F0CB5" ;} .fa-paragraph:before{content:"\F027D" ;} .fa-paragraph-rtl:before{content:"\F027D" ;} .fa-parking:before{content:"\F03E3" ;} .fa-parking-circle:before{content:"\F03E3" ;} .fa-parking-circle-slash:before{content:"\F03E3" ;} .fa-parking-slash:before{content:"\F03E3" ;} .fa-passport:before{content:"\F07E3" ;} .fa-patreon:before{content:"\F0882" ;} .fa-pause:before{content:"\F03E4" ;} .fa-pause-circle:before{content:"\F03E6" ;} .fa-paw:before{content:"\F1675" ;} .fa-paw-alt:before{content:"\F1675" ;} .fa-paw-claws:before{content:"\F1675" ;} .fa-peace:before{content:"\F0884" ;} .fa-pen:before{content:"\F03EA" ;} .fa-pen-alt:before{content:"\F03EA" ;} .fa-pen-fancy:before{content:"\F03EA" ;} .fa-pen-nib:before{content:"\F03EA" ;} .fa-pen-square:before{content:"\F03EA" ;} .fa-pencil:before{content:"\F0CB6" ;} .fa-pencil-alt:before{content:"\F0CB6" ;} .fa-pencil-paintbrush:before{content:"\F0CB6" ;} .fa-pencil-ruler:before{content:"\F1353" ;} .fa-people-arrows:before{content:"\F000F" ;} .fa-people-carry:before{content:"\F000F" ;} .fa-pepper-hot:before{content:"\F110F" ;} .fa-percent:before{content:"\F1278" ;} .fa-person-booth:before{content:"\F0013" ;} .fa-person-carry:before{content:"\F0013" ;} .fa-person-dolly:before{content:"\F0013" ;} .fa-person-dolly-empty:before{content:"\F0013" ;} .fa-person-sign:before{content:"\F0013" ;} .fa-phone:before{content:"\F0DF0" ;} .fa-phone-alt:before{content:"\F0DF0" ;} .fa-phone-laptop:before{content:"\F0DF0" ;} .fa-phone-office:before{content:"\F0DF0" ;} .fa-phone-plus:before{content:"\F119B" ;} .fa-phone-rotary:before{content:"\F0DF0" ;} .fa-phone-slash:before{content:"\F11A6" ;} .fa-phone-square:before{content:"\F0DF0" ;} .fa-phone-square-alt:before{content:"\F0DF0" ;} .fa-phone-volume:before{content:"\F0DF0" ;} .fa-photo-video:before{content:"\F0EB0" ;} .fa-pi:before{content:"\F03FF" ;} .fa-piano:before{content:"\F067D" ;} .fa-piano-keyboard:before{content:"\F067D" ;} .fa-pig:before{content:"\F0401" ;} .fa-piggy-bank:before{content:"\F1679" ;} .fa-pinterest:before{content:"\F0407" ;} .fa-pinterest-p:before{content:"\F0407" ;} .fa-pinterest-square:before{content:"\F0407" ;} .fa-pizza:before{content:"\F0409" ;} .fa-pizza-slice:before{content:"\F0409" ;} .fa-place-of-worship:before{content:"\F07D9" ;} .fa-plane:before{content:"\F001D" ;} .fa-plane-alt:before{content:"\F001D" ;} .fa-plane-arrival:before{content:"\F001D" ;} .fa-plane-departure:before{content:"\F001D" ;} .fa-plane-slash:before{content:"\F001E" ;} .fa-planet-moon:before{content:"\F01E7" ;} .fa-planet-ringed:before{content:"\F01E7" ;} .fa-play:before{content:"\F0F1B" ;} .fa-play-circle:before{content:"\F040D" ;} .fa-plus:before{content:"\F0415" ;} .fa-plus-circle:before{content:"\F0419" ;} .fa-plus-hexagon:before{content:"\F0415" ;} .fa-plus-octagon:before{content:"\F0415" ;} .fa-plus-square:before{content:"\F0704" ;} .fa-podcast:before{content:"\F0994" ;} .fa-podium:before{content:"\F0D25" ;} .fa-podium-star:before{content:"\F0D25" ;} .fa-poll:before{content:"\F041F" ;} .fa-poll-h:before{content:"\F041F" ;} .fa-poll-people:before{content:"\F041F" ;} .fa-popcorn:before{content:"\F0422" ;} .fa-portrait:before{content:"\F0007" ;} .fa-pound-sign:before{content:"\F0423" ;} .fa-power-off:before{content:"\F0902" ;} .fa-prescription:before{content:"\F0706" ;} .fa-prescription-bottle:before{content:"\F0706" ;} .fa-prescription-bottle-alt:before{content:"\F0706" ;} .fa-presentation:before{content:"\F0428" ;} .fa-projector:before{content:"\F042E" ;} .fa-pump-medical:before{content:"\F1402" ;} .fa-pump-soap:before{content:"\F1402" ;} .fa-pumpkin:before{content:"\F0BBF" ;} .fa-puzzle-piece:before{content:"\F0A66" ;} .fa-qrcode:before{content:"\F0432" ;} .fa-question:before{content:"\F02D6" ;} .fa-question-circle:before{content:"\F0625" ;} .fa-question-square:before{content:"\F078B" ;} .fa-quora:before{content:"\F0D29" ;} .fa-quote-left:before{content:"\F11A7" ;} .fa-quote-right:before{content:"\F11A8" ;} .fa-rabbit:before{content:"\F0907" ;} .fa-rabbit-fast:before{content:"\F0907" ;} .fa-radar:before{content:"\F0437" ;} .fa-radiation:before{content:"\F043C" ;} .fa-radiation-alt:before{content:"\F043C" ;} .fa-radio:before{content:"\F0439" ;} .fa-radio-alt:before{content:"\F0439" ;} .fa-rainbow:before{content:"\F0344" ;} .fa-raspberry-pi:before{content:"\F043F" ;} .fa-react:before{content:"\F0708" ;} .fa-receipt:before{content:"\F0449" ;} .fa-record-vinyl:before{content:"\F044A" ;} .fa-rectangle-landscape:before{content:"\F0E5F" ;} .fa-rectangle-portrait:before{content:"\F0E5F" ;} .fa-rectangle-wide:before{content:"\F0E5F" ;} .fa-recycle:before{content:"\F044C" ;} .fa-reddit:before{content:"\F044D" ;} .fa-reddit-alien:before{content:"\F044D" ;} .fa-reddit-square:before{content:"\F044D" ;} .fa-redhat:before{content:"\F111B" ;} .fa-redo:before{content:"\F044E" ;} .fa-redo-alt:before{content:"\F044E" ;} .fa-refrigerator:before{content:"\F028F" ;} .fa-remove-format:before{content:"\F0374" ;} .fa-repeat:before{content:"\F0456" ;} .fa-repeat-1:before{content:"\F0456" ;} .fa-repeat-1-alt:before{content:"\F0456" ;} .fa-repeat-alt:before{content:"\F0456" ;} .fa-reply:before{content:"\F0F20" ;} .fa-reply-all:before{content:"\F0F1F" ;} .fa-ribbon:before{content:"\F0460" ;} .fa-ring:before{content:"\F07EB" ;} .fa-road:before{content:"\F0461" ;} .fa-robot:before{content:"\F167A" ;} .fa-rocket:before{content:"\F13AF" ;} .fa-rocket-launch:before{content:"\F14DF" ;} .fa-router:before{content:"\F11E2" ;} .fa-rss:before{content:"\F046B" ;} .fa-rss-square:before{content:"\F046C" ;} .fa-ruble-sign:before{content:"\F01B1" ;} .fa-ruler:before{content:"\F046D" ;} .fa-ruler-combined:before{content:"\F046D" ;} .fa-ruler-horizontal:before{content:"\F046D" ;} .fa-ruler-triangle:before{content:"\F046D" ;} .fa-ruler-vertical:before{content:"\F046D" ;} .fa-rupee-sign:before{content:"\F01AF" ;} .fa-sack:before{content:"\F0D2E" ;} .fa-sack-dollar:before{content:"\F0D2E" ;} .fa-salesforce:before{content:"\F088E" ;} .fa-sass:before{content:"\F07EC" ;} .fa-satellite:before{content:"\F0470" ;} .fa-satellite-dish:before{content:"\F0470" ;} .fa-sausage:before{content:"\F08BA" ;} .fa-save:before{content:"\F0249" ;} .fa-saxophone:before{content:"\F0609" ;} .fa-scanner:before{content:"\F06AB" ;} .fa-scanner-image:before{content:"\F06AB" ;} .fa-scanner-keyboard:before{content:"\F06AB" ;} .fa-scanner-touchscreen:before{content:"\F06AB" ;} .fa-school:before{content:"\F1180" ;} .fa-screwdriver:before{content:"\F0476" ;} .fa-scroll:before{content:"\F0477" ;} .fa-scroll-old:before{content:"\F0477" ;} .fa-sd-card:before{content:"\F0479" ;} .fa-search:before{content:"\F0349" ;} .fa-search-dollar:before{content:"\F0349" ;} .fa-search-location:before{content:"\F0349" ;} .fa-search-minus:before{content:"\F06EC" ;} .fa-search-plus:before{content:"\F06ED" ;} .fa-seedling:before{content:"\F0E67" ;} .fa-send-back:before{content:"\F1165" ;} .fa-send-backward:before{content:"\F1165" ;} .fa-server:before{content:"\F048B" ;} .fa-share:before{content:"\F0932" ;} .fa-share-all:before{content:"\F11F5" ;} .fa-share-alt:before{content:"\F1514" ;} .fa-share-alt-square:before{content:"\F1514" ;} .fa-share-square:before{content:"\F0932" ;} .fa-sheep:before{content:"\F0CC6" ;} .fa-shield:before{content:"\F0499" ;} .fa-shield-alt:before{content:"\F0499" ;} .fa-shield-check:before{content:"\F0CC8" ;} .fa-shield-cross:before{content:"\F0CCA" ;} .fa-shield-virus:before{content:"\F0499" ;} .fa-ship:before{content:"\F0213" ;} .fa-shopping-bag:before{content:"\F11D5" ;} .fa-shopping-basket:before{content:"\F1181" ;} .fa-shopping-cart:before{content:"\F0111" ;} .fa-shovel:before{content:"\F0710" ;} .fa-shovel-snow:before{content:"\F0710" ;} .fa-shower:before{content:"\F09A0" ;} .fa-shredder:before{content:"\F049C" ;} .fa-shuttlecock:before{content:"\F0851" ;} .fa-sigma:before{content:"\F04A0" ;} .fa-sign:before{content:"\F0F49" ;} .fa-sign-in:before{content:"\F0342" ;} .fa-sign-in-alt:before{content:"\F0342" ;} .fa-sign-language:before{content:"\F0F49" ;} .fa-sign-out:before{content:"\F0343" ;} .fa-sign-out-alt:before{content:"\F0343" ;} .fa-signal:before{content:"\F04A2" ;} .fa-signal-1:before{content:"\F04A2" ;} .fa-signal-2:before{content:"\F04A2" ;} .fa-signal-3:before{content:"\F04A2" ;} .fa-signal-4:before{content:"\F04A2" ;} .fa-signal-alt:before{content:"\F04A2" ;} .fa-signal-alt-1:before{content:"\F04A2" ;} .fa-signal-alt-2:before{content:"\F04A2" ;} .fa-signal-alt-3:before{content:"\F04A2" ;} .fa-signal-alt-slash:before{content:"\F0783" ;} .fa-signal-slash:before{content:"\F0783" ;} .fa-signal-stream:before{content:"\F04A2" ;} .fa-signature:before{content:"\F0DFB" ;} .fa-sim-card:before{content:"\F15D5" ;} .fa-sitemap:before{content:"\F04AA" ;} .fa-ski-jump:before{content:"\F1304" ;} .fa-ski-lift:before{content:"\F1304" ;} .fa-skull:before{content:"\F0BC8" ;} .fa-skull-cow:before{content:"\F0BC8" ;} .fa-skull-crossbones:before{content:"\F0BC7" ;} .fa-skype:before{content:"\F04AF" ;} .fa-slack:before{content:"\F04B1" ;} .fa-slack-hash:before{content:"\F04B1" ;} .fa-smile:before{content:"\F01F5" ;} .fa-smile-beam:before{content:"\F01F5" ;} .fa-smile-plus:before{content:"\F01F5" ;} .fa-smile-wink:before{content:"\F01F5" ;} .fa-smog:before{content:"\F0A71" ;} .fa-smoking:before{content:"\F04B4" ;} .fa-smoking-ban:before{content:"\F04B4" ;} .fa-sms:before{content:"\F1170" ;} .fa-snake:before{content:"\F150E" ;} .fa-snapchat:before{content:"\F04B6" ;} .fa-snapchat-ghost:before{content:"\F04B6" ;} .fa-snapchat-square:before{content:"\F04B6" ;} .fa-snowflake:before{content:"\F0717" ;} .fa-snowman:before{content:"\F04B7" ;} .fa-solar-panel:before{content:"\F0D9B" ;} .fa-sort:before{content:"\F04BA" ;} .fa-sort-alpha-down:before{content:"\F04BA" ;} .fa-sort-alpha-down-alt:before{content:"\F04BA" ;} .fa-sort-alpha-up:before{content:"\F04BA" ;} .fa-sort-alpha-up-alt:before{content:"\F04BA" ;} .fa-sort-alt:before{content:"\F04BA" ;} .fa-sort-amount-down:before{content:"\F04BA" ;} .fa-sort-amount-down-alt:before{content:"\F04BA" ;} .fa-sort-amount-up:before{content:"\F04BA" ;} .fa-sort-amount-up-alt:before{content:"\F04BA" ;} .fa-sort-circle:before{content:"\F04BA" ;} .fa-sort-circle-down:before{content:"\F04BA" ;} .fa-sort-circle-up:before{content:"\F04BA" ;} .fa-sort-down:before{content:"\F04BA" ;} .fa-sort-numeric-down:before{content:"\F04BA" ;} .fa-sort-numeric-down-alt:before{content:"\F04BA" ;} .fa-sort-numeric-up:before{content:"\F04BA" ;} .fa-sort-numeric-up-alt:before{content:"\F04BA" ;} .fa-sort-shapes-down:before{content:"\F04BA" ;} .fa-sort-shapes-down-alt:before{content:"\F04BA" ;} .fa-sort-shapes-up:before{content:"\F04BA" ;} .fa-sort-shapes-up-alt:before{content:"\F04BA" ;} .fa-sort-size-down:before{content:"\F04BA" ;} .fa-sort-size-down-alt:before{content:"\F04BA" ;} .fa-sort-size-up:before{content:"\F04BA" ;} .fa-sort-size-up-alt:before{content:"\F04BA" ;} .fa-sort-up:before{content:"\F04BA" ;} .fa-soundcloud:before{content:"\F04C0" ;} .fa-spa:before{content:"\F0CD2" ;} .fa-space-station-moon:before{content:"\F1383" ;} .fa-space-station-moon-alt:before{content:"\F1383" ;} .fa-spade:before{content:"\F0E65" ;} .fa-sparkles:before{content:"\F1545" ;} .fa-speaker:before{content:"\F04C3" ;} .fa-speaker-deck:before{content:"\F04C3" ;} .fa-speakers:before{content:"\F0D38" ;} .fa-spider:before{content:"\F11EA" ;} .fa-spider-black-widow:before{content:"\F11EA" ;} .fa-spider-web:before{content:"\F0BCA" ;} .fa-spotify:before{content:"\F04C7" ;} .fa-spray-can:before{content:"\F0665" ;} .fa-sprinkler:before{content:"\F105F" ;} .fa-square:before{content:"\F0131" ;} .fa-square-full:before{content:"\F0131" ;} .fa-square-root:before{content:"\F0784" ;} .fa-square-root-alt:before{content:"\F0784" ;} .fa-stack-exchange:before{content:"\F060B" ;} .fa-stack-overflow:before{content:"\F04CC" ;} .fa-stackpath:before{content:"\F0359" ;} .fa-star:before{content:"\F04D2" ;} .fa-star-and-crescent:before{content:"\F0979" ;} .fa-star-christmas:before{content:"\F04D2" ;} .fa-star-exclamation:before{content:"\F04D2" ;} .fa-star-half:before{content:"\F0246" ;} .fa-star-half-alt:before{content:"\F0246" ;} .fa-star-of-david:before{content:"\F097A" ;} .fa-star-of-life:before{content:"\F04D2" ;} .fa-star-shooting:before{content:"\F04D2" ;} .fa-stars:before{content:"\F09A4" ;} .fa-steam:before{content:"\F04D3" ;} .fa-steam-square:before{content:"\F04D3" ;} .fa-steam-symbol:before{content:"\F04D3" ;} .fa-steering-wheel:before{content:"\F04D4" ;} .fa-step-backward:before{content:"\F04D5" ;} .fa-step-forward:before{content:"\F04D7" ;} .fa-stethoscope:before{content:"\F04D9" ;} .fa-sticker-mule:before{content:"\F136B" ;} .fa-stocking:before{content:"\F04DA" ;} .fa-stomach:before{content:"\F1093" ;} .fa-stop:before{content:"\F04DB" ;} .fa-stop-circle:before{content:"\F0667" ;} .fa-stopwatch:before{content:"\F051B" ;} .fa-stopwatch-20:before{content:"\F051B" ;} .fa-store:before{content:"\F1361" ;} .fa-store-alt:before{content:"\F1361" ;} .fa-store-alt-slash:before{content:"\F1361" ;} .fa-store-slash:before{content:"\F1361" ;} .fa-strikethrough:before{content:"\F0280" ;} .fa-subway:before{content:"\F06AC" ;} .fa-sunglasses:before{content:"\F04E0" ;} .fa-sunrise:before{content:"\F059C" ;} .fa-swimming-pool:before{content:"\F0606" ;} .fa-sword:before{content:"\F04E5" ;} .fa-sword-laser:before{content:"\F04E5" ;} .fa-sword-laser-alt:before{content:"\F04E5" ;} .fa-symfony:before{content:"\F0AE6" ;} .fa-sync:before{content:"\F04E6" ;} .fa-sync-alt:before{content:"\F04E6" ;} .fa-syringe:before{content:"\F0391" ;} .fa-table:before{content:"\F04EB" ;} .fa-table-tennis:before{content:"\F0E68" ;} .fa-tablet:before{content:"\F04F6" ;} .fa-tablet-alt:before{content:"\F04F6" ;} .fa-tablet-android:before{content:"\F04F7" ;} .fa-tablet-android-alt:before{content:"\F04F7" ;} .fa-tablet-rugged:before{content:"\F04F6" ;} .fa-taco:before{content:"\F0762" ;} .fa-tag:before{content:"\F04FC" ;} .fa-tags:before{content:"\F12F7" ;} .fa-tape:before{content:"\F09D4" ;} .fa-taxi:before{content:"\F04FF" ;} .fa-telegram:before{content:"\F0501" ;} .fa-telegram-plane:before{content:"\F0501" ;} .fa-telescope:before{content:"\F0B4E" ;} .fa-tennis-ball:before{content:"\F0507" ;} .fa-terminal:before{content:"\F018D" ;} .fa-text:before{content:"\F09A8" ;} .fa-text-height:before{content:"\F09A8" ;} .fa-text-size:before{content:"\F09A8" ;} .fa-text-width:before{content:"\F09A8" ;} .fa-theater-masks:before{content:"\F050D" ;} .fa-thermometer:before{content:"\F050F" ;} .fa-thermometer-empty:before{content:"\F050F" ;} .fa-thermometer-full:before{content:"\F050F" ;} .fa-thermometer-half:before{content:"\F050F" ;} .fa-thermometer-quarter:before{content:"\F050F" ;} .fa-thermometer-three-quarters:before{content:"\F050F" ;} .fa-thumbs-down:before{content:"\F0512" ;} .fa-thumbs-up:before{content:"\F0514" ;} .fa-thumbtack:before{content:"\F0931" ;} .fa-ticket:before{content:"\F0913" ;} .fa-ticket-alt:before{content:"\F0913" ;} .fa-tilde:before{content:"\F0725" ;} .fa-times:before{content:"\F0156" ;} .fa-times-circle:before{content:"\F0156" ;} .fa-times-hexagon:before{content:"\F0156" ;} .fa-times-octagon:before{content:"\F0156" ;} .fa-times-square:before{content:"\F0156" ;} .fa-tint:before{content:"\F0266" ;} .fa-tint-slash:before{content:"\F0266" ;} .fa-toilet:before{content:"\F09AB" ;} .fa-toilet-paper:before{content:"\F1158" ;} .fa-toilet-paper-alt:before{content:"\F1158" ;} .fa-toilet-paper-slash:before{content:"\F1158" ;} .fa-tombstone:before{content:"\F0BA2" ;} .fa-tombstone-alt:before{content:"\F0BA2" ;} .fa-toolbox:before{content:"\F09AD" ;} .fa-tools:before{content:"\F1064" ;} .fa-tooth:before{content:"\F0529" ;} .fa-toothbrush:before{content:"\F1129" ;} .fa-tractor:before{content:"\F0892" ;} .fa-trademark:before{content:"\F0A78" ;} .fa-traffic-cone:before{content:"\F137C" ;} .fa-traffic-light:before{content:"\F052B" ;} .fa-traffic-light-go:before{content:"\F052B" ;} .fa-traffic-light-slow:before{content:"\F052B" ;} .fa-traffic-light-stop:before{content:"\F052B" ;} .fa-train:before{content:"\F052C" ;} .fa-tram:before{content:"\F052D" ;} .fa-trash:before{content:"\F09E7" ;} .fa-trash-alt:before{content:"\F09E7" ;} .fa-trash-restore:before{content:"\F0819" ;} .fa-trash-restore-alt:before{content:"\F0819" ;} .fa-trash-undo:before{content:"\F09E7" ;} .fa-trash-undo-alt:before{content:"\F09E7" ;} .fa-treasure-chest:before{content:"\F0726" ;} .fa-tree:before{content:"\F0E69" ;} .fa-tree-alt:before{content:"\F0E69" ;} .fa-tree-christmas:before{content:"\F0E69" ;} .fa-tree-decorated:before{content:"\F0E69" ;} .fa-tree-large:before{content:"\F0E69" ;} .fa-tree-palm:before{content:"\F0E69" ;} .fa-trello:before{content:"\F0532" ;} .fa-triangle:before{content:"\F0537" ;} .fa-triangle-music:before{content:"\F0537" ;} .fa-trophy:before{content:"\F053A" ;} .fa-trophy-alt:before{content:"\F053A" ;} .fa-truck:before{content:"\F129D" ;} .fa-truck-container:before{content:"\F129D" ;} .fa-truck-couch:before{content:"\F129D" ;} .fa-truck-loading:before{content:"\F129D" ;} .fa-truck-monster:before{content:"\F129D" ;} .fa-truck-moving:before{content:"\F129D" ;} .fa-truck-pickup:before{content:"\F129D" ;} .fa-truck-plow:before{content:"\F129D" ;} .fa-truck-ramp:before{content:"\F129D" ;} .fa-trumpet:before{content:"\F1096" ;} .fa-turtle:before{content:"\F0CD7" ;} .fa-tv:before{content:"\F0502" ;} .fa-tv-alt:before{content:"\F0502" ;} .fa-tv-music:before{content:"\F0502" ;} .fa-tv-retro:before{content:"\F0502" ;} .fa-twitch:before{content:"\F0543" ;} .fa-twitter:before{content:"\F0544" ;} .fa-twitter-square:before{content:"\F0544" ;} .fa-typewriter:before{content:"\F0F2D" ;} .fa-ubuntu:before{content:"\F0548" ;} .fa-ufo:before{content:"\F10C5" ;} .fa-ufo-beam:before{content:"\F10C5" ;} .fa-umbraco:before{content:"\F0549" ;} .fa-umbrella:before{content:"\F054B" ;} .fa-umbrella-beach:before{content:"\F054B" ;} .fa-underline:before{content:"\F0287" ;} .fa-undo:before{content:"\F054C" ;} .fa-undo-alt:before{content:"\F054C" ;} .fa-unicorn:before{content:"\F15C2" ;} .fa-unity:before{content:"\F06AF" ;} .fa-university:before{content:"\F1180" ;} .fa-unlink:before{content:"\F0338" ;} .fa-untappd:before{content:"\F0551" ;} .fa-upload:before{content:"\F0E07" ;} .fa-usb:before{content:"\F0553" ;} .fa-usb-drive:before{content:"\F0553" ;} .fa-user:before{content:"\F0013" ;} .fa-user-alien:before{content:"\F0013" ;} .fa-user-alt:before{content:"\F0013" ;} .fa-user-alt-slash:before{content:"\F0BE7" ;} .fa-user-astronaut:before{content:"\F0013" ;} .fa-user-chart:before{content:"\F0013" ;} .fa-user-check:before{content:"\F0BE2" ;} .fa-user-circle:before{content:"\F0B55" ;} .fa-user-clock:before{content:"\F0B57" ;} .fa-user-cog:before{content:"\F1371" ;} .fa-user-cowboy:before{content:"\F0013" ;} .fa-user-crown:before{content:"\F0013" ;} .fa-user-edit:before{content:"\F0FFB" ;} .fa-user-friends:before{content:"\F0013" ;} .fa-user-graduate:before{content:"\F0013" ;} .fa-user-hard-hat:before{content:"\F05B5" ;} .fa-user-headset:before{content:"\F0013" ;} .fa-user-injured:before{content:"\F0013" ;} .fa-user-lock:before{content:"\F115F" ;} .fa-user-md:before{content:"\F0013" ;} .fa-user-md-chat:before{content:"\F0013" ;} .fa-user-minus:before{content:"\F0AEC" ;} .fa-user-music:before{content:"\F0CE9" ;} .fa-user-ninja:before{content:"\F0013" ;} .fa-user-nurse:before{content:"\F0013" ;} .fa-user-plus:before{content:"\F0801" ;} .fa-user-robot:before{content:"\F0013" ;} .fa-user-secret:before{content:"\F0013" ;} .fa-user-shield:before{content:"\F0013" ;} .fa-user-slash:before{content:"\F0BE7" ;} .fa-user-tag:before{content:"\F0013" ;} .fa-user-tie:before{content:"\F10CA" ;} .fa-user-times:before{content:"\F0013" ;} .fa-user-unlock:before{content:"\F0013" ;} .fa-user-visor:before{content:"\F0013" ;} .fa-users:before{content:"\F000F" ;} .fa-users-class:before{content:"\F000F" ;} .fa-users-cog:before{content:"\F000F" ;} .fa-users-crown:before{content:"\F000F" ;} .fa-users-medical:before{content:"\F000F" ;} .fa-users-slash:before{content:"\F000F" ;} .fa-vector-square:before{content:"\F0001" ;} .fa-venus:before{content:"\F029C" ;} .fa-venus-double:before{content:"\F029C" ;} .fa-venus-mars:before{content:"\F029C" ;} .fa-vhs:before{content:"\F0A1B" ;} .fa-video:before{content:"\F0BDC" ;} .fa-video-plus:before{content:"\F01D3" ;} .fa-video-slash:before{content:"\F0BDB" ;} .fa-vimeo:before{content:"\F0577" ;} .fa-vimeo-square:before{content:"\F0577" ;} .fa-vimeo-v:before{content:"\F0577" ;} .fa-violin:before{content:"\F060F" ;} .fa-virus:before{content:"\F13B7" ;} .fa-virus-slash:before{content:"\F13B7" ;} .fa-vk:before{content:"\F0579" ;} .fa-voicemail:before{content:"\F057D" ;} .fa-volleyball-ball:before{content:"\F09B4" ;} .fa-volume-mute:before{content:"\F075F" ;} .fa-volume-off:before{content:"\F0581" ;} .fa-volume-slash:before{content:"\F0581" ;} .fa-vote-nay:before{content:"\F0A20" ;} .fa-vote-yea:before{content:"\F0A20" ;} .fa-vr-cardboard:before{content:"\F0894" ;} .fa-vuejs:before{content:"\F0844" ;} .fa-walker:before{content:"\F0583" ;} .fa-walking:before{content:"\F0583" ;} .fa-wallet:before{content:"\F0BDD" ;} .fa-wand:before{content:"\F0068" ;} .fa-wand-magic:before{content:"\F0068" ;} .fa-warehouse:before{content:"\F0F81" ;} .fa-warehouse-alt:before{content:"\F0F81" ;} .fa-watch:before{content:"\F0589" ;} .fa-watch-calculator:before{content:"\F0589" ;} .fa-watch-fitness:before{content:"\F0589" ;} .fa-water:before{content:"\F0E0A" ;} .fa-water-lower:before{content:"\F0E0A" ;} .fa-water-rise:before{content:"\F0E0A" ;} .fa-wave-sine:before{content:"\F0F2E" ;} .fa-wave-square:before{content:"\F0F2E" ;} .fa-wave-triangle:before{content:"\F0F2E" ;} .fa-waveform:before{content:"\F147D" ;} .fa-waveform-path:before{content:"\F147D" ;} .fa-waze:before{content:"\F0BDE" ;} .fa-webcam:before{content:"\F05A0" ;} .fa-webcam-slash:before{content:"\F05A0" ;} .fa-weight:before{content:"\F05A1" ;} .fa-weight-hanging:before{content:"\F05A1" ;} .fa-whatsapp:before{content:"\F05A3" ;} .fa-whatsapp-square:before{content:"\F05A3" ;} .fa-wheat:before{content:"\F0073" ;} .fa-whistle:before{content:"\F12BC" ;} .fa-wifi:before{content:"\F05A9" ;} .fa-wifi-1:before{content:"\F05A9" ;} .fa-wifi-2:before{content:"\F05A9" ;} .fa-wifi-slash:before{content:"\F05AA" ;} .fa-wikipedia-w:before{content:"\F05AC" ;} .fa-wind-turbine:before{content:"\F0DA5" ;} .fa-window-close:before{content:"\F05AD" ;} .fa-window-maximize:before{content:"\F05AF" ;} .fa-window-minimize:before{content:"\F05B0" ;} .fa-window-restore:before{content:"\F05B2" ;} .fa-windsock:before{content:"\F15FA" ;} .fa-won-sign:before{content:"\F07BD" ;} .fa-wordpress:before{content:"\F05B4" ;} .fa-wordpress-simple:before{content:"\F05B4" ;} .fa-wrench:before{content:"\F0BE0" ;} .fa-x-ray:before{content:"\F14C8" ;} .fa-xing:before{content:"\F05BE" ;} .fa-xing-square:before{content:"\F05BE" ;} .fa-y-combinator:before{content:"\F0624" ;} .fa-yahoo:before{content:"\F0B4F" ;} .fa-yen-sign:before{content:"\F07BC" ;} .fa-yin-yang:before{content:"\F0680" ;} .fa-youtube:before{content:"\F05C3" ;} .fa-youtube-square:before{content:"\F05C3" ;}]]>

</template>


-<template title="uix_material_solid.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[.fa-accessible-icon:before{content:"\F05A4" ;} .fa-adjust:before{content:"\F001A" ;} .fa-air-conditioner:before{content:"\F001B" ;} .fa-alarm-clock:before{content:"\F0020" ;} .fa-alarm-exclamation:before{content:"\F0020" ;} .fa-alarm-plus:before{content:"\F0024" ;} .fa-alarm-snooze:before{content:"\F068E" ;} .fa-album:before{content:"\F0025" ;} .fa-album-collection:before{content:"\F0025" ;} .fa-alien:before{content:"\F089A" ;} .fa-alien-monster:before{content:"\F089A" ;} .fa-align-center:before{content:"\F0260" ;} .fa-align-justify:before{content:"\F0261" ;} .fa-align-left:before{content:"\F0262" ;} .fa-align-right:before{content:"\F0263" ;} .fa-amazon:before{content:"\F002D" ;} .fa-amazon-pay:before{content:"\F002D" ;} .fa-ambulance:before{content:"\F002F" ;} .fa-amp-guitar:before{content:"\F0820" ;} .fa-anchor:before{content:"\F0031" ;} .fa-android:before{content:"\F0032" ;} .fa-angle-double-down:before{content:"\F013C" ;} .fa-angle-double-left:before{content:"\F013D" ;} .fa-angle-double-right:before{content:"\F013E" ;} .fa-angle-double-up:before{content:"\F013F" ;} .fa-angle-down:before{content:"\F0140" ;} .fa-angle-left:before{content:"\F0141" ;} .fa-angle-right:before{content:"\F0142" ;} .fa-angle-up:before{content:"\F0143" ;} .fa-angry:before{content:"\F0C69" ;} .fa-angular:before{content:"\F06B2" ;} .fa-apple:before{content:"\F0035" ;} .fa-apple-alt:before{content:"\F0035" ;} .fa-apple-crate:before{content:"\F0035" ;} .fa-apple-pay:before{content:"\F0035" ;} .fa-archive:before{content:"\F003C" ;} .fa-archway:before{content:"\F08C7" ;} .fa-arrow-alt-circle-down:before{content:"\F054D" ;} .fa-arrow-alt-circle-left:before{content:"\F054D" ;} .fa-arrow-alt-circle-right:before{content:"\F054D" ;} .fa-arrow-alt-circle-up:before{content:"\F054D" ;} .fa-arrow-alt-down:before{content:"\F0045" ;} .fa-arrow-alt-from-bottom:before{content:"\F054D" ;} .fa-arrow-alt-from-left:before{content:"\F054D" ;} .fa-arrow-alt-from-right:before{content:"\F054D" ;} .fa-arrow-alt-from-top:before{content:"\F054D" ;} .fa-arrow-alt-left:before{content:"\F004D" ;} .fa-arrow-alt-right:before{content:"\F0054" ;} .fa-arrow-alt-square-down:before{content:"\F054D" ;} .fa-arrow-alt-square-left:before{content:"\F054D" ;} .fa-arrow-alt-square-right:before{content:"\F054D" ;} .fa-arrow-alt-square-up:before{content:"\F054D" ;} .fa-arrow-alt-to-bottom:before{content:"\F054D" ;} .fa-arrow-alt-to-left:before{content:"\F054D" ;} .fa-arrow-alt-to-right:before{content:"\F054D" ;} .fa-arrow-alt-to-top:before{content:"\F054D" ;} .fa-arrow-alt-up:before{content:"\F005D" ;} .fa-arrow-circle-down:before{content:"\F054D" ;} .fa-arrow-circle-left:before{content:"\F054D" ;} .fa-arrow-circle-right:before{content:"\F054D" ;} .fa-arrow-circle-up:before{content:"\F054D" ;} .fa-arrow-down:before{content:"\F0045" ;} .fa-arrow-from-bottom:before{content:"\F054D" ;} .fa-arrow-from-left:before{content:"\F054D" ;} .fa-arrow-from-right:before{content:"\F054D" ;} .fa-arrow-from-top:before{content:"\F054D" ;} .fa-arrow-left:before{content:"\F004D" ;} .fa-arrow-right:before{content:"\F0054" ;} .fa-arrow-square-down:before{content:"\F054D" ;} .fa-arrow-square-left:before{content:"\F054D" ;} .fa-arrow-square-right:before{content:"\F054D" ;} .fa-arrow-square-up:before{content:"\F054D" ;} .fa-arrow-to-bottom:before{content:"\F054D" ;} .fa-arrow-to-left:before{content:"\F054D" ;} .fa-arrow-to-right:before{content:"\F054D" ;} .fa-arrow-to-top:before{content:"\F054D" ;} .fa-arrow-up:before{content:"\F005D" ;} .fa-arrows:before{content:"\F0041" ;} .fa-arrows-alt:before{content:"\F0041" ;} .fa-arrows-alt-h:before{content:"\F0E73" ;} .fa-arrows-alt-v:before{content:"\F0E79" ;} .fa-arrows-h:before{content:"\F0E73" ;} .fa-arrows-v:before{content:"\F0E79" ;} .fa-artstation:before{content:"\F0B5B" ;} .fa-asterisk:before{content:"\F06C4" ;} .fa-at:before{content:"\F0065" ;} .fa-atlas:before{content:"\F034D" ;} .fa-atlassian:before{content:"\F0804" ;} .fa-atom:before{content:"\F0768" ;} .fa-atom-alt:before{content:"\F0768" ;} .fa-audio-description:before{content:"\F0580" ;} .fa-award:before{content:"\F0FD9" ;} .fa-aws:before{content:"\F0E0F" ;} .fa-axe:before{content:"\F08C8" ;} .fa-axe-battle:before{content:"\F08C8" ;} .fa-baby:before{content:"\F006C" ;} .fa-baby-carriage:before{content:"\F068F" ;} .fa-backpack:before{content:"\F0E10" ;} .fa-backspace:before{content:"\F006E" ;} .fa-backward:before{content:"\F045F" ;} .fa-bacteria:before{content:"\F0ED5" ;} .fa-badge:before{content:"\F113B" ;} .fa-badge-check:before{content:"\F113B" ;} .fa-badge-dollar:before{content:"\F113B" ;} .fa-badge-percent:before{content:"\F113B" ;} .fa-badge-sheriff:before{content:"\F113B" ;} .fa-balance-scale:before{content:"\F05D1" ;} .fa-balance-scale-left:before{content:"\F05D1" ;} .fa-balance-scale-right:before{content:"\F05D1" ;} .fa-ballot:before{content:"\F09C9" ;} .fa-ballot-check:before{content:"\F09C9" ;} .fa-ban:before{content:"\F0DC7" ;} .fa-band-aid:before{content:"\F0DAF" ;} .fa-bandcamp:before{content:"\F0675" ;} .fa-barcode:before{content:"\F0071" ;} .fa-barcode-alt:before{content:"\F0071" ;} .fa-barcode-read:before{content:"\F0071" ;} .fa-barcode-scan:before{content:"\F0072" ;} .fa-bars:before{content:"\F035C" ;} .fa-baseball:before{content:"\F0852" ;} .fa-baseball-ball:before{content:"\F0852" ;} .fa-basketball-ball:before{content:"\F0806" ;} .fa-basketball-hoop:before{content:"\F0C3B" ;} .fa-bat:before{content:"\F0B5F" ;} .fa-battery-bolt:before{content:"\F0079" ;} .fa-battery-empty:before{content:"\F008E" ;} .fa-battery-full:before{content:"\F0079" ;} .fa-battery-half:before{content:"\F0079" ;} .fa-battery-quarter:before{content:"\F0079" ;} .fa-battery-slash:before{content:"\F125D" ;} .fa-battery-three-quarters:before{content:"\F0079" ;} .fa-battle-net:before{content:"\F0B60" ;} .fa-bed:before{content:"\F02E3" ;} .fa-bed-alt:before{content:"\F02E3" ;} .fa-bed-bunk:before{content:"\F02E3" ;} .fa-bed-empty:before{content:"\F08A0" ;} .fa-beer:before{content:"\F0098" ;} .fa-bell:before{content:"\F009A" ;} .fa-bell-exclamation:before{content:"\F0D59" ;} .fa-bell-on:before{content:"\F009A" ;} .fa-bell-plus:before{content:"\F009D" ;} .fa-bell-school:before{content:"\F009A" ;} .fa-bell-school-slash:before{content:"\F009A" ;} .fa-bell-slash:before{content:"\F009B" ;} .fa-bells:before{content:"\F009A" ;} .fa-betamax:before{content:"\F09CB" ;} .fa-bezier-curve:before{content:"\F0559" ;} .fa-bible:before{content:"\F00A2" ;} .fa-bicycle:before{content:"\F109C" ;} .fa-biking:before{content:"\F00A3" ;} .fa-biking-mountain:before{content:"\F00A3" ;} .fa-binoculars:before{content:"\F00A5" ;} .fa-biohazard:before{content:"\F00A7" ;} .fa-birthday-cake:before{content:"\F00EB" ;} .fa-bitbucket:before{content:"\F00A8" ;} .fa-bitcoin:before{content:"\F0813" ;} .fa-blanket:before{content:"\F02E3" ;} .fa-blender:before{content:"\F0CEB" ;} .fa-blender-phone:before{content:"\F0CEB" ;} .fa-blinds:before{content:"\F00AC" ;} .fa-blinds-open:before{content:"\F1011" ;} .fa-blinds-raised:before{content:"\F00AC" ;} .fa-blog:before{content:"\F1008" ;} .fa-blogger:before{content:"\F00AE" ;} .fa-blogger-b:before{content:"\F00AE" ;} .fa-bluetooth:before{content:"\F00AF" ;} .fa-bluetooth-b:before{content:"\F00AF" ;} .fa-bold:before{content:"\F0264" ;} .fa-bolt:before{content:"\F0241" ;} .fa-bomb:before{content:"\F0691" ;} .fa-bone:before{content:"\F00B9" ;} .fa-bone-break:before{content:"\F00B9" ;} .fa-book:before{content:"\F00BA" ;} .fa-book-alt:before{content:"\F00BA" ;} .fa-book-dead:before{content:"\F00BA" ;} .fa-book-heart:before{content:"\F00BA" ;} .fa-book-medical:before{content:"\F00BA" ;} .fa-book-open:before{content:"\F00BD" ;} .fa-book-reader:before{content:"\F00BA" ;} .fa-book-spells:before{content:"\F00BA" ;} .fa-book-user:before{content:"\F13AD" ;} .fa-bookmark:before{content:"\F00C0" ;} .fa-books:before{content:"\F00BB" ;} .fa-books-medical:before{content:"\F00BB" ;} .fa-boombox:before{content:"\F05DC" ;} .fa-bootstrap:before{content:"\F06C6" ;} .fa-border-all:before{content:"\F00C7" ;} .fa-border-bottom:before{content:"\F00C8" ;} .fa-border-left:before{content:"\F00CC" ;} .fa-border-none:before{content:"\F00CD" ;} .fa-border-outer:before{content:"\F00CE" ;} .fa-border-right:before{content:"\F00CF" ;} .fa-border-style:before{content:"\F00D0" ;} .fa-border-style-alt:before{content:"\F00D0" ;} .fa-border-top:before{content:"\F00D1" ;} .fa-bowling-ball:before{content:"\F00D3" ;} .fa-bowling-pins:before{content:"\F00D3" ;} .fa-box:before{content:"\F00D4" ;} .fa-box-alt:before{content:"\F00D4" ;} .fa-box-ballot:before{content:"\F00D4" ;} .fa-box-check:before{content:"\F00D4" ;} .fa-box-fragile:before{content:"\F00D4" ;} .fa-box-full:before{content:"\F00D4" ;} .fa-box-heart:before{content:"\F00D4" ;} .fa-box-open:before{content:"\F00D4" ;} .fa-box-tissue:before{content:"\F00D4" ;} .fa-box-up:before{content:"\F03D5" ;} .fa-box-usd:before{content:"\F00D4" ;} .fa-boxes:before{content:"\F03D3" ;} .fa-boxes-alt:before{content:"\F03D6" ;} .fa-boxing-glove:before{content:"\F0B65" ;} .fa-brackets:before{content:"\F016A" ;} .fa-brackets-curly:before{content:"\F016A" ;} .fa-braille:before{content:"\F09D0" ;} .fa-brain:before{content:"\F09D1" ;} .fa-bread-loaf:before{content:"\F0F3E" ;} .fa-bread-slice:before{content:"\F0CEE" ;} .fa-briefcase:before{content:"\F00D6" ;} .fa-briefcase-medical:before{content:"\F00D6" ;} .fa-broom:before{content:"\F00E2" ;} .fa-browser:before{content:"\F0614" ;} .fa-brush:before{content:"\F00E3" ;} .fa-buffer:before{content:"\F0619" ;} .fa-bug:before{content:"\F00E4" ;} .fa-building:before{content:"\F01D7" ;} .fa-bullhorn:before{content:"\F00E6" ;} .fa-bullseye:before{content:"\F05DD" ;} .fa-bullseye-arrow:before{content:"\F08C9" ;} .fa-bullseye-pointer:before{content:"\F05DD" ;} .fa-burger-soda:before{content:"\F0685" ;} .fa-burn:before{content:"\F0238" ;} .fa-burrito:before{content:"\F0762" ;} .fa-bus:before{content:"\F00E7" ;} .fa-bus-alt:before{content:"\F00E7" ;} .fa-bus-school:before{content:"\F079F" ;} .fa-business-time:before{content:"\F1218" ;} .fa-cactus:before{content:"\F0DB5" ;} .fa-calculator:before{content:"\F00EC" ;} .fa-calculator-alt:before{content:"\F00EC" ;} .fa-calendar:before{content:"\F00ED" ;} .fa-calendar-alt:before{content:"\F00ED" ;} .fa-calendar-check:before{content:"\F00EF" ;} .fa-calendar-day:before{content:"\F00F6" ;} .fa-calendar-edit:before{content:"\F08A7" ;} .fa-calendar-exclamation:before{content:"\F0A31" ;} .fa-calendar-minus:before{content:"\F0D5C" ;} .fa-calendar-plus:before{content:"\F00F3" ;} .fa-calendar-star:before{content:"\F09D3" ;} .fa-calendar-times:before{content:"\F00ED" ;} .fa-calendar-week:before{content:"\F0A33" ;} .fa-camcorder:before{content:"\F00FC" ;} .fa-camera:before{content:"\F0100" ;} .fa-camera-alt:before{content:"\F0100" ;} .fa-camera-home:before{content:"\F0100" ;} .fa-camera-movie:before{content:"\F0100" ;} .fa-camera-polaroid:before{content:"\F0100" ;} .fa-camera-retro:before{content:"\F0100" ;} .fa-campfire:before{content:"\F0EDD" ;} .fa-campground:before{content:"\F0508" ;} .fa-candle-holder:before{content:"\F05E2" ;} .fa-cannabis:before{content:"\F07A6" ;} .fa-car:before{content:"\F010B" ;} .fa-car-alt:before{content:"\F010B" ;} .fa-car-battery:before{content:"\F010C" ;} .fa-car-building:before{content:"\F010B" ;} .fa-car-bump:before{content:"\F010B" ;} .fa-car-bus:before{content:"\F010B" ;} .fa-car-crash:before{content:"\F010B" ;} .fa-car-garage:before{content:"\F010B" ;} .fa-car-mechanic:before{content:"\F010B" ;} .fa-car-side:before{content:"\F07AB" ;} .fa-car-tilt:before{content:"\F010B" ;} .fa-car-wash:before{content:"\F010E" ;} .fa-caravan:before{content:"\F07AD" ;} .fa-caravan-alt:before{content:"\F07AD" ;} .fa-caret-circle-down:before{content:"\F0B2C" ;} .fa-caret-circle-left:before{content:"\F0B2C" ;} .fa-caret-circle-right:before{content:"\F0B2C" ;} .fa-caret-circle-up:before{content:"\F0B2C" ;} .fa-caret-down:before{content:"\F035D" ;} .fa-caret-left:before{content:"\F035E" ;} .fa-caret-right:before{content:"\F035F" ;} .fa-caret-square-down:before{content:"\F09DC" ;} .fa-caret-square-left:before{content:"\F09DC" ;} .fa-caret-square-right:before{content:"\F09DC" ;} .fa-caret-square-up:before{content:"\F09DC" ;} .fa-caret-up:before{content:"\F0360" ;} .fa-carrot:before{content:"\F010F" ;} .fa-cars:before{content:"\F0B6E" ;} .fa-cart-arrow-down:before{content:"\F0D66" ;} .fa-cart-plus:before{content:"\F0112" ;} .fa-cash-register:before{content:"\F0CF4" ;} .fa-cassette-tape:before{content:"\F09D4" ;} .fa-cat:before{content:"\F011B" ;} .fa-cat-space:before{content:"\F011B" ;} .fa-cauldron:before{content:"\F065B" ;} .fa-cc-amazon-pay:before{content:"\F015E" ;} .fa-cc-amex:before{content:"\F015E" ;} .fa-cc-apple-pay:before{content:"\F015E" ;} .fa-cc-diners-club:before{content:"\F015E" ;} .fa-cc-discover:before{content:"\F015E" ;} .fa-cc-jcb:before{content:"\F015E" ;} .fa-cc-mastercard:before{content:"\F015E" ;} .fa-cc-paypal:before{content:"\F015E" ;} .fa-cc-stripe:before{content:"\F015E" ;} .fa-cc-visa:before{content:"\F015E" ;} .fa-cctv:before{content:"\F07AE" ;} .fa-centos:before{content:"\F111A" ;} .fa-certificate:before{content:"\F0124" ;} .fa-chair:before{content:"\F0CC3" ;} .fa-chair-office:before{content:"\F0CC3" ;} .fa-charging-station:before{content:"\F05F1" ;} .fa-chart-bar:before{content:"\F0128" ;} .fa-chart-line:before{content:"\F012A" ;} .fa-chart-line-down:before{content:"\F012A" ;} .fa-chart-pie:before{content:"\F012B" ;} .fa-chart-pie-alt:before{content:"\F012B" ;} .fa-check:before{content:"\F012C" ;} .fa-check-circle:before{content:"\F0134" ;} .fa-check-double:before{content:"\F012C" ;} .fa-check-square:before{content:"\F0135" ;} .fa-cheese:before{content:"\F12B9" ;} .fa-cheese-swiss:before{content:"\F12B9" ;} .fa-cheeseburger:before{content:"\F0685" ;} .fa-chess:before{content:"\F0857" ;} .fa-chess-bishop:before{content:"\F085C" ;} .fa-chess-bishop-alt:before{content:"\F085C" ;} .fa-chess-board:before{content:"\F0857" ;} .fa-chess-clock:before{content:"\F0857" ;} .fa-chess-clock-alt:before{content:"\F0857" ;} .fa-chess-king:before{content:"\F0857" ;} .fa-chess-king-alt:before{content:"\F0857" ;} .fa-chess-knight:before{content:"\F0858" ;} .fa-chess-knight-alt:before{content:"\F0858" ;} .fa-chess-pawn:before{content:"\F0859" ;} .fa-chess-pawn-alt:before{content:"\F0859" ;} .fa-chess-queen:before{content:"\F085A" ;} .fa-chess-queen-alt:before{content:"\F085A" ;} .fa-chess-rook:before{content:"\F085B" ;} .fa-chess-rook-alt:before{content:"\F085B" ;} .fa-chevron-circle-down:before{content:"\F0B26" ;} .fa-chevron-circle-left:before{content:"\F0B28" ;} .fa-chevron-circle-right:before{content:"\F0B2A" ;} .fa-chevron-circle-up:before{content:"\F0B2C" ;} .fa-chevron-double-down:before{content:"\F013C" ;} .fa-chevron-double-left:before{content:"\F013D" ;} .fa-chevron-double-right:before{content:"\F013E" ;} .fa-chevron-double-up:before{content:"\F013F" ;} .fa-chevron-down:before{content:"\F0140" ;} .fa-chevron-left:before{content:"\F0141" ;} .fa-chevron-right:before{content:"\F0142" ;} .fa-chevron-square-down:before{content:"\F09D6" ;} .fa-chevron-square-left:before{content:"\F09D8" ;} .fa-chevron-square-right:before{content:"\F09DA" ;} .fa-chevron-square-up:before{content:"\F09DC" ;} .fa-chevron-up:before{content:"\F0143" ;} .fa-child:before{content:"\F02E7" ;} .fa-chromecast:before{content:"\F02AF" ;} .fa-church:before{content:"\F0144" ;} .fa-circle:before{content:"\F0130" ;} .fa-circle-notch:before{content:"\F0130" ;} .fa-city:before{content:"\F0146" ;} .fa-clipboard:before{content:"\F0147" ;} .fa-clipboard-check:before{content:"\F014E" ;} .fa-clipboard-list:before{content:"\F10D4" ;} .fa-clipboard-list-check:before{content:"\F10D4" ;} .fa-clipboard-prescription:before{content:"\F0147" ;} .fa-clipboard-user:before{content:"\F0148" ;} .fa-clock:before{content:"\F0954" ;} .fa-closed-captioning:before{content:"\F05AE" ;} .fa-cloud:before{content:"\F015F" ;} .fa-cloud-download:before{content:"\F0162" ;} .fa-cloud-download-alt:before{content:"\F0162" ;} .fa-cloud-drizzle:before{content:"\F015F" ;} .fa-cloud-hail:before{content:"\F015F" ;} .fa-cloud-hail-mixed:before{content:"\F015F" ;} .fa-cloud-meatball:before{content:"\F015F" ;} .fa-cloud-moon:before{content:"\F015F" ;} .fa-cloud-moon-rain:before{content:"\F015F" ;} .fa-cloud-music:before{content:"\F015F" ;} .fa-cloud-rain:before{content:"\F015F" ;} .fa-cloud-rainbow:before{content:"\F015F" ;} .fa-cloud-showers:before{content:"\F015F" ;} .fa-cloud-showers-heavy:before{content:"\F015F" ;} .fa-cloud-sleet:before{content:"\F015F" ;} .fa-cloud-snow:before{content:"\F015F" ;} .fa-cloud-sun:before{content:"\F015F" ;} .fa-cloud-sun-rain:before{content:"\F015F" ;} .fa-cloud-upload:before{content:"\F0167" ;} .fa-cloud-upload-alt:before{content:"\F0167" ;} .fa-cocktail:before{content:"\F0876" ;} .fa-code:before{content:"\F05C0" ;} .fa-code-branch:before{content:"\F05C0" ;} .fa-code-commit:before{content:"\F05C0" ;} .fa-code-merge:before{content:"\F05C0" ;} .fa-codepen:before{content:"\F0175" ;} .fa-coffee:before{content:"\F0176" ;} .fa-coffee-pot:before{content:"\F0176" ;} .fa-coffee-togo:before{content:"\F0176" ;} .fa-coffin:before{content:"\F0B7F" ;} .fa-coffin-cross:before{content:"\F0B7F" ;} .fa-cog:before{content:"\F0493" ;} .fa-cogs:before{content:"\F08D6" ;} .fa-coin:before{content:"\F116B" ;} .fa-coins:before{content:"\F0B38" ;} .fa-comet:before{content:"\F0629" ;} .fa-comment:before{content:"\F017A" ;} .fa-comment-alt:before{content:"\F017A" ;} .fa-comment-alt-check:before{content:"\F017F" ;} .fa-comment-alt-dollar:before{content:"\F017A" ;} .fa-comment-alt-dots:before{content:"\F017A" ;} .fa-comment-alt-edit:before{content:"\F11BF" ;} .fa-comment-alt-exclamation:before{content:"\F017D" ;} .fa-comment-alt-lines:before{content:"\F017A" ;} .fa-comment-alt-medical:before{content:"\F017A" ;} .fa-comment-alt-minus:before{content:"\F15DF" ;} .fa-comment-alt-music:before{content:"\F017A" ;} .fa-comment-alt-plus:before{content:"\F09E5" ;} .fa-comment-alt-slash:before{content:"\F15E1" ;} .fa-comment-alt-smile:before{content:"\F017A" ;} .fa-comment-alt-times:before{content:"\F017A" ;} .fa-comment-check:before{content:"\F017F" ;} .fa-comment-dollar:before{content:"\F017A" ;} .fa-comment-dots:before{content:"\F017A" ;} .fa-comment-edit:before{content:"\F11BF" ;} .fa-comment-exclamation:before{content:"\F017D" ;} .fa-comment-lines:before{content:"\F017A" ;} .fa-comment-medical:before{content:"\F017A" ;} .fa-comment-minus:before{content:"\F15DF" ;} .fa-comment-music:before{content:"\F017A" ;} .fa-comment-plus:before{content:"\F09E5" ;} .fa-comment-slash:before{content:"\F15E1" ;} .fa-comment-smile:before{content:"\F017A" ;} .fa-comment-times:before{content:"\F017A" ;} .fa-comments:before{content:"\F085F" ;} .fa-comments-alt:before{content:"\F085F" ;} .fa-comments-alt-dollar:before{content:"\F085F" ;} .fa-comments-dollar:before{content:"\F085F" ;} .fa-compass:before{content:"\F018B" ;} .fa-compass-slash:before{content:"\F0B80" ;} .fa-compress:before{content:"\F0294" ;} .fa-compress-alt:before{content:"\F0615" ;} .fa-compress-arrows-alt:before{content:"\F0294" ;} .fa-compress-wide:before{content:"\F0294" ;} .fa-computer-classic:before{content:"\F07C0" ;} .fa-computer-speaker:before{content:"\F0322" ;} .fa-construction:before{content:"\F05B5" ;} .fa-cookie:before{content:"\F0198" ;} .fa-cookie-bite:before{content:"\F0198" ;} .fa-copy:before{content:"\F1517" ;} .fa-copyright:before{content:"\F05E6" ;} .fa-corn:before{content:"\F07B8" ;} .fa-couch:before{content:"\F156E" ;} .fa-cow:before{content:"\F019A" ;} .fa-creative-commons:before{content:"\F0D6B" ;} .fa-creative-commons-by:before{content:"\F0D6B" ;} .fa-creative-commons-nc:before{content:"\F0D6B" ;} .fa-creative-commons-nc-eu:before{content:"\F0D6B" ;} .fa-creative-commons-nc-jp:before{content:"\F0D6B" ;} .fa-creative-commons-nd:before{content:"\F0D6B" ;} .fa-creative-commons-pd:before{content:"\F0D6B" ;} .fa-creative-commons-pd-alt:before{content:"\F0D6B" ;} .fa-creative-commons-remix:before{content:"\F0D6B" ;} .fa-creative-commons-sa:before{content:"\F0D6B" ;} .fa-creative-commons-sampling:before{content:"\F0D6B" ;} .fa-creative-commons-sampling-plus:before{content:"\F0D6B" ;} .fa-creative-commons-share:before{content:"\F0D6B" ;} .fa-creative-commons-zero:before{content:"\F0D6B" ;} .fa-credit-card:before{content:"\F0FEF" ;} .fa-credit-card-blank:before{content:"\F0FEF" ;} .fa-credit-card-front:before{content:"\F0FEF" ;} .fa-cricket:before{content:"\F0D6D" ;} .fa-crop:before{content:"\F019E" ;} .fa-crop-alt:before{content:"\F019E" ;} .fa-cross:before{content:"\F0953" ;} .fa-crosshairs:before{content:"\F01A3" ;} .fa-crown:before{content:"\F01A5" ;} .fa-cube:before{content:"\F01A6" ;} .fa-curling:before{content:"\F0863" ;} .fa-cut:before{content:"\F0190" ;} .fa-dagger:before{content:"\F09FC" ;} .fa-database:before{content:"\F01BC" ;} .fa-desktop:before{content:"\F0379" ;} .fa-desktop-alt:before{content:"\F07C0" ;} .fa-deviantart:before{content:"\F01C7" ;} .fa-dharmachakra:before{content:"\F094B" ;} .fa-diamond:before{content:"\F0B8A" ;} .fa-dice-d10:before{content:"\F1153" ;} .fa-dice-d12:before{content:"\F1154" ;} .fa-dice-d20:before{content:"\F1155" ;} .fa-dice-d4:before{content:"\F1150" ;} .fa-dice-d6:before{content:"\F1151" ;} .fa-dice-d8:before{content:"\F1152" ;} .fa-dice-five:before{content:"\F01CE" ;} .fa-dice-four:before{content:"\F01CD" ;} .fa-dice-one:before{content:"\F01CA" ;} .fa-dice-six:before{content:"\F01CF" ;} .fa-dice-three:before{content:"\F01CC" ;} .fa-dice-two:before{content:"\F01CB" ;} .fa-digital-ocean:before{content:"\F1237" ;} .fa-diploma:before{content:"\F0124" ;} .fa-directions:before{content:"\F01D0" ;} .fa-disc-drive:before{content:"\F05EE" ;} .fa-discord:before{content:"\F066F" ;} .fa-divide:before{content:"\F0FDF" ;} .fa-dna:before{content:"\F0684" ;} .fa-do-not-enter:before{content:"\F0376" ;} .fa-docker:before{content:"\F0868" ;} .fa-dog:before{content:"\F0A43" ;} .fa-dog-leashed:before{content:"\F0A43" ;} .fa-dollar-sign:before{content:"\F01C1" ;} .fa-dolly:before{content:"\F0E9E" ;} .fa-dolly-empty:before{content:"\F0E9E" ;} .fa-dolly-flatbed:before{content:"\F0E9E" ;} .fa-dolly-flatbed-alt:before{content:"\F0E9E" ;} .fa-dolly-flatbed-empty:before{content:"\F0E9E" ;} .fa-donate:before{content:"\F02A1" ;} .fa-door-closed:before{content:"\F081B" ;} .fa-door-open:before{content:"\F081C" ;} .fa-download:before{content:"\F01DA" ;} .fa-draw-circle:before{content:"\F0F49" ;} .fa-draw-polygon:before{content:"\F0F49" ;} .fa-draw-square:before{content:"\F0F49" ;} .fa-drone:before{content:"\F01E2" ;} .fa-drone-alt:before{content:"\F01E2" ;} .fa-dropbox:before{content:"\F01E3" ;} .fa-drupal:before{content:"\F01E4" ;} .fa-duck:before{content:"\F01E5" ;} .fa-dumbbell:before{content:"\F01E6" ;} .fa-edit:before{content:"\F03EB" ;} .fa-egg:before{content:"\F0AAF" ;} .fa-egg-fried:before{content:"\F0AAF" ;} .fa-eject:before{content:"\F01EA" ;} .fa-elephant:before{content:"\F07C6" ;} .fa-ellipsis-h:before{content:"\F01D8" ;} .fa-ellipsis-h-alt:before{content:"\F01D8" ;} .fa-ellipsis-v:before{content:"\F01D9" ;} .fa-ellipsis-v-alt:before{content:"\F01D9" ;} .fa-ember:before{content:"\F0B30" ;} .fa-engine-warning:before{content:"\F01FA" ;} .fa-envelope:before{content:"\F01EE" ;} .fa-envelope-open:before{content:"\F01EF" ;} .fa-envelope-open-dollar:before{content:"\F01EF" ;} .fa-envelope-open-text:before{content:"\F01EF" ;} .fa-envelope-square:before{content:"\F0D03" ;} .fa-eraser:before{content:"\F01FE" ;} .fa-ethereum:before{content:"\F086A" ;} .fa-ethernet:before{content:"\F0200" ;} .fa-euro-sign:before{content:"\F01AD" ;} .fa-evernote:before{content:"\F0204" ;} .fa-exclamation:before{content:"\F0205" ;} .fa-exclamation-circle:before{content:"\F0028" ;} .fa-exclamation-square:before{content:"\F0027" ;} .fa-exclamation-triangle:before{content:"\F0026" ;} .fa-expand:before{content:"\F0293" ;} .fa-expand-alt:before{content:"\F0616" ;} .fa-expand-arrows:before{content:"\F0293" ;} .fa-expand-arrows-alt:before{content:"\F0293" ;} .fa-expand-wide:before{content:"\F0293" ;} .fa-external-link:before{content:"\F03CC" ;} .fa-external-link-alt:before{content:"\F03CC" ;} .fa-external-link-square:before{content:"\F03CC" ;} .fa-external-link-square-alt:before{content:"\F03CC" ;} .fa-eye:before{content:"\F0208" ;} .fa-eye-dropper:before{content:"\F0208" ;} .fa-eye-evil:before{content:"\F0208" ;} .fa-eye-slash:before{content:"\F0209" ;} .fa-facebook:before{content:"\F020C" ;} .fa-facebook-f:before{content:"\F020C" ;} .fa-facebook-messenger:before{content:"\F020E" ;} .fa-facebook-square:before{content:"\F020C" ;} .fa-fan:before{content:"\F0210" ;} .fa-fan-table:before{content:"\F0210" ;} .fa-farm:before{content:"\F0892" ;} .fa-fast-forward:before{content:"\F0211" ;} .fa-faucet:before{content:"\F058F" ;} .fa-faucet-drip:before{content:"\F058F" ;} .fa-fax:before{content:"\F0212" ;} .fa-feather:before{content:"\F06D3" ;} .fa-feather-alt:before{content:"\F06D3" ;} .fa-fedora:before{content:"\F08DB" ;} .fa-file:before{content:"\F0214" ;} .fa-file-alt:before{content:"\F0214" ;} .fa-file-archive:before{content:"\F0214" ;} .fa-file-audio:before{content:"\F0214" ;} .fa-file-certificate:before{content:"\F1186" ;} .fa-file-chart-line:before{content:"\F0215" ;} .fa-file-chart-pie:before{content:"\F0215" ;} .fa-file-check:before{content:"\F0216" ;} .fa-file-code:before{content:"\F022E" ;} .fa-file-contract:before{content:"\F0214" ;} .fa-file-csv:before{content:"\F0218" ;} .fa-file-download:before{content:"\F0965" ;} .fa-file-edit:before{content:"\F11E7" ;} .fa-file-excel:before{content:"\F021B" ;} .fa-file-exclamation:before{content:"\F0A4B" ;} .fa-file-export:before{content:"\F021D" ;} .fa-file-image:before{content:"\F021F" ;} .fa-file-import:before{content:"\F0220" ;} .fa-file-invoice:before{content:"\F0214" ;} .fa-file-invoice-dollar:before{content:"\F0214" ;} .fa-file-medical:before{content:"\F0214" ;} .fa-file-medical-alt:before{content:"\F0214" ;} .fa-file-minus:before{content:"\F0214" ;} .fa-file-music:before{content:"\F0223" ;} .fa-file-pdf:before{content:"\F0225" ;} .fa-file-plus:before{content:"\F0752" ;} .fa-file-powerpoint:before{content:"\F0227" ;} .fa-file-prescription:before{content:"\F0214" ;} .fa-file-search:before{content:"\F0C7C" ;} .fa-file-signature:before{content:"\F0214" ;} .fa-file-spreadsheet:before{content:"\F0214" ;} .fa-file-times:before{content:"\F0214" ;} .fa-file-upload:before{content:"\F0A4D" ;} .fa-file-user:before{content:"\F073B" ;} .fa-file-video:before{content:"\F022B" ;} .fa-file-word:before{content:"\F022C" ;} .fa-files-medical:before{content:"\F0222" ;} .fa-film:before{content:"\F022F" ;} .fa-film-alt:before{content:"\F022F" ;} .fa-film-canister:before{content:"\F022F" ;} .fa-filter:before{content:"\F0232" ;} .fa-fingerprint:before{content:"\F0237" ;} .fa-fire:before{content:"\F0238" ;} .fa-fire-alt:before{content:"\F0238" ;} .fa-fire-extinguisher:before{content:"\F0EF2" ;} .fa-fire-smoke:before{content:"\F0238" ;} .fa-firefox:before{content:"\F0239" ;} .fa-firefox-browser:before{content:"\F0239" ;} .fa-fireplace:before{content:"\F0E2E" ;} .fa-fish:before{content:"\F023A" ;} .fa-fish-cooked:before{content:"\F023A" ;} .fa-flag:before{content:"\F023B" ;} .fa-flag-alt:before{content:"\F023B" ;} .fa-flag-checkered:before{content:"\F023C" ;} .fa-flag-usa:before{content:"\F023B" ;} .fa-flame:before{content:"\F0238" ;} .fa-flashlight:before{content:"\F0244" ;} .fa-flask:before{content:"\F0093" ;} .fa-flask-poison:before{content:"\F0093" ;} .fa-flask-potion:before{content:"\F0093" ;} .fa-flower:before{content:"\F024A" ;} .fa-flower-daffodil:before{content:"\F024A" ;} .fa-flower-tulip:before{content:"\F09F1" ;} .fa-fly:before{content:"\F0FA1" ;} .fa-folder:before{content:"\F024B" ;} .fa-folder-download:before{content:"\F024D" ;} .fa-folder-minus:before{content:"\F024B" ;} .fa-folder-open:before{content:"\F0770" ;} .fa-folder-plus:before{content:"\F0257" ;} .fa-folder-times:before{content:"\F024B" ;} .fa-folder-tree:before{content:"\F024B" ;} .fa-folder-upload:before{content:"\F0259" ;} .fa-folders:before{content:"\F0253" ;} .fa-font:before{content:"\F06D6" ;} .fa-font-awesome:before{content:"\F003A" ;} .fa-font-awesome-alt:before{content:"\F003A" ;} .fa-font-awesome-flag:before{content:"\F003A" ;} .fa-font-awesome-logo-full:before{content:"\F003A" ;} .fa-font-case:before{content:"\F06D6" ;} .fa-football-ball:before{content:"\F025D" ;} .fa-football-helmet:before{content:"\F025F" ;} .fa-forklift:before{content:"\F07C9" ;} .fa-forward:before{content:"\F0211" ;} .fa-freebsd:before{content:"\F08E0" ;} .fa-function:before{content:"\F0295" ;} .fa-funnel-dollar:before{content:"\F0232" ;} .fa-futbol:before{content:"\F04B8" ;} .fa-gamepad:before{content:"\F0296" ;} .fa-gamepad-alt:before{content:"\F0296" ;} .fa-garage:before{content:"\F06D9" ;} .fa-garage-car:before{content:"\F06D9" ;} .fa-garage-open:before{content:"\F06DA" ;} .fa-gas-pump:before{content:"\F0298" ;} .fa-gas-pump-slash:before{content:"\F1409" ;} .fa-gavel:before{content:"\F029B" ;} .fa-ghost:before{content:"\F02A0" ;} .fa-gift:before{content:"\F0E44" ;} .fa-gift-card:before{content:"\F0E44" ;} .fa-git:before{content:"\F02A2" ;} .fa-git-alt:before{content:"\F02A2" ;} .fa-git-square:before{content:"\F02A2" ;} .fa-github:before{content:"\F02A4" ;} .fa-github-alt:before{content:"\F02A4" ;} .fa-github-square:before{content:"\F02A4" ;} .fa-gitlab:before{content:"\F0BA0" ;} .fa-glass:before{content:"\F01AA" ;} .fa-glass-champagne:before{content:"\F01AA" ;} .fa-glass-cheers:before{content:"\F01AA" ;} .fa-glass-citrus:before{content:"\F01AA" ;} .fa-glass-martini:before{content:"\F01AA" ;} .fa-glass-martini-alt:before{content:"\F01AA" ;} .fa-glass-whiskey:before{content:"\F01AA" ;} .fa-glass-whiskey-rocks:before{content:"\F01AA" ;} .fa-glasses:before{content:"\F02AA" ;} .fa-glasses-alt:before{content:"\F02AA" ;} .fa-globe:before{content:"\F01E7" ;} .fa-globe-africa:before{content:"\F01E7" ;} .fa-globe-americas:before{content:"\F01E7" ;} .fa-globe-asia:before{content:"\F01E7" ;} .fa-globe-europe:before{content:"\F01E7" ;} .fa-globe-snow:before{content:"\F01E7" ;} .fa-globe-stand:before{content:"\F01E7" ;} .fa-golf-ball:before{content:"\F0823" ;} .fa-golf-club:before{content:"\F0823" ;} .fa-goodreads:before{content:"\F0D7B" ;} .fa-goodreads-g:before{content:"\F0D7B" ;} .fa-google:before{content:"\F02AD" ;} .fa-google-drive:before{content:"\F02B6" ;} .fa-google-pay:before{content:"\F02AD" ;} .fa-google-play:before{content:"\F02BC" ;} .fa-google-plus:before{content:"\F02BD" ;} .fa-google-plus-g:before{content:"\F02BD" ;} .fa-google-plus-square:before{content:"\F02BD" ;} .fa-google-wallet:before{content:"\F02AD" ;} .fa-graduation-cap:before{content:"\F0474" ;} .fa-greater-than:before{content:"\F096D" ;} .fa-greater-than-equal:before{content:"\F096D" ;} .fa-grip-horizontal:before{content:"\F01DC" ;} .fa-guitar-electric:before{content:"\F02C4" ;} .fa-hamburger:before{content:"\F0685" ;} .fa-hammer:before{content:"\F08EA" ;} .fa-hammer-war:before{content:"\F08EA" ;} .fa-hand-heart:before{content:"\F10F1" ;} .fa-hand-holding:before{content:"\F0A4F" ;} .fa-hand-holding-box:before{content:"\F0A4F" ;} .fa-hand-holding-heart:before{content:"\F0A4F" ;} .fa-hand-holding-magic:before{content:"\F0A4F" ;} .fa-hand-holding-medical:before{content:"\F0A4F" ;} .fa-hand-holding-seedling:before{content:"\F0A4F" ;} .fa-hand-holding-usd:before{content:"\F0A4F" ;} .fa-hand-holding-water:before{content:"\F0A4F" ;} .fa-hand-lizard:before{content:"\F0A4F" ;} .fa-hand-middle-finger:before{content:"\F0A4F" ;} .fa-hand-paper:before{content:"\F0A4F" ;} .fa-hand-peace:before{content:"\F0A51" ;} .fa-hand-point-down:before{content:"\F0A4F" ;} .fa-hand-point-left:before{content:"\F0A4F" ;} .fa-hand-point-right:before{content:"\F0A4F" ;} .fa-hand-point-up:before{content:"\F0A4F" ;} .fa-hand-pointer:before{content:"\F0A4F" ;} .fa-hand-receiving:before{content:"\F0A4F" ;} .fa-hand-rock:before{content:"\F0A4F" ;} .fa-hand-scissors:before{content:"\F0A4F" ;} .fa-hand-sparkles:before{content:"\F0A4F" ;} .fa-hand-spock:before{content:"\F0A4F" ;} .fa-hands-helping:before{content:"\F1218" ;} .fa-handshake:before{content:"\F1218" ;} .fa-handshake-alt:before{content:"\F1218" ;} .fa-handshake-alt-slash:before{content:"\F1218" ;} .fa-handshake-slash:before{content:"\F1218" ;} .fa-hard-hat:before{content:"\F096F" ;} .fa-hashtag:before{content:"\F0423" ;} .fa-hat-chef:before{content:"\F0B7C" ;} .fa-hdd:before{content:"\F02CA" ;} .fa-head-side:before{content:"\F135E" ;} .fa-head-side-brain:before{content:"\F135E" ;} .fa-head-side-cough:before{content:"\F135E" ;} .fa-head-side-cough-slash:before{content:"\F135E" ;} .fa-head-side-headphones:before{content:"\F135E" ;} .fa-head-side-mask:before{content:"\F135E" ;} .fa-head-side-medical:before{content:"\F135E" ;} .fa-head-side-virus:before{content:"\F135E" ;} .fa-head-vr:before{content:"\F135E" ;} .fa-heading:before{content:"\F05F4" ;} .fa-headphones:before{content:"\F02CB" ;} .fa-headphones-alt:before{content:"\F02CB" ;} .fa-headset:before{content:"\F02CE" ;} .fa-heart:before{content:"\F02D1" ;} .fa-heart-broken:before{content:"\F02D4" ;} .fa-heart-circle:before{content:"\F0971" ;} .fa-heart-rate:before{content:"\F02D1" ;} .fa-heart-square:before{content:"\F02D2" ;} .fa-helicopter:before{content:"\F0AC2" ;} .fa-helmet-battle:before{content:"\F096F" ;} .fa-hexagon:before{content:"\F02D8" ;} .fa-highlighter:before{content:"\F0652" ;} .fa-hiking:before{content:"\F0D7F" ;} .fa-history:before{content:"\F02DA" ;} .fa-hockey-puck:before{content:"\F0879" ;} .fa-hockey-sticks:before{content:"\F087A" ;} .fa-home:before{content:"\F02DC" ;} .fa-home-alt:before{content:"\F02DC" ;} .fa-home-heart:before{content:"\F0827" ;} .fa-home-lg:before{content:"\F02DC" ;} .fa-home-lg-alt:before{content:"\F02DC" ;} .fa-horse:before{content:"\F15BF" ;} .fa-horse-head:before{content:"\F15BF" ;} .fa-horse-saddle:before{content:"\F15BF" ;} .fa-hospital:before{content:"\F0FF6" ;} .fa-hospital-alt:before{content:"\F0FF6" ;} .fa-hospital-symbol:before{content:"\F0FF6" ;} .fa-hospital-user:before{content:"\F0FF6" ;} .fa-hot-tub:before{content:"\F0828" ;} .fa-hotel:before{content:"\F02E3" ;} .fa-hourglass:before{content:"\F051F" ;} .fa-hourglass-end:before{content:"\F051F" ;} .fa-hourglass-half:before{content:"\F051F" ;} .fa-hourglass-start:before{content:"\F051F" ;} .fa-house:before{content:"\F02DC" ;} .fa-house-damage:before{content:"\F02DC" ;} .fa-house-day:before{content:"\F02DC" ;} .fa-house-flood:before{content:"\F0EFA" ;} .fa-house-leave:before{content:"\F02DC" ;} .fa-house-night:before{content:"\F02DC" ;} .fa-house-return:before{content:"\F02DC" ;} .fa-house-signal:before{content:"\F02DC" ;} .fa-house-user:before{content:"\F0826" ;} .fa-hubspot:before{content:"\F0D17" ;} .fa-humidity:before{content:"\F058E" ;} .fa-ice-cream:before{content:"\F082A" ;} .fa-ice-skate:before{content:"\F0D35" ;} .fa-id-card:before{content:"\F0FC0" ;} .fa-id-card-alt:before{content:"\F0FC0" ;} .fa-image:before{content:"\F02E9" ;} .fa-image-polaroid:before{content:"\F02E9" ;} .fa-images:before{content:"\F02F9" ;} .fa-inbox:before{content:"\F0687" ;} .fa-inbox-in:before{content:"\F0687" ;} .fa-inbox-out:before{content:"\F0687" ;} .fa-indent:before{content:"\F0276" ;} .fa-infinity:before{content:"\F06E4" ;} .fa-info:before{content:"\F02FC" ;} .fa-info-circle:before{content:"\F02FC" ;} .fa-info-square:before{content:"\F02FC" ;} .fa-instagram:before{content:"\F02FE" ;} .fa-instagram-square:before{content:"\F02FE" ;} .fa-island-tropical:before{content:"\F104F" ;} .fa-italic:before{content:"\F0277" ;} .fa-jack-o-lantern:before{content:"\F0BA3" ;} .fa-jira:before{content:"\F0303" ;} .fa-journal-whills:before{content:"\F082E" ;} .fa-jsfiddle:before{content:"\F0304" ;} .fa-key:before{content:"\F0306" ;} .fa-key-skeleton:before{content:"\F0306" ;} .fa-keyboard:before{content:"\F030C" ;} .fa-khanda:before{content:"\F10FD" ;} .fa-kickstarter:before{content:"\F0745" ;} .fa-kickstarter-k:before{content:"\F0745" ;} .fa-knife-kitchen:before{content:"\F09FB" ;} .fa-lambda:before{content:"\F0627" ;} .fa-lamp:before{content:"\F06B5" ;} .fa-lamp-desk:before{content:"\F06B5" ;} .fa-lamp-floor:before{content:"\F06B5" ;} .fa-language:before{content:"\F059F" ;} .fa-laptop:before{content:"\F0322" ;} .fa-laptop-code:before{content:"\F0322" ;} .fa-laptop-house:before{content:"\F0322" ;} .fa-laptop-medical:before{content:"\F0322" ;} .fa-laravel:before{content:"\F0AD0" ;} .fa-lasso:before{content:"\F0F03" ;} .fa-leaf:before{content:"\F032A" ;} .fa-leaf-heart:before{content:"\F032A" ;} .fa-leaf-maple:before{content:"\F0C93" ;} .fa-leaf-oak:before{content:"\F032A" ;} .fa-less-than:before{content:"\F097C" ;} .fa-less-than-equal:before{content:"\F097C" ;} .fa-light-switch:before{content:"\F097E" ;} .fa-light-switch-off:before{content:"\F097E" ;} .fa-light-switch-on:before{content:"\F097E" ;} .fa-lightbulb:before{content:"\F0335" ;} .fa-lightbulb-dollar:before{content:"\F0335" ;} .fa-lightbulb-exclamation:before{content:"\F0335" ;} .fa-lightbulb-on:before{content:"\F06E8" ;} .fa-lightbulb-slash:before{content:"\F0E4F" ;} .fa-link:before{content:"\F0337" ;} .fa-linkedin:before{content:"\F033B" ;} .fa-linkedin-in:before{content:"\F033B" ;} .fa-linux:before{content:"\F033D" ;} .fa-lira-sign:before{content:"\F01B2" ;} .fa-list:before{content:"\F0279" ;} .fa-list-alt:before{content:"\F0279" ;} .fa-list-music:before{content:"\F0279" ;} .fa-list-ol:before{content:"\F027B" ;} .fa-list-ul:before{content:"\F0279" ;} .fa-location:before{content:"\F034E" ;} .fa-location-arrow:before{content:"\F034E" ;} .fa-location-circle:before{content:"\F034F" ;} .fa-location-slash:before{content:"\F0351" ;} .fa-lock:before{content:"\F033E" ;} .fa-lock-alt:before{content:"\F033E" ;} .fa-lock-open:before{content:"\F033F" ;} .fa-lock-open-alt:before{content:"\F033F" ;} .fa-long-arrow-alt-down:before{content:"\F0045" ;} .fa-long-arrow-alt-left:before{content:"\F004D" ;} .fa-long-arrow-alt-right:before{content:"\F0054" ;} .fa-long-arrow-alt-up:before{content:"\F005D" ;} .fa-long-arrow-down:before{content:"\F0045" ;} .fa-long-arrow-left:before{content:"\F004D" ;} .fa-long-arrow-right:before{content:"\F0054" ;} .fa-long-arrow-up:before{content:"\F005D" ;} .fa-loveseat:before{content:"\F156E" ;} .fa-luggage-cart:before{content:"\F0F3D" ;} .fa-lungs:before{content:"\F1084" ;} .fa-lungs-virus:before{content:"\F1084" ;} .fa-magic:before{content:"\F0068" ;} .fa-magnet:before{content:"\F0347" ;} .fa-mail-bulk:before{content:"\F0EBB" ;} .fa-mailbox:before{content:"\F06EE" ;} .fa-map:before{content:"\F034D" ;} .fa-map-marked:before{content:"\F034D" ;} .fa-map-marked-alt:before{content:"\F034D" ;} .fa-map-marker:before{content:"\F034E" ;} .fa-map-marker-alt:before{content:"\F034E" ;} .fa-map-marker-alt-slash:before{content:"\F0351" ;} .fa-map-marker-check:before{content:"\F0C95" ;} .fa-map-marker-edit:before{content:"\F034E" ;} .fa-map-marker-exclamation:before{content:"\F0F05" ;} .fa-map-marker-minus:before{content:"\F0650" ;} .fa-map-marker-plus:before{content:"\F0651" ;} .fa-map-marker-question:before{content:"\F0F07" ;} .fa-map-marker-slash:before{content:"\F0351" ;} .fa-map-marker-smile:before{content:"\F034E" ;} .fa-map-marker-times:before{content:"\F034E" ;} .fa-map-pin:before{content:"\F034D" ;} .fa-map-signs:before{content:"\F034D" ;} .fa-marker:before{content:"\F0652" ;} .fa-mars:before{content:"\F029D" ;} .fa-mars-double:before{content:"\F029D" ;} .fa-mars-stroke:before{content:"\F029D" ;} .fa-mars-stroke-h:before{content:"\F029D" ;} .fa-mars-stroke-v:before{content:"\F029D" ;} .fa-mask:before{content:"\F1023" ;} .fa-mastodon:before{content:"\F0AD1" ;} .fa-meat:before{content:"\F146A" ;} .fa-medal:before{content:"\F0987" ;} .fa-megaphone:before{content:"\F00E6" ;} .fa-memory:before{content:"\F035B" ;} .fa-mercury:before{content:"\F113F" ;} .fa-meteor:before{content:"\F0629" ;} .fa-microphone:before{content:"\F036C" ;} .fa-microphone-alt:before{content:"\F036C" ;} .fa-microphone-alt-slash:before{content:"\F036D" ;} .fa-microphone-slash:before{content:"\F036D" ;} .fa-microphone-stand:before{content:"\F036C" ;} .fa-microscope:before{content:"\F0654" ;} .fa-microsoft:before{content:"\F0372" ;} .fa-microwave:before{content:"\F0C99" ;} .fa-minus:before{content:"\F0374" ;} .fa-minus-circle:before{content:"\F0376" ;} .fa-minus-hexagon:before{content:"\F0374" ;} .fa-minus-octagon:before{content:"\F0374" ;} .fa-minus-square:before{content:"\F0375" ;} .fa-mobile:before{content:"\F011C" ;} .fa-mobile-alt:before{content:"\F011C" ;} .fa-mobile-android:before{content:"\F011D" ;} .fa-mobile-android-alt:before{content:"\F011D" ;} .fa-money-bill:before{content:"\F0116" ;} .fa-money-bill-alt:before{content:"\F0116" ;} .fa-money-bill-wave:before{content:"\F0116" ;} .fa-money-bill-wave-alt:before{content:"\F0116" ;} .fa-money-check:before{content:"\F0116" ;} .fa-money-check-alt:before{content:"\F0116" ;} .fa-money-check-edit:before{content:"\F0116" ;} .fa-money-check-edit-alt:before{content:"\F0116" ;} .fa-monitor-heart-rate:before{content:"\F0379" ;} .fa-moon:before{content:"\F0F65" ;} .fa-moon-cloud:before{content:"\F0F65" ;} .fa-moon-stars:before{content:"\F0F65" ;} .fa-motorcycle:before{content:"\F037C" ;} .fa-mountain:before{content:"\F02F5" ;} .fa-mouse:before{content:"\F037D" ;} .fa-mouse-alt:before{content:"\F037D" ;} .fa-mouse-pointer:before{content:"\F037D" ;} .fa-music:before{content:"\F075A" ;} .fa-music-alt:before{content:"\F075A" ;} .fa-music-alt-slash:before{content:"\F075B" ;} .fa-music-slash:before{content:"\F075B" ;} .fa-network-wired:before{content:"\F06F3" ;} .fa-newspaper:before{content:"\F0395" ;} .fa-not-equal:before{content:"\F098D" ;} .fa-notes-medical:before{content:"\F06B8" ;} .fa-npm:before{content:"\F06F7" ;} .fa-octagon:before{content:"\F03C3" ;} .fa-odnoklassniki:before{content:"\F03C5" ;} .fa-odnoklassniki-square:before{content:"\F03C5" ;} .fa-oil-can:before{content:"\F03C7" ;} .fa-oil-temp:before{content:"\F03C7" ;} .fa-om:before{content:"\F0973" ;} .fa-omega:before{content:"\F03C9" ;} .fa-openid:before{content:"\F03CD" ;} .fa-opera:before{content:"\F03CE" ;} .fa-ornament:before{content:"\F03CF" ;} .fa-outdent:before{content:"\F0275" ;} .fa-oven:before{content:"\F04DE" ;} .fa-paint-brush:before{content:"\F0665" ;} .fa-paint-brush-alt:before{content:"\F0665" ;} .fa-paint-roller:before{content:"\F0665" ;} .fa-palette:before{content:"\F03D8" ;} .fa-paper-plane:before{content:"\F048A" ;} .fa-paperclip:before{content:"\F03E2" ;} .fa-parachute-box:before{content:"\F0CB4" ;} .fa-paragraph:before{content:"\F027D" ;} .fa-paragraph-rtl:before{content:"\F027D" ;} .fa-parking:before{content:"\F03E3" ;} .fa-parking-circle:before{content:"\F03E3" ;} .fa-parking-circle-slash:before{content:"\F03E3" ;} .fa-parking-slash:before{content:"\F03E3" ;} .fa-passport:before{content:"\F07E3" ;} .fa-patreon:before{content:"\F0882" ;} .fa-pause:before{content:"\F03E4" ;} .fa-pause-circle:before{content:"\F03E5" ;} .fa-paw:before{content:"\F03E9" ;} .fa-paw-alt:before{content:"\F03E9" ;} .fa-paw-claws:before{content:"\F03E9" ;} .fa-peace:before{content:"\F0884" ;} .fa-pen:before{content:"\F03EA" ;} .fa-pen-alt:before{content:"\F03EA" ;} .fa-pen-fancy:before{content:"\F03EA" ;} .fa-pen-nib:before{content:"\F03EA" ;} .fa-pen-square:before{content:"\F03EA" ;} .fa-pencil:before{content:"\F03EB" ;} .fa-pencil-alt:before{content:"\F03EB" ;} .fa-pencil-paintbrush:before{content:"\F03EB" ;} .fa-pencil-ruler:before{content:"\F1353" ;} .fa-people-arrows:before{content:"\F000E" ;} .fa-people-carry:before{content:"\F000E" ;} .fa-pepper-hot:before{content:"\F110E" ;} .fa-percent:before{content:"\F03F0" ;} .fa-person-booth:before{content:"\F0004" ;} .fa-person-carry:before{content:"\F0004" ;} .fa-person-dolly:before{content:"\F0004" ;} .fa-person-dolly-empty:before{content:"\F0004" ;} .fa-person-sign:before{content:"\F0004" ;} .fa-phone:before{content:"\F03F2" ;} .fa-phone-alt:before{content:"\F03F2" ;} .fa-phone-laptop:before{content:"\F03F2" ;} .fa-phone-office:before{content:"\F03F2" ;} .fa-phone-plus:before{content:"\F0659" ;} .fa-phone-rotary:before{content:"\F03F2" ;} .fa-phone-slash:before{content:"\F0DEF" ;} .fa-phone-square:before{content:"\F03F2" ;} .fa-phone-square-alt:before{content:"\F03F2" ;} .fa-phone-volume:before{content:"\F03F2" ;} .fa-photo-video:before{content:"\F021F" ;} .fa-pi:before{content:"\F03FF" ;} .fa-piano:before{content:"\F067D" ;} .fa-piano-keyboard:before{content:"\F067D" ;} .fa-pig:before{content:"\F0401" ;} .fa-piggy-bank:before{content:"\F1007" ;} .fa-pinterest:before{content:"\F0407" ;} .fa-pinterest-p:before{content:"\F0407" ;} .fa-pinterest-square:before{content:"\F0407" ;} .fa-pizza:before{content:"\F0409" ;} .fa-pizza-slice:before{content:"\F0409" ;} .fa-place-of-worship:before{content:"\F034E" ;} .fa-plane:before{content:"\F001D" ;} .fa-plane-alt:before{content:"\F001D" ;} .fa-plane-arrival:before{content:"\F001D" ;} .fa-plane-departure:before{content:"\F001D" ;} .fa-plane-slash:before{content:"\F001E" ;} .fa-planet-moon:before{content:"\F01E7" ;} .fa-planet-ringed:before{content:"\F01E7" ;} .fa-play:before{content:"\F040A" ;} .fa-play-circle:before{content:"\F040C" ;} .fa-plus:before{content:"\F0415" ;} .fa-plus-circle:before{content:"\F0417" ;} .fa-plus-hexagon:before{content:"\F0415" ;} .fa-plus-octagon:before{content:"\F0415" ;} .fa-plus-square:before{content:"\F0416" ;} .fa-podcast:before{content:"\F0994" ;} .fa-podium:before{content:"\F0D25" ;} .fa-podium-star:before{content:"\F0D25" ;} .fa-poll:before{content:"\F041F" ;} .fa-poll-h:before{content:"\F041F" ;} .fa-poll-people:before{content:"\F041F" ;} .fa-popcorn:before{content:"\F0422" ;} .fa-portrait:before{content:"\F0007" ;} .fa-pound-sign:before{content:"\F0423" ;} .fa-power-off:before{content:"\F0902" ;} .fa-prescription:before{content:"\F0706" ;} .fa-prescription-bottle:before{content:"\F0706" ;} .fa-prescription-bottle-alt:before{content:"\F0706" ;} .fa-presentation:before{content:"\F0428" ;} .fa-projector:before{content:"\F042E" ;} .fa-pump-medical:before{content:"\F1402" ;} .fa-pump-soap:before{content:"\F1402" ;} .fa-pumpkin:before{content:"\F0BBF" ;} .fa-puzzle-piece:before{content:"\F0431" ;} .fa-qrcode:before{content:"\F0432" ;} .fa-question:before{content:"\F02D6" ;} .fa-question-circle:before{content:"\F02D7" ;} .fa-question-square:before{content:"\F078B" ;} .fa-quora:before{content:"\F0D29" ;} .fa-quote-left:before{content:"\F0757" ;} .fa-quote-right:before{content:"\F027E" ;} .fa-rabbit:before{content:"\F0907" ;} .fa-rabbit-fast:before{content:"\F0907" ;} .fa-radar:before{content:"\F0437" ;} .fa-radiation:before{content:"\F043C" ;} .fa-radiation-alt:before{content:"\F043C" ;} .fa-radio:before{content:"\F0439" ;} .fa-radio-alt:before{content:"\F0439" ;} .fa-rainbow:before{content:"\F0344" ;} .fa-raspberry-pi:before{content:"\F043F" ;} .fa-react:before{content:"\F0708" ;} .fa-receipt:before{content:"\F0449" ;} .fa-record-vinyl:before{content:"\F044A" ;} .fa-rectangle-landscape:before{content:"\F0E5E" ;} .fa-rectangle-portrait:before{content:"\F0E5E" ;} .fa-rectangle-wide:before{content:"\F0E5E" ;} .fa-recycle:before{content:"\F044C" ;} .fa-reddit:before{content:"\F044D" ;} .fa-reddit-alien:before{content:"\F044D" ;} .fa-reddit-square:before{content:"\F044D" ;} .fa-redhat:before{content:"\F111B" ;} .fa-redo:before{content:"\F044E" ;} .fa-redo-alt:before{content:"\F044E" ;} .fa-refrigerator:before{content:"\F0290" ;} .fa-remove-format:before{content:"\F0374" ;} .fa-repeat:before{content:"\F0456" ;} .fa-repeat-1:before{content:"\F0456" ;} .fa-repeat-1-alt:before{content:"\F0456" ;} .fa-repeat-alt:before{content:"\F0456" ;} .fa-reply:before{content:"\F045A" ;} .fa-reply-all:before{content:"\F045B" ;} .fa-ribbon:before{content:"\F0460" ;} .fa-ring:before{content:"\F07EB" ;} .fa-road:before{content:"\F0461" ;} .fa-robot:before{content:"\F06A9" ;} .fa-rocket:before{content:"\F0463" ;} .fa-rocket-launch:before{content:"\F14DE" ;} .fa-router:before{content:"\F11E2" ;} .fa-rss:before{content:"\F046B" ;} .fa-rss-square:before{content:"\F046C" ;} .fa-ruble-sign:before{content:"\F01B1" ;} .fa-ruler:before{content:"\F046D" ;} .fa-ruler-combined:before{content:"\F046D" ;} .fa-ruler-horizontal:before{content:"\F046D" ;} .fa-ruler-triangle:before{content:"\F046D" ;} .fa-ruler-vertical:before{content:"\F046D" ;} .fa-rupee-sign:before{content:"\F01AF" ;} .fa-sack:before{content:"\F0D2E" ;} .fa-sack-dollar:before{content:"\F0D2E" ;} .fa-salesforce:before{content:"\F088E" ;} .fa-sass:before{content:"\F07EC" ;} .fa-satellite:before{content:"\F0470" ;} .fa-satellite-dish:before{content:"\F0470" ;} .fa-sausage:before{content:"\F08BA" ;} .fa-save:before{content:"\F0249" ;} .fa-saxophone:before{content:"\F0609" ;} .fa-scanner:before{content:"\F06AB" ;} .fa-scanner-image:before{content:"\F06AB" ;} .fa-scanner-keyboard:before{content:"\F06AB" ;} .fa-scanner-touchscreen:before{content:"\F06AB" ;} .fa-school:before{content:"\F0474" ;} .fa-screwdriver:before{content:"\F0476" ;} .fa-scroll:before{content:"\F0BC1" ;} .fa-scroll-old:before{content:"\F0BC1" ;} .fa-sd-card:before{content:"\F0479" ;} .fa-search:before{content:"\F0349" ;} .fa-search-dollar:before{content:"\F0349" ;} .fa-search-location:before{content:"\F0349" ;} .fa-search-minus:before{content:"\F034A" ;} .fa-search-plus:before{content:"\F034B" ;} .fa-seedling:before{content:"\F0E66" ;} .fa-send-back:before{content:"\F048A" ;} .fa-send-backward:before{content:"\F048A" ;} .fa-server:before{content:"\F048B" ;} .fa-share:before{content:"\F0496" ;} .fa-share-all:before{content:"\F11F4" ;} .fa-share-alt:before{content:"\F0497" ;} .fa-share-alt-square:before{content:"\F0497" ;} .fa-share-square:before{content:"\F0496" ;} .fa-sheep:before{content:"\F0CC6" ;} .fa-shield:before{content:"\F0498" ;} .fa-shield-alt:before{content:"\F0498" ;} .fa-shield-check:before{content:"\F0565" ;} .fa-shield-cross:before{content:"\F0CC9" ;} .fa-shield-virus:before{content:"\F0498" ;} .fa-ship:before{content:"\F0213" ;} .fa-shopping-bag:before{content:"\F049A" ;} .fa-shopping-basket:before{content:"\F0076" ;} .fa-shopping-cart:before{content:"\F0110" ;} .fa-shovel:before{content:"\F0710" ;} .fa-shovel-snow:before{content:"\F0710" ;} .fa-shower:before{content:"\F09A0" ;} .fa-shredder:before{content:"\F049C" ;} .fa-shuttlecock:before{content:"\F0851" ;} .fa-sigma:before{content:"\F04A0" ;} .fa-sign:before{content:"\F0F49" ;} .fa-sign-in:before{content:"\F0342" ;} .fa-sign-in-alt:before{content:"\F0342" ;} .fa-sign-language:before{content:"\F0F49" ;} .fa-sign-out:before{content:"\F0343" ;} .fa-sign-out-alt:before{content:"\F0343" ;} .fa-signal:before{content:"\F04A2" ;} .fa-signal-1:before{content:"\F04A2" ;} .fa-signal-2:before{content:"\F04A2" ;} .fa-signal-3:before{content:"\F04A2" ;} .fa-signal-4:before{content:"\F04A2" ;} .fa-signal-alt:before{content:"\F04A2" ;} .fa-signal-alt-1:before{content:"\F04A2" ;} .fa-signal-alt-2:before{content:"\F04A2" ;} .fa-signal-alt-3:before{content:"\F04A2" ;} .fa-signal-alt-slash:before{content:"\F0783" ;} .fa-signal-slash:before{content:"\F0783" ;} .fa-signal-stream:before{content:"\F04A2" ;} .fa-signature:before{content:"\F0DFB" ;} .fa-sim-card:before{content:"\F04A7" ;} .fa-sitemap:before{content:"\F04AA" ;} .fa-ski-jump:before{content:"\F1304" ;} .fa-ski-lift:before{content:"\F1304" ;} .fa-skull:before{content:"\F068C" ;} .fa-skull-cow:before{content:"\F068C" ;} .fa-skull-crossbones:before{content:"\F0BC6" ;} .fa-skype:before{content:"\F04AF" ;} .fa-slack:before{content:"\F04B1" ;} .fa-slack-hash:before{content:"\F04B1" ;} .fa-smile:before{content:"\F0C71" ;} .fa-smile-beam:before{content:"\F0C71" ;} .fa-smile-plus:before{content:"\F0C71" ;} .fa-smile-wink:before{content:"\F0C71" ;} .fa-smog:before{content:"\F0A71" ;} .fa-smoking:before{content:"\F04B4" ;} .fa-smoking-ban:before{content:"\F04B4" ;} .fa-sms:before{content:"\F0366" ;} .fa-snake:before{content:"\F150E" ;} .fa-snapchat:before{content:"\F04B6" ;} .fa-snapchat-ghost:before{content:"\F04B6" ;} .fa-snapchat-square:before{content:"\F04B6" ;} .fa-snowflake:before{content:"\F0717" ;} .fa-snowman:before{content:"\F04B7" ;} .fa-solar-panel:before{content:"\F0D9B" ;} .fa-sort:before{content:"\F04BA" ;} .fa-sort-alpha-down:before{content:"\F04BA" ;} .fa-sort-alpha-down-alt:before{content:"\F04BA" ;} .fa-sort-alpha-up:before{content:"\F04BA" ;} .fa-sort-alpha-up-alt:before{content:"\F04BA" ;} .fa-sort-alt:before{content:"\F04BA" ;} .fa-sort-amount-down:before{content:"\F04BA" ;} .fa-sort-amount-down-alt:before{content:"\F04BA" ;} .fa-sort-amount-up:before{content:"\F04BA" ;} .fa-sort-amount-up-alt:before{content:"\F04BA" ;} .fa-sort-circle:before{content:"\F04BA" ;} .fa-sort-circle-down:before{content:"\F04BA" ;} .fa-sort-circle-up:before{content:"\F04BA" ;} .fa-sort-down:before{content:"\F04BA" ;} .fa-sort-numeric-down:before{content:"\F04BA" ;} .fa-sort-numeric-down-alt:before{content:"\F04BA" ;} .fa-sort-numeric-up:before{content:"\F04BA" ;} .fa-sort-numeric-up-alt:before{content:"\F04BA" ;} .fa-sort-shapes-down:before{content:"\F04BA" ;} .fa-sort-shapes-down-alt:before{content:"\F04BA" ;} .fa-sort-shapes-up:before{content:"\F04BA" ;} .fa-sort-shapes-up-alt:before{content:"\F04BA" ;} .fa-sort-size-down:before{content:"\F04BA" ;} .fa-sort-size-down-alt:before{content:"\F04BA" ;} .fa-sort-size-up:before{content:"\F04BA" ;} .fa-sort-size-up-alt:before{content:"\F04BA" ;} .fa-sort-up:before{content:"\F04BA" ;} .fa-soundcloud:before{content:"\F04C0" ;} .fa-spa:before{content:"\F0CD1" ;} .fa-space-station-moon:before{content:"\F1383" ;} .fa-space-station-moon-alt:before{content:"\F1383" ;} .fa-spade:before{content:"\F0E65" ;} .fa-sparkles:before{content:"\F1545" ;} .fa-speaker:before{content:"\F04C3" ;} .fa-speaker-deck:before{content:"\F04C3" ;} .fa-speakers:before{content:"\F0D38" ;} .fa-spider:before{content:"\F11EA" ;} .fa-spider-black-widow:before{content:"\F11EA" ;} .fa-spider-web:before{content:"\F0BCA" ;} .fa-spotify:before{content:"\F04C7" ;} .fa-spray-can:before{content:"\F0665" ;} .fa-sprinkler:before{content:"\F105F" ;} .fa-square:before{content:"\F0131" ;} .fa-square-full:before{content:"\F0131" ;} .fa-square-root:before{content:"\F0784" ;} .fa-square-root-alt:before{content:"\F0784" ;} .fa-stack-exchange:before{content:"\F060B" ;} .fa-stack-overflow:before{content:"\F04CC" ;} .fa-stackpath:before{content:"\F0359" ;} .fa-star:before{content:"\F04CE" ;} .fa-star-and-crescent:before{content:"\F0979" ;} .fa-star-christmas:before{content:"\F04CE" ;} .fa-star-exclamation:before{content:"\F04CE" ;} .fa-star-half:before{content:"\F0246" ;} .fa-star-half-alt:before{content:"\F0246" ;} .fa-star-of-david:before{content:"\F097A" ;} .fa-star-of-life:before{content:"\F04CE" ;} .fa-star-shooting:before{content:"\F04CE" ;} .fa-stars:before{content:"\F04CF" ;} .fa-steam:before{content:"\F04D3" ;} .fa-steam-square:before{content:"\F04D3" ;} .fa-steam-symbol:before{content:"\F04D3" ;} .fa-steering-wheel:before{content:"\F04D4" ;} .fa-step-backward:before{content:"\F04D5" ;} .fa-step-forward:before{content:"\F04D7" ;} .fa-stethoscope:before{content:"\F04D9" ;} .fa-sticker-mule:before{content:"\F1364" ;} .fa-stocking:before{content:"\F04DA" ;} .fa-stomach:before{content:"\F1093" ;} .fa-stop:before{content:"\F04DB" ;} .fa-stop-circle:before{content:"\F0666" ;} .fa-stopwatch:before{content:"\F13AB" ;} .fa-stopwatch-20:before{content:"\F13AB" ;} .fa-store:before{content:"\F04DC" ;} .fa-store-alt:before{content:"\F04DC" ;} .fa-store-alt-slash:before{content:"\F04DC" ;} .fa-store-slash:before{content:"\F04DC" ;} .fa-strikethrough:before{content:"\F0280" ;} .fa-subway:before{content:"\F06AC" ;} .fa-sunglasses:before{content:"\F04E0" ;} .fa-sunrise:before{content:"\F059C" ;} .fa-swimming-pool:before{content:"\F0606" ;} .fa-sword:before{content:"\F04E5" ;} .fa-sword-laser:before{content:"\F04E5" ;} .fa-sword-laser-alt:before{content:"\F04E5" ;} .fa-symfony:before{content:"\F0AE6" ;} .fa-sync:before{content:"\F04E6" ;} .fa-sync-alt:before{content:"\F04E6" ;} .fa-syringe:before{content:"\F0391" ;} .fa-table:before{content:"\F04EB" ;} .fa-table-tennis:before{content:"\F0E68" ;} .fa-tablet:before{content:"\F04F6" ;} .fa-tablet-alt:before{content:"\F04F6" ;} .fa-tablet-android:before{content:"\F04F7" ;} .fa-tablet-android-alt:before{content:"\F04F7" ;} .fa-tablet-rugged:before{content:"\F04F6" ;} .fa-taco:before{content:"\F0762" ;} .fa-tag:before{content:"\F04F9" ;} .fa-tags:before{content:"\F04FB" ;} .fa-tape:before{content:"\F09D4" ;} .fa-taxi:before{content:"\F04FF" ;} .fa-telegram:before{content:"\F0501" ;} .fa-telegram-plane:before{content:"\F0501" ;} .fa-telescope:before{content:"\F0B4E" ;} .fa-tennis-ball:before{content:"\F0507" ;} .fa-terminal:before{content:"\F018D" ;} .fa-text:before{content:"\F09A8" ;} .fa-text-height:before{content:"\F09A8" ;} .fa-text-size:before{content:"\F09A8" ;} .fa-text-width:before{content:"\F09A8" ;} .fa-theater-masks:before{content:"\F050D" ;} .fa-thermometer:before{content:"\F050F" ;} .fa-thermometer-empty:before{content:"\F050F" ;} .fa-thermometer-full:before{content:"\F050F" ;} .fa-thermometer-half:before{content:"\F050F" ;} .fa-thermometer-quarter:before{content:"\F050F" ;} .fa-thermometer-three-quarters:before{content:"\F050F" ;} .fa-thumbs-down:before{content:"\F0511" ;} .fa-thumbs-up:before{content:"\F0513" ;} .fa-thumbtack:before{content:"\F0403" ;} .fa-ticket:before{content:"\F0516" ;} .fa-ticket-alt:before{content:"\F0516" ;} .fa-tilde:before{content:"\F0725" ;} .fa-times:before{content:"\F0156" ;} .fa-times-circle:before{content:"\F0156" ;} .fa-times-hexagon:before{content:"\F0156" ;} .fa-times-octagon:before{content:"\F0156" ;} .fa-times-square:before{content:"\F0156" ;} .fa-tint:before{content:"\F0266" ;} .fa-tint-slash:before{content:"\F0266" ;} .fa-toilet:before{content:"\F09AB" ;} .fa-toilet-paper:before{content:"\F1157" ;} .fa-toilet-paper-alt:before{content:"\F1157" ;} .fa-toilet-paper-slash:before{content:"\F1157" ;} .fa-tombstone:before{content:"\F0BA2" ;} .fa-tombstone-alt:before{content:"\F0BA2" ;} .fa-toolbox:before{content:"\F09AC" ;} .fa-tools:before{content:"\F1064" ;} .fa-tooth:before{content:"\F08C3" ;} .fa-toothbrush:before{content:"\F1129" ;} .fa-tractor:before{content:"\F0892" ;} .fa-trademark:before{content:"\F0A78" ;} .fa-traffic-cone:before{content:"\F137C" ;} .fa-traffic-light:before{content:"\F052B" ;} .fa-traffic-light-go:before{content:"\F052B" ;} .fa-traffic-light-slow:before{content:"\F052B" ;} .fa-traffic-light-stop:before{content:"\F052B" ;} .fa-train:before{content:"\F052C" ;} .fa-tram:before{content:"\F052D" ;} .fa-trash:before{content:"\F01B4" ;} .fa-trash-alt:before{content:"\F01B4" ;} .fa-trash-restore:before{content:"\F0819" ;} .fa-trash-restore-alt:before{content:"\F0819" ;} .fa-trash-undo:before{content:"\F01B4" ;} .fa-trash-undo-alt:before{content:"\F01B4" ;} .fa-treasure-chest:before{content:"\F0726" ;} .fa-tree:before{content:"\F0531" ;} .fa-tree-alt:before{content:"\F0531" ;} .fa-tree-christmas:before{content:"\F0531" ;} .fa-tree-decorated:before{content:"\F0531" ;} .fa-tree-large:before{content:"\F0531" ;} .fa-tree-palm:before{content:"\F0531" ;} .fa-trello:before{content:"\F0532" ;} .fa-triangle:before{content:"\F0536" ;} .fa-triangle-music:before{content:"\F0536" ;} .fa-trophy:before{content:"\F0538" ;} .fa-trophy-alt:before{content:"\F0538" ;} .fa-truck:before{content:"\F053D" ;} .fa-truck-container:before{content:"\F053D" ;} .fa-truck-couch:before{content:"\F053D" ;} .fa-truck-loading:before{content:"\F053D" ;} .fa-truck-monster:before{content:"\F053D" ;} .fa-truck-moving:before{content:"\F053D" ;} .fa-truck-pickup:before{content:"\F053D" ;} .fa-truck-plow:before{content:"\F053D" ;} .fa-truck-ramp:before{content:"\F053D" ;} .fa-trumpet:before{content:"\F1096" ;} .fa-turtle:before{content:"\F0CD7" ;} .fa-tv:before{content:"\F0502" ;} .fa-tv-alt:before{content:"\F0502" ;} .fa-tv-music:before{content:"\F0502" ;} .fa-tv-retro:before{content:"\F0502" ;} .fa-twitch:before{content:"\F0543" ;} .fa-twitter:before{content:"\F0544" ;} .fa-twitter-square:before{content:"\F0544" ;} .fa-typewriter:before{content:"\F0F2D" ;} .fa-ubuntu:before{content:"\F0548" ;} .fa-ufo:before{content:"\F10C4" ;} .fa-ufo-beam:before{content:"\F10C4" ;} .fa-umbraco:before{content:"\F0549" ;} .fa-umbrella:before{content:"\F054A" ;} .fa-umbrella-beach:before{content:"\F054A" ;} .fa-underline:before{content:"\F0287" ;} .fa-undo:before{content:"\F054C" ;} .fa-undo-alt:before{content:"\F054C" ;} .fa-unicorn:before{content:"\F15C2" ;} .fa-unity:before{content:"\F06AF" ;} .fa-university:before{content:"\F0474" ;} .fa-unlink:before{content:"\F0338" ;} .fa-untappd:before{content:"\F0551" ;} .fa-upload:before{content:"\F0552" ;} .fa-usb:before{content:"\F0553" ;} .fa-usb-drive:before{content:"\F0553" ;} .fa-user:before{content:"\F0004" ;} .fa-user-alien:before{content:"\F0004" ;} .fa-user-alt:before{content:"\F0004" ;} .fa-user-alt-slash:before{content:"\F0012" ;} .fa-user-astronaut:before{content:"\F0004" ;} .fa-user-chart:before{content:"\F0004" ;} .fa-user-check:before{content:"\F0008" ;} .fa-user-circle:before{content:"\F0009" ;} .fa-user-clock:before{content:"\F0B56" ;} .fa-user-cog:before{content:"\F1370" ;} .fa-user-cowboy:before{content:"\F0004" ;} .fa-user-crown:before{content:"\F0004" ;} .fa-user-edit:before{content:"\F06BC" ;} .fa-user-friends:before{content:"\F0004" ;} .fa-user-graduate:before{content:"\F0004" ;} .fa-user-hard-hat:before{content:"\F05B5" ;} .fa-user-headset:before{content:"\F0004" ;} .fa-user-injured:before{content:"\F0004" ;} .fa-user-lock:before{content:"\F115E" ;} .fa-user-md:before{content:"\F0004" ;} .fa-user-md-chat:before{content:"\F0004" ;} .fa-user-minus:before{content:"\F000D" ;} .fa-user-music:before{content:"\F0803" ;} .fa-user-ninja:before{content:"\F0004" ;} .fa-user-nurse:before{content:"\F0004" ;} .fa-user-plus:before{content:"\F0014" ;} .fa-user-robot:before{content:"\F0004" ;} .fa-user-secret:before{content:"\F0004" ;} .fa-user-shield:before{content:"\F0004" ;} .fa-user-slash:before{content:"\F0012" ;} .fa-user-tag:before{content:"\F0004" ;} .fa-user-tie:before{content:"\F0CE3" ;} .fa-user-times:before{content:"\F0004" ;} .fa-user-unlock:before{content:"\F0004" ;} .fa-user-visor:before{content:"\F0004" ;} .fa-users:before{content:"\F000E" ;} .fa-users-class:before{content:"\F000E" ;} .fa-users-cog:before{content:"\F000E" ;} .fa-users-crown:before{content:"\F000E" ;} .fa-users-medical:before{content:"\F000E" ;} .fa-users-slash:before{content:"\F000E" ;} .fa-vector-square:before{content:"\F0001" ;} .fa-venus:before{content:"\F029C" ;} .fa-venus-double:before{content:"\F029C" ;} .fa-venus-mars:before{content:"\F029C" ;} .fa-vhs:before{content:"\F0A1B" ;} .fa-video:before{content:"\F0567" ;} .fa-video-plus:before{content:"\F09B3" ;} .fa-video-slash:before{content:"\F0568" ;} .fa-vimeo:before{content:"\F0577" ;} .fa-vimeo-square:before{content:"\F0577" ;} .fa-vimeo-v:before{content:"\F0577" ;} .fa-violin:before{content:"\F060F" ;} .fa-virus:before{content:"\F13B6" ;} .fa-virus-slash:before{content:"\F13B6" ;} .fa-vk:before{content:"\F0579" ;} .fa-voicemail:before{content:"\F057D" ;} .fa-volleyball-ball:before{content:"\F09B4" ;} .fa-volume-mute:before{content:"\F075F" ;} .fa-volume-off:before{content:"\F0581" ;} .fa-volume-slash:before{content:"\F0581" ;} .fa-vote-nay:before{content:"\F0A1F" ;} .fa-vote-yea:before{content:"\F0A1F" ;} .fa-vr-cardboard:before{content:"\F0894" ;} .fa-vuejs:before{content:"\F0844" ;} .fa-walker:before{content:"\F0583" ;} .fa-walking:before{content:"\F0583" ;} .fa-wallet:before{content:"\F0584" ;} .fa-wand:before{content:"\F0068" ;} .fa-wand-magic:before{content:"\F0068" ;} .fa-warehouse:before{content:"\F0F81" ;} .fa-warehouse-alt:before{content:"\F0F81" ;} .fa-watch:before{content:"\F0589" ;} .fa-watch-calculator:before{content:"\F0589" ;} .fa-watch-fitness:before{content:"\F0589" ;} .fa-water:before{content:"\F058C" ;} .fa-water-lower:before{content:"\F058C" ;} .fa-water-rise:before{content:"\F058C" ;} .fa-wave-sine:before{content:"\F0F2E" ;} .fa-wave-square:before{content:"\F0F2E" ;} .fa-wave-triangle:before{content:"\F0F2E" ;} .fa-waveform:before{content:"\F147D" ;} .fa-waveform-path:before{content:"\F147D" ;} .fa-waze:before{content:"\F0BDE" ;} .fa-webcam:before{content:"\F05A0" ;} .fa-webcam-slash:before{content:"\F05A0" ;} .fa-weight:before{content:"\F05A1" ;} .fa-weight-hanging:before{content:"\F05A1" ;} .fa-whatsapp:before{content:"\F05A3" ;} .fa-whatsapp-square:before{content:"\F05A3" ;} .fa-wheat:before{content:"\F0073" ;} .fa-whistle:before{content:"\F09B6" ;} .fa-wifi:before{content:"\F05A9" ;} .fa-wifi-1:before{content:"\F05A9" ;} .fa-wifi-2:before{content:"\F05A9" ;} .fa-wifi-slash:before{content:"\F05AA" ;} .fa-wikipedia-w:before{content:"\F05AC" ;} .fa-wind-turbine:before{content:"\F0DA5" ;} .fa-window-close:before{content:"\F05AD" ;} .fa-window-maximize:before{content:"\F05AF" ;} .fa-window-minimize:before{content:"\F05B0" ;} .fa-window-restore:before{content:"\F05B2" ;} .fa-windsock:before{content:"\F15FA" ;} .fa-won-sign:before{content:"\F07BD" ;} .fa-wordpress:before{content:"\F05B4" ;} .fa-wordpress-simple:before{content:"\F05B4" ;} .fa-wrench:before{content:"\F05B7" ;} .fa-x-ray:before{content:"\F14C7" ;} .fa-xing:before{content:"\F05BE" ;} .fa-xing-square:before{content:"\F05BE" ;} .fa-y-combinator:before{content:"\F0624" ;} .fa-yahoo:before{content:"\F0B4F" ;} .fa-yen-sign:before{content:"\F07BC" ;} .fa-yin-yang:before{content:"\F0680" ;} .fa-youtube:before{content:"\F05C3" ;} .fa-youtube-square:before{content:"\F05C3" ;}]]>

</template>


-<template title="uix_megaMenu" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:macro name="altColumn"> <div class="uix_megaMenu__col uix_megaMenu__col--alt"> <div class="block-body"> <a href="" class="uix_megaMenu__iconLink blockLink"> <i class="mdi mdi-account-multiple"></i> <span>Support UI.X</span> </a> <a href="#" class="uix_megaMenu__iconLink blockLink"> <i class="mdi mdi-account-multiple"></i> <span>Donate</span> </a> <a href="#" class="uix_megaMenu__iconLink blockLink"> <i class="mdi mdi-account-multiple"></i> <span>Contact us</span> </a> </div> <div class="block-body"> <div class="uix_megaMenu__listLabel blockLink">Main Links</div> <a href="{{ link('forums') }}" class="blockLink">{{ phrase('forums')}}</a> <a href="{{ link('articles') }}" class="blockLink">{{ phrase('articles')}}</a> </div> </div> </xf:macro> <xf:macro name="uix_megaMenu" menu="!"> <xf:css src="uix_megaMenu.less" /> <div class="uix_megaMenu"> <div class="pageContent"> <div class="uix_megaMenu__content uix_megaMenu__content--thxlink_12"> <div class="uix_megaMenu__row"> <div class="uix_megaMenu__col"> <h2 class="uix_megaMenu__title">Blog</h2> </div> <div class="uix_megaMenu__col"> <div class="block-minorHeader">Categories</div> <div class="block-body"> <a href="#" class="blockLink">Category 1</a> <a href="#" class="blockLink">Category 2</a> <a href="#" class="blockLink">Category 3</a> <a href="#" class="blockLink">Category 4</a> </div> </div> <div class="uix_megaMenu__col"> <div class="block-minorHeader">Categories</div> <div class="block-body"> <a href="#" class="blockLink">Category 1</a> <a href="#" class="blockLink">Category 2</a> <a href="#" class="blockLink">Category 3</a> <a href="#" class="blockLink">Category 4</a> </div> </div> <xf:macro name="altColumn" /> </div> </div> </div> </div> </xf:macro>]]>

</template>


-<template title="uix_megaMenu.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[.uix_showMegaMenu + .p-sectionLinks {display: none;} .uix_megaMenu { display: none; overflow: hidden; position: relative; background: @xf-contentBg; .pageContent { .m-pageWidth(); } .uix_showMegaMenu & { display: block; } .uix_megaMenu__content { display: none; &--active {display: block;} } .uix_megaMenu__title {margin: 0; color: @xf-textColor;} .uix_megaMenu__row { display: flex; flex-wrap: wrap; padding: 15px 0; margin: 0 -15px; .uix_megaMenu__col { flex-basis: 250px; padding: 15px; &:not(:first-child) { flex-grow: 1; } .blockLink { padding: 5px 0; color: @xf-textColorDimmed; background: none; line-height: 1; &:hover {background: none; color: @xf-textColor;} } .uix_footerLink .blockLink { padding: 1px 0; margin-bottom: 8px; } &.uix_megaMenu__col--alt { position: relative; padding: 15px 45px; margin-left: 30px; flex-grow: 0; &:before { content: ''; display: block; background: @xf-contentAltBg; position: absolute; top: -15px; bottom: -15px; left: 0; right: -400px; } } } } .uix_megaMenu__iconLink { display: flex; align-items: center; i { font-size: 16px; color: @xf-uix_primaryColor; padding-right: 4px; } } .block-minorHeader { padding: 0 0 10px; border-bottom: 1px solid rgba(0,0,0,.12); margin-bottom: 5px; } .uix_megaMenu__listLabel { text-transform: uppercase; color: @xf-textColorMuted; font-size: @xf-fontSizeSmall; margin-top: 20px; } }]]>

</template>


-<template title="uix_pageAnimations.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:if is="property('uix_pageAnimation')"> @media (min-width: @xf-responsiveWide) { // ANIMATION VARIABLES @macroAnimationSpeed: .15s; // MACRO ANIMATIONS @keyframes macroAnimation { from { opacity: 0; }; to { opacity: 1; }; } .m-uix_macroAnimation(@iteration) { animation: macroAnimation @macroAnimationSpeed ease; animation-delay: @iteration * @macroAnimationSpeed; animation-fill-mode: backwards; } <xf:if is="{{property('uix_pageAnimation')}}"> .uix_sidebarNav {.m-uix_macroAnimation(1);} .p-body-inner {.m-uix_macroAnimation(2);} .p-body-sidebar {.m-uix_macroAnimation(3);} .p-footer {.m-uix_macroAnimation(4);} </xf:if> // NODE ANIMATIONS @keyframes slideUp { from { transform: translatey(30px); opacity: 0; }; to { transform: translatey(0px); opacity: 1; }; } .m-uix_nodeAnimation(@iteration) { animation: slideUp .4s cubic-bezier(0.4, 0, 0.2, 1); animation-delay: (@iteration * .15s) + (@macroAnimationSpeed * 2); animation-fill-mode: backwards; } .uix_nodeLoop (@i) when (@i > 0) { &:nth-child(@{i}) { .m-uix_nodeAnimation(@i) } .uix_nodeLoop(@i - 1); } <xf:if is="property('uix_nodeAnimations')"> .block--category { .uix_nodeLoop(15); } </xf:if> // SIDEBAR ANIMATIONS @sideNavItemDelay: .05s; @keyframes scootRight { from { transform: translatex(-30px); opacity: 0; }; to { transform: translatex(0px); opacity: 1; }; } .m-uix_sideNavAnimation(@iteration, @offset) { animation: scootRight .5s ease; animation-delay: (@iteration * @sideNavItemDelay) + (@macroAnimationSpeed) + (@offset * @sideNavItemDelay) - @sideNavItemDelay; animation-fill-mode: backwards; } .uix_sideNavLoop (@i) when (@i > 0) { &:nth-child(@{i}) { .uix_sideNavItemLoop(15); } .uix_sideNavLoop(@i - 1); } .uix_sideNavItemLoop (@i) when (@i > 0) { &.uix_sidebarNavList > li:nth-child(@{i}), .topic-filter-item:not(.th_topics_clearTopics):nth-child(@{i}) { .m-uix_sideNavAnimation(@i, @i); } .uix_sideNavItemLoop(@i - 1); } <xf:if is="{{property('uix_sideNavigationAnimation')}}"> .uix_sidebarNav__inner .uix_sidebar--scroller > * { .uix_sideNavLoop(15); } </xf:if> // SIDEBAR ANIMATION <xf:if is="{{property('uix_sidebarWidgetAnimations')}}"> @sidebarItemDelay: .1s; @keyframes scootRight { from { transform: translatex(-30px); opacity: 0; }; to { transform: translatex(0px); opacity: 1; }; } .m-uix_sidebarAnimation(@iteration) { animation: scootRight .5s ease; animation-delay: (@iteration * @sidebarItemDelay) + (@macroAnimationSpeed * 3); animation-fill-mode: backwards; animation-iteration-count: 1; } .uix_sidebarLoop (@i) when (@i > 0) { &:nth-child(@{i}) { .m-uix_sidebarAnimation(@i) } .uix_sidebarLoop(@i - 1); } <xf:if is="{{ property('uix_stickySidebar') }} != 'sticky'"> // sticky kit breaks this animation .uix_sidebarInner .block { .uix_sidebarLoop(15); } </xf:if> </xf:if> // DISCUSSION LIST .uix_scootUpLoop (@i) when (@i > 0) { &:nth-child(@{i}) { animation: slideUp .3s ease; animation-delay: (@i * .05s) + (@macroAnimationSpeed * 2); animation-fill-mode: backwards; } .uix_scootUpLoop(@i - 1); } <xf:if is="{{property('uix_discussionListAnimation')}}"> .structItemContainer .structItem { .uix_scootUpLoop(20); } </xf:if> <xf:if is="{{property('uix_messageAnimation')}}"> .block--messages .block-body > .message--post { .uix_scootUpLoop(20); } // ARTICLES LIST .xpress_articleList .article { .uix_scootUpLoop(20); } </xf:if> } </xf:if>]]>

</template>


-<template title="uix_searchComponent.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[.p-quickSearch .input { color: @xf-uix_searchBar--color; &::placeholder {color: @xf-uix_searchBar--color;} } body .uix_searchBar { display: inline-flex; @media (min-width: @xf-uix_search_maxResponsiveWidth) { position: relative; } flex-shrink: 10; <xf:if is="!property('uix_searchButton')"> .uix_searchIcon {pointer-events: none;} </xf:if> @media (max-width: @xf-uix_search_maxResponsiveWidth) { <xf:if is="property('uix_searchPosition') == 'navigationLeft'"> order: 1; </xf:if> } @media (min-width: {{ property('uix_search_maxResponsiveWidth') + 1 }}px ) { max-width: @xf-uix_searchBarWidth; width: 1000px; display: flex; // min-width: @xf-uix_searchBarWidth; <xf:if is="property('uix_searchPosition') == 'navigationLeft'"> margin: 0 @xf-paddingMedium; <xf:else /> margin-left: .5em; </xf:if> } .uix_searchBarInner { display: inline-flex; pointer-events: none; align-items: center; left: 20px; right: 20px; justify-content: flex-end; bottom: 0; top: 0; transition: ease-in background-color .3s; flex-grow: 1; left: 0px; right: 0px; @media (min-width: @xf-uix_search_maxResponsiveWidth) { <xf:if is="property('uix_searchPosition') == 'navigationLeft'"> width: 100%; </xf:if> } .uix_searchIcon { position: absolute; bottom: 0; top: 0; <xf:if is="!property('uix_searchButton')"> left: 0; <xf:else /> right: 0; </xf:if> } <xf:if is="property('uix_searchIconBehavior') == 'expandMobile'"> @media (max-width: min(@xf-responsiveMedium, @xf-uix_search_maxResponsiveWidth) ) { position: absolute; } <xf:elseif is="property('uix_searchIconBehavior') == 'expand'" /> @media (max-width: @xf-uix_search_maxResponsiveWidth) { position: absolute; } </xf:if> .uix_searchForm { display: inline-flex; align-items: center; transition: ease-in flex-grow .3s, ease-in max-width .3s, ease-in background-color .2s; flex-grow: 0; max-width: @xf-uix_searchBarWidth; width: 100%; pointer-events: all; position: relative; .xf-uix_searchBar(); &.uix_searchForm--focused { .xf-uix_searchBarFocus(); .input { &::placeholder {color: @xf-uix_searchBarPlaceholderFocusColor;} } i {color: @xf-uix_searchIconFocusColor;} } .uix_search--settings i, .uix_search--close i {display: none;} i { .xf-uix_searchIcon(); height: @xf-uix_searchBarHeight; display: inline-flex; align-items: center; transition: ease-in color .2s; } .input { height: @xf-uix_searchBarHeight; border: none; transition: ease-in color .2s; background: none; &::placeholder {color: @xf-uix_searchBarPlaceholderColor;} color: inherit; <xf:if is="!property('uix_searchButton')"> text-indent: 30px; </xf:if> } } } .p-navgroup-link {display: none;} @media(max-width: @xf-uix_search_maxResponsiveWidth) { .uix_searchBarInner .uix_searchForm {max-width: 0; overflow: hidden; border: none;} } <xf:if is="property('uix_searchIconBehavior') != 'expandMobile'"> @media (max-width: @xf-uix_search_maxResponsiveWidth) { .p-navgroup-link {display: inline-flex;} .minimalSearch--detailed & .p-navgroup-link {display: inline-flex;} } <xf:elseif is="property('uix_searchIconBehavior') == 'expandMobile'" /> @media(max-width: @xf-uix_search_maxResponsiveWidth) and (min-width: @xf-responsiveMedium) { .p-navgroup-link {display: inline-flex;} .p-navgroup-link.uix_searchIconTrigger {display: none;} } @media (max-width: @xf-uix_search_maxResponsiveWidth) and (max-width: @xf-responsiveMedium) { .p-navgroup-link.uix_searchIconTrigger {display: inline-flex;} .p-navgroup-link {display: none;} .minimalSearch--detailed & .p-navgroup-link.uix_searchIconTrigger {display: none;} .minimalSearch--detailed & .p-navgroup-link {display: inline-flex;} } </xf:if> } .uix_searchBar .uix_searchDropdown__menu { display: none; position: absolute; top: @xf-uix_searchBarHeight; right: 0; opacity: 0; width: @xf-uix_searchBarWidth; max-width: @xf-uix_searchBarWidth; @media(max-width: @xf-uix_search_maxResponsiveWidth) { width: 100%; max-width: 100%; } &.uix_searchDropdown__menu--active { display: block; opacity: 1; pointer-events: all; transform: translateY(0); } [name="constraints"] { flex-grow: 1 !important; widxth: auto !important; } } .uix_search--submit:hover {cursor: pointer;} .uix_search--close { cursor: pointer; } @media(max-width: @xf-uix_search_maxResponsiveWidth) { .minimalSearch--active .uix_searchBar .uix_searchBarInner { position: absolute; } .minimalSearch--active .uix_searchBar .uix_searchBarInner .uix_searchForm { flex-grow: 1; display: inline-flex !important; padding: 0 @xf-paddingMedium; max-width: 100%; } .minimalSearch--active .uix_searchBar .uix_searchBarInner .uix_searchForm { i.fa--xf { display: inline-block; padding: 0; line-height: @xf-uix_searchBarHeight; } .uix_searchIcon i {display: none;} .uix_searchInput {text-indent: 0;} } .p-navgroup-link--search, .uix_sidebarCanvasTrigger, .p-navgroup-link {transition: ease opacity .2s .3s; opacity: 1;} .minimalSearch--active { .p-navgroup-link--search, .uix_sidebarCanvasTrigger, .p-navgroup-link { opacity: 0; transition: ease opacity .2s; pointer-events: none; } // .uix_searchBar {position: static;} } @media(max-width: @xf-uix_search_maxResponsiveWidth) { .p-nav-inner > * {transition: ease-in opacity .2s; opacity: 1;} .minimalSearch--active.p-nav-inner > *:not(.uix_searchBar), .minimalSearch--active.p-nav-inner .p-account, .minimalSearch--active.p-nav-inner .uix_searchBar .uix_searchIconTrigger, .minimalSearch--active.p-nav-inner .p-discovery > *:not(.uix_searchBar) {opacity: 0;} .minimalSearch--active.p-nav-inner .p-discovery, .minimalSearch--active.p-nav-inner .p-nav-opposite {opacity: 1;} } <xf:if is="property('uix_searchPosition') == 'navigation'"> .p-nav-inner > * {transition: ease-in opacity .2s; opacity: 1;} .minimalSearch--active.p-nav-inner > *, .minimalSearch--active.p-nav-inner .p-account, .minimalSearch--active.p-nav-inner .uix_searchBar .uix_searchIconTrigger, .minimalSearch--active.p-nav-inner .p-discovery > *:not(.uix_searchBar) {opacity: 0;} .minimalSearch--active.p-nav-inner .p-discovery, .minimalSearch--active.p-nav-inner .p-nav-opposite {opacity: 1;} </xf:if> <xf:if is="property('uix_searchPosition') == 'navigationLeft'"> .p-nav-inner > *:not(.uix_searchBar), .p-nav-inner .uix_searchBar .uix_searchIconTrigger {transition: ease-in opacity .2s; opacity: 1;} .minimalSearch--active.p-nav-inner > *:not(.uix_searchBar), .minimalSearch--active.p-nav-inner .p-account, .minimalSearch--active.p-nav-inner .uix_searchBar .uix_searchIconTrigger, .minimalSearch--active.p-nav-inner .p-discovery, .minimalSearch--active.p-nav-inner .p-nav-opposite {opacity: 0;} </xf:if> <xf:if is="property('uix_searchPosition') == 'tablinks'"> .p-sectionLinks .pageContent > * {transition: ease opacity .2s; opacity: 1;} .minimalSearch--active.p-sectionLinks .pageContent > * {opacity: 0;} .p-sectionLinks .pageContent .uix_searchBar {opacity: 1;} .minimalSearch--active.p-sectionLinks .p-discovery, .minimalSearch--active.p-sectionLinks .p-nav-opposite {opacity: 1;} </xf:if> <xf:if is="property('uix_searchPosition') == 'header'"> <xf:if is="property('uix_viewportShowLogoBlock') == '100%'"> .p-header-content > * {transition: ease opacity .2s; opacity: 1;} .minimalSearch--active.p-header-content > *:not(.p-nav-opposite) {opacity: 0;} .minimalSearch--active.p-header-content .uix_searchBar {opacity: 1;} <xf:else /> @media (min-width: @xf-uix_viewportShowLogoBlock) { .p-header-content > * {transition: ease opacity .2s; opacity: 1;} .minimalSearch--active.p-header-content > *:not(.p-nav-opposite) {opacity: 0;} .minimalSearch--active.p-header-content .uix_searchBar {opacity: 1;} } </xf:if> </xf:if> <xf:if is="property('uix_searchPosition') == 'staffBar'"> .p-staffBar .pageContent > * {transition: ease opacity .2s; opacity: 1;} .minimalSearch--active.p-staffBar .pageContent > * {opacity: 0;} .minimalSearch--active.p-staffBar .pageContent .uix_searchBar {opacity: 1;} .minimalSearch--active.p-staffBar .p-discovery, .minimalSearch--active.p-staffBar .p-nav-opposite {opacity: 1;} </xf:if> }]]>

</template>


-<template title="uix_tabBar" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:macro name="uix_tabBar"> <xf:if is="$xf.visitor.user_id"> <div class="uix_tabBar"> <div class="uix_tabList"> <a href="{{ link('account') }}" class="uix_tabItem"> <xf:fa icon="fa-user" /> <div class="uix_tabLabel">{{ phrase('thuix_account')}}</div> </a> <a href="{{ link('whats-new') }}" class="uix_tabItem"> <xf:fa icon="fa-comment-alt-exclamation" /> <div class="uix_tabLabel">{{ phrase('whats_new')}}</div> </a> <a href="{{ link('conversations') }}" data-xf-click="overlay" data-badge="{$xf.visitor.conversations_unread|number}" class="uix_tabItem js-badge--conversations badgeContainer{{ $xf.visitor.conversations_unread ? ' badgeContainer--highlighted' : '' }}"> <xf:fa icon="fa-inbox" /> <div class="uix_tabLabel">{{ phrase('inbox')}}</div> </a> <a href="{{ link('account/alerts') }}" data-xf-click="overlay" data-badge="{$xf.visitor.alerts_unread|number}" class="uix_tabItem js-badge--alerts badgeContainer{{ $xf.visitor.alerts_unread ? ' badgeContainer--highlighted' : '' }}"> <xf:fa icon="fa-bell" /> <div class="uix_tabLabel">{{ phrase('alerts')}}</div> </a> </div> </div> </xf:if> </xf:macro>]]>

</template>


-<template title="uix_thirdParty.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[// Featured Threads .message.thfeature { .message-body {padding: 0;} .message-attribution {margin-bottom: 0;} .message-footer {padding-top: @xf-messagePadding;} } // Nodes <xf:if is="property('th_enableGrid_nodes')"> .node + .node {border: none;} .thNodes__nodeList.block .block-container .th_nodes--below-lg .node-extra {padding-top: 0;} .thNodes__nodeList.block .block-container .node-body { border: none; box-shadow: @xf-uix_elevation1; .th_node--hasBackground& { &:hover { .xf-uix_nodeBodyHover(); } } } </xf:if> // XenPorta .porta-article-item .block-body.message-inner {display: flex;} .porta-articles-above-full {margin-bottom: @xf-elementSpacer;} // resource manager .resourceBody .actionBar { padding: 0; margin: 0; } .resourceBody-main .bbWrapper { margin-bottom: @xf-messagePadding; } // XFMG .xfmgInfoBlock .actionBar .actionBar-set { margin-top: 0; } // post comments .block--messages .message .thpostcomments_commentsContainer .message { .message-actionBar { padding-top: 0; border-top: 0; } .message-attribution { padding-top: 0; padding-bottom: @xf-paddingSmall; } } // achivements .memberHeader-actionTop .profile-achievement-showcase { @media (max-width: @xf-responsiveMedium) { margin: 0; } }]]>

</template>


-<template title="uix_welcomeSection" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:macro name="welcomeSection" arg-location="!" arg-showWelcomeSection="{{ false }}"> <xf:if is="$showWelcomeSection"> <xf:if is="$location == property('uix_welcomeSectionLocation')"> <xf:css src="uix_welcomeSection.less" /> <div class="uix_welcomeSection"> <div class="uix_welcomeSection__inner"> <div class="media__container"> <xf:if is="property('uix_welcomeSection__icon')"> <div class="media__object media--left"> <span class="uix_welcomeSection__icon"><i class="uix_icon {{ property('uix_welcomeSection__icon')}}"></i></span> </div> </xf:if> <div class="media__body"> <xf:if is="property('uix_welcomeSection__title')"><div class="uix_welcomeSection__title">{{ property('uix_welcomeSection__title')}}</div></xf:if> <xf:if is="property('uix_welcomeSection__text')"><div class="uix_welcomeSection__text">{{ property('uix_welcomeSection__text')}}</div></xf:if> <xf:if is="property('uix_welcomeSection__url')"><xf:button href="{{ link(property('uix_welcomeSection__url')) }}" class="button--cta">{{ property('uix_welcomeSection__buttonText')}}</xf:button></xf:if> </div> </div> </div> </div> </xf:if> </xf:if> </xf:macro>]]>

</template>


-<template title="uix_welcomeSection.less" version_string="" version_id="0" addon_id="" type="public">

<![CDATA[<xf:if is="{{ property('uix_welcomeSectionLocation') }} == 'header' && {{ property('uix_enableWelcomeHeaderImage')}}"> .uix_hasWelcomeSection .uix_headerContainer { background-image: @xf-uix_welcomeSection__style--background-image; .uix_welcomeSection:before {display: none;} > *:not(.p-navSticky), .p-nav, .p-sectionLinks { background: none; background: @xf-uix_welcomeSectionOverlay; } } </xf:if> .uix_welcomeSection { <xf:if is="property('uix_pageStyle') == 'fixed'"> .m-pageWidth(); </xf:if> .uix_welcomeSection__inner { <xf:if is="property('uix_pageStyle') != 'fixed'"> .m-pageWidth(); </xf:if> } .p-body-inner & { max-width: 100%; width: 100%; padding-left: 0; padding-right: 0; .pageContent { max-width: 100%; width: 100%; padding-left: 0; padding-right: 0; } } } .p-pageWrapper .uix_welcomeSection { position: relative; .xf-uix_welcomeSection__style(); <xf:if is="property('uix_welcomeSectionLocation') == 'header'"> margin-bottom: 0; </xf:if> .uix_welcomeSection__inner { position: relative; .xf-uix_welcomeSectionInner(); } .uix_welcomeSection__title {.xf-uix_welcomeSectionTitle__style();} .uix_welcomeSection__text{.xf-uix_welcomeSectionText__style();} .uix_welcomeSection__icon {.xf-uix_welcomeSectionIcon__style();} &:before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; top: 0; background: @xf-uix_welcomeSectionOverlay; } }]]>

</template>


-<template title="watched_forums_list" version_string="2.0.0 Release Candidate 1" version_id="2000051" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ phrase('watched_forums') }}</xf:title> <xf:css src="node_list.less" /> <xf:if is="$watchedForums is not empty"> <xf:form action="{{ link('watched/forums/update') }}" ajax="true" class="block" autocomplete="off"> <div class="block-outer"> <div class="block-outer-opposite"> <xf:button class="button--link menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true">{{ phrase('manage_watched_forums') }}</xf:button> <div class="menu" data-menu="menu" aria-hidden="true"> <div class="menu-content"> <h3 class="menu-header">{{ phrase('manage_watched_forums') }}</h3> <!--[XF:manage_menu:top]--> <a href="{{ link('watched/forums/manage', null, {'state': 'watch_no_email'}) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('disable_email_notification') }}</a> <a href="{{ link('watched/forums/manage', null, {'state': 'delete'}) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('stop_watching_forums') }}</a> <!--[XF:manage_menu:bottom]--> </div> </div> </div> </div> <div class="block-container"> <div class="block-body"> <xf:foreach loop="$nodeTree.getFlattened()" key="$id" value="$treeEntry"> <xf:set var="$node" value="{$treeEntry.record}" /> <xf:set var="$forumWatch" value="{$watchedForums.{$node.node_id}}" /> <xf:if is="$forumWatch"> <xf:set var="$bonusInfo"> <ul class="listInline listInline--bullet"> <xf:if is="$forumWatch.notify_on == 'thread'"> <li>{{ phrase('new_threads') }}</li> <xf:elseif is="$forumWatch.notify_on == 'message'" /> <li>{{ phrase('new_messages') }}</li> </xf:if> <xf:if is="$forumWatch.send_alert"><li>{{ phrase('alerts') }}</li></xf:if> <xf:if is="$forumWatch.send_email"><li>{{ phrase('emails') }}</li></xf:if> </ul> </xf:set> <xf:macro template="node_list_forum" name="forum" arg-node="{$node}" arg-extras="{$nodeExtras.{$node.node_id}}" arg-children="{$nodeTree.{$id}.children}" arg-childExtras="{$nodeExtras}" arg-depth="2" arg-chooseName="node_ids" arg-bonusInfo="{$bonusInfo}" /> </xf:if> </xf:foreach> </div> <div class="block-footer block-footer--split"> <span class="block-footer-counter"></span> <span class="block-footer-select"><xf:checkbox standalone="true"> <xf:option class="input--inline" check-all="< .block-container" label="{{ phrase('select_all') }}" /> </xf:checkbox></span> <span class="block-footer-controls"> <xf:select name="action" class="input--inline"> <xf:option>{{ phrase('with_selected...') }}</xf:option> <!--[XF:action_menu:top]--> <xf:option value="email">{{ phrase('enable_email_notification') }}</xf:option> <xf:option value="no_email">{{ phrase('disable_email_notification') }}</xf:option> <xf:option value="alert">{{ phrase('enable_alerts') }}</xf:option> <xf:option value="no_alert">{{ phrase('disable_alerts') }}</xf:option> <xf:option value="delete">{{ phrase('stop_watching') }}</xf:option> <!--[XF:action_menu:bottom]--> </xf:select> <xf:button type="submit">{{ phrase('go') }}</xf:button> </span> </div> </div> </xf:form> <xf:else /> <div class="blockMessage">{{ phrase('you_not_watching_any_forums') }}</div> </xf:if>]]>

</template>


-<template title="watched_threads_manage" version_string="2.1.0 Release Candidate 1" version_id="2010051" addon_id="XF" type="public">

<![CDATA[<xf:title>{{ phrase('manage_watched_threads') }}</xf:title> <xf:form action="{{ link('watched/threads/manage', null, {'state': $state}) }}" class="block" ajax="true"> <div class="block-container"> <div class="block-row"> <xf:inforow rowtype="confirm"> <xf:if is="$state == 'delete'"> {{ phrase('you_sure_you_want_to_stop_watching_all_threads') }} <xf:else /> {{ phrase('you_sure_you_want_to_update_notification_settings_for_all_threads') }} </xf:if> </xf:inforow> </div> <xf:submitrow icon="notificationsOff" rowtype="simple" /> </div> </xf:form>]]>

</template>


-<template title="widget_EWRporta_features.less" version_string="2.1.0.1" version_id="2101" addon_id="" type="public">

<![CDATA[.porta-features { .xf-blockBorder(); border-radius: @xf-blockBorderRadius; position: relative; .porta-features-item { background-position: center center; background-repeat: no-repeat; background-size: auto 100%; >a { display: block; position: relative; z-index: 90; } .porta-features-summary { position: absolute; bottom: 0; left: 0; right: 0; background-color: rgba(0,0,0,0.5); padding: 15px 20px 20px; color: white; >div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .title { font-size: 1.5em; font-weight: bold; } } .porta-features-media { position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: 80; margin: @xf-EWRporta_feature_media_margin auto; width: @xf-EWRporta_feature_media_width; height: (@xf-EWRporta_feature_height - (@xf-EWRporta_feature_media_margin * 2)); } } .has-media .porta-features-summary { display: none; } .has-media .bx-controls-volume { display: initial; } } .porta-features-fix { height: @xf-EWRporta_feature_height; overflow: hidden; } @media (max-width: @xf-responsiveWide) { .porta-features-fix { height: @xf-EWRporta_feature_wide; } .porta-features .porta-features-item .porta-features-media { margin: (@xf-EWRporta_feature_media_margin / 2) auto; width: @xf-EWRporta_feature_media_wide; height: (@xf-EWRporta_feature_wide - @xf-EWRporta_feature_media_margin); } } @media (max-width: @xf-responsiveMedium) { .porta-features-fix { height: @xf-EWRporta_feature_medium; } .porta-features .porta-features-item .porta-features-media { margin: 0 auto; width: @xf-EWRporta_feature_media_medium; height: @xf-EWRporta_feature_medium; } } @media (max-width: @xf-responsiveNarrow) { .porta-features-fix { height: @xf-EWRporta_feature_narrow; } .porta-features .porta-features-item .porta-features-media { width: @xf-EWRporta_feature_media_narrow; height: @xf-EWRporta_feature_narrow; } } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .porta-features { margin-left: -@xf-pageEdgeSpacer / 2; margin-right: -@xf-pageEdgeSpacer / 2; } } /*---------------------------------------*/ /* BXSLIDER LAYOUT */ /*---------------------------------------*/ /* ITEM CONTROLS */ .porta-features { .bx-pager { position: absolute; top: 10px; text-align: center; width: 100%; } .bx-pager .bx-pager-item { position: relative; z-index: 100; display: inline-block; } .bx-pager.bx-default-pager a { background: rgba(128, 128, 128, 0.5); margin: 0 3px; border-radius: 8px; display: block; text-indent: -9999px; box-shadow: 0px 0px 2px #FFF inset; width: 16px; height: 16px; } .bx-pager.bx-default-pager a:hover { background-color: rgb(128, 128, 128); } .bx-pager.bx-default-pager a.active { background-color: rgb(0, 0, 0); } } /* PREV/NEXT CONTROLS */ .porta-features { .bx-controls-direction { } .bx-controls-direction a { background-image: url('styles/8wayrun/porta/_slider.png'); background-repeat: no-repeat; margin-top: -16px; position: absolute; text-indent: -9999px; z-index: 100; width: 32px; height: 32px; } .bx-controls-direction .bx-prev { top: 50%; left: 10px; } .bx-controls-direction .bx-next { top: 50%; right: 10px; } .bx-controls-direction .bx-prev { background-position: 0 -32px; } .bx-controls-direction .bx-prev:hover { background-position: 0 0; } .bx-controls-direction .bx-next { background-position: -32px -32px; } .bx-controls-direction .bx-next:hover { background-position: -32px 0; } .bx-controls-direction .disabled { display: none; } } /* START/STOP CONTROLS */ .porta-features { .bx-controls-auto { position: absolute; top: 10px; right: 10px; z-index: 100; } .bx-controls-auto a { background-image: url('styles/8wayrun/porta/_slider.png'); background-repeat: no-repeat; display: block; text-indent: -9999px; width: 32px; height: 32px; } .bx-controls-auto .active { display: none; } .bx-controls-auto .bx-start { background-position: -64px -32px; } .bx-controls-auto .bx-start:hover { background-position: -64px 0; } .bx-controls-auto .bx-stop { background-position: -96px -32px; } .bx-controls-auto .bx-stop:hover { background-position: -96px 0; } } /* VOLUME BUTTON */ .porta-features { .bx-controls-volume { display: none; position: absolute; right: 10px; bottom: 10px; z-index: 100; } .bx-controls-volume a { background-image: url('styles/8wayrun/porta/_slider.png'); background-repeat: no-repeat; display: block; text-indent: -9999px; width: 64px; height: 64px; } .bx-controls-volume .active { display: none; } .bx-controls-volume .bx-unmute { background-position: -128px 0; } .bx-controls-volume .bx-unmute:hover { background-position: -192px 0; } .bx-controls-volume .bx-mute { background-position: -192px 0; } .bx-controls-volume .bx-mute:hover { background-position: -128px 0; } } /* PROGRESS BAR */ .porta-features { .bx-progress { background-color: red; border-top: 1px solid black; position: absolute; bottom: 0; z-index: 100; width: 0; height: 5px; } }]]>

</template>


-<template title="widget_share_page" version_string="2.2.0 Beta 5" version_id="2020035" addon_id="XF" type="public">

<![CDATA[<xf:if contentcheck="true"> <div class="block"{{ widget_data($widget) }}> <div class="block-container"> <h3 class="block-minorHeader">{$title}</h3> <div class="block-body block-row" style="text-align: center;"> <xf:contentcheck> <xf:if is="{{ property('uix_shareWidgetModal') }}"> <xf:if contentcheck="true"> <a data-xf-click="overlay" data-target=".uix_shareWidgetModal" class="button button--primary"><xf:fa icon="fa-share" /> {{ phrase('thuix_share_this_page') }}</a> <div style="display: none"> <div class="uix_shareWidgetModal"> <div class="overlay-title">{{ phrase('share') }}</div> <div class="block-container"> <div class="block-body"> <div class="block-row"> <xf:contentcheck> <xf:macro template="share_page_macros" name="buttons" arg-iconic="{$options.iconic}" /> </xf:contentcheck> </div> </div> </div> </div> </div> </xf:if> <xf:else /> <xf:macro template="share_page_macros" name="buttons" arg-iconic="{$options.iconic}" /> </xf:if> </xf:contentcheck> </div> </div> </div> </xf:if>]]>

</template>


-<template title="xfmg_album_view" version_string="2.2.2" version_id="902020270" addon_id="XFMG" type="public">

<![CDATA[<xf:title page="{$page}">{$album.title}</xf:title> <xf:h1 hidden="true" /> <xf:css src="xfmg_album_view.less" /> <xf:macro template="xfmg_page_macros" name="xfmg_page_options" arg-album="{$album}" arg-category="{$album.Category}" /> <xf:set var="$descSnippet" value="{{ snippet($mediaItem.description, 250) }}" /> <xf:macro template="metadata_macros" name="metadata" arg-description="{$descSnippet}" arg-shareUrl="{{ link('canonical:media/albums', $album) }}" arg-imageUrl="{$album.getThumbnailUrl(true)}" arg-canonicalUrl="{{ link('canonical:media/albums', $album, {'page': $page}) }}" /> <xf:page option="ldJsonHtml"> <script type="application/ld+json"> {$album.structured_data|json(true)|raw} </script> </xf:page> <xf:macro template="xfmg_media_list_macros" name="media_create_message" arg-transcoding="{$transcoding}" arg-pendingApproval="{$pendingApproval}" /> <xf:breadcrumb source="$album.getBreadcrumbs(false)" /> <xf:if is="$album.canAddMedia()"> <xf:pageaction> <xf:button href="{{ link('media/albums/add', $album) }}" class="button--cta" icon="add"> {{ phrase('xfmg_add_media') }} </xf:button> </xf:pageaction> </xf:if> <xf:if contentcheck="true"> <div class="block"> <div class="block-outer"> <dl class="blockStatus"> <dt>{{ phrase('status') }}</dt> <xf:contentcheck> <xf:if is="$album.album_state == 'deleted'"> <dd class="blockStatus-message blockStatus-message--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$album.DeletionLog}" /> </dd> <xf:elseif is="$album.album_state == 'moderated'" /> <dd class="blockStatus-message blockStatus-message--moderated"> {{ phrase('awaiting_approval_before_being_displayed_publicly') }} </dd> </xf:if> <xf:if is="$album.warning_message"> <dd class="blockStatus-message blockStatus-message--warning"> {$album.warning_message} </dd> </xf:if> <xf:if is="$album.isIgnored()"> <div class="blockStatus-message blockStatus-message--ignored"> {{ phrase('you_are_ignoring_content_by_this_member') }} </div> </xf:if> </xf:contentcheck> </dl> </div> </div> </xf:if> <xf:if is="$canInlineModMediaItems"> <xf:js src="xf/inline_mod.js" min="1" /> </xf:if> <div class="block" data-xf-init="{{ $canInlineModMediaItems ? 'inline-mod' : '' }}" data-type="xfmg_media" data-href="{{ link('inline-mod') }}"> <div class="block-outer"><xf:trim> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$totalItems}" link="media/albums" data="{$album}" params="{{ {'comment_page': ($commentPage ?: null)} + $filters }}" wrapperclass="block-outer-main" /> <xf:if contentcheck="true"> <div class="block-outer-opposite"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="buttonGroup"> <xf:contentcheck> <xf:if is="$album.canRate()"> <xf:button href="{{ link('media/album-ratings/rate', $album) }}" overlay="true"> {{ phrase('leave_rating') }} </xf:button> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="buttonGroup"> <xf:contentcheck> <xf:if is="$canInlineModMediaItems"> <xf:macro template="inline_mod_macros" name="button" /> </xf:if> <xf:if is="$album.canUndelete() AND $album.album_state == 'deleted'"> <xf:button href="{{ link('media/albums/undelete', $album) }}" class="button--link" overlay="true"> {{ phrase('undelete') }} </xf:button> </xf:if> <xf:if is="$album.canApproveUnapprove() AND $album.album_state == 'moderated'"> <xf:button href="{{ link('media/albums/approve', $album) }}" class="button--link" overlay="true"> {{ phrase('approve') }} </xf:button> </xf:if> <xf:if is="$xf.visitor.user_id"> <xf:button href="{{ link('media/albums/mark-viewed', $album, {'date': $xf.time}) }}" class="button--link" overlay="true"> {{ phrase('xfmg_mark_viewed') }} </xf:button> </xf:if> <xf:if is="$album.canWatch()"> <xf:button href="{{ link('media/albums/watch', $album) }}" class="button--link" data-xf-click="switch-overlay" data-sk-watch="{{ phrase('watch') }}" data-sk-unwatch="{{ phrase('unwatch') }}"> <xf:if is="{$album.Watch.{$xf.visitor.user_id}}"> {{ phrase('unwatch') }} <xf:else /> {{ phrase('watch') }} </xf:if> </xf:button> </xf:if> <xf:macro template="bookmark_macros" name="button" arg-content="{$album}" arg-confirmUrl="{{ link('media/albums/bookmark', $album) }}" /> <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') }}">&#8226;&#8226;&#8226;</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:album_tools_menu:top]--> <xf:if is="$album.canEdit()"> <a href="{{ link('media/albums/edit', $album) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('xfmg_edit_album') }}</a> </xf:if> <xf:if is="$album.canMove()"> <a href="{{ link('media/albums/move', $album) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('xfmg_move_album') }}</a> </xf:if> <xf:if is="$album.canDelete('soft')"> <a href="{{ link('media/albums/delete', $album) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('xfmg_delete_album') }}</a> </xf:if> <xf:if is="$album.canViewModeratorLogs()"> <a href="{{ link('media/albums/moderator-actions', $album) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('moderator_actions') }}</a> </xf:if> <!--[XF:album_tools_menu:before_footer]--> <xf:if is="$album.canUseInlineModeration()"> <div class="menu-footer" data-xf-init="inline-mod" data-type="xfmg_album" data-href="{{ link('inline-mod') }}" data-toggle=".js-albumInlineModToggle"> <xf:checkbox> <xf:option class="js-albumInlineModToggle" value="{$album.album_id}">{{ phrase('select_for_moderation') }}</xf:option> </xf:checkbox> </div> </xf:if> <!--[XF:album_tools_menu:bottom]--> </xf:contentcheck> </div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:trim></div> <div class="block-container"> <xf:macro template="xfmg_album_list_macros" name="list_filter_bar" arg-filters="{{ {'comment_page': ($commentPage ?: null)} + $filters }}" arg-baseLinkPath="media/albums" arg-linkData="{$album}" arg-ownerFilter="{$ownerFilter}" /> <div class="block-body"> <xf:if is="$mediaItems is not empty"> <xf:macro template="xfmg_media_list_macros" name="media_list" arg-mediaItems="{$mediaItems}" arg-prevPage="{$prevPage}" arg-nextPage="{$nextPage}" arg-setupLightbox="{$xf.options.xfmgLightboxNavigation}" /> <xf:elseif is="$filters" /> <div class="block-row">{{ phrase('xfmg_no_media_has_been_added_to_this_album_which_matches_your_filters') }}</div> <xf:else /> <div class="block-row">{{ phrase('xfmg_no_media_has_been_added_to_this_album_yet') }}</div> </xf:if> </div> </div> <div class="block-outer block-outer--after"> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$totalItems}" link="media/albums" data="{$album}" params="{{ {'comment_page': ($commentPage ?: null)} + $filters }}" wrapperclass="block-outer-main" /> <xf:showignored wrapperclass="block-outer-opposite" /> </div> </div> <div class="block"> <div class="block-container"> <div class="block-body block-row xfmgInfoBlock"> <div class="xfmgInfoBlock-title"> <div class="contentRow"> <span class="contentRow-figure"> <xf:avatar user="$album.User" size="s" defaultname="{$album.username}" /> </span> <div class="contentRow-main"> <h1 class="contentRow-title p-title-value"> <xf:h1 /> </h1> <div class="contentRow-lesser p-description"> <ul class="listInline listInline--bullet"> <li><xf:fa icon="fa-th" title="{{ phrase('xfmg_items')|for_attr }}" /> {$album.media_count|number_short}</li> <li><xf:fa icon="fa-user" title="{{ phrase('xfmg_album_owner')|for_attr }}" /> <xf:username user="{$album.User}" defaultname="{$album.username}" class="u-concealed" /></li> <li><xf:fa icon="fa-clock" title="{{ phrase('xfmg_date_created')|for_attr }}" /> <xf:date time="{$album.create_date}" /></li> </ul> </div> </div> </div> </div> <xf:if is="$album.description"> <div class="xfmgInfoBlock-description"> <div class="bbCodeBlock bbCodeBlock--expandable js-expandWatch"> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent"> {{ structured_text($album.description) }} </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">{{ phrase('click_to_expand') }}</a></div> </div> </div> </div> </xf:if> <div class="reactionsBar js-reactionsList {{ $album.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$album}" link="media/albums/reactions" /> </div> <xf:if contentcheck="true"> <div class="actionBar"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$album}" link="media/albums/react" list="< .block | .js-reactionsList" /> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$album.canReport()"> <a href="{{ link('media/albums/report', $album) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:set var="$hasActionBarMenu" value="{{ false }}" /> <xf:if is="$album.canEdit()"> <a href="{{ link('media/albums/edit', $album) }}" class="actionBar-action actionBar-action--edit actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('edit') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$album.canDelete()"> <a href="{{ link('media/albums/delete', $album) }}" class="actionBar-action actionBar-action--delete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('delete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$album.canCleanSpam()"> <a href="{{ link('spam-cleaner', $album) }}" class="actionBar-action actionBar-action--spam actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('spam') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$xf.visitor.canViewIps() AND $album.ip_id"> <a href="{{ link('media/albums/ip', $album) }}" class="actionBar-action actionBar-action--ip actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('ip') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$album.canWarn()"> <a href="{{ link('media/albums/warn', $album) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$album.warning_id AND $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $album.warning_id}) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('view_warning') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$hasActionBarMenu"> <a class="actionBar-action actionBar-action--menuTrigger" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <div class="js-menuBuilderTarget"></div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </div> </div> </div> <xf:if is="$album.canViewComments()"> <div class="columnContainer"> <div class="columnContainer-comments"> <xf:macro template="xfmg_comment_macros" name="comment_list" arg-comments="{$comments}" arg-content="{$album}" arg-linkPrefix="media/album-comments" arg-link="media/albums" arg-linkParams="{{ {'page': $page} + $filters }}" arg-page="{$commentPage}" arg-perPage="{$commentsPerPage}" arg-totalItems="{$totalComments}" arg-pageParam="comment_page" arg-canInlineMod="{$canInlineModComments}" /> </div> <div class="columnContainer-sidebar"> <xf:macro name="info_sidebar" arg-album="{$album}" /> <xf:macro name="privacy_sidebar" arg-album="{$album}" arg-addUsers="{$addUsers}" arg-viewUsers="{$viewUsers}" /> <xf:macro name="share_sidebar" arg-album="{$album}" /> </div> </div> <xf:else /> <xf:sidebar key="infoSidebar"> <xf:macro name="info_sidebar" arg-album="{$album}" /> </xf:sidebar> <xf:sidebar key="privacySidebar"> <xf:macro name="privacy_sidebar" arg-album="{$album}" arg-addUsers="{$addUsers}" arg-viewUsers="{$viewUsers}" /> </xf:sidebar> <xf:sidebar key="shareSidebar"> <xf:macro name="share_sidebar" arg-album="{$album}" /> </xf:sidebar> </xf:if> <xf:macro name="info_sidebar" arg-album="{$album}"> <div class="block"> <div class="block-container"> <h3 class="block-minorHeader">{{ phrase('xfmg_album_information') }}</h3> <div class="block-body block-row"> <xf:if is="$album.Category"> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_category') }}</dt> <dd><a href="{{ link('media/categories', $album.Category) }}">{$album.Category.title}</a></dd> </dl> </xf:if> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_album_owner') }}</dt> <dd><xf:username user="{$album.User}" defaultname="{$album.username}" /></dd> </dl> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_date_created') }}</dt> <dd><xf:date time="{$album.create_date}" /></dd> </dl> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_item_count') }}</dt> <dd>{$album.media_count|number}</dd> </dl> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_view_count') }}</dt> <dd>{$album.view_count|number}</dd> </dl> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_comment_count') }}</dt> <dd>{$album.comment_count|number}</dd> </dl> <dl class="pairs pairs--justified"> <dt>{{ phrase('rating') }}</dt> <dd> <xf:macro template="rating_macros" name="stars_text" arg-rating="{$album.rating_avg}" arg-count="{$album.rating_count}" arg-rowClass="ratingStarsRow--textBlock" /> </dd> </dl> </div> </div> </div> </xf:macro> <xf:macro name="privacy_sidebar" arg-album="!" arg-addUsers="!" arg-viewUsers="!"> <xf:if is="$album.User"> <div class="block"> <div class="block-container"> <h3 class="block-minorHeader">{{ phrase('xfmg_album_privacy') }}</h3> <div class="block-body"> <div class="block-row"> <div class="contentRow"> <div class="contentRow-figure"> <xf:avatar user="$album.User" size="s" /> </div> <div class="contentRow-main"> <h3 class="contentRow-title"><xf:username user="$album.User" rich="true" /></h3> <div class="contentRow-muted"> <dl class="pairs pairs--justified fauxBlockLink"> <dt>{{ phrase('xfmg_media_items') }}</dt> <dd> <a href="{{ link('media/users', $album.User) }}" class="fauxBlockLink-blockLink u-concealed"> {$album.User.xfmg_media_count|number} </a> </dd> </dl> <dl class="pairs pairs--justified fauxBlockLink"> <dt>{{ phrase('xfmg_albums') }}</dt> <dd> <a href="{{ link('media/albums/users', $album.User) }}" class="fauxBlockLink-blockLink u-concealed"> {$album.User.xfmg_album_count|number} </a> </dd> </dl> </div> </div> </div> </div> <div class="block-row"> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_can_view_media_items') }}</dt> <dd>{$album.getPrivacyPhrase($album.view_privacy)}</dd> </dl> <xf:if is="$album.view_privacy == 'shared' AND $viewUsers"> <ul class="listHeap"> <xf:foreach loop="$viewUsers" value="$user"> <li><xf:avatar user="$user" size="xs" /></li> </xf:foreach> </ul> </xf:if> </div> <div class="block-row"> <dl class="pairs pairs--justified"> <dt>{{ phrase('xfmg_can_add_media_items') }}</dt> <dd>{$album.getPrivacyPhrase($album.add_privacy)}</dd> </dl> <xf:if is="$album.add_privacy == 'shared' AND $addUsers"> <ul class="listHeap"> <xf:foreach loop="$addUsers" value="$user"> <li><xf:avatar user="$user" size="xs" /></li> </xf:foreach> </ul> </xf:if> </div> </div> <xf:if is="$album.canChangePrivacy()"> <div class="block-footer"> <span class="block-footer-controls"> <xf:button href="{{ link('media/albums/change-privacy', $album) }}" class="button--small button--link" overlay="true">{{ phrase('xfmg_change_privacy') }}</xf:button> </span> </div> </xf:if> </div> </div> </xf:if> </xf:macro> <xf:macro name="share_sidebar" arg-album="!"> <xf:if contentcheck="true"> <div class="block"> <div class="block-container"> <xf:contentcheck> <xf:if contentcheck="true"> <h3 class="block-minorHeader">{{ phrase('xfmg_share_this_album') }}</h3> <div class="block-body block-row block-row--separated"> <xf:contentcheck> <xf:macro template="share_page_macros" name="buttons" arg-iconic="{{ true }}" /> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="block-body block-row block-row--separated"> <xf:contentcheck> <xf:if is="$album.thumbnail_date"> <xf:macro template="share_page_macros" name="share_clipboard_input" arg-label="{{ phrase('xfmg_copy_url_bb_code_with_thumbnail') }}" arg-text="[URL=&quot;{{ link('canonical:media/albums', $album) }}&quot;][IMG]{$album.getThumbnailUrl(true)}[/IMG][/URL]" /> </xf:if> <xf:macro template="share_page_macros" name="share_clipboard_input" arg-label="{{ phrase('xfmg_copy_gallery_bb_code') }}" arg-text="[GALLERY=album, {$album.album_id}][/GALLERY]" /> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </div> </xf:if> </xf:macro>]]>

</template>


-<template title="xfmg_comment_macros" version_string="2.2.2" version_id="902020270" addon_id="XFMG" type="public">

<![CDATA[<xf:macro name="comment_list" arg-comments="!" arg-content="!" arg-linkPrefix="!" arg-link="!" arg-linkParams="{{ {} }}" arg-page="!" arg-perPage="!" arg-totalItems="!" arg-pageParam="page" arg-canInlineMod="!"> <xf:if is="$canInlineMod"> <xf:js src="xf/inline_mod.js" min="1" /> </xf:if> <div class="block block--messages" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="xfmg_comment" data-href="{{ link('inline-mod') }}"> <div class="block-outer"><xf:trim> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$totalItems}" link="{$link}" data="{$content}" params="{$linkParams}" pageparam="{$pageParam}" 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:contentcheck> </div> </div> </xf:if> </xf:trim></div> <div class="block-container" data-xf-init="{{ $xf.options.selectQuotable ? 'select-to-quote' : '' }}" data-message-selector=".js-comment"> <div class="block-body js-replyNewCommentContainer"> <xf:if is="$comments is not empty"> <span class="u-anchorTarget" id="comments"></span> <xf:foreach loop="$comments" value="$comment"> <xf:if is="$comment.comment_state == 'deleted'"> <xf:macro name="comment_deleted" arg-comment="{$comment}" arg-content="{$content}" arg-linkPrefix="{$linkPrefix}" /> <xf:else /> <xf:macro name="comment" arg-comment="{$comment}" arg-content="{$content}" arg-linkPrefix="{$linkPrefix}" /> </xf:if> </xf:foreach> <xf:else /> <div class="blockMessage js-replyNoMessages">{{ phrase('xfmg_there_no_comments_to_display') }}</div> </xf:if> </div> </div> <div class="block-outer block-outer--after"> <xf:pagenav page="{$page}" perpage="{$perPage}" total="{$totalItems}" link="{$link}" data="{$content}" params="{$linkParams}" pageparam="{$pageParam}" wrapperclass="block-outer-main" /> <xf:showignored wrapperclass="block-outer-opposite" /> </div> </div> <xf:macro name="comment_add" arg-comments="{$comments}" arg-content="{$content}" arg-linkPrefix="{$linkPrefix}" /> </xf:macro> <xf:macro name="comment" arg-comment="!" arg-content="!" arg-linkPrefix="!"> <xf:css src="xfmg_comment.less" /> <article class="message message--simple message--comment{{ $comment.isIgnored() ? ' is-ignored' : '' }} js-comment js-inlineModContainer" data-author="{{ $comment.User.username ?: $comment.username }}" data-content="xfmg-comment-{$comment.comment_id}"> <span class="u-anchorTarget" id="xfmg-comment-{$comment.comment_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info_simple" arg-user="{$comment.User}" arg-fallbackName="{$comment.username}" /> </div> <div class="message-cell message-cell--main"> <div class="js-quickEditTarget"> <div class="message-content js-messageContent"> <header class="message-attribution message-attribution--plain"> <ul class="listInline listInline--bullet"> <li class="message-attribution-user"> <xf:avatar user="$comment.User" size="xxs" /> <h4 class="attribution"><xf:username user="$comment.User" rich="true" defaultname="{$comment.username}" /></h4> </li> <li> <a href="{{ link('media/comments', $comment) }}" class="u-concealed"><xf:date time="$comment.comment_date" /></a> </li> <xf:if is="$comment.Rating"> <li> <xf:macro template="rating_macros" name="stars" arg-rating="{$comment.Rating.rating}" arg-class="ratingStars--smaller" /> </li> </xf:if> </ul> </header> <xf:if is="$comment.comment_state == 'deleted'"> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$comment.DeletionLog}" /> </div> <xf:elseif is="$comment.comment_state == 'moderated'" /> <div class="messageNotice messageNotice--moderated"> {{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }} </div> </xf:if> <xf:if is="$comment.warning_message"> <div class="messageNotice messageNotice--warning"> {$comment.warning_message} </div> </xf:if> <xf:if is="$comment.isIgnored()"> <div class="messageNotice messageNotice--ignored"> {{ phrase('you_are_ignoring_content_by_this_member') }} </div> </xf:if> <div class="message-userContent"> <article class="message-body js-selectToQuote"> {{ bb_code($comment.message, 'xfmg_comment', $comment) }} <div class="js-selectToQuoteEnd">&nbsp;</div> </article> </div> <xf:if is="$comment.last_edit_date"> <div class="message-lastEdit"> <xf:if is="$comment.user_id == $comment.last_edit_user_id"> {{ phrase('last_edited:') }} <xf:date time="{$comment.last_edit_date}" /> <xf:else /> {{ phrase('last_edited_by_moderator:') }} <xf:date time="{$comment.last_edit_date}" /> </xf:if> </div> </xf:if> <xf:macro template="message_macros" name="signature" arg-user="{$comment.User}" /> </div> <div class="reactionsBar js-reactionsList {{ $comment.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$comment}" link="media/comments/reactions" /> </div> <footer class="message-footer"> <xf:if contentcheck="true"> <div class="message-actionBar actionBar"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$comment}" link="media/comments/react" list="< .js-comment | .js-reactionsList" /> <xf:if is="$content.canReplyToComment()"> <xf:set var="$quoteLink">{{ link($linkPrefix . '/comment', $content, {'quote': $comment.comment_id}) }}</xf:set> <xf:if is="$xf.options.multiQuote"> <a href="{$quoteLink}" class="actionBar-action actionBar-action--mq u-jsOnly js-multiQuote" title="{{ phrase('toggle_multi_quote_tooltip')|for_attr }}" data-message-id="{$comment.comment_id}" data-mq-action="add"> {{ phrase('quote') }} </a> </xf:if> <a href="{$quoteLink}" class="actionBar-action actionBar-action--reply" title="{{ phrase('reply_quoting_this_message')|for_attr }}" data-xf-click="quote" data-quote-href="{{ link('media/comments/quote', $comment) }}">{{ phrase('reply') }}</a> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$comment.canUseInlineModeration()"> <span class="actionBar-action actionBar-action--inlineMod"> <xf:checkbox standalone="true"> <xf:option value="{$comment.comment_id}" class="js-inlineModToggle" data-xf-init="tooltip" title="{{ phrase('select_for_moderation') }}" label="{{ phrase('select_for_moderation') }}" hiddenlabel="true" /> </xf:checkbox> </span> </xf:if> <xf:if is="$comment.canReport()"> <a href="{{ link('media/comments/report', $comment) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:if is="$comment.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('media/comments/edit', $comment) }}" class="actionBar-action actionBar-action--edit" data-xf-click="quick-edit" data-editor-target="< .js-quickEditTarget">{{ phrase('edit') }}</a> </xf:if> <xf:if is="$comment.edit_count AND $comment.canViewHistory()"> <a href="{{ link('media/comments/history', $comment) }}" class="actionBar-action actionBar-action--history" data-xf-click="toggle" data-target="< .js-comment | .js-historyTarget">{{ phrase('history') }}</a> </xf:if> <xf:if is="$comment.canDelete()"> <a href="{{ link('media/comments/delete', $comment) }}" class="actionBar-action actionBar-action--delete" data-xf-click="overlay">{{ phrase('delete') }}</a> </xf:if> <xf:if is="$comment.canCleanSpam()"> <a href="{{ link('spam-cleaner', $comment) }}" class="actionBar-action actionBar-action--spam" data-xf-click="overlay">{{ phrase('spam') }}</a> </xf:if> <xf:if is="$xf.visitor.canViewIps() AND $comment.ip_id"> <a href="{{ link('media/comments/ip', $comment) }}" class="actionBar-action actionBar-action--ip" data-xf-click="overlay">{{ phrase('ip') }}</a> </xf:if> <xf:if is="$comment.canWarn()"> <a href="{{ link('media/comments/warn', $comment) }}" class="actionBar-action actionBar-action--warn">{{ phrase('warn') }}</a> <xf:elseif is="$comment.warning_id AND $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $comment.warning_id}) }}" class="actionBar-action actionBar-action--warn" data-xf-click="overlay">{{ phrase('view_warning') }}</a> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </footer> <div class="js-historyTarget toggleTarget" data-href="trigger-href"></div> </div> </div> </div> </article> </xf:macro> <xf:macro name="comment_simple" arg-comment="!" arg-content="!"> <div class="contentRow"> <div class="contentRow-figure"> <xf:avatar user="$comment.User" size="xxs" defaultname="{$comment.username}" /> </div> <div class="contentRow-main contentRow-main--close"> <a href="{{ link('media/comments', $comment) }}">{$content.title}</a> <div class="contentRow-snippet"> {{ smilie(snippet($comment.message, 150, {'stripBbCode': true, 'stripQuote': true})) }} </div> <div class="contentRow-minor contentRow-minor--hideLinks"> <ul class="listInline listInline--bullet"> <li><xf:date time="{$comment.comment_date}" /></li> </ul> </div> </div> </div> </xf:macro> <xf:macro name="comment_lightbox" arg-comment="!" arg-content="!" arg-linkPrefix="!"> <div class="message-responseRow"> <div class="comment js-comment {{ $comment.isIgnored() ? 'is-ignored' : '' }}" data-author="{{ $comment.User.username ?: $comment.username }}" data-content="xfmg-comment-{$comment.comment_id}"> <div class="comment-inner"> <span class="comment-avatar"> <xf:avatar user="$comment.User" size="xxs" defaultname="{$comment.username}" /> </span> <div class="comment-main"> <span class="u-anchorTarget" id="xfmg-comment-{$comment.comment_id}"></span> <div class="js-quickEditTarget"> <div class="comment-content"> <div class="comment-contentWrapper"> <ul class="listInline listInline--bullet"> <li><xf:username user="$comment.User" rich="true" defaultname="{$comment.username}" class="comment-user" /></li> <xf:if is="$comment.Rating"> <li> <xf:macro template="rating_macros" name="stars" arg-rating="{$comment.Rating.rating}" arg-class="ratingStars--smaller" /> </li> </xf:if> </ul> <article class="comment-body">{{ bb_code($comment.message, 'xfmg_comment', $comment) }}</article> </div> </div> <footer class="comment-footer"> <div class="comment-actionBar actionBar"> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$comment}" link="media/comments/react" list="< .js-comment | .js-commentReactionsList" /> </xf:contentcheck> </div> </xf:if> <div class="actionBar-set actionBar-set--internal"> <span class="actionBar-action"><xf:date time="{$comment.comment_date}" /></span> <xf:if is="$comment.canReport()"> <a href="{{ link('media/comments/report', $comment) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:if contentcheck="true"> <a class="actionBar-action actionBar-action--menuTrigger is-displayed" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <xf:contentcheck> <xf:if is="$comment.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('media/comments/edit', $comment, {'lightbox': 1}) }}" class="menu-linkRow" data-menu-closer="true" data-xf-click="quick-edit" data-editor-target="[data-content=xfmg-comment-{$comment.comment_id}] .js-quickEditTarget">{{ phrase('edit') }}</a> </xf:if> <xf:if is="$comment.edit_count AND $comment.canViewHistory()"> <a href="{{ link('media/comments/history', $comment) }}" class="menu-linkRow" data-xf-click="toggle" data-menu-closer="true" data-target="[data-content=xfmg-comment-{$comment.comment_id}] .js-historyTarget">{{ phrase('history') }}</a> </xf:if> <xf:if is="$comment.canDelete()"> <a href="{{ link('media/comments/delete', $comment) }}" class="menu-linkRow" data-xf-click="overlay">{{ phrase('delete') }}</a> </xf:if> <xf:if is="$comment.canCleanSpam()"> <a href="{{ link('spam-cleaner', $comment) }}" class="menu-linkRow" data-xf-click="overlay">{{ phrase('spam') }}</a> </xf:if> <xf:if is="$xf.visitor.canViewIps() AND $comment.ip_id"> <a href="{{ link('media/comments/ip', $comment) }}" class="menu-linkRow" data-xf-click="overlay">{{ phrase('ip') }}</a> </xf:if> <xf:if is="$comment.canWarn()"> <a href="{{ link('media/comments/warn', $comment) }}" class="menu-linkRow">{{ phrase('warn') }}</a> <xf:elseif is="$comment.warning_id AND $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $comment.warning_id}) }}" class="menu-linkRow" data-xf-click="overlay">{{ phrase('view_warning') }}</a> </xf:if> </xf:contentcheck> </div> </div> </xf:if> </div> </div> <div class="comment-reactions js-commentReactionsList {{ $comment.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$comment}" link="media/comments/reactions" /> </div> </footer> <div class="js-historyTarget toggleTarget" data-href="trigger-href"></div> </div> </div> </div> </div> </div> </xf:macro> <xf:macro name="comment_deleted" arg-comment="!" arg-content="!" arg-linkPrefix="!"> <xf:css src="xfmg_comment.less" /> <section class="message message--simple message--deleted message--comment{{ $comment.isIgnored() ? ' is-ignored' : '' }} js-comment js-inlineModContainer" data-author="{{ $comment.User.username ?: $comment.username }}" data-content="xfmg-comment-{$comment.comment_id}"> <span class="u-anchorTarget" id="xfmg-comment-{$comment.comment_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--user"> <xf:macro template="message_macros" name="user_info_simple" arg-user="{$comment.User}" arg-fallbackName="{$comment.username}" /> </div> <div class="message-cell message-cell--main"> <header class="message-attribution message-attribution--plain"> <ul class="listInline listInline--bullet"> <li class="message-attribution-user"> <xf:avatar user="$comment.User" size="xxs" /> <h4 class="attribution"><xf:username user="$comment.User" rich="true" defaultname="{$comment.username}" /></h4> </li> <li><xf:date time="$comment.comment_date" /></li> </ul> </header> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$comment.DeletionLog}" /> <a href="{{ link('media/comments/show', $comment) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=xfmg-comment-{$comment.comment_id}]">{{ phrase('show...') }}</a> </div> </div> </div> </section> </xf:macro> <xf:macro name="comment_deleted_lightbox" arg-comment="!" arg-content="!" arg-linkPrefix="!"> <div class="message-responseRow"> <div class="comment{{ $comment.isIgnored() ? ' is-ignored' : '' }}" data-author="{{ $comment.User.username ?: $comment.username }}" data-content="xfmg-comment-{$comment.comment_id}"> <div class="comment-inner"> <span class="comment-avatar"> <xf:avatar user="$comment.User" size="xxs" defaultname="{$comment.username}" /> </span> <div class="comment-main"> <div class="comment-content"> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$comment.DeletionLog}" /> <a href="{{ link('media/comments/show', $comment, {'lightbox': 1}) }}" class="u-jsOnly" data-xf-click="inserter" data-replace="[data-content=xfmg-comment-{$comment.comment_id}]">{{ phrase('show...') }}</a> </div> </div> <div class="comment-actionBar actionBar"> <div class="actionBar-set actionBar-set--internal"> <span class="actionBar-action"> <xf:date time="{$comment.comment_date}" /> <span role="presentation" aria-hidden="true">&middot;</span> <xf:username user="{$comment.User}" defaultname="{$comment.username}" class="u-concealed" /> </span> </div> </div> </div> </div> </div> </div> </xf:macro> <xf:macro name="comment_add" arg-comments="!" arg-content="!" arg-linkPrefix="!"> <xf:set var="$isPreRegComment" value="{{ $content.canAddCommentPreReg() }}" /> <xf:if is="$content.canAddComment() OR $isPreRegComment"> <xf:form action="{{ link($linkPrefix . '/add-comment', $content) }}" ajax="true" draft="{{ link($linkPrefix . '/draft', $content) }}" class="block js-quickReply" data-xf-init="quick-reply{{ ($xf.visitor.isShownCaptcha() AND !$isPreRegComment) ? ' guest-captcha' : '' }}" data-message-container="< :prev | .js-replyNewCommentContainer"> <xf:js src="xf/message.js" min="1" /> <xf:set var="$lastPost" value="{$comments|last}" /> <div class="block-container"> <div class="block-body"> <xf:macro template="quick_reply_macros" name="body" arg-message="{$content.draft_comment.message}" arg-messageSelector=".js-comment" arg-supportsMultiQuote="{$xf.options.multiQuote}" arg-multiQuoteHref="{{ link($linkPrefix . '/multi-quote', $content) }}" arg-multiQuoteStorageKey="multiQuoteMediaItem" arg-simple="{{ true }}" arg-submitText="{{ phrase('post_comment') }}" arg-lastDate="{$lastPost.comment_date}" arg-showGuestControls="{{ !$isPreRegComment }}" arg-previewUrl="{{ link($linkPrefix . '/preview', $content) }}" /> </div> </div> </xf:form> </xf:if> </xf:macro>]]>

</template>


-<template title="xfmg_item_list.less" version_string="2.2.1" version_id="902020170" addon_id="XFMG" type="public">

<![CDATA[@_stripThumbSize: 50px; @_thumbSize: xf-option('xfmgThumbnailDimensions.width', px); .itemList { display: flex; flex-flow: row wrap; margin: @xf-paddingSmall; &.itemList--strip { justify-content: center; min-height: @_stripThumbSize + (@xf-paddingSmall * 2); @media (max-width: @xf-responsiveNarrow) { min-height: @_stripThumbSize / 1.3 + (@xf-paddingSmall * 2); } @media (max-width: 360px) { min-height: @_stripThumbSize / 1.9 + (@xf-paddingSmall * 2); } } &.itemList--slider { display: block; margin: 0; .itemList-item--slider { margin: 0; display: none; .lightSlider--loaded & { display: block; } .itemList-itemTypeIcon { display: none; } } } } .itemList-item { flex: auto; width: (@_thumbSize) / 1.6; max-width: @_thumbSize; margin: @xf-paddingSmall; position: relative; overflow: hidden; .itemList--strip & { justify-items: center; width: (@_stripThumbSize) / 1.6; max-width: @_stripThumbSize; margin-top: auto; margin-bottom: auto; opacity: 1; .m-transition(opacity); &.itemList-item--fading { opacity: 0 !important; } } @media (max-width: @xf-responsiveNarrow) { width: (@_thumbSize) / 2; .itemList--strip && // for extra specificity { max-width: (@_stripThumbSize) / 1.3; } } @media (max-width: 360px) { .itemList--strip && { max-width: (@_stripThumbSize) / 1.9; } } &.itemList-item--placeholder { margin-top: 0; margin-bottom: 0; height: 0; .itemList--strip & { .xf-contentAltBase(); .xf-blockBorder(); margin-top: inherit; margin-bottom: inherit; height: initial; opacity: 0.7; } } } .itemList-button { .xf-contentAltBase(); .xf-blockBorder(); width: 25px; border-radius: @xf-borderRadiusMedium; color: @xf-linkColor; display: block; position: relative; margin: @xf-paddingSmall; cursor: pointer; &.is-disabled { display: none; } &.is-loading { .xf-buttonDisabled(); pointer-events: none; cursor: default; } } .itemList-button-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); .m-faBase(); font-size: 1.2em; .itemList-button--next & { &:before { .m-faContent(@fa-var-chevron-right, .63em, ltr); .m-faContent(@fa-var-chevron-left, .63em, rtl); } } .itemList-button--prev & { &:before { .m-faContent(@fa-var-chevron-left, .63em, ltr); .m-faContent(@fa-var-chevron-right, .63em, rtl); } } } .itemList-itemTypeIcon { position: absolute; top: @xf-paddingMedium; right: @xf-paddingMedium; z-index: @zIndex-1; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; .m-textOutline(white, black, thin); color: #fff; opacity: 0.6; .has-touchevents &, .itemList-item:hover &, .itemList-item.is-mod-selected & { opacity: 1; } .m-faBase(); &::after { font-size: @xf-fontSizeLargest; } } @_overlayHeight: 52px; .itemList-itemOverlay { width: 100%; height: @_overlayHeight; bottom: -@_overlayHeight; position: absolute; background-color: rgba(0, 0, 0, 0.6); .m-hiddenLinks(); .m-transition(); padding: 4px; overflow: hidden; .has-touchevents &, .itemList-item:hover & { bottom: 0; } .itemList-item.is-mod-selected & { bottom: 0; background: @xf-inlineModHighlightColor; } a:hover { text-decoration: none; } } .itemList-itemOverlayTop { cursor: pointer; top: 3px; left: 3px; z-index: @zIndex-2 + 5; // above the state icon but below the filter menu width: 25px; height: 25px; border-radius: @xf-borderRadiusMedium; background: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; opacity: 0; .has-touchevents &, .itemList-item:hover & { opacity: 1; } .itemList-item.is-mod-selected & { opacity: 1; background: @xf-inlineModHighlightColor; &.iconic { > input { + i:before { color: @xf-textColorDimmed; } &:hover { + i:before { color: @xf-textColorDimmed; } } } } } &&.iconic { display: flex; position: absolute; > input { + i { &:before { color: #fff; } position: absolute; top: 1px; left: 4px; } &:hover { + i:before { color: xf-intensify(#fff, 15%); } } } } } .itemInfoRow { display: flex; align-items: center; } .itemInfoRow-avatar { white-space: nowrap; word-wrap: normal; text-align: center; } .itemInfoRow-main { flex: 1; min-width: 0; vertical-align: top; text-shadow: 0 0 2px rgba(0, 0, 0, 0.6); color: #fff; .itemList-item.is-mod-selected & { text-shadow: none; color: @xf-textColorDimmed; } &:before { // because of line height, there appears to be extra space at the top of this content: ''; display: block; margin-top: -.18em; } } .itemInfoRow-title { margin: 0; padding: 0 0 0 @xf-paddingSmall; font-size: @xf-fontSizeSmall; font-weight: @xf-fontWeightNormal; .m-overflowEllipsis(); } .itemInfoRow-status { margin: 0; padding: 0 0 0 @xf-paddingSmall; font-size: @xf-fontSizeSmallest; overflow: hidden; white-space: nowrap; }]]>

</template>


-<template title="xfmg_item_view.less" version_string="2.2.1" version_id="902020170" addon_id="XFMG" type="public">

<![CDATA[.xfmgInfoBlock-title { margin-bottom: @xf-paddingLarge; .xfmgInfoBlock--lightbox & { h2.p-title-value { font-size: @xf-fontSizeLarger; } } } .xfmgInfoBlock-status { margin-bottom: @xf-paddingLarge; } .xfmgInfoBlock-originallyFrom { font-size: @xf-fontSizeSmall; margin-bottom: @xf-paddingLarge; &:before { color: @xf-textColorFeature; .m-faBase(); .m-faContent(@fa-var-paperclip, 1em); } } .xfmgInfoBlock-description { margin-bottom: @xf-paddingLarge; .bbCodeBlock { font-size: @xf-fontSizeSmall; } } .xfmgInfoBlock-title + .actionBar, .xfmgInfoBlock-originallyFrom + .actionBar { // margin-top: -@xf-paddingLarge; } .xfmgInfoBlock .actionBar-set { font-size: @xf-fontSizeSmall; margin-top: @xf-paddingLarge; } .columnContainer { display: flex; } .columnContainer-comments { margin-right: @xf-paddingLarge; flex: 0 70%; min-width: 0; } .columnContainer-sidebar { flex: 0 30%; min-width: 0; } @media (max-width: @xf-responsiveEdgeSpacerRemoval) { .columnContainer { .columnContainer-sidebar { display: block; margin-left: 0; margin-right: 0; > * { margin-left: 0; margin-right: 0; min-width: 0; } } } } @_columnSidebarWidth: 350px; @media (max-width: @xf-responsiveWide) { .columnContainer { display: block; } .columnContainer-comments { margin-right: 0; } .columnContainer-sidebar { display: flex; flex-wrap: wrap; align-items: stretch; margin: (@xf-elementSpacer) -((@xf-pageEdgeSpacer) / 2) -(@xf-elementSpacer); width: auto; > * { margin: 0 ((@xf-pageEdgeSpacer) / 2) @xf-elementSpacer; min-width: @_columnSidebarWidth; flex: 1 1 @_columnSidebarWidth; &:last-child { margin-bottom: @xf-elementSpacer; } } // add an invisible block to ensure that the last row has the correct widths &:after { display: block; content: ''; height: 0; margin: 0 ((@xf-pageEdgeSpacer) / 2); min-width: @_columnSidebarWidth; flex: 1 1 @_columnSidebarWidth; } .block-container { display: flex; flex-direction: column; height: 100%; .block-footer { margin-top: auto; } } } } {{ include('bb_code.less') }}]]>

</template>


-<template title="xfmg_media_add.less" version_string="2.2.1" version_id="902020170" addon_id="XFMG" type="public">

<![CDATA[.block { &.block--mediaList { margin-top: 0; } } .mediaList { .m-listPlain(); .m-clearFix(); margin: 4px 0 0; > li { .xf-contentAltBase(); .xf-blockBorder(); border-radius: @xf-blockBorderRadius; margin-bottom: @xf-paddingMedium; padding: @xf-paddingMedium; .contentRow-main { padding-left: @xf-paddingMedium; .mediaItem-input { border-top: none; > dt { padding: 0; } } } &:last-child { margin-bottom: 0; } &.is-uploadError { .contentRow-title span // span needed due to opacity creating new stacking context { text-decoration: line-through; opacity: .5; } .contentRow-figure { opacity: .5; } } } &.mediaList--buttons { > .mediaList-button { float: left; width: 120px; height: 120px; display: flex; align-items: center; justify-content: center; position: relative; margin-right: @xf-paddingLarge; margin-bottom: @xf-paddingMedium; &:last-child { margin-right: 0; } &.is-hidden { display: none; } .mediaList-inner { text-align: center; display: block; &.mediaList-inner--footer { position: absolute; bottom: 2px; margin-top: 1px; } &::before { .m-faBase(); font-size: 60px; display: block; } &--upload::before { .m-faContent(@fa-var-upload); } &--link::before { .m-faContent(@fa-var-cloud-upload); } &:hover { text-decoration: none; } } } } } .mediaList-figure.contentRow-figure { width: 100px; img { max-height: 100px; max-width: 100px; } } .mediaList-placeholder { display: block; width: 100px; &:before { display: inline-block; .m-faBase(); .m-faContent(@fa-var-camera); font-size: 60px; vertical-align: middle; color: @xf-textColorFeature; border-radius: 100%; } } .mediaList-progress { position: relative; i { position: absolute; top: 0; bottom: 0; left: 0; background: @xf-progressBarColor; color: contrast(@xf-progressBarColor); border-radius: @xf-borderRadiusMedium; padding-right: .2em; text-align: right; font-style: normal; white-space: nowrap; min-width: 2em; .m-transition(width); } } .mediaList-error { color: @xf-textColorAttention; } @media (max-width: @xf-responsiveNarrow) { .mediaList-figure.contentRow-figure { width: 50px; img { max-height: 50px; max-width: 50px; } } .mediaList-placeholder { display: block; width: 50px; &:before { font-size: 30px; } } } .typesList { .typesList-type { .xf-link(); margin-right: @xf-paddingLarge; &:last-child { margin-right: 0; } &:hover { .xf-linkHover(); text-decoration: none; } &::before { .m-faBase(); } &--image::before { .m-faContent(@fa-var-image); } &--video::before { .m-faContent(@fa-var-video); } &--audio::before { .m-faContent(@fa-var-music); } &--embed::before { .m-faContent(@fa-var-cloud-upload); } } }]]>

</template>


-<template title="xfmg_media_view" version_string="2.2.2" version_id="902020270" addon_id="XFMG" type="public">

<![CDATA[<xf:title>{$mediaItem.title}</xf:title> <xf:h1 hidden="true" /> <xf:css src="xfmg_media_view.less" /> <xf:js prod="xfmg/image_noter-compiled.js" dev="xfmg/vendor/cropper/cropper.js, xfmg/image_noter.js" /> <xf:macro template="xfmg_page_macros" name="xfmg_page_options" arg-album="{$mediaItem.Album}" arg-category="{$mediaItem.Category}" arg-mediaItem="{$mediaItem}" /> <xf:set var="$descSnippet" value="{{ snippet($mediaItem.description, 250) }}" /> <xf:macro template="metadata_macros" name="metadata" arg-description="{$descSnippet}" arg-shareUrl="{{ link('canonical:media', $mediaItem) }}" arg-imageUrl="{$mediaItem.getCurrentThumbnailUrl(true)}" arg-canonicalUrl="{{ link('canonical:media', $mediaItem, {'page': $page}) }}" /> <xf:page option="ldJsonHtml"> <script type="application/ld+json"> {$mediaItem.structured_data|json(true)|raw} </script> </xf:page> <xf:breadcrumb source="$mediaItem.getBreadcrumbs(false)" /> <xf:macro template="xfmg_media_view_macros" name="media_status" arg-mediaItem="{$mediaItem}" /> <div class="media"> <xf:if is="$filmStripParams.prevItem"> <a href="{{ link('media', $filmStripParams.prevItem) }}" class="media-button media-button--prev" data-xf-key="ArrowLeft"><i class="media-button-icon"></i></a> </xf:if> <div class="media-container" data-xf-init="{{ ($mediaItem.media_type == 'image') ? 'image-noter' : '' }}" data-toggle-id="#js-noterToggle" data-edit-url="{{ link('media/note-edit', $mediaItem) }}"> <xf:macro template="xfmg_media_view_macros" name="media_content" arg-mediaItem="{$mediaItem}" arg-mediaNotes="{$mediaNotes}" /> </div> <xf:if is="$filmStripParams.nextItem"> <a href="{{ link('media', $filmStripParams.nextItem) }}" class="media-button media-button--next" data-xf-key="ArrowRight"><i class="media-button-icon"></i></a> </xf:if> </div> <div class="block js-mediaInfoBlock"> <xf:macro template="xfmg_media_view_macros" name="media_film_strip" arg-mediaItem="{$mediaItem}" arg-filmStripParams="{$filmStripParams}" /> <div class="block-container"> <div class="block-body block-row xfmgInfoBlock"> <div class="xfmgInfoBlock-title"> <div class="contentRow contentRow--alignMiddle"> <span class="contentRow-figure"> <xf:avatar user="$mediaItem.User" size="s" defaultname="{$mediaItem.username}" /> </span> <div class="contentRow-main"> <h1 class="contentRow-title p-title-value"><xf:h1 /></h1> <div class="contentRow-lesser p-description"> <ul class="listInline listInline--bullet"> <li><xf:fa icon="fa-user" title="{{ phrase('xfmg_media_owner')|for_attr }}" /> <xf:username user="{$mediaItem.User}" defaultname="{$mediaItem.username}" class="u-concealed" /></li> <li><xf:fa icon="fa-clock" title="{{ phrase('xfmg_date_added')|for_attr }}" /> <xf:date time="{$mediaItem.media_date}" /></li> <xf:if is="$xf.options.enableTagging AND ($mediaItem.canEditTags() OR $mediaItem.tags)"> <li> <xf:macro template="tag_macros" name="list" arg-tags="{$mediaItem.tags}" arg-tagList="tagList--mediaItem-{$mediaItem.media_id}" arg-editLink="{{ $mediaItem.canEditTags() ? link('media/tags', $mediaItem) : '' }}" /> </li> </xf:if> </ul> </div> </div> </div> </div> <xf:if is="$mirrorContainer"> <div class="xfmgInfoBlock-originallyFrom"> {{ phrase('xfmg_originally_posted_in_x', {'link': $mirrorContainer.link, 'title': $mirrorContainer.title}) }} </div> </xf:if> <xf:if is="$mediaItem.description"> <div class="xfmgInfoBlock-description"> <div class="bbCodeBlock bbCodeBlock--expandable js-expandWatch"> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent"> {{ structured_text($mediaItem.description) }} </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">{{ phrase('click_to_expand') }}</a></div> </div> </div> </div> </xf:if> <xf:macro template="custom_fields_macros" name="custom_fields_view" arg-type="xfmgMediaFields" arg-group="below_media" arg-onlyInclude="{{ $mediaItem.category_id ? $mediaItem.Category.field_cache : $mediaItem.Album.field_cache }}" arg-set="{$mediaItem.custom_fields}" /> <div class="reactionsBar js-reactionsList {{ $mediaItem.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$mediaItem}" link="media/reactions" /> </div> <xf:if contentcheck="true"> <div class="actionBar"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$mediaItem}" link="media/react" list="< .js-mediaInfoBlock | .js-reactionsList" /> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$mediaItem.canReport()"> <a href="{{ link('media/report', $mediaItem) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:set var="$hasActionBarMenu" value="{{ false }}" /> <xf:if is="$mediaItem.canEdit()"> <a href="{{ link('media/edit', $mediaItem) }}" class="actionBar-action actionBar-action--edit actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('edit') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$mediaItem.canDelete()"> <a href="{{ link('media/delete', $mediaItem) }}" class="actionBar-action actionBar-action--delete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('delete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$mediaItem.canCleanSpam()"> <a href="{{ link('spam-cleaner', $mediaItem) }}" class="actionBar-action actionBar-action--spam actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('spam') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$xf.visitor.canViewIps() AND $mediaItem.ip_id"> <a href="{{ link('media/ip', $mediaItem) }}" class="actionBar-action actionBar-action--ip actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('ip') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$mediaItem.canWarn()"> <a href="{{ link('media/warn', $mediaItem) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$mediaItem.warning_id AND $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $mediaItem.warning_id}) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('view_warning') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$hasActionBarMenu"> <a class="actionBar-action actionBar-action--menuTrigger" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <div class="js-menuBuilderTarget"></div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </div> </div> <div class="block-outer block-outer--after"> <xf:if contentcheck="true"> <div class="block-outer-opposite"> <xf:contentcheck> <xf:if is="$mediaItem.canRate()"> <xf:button href="{{ link('media/media-ratings/rate', $mediaItem) }}" overlay="true"> {{ phrase('leave_rating') }} </xf:button> </xf:if> <xf:if is="$mediaItem.canAddNote()"> <xf:button id="js-noterToggle" class="button--icon" data-active-label="{{ phrase('xfmg_stop_adding_note_tag') }}" data-active-icon="cancel" data-active-message="{{ phrase('xfmg_note_tag_mode_activated') }}" data-inactive-label="{{ phrase('xfmg_add_note_tag') }}" data-inactive-icon="" data-inactive-message="{{ phrase('xfmg_note_tag_mode_deactivated') }}"> {{ phrase('xfmg_add_note_tag') }} </xf:button> </xf:if> <xf:if contentcheck="true"> <div class="buttonGroup"> <xf:contentcheck> <xf:if is="$mediaItem.canUndelete() AND $mediaItem.media_state == 'deleted'"> <xf:button href="{{ link('media/undelete', $mediaItem) }}" class="button--link" overlay="true"> {{ phrase('undelete') }} </xf:button> </xf:if> <xf:if is="$mediaItem.canApproveUnapprove() AND $mediaItem.media_state == 'moderated'"> <xf:button href="{{ link('media/approve', $mediaItem) }}" class="button--link" overlay="true"> {{ phrase('approve') }} </xf:button> </xf:if> <xf:if is="$mediaItem.canWatch()"> <xf:button href="{{ link('media/watch', $mediaItem) }}" class="button--link" data-xf-click="switch-overlay" data-sk-watch="{{ phrase('watch') }}" data-sk-unwatch="{{ phrase('unwatch') }}"> <xf:if is="{$mediaItem.Watch.{$xf.visitor.user_id}}"> {{ phrase('unwatch') }} <xf:else /> {{ phrase('watch') }} </xf:if> </xf:button> </xf:if> <xf:macro template="bookmark_macros" name="button" arg-content="{$mediaItem}" arg-confirmUrl="{{ link('media/bookmark', $mediaItem) }}" /> <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') }}">&#8226;&#8226;&#8226;</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:media_tools_menu:top]--> <xf:if is="$mediaItem.canSetAsAvatar()"> <a href="{{ link('media/set-as-avatar', $mediaItem) }}" data-xf-click="overlay" class="menu-linkRow"> {{ phrase('xfmg_set_as_avatar') }} </a> <xf:if is="$avatarUpdated"> <a href="{{ link('account/avatar') }}" data-xf-click="overlay" data-load-auto-click="true" style="display: none"></a> </xf:if> </xf:if> <xf:if is="$mediaItem.canEdit()"> <a href="{{ link('media/edit', $mediaItem) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('xfmg_edit_media_item') }}</a> </xf:if> <xf:if is="$mediaItem.canEditImage()"> <a href="{{ link('media/edit-image', $mediaItem) }}" class="menu-linkRow">{{ phrase('xfmg_edit_image') }}</a> </xf:if> <xf:if is="$mediaItem.canChangeThumbnail()"> <a href="{{ link('media/change-thumbnail', $mediaItem) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('xfmg_change_thumbnail') }}</a> </xf:if> <xf:if is="$mediaItem.canMove()"> <a href="{{ link('media/move', $mediaItem) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('xfmg_move_media_item') }}</a> </xf:if> <xf:if is="$mediaItem.canDelete('soft')"> <a href="{{ link('media/delete', $mediaItem) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('xfmg_delete_media_item') }}</a> </xf:if> <xf:if is="$mediaItem.canViewModeratorLogs()"> <a href="{{ link('media/moderator-actions', $mediaItem) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('moderator_actions') }}</a> </xf:if> <!--[XF:media_tools_menu:before_footer]--> <xf:if is="$mediaItem.canUseInlineModeration()"> <xf:js src="xf/inline_mod.js" min="1" /> <div class="menu-footer" data-xf-init="inline-mod" data-type="xfmg_media" data-href="{{ link('inline-mod') }}" data-toggle=".js-mediaInlineModToggle"> <xf:checkbox> <xf:option class="js-mediaInlineModToggle" value="{$mediaItem.media_id}">{{ phrase('select_for_moderation') }}</xf:option> </xf:checkbox> </div> </xf:if> <!--[XF:media_tools_menu:bottom]--> </xf:contentcheck> </div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </div> </div> <xf:if is="$mediaItem.canViewComments()"> <div class="columnContainer"> <div class="columnContainer-comments"> <xf:macro template="xfmg_comment_macros" name="comment_list" arg-comments="{$comments}" arg-content="{$mediaItem}" arg-linkPrefix="media/media-comments" arg-link="media" arg-page="{$page}" arg-perPage="{$perPage}" arg-totalItems="{$totalItems}" arg-canInlineMod="{$canInlineModComments}" /> </div> <div class="columnContainer-sidebar"> <xf:macro template="xfmg_media_view_macros" name="info_sidebar" arg-mediaItem="{$mediaItem}" /> <xf:macro template="xfmg_media_view_macros" name="extra_info_sidebar" arg-mediaItem="{$mediaItem}" /> <xf:macro template="xfmg_media_view_macros" name="additional_sidebar" arg-mediaItem="{$mediaItem}" /> <xf:macro template="xfmg_media_view_macros" name="exif_sidebar" arg-mediaItem="{$mediaItem}" /> <xf:macro template="xfmg_media_view_macros" name="user_tags_sidebar" arg-mediaNotes="{$mediaNotes}" /> <xf:macro template="xfmg_media_view_macros" name="share_sidebar" arg-mediaItem="{$mediaItem}" /> </div> </div> <xf:else /> <xf:sidebar key="infoSidebar"> <xf:macro template="xfmg_media_view_macros" name="info_sidebar" arg-mediaItem="{$mediaItem}" /> </xf:sidebar> <xf:sidebar key="extraInfoSidebar"> <xf:macro template="xfmg_media_view_macros" name="extra_info_sidebar" arg-mediaItem="{$mediaItem}" /> </xf:sidebar> <xf:sidebar key="additionalSidebar"> <xf:macro template="xfmg_media_view_macros" name="additional_sidebar" arg-mediaItem="{$mediaItem}" /> </xf:sidebar> <xf:sidebar key="exifSidebar"> <xf:macro template="xfmg_media_view_macros" name="exif_sidebar" arg-mediaItem="{$mediaItem}" /> </xf:sidebar> <xf:sidebar key="userTagsSidebar"> <xf:macro template="xfmg_media_view_macros" name="user_tags_sidebar" arg-mediaNotes="{$mediaNotes}" /> </xf:sidebar> <xf:sidebar key="shareSidebar"> <xf:macro template="xfmg_media_view_macros" name="share_sidebar" arg-mediaItem="{$mediaItem}" /> </xf:sidebar> </xf:if>]]>

</template>


-<template title="xfrm_category_list_macros" version_string="2.2.2" version_id="2020270" addon_id="XFRM" type="public">

<![CDATA[<xf:macro name="simple_category_list" arg-selected="0" arg-pathToSelected="{{ [] }}" arg-children="!" arg-extras="!" arg-isActive="{{ false }}" > <ol class="categoryList toggleTarget{{ $isActive ? ' is-active' : '' }}"> <xf:foreach loop="$children" key="$id" value="$child"> <xf:macro name="simple_category_list_item" arg-selected="{$selected}" arg-pathToSelected="{$pathToSelected}" arg-category="{$child.record}" arg-extras="{$extras.{$id}}" arg-children="{$child}" arg-childExtras="{$extras}" /> </xf:foreach> </ol> </xf:macro> <xf:macro name="simple_category_list_item" arg-selected="!" arg-pathToSelected="{{ [] }}" arg-category="!" arg-extras="!" arg-children="!" arg-childExtras="!" > <xf:set var="$isSelected" value="{{ $category.resource_category_id == $selected }}" /> <xf:set var="$hasPathToSelected" value="{$pathToSelected.{$category.resource_category_id}}" /> <xf:set var="$isActive" value="{{ $isSelected OR $hasPathToSelected AND $children is not empty }}" /> <li class="categoryList-item"> <div class="categoryList-itemRow"> <xf:if is="$children is not empty"> <a class="categoryList-toggler{{ $isActive ? ' is-active' : '' }}" data-xf-click="toggle" data-target="< :up :next" role="button" tabindex="0" aria-label="{{ phrase('toggle_expanded')|for_attr }}" ></a> <xf:else /> <span class="categoryList-togglerSpacer"></span> </xf:if> <a href="{{ link('resources/categories', $category) }}" class="categoryList-link{{ $isSelected ? ' is-selected' : '' }}"> {$category.title} </a> <span class="categoryList-label"> <span class="label label--subtle label--smallest">{$extras.resource_count|number_short}</span> </span> </div> <xf:if is="$children is not empty"> <xf:macro name="simple_category_list" arg-selected="{$selected}" arg-pathToSelected="{$pathToSelected}" arg-children="{$children}" arg-extras="{$childExtras}" arg-isActive="{$isActive}" /> </xf:if> </li> </xf:macro> <xf:macro name="simple_list_block" arg-categoryTree="!" arg-categoryExtras="!" arg-selected="{{ 0 }}"> <div class="block"> <div class="block-container"> <h3 class="block-minorHeader">{{ phrase('categories') }}</h3> <div class="block-body"> <xf:if is="$categoryTree.count()"> <xf:macro name="simple_category_list" arg-children="{$categoryTree}" arg-extras="{$categoryExtras}" arg-isActive="{{ true }}" arg-selected="{$selected}" arg-pathToSelected="{{ $selected ? $categoryTree.getPathTo($selected) : [] }}" /> <xf:else /> <div class="block-row">{{ phrase('n_a') }}</div> </xf:if> </div> </div> </div> </xf:macro> <xf:macro name="category" arg-category="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-chooseName="" arg-bonusInfo=""> <div class="node node--depth2 node--resourceCategory node--resourceCategory{$category.resource_category_id}"> <div class="node-body"> <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="{$category.resource_category_id}" /> </xf:checkbox> </xf:if> <xf:set var="$descriptionDisplay" value="{{ property('nodeListDescriptionDisplay') }}" /> <h3 class="node-title"> <a href="{{ link('resources/categories', $category) }}" data-xf-init="{{ $descriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$category.title}</a> </h3> <xf:if is="$descriptionDisplay != 'none' && $category.description"> <div class="node-description {{ $descriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$category.description|raw}</div> </xf:if> <div class="node-meta"> <div class="node-statsMeta"> <dl class="pairs pairs--inline"> <dt>{{ phrase('xfrm_resources') }}</dt> <dd>{$extras.resource_count|number}</dd> </dl> </div> </div> <xf:if is="$bonusInfo is not empty"> <div class="node-bonus">{$bonusInfo}</div> </xf:if> </div> <div class="node-stats node-stats--single"> <dl class="pairs pairs--rows"> <dt>{{ phrase('xfrm_resources') }}</dt> <dd>{$extras.resource_count|number}</dd> </dl> </div> <div class="node-extra"> <xf:if is="{$extras.last_update}"> <div class="node-extra-row"><a href="{{ link('resources', {'resource_id': $extras.last_resource_id}) }}" class="node-extra-title" title="{$extras.last_resource_title}">{$extras.last_resource_title}</a></div> <div class="node-extra-row"> <xf:date time="{$extras.last_update}" class="node-extra-date" /> </div> <xf:else /> <span class="node-extra-placeholder">{{ phrase('none') }}</span> </xf:if> </div> </div> </div> </xf:macro>]]>

</template>


-<template title="xfrm_resource_update_macros" version_string="2.2.1" version_id="2020170" addon_id="XFRM" type="public">

<![CDATA[<xf:macro name="resource_update" arg-update="!" arg-resource="!"> <xf:css src="message.less" /> <div class="message message--simple js-resourceUpdate" id="js-resourceUpdate-{$update.resource_update_id}"> <span class="u-anchorTarget" id="resource-update-{$update.resource_update_id}"></span> <div class="message-inner"> <div class="message-cell message-cell--main"> <div class="js-quickEditTarget"> <div class="message-content js-messageContent"> <div class="message-attribution message-attribution--split"> <h2 class="message-attribution-main block-textHeader" style="margin: 0"> <a href="{{ link('resources/update', $update) }}" rel="nofollow">{$update.title}</a> </h2> <ul class="message-attribution-opposite message-attribution-opposite--list"> <xf:if contentcheck="true"> <li> <xf:contentcheck> <xf:macro template="bookmark_macros" name="link" arg-content="{$update}" arg-confirmUrl="{{ link('resources/update/bookmark', $update) }}" arg-class="bookmarkLink--highlightable" arg-showText="{{ false }}"/> </xf:contentcheck> </li> </xf:if> <li> <a href="{{ link('resources/update', $update) }}" rel="nofollow"> <xf:date time="{$update.post_date}"/> </a> </li> </ul> </div> <xf:if is="$update.message_state == 'deleted'"> <div class="messageNotice messageNotice--deleted"> <xf:macro template="deletion_macros" name="notice" arg-log="{$update.DeletionLog}" /> </div> <xf:elseif is="$update.message_state == 'moderated'" /> <div class="messageNotice messageNotice--moderated"> {{ phrase('this_message_is_awaiting_moderator_approval_and_is_invisible_to_normal') }} </div> </xf:if> <xf:if is="$update.warning_message"> <div class="messageNotice messageNotice--warning"> {$update.warning_message} </div> </xf:if> <div class="message-userContent lbContainer js-lbContainer" data-lb-id="resource_update-{$update.resource_update_id}" data-lb-caption-desc="{{ $resource.User ? $resource.User.username : $resource.username }} &middot; {{ date_time($update.post_date) }}"> <blockquote class="message-body"> {{ bb_code($update.message, 'resource_update', $update) }} </blockquote> <xf:if is="$update.attach_count"> <xf:macro template="message_macros" name="attachments" arg-attachments="{$update.Attachments}" arg-message="{$update}" arg-canView="{{ $resource.canViewUpdateImages() }}" /> </xf:if> </div> <div class="reactionsBar js-reactionsList {{ $update.reactions ? 'is-active' : '' }}"> <xf:reactions content="{$update}" link="resources/update/reactions" /> </div> <xf:if is="$resource.canViewTeamMembers() AND $update.team_user_id AND $update.team_user_id != $resource.user_id"> <div class="message-lastEdit"> {{ phrase('posted_by:') }} <xf:username user="{$update.TeamUser}" defaultname="{$update.team_username}" /> </div> </xf:if> <xf:if contentcheck="true"> <div class="message-actionBar actionBar"> <xf:contentcheck> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--external"> <xf:contentcheck> <xf:react content="{$update}" link="resources/update/react" list="< .js-resourceUpdate | .js-reactionsList" /> </xf:contentcheck> </div> </xf:if> <xf:if contentcheck="true"> <div class="actionBar-set actionBar-set--internal"> <xf:contentcheck> <xf:if is="$update.canReport()"> <a href="{{ link('resources/update/report', $update) }}" class="actionBar-action actionBar-action--report" data-xf-click="overlay">{{ phrase('report_verb') }}</a> </xf:if> <xf:set var="$hasActionBarMenu" value="{{ false }}" /> <xf:if is="$update.canEdit()"> <xf:js src="xf/message.js" min="1" /> <a href="{{ link('resources/update/edit', $update) }}" class="actionBar-action actionBar-action--edit actionBar-action--menuItem" data-xf-click="quick-edit" data-editor-target="#js-resourceUpdate-{$update.resource_update_id} .js-quickEditTarget" data-menu-closer="true">{{ phrase('edit') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$update.edit_count && $update.canViewHistory()"> <a href="{{ link('resources/update/history', $update) }}" class="actionBar-action actionBar-action--history actionBar-action--menuItem" data-xf-click="toggle" data-target="#js-resourceUpdate-{$update.resource_update_id} .js-historyTarget" data-menu-closer="true">{{ phrase('history') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$update.canDelete('soft')"> <a href="{{ link('resources/update/delete', $update) }}" class="actionBar-action actionBar-action--delete actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('delete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$update.message_state == 'deleted' AND $update.canUndelete()"> <a href="{{ link('resources/update/undelete', $update) }}" data-xf-click="overlay" class="actionBar-action actionBar-action--undelete actionBar-action--menuItem">{{ phrase('undelete') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$xf.visitor.canViewIps() && $update.ip_id"> <a href="{{ link('resources/update/ip', $update) }}" class="actionBar-action actionBar-action--ip actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('ip') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$update.canWarn()"> <a href="{{ link('resources/update/warn', $update) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem">{{ phrase('warn') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$update.warning_id && $xf.visitor.canViewWarnings()" /> <a href="{{ link('warnings', {'warning_id': $update.warning_id}) }}" class="actionBar-action actionBar-action--warn actionBar-action--menuItem" data-xf-click="overlay">{{ phrase('view_warning') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> <xf:if is="$update.canApproveUnapprove()"> <xf:if is="$update.message_state == 'moderated'"> <a href="{{ link('resources/update/approve', $update, {'t': csrf_token()}) }}" class="actionBar-action actionBar-action--approve actionBar-action--menuItem">{{ phrase('approve') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> <xf:elseif is="$update.message_state == 'visible'" /> <a href="{{ link('resources/update/unapprove', $update, {'t': csrf_token()}) }}" class="actionBar-action actionBar-action--unapprove actionBar-action--menuItem">{{ phrase('unapprove') }}</a> <xf:set var="$hasActionBarMenu" value="{{ true }}" /> </xf:if> </xf:if> <xf:if is="$hasActionBarMenu"> <a class="actionBar-action actionBar-action--menuTrigger" data-xf-click="menu" title="{{ phrase('more_options')|for_attr }}" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">&#8226;&#8226;&#8226;</a> <div class="menu" data-menu="menu" aria-hidden="true" data-menu-builder="actionBar"> <div class="menu-content"> <h4 class="menu-header">{{ phrase('more_options') }}</h4> <div class="js-menuBuilderTarget"></div> </div> </div> </xf:if> </xf:contentcheck> </div> </xf:if> </xf:contentcheck> </div> </xf:if> <xf:if is="$update.edit_count && $update.canViewHistory()"> <div class="js-historyTarget toggleTarget" data-href="trigger-href"></div> </xf:if> </div> </div> </div> </div> </div> </xf:macro>]]>

</template>

</templates>


-<properties>

<group title="Global Settings" description="General settings for the theme, as well as for smaller components" addon_id="" display_order="310" group_name="uix_globalSettings"/>

<group title="Icons" description="Settings for the main icon font for the theme." addon_id="" display_order="410" group_name="uix_icons"/>

<group title="Sidebar" description="Style Properties for the sidebar" addon_id="" display_order="730" group_name="uix_sidebar"/>

<group title="Search" description="Settings related to the header search component" addon_id="" display_order="750" group_name="uix_search"/>

<group title="Breadcrumb" description="Settings related to the breadcrumb and its components." addon_id="" display_order="760" group_name="uix_breadcrumb"/>

<group title="Welcome Section" description="Settings related to the welcome section" addon_id="" display_order="770" group_name="uix_welcomeSection"/>

<group title="Node icons" description="Settings related to node icons" addon_id="" display_order="2010" group_name="uix_nodeIcons"/>

<group title="Discussion list" description="Settings related to the discussion list component" addon_id="" display_order="2020" group_name="uix_discussionList"/>

<group title="Canvas Menus" description="On and off canvas menu settings" addon_id="" display_order="2100" group_name="uix_canvas"/>

<group title="Prefixes" description="Sets the color and styling for thread prefixes." addon_id="" display_order="10000" group_name="prefixes"/>


-<property title="Base animation speed" description="All animations within the system base their speed on this value. Smaller values (in seconds) make for faster animations" addon_id="XF" display_order="100" group_name="misc" value_group="" depends_on="" value_type="unit" property_type="value" property_name="animationSpeed">

<value_parameters>step=any</value_parameters>

<value>"0.2s"</value>

</property>


-<property title="Avatar border radius" description="Controls the size of the rounded corners on avatars - a sufficiently large value will make avatars circular" addon_id="XF" display_order="200" group_name="avatar" value_group="" depends_on="" value_type="unit" property_type="value" property_name="avatarBorderRadius">

<value>"@xf-borderRadiusSmall"</value>

</property>


-<property title="Badge" description="Badges appear to indicate a number if items requiring attention, such as unread messages in your inbox" addon_id="XF" display_order="20000" group_name="misc" value_group="" depends_on="" value_type="" property_type="css" property_name="badge" css_components="text,background,border,border_radius,extra">

<value>{ "color": "@xf-textColorDimmed", "background-color": "@xf-contentHighlightBg", "border-radius": "@xf-borderRadiusSmall" }</value>

</property>


-<property title="BB code block - inline code" description="Special styling rules for inline code ([ICODE]) elements." addon_id="XF" display_order="20200" group_name="bbCode" value_group="" depends_on="" value_type="" property_type="css" property_name="bbCodeInlineCode" css_components="text,background,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>{ "font-size": "90%", "background-color": "@xf-contentAltBg", "border-width": "@xf-borderSize", "border-color": "@xf-borderColorLight", "border-radius": "@xf-borderRadiusSmall", "padding-top": "1px", "padding-right": "@xf-paddingSmall", "padding-bottom": "1px", "padding-left": "@xf-paddingSmall" }</value>

</property>


-<property title="Block border framework" description="" addon_id="XF" display_order="20000" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockBorder" css_components="border,extra">

<value>{ "border-width": "0", "border-top-color": "@xf-borderColorLight", "border-right-color": "@xf-borderColor", "border-bottom-color": "@xf-borderColorHeavy", "border-left-color": "@xf-borderColor" }</value>

</property>


-<property title="Block filter bar" description="When the content of a block can be filtered, the controls to do so are styled here" addon_id="XF" display_order="20800" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockFilterBar" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-textColor", "background-color": "@xf-contentHighlightBg" }</value>

</property>


-<property title="Block footer" description="When information needs to be conveyed in a footer element for a block, its style is controlled here" addon_id="XF" display_order="21200" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockFooter" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeSmaller", "color": "@xf-blockFooterTextColor", "background-color": "@xf-blockFooterBg", "border-top-width": "@xf-borderSize", "border-top-color": "@xf-borderColorLight", "extra": "padding-top: @xf-paddingMedium;\npadding-bottom: @xf-paddingMedium;" }</value>

</property>


-<property title="Block footer background color" description="" addon_id="XF" display_order="7100" group_name="color" value_group="blockFooter" depends_on="" value_type="color" property_type="value" property_name="blockFooterBg">

<value>"@xf-contentHighlightBg"</value>

</property>


-<property title="Block header" description="" addon_id="XF" display_order="20100" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockHeader" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeLarge", "color": "@xf-majorHeadingTextColor", "background-color": "@xf-majorHeadingBg", "border-bottom-width": "1px", "border-bottom-color": "@xf-borderColor" }</value>

</property>


-<property title="Block link" description="Some links are displayed as small blocks such as choices in a popup menu, and their background will highlight when hovered" addon_id="XF" display_order="20900" group_name="misc" value_group="" depends_on="" value_type="" property_type="css" property_name="blockLink" css_components="text,background,extra">

<value>{ "color": "@xf-textColorDimmed", "text-decoration": "none", "background-color": "@xf-contentBg", "extra": "cursor: pointer;\npadding: (@xf-blockPaddingV / 2) @xf-blockPaddingH;\n\n&:hover {\n\tcolor: inherit;\n}" }</value>

</property>


-<property title="Block link - selected" description="Styling for block-type links when in their selected state" addon_id="XF" display_order="21000" group_name="misc" value_group="" depends_on="" value_type="" property_type="css" property_name="blockLinkSelected" css_components="text,background,border_width_simple,border_color_simple,extra">

<value>{ "color": "@xf-uix_primaryColor", "font-weight": "@xf-fontWeightHeavy", "background-color": "xf-intensify(@xf-contentBg, 3%)", "border-width": "@xf-borderSizeFeature", "border-color": "@xf-borderColorFeature" }</value>

</property>


-<property title="Block minor header" description="" addon_id="XF" display_order="20400" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockMinorHeader" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeNormal", "color": "@xf-minorHeadingTextColor", "font-weight": "@xf-fontWeightHeavy" }</value>

</property>


-<property title="Block padding horizontal" description="The horizontal space between the edges of a block and its content" addon_id="XF" display_order="100" group_name="block" value_group="padding" depends_on="" value_type="unit" property_type="value" property_name="blockPaddingH">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Block padding vertical" description="" addon_id="XF" display_order="200" group_name="block" value_group="padding" depends_on="" value_type="unit" property_type="value" property_name="blockPaddingV">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Block tab header" description="Occasionally, blocks will have multi-part, tab headers, styled with these settings" addon_id="XF" display_order="20200" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockTabHeader" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeNormal", "color": "@xf-blockTabHeaderTextColor", "background-color": "@xf-blockTabHeaderBg", "border-bottom-width": "1px", "border-bottom-color": "@xf-borderColor", "extra": "border-bottom: 1px solid @xf-borderColor;\nfont-weight: @xf-fontWeightHeavy;" }</value>

</property>


-<property title="Block tab header background color" description="" addon_id="XF" display_order="6500" group_name="color" value_group="blockTabHeader" depends_on="" value_type="color" property_type="value" property_name="blockTabHeaderBg">

<value>"transparent"</value>

</property>


-<property title="Block tab header - selected tab" description="The selected tab in multi-part headers takes additional styling from here" addon_id="XF" display_order="20300" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockTabHeaderSelected" css_components="text,background,border_color_simple,extra">

<value>{ "color": "@xf-uix_secondaryColor", "border-color": "@xf-uix_secondaryColor" }</value>

</property>


-<property title="Block tab header text color" description="" addon_id="XF" display_order="6600" group_name="color" value_group="blockTabHeader" depends_on="" value_type="color" property_type="value" property_name="blockTabHeaderTextColor">

<value>"@xf-textColorMuted"</value>

</property>


-<property title="Block text header" description="Text headers are used for subtle identification of content areas, without changing the background style or color" addon_id="XF" display_order="20700" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="blockTextHeader" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeLarge", "color": "@xf-minorHeadingTextColor" }</value>

</property>


-<property title="Border color" description="" addon_id="XF" display_order="4000" group_name="color" value_group="borderBasic" depends_on="" value_type="color" property_type="value" property_name="borderColor">

<value>"rgba(255,255,255,.12)"</value>

</property>


-<property title="Accent content border color" description="" addon_id="XF" display_order="5200" group_name="color" value_group="borderOther" depends_on="" value_type="color" property_type="value" property_name="borderColorAccentContent">

<value>"@xf-borderColorHighlight"</value>

</property>


-<property title="Attention-grabbing border color" description="" addon_id="XF" display_order="5300" group_name="color" value_group="borderOther" depends_on="" value_type="color" property_type="value" property_name="borderColorAttention">

<value>"@xf-borderColorHighlight"</value>

</property>


-<property title="Faint border color" description="" addon_id="XF" display_order="4100" group_name="color" value_group="borderBasic" depends_on="" value_type="color" property_type="value" property_name="borderColorFaint">

<value>"@xf-borderColor"</value>

</property>


-<property title="Feature border color" description="" addon_id="XF" display_order="5100" group_name="color" value_group="borderOther" depends_on="" value_type="color" property_type="value" property_name="borderColorFeature">

<value>"@xf-borderColorHighlight"</value>

</property>


-<property title="Heavy border color" description="" addon_id="XF" display_order="4300" group_name="color" value_group="borderBasic" depends_on="" value_type="color" property_type="value" property_name="borderColorHeavy">

<value>"@xf-borderColor"</value>

</property>


-<property title="Highlight border color" description="" addon_id="XF" display_order="5000" group_name="color" value_group="borderOther" depends_on="" value_type="color" property_type="value" property_name="borderColorHighlight">

<value>"@xf-uix_primaryColor"</value>

</property>


-<property title="Light border color" description="" addon_id="XF" display_order="4200" group_name="color" value_group="borderBasic" depends_on="" value_type="color" property_type="value" property_name="borderColorLight">

<value>"@xf-borderColor"</value>

</property>


-<property title="Large border radius" description="" addon_id="XF" display_order="1200" group_name="borderSpacing" value_group="borderRadius" depends_on="" value_type="unit" property_type="value" property_name="borderRadiusLarge">

<value>"4px"</value>

</property>


-<property title="Medium border radius" description="" addon_id="XF" display_order="1100" group_name="borderSpacing" value_group="borderRadius" depends_on="" value_type="unit" property_type="value" property_name="borderRadiusMedium">

<value>"@xf-borderRadiusSmall"</value>

</property>


-<property title="Small border radius" description="" addon_id="XF" display_order="1000" group_name="borderSpacing" value_group="borderRadius" depends_on="" value_type="unit" property_type="value" property_name="borderRadiusSmall">

<value>"4px"</value>

</property>


-<property title="Feature border size" description="" addon_id="XF" display_order="200" group_name="borderSpacing" value_group="borderSize" depends_on="" value_type="unit" property_type="value" property_name="borderSizeFeature">

<value>"2px"</value>

</property>


-<property title="Minor feature border size" description="" addon_id="XF" display_order="300" group_name="borderSpacing" value_group="borderSize" depends_on="" value_type="unit" property_type="value" property_name="borderSizeMinorFeature">

<value>"@xf-borderSizeFeature"</value>

</property>


-<property title="Button base" description="Defines the styling for the basic elements that are common to all text-based buttons" addon_id="XF" display_order="20000" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="buttonBase" css_components="text,border_radius,padding,extra">

<value>{ "font-size": "14px", "font-weight": "@xf-fontWeightHeavy", "text-decoration": "none", "border-radius": "@xf-borderRadiusMedium", "padding-top": "0", "padding-right": "10px", "padding-bottom": "0", "padding-left": "10px", "extra": "text-align: center;\noutline: none;\nline-height: 36px;\nheight: 36px;\ntext-decoration: none;\ndisplay: inline-flex;\nalign-items: center;\njustify-content: center;\ncursor: pointer;\nbox-sizing: content-box;\n-webkit-appearance: none;\nwill-change: box-shadow;\ntransition: all 0.3s cubic-bezier(.25,.8,.25,1);\nborder: none;\nwhite-space: nowrap;\ntext-decoration: none !important;\nvertical-align: bottom;" }</value>

</property>


-<property title="Default button background color" description="" addon_id="XF" display_order="8200" group_name="color" value_group="buttons" depends_on="" value_type="color" property_type="value" property_name="buttonBg">

<value>"fade(@xf-buttonTextColor, 10%)"</value>

</property>


-<property title="Button - call to action" description="Call to action buttons sit alone and invite the user to do something, like post a new thread" addon_id="XF" display_order="20300" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="buttonCta" css_components="text,background,extra">

<value>{ "color": "#fff", "background-color": "@xf-buttonCtaBg", "extra": "border: none;" }</value>

</property>


-<property title="Call-to-action button background" description="" addon_id="XF" display_order="8400" group_name="color" value_group="buttons" depends_on="" value_type="color" property_type="value" property_name="buttonCtaBg">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property title="Button - default" description="Most buttons use this styling, except for primary form submit buttons" addon_id="XF" display_order="20100" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="buttonDefault" css_components="text,background,extra">

<value>{ "color": "@xf-buttonTextColor", "text-decoration": "none", "background-color": "@xf-buttonBg" }</value>

</property>


-<property title="Button - disabled" description="When buttons are disabled and unclickable, they use these styling rules" addon_id="XF" display_order="20400" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="buttonDisabled" css_components="text,background,extra">

<value>{ "color": "@xf-textColorMuted", "font-style": "italic", "background-color": "rgba(0,0,0,.12)", "extra": "cursor: default;\nbox-shadow: none !important;\nfont-style: initial;" }</value>

</property>


-<property title="Button - primary" description="These rules are used mostly for the main submit button for forms" addon_id="XF" display_order="20200" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="buttonPrimary" css_components="text,background,extra">

<value>{ "color": "#fff", "background-color": "@xf-buttonPrimaryBg", "extra": "border: none;" }</value>

</property>


-<property title="Primary button background color" description="" addon_id="XF" display_order="8300" group_name="color" value_group="buttons" depends_on="" value_type="color" property_type="value" property_name="buttonPrimaryBg">

<value>"@xf-uix_primaryColor"</value>

</property>


-<property title="Default button text color" description="" addon_id="XF" display_order="8100" group_name="color" value_group="buttons" depends_on="" value_type="color" property_type="value" property_name="buttonTextColor">

<value>"@xf-uix_primaryColor"</value>

</property>


-<property title="Chips" description="The primary use for chips is in tagging content, where each tag will appear as a chip" addon_id="XF" display_order="20200" group_name="misc" value_group="" depends_on="" value_type="" property_type="css" property_name="chip" css_components="text,background,border_width_simple,border_color_simple,extra">

<value>{ "color": "@xf-textColorMuted", "background-color": "@xf-contentHighlightBg", "border-width": "@xf-borderSize", "border-color": "@xf-borderColor", "extra": "display: inline-block;\nmax-width: 100%;\npadding: 0 6px 1px;\nmargin: 0 0 2px;\nborder-radius: 3px;" }</value>

</property>


-<property title="Accented content area base" description="When attention needs to be directed to content, this background may be employed" addon_id="XF" display_order="20300" group_name="content" value_group="" depends_on="" value_type="" property_type="css" property_name="contentAccentBase" css_components="text,background,extra">

<value>{ "color": "@xf-textColorDimmed", "background-color": "@xf-contentAccentBg" }</value>

</property>


-<property title="Accented content background color" description="This background color is used for further differentiation from regular content" addon_id="XF" display_order="2400" group_name="color" value_group="contentBackground" depends_on="" value_type="color" property_type="value" property_name="contentAccentBg">

<value>"@xf-paletteColor5"</value>

</property>


-<property title="Accented content area links" description="Links within accented content will be styled with these settings" addon_id="XF" display_order="20400" group_name="content" value_group="" depends_on="" value_type="" property_type="css" property_name="contentAccentLink" css_components="text,background,extra">

<value>{ "color": "@xf-uix_primaryColor" }</value>

</property>


-<property title="Alternate content background color" description="In order to differentiate it, some content will be presented on this alternative background" addon_id="XF" display_order="2200" group_name="color" value_group="contentBackground" depends_on="" value_type="color" property_type="value" property_name="contentAltBg">

<value>"@xf-paletteColor2"</value>

</property>


-<property title="Content area base" description="" addon_id="XF" display_order="20000" group_name="content" value_group="" depends_on="" value_type="" property_type="css" property_name="contentBase" css_components="text,background,extra">

<value>{ "color": "@xf-textColor", "background-color": "@xf-contentBg" }</value>

</property>


-<property title="Content background color" description="Most normal content will sit on this background" addon_id="XF" display_order="2000" group_name="color" value_group="contentBackground" depends_on="" value_type="color" property_type="value" property_name="contentBg">

<value>"@xf-paletteColor1"</value>

</property>


-<property title="Highlighted content background color" description="When the standard background color is highlighted or selected, it will use this color" addon_id="XF" display_order="2300" group_name="color" value_group="contentBackground" depends_on="" value_type="color" property_type="value" property_name="contentHighlightBg">

<value>"@xf-paletteColor3"</value>

</property>


-<property title="Data list header" description="The title bar of a data list is styled with these settings" addon_id="XF" display_order="20000" group_name="dataList" value_group="" depends_on="" value_type="" property_type="css" property_name="dataListHeader" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeSmaller", "color": "@xf-majorHeadingTextColor", "font-weight": "@xf-fontWeightHeavy", "background-color": "@xf-contentHighlightBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColorHeavy", "extra": "text-transform: none;" }</value>

</property>


-<property title="Editor button size" description="The font size for the editor button icons" addon_id="XF" display_order="2100" group_name="rte" value_group="buttons" depends_on="" value_type="unit" property_type="value" property_name="editorButtonSize">

<value_parameters>px</value_parameters>

<value>"18px"</value>

</property>


-<property title="Body Text Font" description="This font is used for the text of messages etc." addon_id="XF" display_order="200" group_name="fonts" value_group="font" depends_on="" value_type="string" property_type="value" property_name="fontFamilyBody">

<value>"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";"</value>

</property>


-<property title="User Interface Font" description="The font list for your main text" addon_id="XF" display_order="100" group_name="fonts" value_group="font" depends_on="" value_type="string" property_type="value" property_name="fontFamilyUi">

<value>"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""</value>

</property>


-<property title="Large font size" description="" addon_id="XF" display_order="1400" group_name="fonts" value_group="size" depends_on="" value_type="unit" property_type="value" property_name="fontSizeLarge">

<value>"1.5rem"</value>

</property>


-<property title="Larger font size" description="" addon_id="XF" display_order="1500" group_name="fonts" value_group="size" depends_on="" value_type="unit" property_type="value" property_name="fontSizeLarger">

<value>"1.8rem"</value>

</property>


-<property title="Largest font size" description="" addon_id="XF" display_order="1600" group_name="fonts" value_group="size" depends_on="" value_type="unit" property_type="value" property_name="fontSizeLargest">

<value>"2.2rem"</value>

</property>


-<property title="Normal font size" description="" addon_id="XF" display_order="1000" group_name="fonts" value_group="size" depends_on="" value_type="unit" property_type="value" property_name="fontSizeNormal">

<value>"1.4rem"</value>

</property>


-<property title="Small font size" description="" addon_id="XF" display_order="1100" group_name="fonts" value_group="size" depends_on="" value_type="unit" property_type="value" property_name="fontSizeSmall">

<value>"1.3rem"</value>

</property>


-<property title="Smaller font size" description="" addon_id="XF" display_order="1200" group_name="fonts" value_group="size" depends_on="" value_type="unit" property_type="value" property_name="fontSizeSmaller">

<value>"1.3rem"</value>

</property>


-<property title="Smallest font size" description="" addon_id="XF" display_order="1300" group_name="fonts" value_group="size" depends_on="" value_type="unit" property_type="value" property_name="fontSizeSmallest">

<value>"1.2rem"</value>

</property>


-<property title="Heavy font weight" description="" addon_id="XF" display_order="2200" group_name="fonts" value_group="weight" depends_on="" value_type="number" property_type="value" property_name="fontWeightHeavy">

<value_parameters>step=100 min=100 max=900</value_parameters>

<value>"600"</value>

</property>


-<property title="Form row horizontal padding (outer)" description="This padding is applied to the outer edges of the form content" addon_id="XF" display_order="400" group_name="form" value_group="" depends_on="" value_type="unit" property_type="value" property_name="formRowPaddingHOuter">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Form row vertical padding" description="Each form row has this padding above and below its content" addon_id="XF" display_order="200" group_name="form" value_group="" depends_on="" value_type="unit" property_type="value" property_name="formRowPaddingV">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Global action indicator color" description="This is the base color of the gadgets that display when an action is being processed in the background." addon_id="XF" display_order="400" group_name="misc" value_group="" depends_on="" value_type="color" property_type="value" property_name="globalActionColor">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property title="Inline moderation bar" description="A bar containing controls appears when content is selected for inline moderation. Its appearance is controlled here" addon_id="XF" display_order="20000" group_name="inlineMod" value_group="" depends_on="" value_type="" property_type="css" property_name="inlineModBar" css_components="text,background,border,padding,extra">

<value>{ "color": "#fff", "background-color": "@xf-uix_primaryColorDarker", "border-bottom-width": "0", "border-bottom-color": "xf-intensify(@xf-paletteColor5, 10%)", "padding-top": "@xf-paddingSmall", "padding-bottom": "@xf-paddingSmall" }</value>

</property>


-<property title="Inline moderation highlight color" description="When content is selected for inline moderation, its background color will be replaced with this" addon_id="XF" display_order="2500" group_name="color" value_group="contentBackground" depends_on="" value_type="color" property_type="value" property_name="inlineModHighlightColor">

<value>"mix(@xf-paletteAccent1, @xf-contentBg, 10%)"</value>

</property>


-<property title="Form input" description="Controls the style of most text-input boxes" addon_id="XF" display_order="20000" group_name="input" value_group="" depends_on="" value_type="" property_type="css" property_name="input" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "@xf-fontSizeNormal", "color": "@xf-inputTextColor", "background-color": "@xf-inputBgColor", "border-width": "@xf-borderSize", "border-radius": "@xf-borderRadiusMedium", "border-top-color": "@xf-borderColorHeavy", "border-right-color": "@xf-borderColorLight", "border-bottom-color": "@xf-borderColorLight", "border-left-color": "@xf-borderColorHeavy", "padding": "6px" }</value>

</property>


-<property title="Text input box background color" description="" addon_id="XF" display_order="8500" group_name="color" value_group="input" depends_on="" value_type="color" property_type="value" property_name="inputBgColor">

<value>"@xf-contentAltBg"</value>

</property>


-<property title="Form input - disabled" description="When text boxes are disabled, these rules are applied" addon_id="XF" display_order="20200" group_name="input" value_group="" depends_on="" value_type="" property_type="css" property_name="inputDisabled" css_components="text,background,border,extra">

<value>{ "color": "@xf-textColorMuted", "background-color": "fade(@xf-textColorMuted, 20%)" }</value>

</property>


-<property title="Focused text box background color" description="" addon_id="XF" display_order="8600" group_name="color" value_group="input" depends_on="" value_type="color" property_type="value" property_name="inputFocusBgColor">

<value>"@xf-contentBg"</value>

</property>


-<property title="Link color" description="Basic hyperlinks on standard background colors will use this style" addon_id="XF" display_order="1000" group_name="color" value_group="links" depends_on="" value_type="color" property_type="value" property_name="linkColor">

<value>"@xf-uix_primaryColor"</value>

</property>


-<property title="Link hover color" description="Basic hyperlinks will turn this color when hovered" addon_id="XF" display_order="1100" group_name="color" value_group="links" depends_on="" value_type="color" property_type="value" property_name="linkHoverColor">

<value>"xf-intensify(@xf-linkColor, 17%)"</value>

</property>


-<property title="Major heading background color" description="" addon_id="XF" display_order="6100" group_name="color" value_group="heading" depends_on="" value_type="color" property_type="value" property_name="majorHeadingBg">

<value>"transparent"</value>

</property>


-<property title="Major heading text color" description="" addon_id="XF" display_order="6200" group_name="color" value_group="heading" depends_on="" value_type="color" property_type="value" property_name="majorHeadingTextColor">

<value>"@xf-textColor"</value>

</property>


-<property title="Member profile header" description="The member profile page's content header is styled with these settings" addon_id="XF" display_order="20000" group_name="member" value_group="" depends_on="" value_type="" property_type="css" property_name="memberHeader" css_components="text,background,border,extra">

<value>{ "background-color": "@xf-contentHighlightBg", "border-bottom-width": "0", "border-bottom-color": "@xf-borderColorLight" }</value>

</property>


-<property title="Member profile header - blurb container (with banner)" description="" addon_id="XF" display_order="20201" group_name="member" value_group="" depends_on="" value_type="" property_type="css" property_name="memberHeaderBlurbContainerBanner" css_components="text,background,border_radius,padding,extra">

<value>{ "color": "white", "background-color": "rgba(0, 0, 0, 0.4)", "border-radius": "@xf-borderRadiusMedium", "extra": "text-shadow: 0 0 1px black;\nmargin-top: @xf-paddingMedium;" }</value>

</property>


-<property title="Member profile header - name" description="The styling of the name of the member whose page is being viewed is controlled here" addon_id="XF" display_order="20100" group_name="member" value_group="" depends_on="" value_type="" property_type="css" property_name="memberHeaderName" css_components="text,extra">

<value>{ "font-size": "@xf-fontSizeLargest", "color": "@xf-textColor" }</value>

</property>


-<property title="Member tooltip header" description="The member tooltip, which appears when hovering over user names, is styled with these controls" addon_id="XF" display_order="20300" group_name="member" value_group="" depends_on="" value_type="" property_type="css" property_name="memberTooltipHeader" css_components="text,background,border,extra">

<value>{ "background-color": "@xf-contentHighlightBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColorLight", "extra": "display: flex;" }</value>

</property>


-<property title="Member tooltip header - name" description="Styling for the name of the user whose tooltip is being displayed" addon_id="XF" display_order="20400" group_name="member" value_group="" depends_on="" value_type="" property_type="css" property_name="memberTooltipName" css_components="text,extra">

<value>{ "font-size": "@xf-fontSizeLarger", "color": "@xf-contentText" }</value>

</property>


-<property title="Menu" description="Controls the main block of all popup menus" addon_id="XF" display_order="20000" group_name="menu" value_group="" depends_on="" value_type="" property_type="css" property_name="menu" css_components="text,background,border_width_simple,border_color_simple,border_radius_simple,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-textColor", "background-color": "@xf-contentBg", "border-width": "0", "border-color": "@xf-borderColor", "border-radius": "@xf-borderRadiusSmall" }</value>

</property>


-<property title="Menu border radius" description="Controls the size of the border radius for all menus" addon_id="XF" display_order="200" group_name="menu" value_group="" depends_on="" value_type="unit" property_type="value" property_name="menuBorderRadius">

<value>"@xf-borderRadiusMedium"</value>

</property>


-<property title="Menu feature border color" description="Popup menus have a thick feature border on their upper edge, the styling of which is controlled here" addon_id="XF" display_order="100" group_name="menu" value_group="" depends_on="" value_type="color" property_type="value" property_name="menuFeatureBorderColor">

<value>"@xf-borderColor"</value>

</property>


-<property title="Menu footer" description="When a popup menu has a bottom, footer element, it will use these settings" addon_id="XF" display_order="20400" group_name="menu" value_group="" depends_on="" value_type="" property_type="css" property_name="menuFooter" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeSmaller", "color": "@xf-textColorDimmed", "background-color": "@xf-contentAltBg", "border-top-width": "@xf-borderSize", "border-top-color": "@xf-borderColorLight", "extra": "padding: 8px;" }</value>

</property>


-<property title="Menu header" description="Most menus identify themselves with a header just underneath their top border" addon_id="XF" display_order="20100" group_name="menu" value_group="" depends_on="" value_type="" property_type="css" property_name="menuHeader" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeLarge", "color": "@xf-textColor", "background-color": "@xf-contentBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColorLight" }</value>

</property>


-<property title="Menu link row - selected" description="Styling for link rows in menus, when selected or hovered" addon_id="XF" display_order="20500" group_name="menu" value_group="" depends_on="" value_type="" property_type="css" property_name="menuLinkRowSelected" css_components="text,background,extra">

<value>{ "color": "@xf-uix_primaryColor", "text-decoration": "none", "background-color": "@xf-contentHighlightBg" }</value>

</property>


-<property title="Menu tab header" description="Multi-part, tabbed menu headers use these settings" addon_id="XF" display_order="20200" group_name="menu" value_group="" depends_on="" value_type="" property_type="css" property_name="menuTabHeader" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeNormal", "color": "@xf-uix_primaryColor", "background-color": "@xf-contentBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColorLight" }</value>

</property>


-<property title="New message indicator" description="Usually a small token attached to the message block, the indicator that a message is new/unread is controlled here" addon_id="XF" display_order="20100" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="messageNewIndicator" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "90%", "color": "contrast(@xf-uix_primaryColorDarker)", "background-color": "@xf-uix_primaryColorDarker", "border-radius": "@xf-borderRadiusSmall", "padding-top": "1px", "padding-right": "4px", "padding-bottom": "1px", "padding-left": "4px" }</value>

</property>


-<property title="Message padding" description="When using the full size message block, this value defines the size of the padding around the message text" addon_id="XF" display_order="200" group_name="message" value_group="padding" depends_on="" value_type="unit" property_type="value" property_name="messagePadding">

<value>"@xf-paddingMedium"</value>

</property>


-<property title="Message signature" description="Any rules used to apply styling to users' signatures in their messages are defined here" addon_id="XF" display_order="20200" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="messageSignature" css_components="text,background,border,padding,extra">

<value>{ "font-size": "@xf-fontSizeSmaller", "color": "@xf-textColorMuted", "border-top-width": "@xf-borderSize", "border-top-color": "@xf-borderColorLight", "padding-top": "@xf-messagePadding", "padding-bottom": "@xf-messagePadding", "extra": "margin-top: 0;" }</value>

</property>


-<property 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." addon_id="XF" display_order="600" group_name="message" value_group="user" depends_on="" value_type="template" property_type="value" property_name="messageUserElements">

<value_parameters>template=style_property_template_messageUserElements type=array</value_parameters>

<value>{ "register_date": "1", "message_count": "1", "solutions": "1", "reaction_score": "1", "trophy_points": "1", "age": "1", "location": "1", "website": "1", "custom_fields": "1" }</value>

</property>


-<property title="Minor heading text color" description="" addon_id="XF" display_order="6400" group_name="color" value_group="heading" depends_on="" value_type="color" property_type="value" property_name="minorHeadingTextColor">

<value>"@xf-textColor"</value>

</property>


-<property title="Read node icon color" description="" addon_id="XF" display_order="200" group_name="nodeList" value_group="" depends_on="" value_type="color" property_type="value" property_name="nodeIconReadColor">

<value>"@xf-borderColor"</value>

</property>


-<property title="Unread node icon color" description="" addon_id="XF" display_order="100" group_name="nodeList" value_group="" depends_on="" value_type="color" property_type="value" property_name="nodeIconUnreadColor">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property 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" addon_id="XF" display_order="400" group_name="nodeList" value_group="" depends_on="" value_type="radio" property_type="value" property_name="nodeListDescriptionDisplay">

<value_parameters>tooltip={{ phrase('tooltip') }} inline={{ phrase('inline') }} none={{ phrase('none') }}</value_parameters>

<value>"inline"</value>

</property>


-<property title="Overlay header" description="Overlays use a header element to identify their contents, styled here" addon_id="XF" display_order="20000" group_name="overlay" value_group="" depends_on="" value_type="" property_type="css" property_name="overlayHeader" css_components="text,background,border,padding,extra">

<value>{ "font-size": "@xf-fontSizeLarger", "color": "@xf-textColor", "background-color": "@xf-contentHighlightBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColorLight", "padding-top": "@xf-paddingMedium", "padding-right": "@xf-paddingLarge", "padding-bottom": "@xf-paddingMedium", "padding-left": "@xf-paddingLarge" }</value>

</property>


-<property title="Large padding" description="" addon_id="XF" display_order="2200" group_name="borderSpacing" value_group="padding" depends_on="" value_type="unit" property_type="value" property_name="paddingLarge">

<value>"15px"</value>

</property>


-<property title="Largest padding" description="" addon_id="XF" display_order="2300" group_name="borderSpacing" value_group="padding" depends_on="" value_type="unit" property_type="value" property_name="paddingLargest">

<value>"24px"</value>

</property>


-<property title="Medium padding" description="" addon_id="XF" display_order="2100" group_name="borderSpacing" value_group="padding" depends_on="" value_type="unit" property_type="value" property_name="paddingMedium">

<value>"10px"</value>

</property>


-<property title="Small padding" description="" addon_id="XF" display_order="2000" group_name="borderSpacing" value_group="padding" depends_on="" value_type="unit" property_type="value" property_name="paddingSmall">

<value>"4px"</value>

</property>


-<property title="Page background color" description="The background of the page itself, on which all other content rests" addon_id="XF" display_order="2100" group_name="color" value_group="contentBackground" depends_on="" value_type="color" property_type="value" property_name="pageBg">

<value>"@xf-paletteColor4"</value>

</property>


-<property title="Page edge spacer" description="" addon_id="XF" display_order="3100" group_name="borderSpacing" value_group="spacer" depends_on="" value_type="unit" property_type="value" property_name="pageEdgeSpacer">

<value>"20px"</value>

</property>


-<property title="Accent 1" description="" addon_id="XF" display_order="2000" group_name="palette" value_group="accent" depends_on="" value_type="color" property_type="value" property_name="paletteAccent1">

<value_parameters>hidePalette=true</value_parameters>

<value>"#2196F3"</value>

</property>


-<property title="Accent 2" description="" addon_id="XF" display_order="2100" group_name="palette" value_group="accent" depends_on="" value_type="color" property_type="value" property_name="paletteAccent2">

<value_parameters>hidePalette=true</value_parameters>

<value>"#2f66b9"</value>

</property>


-<property title="Accent 3" description="" addon_id="XF" display_order="2200" group_name="palette" value_group="accent" depends_on="" value_type="color" property_type="value" property_name="paletteAccent3">

<value_parameters>hidePalette=true</value_parameters>

<value>"#8BC34A"</value>

</property>


-<property title="Color 1" description="" addon_id="XF" display_order="1000" group_name="palette" value_group="primary" depends_on="" value_type="color" property_type="value" property_name="paletteColor1">

<value_parameters>hidePalette=true</value_parameters>

<value>"#383c42"</value>

</property>


-<property title="Color 2" description="" addon_id="XF" display_order="1100" group_name="palette" value_group="primary" depends_on="" value_type="color" property_type="value" property_name="paletteColor2">

<value_parameters>hidePalette=true</value_parameters>

<value>"rgb(66, 70, 77)"</value>

</property>


-<property title="Color 3" description="" addon_id="XF" display_order="1200" group_name="palette" value_group="primary" depends_on="" value_type="color" property_type="value" property_name="paletteColor3">

<value_parameters>hidePalette=true</value_parameters>

<value>"#484d56"</value>

</property>


-<property title="Color 4" description="" addon_id="XF" display_order="1300" group_name="palette" value_group="primary" depends_on="" value_type="color" property_type="value" property_name="paletteColor4">

<value_parameters>hidePalette=true</value_parameters>

<value>"#2d3238"</value>

</property>


-<property title="Color 5" description="" addon_id="XF" display_order="1400" group_name="palette" value_group="primary" depends_on="" value_type="color" property_type="value" property_name="paletteColor5">

<value_parameters>hidePalette=true</value_parameters>

<value>"#212428"</value>

</property>


-<property title="Neutral 1" description="" addon_id="XF" display_order="3000" group_name="palette" value_group="neutral" depends_on="" value_type="color" property_type="value" property_name="paletteNeutral1">

<value_parameters>hidePalette=true</value_parameters>

<value>"xf-intensify(@xf-paletteColor3, 45%)"</value>

</property>


-<property title="Neutral 2" description="" addon_id="XF" display_order="3100" group_name="palette" value_group="neutral" depends_on="" value_type="color" property_type="value" property_name="paletteNeutral2">

<value_parameters>hidePalette=true</value_parameters>

<value>"xf-intensify(@xf-paletteColor3, 60%)"</value>

</property>


-<property title="Neutral 3" description="" addon_id="XF" display_order="3200" group_name="palette" value_group="neutral" depends_on="" value_type="color" property_type="value" property_name="paletteNeutral3">

<value_parameters>hidePalette=true</value_parameters>

<value>"xf-intensify(@xf-paletteColor3, 87%)"</value>

</property>


-<property title="Enable profile post comment input toggle" description="If enabled, the input for a profile post comment will only be displayed after the toggle is clicked." addon_id="XF" display_order="10" group_name="member" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="profilePostCommentToggle">

<value>1</value>

</property>


-<property title="Progress bar color" description="The progress bar appears at the top of the window when the system is waiting for a response from the server" addon_id="XF" display_order="300" group_name="misc" value_group="" depends_on="" value_type="color" property_type="value" property_name="progressBarColor">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property title="Favicon URL (32x32)" description="Path to the small logo that is associated with bookmarks pointing to your site. This is expected to be a 32x32 PNG image." addon_id="XF" display_order="400" group_name="basic" value_group="logo" depends_on="" value_type="string" property_type="value" property_name="publicFaviconUrl">

<value_parameters>asset=logo</value_parameters>

<value>"@xf-uix_imagePath/images/favicon.png"</value>

</property>


-<property title="Footer" description="" addon_id="XF" display_order="20000" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="publicFooter" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-textColorDimmed" }</value>

</property>


-<property title="Footer links" description="Controls styling for individual links within the footer" addon_id="XF" display_order="20100" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="publicFooterLink" css_components="text,extra">

<value>{ "color": "rgba(255,255,255,.7)" }</value>

</property>


-<property title="Header/logo row" description="" addon_id="XF" display_order="20000" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicHeader" css_components="text,background,extra">

<value>{ "color": "rgba(255,255,255,.7)", "background-color": "@xf-uix_primaryColor", "extra": "padding-top: @xf-paddingLarge;\npadding-bottom: @xf-paddingLarge;" }</value>

</property>


-<property title="Header adjustment color" description="" addon_id="XF" display_order="100" group_name="headerNav" value_group="header" depends_on="" value_type="color" property_type="value" property_name="publicHeaderAdjustColor">

<value>""</value>

</property>


-<property title="Logo URL" description="The web path from your site's XenForo installation directory to your logo image. If you specify an SVG image here, you should set <b>Emails &gt; Email logo URL</b> to point to a PNG image, or similar, for increased compatibility." addon_id="XF" display_order="101" group_name="basic" value_group="logo" depends_on="" value_type="string" property_type="value" property_name="publicLogoUrl">

<value_parameters>asset=logo</value_parameters>

<value>"@xf-uix_imagePath/images/uix-logo.png"</value>

</property>


-<property title="2x logo URL" description="The path to a double-resolution / retina version of your logo image" addon_id="XF" display_order="200" group_name="basic" value_group="logo" depends_on="" value_type="string" property_type="value" property_name="publicLogoUrl2x">

<value_parameters>asset=logo</value_parameters>

<value>"@xf-uix_imagePath/images/uix-logo.png"</value>

</property>


-<property title="Navigation row" description="" addon_id="XF" display_order="20100" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicNav" css_components="text,background,extra">

<value>{ "color": "rgba(255,255,255,.7)", "background-color": "@xf-uix_primaryColor" }</value>

</property>


-<property title="Navigation collapse width" description="Below this page width, the navigation system will collapse down into an off canvas menu" addon_id="XF" display_order="1300" group_name="headerNav" value_group="navigation" depends_on="" value_type="unit" property_type="value" property_name="publicNavCollapseWidth">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Navigation padding horizontal" description="Defines the amount of padding applied horizontally to each main navigational tab in the header" addon_id="XF" display_order="4100" group_name="headerNav" value_group="navPad" depends_on="" value_type="unit" property_type="value" property_name="publicNavPaddingH">

<value>"16px"</value>

</property>


-<property title="Navigation padding vertical" description="This value defines the amount of padding applied to the main navigational tabs in the header" addon_id="XF" display_order="4000" group_name="headerNav" value_group="navPad" depends_on="" value_type="unit" property_type="value" property_name="publicNavPaddingV">

<value>"16px"</value>

</property>


-<property title="Navigation row - selected tab" description="" addon_id="XF" display_order="20300" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicNavSelected" css_components="text,background,border,border_radius,extra">

<value>{ "color": "@xf-uix_secondaryColor", "font-weight": "@xf-fontWeightHeavy", "background-color": "@xf-contentAltBg" }</value>

</property>


-<property title="Sticky navigation element" description="" addon_id="XF" display_order="1200" group_name="headerNav" value_group="navigation" depends_on="" value_type="radio" property_type="value" property_name="publicNavSticky">

<value_parameters>primary={{ phrase('primary_navigation_row_only') }} all={{ phrase('primary_and_sub_navigation_rows') }} none={{ phrase('none') }}</value_parameters>

<value>"all"</value>

</property>


-<property title="Navigation row - tab" description="" addon_id="XF" display_order="20200" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicNavTab" css_components="text,background,extra">

<value>{ "font-size": "@xf-fontSizeNormal", "color": "rgba(255, 255, 255, 0.70)", "font-weight": "@xf-fontWeightHeavy", "text-decoration": "none", "extra": "// text-transform: uppercase;\nline-height: 1;\nborder-top-left-radius: @xf-borderRadiusSmall;\nborder-top-right-radius: @xf-borderRadiusSmall;\nheight: @xf-uix_navigationBarHeight;" }</value>

</property>


-<property title="Navigation row - hovered tab" description="" addon_id="XF" display_order="20400" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicNavTabHover" css_components="text,background,extra">

<value>{ "color": "#fff", "text-decoration": "none" }</value>

</property>


-<property title="Navigation row - menu open" description="Styling applied when the popup menu for the current tab is visible" addon_id="XF" display_order="20450" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicNavTabMenuOpen" css_components="text,background,extra">

<value>{ "text-decoration": "none" }</value>

</property>


-<property title="Staff tools bar" description="" addon_id="XF" display_order="20700" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicStaffBar" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "rgba(255,255,255,.8)", "background-color": "@xf-uix_sectionBg" }</value>

</property>


-<property title="Sub-navigation row" description="" addon_id="XF" display_order="20500" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicSubNav" css_components="text,background,border,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-subNavTextColor", "background-color": "@xf-subNavBg", "border-bottom-width": "@xf-borderSize", "border-bottom-color": "@xf-borderColor" }</value>

</property>


-<property title="Sub-navigation row - hovered element" description="" addon_id="XF" display_order="20600" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicSubNavElHover" css_components="text,extra">

<value>{ "color": "@xf-textColor" }</value>

</property>


-<property title="Sub-navigation row - menu-open element" description="Styles sub-navigation elements whose popup menu is currently open" addon_id="XF" display_order="20650" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="publicSubNavElMenuOpen" css_components="text,background,extra">

<value>{ "text-decoration": "none" }</value>

</property>


-<property title="Sub-navigation padding vertical" description="Defines the amount of vertical padding applied to each item in the sub-navigation bar in the header" addon_id="XF" display_order="5000" group_name="headerNav" value_group="subNavPad" depends_on="" value_type="unit" property_type="value" property_name="publicSubNavPaddingV">

<value>"2px"</value>

</property>


-<property title="Page edge spacer removal break point" description="When the page is narrower than this value, the spacers at the edge of the page are discarded" addon_id="XF" display_order="2300" group_name="page" value_group="responsive" depends_on="" value_type="unit" property_type="value" property_name="responsiveEdgeSpacerRemoval">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Display page jump buttons on scroll" description="If enabled, floating buttons will be displayed shortly after the page is scrolled which allow you to jump to the top or bottom of the page. If this is only triggered when scrolling up, only a jump to top button will be displayed." addon_id="XF" display_order="3000" group_name="page" value_group="" depends_on="" value_type="radio" property_type="value" property_name="scrollJumpButtons">

<value_parameters>={{ phrase('scroll_buttons_do_not_display') }} up={{ phrase('scroll_buttons_when_scrolling_up') }} both={{ phrase('scroll_buttons_when_scrolling_up_or_down') }}</value_parameters>

<value>"both"</value>

</property>


-<property title="Sidebar and side navigation spacer" description="" addon_id="XF" display_order="1000" group_name="page" value_group="sidebar" depends_on="" value_type="unit" property_type="value" property_name="sidebarSpacer">

<value>"@xf-elementSpacer"</value>

</property>


-<property title="Standalone tabs" description="Tabs that are not part of block headers are styled here" addon_id="XF" display_order="20000" group_name="tab" value_group="" depends_on="" value_type="" property_type="css" property_name="standaloneTab" css_components="text,background,extra">

<value>{ "font-size": "@xf-fontSizeNormal", "color": "@xf-textColorMuted", "extra": "border-bottom: 1px solid @xf-borderColor;\nfont-weight: @xf-fontWeightHeavy;\noutline: none;" }</value>

</property>


-<property title="Standalone tabs - selected tab" description="The selected tab in groups that are not part of block headers" addon_id="XF" display_order="20100" group_name="tab" value_group="" depends_on="" value_type="" property_type="css" property_name="standaloneTabSelected" css_components="text,background,border_color_simple,extra">

<value>{ "color": "@xf-uix_secondaryColor", "border-color": "@xf-uix_secondaryColor" }</value>

</property>


-<property 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." addon_id="XF" display_order="100" group_name="palette" value_group="setup" depends_on="" value_type="radio" property_type="value" property_name="styleType">

<value_parameters>light={{ phrase('light') }} dark={{ phrase('dark') }}</value_parameters>

<value>"dark"</value>

</property>


-<property title="Page sub-navigation text color" description="" addon_id="XF" display_order="6090" group_name="color" value_group="chrome" depends_on="" value_type="color" property_type="value" property_name="subNavTextColor">

<value>"@xf-textColorMuted"</value>

</property>


-<property title="Success message background" description="" addon_id="XF" display_order="10210" group_name="color" value_group="successMessage" depends_on="" value_type="color" property_type="value" property_name="successBg">

<value>"rgb(218, 243, 216)"</value>

</property>


-<property title="Success message text color" description="" addon_id="XF" display_order="10220" group_name="color" value_group="successMessage" depends_on="" value_type="color" property_type="value" property_name="successColor">

<value>"rgb(61, 121, 63)"</value>

</property>


-<property title="Text color" description="Unless otherwise specified, text will be this color" addon_id="XF" display_order="100" group_name="color" value_group="textBasic" depends_on="" value_type="color" property_type="value" property_name="textColor">

<value>"@xf-paletteNeutral3"</value>

</property>


-<property title="Accented content text color" description="" addon_id="XF" display_order="3200" group_name="color" value_group="textOther" depends_on="" value_type="color" property_type="value" property_name="textColorAccentContent">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property title="Attention-grabbing text color" description="" addon_id="XF" display_order="3300" group_name="color" value_group="textOther" depends_on="" value_type="color" property_type="value" property_name="textColorAttention">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property title="Dimmed text color" description="" addon_id="XF" display_order="200" group_name="color" value_group="textBasic" depends_on="" value_type="color" property_type="value" property_name="textColorDimmed">

<value>"@xf-paletteNeutral2"</value>

</property>


-<property title="Emphasized text color" description="" addon_id="XF" display_order="3100" group_name="color" value_group="textOther" depends_on="" value_type="color" property_type="value" property_name="textColorEmphasized">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property title="Feature text color" description="" addon_id="XF" display_order="3000" group_name="color" value_group="textOther" depends_on="" value_type="color" property_type="value" property_name="textColorFeature">

<value>"@xf-textColor"</value>

</property>


-<property title="Muted text color" description="" addon_id="XF" display_order="300" group_name="color" value_group="textBasic" depends_on="" value_type="color" property_type="value" property_name="textColorMuted">

<value>"@xf-paletteNeutral1"</value>

</property>


-<property title="Enable Abridged Signatures" description="" addon_id="" display_order="1400" group_name="message" value_group="uix_abridgedSignatures" depends_on="" value_type="boolean" property_type="value" property_name="uix_abridgedSignatures">

<value>1</value>

</property>


-<property title="Mobile active navigation title" description="Adds a short version of the active navigation to the header when navigation links collapse to the canvas navigation" addon_id="" display_order="40" group_name="basic" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_activeNavTitle">

<value>0</value>

</property>


-<property title="Mobile active navigation title style" description="" addon_id="" display_order="0" group_name="basic" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_activeNavTitleStyle" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "18px", "color": "#fff", "border-left-width": "1px", "border-left-color": "rgba(255,255,255,.3)", "padding-right": "@xf-paddingMedium", "padding-left": "@xf-paddingMedium", "extra": "font-weight: @xf-fontWeightHeavy;" }</value>

</property>


-<property title="List of additional css templates to include" description="A comma separated list of additional CSS/less templates to load. Requires the .css or .less suffix" addon_id="" display_order="400" group_name="uix_globalSettings" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_additionalCss">

<value>""</value>

</property>


-<property title="Avatar shape" description="Changes the shape of avatars (may overwrite avatar border radius style property)" addon_id="" display_order="10" group_name="avatar" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_avatarShape">

<value_parameters>0=Default 1=Circle 2=Square 3=Diamond 4=Pentagon 5=Hexagon 6=Octagon</value_parameters>

<value>"1"</value>

</property>


-<property title="Backstretch" description="Adds an image or image slideshow to any target element" addon_id="" display_order="1000" group_name="uix_globalSettings" value_group="uix_backstretch" depends_on="" value_type="boolean" property_type="value" property_name="uix_backstretch">

<value>0</value>

</property>


-<property title="Backstretch duration" description="Sets the amount of time (in milliseconds) that each image will be visible." addon_id="" display_order="1400" group_name="uix_globalSettings" value_group="uix_backstretch" depends_on="" value_type="number" property_type="value" property_name="uix_backstretchDuration">

<value>"4000"</value>

</property>


-<property title="Backstretch fade" description="Sets the speed (in milliseconds) that the images fade out/in." addon_id="" display_order="1300" group_name="uix_globalSettings" value_group="uix_backstretch" depends_on="" value_type="number" property_type="value" property_name="uix_backstretchFade">

<value>"500"</value>

</property>


-<property title="Backstretch images" description="Enter a list of images where each image is wrapped in quotes. If you add multiple images, every line minus the last one should be followed by a comma. Ex: "image/bg1.jpg", "image/bg2.jpg"" addon_id="" display_order="1100" group_name="uix_globalSettings" value_group="uix_backstretch" depends_on="uix_backstretch" value_type="string" property_type="value" property_name="uix_backstretchImages">

<value>"\"@xf-uix_imagePath/images/bg/1.jpg\", \"@xf-uix_imagePath/images/bg/2.jpg\", \"@xf-uix_imagePath/images/bg/3.jpg\""</value>

</property>


-<property title="Backstretch selector" description="CSS selector for where to apply Backstretch to. For entire document, enter: body" addon_id="" display_order="1200" group_name="uix_globalSettings" value_group="uix_backstretch" depends_on="" value_type="string" property_type="value" property_name="uix_backstretchSelector">

<value>"body"</value>

</property>


-<property title="Beta Mode" description="For development and bug-finding purposes. DO NOT enable on a live site." addon_id="" display_order="10200" group_name="uix_globalSettings" value_group="theme" depends_on="" value_type="boolean" property_type="value" property_name="uix_betaMode">

<value>0</value>

</property>


-<property title="Block body" description="Styles the body of block level components" addon_id="" display_order="10" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_blockBody" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>[]</value>

</property>


-<property title="Block container" description="Styles the container for Block level components" addon_id="" display_order="0" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_blockContainer" css_components="text,background,border,padding,extra">

<value>{ "extra": "box-shadow: @xf-uix_elevation1;" }</value>

</property>


-<property title="Block message" description="" addon_id="" display_order="20" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_blockMessage" css_components="text,background,border,padding,extra">

<value>{ "extra": "box-shadow: @xf-uix_elevation1;" }</value>

</property>


-<property title="Block outer" description="" addon_id="" display_order="30" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_blockOuter" css_components="background,border,padding,extra">

<value>{ "padding-bottom": "@xf-blockPaddingV" }</value>

</property>


-<property title="Block header tab" description="" addon_id="" display_order="0" group_name="block" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_blockTabHeaderTab" css_components="text,background,border,border_radius,padding,extra">

<value>[]</value>

</property>


-<property title="Enable Smart Border Radius Javascript" description="Enables context-aware border-radius rules. Very helpful, especially in the header." addon_id="" display_order="5000" group_name="borderSpacing" value_group="uix_smartBorder" depends_on="" value_type="boolean" property_type="value" property_name="uix_borderRadiusJs">

<value>0</value>

</property>


-<property title="Border Radius Javascript Selectors" description="Only used if smart radius javascript is enabled. Comma separated list of javascript selectors. Do not include single quotes (')" addon_id="" display_order="5100" group_name="borderSpacing" value_group="uix_smartBorder" depends_on="" value_type="string" property_type="value" property_name="uix_borderRadiusSelectors">

<value>".p-footer-inner, .uix_extendedFooter, .p-nav, .p-sectionLinks, .p-staffBar, .p-header, #wpadminbar"</value>

</property>


-<property title="Bottom breadcrumb location" description="" addon_id="" display_order="200" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_bottomBreadcrumbLocation">

<value_parameters>belowMainContainer=Below main container mainContainerBottom = Bottom of main container mainContentBottom=Bottom of main content belowMainContent=Below main content</value_parameters>

<value>"belowMainContainer"</value>

</property>


-<property title="Logo breakpoint" description="Max viewport width to switch to the brandmark image. Use 100% for always, 0 for never, and other values in pixels" addon_id="" display_order="700" group_name="basic" value_group="uix_responsiveLogo" depends_on="" value_type="string" property_type="value" property_name="uix_brandmarkImage__breakpoint">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Breadcrumb Item" description="Individual breadcrumb items" addon_id="" display_order="100" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_breadcrumbItem" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>{ "color": "@xf-textColorMuted" }</value>

</property>


-<property title="Breadcrumb Item (Active)" description="" addon_id="" display_order="110" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_breadcrumbItem__active" css_components="text,background,extra">

<value>{ "color": "@xf-textColorDimmed" }</value>

</property>


-<property title="Breadcrumb Container" description="Styles the breadcrumb container" addon_id="" display_order="90" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_breadcrumbStyle" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>{ "color": "@xf-textColorMuted" }</value>

</property>


-<property title="Breadcrumb wrapper" description="container surrounding breadcrumb and page action if applicable" addon_id="" display_order="80" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_breadcrumbWrapper" css_components="background,border,border_radius,padding,extra">

<value>[]</value>

</property>


-<property title="Breadcrumb Wrapper (bottom)" description="" addon_id="" display_order="0" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_breadcrumbWrapperBottom" css_components="text,background,border,border_radius,padding,extra">

<value>{ "extra": "margin-top: @xf-elementSpacer;" }</value>

</property>


-<property title="Button - default (active)" description="" addon_id="" display_order="20120" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonActive" css_components="text,background,border,border_radius,padding,extra">

<value>{ "text-decoration": "none", "background-color": "fade(@xf-buttonDefault--color, 20%)" }</value>

</property>


-<property title="Button - call to action (active)" description="" addon_id="" display_order="20320" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonCtaActive" css_components="text,background,border,padding,extra">

<value>{ "background-color": "saturate(@xf-buttonCta--background-color, 20%)" }</value>

</property>


-<property title="Button - call to action (hover)" description="" addon_id="" display_order="20310" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonCtaHover" css_components="text,background,extra">

<value>{ "background-color": "saturate(@xf-buttonCta--background-color, 10%)" }</value>

</property>


-<property title="Button - default (hover)" description="" addon_id="" display_order="20110" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonHover" css_components="text,background,extra">

<value>{ "text-decoration": "none", "background-color": "fade(@xf-buttonDefault--color, 20%)" }</value>

</property>


-<property title="Button Group Link" description="Styles button group links" addon_id="" display_order="0" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonLink" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-contentBg", "border-width": "1px", "border-color": "@xf-borderColor", "extra": "text-transform: initial;" }</value>

</property>


-<property title="Button - primary (active)" description="" addon_id="" display_order="20220" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonPrimaryActive" css_components="text,background,border,padding,extra">

<value>{ "background-color": "darken(@xf-buttonPrimary--background-color, 20%)" }</value>

</property>


-<property title="Button primary (hover)" description="" addon_id="" display_order="20210" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonPrimaryHover" css_components="text,background,extra">

<value>{ "color": "#fff", "background-color": "darken(@xf-buttonPrimary--background-color, 10%)" }</value>

</property>


-<property title="Button ripple effect" description="Adds a ripple animation to buttons on press" addon_id="" display_order="100" group_name="button" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_buttonRipple">

<value>1</value>

</property>


-<property title="Button (small)" description="Styles small (and also filter bar) buttons" addon_id="" display_order="20500" group_name="button" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_buttonSmall" css_components="text,background,border,padding,extra">

<value>{ "font-size": "@xf-fontSizeSmaller", "padding": "0", "padding-right": "8px", "padding-left": "8px", "extra": "height: 28px;\nline-height: 28px;" }</value>

</property>


-<property title="Canvas" description="" addon_id="" display_order="0" group_name="uix_canvas" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_canvas" css_components="text,background,border,padding,extra">

<value>{ "color": "@xf-textColorDimmed", "background-color": "@xf-contentBg" }</value>

</property>


-<property title="Canvas Header" description="" addon_id="" display_order="0" group_name="uix_canvas" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_canvasHeader" css_components="text,background,border,padding,extra">

<value>[]</value>

</property>


-<property title="Canvas navigation item" description="" addon_id="" display_order="0" group_name="uix_canvas" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_canvasNavItem" css_components="text,background,border,padding,extra">

<value>{ "extra": "border-top-right-radius: @xf-borderRadiusMedium;\nborder-bottom-right-radius: @xf-borderRadiusMedium;" }</value>

</property>


-<property title="Canvas navigation item (active)" description="" addon_id="" display_order="0" group_name="uix_canvas" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_canvasNavItemActive" css_components="text,background,border,padding,extra">

<value>{ "color": "@xf-uix_primaryColor", "background-color": "rgba(0,0,0,.08)" }</value>

</property>


-<property title="Canvas navigation item (hover)" description="" addon_id="" display_order="0" group_name="uix_canvas" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_canvasNavItemHover" css_components="text,background,border,padding,extra">

<value>{ "background-color": "xf-intensify(@xf-pageBg, 3%)" }</value>

</property>


-<property title="Canvas navigation sub-item" description="" addon_id="" display_order="0" group_name="uix_canvas" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_canvasNavSubItem" css_components="text,background,border,padding,extra">

<value>{ "extra": "border-top-right-radius: @xf-borderRadiusMedium;\nborder-bottom-right-radius: @xf-borderRadiusMedium;" }</value>

</property>


-<property title="Collapsible categories" description="Enables a trigger to collapse 1st level category nodes" addon_id="" display_order="1000" group_name="nodeList" value_group="uix_nodeCategories" depends_on="" value_type="boolean" property_type="value" property_name="uix_categoryCollapse">

<value>1</value>

</property>


-<property title="Category description" description="" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_categoryDescription" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "@xf-fontSizeSmaller", "color": "@xf-textColorMuted", "font-weight": "@xf-fontWeightNormal", "padding-top": "4px", "extra": "line-height: 1.5;\nfont-family: @xf-fontFamilyBody;\ntext-transform: none;" }</value>

</property>


-<property title="Category description display" description="" addon_id="" display_order="1100" group_name="nodeList" value_group="uix_nodeCategories" depends_on="" value_type="radio" property_type="value" property_name="uix_categoryDescriptionDisplay">

<value_parameters>tooltip=Tooltip inline=Inline none=None</value_parameters>

<value>"inline"</value>

</property>


-<property title="Category icon style" description="Styles the category strip icon if applicable" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_categoryIconStyle" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "24px", "color": "@xf-uix_primaryColor", "padding-right": "@xf-paddingMedium" }</value>

</property>


-<property title="Category Strip" description="Styles the category strip for nodes" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_categoryStrip" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>{ "font-size": "@xf-fontSizeLarger", "font-weight": "@xf-fontWeightHeavy", "background-color": "transparent", "border-bottom-width": "0", "padding": "@xf-paddingLarge", "padding-top": "0", "extra": "line-height: 1;" }</value>

</property>


-<property title="Category strip icons" description="Adds the UI.X Folder icon to category strips" addon_id="" display_order="200" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_categoryStripIcons">

<value>0</value>

</property>


-<property title="Move category strip outside wrapper" description="Moves the category strip outside of the level 1 node container" addon_id="" display_order="1200" group_name="nodeList" value_group="uix_nodeCategories" depends_on="" value_type="boolean" property_type="value" property_name="uix_categoryStripOutsideWrapper">

<value>1</value>

</property>


-<property title="Clickable threads" description="Makes the entire thread list item clickable" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_clickableThreads">

<value>0</value>

</property>


-<property title="Collapsible extra info" description="Collapses the postbit extra info (such as joined, messages, trophies, etc..) and adds a trigger to expand them" addon_id="" display_order="1000" group_name="message" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_collapseExtraInfo">

<value>1</value>

</property>


-<property title="Collapse staffbar links" description="" addon_id="" display_order="7200" group_name="headerNav" value_group="uix_staffbar" depends_on="" value_type="boolean" property_type="value" property_name="uix_collapseStaffbarLinks">

<value>1</value>

</property>


-<property title="Collapsible sub forums" description="Allows the user to collapse sub forums on discussion list (forum view)" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_collapseibleSubForums">

<value>0</value>

</property>


-<property title="Collapsible sidebar" description="Adds a trigger to collapse and expand the sidebar" addon_id="" display_order="100" group_name="uix_sidebar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_collapsibleSidebar">

<value>1</value>

</property>


-<property title="Collapsible sticky threads" description="Allows the users to collapse sticky threads. Requires Separate Sticky Threads" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="uix_separateThreads" value_type="boolean" property_type="value" property_name="uix_collapsibleStickyThreads">

<value>1</value>

</property>


-<property title="Condense visitor tabs" description="" addon_id="" display_order="2250" group_name="headerNav" value_group="uix_loginTabs" depends_on="" value_type="boolean" property_type="value" property_name="uix_condenseVisitorTabs">

<value>0</value>

</property>


-<property title="Content Wrapper" description="Sets where the styling for Content Wrapper will be applied" addon_id="" display_order="300" group_name="page" value_group="page" depends_on="" value_type="select" property_type="value" property_name="uix_contentWrapper">

<value_parameters>0=Default (no wrapper) 1= Wrapper around main content and sidebar 2=Wrapper around main content only</value_parameters>

<value>"0"</value>

</property>


-<property title="Content Wrapper" description="" addon_id="" display_order="0" group_name="page" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_contentWrapperStyle" css_components="background,border,extra">

<value>{ "background-color": "#fff", "border-width": "@xf-borderSize", "border-color": "@xf-borderColor" }</value>

</property>


-<property title="Copyright row order" description="" addon_id="" display_order="300" group_name="footer" value_group="uix_footerPositions" depends_on="" value_type="number" property_type="value" property_name="uix_copyrightOrder">

<value>"30"</value>

</property>


-<property title="Add default navigation tab icon" description="This will add a stock default navigation icon. (Note: this may cause any custom icons you set to be overwritten. Disable this feature if this is the case.)" addon_id="" display_order="1800" group_name="headerNav" value_group="navigation" depends_on="uix_navTabIcons" value_type="boolean" property_type="value" property_name="uix_defaultNavIcon">

<value>1</value>

</property>


-<property title="Add default sidebar icons for custom HTML widgets" description="" addon_id="" display_order="350" group_name="uix_sidebar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_defaultSidebarIcon">

<value>1</value>

</property>


-<property title="Separate Header from Content Wrapper" description="Adds margin-bottom to header" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_detachedNavigation">

<value>1</value>

</property>


-<property title="Discussion list" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_discussionList" css_components="background,border,border_radius,padding,extra">

<value>{ "border-radius": "@xf-blockBorderRadius" }</value>

</property>


-<property title="Discussion list animation" description="Adds animation to discussion list items on page load" addon_id="" display_order="3200" group_name="misc" value_group="uix_pageAnimation" depends_on="" value_type="boolean" property_type="value" property_name="uix_discussionListAnimation">

<value>0</value>

</property>


-<property title="Width to collapse discussion list items" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_discussionListCollapseWidth">

<value>"@xf-responsiveMedium"</value>

</property>


-<property title="Discussion list item" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_discussionListItem" css_components="text,background,border,border_radius">

<value>[]</value>

</property>


-<property title="Discussion list item (deleted)" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_discussionListItemDeleted" css_components="background,border">

<value>[]</value>

</property>


-<property title="Discussion list item (even)" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_discussionListItemEven">

<value>"@xf-contentAltBg"</value>

</property>


-<property title="Discussion list item (hover)" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_discussionListItemHover">

<value>"@xf-contentHighlightBg"</value>

</property>


-<property title="Discussion list item (moderated)" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_discussionListItemModerated" css_components="background,border">

<value>[]</value>

</property>


-<property title="Discussion list item (sticky)" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_discussionListItemSticky" css_components="background,border">

<value>{ "border-left-width": "3px", "border-left-color": "#ca0000" }</value>

</property>


-<property title="Title" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_discussionListTitle" css_components="text">

<value>{ "font-size": "@xf-fontSizeLarge", "color": "@xf-textColor", "font-weight": "@xf-fontWeightNormal" }</value>

</property>


-<property title="Title (unread)" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_discussionListTitleUnread" css_components="text">

<value>{ "font-weight": "@xf-fontWeightHeavy" }</value>

</property>


-<property title="Navigation hover dropdown menus (beta)" description="Adds support for opening menus in the navigation on hover" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_dropdownHover">

<value>0</value>

</property>


-<property title="Elevation 1" description="Sets the box-shadow value for elevation level 1" addon_id="" display_order="2000" group_name="uix_globalSettings" value_group="elevation" depends_on="" value_type="string" property_type="value" property_name="uix_elevation1">

<value>"0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.20)"</value>

</property>


-<property title="Elevation 2" description="Sets the box shadow value for elevation level 2" addon_id="" display_order="2100" group_name="uix_globalSettings" value_group="elevation" depends_on="" value_type="string" property_type="value" property_name="uix_elevation2">

<value>"0 6px 10px 0px rgba(0, 0, 0, 0.14), 0 1px 18px 0px rgba(0, 0, 0, 0.12), 0 3px 5px 0 rgba(0, 0, 0, 0.2)"</value>

</property>


-<property title="Enable Extended Footer" description="" addon_id="" display_order="100" group_name="footer" value_group="uix_extendedFooter" depends_on="" value_type="boolean" property_type="value" property_name="uix_enableExtendedFooter">

<value>1</value>

</property>


-<property title="Main page tabs" description="" addon_id="" display_order="5000" group_name="uix_globalSettings" value_group="uix_mainTabs" depends_on="" value_type="boolean" property_type="value" property_name="uix_enableMainTabs">

<value>0</value>

</property>


-<property title="Welcome block image hero" description="Adds the welcome block image to the entire header component. (Note: only applicable when welcome block is in header)" addon_id="" display_order="0" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_enableWelcomeHeaderImage">

<value>0</value>

</property>


-<property title="Extended footer order" description="" addon_id="" display_order="200" group_name="footer" value_group="uix_footerPositions" depends_on="" value_type="number" property_type="value" property_name="uix_extendedFooterOrder">

<value>"10"</value>

</property>


-<property title="Extended Footer" description="" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_extendedFooterStyle" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-contentAccentBg", "border-top-width": "0", "border-top-color": "@xf-borderColor", "padding-top": "@xf-paddingLargest * 2", "padding-bottom": "@xf-paddingLargest * 2" }</value>

</property>


-<property title="Extended Footer White Text" description="Checking this option will add CSS to make all text white for legibility. Only use this Style Property if you have a dark background that is causing legibility issues. (Most often useful for a dark footer on a light theme.)" addon_id="" display_order="2400" group_name="footer" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_extendedFooter__whiteText">

<value>0</value>

</property>


-<property title="Add Icon for external links" description="If enabled, will add the Open In New icon to external anchors. This uses the board options for the site url and home url." addon_id="" display_order="100" group_name="uix_icons" value_group="uix_iconOptions" depends_on="" value_type="boolean" property_type="value" property_name="uix_externalLinkIcon">

<value>1</value>

</property>


-<property title="Page action as floating action button" description="Adds the page action as a floating action button" addon_id="" display_order="1000" group_name="button" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_fab">

<value_parameters>never=Never mobile=Mobile always=Always</value_parameters>

<value>"mobile"</value>

</property>


-<property title="Floating action button placeholder background color" description="Sets the background color of the placeholder spacer in the footer." addon_id="" display_order="1300" group_name="button" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_fabBarBackground">

<value>"@xf-contentBg"</value>

</property>


-<property title="Show FAB on scroll up only" description="" addon_id="" display_order="1200" group_name="button" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_fabScroll">

<value>1</value>

</property>


-<property title="Floating action button Viewport width" description="Sets the minimum viewport width to hide the floating action button" addon_id="" display_order="1100" group_name="button" value_group="" depends_on="uix_fab" value_type="string" property_type="value" property_name="uix_fabVw">

<value>"@xf-responsiveMedium"</value>

</property>


-<property title="Footer chooser" description="Styles the footer chooser (ex. style chooser, width toggle, language chooser)" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerChooser" css_components="text,background,border,extra">

<value>{ "color": "rgba(255,255,255,.5)", "background-color": "rgba(0,0,0,.2)" }</value>

</property>


-<property title="Footer chooser hover" description="" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerChooserHover" css_components="text,background,extra">

<value>{ "color": "#fff", "background-color": "rgba(0,0,0,.3)" }</value>

</property>


-<property title="Footer copyright row" description="" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerCopyrightRow" css_components="text,background,border,padding,extra">

<value>{ "color": "@xf-textColorDimmed", "background-color": "darken(@xf-contentAccentBg, 5%)", "border-top-width": "1px", "border-top-color": "@xf-borderColor", "padding-top": "@xf-paddingLarge", "padding-bottom": "@xf-paddingLarge" }</value>

</property>


-<property title="Footer widget icons" description="Adds icons to the footer widget titles" addon_id="" display_order="2200" group_name="footer" value_group="uix_footerWidgets" depends_on="" value_type="boolean" property_type="value" property_name="uix_footerIcons">

<value>1</value>

</property>


-<property title="Move footer inside main content" description="Moves the footer into the main content, as opposed to being full width at the bottom" addon_id="" display_order="1300" group_name="footer" value_group="uix_footerCovered" depends_on="" value_type="boolean" property_type="value" property_name="uix_footerInsideContent">

<value>0</value>

</property>


-<property title="Footer links hover" description="" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerLinkHover" css_components="text,background,extra">

<value>{ "color": "#fff", "extra": "text-decoration: none;" }</value>

</property>


-<property title="Footer menu" description="Styles the footer menu bar" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerMenu" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-contentAccentBg" }</value>

</property>


-<property title="Footer menu order" description="" addon_id="" display_order="200" group_name="footer" value_group="uix_footerPositions" depends_on="" value_type="number" property_type="value" property_name="uix_footerMenuOrder">

<value>"20"</value>

</property>


-<property title="Footer widget" description="Styles the widget block" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerWidget" css_components="text,background,border,padding,extra">

<value>{ "background-color": "none", "border-width": "0", "padding": "0", "extra": "box-shadow: none;" }</value>

</property>


-<property title="Footer Widget body" description="Styles the body of the footer widgets" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerWidgetBody" css_components="text,background,border,padding,extra">

<value>[]</value>

</property>


-<property title="Footer widget footer" description="Styles the footer area of widgets in the footer." addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerWidgetFooter" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "none", "padding-right": "0", "padding-bottom": "0", "padding-left": "0" }</value>

</property>


-<property title="Footer widget header" description="Styles the minor heading block is footer widgets" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerWidgetHeader" css_components="text,background,border,padding,extra">

<value>{ "background-color": "none", "border-bottom-width": "0", "padding": "0", "padding-bottom": "@xf-paddingMedium", "extra": "display: flex;\nalign-items: center;" }</value>

</property>


-<property title="Footer widget spacing" description="Sets the spacing in between each widget." addon_id="" display_order="2100" group_name="footer" value_group="uix_footerWidgets" depends_on="" value_type="unit" property_type="value" property_name="uix_footerWidgetPadding">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Footer Widget Row" description="" addon_id="" display_order="0" group_name="footer" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_footerWidgetRow" css_components="text,background,border,padding,extra">

<value>{ "padding-right": "0", "padding-left": "0" }</value>

</property>


-<property title="Footer widget preferred width" description="Set the preferred widget size. (Uses flex-basis)" addon_id="" display_order="2000" group_name="footer" value_group="uix_footerWidgets" depends_on="" value_type="unit" property_type="value" property_name="uix_footerWidgetWidth">

<value>"280px"</value>

</property>


-<property title="Force cover copyright row" description="Forces the copyright row to be full width regardless of the Page Setup > Page Style style property." addon_id="" display_order="1200" group_name="footer" value_group="uix_footerCovered" depends_on="" value_type="boolean" property_type="value" property_name="uix_forceCoverCopyright">

<value>0</value>

</property>


-<property title="Force cover extended footer" description="Forces the extended footer row to be full width regardless of the Page Setup > Page Style style property." addon_id="" display_order="1000" group_name="footer" value_group="uix_footerCovered" depends_on="" value_type="boolean" property_type="value" property_name="uix_forceCoverExtendedFooter">

<value>0</value>

</property>


-<property title="Force cover footer menu" description="Forces the footer menu row to be full width regardless of the Page Setup > Page Style style property." addon_id="" display_order="1100" group_name="footer" value_group="uix_footerCovered" depends_on="" value_type="boolean" property_type="value" property_name="uix_forceCoverFooterMenu">

<value>0</value>

</property>


-<property title="Category icon" description="" addon_id="" display_order="1300" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_glyphCategoryIcon">

<value>""</value>

</property>


-<property title="Forum icon" description="" addon_id="" display_order="1000" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_glyphForumIcon">

<value>""</value>

</property>


-<property title="Link icon" description="" addon_id="" display_order="1100" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_glyphLinkIcon">

<value>""</value>

</property>


-<property title="Page icon" description="" addon_id="" display_order="1200" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_glyphPageIcon">

<value>""</value>

</property>


-<property title="Google Fonts" description="Choose the fonts in which to load from Google Fonts API." addon_id="" display_order="0" group_name="fonts" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_googleFonts">

<value>""</value>

</property>


-<property title="Header whitespace" description="Pixel value of the margin between navigation, user bar, and logo block. (Note: This requires "Remove header wrapper" to be disabled.)" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_headerWhiteSpace">

<value>"0px"</value>

</property>


-<property title="Header wrapper" description="Styles the wrapper around the entire header" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_headerWrapper" css_components="background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-uix_primaryColor" }</value>

</property>


-<property title="Secondary font" description="Font family used for headings and other decorative text situations." addon_id="" display_order="210" group_name="fonts" value_group="font" depends_on="" value_type="string" property_type="value" property_name="uix_headingFont">

<value>"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";"</value>

</property>


-<property title="Heading font weight regular" description="" addon_id="" display_order="2210" group_name="fonts" value_group="weight" depends_on="" value_type="number" property_type="value" property_name="uix_headingFontWeight">

<value>"400"</value>

</property>


-<property title="Heading font weight (heavy)" description="" addon_id="" display_order="2220" group_name="fonts" value_group="weight" depends_on="" value_type="number" property_type="value" property_name="uix_headingFontWeightHeavy">

<value>"700"</value>

</property>


-<property title="Hide elements during javascript loading" description="Disabling this will potentially cause flashes of unstyled content, but may be necessary for some caches or CDNs." addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_hideElementsDuringJSLoad">

<value>1</value>

</property>


-<property title="Hide extended footer for mobile" description="" addon_id="" display_order="150" group_name="footer" value_group="uix_extendedFooter" depends_on="" value_type="boolean" property_type="value" property_name="uix_hideExtendedFooterMobile">

<value>0</value>

</property>


-<property title="Hide node last post" description="" addon_id="" display_order="2100" group_name="nodeList" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_hideNodeLastPost">

<value>0</value>

</property>


-<property title="Hide node stats" description="" addon_id="" display_order="2400" group_name="nodeList" value_group="uix_nodeStats" depends_on="" value_type="boolean" property_type="value" property_name="uix_hideNodeStats">

<value>0</value>

</property>


-<property title="Ignore home link when checking "content checking" breadcrumb" description="Removes the breadcrumb when the only crumb is the home link" addon_id="" display_order="300" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_hideSingleCrumb">

<value>1</value>

</property>


-<property title="Hide footer style chooser" description="" addon_id="" display_order="2300" group_name="footer" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_hideStyleChoose">

<value>0</value>

</property>


-<property title="Hide top page nav for mobile" description="Removes the top page navigation buttons for mobile to save important vertical space." addon_id="" display_order="700" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_hideTopPagenavMobile">

<value>1</value>

</property>


-<property title="Home breadcrumb as icon" description="Swaps out the "home" text in the breadcrumb for the home icon" addon_id="" display_order="600" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_homeCrumbIcon">

<value>1</value>

</property>


-<property title="Icon font" description="" addon_id="" display_order="0" group_name="uix_icons" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_iconFont" css_components="extra">

<value>{ "extra": "display: inline-block;\nfont: normal normal normal 18px/1 \"Material Design Icons\";\nfont-size: inherit;\ntext-rendering: auto;\nline-height: 1;\n-webkit-font-smoothing: antialiased;\n-moz-osx-font-smoothing: grayscale;\ntransform: translate(0, 0);\nwidth: auto;" }</value>

</property>


-<property title="Icon font" description="" addon_id="" display_order="0" group_name="uix_icons" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_iconFontFamily">

<value_parameters>fontawesome=Font Awesome material=Material materialOutline=Material Outline</value_parameters>

<value>"materialOutline"</value>

</property>


-<property title="Icon font size" description="" addon_id="" display_order="0" group_name="uix_icons" value_group="uix_iconOptions" depends_on="" value_type="unit" property_type="value" property_name="uix_iconSize">

<value>"18px"</value>

</property>


-<property title="Icon large font size" description="" addon_id="" display_order="0" group_name="uix_icons" value_group="uix_iconOptions" depends_on="" value_type="unit" property_type="value" property_name="uix_iconSizeLarge">

<value>"24px"</value>

</property>


-<property title="Image forum icon" description="" addon_id="" display_order="0" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_imageForumIcon" css_components="background,padding,extra">

<value>{ "background-image": "@xf-uix_imagePath/images/nodeicons.png", "extra": "background-repeat: no-repeat;\nbackground-position: -32px 0;" }</value>

</property>


-<property title="Image forum unread icon" description="" addon_id="" display_order="0" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_imageForumUnreadIcon" css_components="background,padding,extra">

<value>{ "background-image": "@xf-uix_imagePath/images/nodeicons.png", "extra": "background-repeat: no-repeat;\nbackground-position: 0 0;" }</value>

</property>


-<property title="Image icon" description="" addon_id="" display_order="0" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_imageIcon" css_components="background,padding,extra">

<value>{ "extra": "width: 32px;\nheight: 32px;" }</value>

</property>


-<property title="Image link icon" description="" addon_id="" display_order="0" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_imageLinkIcon" css_components="background,padding,extra">

<value>{ "background-image": "@xf-uix_imagePath/images/nodeicons.png", "extra": "background-repeat: no-repeat;\nbackground-position: -64px 0;" }</value>

</property>


-<property title="Image page icon" description="" addon_id="" display_order="0" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_imagePageIcon" css_components="background,padding,extra">

<value>{ "background-image": "@xf-uix_imagePath/images/nodeicons.png", "extra": "background-repeat: no-repeat;\nbackground-position: -96px 0;" }</value>

</property>


-<property title="Image path" description="Sets the path to images for the theme." addon_id="" display_order="10" group_name="basic" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_imagePath">

<value>"styles/uix_dark"</value>

</property>


-<property title="Javascript Path" description="The path to the theme's javascript directory relative to /js/themehouse/ . Allows for multiple versions of UI.X and/or Audentio.com products to be installed and not share the same javascript functions. Only change this if you are certain you should be." addon_id="" display_order="10000" group_name="uix_globalSettings" value_group="theme" depends_on="" value_type="string" property_type="value" property_name="uix_jsPath">

<value>"uix_dark"</value>

</property>


-<property title="Lazy loading support" description="Adds support for lazy loading images, videos and iframes. To set something to be lazy loaded, you will need to add "lazy" as a class name, and change the "src" attribute to "data-src"." addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_lazyLoadSupport">

<value>0</value>

</property>


-<property title="Login trigger style" description="The method in which the login form displays once the trigger is activated." addon_id="" display_order="2210" group_name="headerNav" value_group="uix_loginTabs" depends_on="" value_type="select" property_type="value" property_name="uix_loginStyle">

<value_parameters>modal=Modal dropdown=Dropdown link=Link slidingPanel=Sliding Panel</value_parameters>

<value>"dropdown"</value>

</property>


-<property title="Login triggers position" description="" addon_id="" display_order="2220" group_name="headerNav" value_group="uix_loginTabs" depends_on="" value_type="select" property_type="value" property_name="uix_loginTriggerPosition">

<value_parameters>staffBar=Staff bar navigation=Navigation tablinks=Sub navigation</value_parameters>

<value>"navigation"</value>

</property>


-<property title="Logo icon" description="Adds a CSS font icon when logo text is applicable." addon_id="" display_order="1200" group_name="basic" value_group="uix_logoText" depends_on="" value_type="string" property_type="value" property_name="uix_logoIcon">

<value>"mdi mdi-layers"</value>

</property>


-<property title="Logo icon" description="Styles the logo icon" addon_id="" display_order="0" group_name="basic" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_logoIconStyle" css_components="text,background,border,padding,extra">

<value>{ "font-size": "36px", "padding-right": "@xf-paddingMedium" }</value>

</property>


-<property title="Logo small image path" description="If left blank, will default to main logo path" addon_id="" display_order="600" group_name="basic" value_group="uix_responsiveLogo" depends_on="" value_type="string" property_type="value" property_name="uix_logoSmall">

<value>"@xf-uix_imagePath/images/uix-brandmark.png"</value>

</property>


-<property title="Logo text" description="Adds text in place of a logo. Note: this is overwritten when a logo image path is set" addon_id="" display_order="1100" group_name="basic" value_group="uix_logoText" depends_on="" value_type="string" property_type="value" property_name="uix_logoText">

<value>"UI.X"</value>

</property>


-<property title="Logo text breakpoint" description="The device width under which the logo text changes font-size." addon_id="" display_order="1400" group_name="basic" value_group="uix_logoText" depends_on="" value_type="string" property_type="value" property_name="uix_logoTextBreakpoint">

<value>"@xf-responsiveMedium"</value>

</property>


-<property title="Logo text" description="" addon_id="" display_order="0" group_name="basic" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_logoText__style" css_components="text,background,border,padding,extra">

<value>{ "font-size": "@xf-fontSizeLargest", "color": "#fff", "extra": "margin: 0;\nfont-family: @xf-uix_headingFont;" }</value>

</property>


-<property title="Logo width" description="Sets the width for logo. (Note: only applicable for logos in the header logo row. For logos in the navigation, use "Navigation logo vertical spacing" instead.)" addon_id="" display_order="20" group_name="basic" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_logoWidth">

<value>"120px"</value>

</property>


-<property title="Main tabs bar" description="" addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_mainTabsBarStyling" css_components="text,background,border,padding,extra">

<value>{ "background-color": "@xf-uix_primaryColor" }</value>

</property>


-<property title="Sticky tabs height" description="Sets the height of the sticky tab bar. (Note: This is important for calculating sticky heights.)" addon_id="" display_order="5300" group_name="uix_globalSettings" value_group="uix_mainTabs" depends_on="" value_type="unit" property_type="value" property_name="uix_mainTabsHeight">

<value>"50px"</value>

</property>


-<property title="Main tabs sticky" description="Makes the main tabs sticky. Note: This is only applicable when the main tabs are in the header position." addon_id="" display_order="5200" group_name="uix_globalSettings" value_group="uix_mainTabs" depends_on="" value_type="boolean" property_type="value" property_name="uix_mainTabsSticky">

<value>0</value>

</property>


-<property title="Enable material avatars" description="" addon_id="" display_order="5" group_name="avatar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_materialAvatars">

<value>1</value>

</property>


-<property title="Message" description="Styles the message container" addon_id="" display_order="0" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_message" css_components="text,background,border,border_radius,padding,extra">

<value>{ "extra": "box-shadow: @xf-uix_elevation1;\nborder: none;" }</value>

</property>


-<property title="Message action bar" description="Styles the action bar for messages" addon_id="" display_order="20040" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageActionBar" css_components="text,background,border,border_radius,padding,extra">

<value>{ "border-top-width": "1px", "border-top-color": "@xf-borderColor", "padding": "@xf-messagePadding", "extra": "margin: -@xf-messagePadding;\nmargin-top: 0;" }</value>

</property>


-<property title="Message animation" description="Adds an animation to messages on page load" addon_id="" display_order="3300" group_name="misc" value_group="uix_pageAnimation" depends_on="" value_type="boolean" property_type="value" property_name="uix_messageAnimation">

<value>0</value>

</property>


-<property title="Message attachments" description="Styles the container for the message attachments component." addon_id="" display_order="0" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageAttachments" css_components="background,border,padding,extra">

<value>{ "background-color": "@xf-contentHighlightBg", "padding": "@xf-messagePadding;", "extra": "margin-top: 0;\nmargin-bottom: @xf-messagePadding;" }</value>

</property>


-<property title="Message body" description="Styles the body (main content) of message" addon_id="" display_order="20010" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageBody" css_components="text,background,border,border_radius,padding,extra">

<value>{ "padding-bottom": "@xf-messagePadding", "extra": "margin: 0;" }</value>

</property>


-<property title="Message control" description="Styles the message actions such as reply and report" addon_id="" display_order="20050" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageControl" css_components="text,background,border,padding,extra">

<value>{ "color": "@xf-textColorMuted" }</value>

</property>


-<property title="Message control (hover)" description="" addon_id="" display_order="20060" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageControlHover" css_components="text,background,border,padding,extra">

<value>{ "color": "@xf-textColorDimmed" }</value>

</property>


-<property title="Message like bar" description="Styles the "Likes" bar for messages" addon_id="" display_order="20030" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageLikes" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "none", "border-width": "0", "padding": "0", "padding-bottom": "@xf-messagePadding", "extra": "margin: 0;" }</value>

</property>


-<property title="Message Main" description="Styles the main section of message" addon_id="" display_order="10" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageMain" css_components="text,background,border,border_radius,padding,extra">

<value>[]</value>

</property>


-<property title="Message meta bar" description="Styles the meta (attribution bar), which houses the post date and post number" addon_id="" display_order="20020" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageMeta" css_components="text,background,border,border_radius,padding,extra">

<value>{ "border-width": "0", "padding-bottom": "@xf-messagePadding", "extra": "display: flex;\nalign-items: center;\njustify-content: space-between;" }</value>

</property>


-<property title="Message notice" description="" addon_id="" display_order="0" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_messageNotice" css_components="text,background,border,padding,extra">

<value>{ "background-color": "@xf-contentHighlightBg", "extra": "margin-top: 0;" }</value>

</property>


-<property title="Meta cell (for discussion list)" description="" addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_metaCell" css_components="background,border">

<value>{ "border-right-width": "1px", "border-right-color": "@xf-borderColor", "border-left-width": "1px", "border-left-color": "@xf-borderColor" }</value>

</property>


-<property title="Move navigation above logo block" description="Moves the main navigation above the logo block/header component" addon_id="" display_order="1400" group_name="headerNav" value_group="navigation" depends_on="" value_type="boolean" property_type="value" property_name="uix_navAboveHeader">

<value>0</value>

</property>


-<property title="Navigation logo vertical spacing" description="The max height of the navigation logo is the height of the navigation bar minus these spacings, however it may be smaller when there is not enough horizontal width." addon_id="" display_order="30" group_name="basic" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_navLogoVertSpacing">

<value>"11px"</value>

</property>


-<property title="Nav tab icon style" description="" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_navTabIconStyle" css_components="text,background,border,padding,extra">

<value>{ "font-size": "@xf-uix_iconSize !important", "padding-right": "@xf-paddingSmall" }</value>

</property>


-<property title="Navigation tab icons" description="" addon_id="" display_order="1700" group_name="headerNav" value_group="navigation" depends_on="" value_type="boolean" property_type="value" property_name="uix_navTabIcons">

<value>1</value>

</property>


-<property title="Navigation bar height" description="Sets the height of the primary navigation bar. (Note: this gets overwritten by sticky nav bar height when applicable. If unset, the navigation bar height will simply be as large as the largest component inside of it.)" addon_id="" display_order="1500" group_name="headerNav" value_group="navigation" depends_on="" value_type="unit" property_type="value" property_name="uix_navigationBarHeight">

<value>"50px"</value>

</property>


-<property title="Navigation type" description="Sets the type of navigation style." addon_id="" display_order="2100" group_name="headerNav" value_group="uix_sidebarNav" depends_on="" value_type="select" property_type="value" property_name="uix_navigationType">

<value_parameters>default=Default sidebarNav=Sidebar navigation</value_parameters>

<value>"default"</value>

</property>


-<property title="New node indicator" description="Will display a new indicator next to the node title if there is new content" addon_id="" display_order="2000" group_name="nodeList" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_newNodeMarker">

<value>1</value>

</property>


-<property title="New node indicator" description="Styles the new node indicator if enabled" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_newNodeMarkerStyle" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "12px", "color": "#fff", "background-color": "@xf-uix_secondaryColor", "border-radius": "@xf-borderRadiusSmall", "padding-top": "1px", "padding-right": "4px", "padding-bottom": "1px", "padding-left": "4px" }</value>

</property>


-<property title="Node animations" description="" addon_id="" display_order="3600" group_name="misc" value_group="uix_pageAnimation" depends_on="" value_type="boolean" property_type="value" property_name="uix_nodeAnimations">

<value>0</value>

</property>


-<property title="Block Body (for nodes)" description="" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeBlockBody" css_components="background,border,border_radius,padding,extra">

<value>{ "border-radius": "@xf-borderRadiusSmall", "extra": "box-shadow: @xf-uix_elevation1;" }</value>

</property>


-<property title="Node body" description="Styles the individual node body" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeBody" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-contentBg", "extra": "overflow: hidden;\nalign-items: center;" }</value>

</property>


-<property title="Node body (even)" description="" addon_id="" display_order="2200" group_name="nodeList" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_nodeBodyEven">

<value>"@xf-contentAltBg"</value>

</property>


-<property title="Node body (hover)" description="Adds a hover state to nodes" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeBodyHover" css_components="background,border,extra">

<value>{ "background-color": "@xf-contentHighlightBg", "extra": "position: relative;" }</value>

</property>


-<property title="Clickable nodes" description="Makes the entire node a clickable link to the forum. (Ignores other inner links.)" addon_id="" display_order="2050" group_name="nodeList" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_nodeClickable">

<value>0</value>

</property>


-<property title="Node Container" description="Styles the block-container for level 1 nodes" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeContainer" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>{ "border-width": "0", "extra": "box-shadow: none;" }</value>

</property>


-<property title="Node Description" description="Styles the description of level 2 nodes" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeDescription" css_components="text,padding,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-textColorMuted", "extra": "line-height: 1.5;" }</value>

</property>


-<property title="Use images for node icons" description="" addon_id="" display_order="2000" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_nodeIconImages">

<value>0</value>

</property>


-<property title="Node icon style" description="" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeIconStyle" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "24px" }</value>

</property>


-<property title="Node icon width" description="Sets the width for the node icon container (not the actual icon itself)" addon_id="" display_order="100" group_name="uix_nodeIcons" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_nodeIconWidth">

<value>"46px"</value>

</property>


-<property title="Node padding" description="" addon_id="" display_order="2300" group_name="nodeList" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_nodePadding">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Show node stats only on hover" description="Hides the node stats, and displays them only when hovering over the node" addon_id="" display_order="2600" group_name="nodeList" value_group="uix_nodeStats" depends_on="" value_type="boolean" property_type="value" property_name="uix_nodeStatsHover">

<value>0</value>

</property>


-<property title="Node stats as icons" description="" addon_id="" display_order="2400" group_name="nodeList" value_group="uix_nodeStats" depends_on="" value_type="boolean" property_type="value" property_name="uix_nodeStatsIcons">

<value>1</value>

</property>


-<property title="Node Title" description="" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeTitle" css_components="text,padding,extra">

<value>{ "font-size": "@xf-fontSizeLarge", "color": "@xf-textColor", "font-weight": "@xf-fontWeightHeavy", "extra": "margin: 0;" }</value>

</property>


-<property title="Node Title (Unread)" description="" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_nodeTitle__unread" css_components="text">

<value>[]</value>

</property>


-<property title="Block notice location" description="" addon_id="" display_order="0" group_name="misc" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_noticeLocation">

<value_parameters>aboveMainContainer=Default (above main container) mainContainerTop= Top of main container aboveMainContent=Above main content mainContentTop=Top of main content</value_parameters>

<value>"aboveMainContainer"</value>

</property>


-<property title="Online indicator" description="Sets the display type for the online indicator" addon_id="" display_order="0" group_name="message" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_onlineIndicator">

<value_parameters>default=Default pulse=Pulse banner=User banner</value_parameters>

<value>"default"</value>

</property>


-<property title="Original Poster indicator" description="Add an indicator in the user post bit for original posters" addon_id="" display_order="0" group_name="message" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_originalPoster">

<value_parameters>userbanner=User banner icon=Icon none=Disabled</value_parameters>

<value>"icon"</value>

</property>


-<property title="Page animations" description="Adds animations to main components (header, sidebars, main content, footer) on page load" addon_id="" display_order="3000" group_name="misc" value_group="uix_pageAnimation" depends_on="" value_type="boolean" property_type="value" property_name="uix_pageAnimation">

<value>0</value>

</property>


-<property title="Page style" description="Sets the overall page style for the theme." addon_id="" display_order="200" group_name="page" value_group="page" depends_on="" value_type="select" property_type="value" property_name="uix_pageStyle">

<value_parameters>covered=Default (covered) fixed=Fixed wrapped=Wrapped</value_parameters>

<value>"covered"</value>

</property>


-<property title="Page title" description="Styles the h1 in titlebar" addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_pageTitle" css_components="text,border,padding,extra">

<value>{ "color": "@xf-textColor", "extra": "font-family: @xf-uix_headingFont;" }</value>

</property>


-<property title="Default width toggle" description="" addon_id="" display_order="400" group_name="page" value_group="uix_widgthToggle" depends_on="" value_type="select" property_type="value" property_name="uix_pageWidthToggle">

<value_parameters>disabled=Disabled fixed=Fixed (default) fluid=Fluid</value_parameters>

<value>"fixed"</value>

</property>


-<property title="Page Wrapper" description="" addon_id="" display_order="0" group_name="page" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_pageWrapper" css_components="background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,extra">

<value>{ "background-color": "#fff", "border-width": "@xf-borderSize", "border-color": "@xf-borderColor", "border-radius": "@xf-borderRadiusMedium" }</value>

</property>


-<property title="Enable Parallax" description="" addon_id="" display_order="4000" group_name="uix_globalSettings" value_group="parallax" depends_on="" value_type="boolean" property_type="value" property_name="uix_parallax">

<value>0</value>

</property>


-<property title="Parallax image" description="" addon_id="" display_order="4100" group_name="uix_globalSettings" value_group="parallax" depends_on="uix_parallax" value_type="string" property_type="value" property_name="uix_parallaxImage">

<value>"@xf-uix_imagePath/images/welcome-banner.png"</value>

</property>


-<property title="Parallax starting position" description="" addon_id="" display_order="4200" group_name="uix_globalSettings" value_group="parallax" depends_on="" value_type="select" property_type="value" property_name="uix_parallaxPosition">

<value_parameters>top=Top center=Center bottom=Bottom</value_parameters>

<value>"center"</value>

</property>


-<property title="Parallax selector" description="" addon_id="" display_order="4300" group_name="uix_globalSettings" value_group="parallax" depends_on="uix_parallax" value_type="string" property_type="value" property_name="uix_parallaxSelector">

<value>".uix_welcomeSection"</value>

</property>


-<property title="Postbit avatar size" description="Sets the size of the post bit avatar" addon_id="" display_order="1100" group_name="message" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_postBitAvatarSize">

<value_parameters>small=Small medium=Medium large=Large</value_parameters>

<value>"small"</value>

</property>


-<property title="Post bit icons" description="Changes the user extra info labels to icons" addon_id="" display_order="1200" group_name="message" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_postBitIcons">

<value>1</value>

</property>


-<property title="Accent color" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixAccent">

<value>"@xf-uix_secondaryColor"</value>

</property>


-<property title="Blue prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixBlue">

<value>"#2196F3"</value>

</property>


-<property title="Gray prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixGray">

<value>"#616161"</value>

</property>


-<property title="Green prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixGreen">

<value>"#4CAF50"</value>

</property>


-<property title="Light green prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixLightGreen">

<value>"#8BC34A"</value>

</property>


-<property title="Olive green" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixOlive">

<value>"#689F38"</value>

</property>


-<property title="Orange prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixOrange">

<value>"#FF9800"</value>

</property>


-<property title="Primary prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixPrimary">

<value>"@xf-uix_primaryColor"</value>

</property>


-<property title="Red prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixRed">

<value>"#D32F2F"</value>

</property>


-<property title="Sky blue prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixRedSkyBlue">

<value>"#03A9F4"</value>

</property>


-<property title="Royal blue prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixRoyalBlue">

<value>"#0D47A1"</value>

</property>


-<property title="Silver prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixSilver">

<value>"#CFD8DC"</value>

</property>


-<property title="Yellow prefix" description="" addon_id="" display_order="0" group_name="prefixes" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_prefixYellow">

<value>"#FFEB3B"</value>

</property>


-<property title="Primary brand color" description="Primary brand color" addon_id="" display_order="10" group_name="color" value_group="uix_brandColors" depends_on="" value_type="color" property_type="value" property_name="uix_primaryColor">

<value>"@xf-paletteAccent1"</value>

</property>


-<property title="primary brand color (darker)" description="Darker variation of the primary brand color. (This would generally map to Google's Material design spec as the 700 value of the primary color.)" addon_id="" display_order="30" group_name="color" value_group="uix_brandColors" depends_on="" value_type="color" property_type="value" property_name="uix_primaryColorDarker">

<value>"@xf-paletteAccent2"</value>

</property>


-<property title="Remove bottom breadcrumb" description="" addon_id="" display_order="400" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_removeBottomBreadcrumb">

<value>0</value>

</property>


-<property title="Remove header wrapper" description="This removes the element wrapper all items in the main header. Doing so allows for a more performant implementation of sticky navigation, but removes the ability to add styling behind all header bars. (Note: This may require custom CSS to be updated)" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_removeHeaderWrapper">

<value>1</value>

</property>


-<property title="Remove Title from Forum Index" description="Removes the page title from the forum index. Note: Only applicable when there are no other components in titlebar (such as page action or sidebar toggle.)" addon_id="" display_order="100" group_name="uix_globalSettings" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_removeIndexPageTitle">

<value>0</value>

</property>


-<property title="Remove message arrow" description="Removes the arrow on postbit for messages" addon_id="" display_order="1300" group_name="message" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_removeMessageArrow">

<value>1</value>

</property>


-<property title="Remove forum list page actions" description="Removes the page actions from the forum list. By default these are New Posts and Post New Thread." addon_id="" display_order="200" group_name="uix_globalSettings" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_removePageAction">

<value>0</value>

</property>


-<property title="Remove register/login text" description="" addon_id="" display_order="2230" group_name="headerNav" value_group="uix_loginTabs" depends_on="" value_type="boolean" property_type="value" property_name="uix_removeRegisterText">

<value>1</value>

</property>


-<property title="Remove visitor tab text" description="Note: XenForo 2.1 has changed the phrases to not include text. If you want to add text, you will need to add them in the "nav_alerts" and "nav_inbox" phrases." addon_id="" display_order="2270" group_name="headerNav" value_group="uix_loginTabs" depends_on="" value_type="boolean" property_type="value" property_name="uix_removeVisitorTabsText">

<value>1</value>

</property>


-<property title="Remove what's new buttons" description="" addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_removeWhatsNewButtons">

<value>1</value>

</property>


-<property title="Responsive logo font size" description="Sets a font size to override logo font size at a specific breakpoint" addon_id="" display_order="1300" group_name="basic" value_group="uix_logoText" depends_on="" value_type="string" property_type="value" property_name="uix_responsiveLogoFontSize">

<value>"@xf-fontSizeNormal"</value>

</property>


-<property title="Right align navigation" description="Aligns the navigation and section links to the right side" addon_id="" display_order="1900" group_name="headerNav" value_group="navigation" depends_on="" value_type="boolean" property_type="value" property_name="uix_rightAlignNavigation">

<value>0</value>

</property>


-<property title="Scrollable sidebar" description="Adds a scrollable container around the sidebar. (NOTE: Not recommended when Sticky sidebar is set to "Sticky top and bottom")" addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="uix_stickySidebar" value_type="boolean" property_type="value" property_name="uix_scrollableSidebar">

<value>0</value>

</property>


-<property title="Search Bar" description="" addon_id="" display_order="0" group_name="uix_search" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_searchBar" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>{ "color": "@xf-textColorDimmed", "background-color": "@xf-contentBg", "border-radius": "@xf-borderRadiusMedium" }</value>

</property>


-<property title="Search bar (focus)" description="" addon_id="" display_order="0" group_name="uix_search" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_searchBarFocus" css_components="text,background,padding,extra">

<value>{ "color": "@xf-textColor", "background-color": "@xf-contentBg" }</value>

</property>


-<property title="Search bar height" description="" addon_id="" display_order="300" group_name="uix_search" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_searchBarHeight">

<value>"36px"</value>

</property>


-<property title="Search bar placeholder color" description="" addon_id="" display_order="2000" group_name="uix_search" value_group="uix_searchColor" depends_on="" value_type="color" property_type="value" property_name="uix_searchBarPlaceholderColor">

<value>"@xf-textColorMuted"</value>

</property>


-<property title="Search bar placeholder color (focus)" description="" addon_id="" display_order="2100" group_name="uix_search" value_group="uix_searchColor" depends_on="" value_type="color" property_type="value" property_name="uix_searchBarPlaceholderFocusColor">

<value>"@xf-textColor"</value>

</property>


-<property title="Search bar width" description="(Required for minimal search animation)" addon_id="" display_order="400" group_name="uix_search" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_searchBarWidth">

<value>"250px"</value>

</property>


-<property title="Add Button to the QuickSearch" description="Enabling this setting will add a functional submit button to the QuickSearch." addon_id="" display_order="500" group_name="uix_search" value_group="uix_searchIcon" depends_on="" value_type="boolean" property_type="value" property_name="uix_searchButton">

<value>0</value>

</property>


-<property title="Search icon" description="Styles the search icon" addon_id="" display_order="0" group_name="uix_search" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_searchIcon" css_components="text,background,padding,extra">

<value>{ "font-size": "@xf-uix_iconSizeLarge", "color": "@xf-textColorMuted", "padding": "@xf-paddingSmall", "padding-right": "@xf-paddingSmall * 2", "padding-left": "@xf-paddingSmall * 2", "extra": "float: left;" }</value>

</property>


-<property title="Search icon behavior" description="Sets the behavior for the search icon (when the search is only an icon, and not the full input.)" addon_id="" display_order="1100" group_name="uix_search" value_group="uix_searchIcon" depends_on="" value_type="select" property_type="value" property_name="uix_searchIconBehavior">

<value_parameters>dropdown=Dropdown expand=Expand expandMobile=Expand (mobile only)</value_parameters>

<value>"expandMobile"</value>

</property>


-<property title="Search icon color (focus)" description="" addon_id="" display_order="2200" group_name="uix_search" value_group="uix_searchColor" depends_on="" value_type="color" property_type="value" property_name="uix_searchIconFocusColor">

<value>"@xf-textColorMuted"</value>

</property>


-<property title="Search position" description="Sets where the search bar appears" addon_id="" display_order="200" group_name="uix_search" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_searchPosition">

<value_parameters>staffBar=Staff bar (right) navigation=Navigation (right) navigationLeft=Navigation (left) tablinks=Sub navigation (right) header=Header row (right)</value_parameters>

<value>"header"</value>

</property>


-<property title="Viewport Width to Show Search Icon" description="Enter the maximum viewport width at which the search icon replaces the search bar." addon_id="" display_order="1000" group_name="uix_search" value_group="uix_searchIcon" depends_on="" value_type="string" property_type="value" property_name="uix_search_maxResponsiveWidth">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Secondary brand color" description="Used for hover and active state" addon_id="" display_order="20" group_name="color" value_group="uix_brandColors" depends_on="" value_type="color" property_type="value" property_name="uix_secondaryColor">

<value>"@xf-paletteAccent3"</value>

</property>


-<property title="Section background" description="" addon_id="" display_order="2400" group_name="color" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_sectionBg">

<value>"@xf-uix_primaryColorDarker"</value>

</property>


-<property title="Sub-Navigation row (sticky)" description="" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_sectionLinksStickyStyle" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-publicSubNav--background-color" }</value>

</property>


-<property title="Separate Sticky Threads" description="This will add headings above sticky threads and above normal threads to clearly differentiate the two types of threads." addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_separateThreads">

<value>1</value>

</property>


-<property title="Share widget modal" description="Replace the contents of the share widget with a button that opens a modal. This is useful to help differentiate between the share social icons, and the social links." addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_shareWidgetModal">

<value>1</value>

</property>


-<property title="Collapse sidebar navigation section links" description="Collapses the active tabs section links by default. Note: Only applicable when navigation style is set to sidebar navigation." addon_id="" display_order="2120" group_name="headerNav" value_group="uix_sidebarNav" depends_on="" value_type="boolean" property_type="value" property_name="uix_sideNavCollapsed">

<value>0</value>

</property>


-<property title="Side navigation animation" description="Adds an animation to side navigation items on page load" addon_id="" display_order="3500" group_name="misc" value_group="uix_pageAnimation" depends_on="" value_type="boolean" property_type="value" property_name="uix_sideNavigationAnimation">

<value>0</value>

</property>


-<property title="Widget block row" description="" addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_sidebarBlockRow" css_components="text,background,border,border_radius,padding,extra">

<value>[]</value>

</property>


-<property title="Sidebar breakpoint" description="Minimum viewport width to show sidebar before breaking under content" addon_id="" display_order="200" group_name="uix_sidebar" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_sidebarBreakpoint">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Sidebar heading icons" description="Adds icons to the sidebar headings" addon_id="" display_order="300" group_name="uix_sidebar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_sidebarIcons">

<value>1</value>

</property>


-<property title="Sidebar location" description="Moves the sidebar to the left of the main content" addon_id="" display_order="400" group_name="uix_sidebar" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_sidebarLocation">

<value_parameters>left=Left right=Right</value_parameters>

<value>"right"</value>

</property>


-<property title="Sidebar mobile canvas" description="Adds the sidebar to an off canvas for mobile" addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_sidebarMobileCanvas">

<value>1</value>

</property>


-<property title="Sidebar navigation width" description="Styles the Sidebar nav component" addon_id="" display_order="2110" group_name="headerNav" value_group="uix_sidebarNav" depends_on="" value_type="unit" property_type="value" property_name="uix_sidebarNavWidth">

<value>"210px"</value>

</property>


-<property title="Sidebar Navigation Style" description="Adds styling for the sidebar navigation component" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_sidebarNavigationStyle" css_components="text,background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-pageBg" }</value>

</property>


-<property title="Show sidebar trigger phrase" description="" addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_sidebarTriggerPhrase">

<value>0</value>

</property>


-<property title="Sidebar trigger position" description="" addon_id="" display_order="500" group_name="uix_sidebar" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_sidebarTriggerPosition">

<value_parameters>sectionLinks=Sub navigation titlebar=Titlebar</value_parameters>

<value>"sectionLinks"</value>

</property>


-<property title="Sidebar widget animation" description="Adds an animation to sidebar widgets on page load" addon_id="" display_order="3100" group_name="misc" value_group="uix_pageAnimation" depends_on="" value_type="boolean" property_type="value" property_name="uix_sidebarWidgetAnimations">

<value>0</value>

</property>


-<property title="Sidebar widget footer" description="" addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_sidebarWidgetFooter" css_components="text,background,border,padding,extra">

<value>[]</value>

</property>


-<property title="Sidebar widget heading" description="" addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_sidebarWidgetHeading" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>{ "border-bottom-width": "1px", "border-bottom-color": "@xf-borderColor" }</value>

</property>


-<property title="Sidebar widget wrapper" description="Styles the side widget block-container" addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_sidebarWidgetWrapper" css_components="text,background,border,border_radius,border_width_simple,border_color_simple,border_radius_simple,padding,extra">

<value>[]</value>

</property>


-<property title="Expand Abridged Signatures On Hover" description="Expand abridged signatures by hovering over the signature, as opposed to on clicking on the toggle." addon_id="" display_order="1420" group_name="message" value_group="uix_abridgedSignatures" depends_on="" value_type="boolean" property_type="value" property_name="uix_signatureHoverEnabled">

<value>0</value>

</property>


-<property title="Message Signature Max Height" description="Set to 0 to always collapse signatures. Otherwise will specify a maximum height for signatures and a toggle to expand to their full height." addon_id="" display_order="1410" group_name="message" value_group="uix_abridgedSignatures" depends_on="" value_type="number" property_type="value" property_name="uix_signatureMaxHeight">

<value>"100"</value>

</property>


-<property title="Force scrolling notices to all be primary notices" description="Sets the styling for all scrolling notices to be primary notices." addon_id="" display_order="300" group_name="misc" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_similarScrollNotice">

<value>1</value>

</property>


-<property title="Social media icon" description="Styles the general social media icons that are set in UI.X Social Media board options" addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_socialMediaIcon" css_components="text,background,border,padding,extra">

<value>{ "font-size": "@xf-uix_iconSizeLarge" }</value>

</property>


-<property title="Social media position" description="Choose where to have the social media component" addon_id="" display_order="450" group_name="uix_globalSettings" value_group="social_media" depends_on="" value_type="select" property_type="value" property_name="uix_socialMediaPosition">

<value_parameters>copyright=Copyright footer staffBar=Staffbar staffBarLeft=Staffbar (left) header=Header row</value_parameters>

<value>"copyright"</value>

</property>


-<property title="Staff bar breakpoint" description="Sets the minimum viewport width for the staff bar to show. Note: Staff bar will ALWAYS show to admins/mods, but components will be moved to their default locations. Set 0 for never, and 100% for always." addon_id="" display_order="7400" group_name="headerNav" value_group="uix_staffbar" depends_on="" value_type="string" property_type="value" property_name="uix_staffBarBreakpoint">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Staff tools bar tab" description="" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_staffBarTab" css_components="text,background,border,padding,extra">

<value>{ "color": "rgba(255,255,255,.8)", "padding-top": "@xf-paddingSmall", "padding-bottom": "@xf-paddingSmall", "extra": "margin: 0;" }</value>

</property>


-<property title="Staff tools bar tab (hover)" description="" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_staffBarTabHover" css_components="text,background,border,padding,extra">

<value>{ "color": "#fff", "background-color": "transparent" }</value>

</property>


-<property title="Sticky category strips" description="Category strips will stick to the top of the page for the category that is currently in view." addon_id="" display_order="1300" group_name="nodeList" value_group="uix_nodeCategories" depends_on="" value_type="boolean" property_type="value" property_name="uix_stickyCategoryStrips">

<value>0</value>

</property>


-<property title="Height of the sticky navigation bar" description="" addon_id="" display_order="1600" group_name="headerNav" value_group="navigation" depends_on="" value_type="unit" property_type="value" property_name="uix_stickyNavHeight">

<value>"@xf-uix_navigationBarHeight"</value>

</property>


-<property title="Navigation row (sticky)" description="" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_stickyNavigationStyle" css_components="text,background,border_radius,padding,extra">

<value>{ "background-color": "@xf-publicNav--background-color", "extra": "border-radius: 0 !important;" }</value>

</property>


-<property title="Sticky sub navigation height" description="Sets the height for the sticky section links bar" addon_id="" display_order="8000" group_name="headerNav" value_group="uix_subNav" depends_on="" value_type="unit" property_type="value" property_name="uix_stickySectionLinkHeight">

<value>"40px"</value>

</property>


-<property title="Sticky sidebar" description="Makes both the sidebar as well as the sidenav sticky." addon_id="" display_order="600" group_name="uix_sidebar" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_stickySidebar">

<value_parameters>sticky=Sticky top and bottom top=Sticky top only disabled=Disabled</value_parameters>

<value>"disabled"</value>

</property>


-<property title="Sticky sidebar recalc delay" description="Recalculates the position for the sticky sidebar after this many milliseconds." addon_id="" display_order="0" group_name="uix_sidebar" value_group="" depends_on="" value_type="number" property_type="value" property_name="uix_stickySidebarCalcDelay">

<value>"100"</value>

</property>


-<property title="Sticky side navigation" description="" addon_id="" display_order="2140" group_name="headerNav" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_stickySidenav">

<value>1</value>

</property>


-<property title="Staff bar sticky" description="" addon_id="" display_order="7000" group_name="headerNav" value_group="uix_staffbar" depends_on="" value_type="boolean" property_type="value" property_name="uix_stickyStaffBar">

<value>1</value>

</property>


-<property title="Sticky staffbar height" description="Sets the height of the sticky staff bar" addon_id="" display_order="7100" group_name="headerNav" value_group="uix_staffbar" depends_on="uix_stickyStaffBar" value_type="unit" property_type="value" property_name="uix_stickyStaffBarHeight">

<value>"40px"</value>

</property>


-<property title="Staff bar (sticky)" description="" addon_id="" display_order="0" group_name="headerNav" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_stickyStaffbarStyle" css_components="text,background,border,padding,extra">

<value>[]</value>

</property>


-<property title="Structured list horizontal padding" description="Sets the horizontal padding for list items such as discussion list, conversation list, reports list, etc.." addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_structPaddingH">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Structured list vertical padding" description="Sets the vertical padding for list items such as discussion list, conversation list, reports list, etc.." addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="unit" property_type="value" property_name="uix_structPaddingV">

<value>"@xf-paddingLarge"</value>

</property>


-<property title="Sub-forum title" description="Styles the sub forum titles when they are displayed" addon_id="" display_order="0" group_name="nodeList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_subForumTitle" css_components="text,background,border,padding,extra">

<value>{ "color": "@xf-textColor" }</value>

</property>


-<property title="Enable swipe support" description="Adds swipe support to close off canvases and modals" addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_swipeSupport">

<value>0</value>

</property>


-<property title="Main tabbar location" description="" addon_id="" display_order="5100" group_name="uix_globalSettings" value_group="uix_mainTabs" depends_on="uix_enableMainTabs" value_type="select" property_type="value" property_name="uix_tabBarLocation">

<value_parameters>aboveMainContainer=Default (above main container) mainContainerTop= Top of main container aboveMainContent=Above main content mainContentTop=Top of main content header=Bottom of header</value_parameters>

<value>"header"</value>

</property>


-<property title="Show tablinks in sidebar nav" description="Only applicable for Sidebar navigation style" addon_id="" display_order="2130" group_name="headerNav" value_group="uix_sidebarNav" depends_on="" value_type="boolean" property_type="value" property_name="uix_tablinksInSideNav">

<value>1</value>

</property>


-<property title="Tag" description="Styles tags" addon_id="" display_order="0" group_name="misc" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_tag" css_components="text,background,border,padding,extra">

<value>[]</value>

</property>


-<property title="Tag Hover" description="" addon_id="" display_order="0" group_name="misc" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_tagHover" css_components="text,background,border,padding,extra">

<value>[]</value>

</property>


-<property title="Highlighted/selected Text" description="" addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_textSelection" css_components="text,background">

<value>{ "color": "#fff", "background-color": "@xf-uix_primaryColorDarker" }</value>

</property>


-<property title="Thread field" description="Styles custom thread fields" addon_id="" display_order="0" group_name="message" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_threadField" css_components="text,background,border,padding,extra">

<value>{ "padding": "@xf-messagePadding", "padding-top": "0", "extra": "margin: 0;" }</value>

</property>


-<property title="Thread list separators" description="Styles the thread list separate when Separate Sticky Threads is enabled." addon_id="" display_order="0" group_name="uix_discussionList" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_threadListSeparator" css_components="text,background,border,padding,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-textColorDimmed", "background-color": "@xf-contentHighlightBg", "border-top-width": "1px", "border-top-color": "@xf-borderColor", "padding-top": "10px", "padding-bottom": "10px", "extra": "text-transform: uppercase;" }</value>

</property>


-<property title="Titlebar" description="Styles the wrapper around page title and page description" addon_id="" display_order="0" group_name="uix_globalSettings" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_titlebar" css_components="text,background,border,border_radius,padding,extra">

<value>{ "font-size": "@xf-fontSizeSmall", "color": "@xf-textColorMuted", "border-radius": "@xf-borderRadiusSmall", "padding-top": "@xf-paddingLarge", "extra": "min-height: 36px;" }</value>

</property>


-<property title="Titlebar location" description="Sets where the titlebar should appear in the page" addon_id="" display_order="300" group_name="uix_globalSettings" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_titlebarLocation">

<value_parameters>aboveMainContainer=Default (above main container) mainContainerTop= Top of main container aboveMainContent=Above main content mainContentTop=Top of main content header=Bottom of header belowHeader=Below header</value_parameters>

<value>"belowHeader"</value>

</property>


-<property title="Top breadcrumb location" description="" addon_id="" display_order="100" group_name="uix_breadcrumb" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_topBreadcrumbLocation">

<value_parameters>aboveMainContainer=Default (above main container) mainContainerTop= Top of main container aboveMainContent=Above main content mainContentTop=Top of main content header=Bottom of header</value_parameters>

<value>"aboveMainContainer"</value>

</property>


-<property title="Transition animation" description="" addon_id="" display_order="0" group_name="misc" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_transition">

<value>"cubic-bezier(0.4, 0, 0.2, 1)"</value>

</property>


-<property title="Visitor tabs position" description="" addon_id="" display_order="2200" group_name="headerNav" value_group="uix_loginTabs" depends_on="" value_type="select" property_type="value" property_name="uix_userTabsPosition">

<value_parameters>staffBar=Staff bar navigation=Navigation tablinks=Sub navigation header=Logo block</value_parameters>

<value>"navigation"</value>

</property>


-<property title="UI.X Version" description="This style property should not be edited, it is used to help with debugging issues" addon_id="" display_order="10010" group_name="uix_globalSettings" value_group="theme" depends_on="" value_type="string" property_type="value" property_name="uix_version">

<value>"2.2.4.0.0"</value>

</property>


-<property title="Viewport width to center the logo block" description="Sets the maximum width to center the logo block. This causes all logo block components to stack vertically, and aligned in the center. Set 0 for never and 100% for always." addon_id="" display_order="6200" group_name="headerNav" value_group="uix_logoBlock" depends_on="" value_type="unit" property_type="value" property_name="uix_viewportCenterLogo">

<value>"0px"</value>

</property>


-<property title="Viewport width to collapse staffbar links" description="Sets the max width for the staff links to be collapsed into one admin link" addon_id="" display_order="7300" group_name="headerNav" value_group="uix_staffbar" depends_on="uix_collapseStaffbarLinks" value_type="unit" property_type="value" property_name="uix_viewportCollapseStaffLinks">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Viewport width to collapse node stats" description="This sets the minimum viewport width to show the full node stat display. (Note: not applicable with Node Grid)" addon_id="" display_order="2500" group_name="nodeList" value_group="uix_nodeStats" depends_on="" value_type="unit" property_type="value" property_name="uix_viewportCollapseStats">

<value>"1000px"</value>

</property>


-<property title="Viewport width to condense visitor tabs" description="" addon_id="" display_order="2260" group_name="headerNav" value_group="uix_loginTabs" depends_on="uix_condenseVisitorTabs" value_type="unit" property_type="value" property_name="uix_viewportCondenseVisitorTabs">

<value>"@xf-responsiveMedium"</value>

</property>


-<property title="Viewport width to remove login text" description="" addon_id="" display_order="2240" group_name="headerNav" value_group="uix_loginTabs" depends_on="uix_removeRegisterText" value_type="unit" property_type="value" property_name="uix_viewportRemoveRegisterText">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Viewport width to remove visitor tab text" description="Sets the minimum viewport width to display the conversations, alert and username text." addon_id="" display_order="2280" group_name="headerNav" value_group="uix_loginTabs" depends_on="uix_removeVisitorTabsText" value_type="unit" property_type="value" property_name="uix_viewportRemoveVisitorTabsText">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Minimum viewport width to show logo block" description="Viewport width to show the logo block. Below this width, the logo block will hide, and its components will be moved to the navigation" addon_id="" display_order="6100" group_name="headerNav" value_group="uix_logoBlock" depends_on="uix_enableLogoBlock" value_type="unit" property_type="value" property_name="uix_viewportShowLogoBlock">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Viewport width to remove the sub-navigation" description="" addon_id="" display_order="8100" group_name="headerNav" value_group="uix_subNav" depends_on="" value_type="string" property_type="value" property_name="uix_viewportWidthRemoveSubNav">

<value>"@xf-responsiveWide"</value>

</property>


-<property title="Visitor panel stats as icons" description="Changes the visitor stats in the visitor panel to icons instead of text" addon_id="" display_order="700" group_name="uix_sidebar" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_visitorPanelIcons">

<value>0</value>

</property>


-<property title="Visitor tabs location (mobile)" description="Choose where the visitor tabs should go for mobile" addon_id="" display_order="2205" group_name="headerNav" value_group="uix_loginTabs" depends_on="" value_type="select" property_type="value" property_name="uix_visitorTabsMobile">

<value_parameters>initial=Initial (don't change) tabbar= Tab bar canvas=Canvas</value_parameters>

<value>"canvas"</value>

</property>


-<property title="Move vote buttons to action bar (beta)" description="Moves the vote buttons to the action bar" addon_id="" display_order="0" group_name="message" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_voteActionButton">

<value_parameters>never=Never mobile=Mobile always=Always</value_parameters>

<value>"never"</value>

</property>


-<property title="Display welcome section on forum list only" description="" addon_id="" display_order="300" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="boolean" property_type="value" property_name="uix_welcomeSectionForumListOnly">

<value>1</value>

</property>


-<property title="Welcome section icon" description="" addon_id="" display_order="50" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_welcomeSectionIcon__style" css_components="text,padding,extra">

<value>{ "font-size": "48px", "color": "rgba(255,255,255,.3)", "padding-right": "@xf-paddingLarge" }</value>

</property>


-<property title="Welcome section inner" description="" addon_id="" display_order="10" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_welcomeSectionInner" css_components="text,background,border,padding,extra">

<value>{ "color": "#fff", "padding": "@xf-elementSpacer", "extra": "display: flex;\nalign-items: center;\njustify-content: center;\ntext-align: center;" }</value>

</property>


-<property title="Welcome section location" description="Chooses where to insert the welcome section" addon_id="" display_order="200" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_welcomeSectionLocation">

<value_parameters>aboveMainContainer=Default (above main container) mainContainerTop= Top of main container aboveMainContent=Above main content mainContentTop=Top of main content header=Bottom of header sidebar=Sidebar</value_parameters>

<value>"mainContainerTop"</value>

</property>


-<property title="Welcome section overlay" description="" addon_id="" display_order="600" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="color" property_type="value" property_name="uix_welcomeSectionOverlay">

<value>""</value>

</property>


-<property title="Welcome section text" description="" addon_id="" display_order="40" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_welcomeSectionText__style" css_components="text,padding,extra">

<value>{ "font-size": "16px", "color": "rgba(255,255,255,.75)", "padding-top": "@xf-paddingSmall", "padding-bottom": "@xf-paddingLarge" }</value>

</property>


-<property title="Welcome section title" description="" addon_id="" display_order="30" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_welcomeSectionTitle__style" css_components="text,padding,extra">

<value>{ "font-size": "26px", "extra": "margin: 0;\nfont-family: @xf-uix_headingFont;" }</value>

</property>


-<property title="Welcome section visible to" description="" addon_id="" display_order="100" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="select" property_type="value" property_name="uix_welcomeSectionVisible">

<value_parameters>always={{ phrase('thuix_everyone') }} off={{ phrase('thuix_nobody') }} guests={{ phrase('thuix_guests') }} userPermissions={{ phrase('thuix_user_permissions') }}</value_parameters>

<value>"userPermissions"</value>

</property>


-<property title="Welcome section button text" description="" addon_id="" display_order="1200" group_name="uix_welcomeSection" value_group="uix_welcomeText" depends_on="" value_type="string" property_type="value" property_name="uix_welcomeSection__buttonText">

<value>"Sign up"</value>

</property>


-<property title="Welcome section icon" description="Enter the class name for an icon of an icon font" addon_id="" display_order="500" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_welcomeSection__icon">

<value>""</value>

</property>


-<property title="Welcome section container" description="" addon_id="" display_order="0" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="" property_type="css" property_name="uix_welcomeSection__style" css_components="background,border,border_radius,padding,extra">

<value>{ "background-color": "@xf-uix_primaryColor", "background-image": "url('@xf-uix_imagePath/images/welcome-banner.png')", "border-radius": "@xf-borderRadiusMedium", "extra": "margin-bottom: @xf-elementSpacer;\nbackground-size: cover;\nbackground-position: center;" }</value>

</property>


-<property title="Welcome section text" description="" addon_id="" display_order="1100" group_name="uix_welcomeSection" value_group="uix_welcomeText" depends_on="" value_type="string" property_type="value" property_name="uix_welcomeSection__text">

<value>"Wanting to join the rest of our members? Feel free to sign up today."</value>

</property>


-<property title="Welcome section title" description="" addon_id="" display_order="1000" group_name="uix_welcomeSection" value_group="uix_welcomeText" depends_on="" value_type="string" property_type="value" property_name="uix_welcomeSection__title">

<value>"Welcome to our Community"</value>

</property>


-<property title="Welcome section button url" description="" addon_id="" display_order="400" group_name="uix_welcomeSection" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_welcomeSection__url">

<value>"register"</value>

</property>


-<property title="Widget padding" description="Sets the default padding for sidebar widgets" addon_id="" display_order="800" group_name="uix_sidebar" value_group="" depends_on="" value_type="string" property_type="value" property_name="uix_widgetPadding">

<value>"@xf-paddingMedium"</value>

</property>

</properties>

</style