<?xml version="1.0" encoding="utf-8"?>
<style title="Ripped By Thiên Sầu" description="admin - Diendantruyen.Com" user_selectable="" base_version_id="2020870" export_version="2">
<assets/>
<templates>
<template title="PAGE_CONTAINER" type="public" addon_id="XF" version_id="2020870" version_string="2.2.8"><![CDATA[<!DOCTYPE html>
<html id="XF" lang="{$xf.language.language_code}" dir="{$xf.language.text_direction}"
data-app="public"
data-template="{$template}"
data-container-key="{$containerKey}"
data-content-key="{$contentKey}"
data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
data-cookie-prefix="{$xf.cookie.prefix}"
data-csrf="{{ csrf_token()|escape('js') }}"
class="has-no-js {{ $template ? 'template-' . $template : '' }}"
{{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<xf:set var="$siteName" value="{$xf.options.boardTitle}" />
<xf:set var="$h1"><xf:h1 fallback="{$siteName}" /></xf:set>
<xf:set var="$description"><xf:description /></xf:set>
<title><xf:title formatter="%s | %s" fallback="{$xf.options.boardTitle}" page="{$pageNumber}" /></title>
<link rel="manifest" href="{{ base_url('webmanifest.php') }}">
<xf:if is="property('metaThemeColor')">
<meta name="theme-color" content="{{ parse_less_color(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:elseif is="property('publicMetadataLogoUrl')" />
<link rel="apple-touch-icon" href="{{ base_url(property('publicMetadataLogoUrl')) }}" />
</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:include template="google_analytics" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Be+Vietnam:ital,wght@0,300;0,400;0,700;1,400;1,700&family=Source+Code+Pro&display=swap">
<!-- Cloudflare Web Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "74d4606cb3aa43968c3f29c12ad636e3"}'></script><!-- End Cloudflare Web Analytics -->
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/gh/lfj-io/files/css/AnimajiXen.min.css" />
<link type="text/css" rel="stylesheet" id="arrowchat_css" media="all" href="https://diendantruyen.com//arrowchat/external.php?type=css" charset="utf-8" />
<script type="text/javascript" src="https://diendantruyen.com/arrowchat/includes/js/jquery.js"></script>
<script type="text/javascript" src="https://diendantruyen.com/arrowchat/includes/js/jquery-ui.js"></script>
</head>
<body data-template="{$template}">
<div class="p-pageWrapper" id="top">
<xf:if contentcheck="true">
<div class="p-staffBar">
<div class="p-staffBar-inner hScroller" data-xf-init="h-scroller">
<div class="hScroller-scroll">
<xf:contentcheck>
<xf:if is="$xf.visitor.is_moderator && $xf.session.unapprovedCounts.total">
<a href="{{ link('approval-queue') }}" class="p-staffBar-link badgeContainer badgeContainer--highlighted" data-badge="{$xf.session.unapprovedCounts.total|number}">
{{ phrase('approval_queue') }}
</a>
</xf:if>
<xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId && $xf.session.reportCounts.total">
<a href="{{ link('reports') }}"
class="p-staffBar-link badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}"
data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}"
title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:')|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-click="menu" data-xf-key="alt+m" role="button" tabindex="0" aria-expanded="false" aria-haspopup="true">{{ phrase('moderator') }}</a>
<div class="menu" data-menu="menu" aria-hidden="true">
<div class="menu-content">
<h4 class="menu-header">{{ phrase('moderator_tools') }}</h4>
<xf:contentcheck>
<!--[XF:mod_tools_menu:top]-->
<xf:if is="$xf.visitor.is_moderator">
<a href="{{ link('approval-queue') }}" class="menu-linkRow">{{ phrase('approval_queue') }}</a>
</xf:if>
<xf:if is="$xf.visitor.is_moderator && !$xf.options.reportIntoForumId">
<a href="{{ link('reports') }}" class="menu-linkRow" title="{{ $xf.session.reportCounts.lastBuilt ? phrase('last_report_update:')|for_attr . ' ' . 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:contentcheck>
</div>
</div>
</div>
</xf:if>
<xf:set var="$srcset">{{ property('publicLogoUrl2x') ? base_url(property('publicLogoUrl2x')) . ' 2x' : '' }}</xf:set>
<header class="p-header" id="header">
<div class="p-header-inner">
<div class="p-header-content">
<div class="p-header-logo p-header-logo--image">
<a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
<img src="{{ base_url(property('publicLogoUrl')) }}" srcset="{$srcset}" alt="{$xf.options.boardTitle}"
width="{{ property('publicLogoWidth') ?: '' }}" height="{{ property('publicLogoHeight') ?: '' }}" />
</a>
</div>
<xf:ad position="container_header" />
</div>
</div>
</header>
<xf:set var="$navHtml">
<nav class="p-nav">
<div class="p-nav-inner"><span class="navL"></span><span class="navR"></span>
<xf:button class="button--plain p-nav-menuTrigger" data-xf-click="off-canvas" data-menu=".js-headerOffCanvasMenu" tabindex="0"
aria-label="{{ phrase('menu')|for_attr }}">
<i aria-hidden="true"></i>
</xf:button>
<div class="p-nav-smallLogo">
<a href="{{ ($xf.options.logoLink && $xf.homePageUrl) ? $xf.homePageUrl : link('index') }}">
<img src="{{ base_url(property('publicLogoUrl')) }}" srcset="{$srcset}" alt="{$xf.options.boardTitle}"
width="{{ property('publicLogoWidth') ?: '' }}" height="{{ property('publicLogoHeight') ?: '' }}" />
</a>
</div>
<div class="p-nav-scroller hScroller" data-xf-init="h-scroller" data-auto-scroll=".p-navEl.is-selected">
<div class="hScroller-scroll">
<ul class="p-nav-list js-offCanvasNavSource">
<xf:foreach loop="$navTree" key="$navSection" value="$navEntry" i="$i" if="{{ $navSection != $xf.app.defaultNavigationId }}">
<li>
<xf:macro name="nav_entry"
arg-navId="{$navSection}"
arg-nav="{$navEntry}"
arg-selected="{{ $navSection == $pageSection }}"
arg-shortcut="{$i}" />
</li>
</xf:foreach>
</ul>
</div>
</div>
<div class="p-nav-opposite">
<div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">
<xf:if is="$xf.visitor.user_id">
<xf:if is="$xf.visitor.user_state == 'rejected' OR $xf.visitor.user_state == 'disabled'">
<a href="{{ link('account') }}"
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--user">
<xf:avatar user="$xf.visitor" size="xxs" href="" 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 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 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('conversations')|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 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:else />
<a href="{{ link('login') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--logIn"
data-xf-click="overlay" data-follow-redirects="on">
<span class="p-navgroup-linkText">{{ phrase('log_in') }}</span>
</a>
<xf:if is="$xf.options.registrationSetup.enabled">
<a href="{{ link('register') }}" class="p-navgroup-link p-navgroup-link--textual p-navgroup-link--register"
data-xf-click="overlay" data-follow-redirects="on">
<span class="p-navgroup-linkText">{{ phrase('register') }}</span>
</a>
</xf:if>
</xf:if>
</div>
<div class="p-navgroup p-discovery{{ !$xf.visitor.canSearch() ? ' p-discovery--noSearch' : '' }}">
<a href="{{ link('whats-new') }}"
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--whatsnew"
aria-label="{{ phrase('whats_new')|for_attr }}"
title="{{ phrase('whats_new')|for_attr }}">
<i aria-hidden="true"></i>
<span class="p-navgroup-linkText">{{ phrase('whats_new') }}</span>
</a>
<xf:if is="$xf.visitor.canSearch()">
<a href="{{ link('search') }}"
class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--search"
data-xf-click="menu"
data-xf-key="{{ phrase('shortcut.search_menu')|for_attr }}"
aria-label="{{ phrase('search')|for_attr }}"
aria-expanded="false"
aria-haspopup="true"
title="{{ phrase('search')|for_attr }}">
<i aria-hidden="true"></i>
<span class="p-navgroup-linkText">{{ phrase('search') }}</span>
</a>
<div class="menu menu--structural menu--wide" data-menu="menu" aria-hidden="true">
<form action="{{ link('search/search') }}" method="post"
class="menu-content"
data-xf-init="quick-search">
<h3 class="menu-header">{{ phrase('search') }}</h3>
<!--[XF:search_menu:above_input]-->
<div class="menu-row">
<xf:if is="$searchConstraints">
<div class="inputGroup inputGroup--joined">
<xf:textbox name="keywords"
placeholder="{{ phrase('search...') }}"
aria-label="{{ phrase('search') }}"
data-menu-autofocus="true" />
<xf:select name="constraints"
class="js-quickSearch-constraint"
aria-label="{{ phrase('search_within') }}">
<xf:option value="">{{ phrase('everywhere') }}</xf:option>
<xf:foreach loop="$searchConstraints" key="$constraintName" value="$constraint">
<xf:option value="{$constraint|json}">{$constraintName}</xf:option>
</xf:foreach>
</xf:select>
</div>
<xf:else />
<xf:textbox name="keywords"
placeholder="{{ phrase('search...') }}"
aria-label="{{ phrase('search') }}"
data-menu-autofocus="true" />
</xf:if>
</div>
<!--[XF:search_menu:above_title_only]-->
<div class="menu-row">
<xf:checkbox standalone="true">
<xf:option name="c[title_only]">
<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') }}" aria-labelledby="ctrl_search_menu_by_member" />
</div>
</div>
<div class="menu-footer">
<span class="menu-footer-controls">
<xf:button type="submit" class="button--primary" icon="search" />
<xf:button href="{{ link('search') }}">{{ phrase('advanced_search...') }}</xf:button>
</span>
</div>
<xf:csrf />
</form>
</div>
</xf:if>
</div>
</div>
</div>
</nav>
</xf:set>
<xf:set var="$subNavHtml">
<xf:if is="$selectedNavChildren is not empty">
<div class="p-sectionLinks">
<div class="p-sectionLinks-inner hScroller" data-xf-init="h-scroller">
<div class="hScroller-scroll">
<ul class="p-sectionLinks-list">
<xf:foreach loop="$selectedNavChildren" key="$navId" value="$navEntry" i="$i">
<li>
<xf:macro name="nav_entry" arg-navId="{$navId}" arg-nav="{$navEntry}" arg-shortcut="alt+{$i}" />
</li>
</xf:foreach>
</ul>
</div>
</div>
</div>
<xf:elseif is="{$selectedNavEntry}" />
<div class="p-sectionLinks p-sectionLinks--empty"></div>
</xf:if>
</xf:set>
<xf:if is="property('publicNavSticky') == 'primary'">
<div class="p-navSticky p-navSticky--primary" data-xf-init="sticky-header">
{$navHtml|raw}
</div>
{$subNavHtml|raw}
<xf:elseif is="property('publicNavSticky') == 'all'" />
<div class="p-navSticky p-navSticky--all" data-xf-init="sticky-header">
{$navHtml|raw}
{$subNavHtml|raw}
</div>
<xf:else />
{$navHtml|raw}
{$subNavHtml|raw}
</xf:if>
<div class="offCanvasMenu offCanvasMenu--nav js-headerOffCanvasMenu" data-menu="menu" aria-hidden="true" data-ocm-builder="navigation">
<div class="offCanvasMenu-backdrop" data-menu-close="true"></div>
<div class="offCanvasMenu-content">
<div class="offCanvasMenu-header">
{{ phrase('menu') }}
<a class="offCanvasMenu-closer" data-menu-close="true" role="button" tabindex="0" aria-label="{{ phrase('close')|for_attr }}"></a>
</div>
<xf:if is="$xf.visitor.user_id">
<div class="p-offCanvasAccountLink">
<div class="offCanvasMenu-linkHolder">
<a href="{{ link('account') }}" class="offCanvasMenu-link">
<xf:avatar user="$xf.visitor" size="xxs" href="" />
{$xf.visitor.username}
</a>
</div>
<hr class="offCanvasMenu-separator" />
</div>
<xf:else />
<div class="p-offCanvasRegisterLink">
<div class="offCanvasMenu-linkHolder">
<a href="{{ link('login') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
{{ phrase('log_in') }}
</a>
</div>
<hr class="offCanvasMenu-separator" />
<xf:if is="$xf.options.registrationSetup.enabled">
<div class="offCanvasMenu-linkHolder">
<a href="{{ link('register') }}" class="offCanvasMenu-link" data-xf-click="overlay" data-menu-close="true">
{{ phrase('register') }}
</a>
</div>
<hr class="offCanvasMenu-separator" />
</xf:if>
</div>
</xf:if>
<div class="js-offCanvasNavTarget"></div>
<div 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>
<div class="p-body">
<div class="p-body-inner">
<!--XF:EXTRA_OUTPUT-->
<xf:if is="$notices.block">
<xf:macro template="notice_macros" name="notice_list" arg-type="block" arg-notices="{$notices.block}" />
</xf:if>
<xf:if is="$notices.scrolling">
<xf:macro template="notice_macros" name="notice_list" arg-type="scrolling" arg-notices="{$notices.scrolling}" />
</xf:if>
<xf:ad position="container_breadcrumb_top_above" />
<xf:macro name="breadcrumbs"
arg-breadcrumbs="{$breadcrumbs}"
arg-navTree="{$navTree}"
arg-selectedNavEntry="{$selectedNavEntry}" />
<xf:ad position="container_breadcrumb_top_below" />
<xf:macro template="browser_warning_macros" name="javascript" />
<xf:macro template="browser_warning_macros" name="browser" />
<xf:if is="$headerHtml is not empty">
<div class="p-body-header">
{$headerHtml|raw}
</div>
<xf:elseif contentcheck="true" />
<div class="p-body-header">
<xf:contentcheck>
<xf:if contentcheck="true">
<div class="p-title {{ $noH1 ? 'p-title--noH1' : '' }}">
<xf:contentcheck>
<xf:if is="!$noH1">
<h1 class="p-title-value">{$h1}</h1>
</xf:if>
<xf:if contentcheck="true">
<div class="p-title-pageAction"><xf:contentcheck><xf:pageaction /></xf:contentcheck></div>
</xf:if>
</xf:contentcheck>
</div>
</xf:if>
<xf:if is="$description is not empty">
<div class="p-description">{$description}</div>
</xf:if>
</xf:contentcheck>
</div>
</xf:if>
<div class="p-body-main {{ $sidebar ? 'p-body-main--withSidebar' : '' }} {{ $sideNav ? 'p-body-main--withSideNav' : '' }}">
<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:if is="$sideNav">
<div class="p-body-sideNav">
<div class="p-body-sideNavTrigger">
<xf:button class="button--link" data-xf-click="off-canvas" data-menu="#js-SideNavOcm">
{{ $sideNavTitle ?: phrase('navigation') }}
</xf:button>
</div>
<div class="p-body-sideNavInner" data-ocm-class="offCanvasMenu offCanvasMenu--blocks" id="js-SideNavOcm" data-ocm-builder="sideNav">
<div data-ocm-class="offCanvasMenu-backdrop" data-menu-close="true"></div>
<div data-ocm-class="offCanvasMenu-content">
<div class="p-body-sideNavContent">
<xf:ad position="container_sidenav_above" />
<xf:foreach loop="$sideNav" value="$sideNavHtml">
{$sideNavHtml}
</xf:foreach>
<xf:ad position="container_sidenav_below" />
</div>
</div>
</div>
</div>
</xf:if>
<div class="p-body-content">
<xf:ad position="container_content_above" />
<div class="p-body-pageContent">{$content|raw}</div>
<xf:ad position="container_content_below" />
</div>
<xf:if is="$sidebar">
<div class="p-body-sidebar">
<xf:ad position="container_sidebar_above" />
<xf:foreach loop="$sidebar" value="$sidebarHtml">
{$sidebarHtml}
</xf:foreach>
<xf:ad position="container_sidebar_below" />
</div>
</xf:if>
</div>
<xf:ad position="container_breadcrumb_bottom_above" />
<xf:macro name="breadcrumbs"
arg-breadcrumbs="{$breadcrumbs}"
arg-navTree="{$navTree}"
arg-selectedNavEntry="{$selectedNavEntry}"
arg-variant="bottom" />
<xf:ad position="container_breadcrumb_bottom_below" />
</div>
</div>
<footer class="p-footer" id="footer">
<div class="p-footer-inner">
<div class="p-footer-row">
<xf:if contentcheck="true">
<div class="p-footer-row-main">
<ul class="p-footer-linkList">
<xf:contentcheck>
<xf:if is="$xf.visitor.canChangeStyle()">
<li><a href="{{ link('misc/style') }}" data-xf-click="overlay"
data-xf-init="tooltip" title="{{ phrase('style_chooser')|for_attr }}" rel="nofollow">
<xf:fa icon="fa-paint-brush" /> {$xf.style.title}
</a></li>
</xf:if>
<xf:if is="$xf.visitor.canChangeLanguage()">
<li><a href="{{ link('misc/language') }}" data-xf-click="overlay"
data-xf-init="tooltip" title="{{ phrase('language_chooser')|for_attr }}" rel="nofollow">
<xf:fa icon="fa-globe" /> {$xf.language.title}</a></li>
</xf:if>
</xf:contentcheck>
</ul>
</div>
</xf:if>
<div class="p-footer-row-opposite">
<ul class="p-footer-linkList">
<xf:if is="$xf.visitor.canUseContactForm()">
<xf:if is="$xf.contactUrl">
<li><a href="{$xf.contactUrl}" data-xf-click="{{ ($xf.options.contactUrl.overlay OR $xf.options.contactUrl.type == 'default') ? 'overlay' : '' }}">{{ phrase('contact_us') }}</a></li>
</xf:if>
</xf:if>
<xf:if is="$xf.tosUrl">
<li><a href="{$xf.tosUrl}">{{ phrase('terms_and_rules') }}</a></li>
</xf:if>
<xf:if is="$xf.privacyPolicyUrl">
<li><a href="{$xf.privacyPolicyUrl}">{{ phrase('privacy_policy') }}</a></li>
</xf:if>
<xf:if is="$xf.helpPageCount">
<li><a href="{{ link('help') }}">{{ phrase('help') }}</a></li>
</xf:if>
<xf:if is="$xf.homePageUrl">
<li><a href="{$xf.homePageUrl}">{{ phrase('home') }}</a></li>
</xf:if>
<li><a href="{{ link('forums/index.rss', '-') }}" target="_blank" class="p-footer-rssLink" title="{{ phrase('rss')|for_attr }}"><span aria-hidden="true"><xf:fa icon="fa-rss" /><span class="u-srOnly">{{ phrase('rss') }}</span></span></a></li>
</ul>
</div>
</div>
<xf:if contentcheck="true">
<div class="p-footer-copyright">
<xf:contentcheck>
<xf:copyright />
{{ phrase('extra_copyright') }}
</xf:contentcheck>
</div>
</xf:if>
<xf:if contentcheck="true">
<div class="p-footer-debug">
<xf:contentcheck>
<xf:macro template="debug_macros" name="debug"
arg-controller="{$controller}"
arg-action="{$actionMethod}"
arg-template="{$template}" />
</xf:contentcheck>
</div>
</xf:if>
</div>
<center><b>Style Ripped By admin - Diendantruyen.Com</b></center>
</footer>
</div> <!-- closing p-pageWrapper -->
<div class="u-bottomFixer js-bottomFixTarget">
<xf:if is="$notices.floating">
<xf:macro template="notice_macros" name="notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
</xf:if>
<xf:if is="$notices.bottom_fixer">
<xf:macro template="notice_macros" name="notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
</xf:if>
</div>
<xf:if is="property('scrollJumpButtons')">
<div class="u-scrollButtons js-scrollButtons" data-trigger-type="{{ property('scrollJumpButtons') }}">
<xf:button href="#top" class="button--scroll" data-xf-click="scroll-to"><xf:fa icon="fa-arrow-up" /><span class="u-srOnly">{{ phrase('top') }}</span></xf:button>
<xf:if is="property('scrollJumpButtons') != 'up'">
<xf:button href="#footer" class="button--scroll" data-xf-click="scroll-to"><xf:fa icon="fa-arrow-down" /><span class="u-srOnly">{{ phrase('bottom') }}</span></xf:button>
</xf:if>
</div>
</xf:if>
<xf:macro template="helper_js_global" name="body" arg-app="public" arg-jsState="{$jsState}" />
<xf: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>
{$ldJsonHtml|raw}
<script src="https://cdn.jsdelivr.net/gh/lfj-io/files/js/AnimajiXen.min.js"></script>
<script src="//instant.page/5.1.0" type="module" integrity="sha384-by67kQnR+pyfy8yWP4kPO12fHKRLHZPfEsiSXR8u2IKcTdxD805MGUXBzVPnkLHw"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/quicklink/2.2.0/quicklink.umd.js"></script>
<script type="text/javascript" src="https://diendantruyen.com/arrowchat/external.php?type=djs" charset="utf-8"></script>
<script type="text/javascript" src="https://diendantruyen.com/arrowchat/external.php?type=js" charset="utf-8"></script>
</body>
</html>
<xf:macro name="nav_entry" arg-navId="!" arg-nav="!" arg-selected="{{ false }}" arg-shortcut="">
<div class="p-navEl {{ $selected ? 'is-selected' : '' }}" {{ $nav.children ? 'data-has-children="true"' : '' }}>
<xf:if is="$nav.href">
<xf:macro name="nav_link"
arg-navId="{$navId}"
arg-nav="{$nav}"
arg-class="p-navEl-link {{ $nav.children ? 'p-navEl-link--splitMenu' : '' }}"
arg-shortcut="{{ $nav.children ? false : $shortcut }}" />
<xf:if is="$nav.children"><a data-xf-key="{$shortcut}"
data-xf-click="menu"
data-menu-pos-ref="< .p-navEl"
class="p-navEl-splitTrigger"
role="button"
tabindex="0"
aria-label="{{ phrase('toggle_expanded')|for_attr }}"
aria-expanded="false"
aria-haspopup="true"></a></xf:if>
<xf:elseif is="$nav.children" /><a data-xf-key="{$shortcut}"
data-xf-click="menu"
data-menu-pos-ref="< .p-navEl"
class="p-navEl-linkHolder"
role="button"
tabindex="0"
aria-expanded="false"
aria-haspopup="true">
<xf:macro name="nav_link"
arg-navId="{$navId}"
arg-nav="{$nav}"
arg-class="p-navEl-link p-navEl-link--menuTrigger" />
</a>
<xf:else />
<xf:macro name="nav_link"
arg-navId="{$navId}"
arg-nav="{$nav}"
arg-class="p-navEl-link"
arg-shortcut="{$shortcut}" />
</xf:if>
<xf:if is="$nav.children">
<div class="menu menu--structural" data-menu="menu" aria-hidden="true">
<div class="menu-content">
<xf:foreach loop="$nav.children" key="$childNavId" value="$child">
<xf:macro name="nav_menu_entry"
arg-navId="{$childNavId}"
arg-nav="{$child}" />
</xf:foreach>
</div>
</div>
</xf:if>
</div>
</xf:macro>
<xf:macro name="nav_link" arg-navId="!" arg-nav="!" arg-class="" arg-titleHtml="" arg-shortcut="{{ false }}">
<xf:set var="$tag" value="{{ $nav.href ? 'a' : 'span' }}" />
<{$tag} {{ $nav.href ? 'href="' . $nav.href . '"' : '' }}
class="{{ trim($class) }} {$nav.attributes.class}"
{{ attributes($nav.attributes, ['class']) }}
{{ $shortcut !== false ? 'data-xf-key="' . $shortcut . '"' : '' }}
data-nav-id="{$navId}"><xf:if is="$nav.icon"><xf:fa icon="{$nav.icon}" /> </xf:if>{{ $titleHtml ? $titleHtml|raw : $nav.title }}<xf:if is="$nav.counter"> <span class="badge badge--highlighted">{$nav.counter|number}</span></xf:if></{$tag}>
</xf:macro>
<xf:macro name="nav_menu_entry" arg-navId="!" arg-nav="!" arg-depth="0">
<xf:macro name="nav_link"
arg-navId="{$navId}"
arg-nav="{$nav}"
arg-class="menu-linkRow u-indentDepth{$depth} js-offCanvasCopy" />
<xf:if is="$nav.children">
<xf:foreach loop="$nav.children" key="$childNavId" value="$child">
<xf:macro name="nav_menu_entry"
arg-navId="{$childNavId}"
arg-nav="{$child}"
arg-depth="{{ $depth + 1 }}" />
</xf:foreach>
<xf:if is="$depth == 0">
<hr class="menu-separator" />
</xf:if>
</xf:if>
</xf:macro>
<xf:macro name="breadcrumbs" arg-breadcrumbs="!" arg-navTree="!" arg-selectedNavEntry="{{ null }}" arg-variant="">
<xf:if contentcheck="true">
<ul class="p-breadcrumbs {{ $variant ? 'p-breadcrumbs--' . $variant : '' }}"
itemscope itemtype="https://schema.org/BreadcrumbList">
<xf:contentcheck>
<xf:set var="$position" value="{{ 0 }}" />
<xf:set var="$rootBreadcrumb" value="{$navTree.{$xf.options.rootBreadcrumb}}" />
<xf:if is="$rootBreadcrumb AND $rootBreadcrumb.href != $xf.uri 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:contentcheck>
</ul>
</xf:if>
</xf:macro>
<xf:macro name="crumb" arg-href="!" arg-value="!" arg-position="{{ 0 }}">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="{$href}" itemprop="item">
<span itemprop="name">{$value}</span>
</a>
<xf:if is="$position"><meta itemprop="position" content="{$position}" /></xf:if>
</li>
</xf:macro>]]></template>
<template title="af_forumstats_stats" type="public" addon_id="" version_id="1070070" version_string="1.7.0"><![CDATA[<xf:css src="af_forumstats_stats.less" />
<xf:css>
.forumStatsContainer .unit-replies .miniCol::after
{
content: "{{ phrase('af_forumstats_unit.replies') }}";
}
.forumStatsContainer .unit-views .miniCol::after
{
content: "{{ phrase('af_forumstats_unit.views') }}";
}
.forumStatsContainer .unit-likes .miniCol::after
{
content: "{{ phrase('af_forumstats_unit.likes') }}";
}
.forumStatsContainer .unit-posts .miniCol::after
{
content: "{{ phrase('af_forumstats_unit.posts') }}";
}
.forumStatsContainer .unit-threads .miniCol::after
{
content: "{{ phrase('af_forumstats_unit.threads') }}";
}
.forumStatsContainer .unit-score .miniCol::after
{
content: "{{ phrase('af_forumstats_unit.score') }}";
}
.forumStats-sidebar
{
width: {$xf.options.af_forumstats_left_width}%;
}
.forumStats-main
{
width: {$xf.options.af_forumstats_main_width}%;
}
</xf:css>
<xf:if is="$xf.options.af_forumstats_invert_columns">
<xf:css>
.forumStats-sidebar
{
-webkit-box-ordinal-group:3;
-ms-flex-order:2;
order:2;
}
.forumStats-main
{
-webkit-box-ordinal-group:2;
-ms-flex-order:1;
order:1;
}
</xf:css>
</xf:if>
<xf:js>
!function($, window, document)
{
"use strict";
XF.ForumStatsInserter = XF.extend(XF.Inserter, {
__backup: {
'onLoad': '_onLoad'
},
onLoad: function(data)
{
this._onLoad(data);
if (!data.html)
{
return;
}
},
});
XF.ForumStatsClick = XF.Event.newHandler({
eventNameSpace: 'ForumStatsClick',
options: $.extend(true, {}, XF._baseInserterOptions),
inserter: null,
init: function()
{
this.inserter = new XF.ForumStatsInserter(this.$target, this.options);
},
click: function(e)
{
this.inserter.onEvent(e);
}
});
$('.forumStats-left-menu').on('click', '[data-menu-closer]', function(e) {
var $this = $(this);
$this.addClass('is-selected').siblings().removeClass('is-selected');
$('#forumStats-left-menu-trigger').html($this.data('title'));
});
var refreshDelay = {$xf.options.af_forumstats_refreshTime};
var autoRefreshInterval;
$(function() {
if ($('.forumStatsContainer').hasClass('forumStats-shown'))
{
checkAutoRefresh();
}
});
var checkAutoRefresh = function()
{
var checked = $('.js-forumStats-autoRefresh').is(':checked');
if (checked)
{
resetAutoRefreshTimer();
}
else
{
clearAutoRefreshTimer();
}
XF.Cookie.set('forumstats_autorefresh', checked ? 1 : 0);
}
var clearAutoRefreshTimer = function()
{
if (autoRefreshInterval)
{
clearInterval(autoRefreshInterval);
}
}
var resetAutoRefreshTimer = function()
{
clearAutoRefreshTimer();
autoRefreshInterval = setInterval(refresh, refreshDelay * 1000);
}
var refresh = function()
{
var $tabs = $('.forumStats-main .tabs').first();
var handler = XF.Element.getHandler($tabs, 'tabs');
var activePaneIndex, $activePane;
$.each(handler.$panes, function(index, el) {
var $el = $(el);
if ($el.hasClass('is-active'))
{
activePaneIndex = index;
$activePane = $el;
return;
}
});
if (!$activePane) return; // should never be the case
$('.tooltip.tooltip--preview').hide();
$activePane.data('href', $activePane.data('href-initial'));
handler.activateTab(activePaneIndex);
};
$('.refreshNow').on('click', function(e) {
e.preventDefault();
checkAutoRefresh();
refresh();
});
$('.js-forumStats-autoRefresh').on('change', function() {
checkAutoRefresh();
});
$('.hideForumStats').on('click', function(e) {
e.preventDefault();
$('.forumStatsContainer').removeClass('forumStats-shown').addClass('forumStats-hidden');
clearAutoRefreshTimer();
XF.Cookie.set('forumstats_show', 0);
});
$('.showForumStats').on('click', function(e) {
e.preventDefault();
$('.forumStatsContainer').removeClass('forumStats-hidden').addClass('forumStats-shown');
checkAutoRefresh();
refresh();
XF.Cookie.set('forumstats_show', 1);
});
XF.Click.register('forum-stats', 'XF.ForumStatsClick');
}
(jQuery, window, document);
</xf:js>
<xf:set var="$showStats" value="{{ $xf.request.getCookie('forumstats_show') !== false ? $xf.request.getCookie('forumstats_show') : true }}" />
<div class="forumStatsContainer {{ $showStats ? 'forumStats-shown' : 'forumStats-hidden' }} {{ $xf.options.af_forumstats_mini_mode.enabled ? 'forumStats-mini' : '' }} {{ ($xf.options.af_forumstats_mini_mode.enabled AND $xf.options.af_forumstats_mini_mode.size) ? 'forumStats-mini-' . $xf.options.af_forumstats_mini_mode.size : '' }}">
<xf:if is="$forumStats.positions.left && $xf.options.af_forumstats_left_width > 0">
<xf:set var="$first" value="{$forumStats.first.left}" />
<div class="block forumStats-sidebar forumStats-shown">
<div class="block-container" style="">
<div class="tabs--standalone">
<a class="menuTrigger"
id="forumStats-left-menu-trigger"
data-xf-click="menu"
role="button"
tabindex="0"
aria-expanded="false"
aria-haspopup="true">{$first.title}</a>
<xf:set var="$counter" value="1" />
<div class="menu forumStats-left-menu" data-menu="menu" aria-hidden="true">
<div class="menu-content u-jsOnly">
<xf:foreach loop="$forumStats.positions.left" key="$stat_id" value="$forumStat">
<a class="menu-linkRow {{ $counter == 1 ? 'is-selected' : '' }}" href="{{ link('forum-stats/results', $forumStat) }}"
data-animate-replace="{{ $xf.options.af_forumstats_left_animate ? 'true' : 'false' }}"
data-xf-click="forum-stats"
rel="nofollow"
data-menu-closer="true"
data-replace=".js-forumStatsSidebar"
data-title="{$forumStat.title}">
{$forumStat.title}
</a>
<xf:set var="$counter" value="{{ $counter + 1 }}" />
</xf:foreach>
</div>
</div>
</div>
<xf:include template="af_forumstats_results">
<xf:set var="$forumStat" value="{$first}" />
</xf:include>
</div>
</div>
</xf:if>
<xf:if is="$forumStats.positions.main && $xf.options.af_forumstats_main_width > 0">
<xf:set var="$first" value="{$forumStats.first.main}" />
<div class="forumStats-main forumStats-shown">
<xf:set var="$counter" value="1" />
<div class="tabs tabs--standalone" data-xf-init="tabs" role="tablist" style="margin-bottom: 0;">
<div class="hScroller" data-xf-init="h-scroller">
<span class="hScroller-scroll">
<xf:foreach loop="$forumStats.positions.main" key="$stat_id" value="$forumStat">
<a class="tabs-tab forumStats-main-tab {{ $counter == 1 ? 'is-active' : '' }}" role="tab" tabindex="0" aria-controls="forumstats-{$stat_id}">{$forumStat.title}</a>
<xf:set var="$counter" value="{{ $counter + 1 }}" />
</xf:foreach>
</span>
</div>
</div>
<xf:set var="$counter" value="1" />
<ul class="tabPanes block-container">
<xf:foreach loop="$forumStats.positions.main" key="$stat_id" value="$forumStat">
<xf:if is="$counter == 1">
<li class="is-active" role="tabpanel" id="forumstats-{$stat_id}" data-href-initial="{{ link('forum-stats/results', $forumStat) }}">
<xf:include template="af_forumstats_results">
<xf:set var="$forumStat" value="{$first}" />
</xf:include>
</li>
<xf:else />
<li class="" role="tabpanel" id="forumstats-{$stat_id}" data-href="{{ link('forum-stats/results', $forumStat) }}" data-href-initial="{{ link('forum-stats/results', $forumStat) }}">
<div class="block-body block-row">{{ phrase('loading...') }}</div>
</li>
</xf:if>
<xf:set var="$counter" value="{{ $counter + 1 }}" />
</xf:foreach>
</ul>
</div>
</xf:if>
<div class="block-container forumStats-footer">
<div class="block-footer">
<div class="forumStats-shown">
<xf:checkbox standalone="true">
<xf:option value="1"
selected="{{ $xf.request.getCookie('forumstats_autorefresh') !== false ? $xf.request.getCookie('forumstats_autorefresh') : true }}"
class="js-forumStats-autoRefresh">
<xf:label>{{ phrase('af_forumstats_autoRefresh') }} ({{ phrase('af_forumstats_x_seconds', {'count': number($xf.options.af_forumstats_refreshTime)}) }})</xf:label>
</xf:option>
</xf:checkbox>
<a class="hideForumStats"><xf:fa icon="fa-minus" /> {{ phrase('af_forumstats_hideStats') }}</a>
<a class="refreshNow"><xf:fa icon="fa-sync" /> {{ phrase('af_forumstats_refreshNow') }}</a>
</div>
<div class="forumStats-hidden">
<a class="showForumStats"><xf:fa icon="fa-plus" /> {{ phrase('af_forumstats_showStats') }}</a>
</div>
</div>
</div>
</div>
<br/><br/>]]></template>
<template title="bb_code_tag_spoiler" type="public" addon_id="XF" version_id="2020870" version_string="2.2.8"><![CDATA[<xf:css src="bb_code.less" />
<div class="bbCodeSpoiler">
<xf:button class="bbCodeSpoiler-button{{ $title ? ' button--longText' : '' }}" data-xf-click="toggle"
data-xf-init="tooltip" title="{{ phrase('click_to_reveal_spoiler') }}">
<span>[Nhấn Vào Để Xem] <xf:if is="$title"><span class="bbCodeSpoiler-button-title">{$title}</span></xf:if></span>
</xf:button>
<div class="bbCodeSpoiler-content">
<div class="bbCodeBlock bbCodeBlock--spoiler">
<div class="bbCodeBlock-content"><p align="justify"><p style="font-size:28px">{$content}</p></div>
</div>
</div>
</div>]]></template>
<template title="extra.less" type="public" addon_id="XF" version_id="2020870" version_string="2.2.8"><![CDATA[{{ include('ts.less') }}
.message-body {
text-align: justify;
font-size: 18px;
line-height: 1.5;
}
.bbWrapper {
text-align: justify;
}
.gr {
display: grid;
text-align: justify;
}
.structItem.is-unread .structItem-title a:not(.labelLink):after {
content: "Mới";
display: inline-block;
background: @xf-uix_primaryColor;
padding: 1px 4px;
font-size: 11px;
color: #F60;
border-radius: 3px;
margin-left: 5px;
position: relative;
top: -2px;
}
.actionBar-action:before {
margin-right: 5px;
}
.actionBar-action--edit:before {.m-faContent("\f040");}
.actionBar-action--report:before {.m-faContent("\f071");}
.actionBar-action--ip:before {.m-faContent("\f002");}
.actionBar-action--delete:before {.m-faContent("\f00d");}
.actionBar-action--spam:before {.m-faContent("\f024");}
.actionBar-action--warn:before {.m-faContent("\f12a");}
.actionBar-action--history:before {.m-faContent("\f1da");}
@media (max-width: @xf-messageSingleColumnWidth)
{
.message:not(.message--forceColumns)
{
.message-name
{
text-align: center;
}
.message-userTitle,
.message-userBanner.userBanner
{
display: block;
text-align: center;
margin: 0;
}
}
}
/* [cXF] Navigation tab icons 2.2 */
.p-navEl a, .menu-linkRow, .offCanvasMenu--nav .js-offCanvasNavTarget a {
&:before {
.m-faBase();
display: inline-block;
margin-right: 5px;
}
&[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='xfrm']:before {.m-faContent(@fa-var-download);}
&[data-nav-id='xfmg']:before {.m-faContent(@fa-var-camera);}
/* Forums subnavigation */
&[data-nav-id='newPosts']:before {.m-faContent(@fa-var-search-plus);}
&[data-nav-id='findThreads']:before {.m-faContent(@fa-var-search);}
/* Find threads menu */
&[data-nav-id='yourThreads']:before {.m-faContent(@fa-var-search); margin-right: 15px;}
&[data-nav-id='contributedThreads']:before {.m-faContent(@fa-var-search); margin-right: 15px;}
&[data-nav-id='unansweredThreads']:before {.m-faContent(@fa-var-search); margin-right: 15px;}
/*****/
&[data-nav-id='searchForums']:before {.m-faContent(@fa-var-search);}
&[data-nav-id='watched']:before {.m-faContent(@fa-var-eye);}
/* Watched forums menu */
&[data-nav-id='watchedThreads']:before {.m-faContent(@fa-var-eye); margin-right: 15px;}
&[data-nav-id='watchedForums']:before {.m-faContent(@fa-var-eye); margin-right: 15px;}
/*****/
&[data-nav-id='markForumsRead']:before {.m-faContent(@fa-var-eye-slash);}
/* WhatsNew subnavigation */
&[data-nav-id='whatsNewPosts']:before {.m-faContent(@fa-var-pencil);}
&[data-nav-id='whatsNewProfilePosts']:before {.m-faContent(@fa-var-rss);}
&[data-nav-id='whatsNewNewsFeed']:before {.m-faContent(@fa-var-star);}
&[data-nav-id='xfmgWhatsNewNewMedia']:before {.m-faContent(@fa-var-images);}
&[data-nav-id='xfmgWhatsNewMediaComments']:before {.m-faContent(@fa-var-comments);}
&[data-nav-id='xfrmNewResources']:before {.m-faContent(@fa-var-download);}
&[data-nav-id='latestActivity']:before {.m-faContent(@fa-var-trophy);}
/* XFMG subnavigation */
&[data-nav-id='xfmgNewMedia']:before {.m-faContent(@fa-var-images);}
&[data-nav-id='xfmgNewComments']:before {.m-faContent(@fa-var-comments);}
&[data-nav-id='xfmgAddMedia']:before {.m-faContent(@fa-var-plus-square);}
&[data-nav-id='xfmgYourContent']:before {.m-faContent(@fa-var-user);}
/* Your content menu */
&[data-nav-id='xfmgYourMedia']:before {.m-faContent(@fa-var-user); margin-right: 15px;}
&[data-nav-id='xfmgYourAlbums']:before {.m-faContent(@fa-var-user); margin-right: 15px;}
/*****/
&[data-nav-id='xfmgWatchedContent']:before {.m-faContent(@fa-var-eye);}
/* Watched media menu */
&[data-nav-id='xfmgWatchedMedia']:before {.m-faContent(@fa-var-eye); margin-right: 15px;}
&[data-nav-id='xfmgWatchedAlbums']:before {.m-faContent(@fa-var-eye); margin-right: 15px;}
&[data-nav-id='xfmgWatchedCategories']:before {.m-faContent(@fa-var-eye); margin-right: 15px;}
/*****/
&[data-nav-id='xfmgSearchMedia']:before {.m-faContent(@fa-var-search);}
&[data-nav-id='xfmgMarkViewed']:before {.m-faContent(@fa-var-eye-slash);}
/* XFRM subnavigation */
&[data-nav-id='xfrmLatestReviews']:before {.m-faContent(@fa-var-balance-scale);}
&[data-nav-id='xfrmYourResources']:before {.m-faContent(@fa-var-user);}
&[data-nav-id='xfrmWatched']:before {.m-faContent(@fa-var-eye);}
/* Watched resources menu */
&[data-nav-id='xfrmWatchedResources']:before {.m-faContent(@fa-var-eye); margin-right: 15px;}
&[data-nav-id='xfrmWatchedCategories']:before {.m-faContent(@fa-var-eye); margin-right: 15px;}
/*****/
&[data-nav-id='xfrmSearchResources']:before {.m-faContent(@fa-var-search);}
/* Members subnavigation */
&[data-nav-id='registeredMembers']:before {.m-faContent(@fa-var-users);}
&[data-nav-id='currentVisitors']:before {.m-faContent(@fa-var-user-plus);}
&[data-nav-id='newProfilePosts']:before {.m-faContent(@fa-var-pencil);}
&[data-nav-id='searchProfilePosts']:before {.m-faContent(@fa-var-user-secret);}
}
/* [cXF] Navigation tab icons 2.2 */
.vuicode-label24{background-color:#16a765;color:#fff}.vuiit2019{display:inline-block;background:repeating-linear-gradient(-45deg, transparent, transparent 25%, #ff6347 0, #ff6347 50%),repeating-linear-gradient(45deg, transparent, transparent 25%, #1e90ff 0, #1e90ff 50%),#f5deb3;background-size:10em 10em;background-blend-mode:multiply;color:#fff;font-weight:700}.nguoichiase{display:inline-block;background:#008080;color:#fff;font-weight:700}.nguoiduatin{color:#fefefe;background:#3e5062;border-color:#2a3643;border-color:#3e5062}.nguoianhhuong{display:inline-block;background:#ffa500;color:#fff;font-weight:700}.thanhvienvip{display:inline-block;background:#3399ff;color:#fff;font-weight:700}.dieuhanh{display:inline-block;background:#ff4040;color:#fff;font-weight:700}.premium{display:inline-block;background:#8a2be2;color:#fff;font-weight:700}.nguoidieuhanh{display:inline-block;background:#ff1493;color:#fff;font-weight:700}.administrator{display:inline-block;background:#ff4040;color:#fff;font-weight:700}.userBanner{font-size:75%;font-weight:400;font-style:normal;padding:1px 6px;border:1px solid transparent;border-radius:2px;text-align:center;display:inline-block}.node-icon{width:50px}.node-icon i{background:transparent;font-size:30px;color:inherit}.node--unread .node-icon i{background:transparent}.node-icon i:before{padding:0}.iconx{background-image:url(https://i.imgur.com/qhi7VlY.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconx1{background-image:url(https://i.imgur.com/jtAYtfX.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconx2{background-image:url(https://i.imgur.com/yWUj7Ta.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconx3{background-image:url(https://i.imgur.com/SAHRSQU.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconx4{background-image:url(https://i.imgur.com/k788oNc.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconwp{background-image:url(https://i.imgur.com/qHeVSce.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconxf{background-image:url(https://i.imgur.com/ETaghwI.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconsc{background-image:url(https://i.imgur.com/QZuSx2z.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconbs{background-image:url(https://i.imgur.com/0kVLhmD.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconfb{background-image:url(https://i.imgur.com/NNc4ohw.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconytb{background-image:url(https://i.imgur.com/KgVSu4U.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconysh{background-image:url(https://i.imgur.com/Pt6yH8g.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconysv{background-image:url(https://i.imgur.com/k1fYgEf.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconmmo{background-image:url(https://i.imgur.com/Cq8PIlm.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.icongt{background-image:url(https://i.imgur.com/6gzKChk.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconvip{background-image:url(https://i.imgur.com/p1tUxP6.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconot{background-image:url(https://i.imgur.com/hFRk6VD.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.iconrac{background-image:url(https://i.imgur.com/7lSORrN.png);background-size:40px 40px;background-repeat:no-repeat;height:40px;width:40px}.tpm-controls{list-style:none;margin:0;padding:0;margin-right:auto;display:flex;align-items:center;flex-wrap:wrap;min-height:35px;max-width:100%}.tpm-controls>li{float:left;display:inline-block;margin-right:5px}.tpm-controls>li:last-child{margin-right:0}.button.tpm-goButton{font-size:1.4rem;line-height:1.5;min-width:0}
@media (max-width: @xf-messageSingleColumnWidth)
{
.message:not(.message--forceColumns)
{
.message-name
{
text-align: center;
}
.message-userTitle,
.message-userBanner.userBanner
{
display: block;
text-align: center;
margin: 0;
}
}
}
.menu--account {
.tabs-tab {
&:before {
.m-faBase();
padding-right:3px;
margin-left: -5px;
}
&[href$="/bookmarks"] {
.m-faBefore("\f02e");
}
&[href$="account/"] {
.m-faBefore("\f007");
}
}
.menu-linkRow {
padding: 6px 8px;
&:before {
.m-faBase();
padding-right: 3px;
font-size: 12px;
}
&[href*="/cap-nhat/news-feed"] {
.m-faBefore("\f143");
}
&[href*="/tim-kiem/member?user_id"] {
.m-faBefore("\f075");
}
&[href$="/account/reactions"] {
.m-faBefore("\f164");
}
&[href$="account/bookmarks"] {
.m-faBefore("\f02e");
}
&[href$="/account/account-details"] {
.m-faBefore("\f007");
}
&[href$="/account/security"] {
.m-faBefore("\f084");
}
&[href$="/account/privacy"] {
.m-faBefore("\f023");
}
&[href$="/account/preferences"] {
.m-faBefore("\f085");
}
&[href$="/account/signature"] {
.m-faBefore("\f040");
}
&[href$="/account/upgrades"] {
.m-faBefore("\f07a");
}
&[href*="/account/connected-accounts/"] {
.m-faBefore("\f0c0");
}
&[href$="/account/following"] {
.m-faBefore("\f234");
}
&[href$="/account/ignored"] {
.m-faBefore("\f235");
}
&[href^="/logout/"] {
.m-faBefore("\f084");
}
}
}
/* Couleur Icones toolbar */
.fr-toolbar .fr-command.fr-btn .fa-eraser { color: #A3CE71 }
.fr-toolbar .fr-command.fr-btn .fa-bold { color: #FB724B; }
.fr-toolbar .fr-command.fr-btn .fa-italic { color: #FCD872; }
.fr-toolbar .fr-command.fr-btn .fa-text-size { color: #EC7EBD; }
.fr-toolbar .fr-command.fr-btn .fa-palette { color: #F35369; }
.fr-toolbar .fr-command.fr-btn .fa-font { color: #F35349; }
.fr-toolbar .fr-command.fr-btn .fa-strikethrough { color: #e4e4c6; }
.fr-toolbar .fr-command.fr-btn .fa-underline { color: #07f7f7; }
.fr-toolbar .fr-command.fr-btn .fa-terminal { color: #1f1fea; }
.fr-toolbar .fr-command.fr-btn .fa-mask { color: #bb43ee; }
.fr-toolbar .fr-command.fr-btn .fa-list { color: #6BCEBB; }
.fr-toolbar .fr-command.fr-btn .fa-align-left { color: #8C72CB; }
.fr-toolbar .fr-command.fr-btn .fa-paragraph { color: #54C7EC; }
.fr-toolbar .fr-command.fr-btn .fa-link { color: #6BCEBB; }
.fr-toolbar .fr-command.fr-btn .fa-image { color: #A3CE71; }
.fr-toolbar .fr-command.fr-btn .fa-smile { color: #FB724B; }
.fr-toolbar .fr-command.fr-btn .fa-photo-video { color: #d61f22; }
.fr-toolbar .fr-command.fr-btn .fa-quote-right { color: #FBDF4B; }
.fr-toolbar .fr-command.fr-btn .fa-table { color: #B3FB4B; }
.fr-toolbar .fr-command.fr-btn .fa-minus { color: #4B7FFB; }
.fr-toolbar .fr-command.fr-btn .fa-eye-slash { color: #B12B2B; }
.fr-toolbar .fr-command.fr-btn .fa-code { color: #EE8B21; }
.fr-toolbar .fr-command.fr-btn .fa-minus-octagon { color: #EEEB21; }
.fr-toolbar .fr-command.fr-btn .fa-undo { color: #54A05C; }
.fr-toolbar .fr-command.fr-btn .fa-redo { color: #729CD3; }
.fr-toolbar .fr-command.fr-btn .fa-brackets { color: #D372C8; }
.fr-toolbar .fr-command.fr-btn .fa-save { color: #A67678; }
.fr-toolbar .fr-command.fr-btn .fa-file-search { color: #20B5D7; }
.fr-toolbar .fr-command.fr-btn .fa-ellipsis-v { color: #20B5D7; }
/* Fin Couleur Icones toolbar */
/*.p-nav-smallLogo img {
display: none;
}
*/
[data-template="thread_view"]{
.p-body-header .p-title .p-title-value {margin: 0 auto 5px auto; font-weight: @xf-fontWeightHeavy;}
.p-body-header .p-description {display:flex;justify-content:center;align-items: center;.label{margin-right:5px; font-size: @xf-fontSizeSmaller;}}
@media (max-width: @xf-responsiveWide) {.p-title-value{font-size: @xf-fontSizeLarger;}}
}
.shareButtons-button.shareButtons-button--facebook {
background-color: #3B5998;
}
.shareButtons-button.shareButtons-button--twitter {
background-color: #1DA1F3;
}
.shareButtons-button.shareButtons-button--gplus {
background-color: #dd4b39;
}
.shareButtons-button.shareButtons-button--reddit {
background-color: #FF4500;
}
.shareButtons-button.shareButtons-button--pinterest {
background-color: #bd081c;
}
.shareButtons-button.shareButtons-button--tumblr {
background-color: #35465c;
}
.shareButtons-button.shareButtons-button--whatsApp {
background-color: #25D366;
}
.shareButtons-button.shareButtons-button--email {
background-color: #1289ff;
}
.shareButtons-button.shareButtons-button--link {
background-color: #787878;
}
.shareButtons--iconic .shareButtons-button:hover {
opacity: .5;
}
.shareButtons--iconic .shareButtons-button {
opacity: 1;
color: #fff;
margin: 0 3px 3px;
}
:root {
--input-border-heavy: #193641;
--input-border-light: #0e1e24;
}
.p-pageWrapper {
position: relative;
display: flex;
flex-direction: column;
min-height: 100vh;
background: #000 url(styles/thiensau/ts_bg.jpg);
background-size: 100%;
background-attachment: fixed;
background-repeat: no-repeat;
}
.p-header-logo.p-header-logo--image img {
max-height: unset;
}
.p-header-logo.p-header-logo--image img {
vertical-align: bottom;
max-width: 100%;
max-height: 200px;
}
.block-header {
padding: 6px 10px;
margin: 0;
font-weight: 400;
text-decoration: none;
font-size: 20px;
border-bottom: 1px solid #000;
}
.p-body {
display: flex;
align-items: stretch;
flex-grow: 1;
min-height: 1px;
}
.message-cell.message-cell--user, .message-cell.message-cell--action {
position: relative;
background: #0b181d;
border-right: 1px solid #12272f;
min-width: 0;
}
.message-userArrow:after {
position: absolute;
top: -9px;
right: -10px;
content: "";
border: 9px solid transparent;
border-left-width: 0;
border-right-color: #060d10;
}
.select2 .select2-selection ul .select2-search .select2-search__field {
color: #fff !important;
}
.p-staffBar a {
background: #002c37;
border-radius: 3px;
}
.p-staffBar a:hover {
background: #000;
}
.message.message--article {
padding-top: 0px !important;
}
.message.message--article .message-attribution.message-attribution--split {
position: unset;
top: unset;
left: unset;
width: 100%;
}
.message.message--simple {
margin-top: 0px !important;
margin-bottom: 0px !important;
padding-top: 0px !important;
}
.message.message--conversationMessage .message-attribution {
width: 100% !important;
margin-top: 0;
}
.message.message--conversationMessage {
padding-top: 0px !important;
}
.message-attribution.message-attribution--plain {
margin-top: 0px;
width: 100%;
}
.postbithead {
background: #0e0608 url(https://diendantruyen.com/styles/thiensau/ts_catbg.png) repeat-x !important;
}
.message-inner {
background: #060d10;
}
.message-attribution.message-attribution--split {
position: absolute;
top: 0px;
left: 50px;
width: 93%;
}
.userBanner.userBanner--staff,
.userBanner.userBanner--primary {
color: #d06b0f;
background: #132f3c;
border-color: #2d5054;
}
.block--messages .block-outer {
padding-bottom: 36px;
}
.block--messages .message + .message,
.block--messages .block-row + .message,
.block--messages .message + .block-row,
.block--messages .block-row + .block-row {
margin-top: 36px;
}
.template-xfrm_resource_updates
.message-attribution.message-attribution--split {
position: relative !important;
top: auto !important;
left: auto !important;
width: 100% !important;
}
.privateControls2.message,
.message {
padding-top: 41px !important;
position: relative;
}
.template-thread_view .block--messages .js-replyNewMessageContainer .message {
padding-top: 41px;
}
.block--messages .js-replyNewMessageContainer .message {
padding-top: 0px;
}
.message-attribution {
width: 85%;
margin: 0 auto;
margin-top: 13px;
border-bottom: 0px;
z-index: 4;
position: relative;
}
.message-attribution .u-dt {
color: #fff !important;
}
.message--quickReply {
padding-top: 0px !important;
}
.navL {
position: absolute;
left: -170px;
top: -80px;
background: url(https://diendantruyen.com/styles/thiensau/ts_navL.png) no-repeat;
height: 162px;
width: 227px;
display: block;
}
.navR {
position: absolute;
right: -170px;
top: -80px;
background: url(https://diendantruyen.com/styles/thiensau/ts_navR.png) no-repeat;
height: 162px;
width: 227px;
display: block;
}
.catR {
position: absolute;
right: -46px;
top: -43px;
background: url(https://diendantruyen.com/styles/thiensau/ts_catR.png) no-repeat;
height: 83px;
width: 154px;
display: block;
}
.catL {
position: absolute;
left: -55px;
top: -43px;
background: url(https://diendantruyen.com/styles/thiensau/ts_catL.png) no-repeat;
height: 83px;
width: 154px;
display: block;
}
.p-nav-inner {
background: url(https://diendantruyen.com/styles/thiensau/ts_navbg.png) repeat-x;
height: 41px;
}
.p-sectionLinks-inner {
background: url(https://diendantruyen.com/styles/thiensau/ts_subnavbg.png) repeat-x;
height: 41px;
padding-left: 50px;
padding-right: 50px;
}
.p-nav-inner {
position: relative;
}
.p-header-logo {
margin-left: auto;
}
.p-header-content {
padding: 0px 0;
}
.p-nav-opposite {
margin-right: 50px;
}
.p-nav-scroller {
margin-left: 5px;
}
.p-header-logo.p-header-logo--image img {
max-height: unset;
}
.p-body-main--withSidebar .p-body-content {
padding-right: 48px;
}
.p-header {
margin-top: 75px;
}
.p-navgroup {
background: transparent;
}
[data-template="forum_list"] .p-body-header {
margin-bottom: 40px;
}
.block.block--category {
margin-bottom: 40px;
}
.p-sectionLinks-inner,
.p-nav-inner {
max-width: 70%;
}
.p-navSticky.is-sticky .p-nav {
overflow: hidden;
}
.node--read .node-icon i::before,
.node--unread .node-icon i::before {
display: none;
}
.node-icon i {
margin: 15px 0 10px 0px;
width: 27px;
height: 32px;
}
.node--unread .node-icon i {
background-image: url(https://diendantruyen.com/styles/thiensau/ts_sprite.png);
background-repeat: no-repeat;
background-position: 0 0;
}
.node-icon i {
background-image: url(https://diendantruyen.com/styles/thiensau/ts_sprite.png);
background-repeat: no-repeat;
background-position: -27px 0;
}
.node--page .node-icon i,
.node--link .node-icon i {
font-size: 10px;
}
.node--page .node-icon i:before,
.node--link .node-icon i:before {
position: relative;
top: 10px;
left: 0px;
text-shadow: 0px 0px 0px transparent;
color: #fff;
}
.node-main {
padding: 30px 10px;
}
.offCanvasMenu {
z-index: 999;
}
.offCanvasMenu--nav .offCanvasMenu-content {
background: #000c0b;
}
@media (max-width: 1200px) {
.node-extra {
display: block;
width: auto;
padding: 30px 0;
}
.node-statsMeta {
display: inline;
}
.node-stats {
display: none;
}
}
@media (max-width: 1024px) {
.p-sectionLinks-inner,
.p-nav-inner {
max-width: 50%;
}
.p-nav .p-nav-menuTrigger {
display: block;
padding: 0px 8px;
margin-left: 50px;
}
.p-nav-scroller {
display: none;
}
}
@media (max-width: 900px) {
.p-body-main--withSidebar .p-body-content {
padding-right: 0;
}
.p-body-inner {
max-width: 88%;
}
}
@media (max-width: 650px) {
.p-nav-inner {
padding-left: 15px !important;
}
.message-attribution.message-attribution--split {
left: 10px;
}
.p-nav .p-nav-menuTrigger {
margin-left: 0px;
}
.has-js .p-nav-smallLogo {
display: none;
}
.has-js .p-header {
display: block;
}
.p-header-logo {
max-width: unset;
z-index: 999;
}
.p-staffBar-inner {
height: 30px;
}
.p-header {
margin-top: 15px;
}
.p-body-inner {
max-width: 90%;
}
.node-main {
padding: 10px 10px;
}
.block-header {
text-align: left;
}
.p-header-inner {
padding-left: 0;
padding-right: 0;
max-width: 100%;
}
.p-sectionLinks-inner,
.p-nav-inner {
max-width: 100%;
}
.p-body-main--withSidebar .p-body-content {
padding-right: 0;
}
.catL,
.catR,
.navL,
.navR,
.headerL,
.headerR {
display: none;
}
}
.pageNav-page {
display: table-cell;
background: linear-gradient(
0deg, #0f1e25, #081115);
color: #d06b0f;
border-width: 1px;
border-style: solid;
border-top-color: #0e1e24;
border-right-color: #12272f;
border-bottom-color: #193641;
border-left-color: #12272f;
font-size: 13px;
white-space: nowrap;
}
.pageNav-jump {
display: inline-block;
background: linear-gradient(
0deg, #0f1e25, #081115);
color: #d06b0f;
border-width: 1px;
border-style: solid;
border-top-color: #0e1e24;
border-right-color: #12272f;
border-bottom-color: #193641;
border-left-color: #12272f;
font-size: 13px;
white-space: nowrap;
border-radius: 2px;
padding: 5px 8px;
}
.pageNav-page>a {
display: block;
padding: 5px 8px;
text-decoration: none;
color: inherit;
}
.pageNav-page.pageNav-page--current {
background: #d06b0f;
color: #fcfaf9;
border: 1px solid #d06b0f;
cursor: pointer;
}
.tagItem {
display: inline-block;
max-width: 100%;
padding: 0 6px 1px;
margin: 0 0 2px;
border-radius: 4px;
font-size: 12px;
color: #ee6504;
background: #f5f5f5;
border: 1px solid #ec5006;
}
.p-footer-copyright {
margin-top: 20px;
text-align: center;
font-size: 0px;
}
.dataList-cell.dataList-cell--alt, .dataList-cell.dataList-cell--action {
background: #193641;
}
.dataList-cell.dataList-cell--action a, .dataList-cell.dataList-cell--link a, .dataList-cell.dataList-cell--action label, .dataList-cell.dataList-cell--link label, .dataList-cell.dataList-cell--action .dataList-blockLink, .dataList-cell.dataList-cell--link .dataList-blockLink {
background: #193641;
}
/*giao dien bai viet vbb*/
.block--messages .message {
&.is-mod-selected {border-color: transparent; border-bottom-color: @xf-inlineModHighlightColor;}
}
.blockMessage {box-shadow: none;
&.blockMessage--none {box-shadow: none;}
}
.block--messages {.block-container {box-shadow: none;}}
.message-inner {display: block;}
.message-cell {
.m-clearFix();
&.message-cell--user {
width: auto;
border-right: none;
border-bottom: @xf-messageUserBlock--border-width solid @xf-messageUserBlock--border-color;
}
&.message-cell--main {padding-left: @xf-messagePadding;}
&.message-cell--extra {
width: auto;
border-left: none;
}
.message--quickReply {}
}
.message--quickReply .message-cell--user {display:none;}
.message-userArrow {
top: auto;
right: auto;
bottom: -1px;
left: ((@avatar-s));
content: "";
border: none;
.m-triangleLeft(@xf-contentBg, @xf-messagePadding - 1px);
.m-triangleUp(xf-default(@xf-messageUserBlock--border-color, transparent), @xf-messagePadding);
&:after {
top: auto;
right: auto;
border-bottom-color: 060d10;
left: -(@xf-messagePadding - 1px);
bottom: -@xf-messagePadding;
border: none;
.m-triangleUp(@xf-contentBg, @xf-messagePadding - 1px);
}
}
.message-avatar {margin-bottom: 0; .avatar {& + .message-avatar-online {left: auto; right: 0;}}}
.message-name {font-size: @xf-fontSizeLarge; text-align: left;}
.message-user {display: flex;}
.message-userTitle {display: inline-block; text-align: left;}
.message-userBanner.userBanner {
width: -moz-fit-content;
width: fit-content;
text-align: left;
margin: 3px 0 0 0;
}
.message-userDetails {
flex: 1;
min-width: 0;
padding-left: @xf-messagePadding;
display: flex;
flex-flow: column;
justify-content: center;
}
.message--deleted {display: block;}
@media (max-width: @xf-messageSingleColumnWidth) {.message:not(.message--forceColumns) {.message-name {font-size: inherit;}}}
.message-userArrow:after {
top: auto;
right: auto;
border-bottom-color: 060d10;
left: -9px;
bottom: -10px;
border: none;
border: 9px solid transparent;
border-top-width: 0;
border-bottom-color: #060d10;
}]]></template>
<template title="member.less" type="public" addon_id="XF" version_id="2020870" version_string="2.2.8"><![CDATA[@_memberHeader-padding: @xf-paddingLarge;
@_memberHeader-avatarSize: @avatar-l;
@_memberHeader-avatarSizeShrunk: @avatar-m;
.memberHeader
{
.m-clearFix();
}
.memberHeader-main
{
display: flex;
flex-direction: column;
justify-content: flex-end;
.xf-memberHeader();
.memberHeader--withBanner &
{
min-height: 450px;
}
}
.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%);
}
}
}
// See XF-197998
@_member-textStroke: 0 #000;
.member-textStroke()
{
text-shadow:
-1px -1px @_member-textStroke,
1px -1px @_member-textStroke,
-1px 1px @_member-textStroke,
1px 1px @_member-textStroke;
}
.memberHeader--withBanner
{
.username
{
.member-textStroke();
}
.memberHeader-nameChangeIndicator .fa-history
{
.member-textStroke();
}
}
.memberHeader-blurbContainer
{
.memberHeader--withBanner &
{
.xf-memberHeaderBlurbContainerBanner();
.memberHeader-blurb
{
&:first-child
{
margin-top: 0;
}
.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;
.pairs.pairs--row
{
min-width: 100px;
}
}
@media (max-width: @xf-responsiveMedium)
{
.memberHeader-avatar .avatar
{
.m-avatarSize(@_memberHeader-avatarSizeShrunk);
}
.memberHeader-content
{
padding-left: ((@_memberHeader-padding) * 2 + (@_memberHeader-avatarSizeShrunk));
}
}
@media (max-width: @xf-responsiveNarrow)
{
.memberHeader-avatar
{
display: block;
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;
}
@media (min-width: (@xf-responsiveMedium + 1))
{
.memberHeader
{
min-height: (@avatar-l + 20);
}
}]]></template>
<template title="node_list.less" type="public" addon_id="XF" version_id="2020870" version_string="2.2.8"><![CDATA[/********* public:node_list.less ********/
.node + .node {
border-top: 1px solid #0a1519;
}
.node-body {
display: table;
table-layout: fixed;
width: 100%;
}
.node-icon {
display: table-cell;
vertical-align: middle;
text-align: center;
width: 46px;
padding: 10px 0 10px 10px;
}
.node-icon i {
display: block;
line-height: 1.125;
font-size: 32px;
}
.node-icon i:before {
font-family: "Font Awesome 5 Pro";
font-size: inherit;
font-style: normal;
font-weight: 400;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #49747c;
}
.node--unread .node-icon i:before {
opacity: 1;
color: #a5580b;
}
.node--category .node-icon i:before {
content: "\f086";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.node--search .node-icon i::before {
content: "\f002";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.node--page .node-icon i:before {
content: "\f15c";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.node--link .node-icon i:before {
content: "\f0c1";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.node-main {
display: table-cell;
vertical-align: middle;
padding: 10px;
}
.node-stats {
display: table-cell;
width: 140px;
vertical-align: middle;
text-align: center;
padding: 10px 0;
}
.node-stats > dl.pairs.pairs--rows {
width: 50%;
float: left;
margin: 0;
padding: 0 3px;
}
.node-stats > dl.pairs.pairs--rows:first-child {
padding-left: 0;
}
.node-stats > dl.pairs.pairs--rows:last-child {
padding-right: 0;
}
.node-stats.node-stats--single {
width: 100px;
}
.node-stats.node-stats--single > dl.pairs.pairs--rows {
width: 100%;
float: none;
}
.node-stats.node-stats--triple {
width: 240px;
}
.node-stats.node-stats--triple > dl.pairs.pairs--rows {
width: 33.333%;
}
@media (max-width: 1000px) {
.node-stats {
display: none;
}
}
.node-extra {
display: table-cell;
vertical-align: middle;
width: 280px;
padding: 10px;
font-size: 13px;
}
.node-extra-row {
overflow: hidden;
white-space: nowrap;
word-wrap: normal;
text-overflow: ellipsis;
color: #227c88;
}
.node-extra-icon {
padding-right: 10px;
float: left;
}
.node-extra-icon .avatar {
width: 36px;
height: 36px;
font-size: 22px;
}
.node-title {
margin: 0;
padding: 0;
font-size: 17px;
font-weight: 400;
}
.node--unread .node-title {
font-weight: 700;
}
.node-description {
font-size: 13px;
color: #5c99a5;
}
.has-js:not(.has-touchevents) .node-description.node-description--tooltip {
display: none;
}
.node-meta {
font-size: 13px;
}
.node-statsMeta {
display: none;
}
@media (max-width: 1000px) {
.node-statsMeta {
display: inline;
}
}
.node-bonus {
font-size: 13px;
color: #227c88;
text-align: right;
}
.node-subNodesFlat {
font-size: 13px;
margin-top: 0.3em;
}
.node-subNodesFlat .node-subNodesLabel {
display: none;
}
.node-subNodeMenu {
display: inline;
}
.node-subNodeMenu .menuTrigger {
color: #227c88;
}
@media (max-width: 650px) {
.node-main {
display: block;
width: auto;
}
.node--link .node-main,
.node--page .node-main {
display: table-cell;
}
.node-extra {
display: block;
width: auto;
margin-top: -4px;
padding-top: 0;
}
.node-extra-row {
display: inline-block;
vertical-align: top;
max-width: 100%;
}
.node-extra-icon {
display: none;
}
.node-description,
.node-stats,
.node-subNodesFlat {
display: none;
}
}
@media (max-width: 480px) {
.node-subNodeMenu {
display: none;
}
}
.subNodeLink:before,
.subNodeLink .subNodeLink-icon {
display: inline-block;
width: 1.28571429em;
margin-right: 0.3em;
text-decoration: none;
text-align: center;
color: #49747c;
}
.subNodeLink:before {
font-family: "Font Awesome 5 Pro";
font-size: inherit;
font-style: normal;
font-weight: 400;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.subNodeLink:hover:before:before,
.subNodeLink:hover:before .subNodeLink-icon {
text-decoration: none;
}
.subNodeLink.subNodeLink--unread {
font-weight: 700;
}
.subNodeLink.subNodeLink--unread:before,
.subNodeLink.subNodeLink--unread .subNodeLink-icon {
color: #a5580b;
}
.subNodeLink.subNodeLink--category:before {
content: "\f086";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.subNodeLink.subNodeLink--page:before {
content: "\f15c";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.subNodeLink.subNodeLink--link:before {
content: "\f0c1";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.subNodeLink.subNodeLink--search::before {
content: "\f002";
width: 1.28571429em;
display: inline-block;
text-align: center;
}
.node-subNodeFlatList {
list-style: none;
margin: 0;
padding: 0;
}
.node-subNodeFlatList:before,
.node-subNodeFlatList:after {
content: " ";
display: table;
}
.node-subNodeFlatList:after {
clear: both;
}
.node-subNodeFlatList > li {
display: inline-block;
margin-right: 1em;
}
.node-subNodeFlatList > li:last-child {
margin-right: 0;
}
.node-subNodeFlatList ol,
.node-subNodeFlatList ul,
.node-subNodeFlatList .node-subNodes {
display: none;
}
.subNodeMenu {
list-style: none;
margin: 0;
padding: 0;
}
.subNodeMenu ol,
.subNodeMenu ul {
list-style: none;
margin: 0;
padding: 0;
}
.subNodeMenu .subNodeLink {
display: block;
padding: 6px 10px;
text-decoration: none;
cursor: pointer;
}
.subNodeMenu .subNodeLink:hover {
text-decoration: none;
background: #0f1e25;
}
.subNodeMenu li li .subNodeLink {
padding-left: 1.5em;
}
.subNodeMenu li li li .subNodeLink {
padding-left: 3em;
}
.subNodeMenu li li li li .subNodeLink {
padding-left: 4.5em;
}
.subNodeMenu li li li li li .subNodeLink {
padding-left: 6em;
}
.subNodeMenu li li li li li li .subNodeLink {
padding-left: 7.5em;
}]]></template>
<template title="node_list_category" type="public" addon_id="XF" version_id="2020870" version_string="2.2.8"><![CDATA[<xf:macro name="depth1" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
<div class="block block--category block--category{$node.node_id}">
<span class="u-anchorTarget" id="{$node.Data.getCategoryAnchor()}"></span>
<div class="block-container">
<h2 class="block-header"><span class="catL"></span><span class="catR"></span>
<a href="{{ link('categories', $node) }}">{$node.title}</a>
<xf:if is="{$node.description}"><span class="block-desc">{$node.description|raw}</span></xf:if>
</h2>
<div class="block-body">
<xf:macro template="forum_list" name="node_list"
arg-children="{$children}"
arg-extras="{$childExtras}"
arg-depth="{{ $depth + 1 }}" />
</div>
</div>
</div>
</xf:macro>
<xf:macro name="depth2" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
<div class="node node--id{$node.node_id} node--depth{$depth} node--category {{ $extras.hasNew ? 'node--unread' : 'node--read' }}">
<div class="node-body">
<span class="node-icon" aria-hidden="true"><i></i></span>
<div class="node-main js-nodeMain">
<xf:set var="$descriptionDisplay" value="{{ property('nodeListDescriptionDisplay') }}" />
<h3 class="node-title">
<a href="{{ link('categories', $node) }}" data-xf-init="{{ $descriptionDisplay == 'tooltip' ? 'element-tooltip' : '' }}" data-shortcut="node-description">{$node.title}</a>
</h3>
<xf:if is="$descriptionDisplay != 'none' && $node.description">
<div class="node-description {{ $descriptionDisplay == 'tooltip' ? 'node-description--tooltip js-nodeDescTooltip' : '' }}">{$node.description|raw}</div>
</xf:if>
<div class="node-meta">
<xf:if is="!{$extras.privateInfo}">
<div class="node-statsMeta">
<dl class="pairs pairs--inline">
<dt>{{ phrase('threads') }}</dt>
<dd>{$extras.discussion_count|number_short(1)}</dd>
</dl>
<dl class="pairs pairs--inline">
<dt>{{ phrase('messages') }}</dt>
<dd>{$extras.message_count|number_short(1)}</dd>
</dl>
</div>
</xf:if>
<xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'menu'">
<xf:macro template="forum_list" name="sub_nodes_menu"
arg-children="{$children}"
arg-childExtras="{$childExtras}"
arg-depth="{{ $depth + 1 }}" />
</xf:if>
</div>
<xf:if is="$depth == 2 AND property('nodeListSubDisplay') == 'flat'">
<xf:macro template="forum_list" name="sub_nodes_flat"
arg-children="{$children}"
arg-childExtras="{$childExtras}"
arg-depth="{{ $depth + 1 }}" />
</xf:if>
</div>
<xf:if is="!{$extras.privateInfo}">
<div class="node-stats">
<dl class="pairs pairs--rows">
<dt>{{ phrase('threads') }}</dt>
<dd>{$extras.discussion_count|number_short(1)}</dd>
</dl>
<dl class="pairs pairs--rows">
<dt>{{ phrase('messages') }}</dt>
<dd>{$extras.message_count|number_short(1)}</dd>
</dl>
</div>
</xf:if>
<div class="node-extra">
<xf:if is="{$extras.privateInfo}">
<span class="node-extra-placeholder">{{ phrase('private') }}</span>
<xf:elseif is="{$extras.LastThread}" />
<div class="node-extra-icon">
<xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
<xf:avatar user="{{ null }}" size="xs" />
<xf:else />
<xf:avatar user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" size="xs" />
</xf:if>
</div>
<div class="node-extra-row">
<xf:if is="$extras.LastThread.isUnread()">
<a href="{{ link('threads/unread', $extras.LastThread) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a>
<xf:else />
<a href="{{ link('threads/post', $extras.LastThread, {'post_id': $extras.last_post_id}) }}" class="node-extra-title" title="{$extras.LastThread.title}">{{ prefix('thread', $extras.LastThread) }}{$extras.LastThread.title}</a>
</xf:if>
</div>
<div class="node-extra-row">
<ul class="listInline listInline--bullet">
<li class="node-extra-date"><xf:date time="{$extras.last_post_date}" /></li>
<xf:if is="$xf.visitor.isIgnoring($extras.last_post_user_id)">
<li class="node-extra-user">{{ phrase('ignored_member') }}</li>
<xf:else />
<li class="node-extra-user"><xf:username user="{$extras.LastPostUser}" defaultname="{$extras.last_post_username}" /></li>
</xf:if>
</ul>
</div>
<xf:else />
<span class="node-extra-placeholder">{{ phrase('none') }}</span>
</xf:if>
</div>
</div>
</div>
</xf:macro>
<xf:macro name="depthN" arg-node="!" arg-extras="!" arg-children="!" arg-childExtras="!" arg-depth="1">
<li>
<a href="{{ link('categories', $node) }}" class="subNodeLink subNodeLink--category {{ $extras.hasNew ? 'subNodeLink--unread' : '' }}">{$node.title}</a>
<xf:macro template="forum_list" name="sub_node_list"
arg-children="{$children}"
arg-childExtras="{$childExtras}"
arg-depth="{{ $depth + 1 }}" />
</li>
</xf:macro>]]></template>
<template title="ts.less" type="public" addon_id="" version_id="0" version_string=""><![CDATA[:root {
--input-border-heavy: #193641;
--input-border-light: #0e1e24;
}
.p-pageWrapper {
position: relative;
display: flex;
flex-direction: column;
min-height: 100vh;
background: #000 url(styles/thiensau/ts_bg.jpg);
background-size: 100%;
background-attachment: fixed;
background-repeat: no-repeat;
}
.p-header-logo.p-header-logo--image img {
max-height: unset;
}
.p-header-logo.p-header-logo--image img {
vertical-align: bottom;
max-width: 100%;
max-height: 200px;
}
.block-header {
padding: 6px 10px;
margin: 0;
font-weight: 400;
text-decoration: none;
font-size: 20px;
border-bottom: 1px solid #000;
}
.p-body {
display: flex;
align-items: stretch;
flex-grow: 1;
min-height: 1px;
}
.message-cell.message-cell--user, .message-cell.message-cell--action {
position: relative;
background: #0b181d;
border-right: 1px solid #12272f;
min-width: 0;
}
.message-userArrow:after {
position: absolute;
top: -9px;
right: -10px;
content: "";
border: 9px solid transparent;
border-left-width: 0;
border-right-color: #060d10;
}
.select2 .select2-selection ul .select2-search .select2-search__field {
color: #fff !important;
}
.p-staffBar a {
background: #002c37;
border-radius: 3px;
}
.p-staffBar a:hover {
background: #000;
}
.message.message--article {
padding-top: 0px !important;
}
.message.message--article .message-attribution.message-attribution--split {
position: unset;
top: unset;
left: unset;
width: 100%;
}
.message.message--simple {
margin-top: 0px !important;
margin-bottom: 0px !important;
padding-top: 0px !important;
}
.message.message--conversationMessage .message-attribution {
width: 100% !important;
margin-top: 0;
}
.message.message--conversationMessage {
padding-top: 0px !important;
}
.message-attribution.message-attribution--plain {
margin-top: 0px;
width: 100%;
}
.postbithead {
background: #0e0608 url(https://diendantruyen.com/styles/thiensau/ts_catbg.png) repeat-x !important;
}
.message-inner {
background: #060d10;
}
.message-attribution.message-attribution--split {
position: absolute;
top: 0px;
left: 50px;
width: 93%;
}
.userBanner.userBanner--staff,
.userBanner.userBanner--primary {
color: #d06b0f;
background: #132f3c;
border-color: #2d5054;
}
.block--messages .block-outer {
padding-bottom: 36px;
}
.block--messages .message + .message,
.block--messages .block-row + .message,
.block--messages .message + .block-row,
.block--messages .block-row + .block-row {
margin-top: 36px;
}
.template-xfrm_resource_updates
.message-attribution.message-attribution--split {
position: relative !important;
top: auto !important;
left: auto !important;
width: 100% !important;
}
.privateControls2.message,
.message {
padding-top: 41px !important;
position: relative;
}
.template-thread_view .block--messages .js-replyNewMessageContainer .message {
padding-top: 41px;
}
.block--messages .js-replyNewMessageContainer .message {
padding-top: 0px;
}
.message-attribution {
width: 85%;
margin: 0 auto;
margin-top: 13px;
border-bottom: 0px;
z-index: 4;
position: relative;
}
.message-attribution .u-dt {
color: #fff !important;
}
.message--quickReply {
padding-top: 0px !important;
}
.navL {
position: absolute;
left: -170px;
top: -80px;
background: url(https://diendantruyen.com/styles/thiensau/ts_navL.png) no-repeat;
height: 162px;
width: 227px;
display: block;
}
.navR {
position: absolute;
right: -170px;
top: -80px;
background: url(https://diendantruyen.com/styles/thiensau/ts_navR.png) no-repeat;
height: 162px;
width: 227px;
display: block;
}
.catR {
position: absolute;
right: -46px;
top: -43px;
background: url(https://diendantruyen.com/styles/thiensau/ts_catR.png) no-repeat;
height: 83px;
width: 154px;
display: block;
}
.catL {
position: absolute;
left: -55px;
top: -43px;
background: url(https://diendantruyen.com/styles/thiensau/ts_catL.png) no-repeat;
height: 83px;
width: 154px;
display: block;
}
.p-nav-inner {
background: url(https://diendantruyen.com/styles/thiensau/ts_navbg.png) repeat-x;
height: 41px;
}
.p-sectionLinks-inner {
background: url(https://diendantruyen.com/styles/thiensau/ts_subnavbg.png) repeat-x;
height: 41px;
padding-left: 50px;
padding-right: 50px;
}
.p-nav-inner {
position: relative;
}
.p-header-logo {
margin-left: auto;
}
.p-header-content {
padding: 0px 0;
}
.p-nav-opposite {
margin-right: 50px;
}
.p-nav-scroller {
margin-left: 5px;
}
.p-header-logo.p-header-logo--image img {
max-height: unset;
}
.p-body-main--withSidebar .p-body-content {
padding-right: 48px;
}
.p-header {
margin-top: 75px;
}
.p-navgroup {
background: transparent;
}
[data-template="forum_list"] .p-body-header {
margin-bottom: 40px;
}
.block.block--category {
margin-bottom: 40px;
}
.p-sectionLinks-inner,
.p-nav-inner {
max-width: 70%;
}
.p-navSticky.is-sticky .p-nav {
overflow: hidden;
}
.node--read .node-icon i::before,
.node--unread .node-icon i::before {
display: none;
}
.node-icon i {
margin: 15px 0 10px 0px;
width: 27px;
height: 32px;
}
.node--unread .node-icon i {
background-image: url(https://diendantruyen.com/styles/thiensau/ts_sprite.png);
background-repeat: no-repeat;
background-position: 0 0;
}
.node-icon i {
background-image: url(https://diendantruyen.com/styles/thiensau/ts_sprite.png);
background-repeat: no-repeat;
background-position: -27px 0;
}
.node--page .node-icon i,
.node--link .node-icon i {
font-size: 10px;
}
.node--page .node-icon i:before,
.node--link .node-icon i:before {
position: relative;
top: 10px;
left: 0px;
text-shadow: 0px 0px 0px transparent;
color: #fff;
}
.node-main {
padding: 30px 10px;
}
.offCanvasMenu {
z-index: 999;
}
.offCanvasMenu--nav .offCanvasMenu-content {
background: #000c0b;
}
@media (max-width: 1200px) {
.node-extra {
display: block;
width: auto;
padding: 30px 0;
}
.node-statsMeta {
display: inline;
}
.node-stats {
display: none;
}
}
@media (max-width: 1024px) {
.p-sectionLinks-inner,
.p-nav-inner {
max-width: 50%;
}
.p-nav .p-nav-menuTrigger {
display: block;
padding: 0px 8px;
margin-left: 50px;
}
.p-nav-scroller {
display: none;
}
}
@media (max-width: 900px) {
.p-body-main--withSidebar .p-body-content {
padding-right: 0;
}
.p-body-inner {
max-width: 88%;
}
}
@media (max-width: 650px) {
.p-nav-inner {
padding-left: 15px !important;
}
.message-attribution.message-attribution--split {
left: 10px;
}
.p-nav .p-nav-menuTrigger {
margin-left: 0px;
}
.has-js .p-nav-smallLogo {
display: none;
}
.has-js .p-header {
display: block;
}
.p-header-logo {
max-width: unset;
z-index: 999;
}
.p-staffBar-inner {
height: 30px;
}
.p-header {
margin-top: 15px;
}
.p-body-inner {
max-width: 90%;
}
.node-main {
padding: 10px 10px;
}
.block-header {
text-align: left;
}
.p-header-inner {
padding-left: 0;
padding-right: 0;
max-width: 100%;
}
.p-sectionLinks-inner,
.p-nav-inner {
max-width: 100%;
}
.p-body-main--withSidebar .p-body-content {
padding-right: 0;
}
.catL,
.catR,
.navL,
.navR,
.headerL,
.headerR {
display: none;
}
}
h1 {
text-align: center;
}
.menu-row.menu-row--alt {
color: #96b5c1;
background: #0b181d;
}
.menu-content {
color: #96b5c1;
background: #060d10;
border-radius: 3px;
border-top: 3px solid #2c9caa;
}
.menu-tabHeader .tabs-tab.is-active {
color: #d06b0f;
border-color: #5a9eb8;
background: #193641;
}
.menu-tabHeader {
color: #d06b0f;
background: #193641;
border-bottom: 1px solid #dfdfdf;
}]]></template>
</templates>
<properties>
<property property_name="blockBorder" group_name="block" title="Block border framework" description="Virtually all blocks have their borders styled with these settings" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="border,extra" addon_id="XF">
<value>{
"border-color": "#000",
"border-top-color": "#000",
"border-right-color": "#000",
"border-bottom-color": "#000",
"border-left-color": "#000"
}</value>
</property>
<property property_name="blockFooter" group_name="block" title="Block footer" description="When information needs to be conveyed in a footer element for a block, its style is controlled here" property_type="css" value_type="" depends_on="" value_group="" display_order="21200" css_components="text,background,border,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeSmaller",
"color": "#fff",
"background-color": "#193641"
}</value>
</property>
<property property_name="blockHeader" group_name="block" title="Block header" description="Blocks often have title bars at their tops, which are styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,border,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeLarger",
"color": "@xf-majorHeadingTextColor",
"background-color": "#000",
"border-bottom-width": "@xf-borderSize",
"border-bottom-color": "@xf-borderColorLight",
"extra": "padding: 6px 10px;\n margin: 0;\n font-weight: 400;\n text-decoration: none;\n font-size: 20px;\n color: #d06b0f;\n background: #000 url(styles/thiensau/ts_catbg.png);\n position: relative;\n text-align: center;\n background-repeat: repeat-x;"
}</value>
</property>
<property property_name="blockMinorHeader" group_name="block" title="Block minor header" description="Sub-headings in blocks use these settings" property_type="css" value_type="" depends_on="" value_group="" display_order="20400" css_components="text,background,border,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeLarge",
"color": "#fff"
}</value>
</property>
<property property_name="blockTextHeader" group_name="block" title="Block text header" description="Text headers are used for subtle identification of content areas, without changing the background style or color" property_type="css" value_type="" depends_on="" value_group="" display_order="20700" css_components="text,background,border,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeLarge",
"color": "#fff"
}</value>
</property>
<property property_name="bpb_link_options" group_name="cxfBookmarkPostBottom" title="In post bottom show" description="" property_type="value" value_type="radio" depends_on="" value_group="BookmarkLinkOptions" display_order="100" addon_id="BassMan/BookmarkPostBottom">
<value_parameters>phraseOnly=bookmark phrase only
phraseAndIcon=bookmark phrase and icon
iconOnly=bookmark icon only</value_parameters>
<value>"phraseAndIcon"</value>
</property>
<property property_name="contentBase" group_name="content" title="Content area base" description="This styling is applied to the background of primary content, such as messages" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,extra" addon_id="XF">
<value>{
"color": "@xf-textColor",
"background-color": "#10222a"
}</value>
</property>
<property property_name="fontFamilyBody" group_name="fonts" title="Body Text Font" description="This font is used for the text of messages etc." property_type="value" value_type="string" depends_on="" value_group="font" display_order="200" addon_id="XF">
<value>"'Be Vietnam', 'Helvetica Neue', Helvetica, Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', sans-serif"</value>
</property>
<property property_name="fontFamilyUi" group_name="fonts" title="User Interface Font" description="The font list for your main text" property_type="value" value_type="string" depends_on="" value_group="font" display_order="100" addon_id="XF">
<value>"'Be Vietnam', 'Helvetica Neue', Helvetica, Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', sans-serif"</value>
</property>
<property property_name="linkColor" group_name="color" title="Link color" description="Basic hyperlinks on standard background colors will use this style" property_type="value" value_type="color" depends_on="" value_group="links" display_order="1000" addon_id="XF">
<value>"#d06b0f"</value>
</property>
<property property_name="linkHoverColor" group_name="color" title="Link hover color" description="Basic hyperlinks will turn this color when hovered" property_type="value" value_type="color" depends_on="" value_group="links" display_order="1100" addon_id="XF">
<value>"#ffffff"</value>
</property>
<property property_name="menu" group_name="menu" title="Menu" description="Controls the main block of all popup menus" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border_width_simple,border_color_simple,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeSmall",
"color": "#bcdef5",
"extra": "// border: @xf-borderSize solid @xf-borderColor;"
}</value>
</property>
<property property_name="menuHeader" group_name="menu" title="Menu header" description="Most menus identify themselves with a header just underneath their top border" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,border,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeLarge",
"color": "#bcdef5",
"border-bottom-width": "@xf-borderSize",
"border-bottom-color": "@xf-borderColorLight",
"extra": "background: linear-gradient(0deg, @xf-contentHighlightBg, mix(@xf-contentHighlightBg, @xf-contentBg, 50%));"
}</value>
</property>
<property property_name="menuLinkRowSelected" group_name="menu" title="Menu link row - selected" description="Styling for link rows in menus, when selected or hovered" property_type="css" value_type="" depends_on="" value_group="" display_order="20500" css_components="text,background,extra" addon_id="XF">
<value>{
"color": "#bcdef5",
"text-decoration": "none"
}</value>
</property>
<property property_name="menuTabHeaderSelected" group_name="menu" title="Menu tab header - selected tab" description="Controls the selected tab in multi-part menu headers" property_type="css" value_type="" depends_on="" value_group="" display_order="20300" css_components="text,background,border_color_simple,extra" addon_id="XF">
<value>{
"color": "#bcdef5",
"border-color": "@xf-borderColorFeature"
}</value>
</property>
<property property_name="messageNewIndicator" group_name="message" 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" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,border,border_radius,padding,extra" addon_id="XF">
<value>{
"font-size": "90%",
"color": "contrast(@xf-paletteAccent2)",
"background-color": "@xf-paletteAccent2",
"border-radius": "@xf-borderRadiusSmall",
"border-bottom-color": "#060d10",
"padding-top": "1px",
"padding-right": "4px",
"padding-bottom": "1px",
"padding-left": "4px"
}</value>
</property>
<property property_name="messageUserElements" group_name="message" title="Message user info elements" description="The elements selected here will be displayed in the message user info block. It will not be displayed below the single column width." property_type="value" value_type="template" depends_on="" value_group="user" display_order="600" addon_id="XF">
<value_parameters>template=style_property_template_messageUserElements
type=array</value_parameters>
<value>{
"register_date": "1",
"message_count": "1",
"solutions": "1",
"reaction_score": "1",
"trophy_points": "1"
}</value>
</property>
<property property_name="pageWidthMax" group_name="page" title="Maximum page width" description="As the window is resized, it will continue to grow in width until this value, after which it will remain static" property_type="value" value_type="unit" depends_on="" value_group="page" display_order="100" addon_id="XF">
<value>"1300px"</value>
</property>
<property property_name="publicFooter" group_name="footer" title="Footer" description="The footer is the primary element that sits below the main content on all public pages" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,border,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeSmall",
"color": "@xf-paletteColor1",
"background-color": "#0f1e25",
"extra": "margin-bottom: 0px;\nbackground-color: transparent;\nheight: 100px;"
}</value>
</property>
<property property_name="publicHeader" group_name="headerNav" title="Header/logo row" description="The header row contains your logo and sits at the top of every public page" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,extra" addon_id="XF">
<value>{
"extra": "max-height: unset;"
}</value>
</property>
<property property_name="publicIconsMaskable" group_name="basic" title="Icons are maskable" description="If enabled, you are indicating that the icons above respect the <a href="https://web.dev/maskable-icon/" target="_blank">minimum safe zone</a> and can be cropped to the appropriate icon size for various devices." property_type="value" value_type="boolean" depends_on="" value_group="logo" display_order="230" addon_id="XF">
<value>1</value>
</property>
<property property_name="publicLogoHeight" group_name="basic" title="Public logo height" description="If you specify the height of your logo here, you can avoid a costly re-flow of your page layout once the logo loads." property_type="value" value_type="number" depends_on="" value_group="logo" display_order="120" addon_id="XF">
<value>""</value>
</property>
<property property_name="publicLogoUrl" group_name="basic" title="Logo URL" description="The web path from your site's XenForo installation directory to your logo image. 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." property_type="value" value_type="string" depends_on="" value_group="logo" display_order="101" addon_id="XF">
<value_parameters>asset=logo</value_parameters>
<value>"/styles/thiensau/ts_logo.png"</value>
</property>
<property property_name="publicLogoUrl2x" group_name="basic" title="2x logo URL" description="The path to a double-resolution / retina version of your logo image" property_type="value" value_type="string" depends_on="" value_group="logo" display_order="200" addon_id="XF">
<value_parameters>asset=logo</value_parameters>
<value>""</value>
</property>
<property property_name="publicNav" group_name="headerNav" title="Navigation row" description="The navigation row sits below the header and contains the primary site navigation tabs and menus" property_type="css" value_type="" depends_on="" value_group="" display_order="20100" css_components="text,background,extra" addon_id="XF">
<value>[]</value>
</property>
<property property_name="publicNavSelected" group_name="headerNav" title="Navigation row - selected tab" description="Additional styling to apply to navigation tabs when they are selected" property_type="css" value_type="" depends_on="" value_group="" display_order="20300" css_components="text,background,border,border_radius,extra" addon_id="XF">
<value>{
"color": "#d06b0f",
"font-weight": "@xf-fontWeightHeavy",
"border-top-left-radius": "@xf-borderRadiusSmall",
"border-top-right-radius": "@xf-borderRadiusSmall"
}</value>
</property>
<property property_name="publicNavSticky" group_name="headerNav" title="Sticky navigation element" description="If you intend for some or all of your header to stick to the top of the page when it is scrolled, choose which elements should stick" property_type="value" value_type="radio" depends_on="" value_group="navigation" display_order="1200" addon_id="XF">
<value_parameters>primary={{ phrase('primary_navigation_row_only') }}
all={{ phrase('primary_and_sub_navigation_rows') }}
none={{ phrase('none') }}</value_parameters>
<value>"none"</value>
</property>
<property property_name="publicSubNav" group_name="headerNav" title="Sub-navigation row" description="Below the main navigation row, this row shows content associated with the selected main navigation tab" property_type="css" value_type="" depends_on="" value_group="" display_order="20500" css_components="text,background,border,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeSmall",
"color": "#d06b0f"
}</value>
</property>
<property property_name="scrollJumpButtons" group_name="page" 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." property_type="value" value_type="radio" depends_on="" value_group="" display_order="3000" addon_id="XF">
<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>""</value>
</property>
<property property_name="sidebarWidth" group_name="page" title="Sidebar and side navigation width" description="Width of any elements that make up the sidebar" property_type="value" value_type="unit" depends_on="" value_group="sidebar" display_order="1100" addon_id="XF">
<value>"300px"</value>
</property>
<property property_name="standaloneTab" group_name="tab" title="Standalone tabs" description="Tabs that are not part of block headers are styled here" property_type="css" value_type="" depends_on="" value_group="" display_order="20000" css_components="text,background,extra" addon_id="XF">
<value>{
"font-size": "@xf-fontSizeNormal",
"color": "#d06b0f",
"background-color": "#193641"
}</value>
</property>
<property property_name="textColor" group_name="color" title="Text color" description="Unless otherwise specified, text will be this color" property_type="value" value_type="color" depends_on="" value_group="textBasic" display_order="100" addon_id="XF">
<value>"#96b5c1"</value>
</property>
</properties>
</style>