From 3152bf1197df6d3a437eba482194e2385685ed98 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Wed, 8 Apr 2015 20:33:55 +0100 Subject: [PATCH 01/35] Basic moderation architecture --- app/Database/Models/Post.php | 19 +++- app/Database/Models/Topic.php | 19 +++- app/Http/Controllers/ModerationController.php | 23 ++++ app/Moderation/ModerationInterface.php | 35 ++++++ app/Moderation/ModerationRegistry.php | 67 ++++++++++++ app/Moderation/ModerationServiceProvider.php | 24 +++++ app/Moderation/ModerationTool.php | 82 ++++++++++++++ .../Moderations/ApprovableInterface.php | 10 ++ app/Moderation/Moderations/Approve.php | 102 ++++++++++++++++++ .../ReversableModerationInterface.php | 23 ++++ app/Presenters/Topic.php | 32 +++++- app/Registry/RegistryInterface.php | 18 ++++ config/app.php | 1 + ...32222_add_approved_to_posts_and_topics.php | 39 +++++++ .../moderation/inline_moderations.twig | 21 ++++ resources/views/topic/show.twig | 1 + 16 files changed, 511 insertions(+), 5 deletions(-) create mode 100644 app/Http/Controllers/ModerationController.php create mode 100644 app/Moderation/ModerationInterface.php create mode 100644 app/Moderation/ModerationRegistry.php create mode 100644 app/Moderation/ModerationServiceProvider.php create mode 100644 app/Moderation/ModerationTool.php create mode 100644 app/Moderation/Moderations/ApprovableInterface.php create mode 100644 app/Moderation/Moderations/Approve.php create mode 100644 app/Moderation/ReversableModerationInterface.php create mode 100644 app/Registry/RegistryInterface.php create mode 100644 database/migrations/2015_04_07_132222_add_approved_to_posts_and_topics.php create mode 100644 resources/views/partials/moderation/inline_moderations.twig diff --git a/app/Database/Models/Post.php b/app/Database/Models/Post.php index 0ee39fde..88ab6382 100644 --- a/app/Database/Models/Post.php +++ b/app/Database/Models/Post.php @@ -14,8 +14,9 @@ use Illuminate\Database\Eloquent\SoftDeletes; use McCool\LaravelAutoPresenter\HasPresenter; use MyBB\Core\Likes\Traits\LikeableTrait; +use MyBB\Core\Moderation\Moderations\ApprovableInterface; -class Post extends Model implements HasPresenter +class Post extends Model implements HasPresenter, ApprovableInterface { use SoftDeletes; use LikeableTrait; @@ -86,4 +87,20 @@ public function author() { return $this->belongsTo('MyBB\\Core\\Database\\Models\\User', 'user_id'); } + + /** + * @return bool|int + */ + public function approve() + { + return $this->update(['approved' => 1]); + } + + /** + * @return bool|int + */ + public function unapprove() + { + return $this->update(['approved' => 0]); + } } diff --git a/app/Database/Models/Topic.php b/app/Database/Models/Topic.php index dcb1ba42..02adf5df 100644 --- a/app/Database/Models/Topic.php +++ b/app/Database/Models/Topic.php @@ -13,8 +13,9 @@ use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use McCool\LaravelAutoPresenter\HasPresenter; +use MyBB\Core\Moderation\Moderations\ApprovableInterface; -class Topic extends Model implements HasPresenter +class Topic extends Model implements HasPresenter, ApprovableInterface { use SoftDeletes; @@ -137,4 +138,20 @@ public function lastPost() { return $this->hasOne('MyBB\\Core\\Database\\Models\\Post', 'id', 'last_post_id'); } + + /** + * @return bool|int + */ + public function approve() + { + return $this->update(['approved' => 0]); + } + + /** + * @return bool|int + */ + public function unapprove() + { + return $this->update(['approved' => 1]); + } } diff --git a/app/Http/Controllers/ModerationController.php b/app/Http/Controllers/ModerationController.php new file mode 100644 index 00000000..8373d3f5 --- /dev/null +++ b/app/Http/Controllers/ModerationController.php @@ -0,0 +1,23 @@ +get('content_type'); + $contentId = $request->get('content_id'); + $moderationName = $request->get('moderation_name'); + + $moderation = app()->make('MyBB\Core\Moderation\ModerationRegistry')->get($moderationName); + $post = Post::find($contentId); + + $moderation->apply($post); + + return redirect()->back(); + } +} diff --git a/app/Moderation/ModerationInterface.php b/app/Moderation/ModerationInterface.php new file mode 100644 index 00000000..0ff29d71 --- /dev/null +++ b/app/Moderation/ModerationInterface.php @@ -0,0 +1,35 @@ +addModeration($moderation); + } + } + + /** + * @param ModerationInterface $moderation + */ + public function addModeration(ModerationInterface $moderation) + { + $this->moderations[$moderation->getName()] = $moderation; + } + + /** + * @param string $name + * + * @return mixed + */ + public function get($name) + { + return $this->moderations[$name]; + } + + /** + * @return ModerationInterface[] + */ + public function getAll() + { + return $this->moderations; + } + + /** + * @param mixed $content + * + * @return ModerationInterface[] + */ + public function getForContent($content) + { + $supportedModerations = []; + + foreach ($this->moderations as $moderation) { + if ($moderation->supports($content)) { + $supportedModerations[$moderation->getName()] = $moderation; + } + } + + return $supportedModerations; + } +} diff --git a/app/Moderation/ModerationServiceProvider.php b/app/Moderation/ModerationServiceProvider.php new file mode 100644 index 00000000..8a0fa867 --- /dev/null +++ b/app/Moderation/ModerationServiceProvider.php @@ -0,0 +1,24 @@ +app->singleton('MyBB\Core\Moderation\ModerationRegistry', function (Application $app) { + return new ModerationRegistry([ + new Approve() + ]); + }); + } +} diff --git a/app/Moderation/ModerationTool.php b/app/Moderation/ModerationTool.php new file mode 100644 index 00000000..ef8c46bd --- /dev/null +++ b/app/Moderation/ModerationTool.php @@ -0,0 +1,82 @@ +name = $name; + $this->description = $description; + + foreach ($moderations as $moderation) { + $this->addModeration($moderation); + } + } + + /** + * @param ModerationInterface $moderation + */ + public function addModeration(ModerationInterface $moderation) + { + $this->moderations[$moderation->getName()] = $moderation; + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * @param mixed $content + * + * @return mixed + */ + public function apply($content) + { + foreach ($this->moderations as $moderation) { + $moderation->apply($content); + } + } + + /** + * @param mixed $content + * + * @return bool + */ + public function supports($content) + { + return true; + } +} diff --git a/app/Moderation/Moderations/ApprovableInterface.php b/app/Moderation/Moderations/ApprovableInterface.php new file mode 100644 index 00000000..ae219f59 --- /dev/null +++ b/app/Moderation/Moderations/ApprovableInterface.php @@ -0,0 +1,10 @@ +approve(); + } + + /** + * @param ApprovableInterface $approvable + * + * @return mixed + */ + public function unapprove(ApprovableInterface $approvable) + { + return $approvable->unapprove(); + } + + /** + * @return string + */ + public function getName() + { + return 'approve'; + } + + /** + * @return string + */ + public function getDescription() + { + return 'Approve'; + } + + /** + * @param mixed $content + * + * @return mixed + */ + public function apply($content) + { + if ($this->supports($content)) { + return $this->approve($content); + } + } + + /** + * @param mixed $content + * + * @return bool + */ + public function supports($content) + { + return $content instanceof ApprovableInterface; + } + + /** + * @param mixed $content + * + * @return mixed + */ + public function reverse($content) + { + if ($this->supports($content)) { + return $this->unapprove($content); + } + } + + /** + * @return string + */ + public function getReverseDescription() + { + return 'Unapprove'; + } + + /** + * @return string + */ + public function getIcon() + { + return 'fa-check'; + } + + /** + * @return string + */ + public function getReverseIcon() + { + return 'fa-minus'; + } +} diff --git a/app/Moderation/ReversableModerationInterface.php b/app/Moderation/ReversableModerationInterface.php new file mode 100644 index 00000000..d61e9db3 --- /dev/null +++ b/app/Moderation/ReversableModerationInterface.php @@ -0,0 +1,23 @@ +wrappedObject = $resource; + $this->moderations = $moderations; + $this->viewFactory = $viewFactory; $this->app = $app; } @@ -62,4 +78,14 @@ public function author() return $this->wrappedObject->author; } + + /** + * @return \Illuminate\View\View + */ + public function moderations() + { + return $this->viewFactory->make('partials.moderation.inline_moderations', [ + 'moderations' => $this->moderations->getForContent(new Post()), + ]); + } } diff --git a/app/Registry/RegistryInterface.php b/app/Registry/RegistryInterface.php new file mode 100644 index 00000000..bc76d079 --- /dev/null +++ b/app/Registry/RegistryInterface.php @@ -0,0 +1,18 @@ +tinyInteger('approved')->unsigned()->index(); + }); + + Schema::table('posts', function (Blueprint $table) { + $table->tinyInteger('approved')->unsigned()->index(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('topics', function (Blueprint $table) { + $table->dropColumn('approved'); + }); + + Schema::table('posts', function (Blueprint $table) { + $table->dropColumn('approved'); + }); + } +} diff --git a/resources/views/partials/moderation/inline_moderations.twig b/resources/views/partials/moderation/inline_moderations.twig new file mode 100644 index 00000000..a69aa8cd --- /dev/null +++ b/resources/views/partials/moderation/inline_moderations.twig @@ -0,0 +1,21 @@ +
+

With selected posts (1):

+ +
diff --git a/resources/views/topic/show.twig b/resources/views/topic/show.twig index 7e46741d..de2aedea 100644 --- a/resources/views/topic/show.twig +++ b/resources/views/topic/show.twig @@ -90,5 +90,6 @@ {{ posts.render|raw }} {% include 'topic.quickreply' with {'topic': topic} %} + {{ topic.moderations|raw }} {% endblock %} From 0ba1740560ef8e873a1785a1d59f4e5e2989a062 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sun, 12 Apr 2015 17:24:06 +0100 Subject: [PATCH 02/35] Tidying up how inline moderation bar is rendered --- app/Presenters/Topic.php | 15 +++------------ ...nline_moderations.twig => moderation_bar.twig} | 0 resources/views/topic/show.twig | 2 +- 3 files changed, 4 insertions(+), 13 deletions(-) rename resources/views/partials/moderation/{inline_moderations.twig => moderation_bar.twig} (100%) diff --git a/app/Presenters/Topic.php b/app/Presenters/Topic.php index 7f33141b..4e9f956b 100644 --- a/app/Presenters/Topic.php +++ b/app/Presenters/Topic.php @@ -11,7 +11,6 @@ namespace MyBB\Core\Presenters; use Illuminate\Foundation\Application; -use Illuminate\View\Factory as ViewFactory; use McCool\LaravelAutoPresenter\BasePresenter; use MyBB\Core\Database\Models\Post; use MyBB\Core\Database\Models\Topic as TopicModel; @@ -32,21 +31,15 @@ class Topic extends BasePresenter */ protected $moderations; - /** - * @var ViewFactory - */ - protected $viewFactory; - /** * @param TopicModel $resource The thread being wrapped by this presenter. * @param ModerationRegistry $moderations - * @param ViewFactory $viewFactory + * @param Application $app */ - public function __construct(TopicModel $resource, ModerationRegistry $moderations, ViewFactory $viewFactory, Application $app) + public function __construct(TopicModel $resource, ModerationRegistry $moderations, Application $app) { $this->wrappedObject = $resource; $this->moderations = $moderations; - $this->viewFactory = $viewFactory; $this->app = $app; } @@ -84,8 +77,6 @@ public function author() */ public function moderations() { - return $this->viewFactory->make('partials.moderation.inline_moderations', [ - 'moderations' => $this->moderations->getForContent(new Post()), - ]); + return $this->moderations->getForContent(new Post()); } } diff --git a/resources/views/partials/moderation/inline_moderations.twig b/resources/views/partials/moderation/moderation_bar.twig similarity index 100% rename from resources/views/partials/moderation/inline_moderations.twig rename to resources/views/partials/moderation/moderation_bar.twig diff --git a/resources/views/topic/show.twig b/resources/views/topic/show.twig index de2aedea..a2e3e7d3 100644 --- a/resources/views/topic/show.twig +++ b/resources/views/topic/show.twig @@ -90,6 +90,6 @@ {{ posts.render|raw }} {% include 'topic.quickreply' with {'topic': topic} %} - {{ topic.moderations|raw }} + {% include 'partials.moderation.moderation_bar' with {'moderations': topic.moderations} %} {% endblock %} From 817031f4c585edae21cda7c0082da927c32b1625 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sun, 12 Apr 2015 18:21:56 +0100 Subject: [PATCH 03/35] Frontend handling for inline moderation --- app/Http/Controllers/ModerationController.php | 27 +++++++++-- app/Http/routes.php | 3 ++ public/gulpfile.js | 4 +- public/js/moderation.js | 46 +++++++++++++++++++ resources/views/partials/headerinclude.twig | 3 +- .../partials/moderation/moderation_bar.twig | 4 +- resources/views/topic/show.twig | 4 +- 7 files changed, 79 insertions(+), 12 deletions(-) create mode 100644 public/js/moderation.js diff --git a/app/Http/Controllers/ModerationController.php b/app/Http/Controllers/ModerationController.php index 8373d3f5..f41d3027 100644 --- a/app/Http/Controllers/ModerationController.php +++ b/app/Http/Controllers/ModerationController.php @@ -4,20 +4,37 @@ use Illuminate\Http\Request; use MyBB\Core\Database\Models\Post; +use MyBB\Core\Moderation\ReversableModerationInterface; class ModerationController extends Controller { public function moderate(Request $request) { - $contentType = $request->get('content_type'); - $contentId = $request->get('content_id'); + $moderationContent = $request->get('moderation_content'); + $moderationIds = $request->get('moderation_ids'); $moderationName = $request->get('moderation_name'); $moderation = app()->make('MyBB\Core\Moderation\ModerationRegistry')->get($moderationName); - $post = Post::find($contentId); - $moderation->apply($post); + foreach ($moderationIds as $id) { + $post = Post::find($id); + $moderation->apply($post); + } + } + + public function reverse(Request $request) + { + $moderationContent = $request->get('moderation_content'); + $moderationIds = $request->get('moderation_ids'); + $moderationName = $request->get('moderation_name'); + + $moderation = app()->make('MyBB\Core\Moderation\ModerationRegistry')->get($moderationName); - return redirect()->back(); + if ($moderation instanceof ReversableModerationInterface) { + foreach ($moderationIds as $id) { + $post = Post::find($id); + $moderation->reverse($post); + } + } } } diff --git a/app/Http/routes.php b/app/Http/routes.php index 84882eb6..eefea9c8 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -91,6 +91,9 @@ Route::get('captcha/{imagehash}', ['as' => 'captcha', 'uses' => 'CaptchaController@captcha', 'noOnline' => true]); +Route::post('/moderate', ['as' => 'moderate', 'uses' => 'ModerationController@moderate']); +Route::post('/moderate/reverse', ['as' => 'moderate.reverse', 'uses' => 'ModerationController@reverse']); + Route::group(['prefix' => 'account', 'middleware' => 'checkaccess', 'permissions' => 'canEnterUCP'], function () { Route::get('/', ['as' => 'account.index', 'uses' => 'AccountController@index']); Route::get('/profile', ['as' => 'account.profile', 'uses' => 'AccountController@getProfile']); diff --git a/public/gulpfile.js b/public/gulpfile.js index 5403d958..860fed65 100644 --- a/public/gulpfile.js +++ b/public/gulpfile.js @@ -62,7 +62,7 @@ var scripts = [ paths.js.src + "/post.js", paths.js.src + "/poll.js", paths.js.src + "/quote.js", - paths.js.src + "/other.js" + paths.js.src + "/moderation.js" ]; var css = [ @@ -164,4 +164,4 @@ gulp.task("rtl_styles", function() { gulp.task("fonts", function() { return gulp.src(paths.bower + "/fontawesome/fonts/**.*").pipe(gulp.dest(paths.fonts.dest)); -}); \ No newline at end of file +}); diff --git a/public/js/moderation.js b/public/js/moderation.js new file mode 100644 index 00000000..4348f5a5 --- /dev/null +++ b/public/js/moderation.js @@ -0,0 +1,46 @@ +(function($, window) { + window.MyBB = window.MyBB || {}; + + window.MyBB.Moderation = function Moderation() + { + $.ajaxSetup({ + headers: { + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') + } + }); + + $('a[data-moderate]').click($.proxy(function (e) { + e.preventDefault(); + + $.post('/moderate', { + moderation_name: $(e.currentTarget).attr('data-moderate'), + moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'), + moderation_ids: this.getSelectedIds() + }, function (response) { + document.location.reload(); + }); + }, this)); + + $('a[data-moderate-reverse]').click($.proxy(function (e) { + e.preventDefault(); + + $.post('/moderate/reverse', { + moderation_name: $(e.currentTarget).attr('data-moderate-reverse'), + moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'), + moderation_ids: this.getSelectedIds() + }, function (response) { + document.location.reload(); + }); + }, this)); + }; + + window.MyBB.Moderation.prototype.getSelectedIds = function getSelectedIds() + { + return $('input[type=checkbox][data-moderation-id]:checked').map(function () { + return $(this).attr('data-moderation-id'); + }).get(); + }; + + var moderation = new window.MyBB.Moderation(); + +})(jQuery, window); diff --git a/resources/views/partials/headerinclude.twig b/resources/views/partials/headerinclude.twig index 6948fcc8..6d505e59 100644 --- a/resources/views/partials/headerinclude.twig +++ b/resources/views/partials/headerinclude.twig @@ -2,6 +2,7 @@ + {% if trans('general.direction') == 'rtl' %} @@ -15,4 +16,4 @@ {% elseif setting('captcha.method') == 'nocaptcha' %} - {% endif %} \ No newline at end of file + {% endif %} diff --git a/resources/views/partials/moderation/moderation_bar.twig b/resources/views/partials/moderation/moderation_bar.twig index a69aa8cd..a54538df 100644 --- a/resources/views/partials/moderation/moderation_bar.twig +++ b/resources/views/partials/moderation/moderation_bar.twig @@ -2,10 +2,10 @@

With selected posts (1):

    {% for moderation in moderations %} -
  • {{ moderation.description }}
  • +
  • {{ moderation.description }}
  • {% if moderation.reverse is defined %} -
  • {{ moderation.reverseDescription }}
  • +
  • {{ moderation.reverseDescription }}
  • {% endif %} {% endfor %} {#
  • Soft Delete
  • #} diff --git a/resources/views/topic/show.twig b/resources/views/topic/show.twig index a2e3e7d3..45edf2df 100644 --- a/resources/views/topic/show.twig +++ b/resources/views/topic/show.twig @@ -24,7 +24,7 @@ {% if topic.has_poll %} {% include "topic.polls" with [poll, topic] %} {% endif %} -
    +
    {% for post in posts %}
    From 33773580b45978b92e6a18faea65da69725c53a7 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sun, 12 Apr 2015 18:39:23 +0100 Subject: [PATCH 04/35] Making ModerationController more generic --- .../Repositories/RepositoryInterface.php | 15 ++++++ app/Http/Controllers/ModerationController.php | 39 +++++++++++++-- app/Moderation/ModerationRegistry.php | 6 +-- app/Registry/RegistryInterface.php | 4 +- app/Repository/RepositoryFactory.php | 40 +++++++++++++++ app/Repository/RepositoryRegistry.php | 49 +++++++++++++++++++ app/Repository/RepositoryServiceProvider.php | 23 +++++++++ config/app.php | 3 +- 8 files changed, 168 insertions(+), 11 deletions(-) create mode 100644 app/Database/Repositories/RepositoryInterface.php create mode 100644 app/Repository/RepositoryFactory.php create mode 100644 app/Repository/RepositoryRegistry.php create mode 100644 app/Repository/RepositoryServiceProvider.php diff --git a/app/Database/Repositories/RepositoryInterface.php b/app/Database/Repositories/RepositoryInterface.php new file mode 100644 index 00000000..b41f34a4 --- /dev/null +++ b/app/Database/Repositories/RepositoryInterface.php @@ -0,0 +1,15 @@ +moderationRegistry = $moderationRegistry; + $this->repositoryFactory = $repositoryFactory; + } + + /** + * @param Request $request + */ public function moderate(Request $request) { $moderationContent = $request->get('moderation_content'); $moderationIds = $request->get('moderation_ids'); $moderationName = $request->get('moderation_name'); - $moderation = app()->make('MyBB\Core\Moderation\ModerationRegistry')->get($moderationName); + $moderation = $this->moderationRegistry->get($moderationName); + $repository = $this->repositoryFactory->build($moderationContent); foreach ($moderationIds as $id) { - $post = Post::find($id); + $post = $repository->find($id); $moderation->apply($post); } } + /** + * @param Request $request + */ public function reverse(Request $request) { $moderationContent = $request->get('moderation_content'); $moderationIds = $request->get('moderation_ids'); $moderationName = $request->get('moderation_name'); - $moderation = app()->make('MyBB\Core\Moderation\ModerationRegistry')->get($moderationName); + $moderation = $this->moderationRegistry->get($moderationName); if ($moderation instanceof ReversableModerationInterface) { + $repository = $this->repositoryFactory->build($moderationContent); foreach ($moderationIds as $id) { - $post = Post::find($id); + $post = $repository->find($id); $moderation->reverse($post); } } diff --git a/app/Moderation/ModerationRegistry.php b/app/Moderation/ModerationRegistry.php index 516cb831..678731df 100644 --- a/app/Moderation/ModerationRegistry.php +++ b/app/Moderation/ModerationRegistry.php @@ -30,13 +30,13 @@ public function addModeration(ModerationInterface $moderation) } /** - * @param string $name + * @param string $key * * @return mixed */ - public function get($name) + public function get($key) { - return $this->moderations[$name]; + return $this->moderations[$key]; } /** diff --git a/app/Registry/RegistryInterface.php b/app/Registry/RegistryInterface.php index bc76d079..d034a360 100644 --- a/app/Registry/RegistryInterface.php +++ b/app/Registry/RegistryInterface.php @@ -5,11 +5,11 @@ interface RegistryInterface { /** - * @param string $name + * @param string $key * * @return mixed */ - public function get($name); + public function get($key); /** * @return mixed diff --git a/app/Repository/RepositoryFactory.php b/app/Repository/RepositoryFactory.php new file mode 100644 index 00000000..8f9903b2 --- /dev/null +++ b/app/Repository/RepositoryFactory.php @@ -0,0 +1,40 @@ +registry = $registry; + $this->application = $application; + } + + /** + * @param string $key + * + * @return RepositoryInterface + */ + public function build($key) + { + $class = $this->registry->get($key); + return $this->application->make($class); + } +} diff --git a/app/Repository/RepositoryRegistry.php b/app/Repository/RepositoryRegistry.php new file mode 100644 index 00000000..b45842f1 --- /dev/null +++ b/app/Repository/RepositoryRegistry.php @@ -0,0 +1,49 @@ +repositories = $repositories; + } + + /** + * @param string $key + * @param string $className + */ + public function addRepository($key, $className) + { + $this->repositories[$key] = $className; + } + + /** + * @param string $key + * + * @return RepositoryInterface + */ + public function get($key) + { + return $this->repositories[$key]; + } + + /** + * @return RepositoryInterface + */ + public function getAll() + { + return $this->repositories; + } +} diff --git a/app/Repository/RepositoryServiceProvider.php b/app/Repository/RepositoryServiceProvider.php new file mode 100644 index 00000000..b50da59c --- /dev/null +++ b/app/Repository/RepositoryServiceProvider.php @@ -0,0 +1,23 @@ +app->singleton('MyBB\Core\Repository\RepositoryRegistry', function ($app) { + return new RepositoryRegistry([ + 'post' => 'MyBB\Core\Database\Repositories\PostRepositoryInterface', + 'topic' => 'MyBB\Core\Database\Repositories\PostRepositoryInterface', + ]); + }); + } +} diff --git a/config/app.php b/config/app.php index 4bb65c52..03c4df73 100644 --- a/config/app.php +++ b/config/app.php @@ -147,7 +147,8 @@ 'MyBB\Core\Providers\RouteServiceProvider', 'MyBB\Parser\ParserServiceProvider', 'MyBB\Settings\ServiceProvider', - 'MyBB\Core\Moderation\ModerationServiceProvider' + 'MyBB\Core\Moderation\ModerationServiceProvider', + 'MyBB\Core\Repository\RepositoryServiceProvider' ], /* |-------------------------------------------------------------------------- From 86dd8a1970e4df3ca16269f9db187115fd6bd7ab Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sun, 12 Apr 2015 18:53:31 +0100 Subject: [PATCH 05/35] Add ModerationRequest to handle lots of stuff for us --- app/Http/Controllers/ModerationController.php | 60 +++------------ .../Requests/Moderation/ModerationRequest.php | 76 +++++++++++++++++++ .../ReversibleModerationRequest.php | 20 +++++ app/Moderation/ModerationRegistry.php | 2 +- app/Moderation/Moderations/Approve.php | 4 +- ....php => ReversibleModerationInterface.php} | 2 +- 6 files changed, 110 insertions(+), 54 deletions(-) create mode 100644 app/Http/Requests/Moderation/ModerationRequest.php create mode 100644 app/Http/Requests/Moderation/ReversibleModerationRequest.php rename app/Moderation/{ReversableModerationInterface.php => ReversibleModerationInterface.php} (83%) diff --git a/app/Http/Controllers/ModerationController.php b/app/Http/Controllers/ModerationController.php index 8ab91514..83526c54 100644 --- a/app/Http/Controllers/ModerationController.php +++ b/app/Http/Controllers/ModerationController.php @@ -2,68 +2,28 @@ namespace MyBB\Core\Http\Controllers; -use Illuminate\Http\Request; -use MyBB\Core\Moderation\ModerationRegistry; -use MyBB\Core\Moderation\ReversableModerationInterface; -use MyBB\Core\Repository\RepositoryFactory; +use MyBB\Core\Http\Requests\Moderation\ModerationRequest; +use MyBB\Core\Http\Requests\Moderation\ReversibleModerationRequest; class ModerationController extends Controller { /** - * @var ModerationRegistry + * @param ModerationRequest $request */ - protected $moderationRegistry; - - /** - * @var RepositoryFactory - */ - protected $repositoryFactory; - - /** - * @param ModerationRegistry $moderationRegistry - * @param RepositoryFactory $repositoryFactory - */ - public function __construct(ModerationRegistry $moderationRegistry, RepositoryFactory $repositoryFactory) + public function moderate(ModerationRequest $request) { - $this->moderationRegistry = $moderationRegistry; - $this->repositoryFactory = $repositoryFactory; - } - - /** - * @param Request $request - */ - public function moderate(Request $request) - { - $moderationContent = $request->get('moderation_content'); - $moderationIds = $request->get('moderation_ids'); - $moderationName = $request->get('moderation_name'); - - $moderation = $this->moderationRegistry->get($moderationName); - $repository = $this->repositoryFactory->build($moderationContent); - - foreach ($moderationIds as $id) { - $post = $repository->find($id); - $moderation->apply($post); + foreach ($request->getModeratableContent() as $content) { + $request->getModeration()->apply($content); } } /** - * @param Request $request + * @param ReversibleModerationRequest $request */ - public function reverse(Request $request) + public function reverse(ReversibleModerationRequest $request) { - $moderationContent = $request->get('moderation_content'); - $moderationIds = $request->get('moderation_ids'); - $moderationName = $request->get('moderation_name'); - - $moderation = $this->moderationRegistry->get($moderationName); - - if ($moderation instanceof ReversableModerationInterface) { - $repository = $this->repositoryFactory->build($moderationContent); - foreach ($moderationIds as $id) { - $post = $repository->find($id); - $moderation->reverse($post); - } + foreach ($request->getModeratableContent() as $content) { + $request->getModeration()->reverse($content); } } } diff --git a/app/Http/Requests/Moderation/ModerationRequest.php b/app/Http/Requests/Moderation/ModerationRequest.php new file mode 100644 index 00000000..86cab78a --- /dev/null +++ b/app/Http/Requests/Moderation/ModerationRequest.php @@ -0,0 +1,76 @@ +moderationRegistry = $moderationRegistry; + $this->repositoryFactory = $repositoryFactory; + } + + /** + * @return array + */ + public function rules() + { + return []; + } + + /** + * @return bool + */ + public function authorize() + { + return true; // TODO: check moderation permissions + } + + /** + * @return \MyBB\Core\Database\Repositories\RepositoryInterface + */ + public function getRepository() + { + return $this->repositoryFactory->build($this->get('moderation_content')); + } + + /** + * @return \MyBB\Core\Moderation\ModerationInterface + */ + public function getModeration() + { + return $this->moderationRegistry->get($this->get('moderation_name')); + } + + /** + * @return array + */ + public function getModeratableContent() + { + $content = []; + + foreach ($this->get('moderation_ids') as $id) { + $content[] = $this->getRepository()->find($id); + } + + return $content; + } +} diff --git a/app/Http/Requests/Moderation/ReversibleModerationRequest.php b/app/Http/Requests/Moderation/ReversibleModerationRequest.php new file mode 100644 index 00000000..f97e5a68 --- /dev/null +++ b/app/Http/Requests/Moderation/ReversibleModerationRequest.php @@ -0,0 +1,20 @@ + Date: Mon, 13 Apr 2015 00:10:04 +0100 Subject: [PATCH 06/35] MovePost moderation and support for moderation options and forms --- app/Database/Models/Post.php | 10 ++ app/Database/Models/Topic.php | 10 ++ .../Repositories/Eloquent/TopicRepository.php | 23 +++++ .../Repositories/TopicRepositoryInterface.php | 6 ++ app/Form/RenderableInterface.php | 2 +- app/Form/Renderer.php | 14 +-- app/Http/Controllers/ModerationController.php | 25 ++++- .../Requests/Moderation/ModerationRequest.php | 18 ++++ app/Http/routes.php | 1 + app/Moderation/ModerationInterface.php | 10 +- app/Moderation/ModerationRegistry.php | 4 +- app/Moderation/ModerationServiceProvider.php | 3 +- app/Moderation/Moderations/Approve.php | 15 +-- app/Moderation/Moderations/MovePost.php | 91 +++++++++++++++++ .../ReversibleModerationInterface.php | 5 +- .../Moderations/MovePostPresenter.php | 98 +++++++++++++++++++ app/Presenters/ProfileField.php | 2 +- app/Presenters/Topic.php | 12 ++- app/Twig/Extensions/Form.php | 30 ++++-- app/Twig/Extensions/Moderation.php | 38 +++++++ config/twigbridge.php | 1 + public/js/modal.js | 15 ++- public/js/moderation.js | 10 +- .../partials/moderation/moderation_bar.twig | 10 +- .../partials/moderation/moderation_form.twig | 26 +++++ 25 files changed, 435 insertions(+), 44 deletions(-) create mode 100644 app/Moderation/Moderations/MovePost.php create mode 100644 app/Presenters/Moderations/MovePostPresenter.php create mode 100644 app/Twig/Extensions/Moderation.php create mode 100644 resources/views/partials/moderation/moderation_form.twig diff --git a/app/Database/Models/Post.php b/app/Database/Models/Post.php index 88ab6382..c6cfd75f 100644 --- a/app/Database/Models/Post.php +++ b/app/Database/Models/Post.php @@ -16,6 +16,9 @@ use MyBB\Core\Likes\Traits\LikeableTrait; use MyBB\Core\Moderation\Moderations\ApprovableInterface; +/** + * @property int topic_id + */ class Post extends Model implements HasPresenter, ApprovableInterface { use SoftDeletes; @@ -58,6 +61,13 @@ class Post extends Model implements HasPresenter, ApprovableInterface */ protected $dates = ['deleted_at', 'created_at', 'updated_at']; + /** + * @var array + */ + protected $casts = [ + 'topic_id' => 'int' + ]; + /** * Get the presenter class. * diff --git a/app/Database/Models/Topic.php b/app/Database/Models/Topic.php index 02adf5df..8b5e152f 100644 --- a/app/Database/Models/Topic.php +++ b/app/Database/Models/Topic.php @@ -15,6 +15,9 @@ use McCool\LaravelAutoPresenter\HasPresenter; use MyBB\Core\Moderation\Moderations\ApprovableInterface; +/** + * @property int id + */ class Topic extends Model implements HasPresenter, ApprovableInterface { use SoftDeletes; @@ -56,6 +59,13 @@ class Topic extends Model implements HasPresenter, ApprovableInterface */ protected $dates = ['deleted_at', 'created_at', 'updated_at']; + /** + * @var array + */ + protected $casts = [ + 'id' => 'int' + ]; + /** * Get the presenter class. * diff --git a/app/Database/Repositories/Eloquent/TopicRepository.php b/app/Database/Repositories/Eloquent/TopicRepository.php index 0c1c93ce..3a9e9981 100644 --- a/app/Database/Repositories/Eloquent/TopicRepository.php +++ b/app/Database/Repositories/Eloquent/TopicRepository.php @@ -385,4 +385,27 @@ public function updateLastPost(Topic $topic, Post $post = null) return $topic; } + + /** + * @param Post $post + * @param Topic $topic + */ + public function movePostToTopic(Post $post, Topic $topic) + { + $post->topic->decrement('num_posts'); + $post->topic->forum->decrement('num_posts'); + + $post->topic_id = $topic->id; + $post->save(); + + $topic->increment('num_posts'); + $topic->forum->increment('num_posts'); +// $topic->update([ +// 'last_post_id' => $post->id +// ]); +// $topic->forum->update([ +// 'last_post_id' => $post->id, +// 'last_post_user_id' => $post->author->id +// ]); + } } diff --git a/app/Database/Repositories/TopicRepositoryInterface.php b/app/Database/Repositories/TopicRepositoryInterface.php index e1dc7b49..1a7e8446 100644 --- a/app/Database/Repositories/TopicRepositoryInterface.php +++ b/app/Database/Repositories/TopicRepositoryInterface.php @@ -130,4 +130,10 @@ public function restoreTopic(Topic $topic); * @return mixed */ public function updateLastPost(Topic $topic, Post $post = null); + + /** + * @param Post $post + * @param Topic $topic + */ + public function movePostToTopic(Post $post, Topic $topic); } diff --git a/app/Form/RenderableInterface.php b/app/Form/RenderableInterface.php index 03deb202..cf2dd18f 100644 --- a/app/Form/RenderableInterface.php +++ b/app/Form/RenderableInterface.php @@ -28,7 +28,7 @@ public function getDescription(); /** * @return string */ - public function getName(); + public function getElementName(); /** * @return string diff --git a/app/Form/Renderer.php b/app/Form/Renderer.php index 48acaef8..389bb8fb 100644 --- a/app/Form/Renderer.php +++ b/app/Form/Renderer.php @@ -94,7 +94,7 @@ public function render(RenderableInterface $renderable) protected function renderTextarea(RenderableInterface $renderable) { return $this->view->make('partials.form.field_textarea', [ - 'name' => $renderable->getName(), + 'name' => $renderable->getElementName(), 'rows' => 6, 'cols' => 40, 'value' => $this->getValue($renderable), @@ -113,8 +113,8 @@ protected function renderInput(RenderableInterface $renderable) { return $this->view->make('partials.form.field_input', [ 'type' => $renderable->getType(), - 'name' => $renderable->getName(), - 'id' => $this->slugify($renderable->getName()), + 'name' => $renderable->getElementName(), + 'id' => $this->slugify($renderable->getElementName()), 'value' => $this->getValue($renderable), 'is_required' => $this->isRequired($renderable), 'min_length' => $this->getMinLength($renderable), @@ -130,7 +130,7 @@ protected function renderInput(RenderableInterface $renderable) protected function renderSelect(RenderableInterface $renderable) { return $this->view->make('partials.form.field_select', [ - 'name' => $renderable->getName(), + 'name' => $renderable->getElementName(), 'options' => $renderable->getOptions(), 'selected' => $this->getValue($renderable) ])->render(); @@ -143,7 +143,7 @@ protected function renderSelect(RenderableInterface $renderable) */ protected function getValue(RenderableInterface $renderable) { - $dottedNotation = str_replace(['[', ']'], ['.', ''], $renderable->getName()); + $dottedNotation = str_replace(['[', ']'], ['.', ''], $renderable->getElementName()); if (!is_null($this->request->old($dottedNotation))) { return $this->request->old($dottedNotation); } @@ -225,7 +225,7 @@ protected function getRules(RenderableInterface $renderable) { $rules = $this->getValidator($renderable)->getRules(); - return $rules[$renderable->getName()] ? $rules[$renderable->getName()] : []; + return $rules[$renderable->getElementName()] ? $rules[$renderable->getElementName()] : []; } /** @@ -235,6 +235,6 @@ protected function getRules(RenderableInterface $renderable) */ protected function getValidator(RenderableInterface $renderable) { - return $this->validator->make([], [$renderable->getName() => $renderable->getValidationRules()]); + return $this->validator->make([], [$renderable->getElementName() => $renderable->getValidationRules()]); } } diff --git a/app/Http/Controllers/ModerationController.php b/app/Http/Controllers/ModerationController.php index 83526c54..bf438191 100644 --- a/app/Http/Controllers/ModerationController.php +++ b/app/Http/Controllers/ModerationController.php @@ -9,12 +9,17 @@ class ModerationController extends Controller { /** * @param ModerationRequest $request + * + * @return \Illuminate\Http\RedirectResponse */ public function moderate(ModerationRequest $request) { + $options = $request->getModerationOptions(); foreach ($request->getModeratableContent() as $content) { - $request->getModeration()->apply($content); + $request->getModeration()->apply($content, $options); } + + return redirect()->back(); } /** @@ -22,8 +27,24 @@ public function moderate(ModerationRequest $request) */ public function reverse(ReversibleModerationRequest $request) { + $options = $request->getModerationOptions(); foreach ($request->getModeratableContent() as $content) { - $request->getModeration()->reverse($content); + $request->getModeration()->reverse($content, $options); } } + + /** + * @param ModerationRequest $request + * @param string $moderationName + * + * @return \Illuminate\View\View + */ + public function form(ModerationRequest $request, $moderationName) + { + return view('partials.moderation.moderation_form', [ + 'moderation' => $request->getModerationByName($moderationName), + 'moderation_content' => $request->get('moderation_content'), + 'moderation_ids' => $request->get('moderation_ids') + ]); + } } diff --git a/app/Http/Requests/Moderation/ModerationRequest.php b/app/Http/Requests/Moderation/ModerationRequest.php index 86cab78a..a6a4c079 100644 --- a/app/Http/Requests/Moderation/ModerationRequest.php +++ b/app/Http/Requests/Moderation/ModerationRequest.php @@ -60,6 +60,16 @@ public function getModeration() return $this->moderationRegistry->get($this->get('moderation_name')); } + /** + * @param string $name + * + * @return \MyBB\Core\Moderation\ModerationInterface + */ + public function getModerationByName($name) + { + return $this->moderationRegistry->get($name); + } + /** * @return array */ @@ -73,4 +83,12 @@ public function getModeratableContent() return $content; } + + /** + * @return array + */ + public function getModerationOptions() + { + return $this->except(['moderation_content', 'moderation_name', 'moderation_ids', '_token']); + } } diff --git a/app/Http/routes.php b/app/Http/routes.php index eefea9c8..925c0fa2 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -93,6 +93,7 @@ Route::post('/moderate', ['as' => 'moderate', 'uses' => 'ModerationController@moderate']); Route::post('/moderate/reverse', ['as' => 'moderate.reverse', 'uses' => 'ModerationController@reverse']); +Route::get('/moderate/form/{moderationName}', ['as' => 'moderate.form', 'uses' => 'ModerationController@form']); Route::group(['prefix' => 'account', 'middleware' => 'checkaccess', 'permissions' => 'canEnterUCP'], function () { Route::get('/', ['as' => 'account.index', 'uses' => 'AccountController@index']); diff --git a/app/Moderation/ModerationInterface.php b/app/Moderation/ModerationInterface.php index 0ff29d71..45e70715 100644 --- a/app/Moderation/ModerationInterface.php +++ b/app/Moderation/ModerationInterface.php @@ -7,12 +7,12 @@ interface ModerationInterface /** * @return string */ - public function getName(); + public function getKey(); /** * @return string */ - public function getDescription(); + public function getName(); /** * @return string @@ -21,15 +21,17 @@ public function getIcon(); /** * @param mixed $content + * @param array $options * * @return mixed */ - public function apply($content); + public function apply($content, array $options = []); /** * @param mixed $content + * @param array $options * * @return bool */ - public function supports($content); + public function supports($content, array $options = []); } diff --git a/app/Moderation/ModerationRegistry.php b/app/Moderation/ModerationRegistry.php index d3f3bde9..223db9c4 100644 --- a/app/Moderation/ModerationRegistry.php +++ b/app/Moderation/ModerationRegistry.php @@ -26,7 +26,7 @@ public function __construct(array $moderations = []) */ public function addModeration(ModerationInterface $moderation) { - $this->moderations[$moderation->getName()] = $moderation; + $this->moderations[$moderation->getKey()] = $moderation; } /** @@ -58,7 +58,7 @@ public function getForContent($content) foreach ($this->moderations as $moderation) { if ($moderation->supports($content)) { - $supportedModerations[$moderation->getName()] = $moderation; + $supportedModerations[$moderation->getKey()] = $moderation; } } diff --git a/app/Moderation/ModerationServiceProvider.php b/app/Moderation/ModerationServiceProvider.php index 8a0fa867..d39a8d73 100644 --- a/app/Moderation/ModerationServiceProvider.php +++ b/app/Moderation/ModerationServiceProvider.php @@ -17,7 +17,8 @@ public function register() { $this->app->singleton('MyBB\Core\Moderation\ModerationRegistry', function (Application $app) { return new ModerationRegistry([ - new Approve() + new Approve(), + $app->make('MyBB\Core\Moderation\Moderations\MovePost') ]); }); } diff --git a/app/Moderation/Moderations/Approve.php b/app/Moderation/Moderations/Approve.php index 40a3edb8..d919e62b 100644 --- a/app/Moderation/Moderations/Approve.php +++ b/app/Moderation/Moderations/Approve.php @@ -29,7 +29,7 @@ public function unapprove(ApprovableInterface $approvable) /** * @return string */ - public function getName() + public function getKey() { return 'approve'; } @@ -37,17 +37,18 @@ public function getName() /** * @return string */ - public function getDescription() + public function getName() { return 'Approve'; } /** * @param mixed $content + * @param array $options * * @return mixed */ - public function apply($content) + public function apply($content, array $options = []) { if ($this->supports($content)) { return $this->approve($content); @@ -56,20 +57,22 @@ public function apply($content) /** * @param mixed $content + * @param array $options * * @return bool */ - public function supports($content) + public function supports($content, array $options = []) { return $content instanceof ApprovableInterface; } /** * @param mixed $content + * @param array $options * * @return mixed */ - public function reverse($content) + public function reverse($content, array $options = []) { if ($this->supports($content)) { return $this->unapprove($content); @@ -79,7 +82,7 @@ public function reverse($content) /** * @return string */ - public function getReverseDescription() + public function getReverseName() { return 'Unapprove'; } diff --git a/app/Moderation/Moderations/MovePost.php b/app/Moderation/Moderations/MovePost.php new file mode 100644 index 00000000..d377a239 --- /dev/null +++ b/app/Moderation/Moderations/MovePost.php @@ -0,0 +1,91 @@ +topicRepository = $topicRepository; + } + + /** + * @return string + */ + public function getKey() + { + return 'move_post'; + } + + /** + * @return string + */ + public function getName() + { + return 'Move'; + } + + /** + * @return string + */ + public function getIcon() + { + return 'fa-arrow-right'; + } + + /** + * @param Post $post + * @param Topic $topic + */ + public function move(Post $post, Topic $topic) + { + $this->topicRepository->movePostToTopic($post, $topic); + } + + /** + * @param mixed $content + * @param array $options + * + * @return mixed + */ + public function apply($content, array $options = []) + { + $topic = $this->topicRepository->find($options['topic_id']); + $this->move($content, $topic); + } + + /** + * @param mixed $content + * @param array $options + * + * @return bool + */ + public function supports($content, array $options = []) + { + return $content instanceof Post; + } + + /** + * Get the presenter class. + * + * @return string + */ + public function getPresenterClass() + { + return 'MyBB\Core\Presenters\Moderations\MovePostPresenter'; + } +} diff --git a/app/Moderation/ReversibleModerationInterface.php b/app/Moderation/ReversibleModerationInterface.php index b278e8e8..75e5d94e 100644 --- a/app/Moderation/ReversibleModerationInterface.php +++ b/app/Moderation/ReversibleModerationInterface.php @@ -6,15 +6,16 @@ interface ReversibleModerationInterface extends ModerationInterface { /** * @param mixed $content + * @param array $options * * @return mixed */ - public function reverse($content); + public function reverse($content, array $options = []); /** * @return string */ - public function getReverseDescription(); + public function getReverseName(); /** * @return string diff --git a/app/Presenters/Moderations/MovePostPresenter.php b/app/Presenters/Moderations/MovePostPresenter.php new file mode 100644 index 00000000..099bd9a9 --- /dev/null +++ b/app/Presenters/Moderations/MovePostPresenter.php @@ -0,0 +1,98 @@ +getWrappedObject()->getKey(); + } + + /** + * @return string + */ + public function icon() + { + return $this->getWrappedObject()->getIcon(); + } + + /** + * @return string + */ + public function getType() + { + return 'text'; + } + + /** + * @return array + */ + public function getOptions() + { + return []; + } + + /** + * @return string + */ + public function getDescription() + { + return 'The topic ID to move these posts to.'; + } + + /** + * @return string + */ + public function getName() + { + return 'Move'; + } + + /** + * @return string + */ + public function getLabel() + { + return 'Topic ID'; + } + + /** + * @return mixed + */ + public function getValue() + { + return null; + } + + /** + * @return array + */ + public function getValidationRules() + { + return 'integer|exists:topics,id'; + } + + /** + * @return string + */ + public function getElementName() + { + return 'topic_id'; + } +} diff --git a/app/Presenters/ProfileField.php b/app/Presenters/ProfileField.php index 748d8e9c..754f7b5c 100644 --- a/app/Presenters/ProfileField.php +++ b/app/Presenters/ProfileField.php @@ -70,7 +70,7 @@ public function getOptions() /** * @return string */ - public function getName() + public function getElementName() { return 'profile_fields[' . $this->id . ']'; } diff --git a/app/Presenters/Topic.php b/app/Presenters/Topic.php index 4e9f956b..71ff1c53 100644 --- a/app/Presenters/Topic.php +++ b/app/Presenters/Topic.php @@ -73,10 +73,18 @@ public function author() } /** - * @return \Illuminate\View\View + * @return \MyBB\Core\Moderation\ModerationInterface[] */ public function moderations() { - return $this->moderations->getForContent(new Post()); + $moderations = $this->moderations->getForContent(new Post()); + $decorated = []; + $presenter = app()->make('autopresenter'); + + foreach ($moderations as $moderation) { + $decorated[] = $presenter->decorate($moderation); + } + + return $decorated; } } diff --git a/app/Twig/Extensions/Form.php b/app/Twig/Extensions/Form.php index fa8752f6..c678f3ec 100644 --- a/app/Twig/Extensions/Form.php +++ b/app/Twig/Extensions/Form.php @@ -8,6 +8,7 @@ namespace MyBB\Core\Twig\Extensions; +use MyBB\Core\Form\RenderableInterface; use MyBB\Core\Form\Renderer; class Form extends \Twig_Extension @@ -35,13 +36,24 @@ public function getName() return 'MyBB_Twig_Extensions_Form'; } - /** - * {@inheritDoc} - */ - public function getFunctions() - { - return [ - new \Twig_SimpleFunction('form_render_field', [$this->renderer, 'render'], ['is_safe' => ['html']]), - ]; - } + /** + * {@inheritDoc} + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('form_render_field', [$this->renderer, 'render'], ['is_safe' => ['html']]), + new \Twig_SimpleFunction('is_renderable', [$this, 'isRenderable']), + ]; + } + + /** + * @param object $content + * + * @return bool + */ + public function isRenderable($content) + { + return $content instanceof RenderableInterface; + } } diff --git a/app/Twig/Extensions/Moderation.php b/app/Twig/Extensions/Moderation.php new file mode 100644 index 00000000..05ba3c8f --- /dev/null +++ b/app/Twig/Extensions/Moderation.php @@ -0,0 +1,38 @@ +With selected posts (1):
      {% for moderation in moderations %} -
    • {{ moderation.description }}
    • + {% if is_renderable(moderation) %} +
    • {{ moderation.name }}
    • + {% else %} +
    • {{ moderation.name }}
    • + {% endif %} - {% if moderation.reverse is defined %} -
    • {{ moderation.reverseDescription }}
    • + {% if is_reversible_moderation(moderation) %} +
    • {{ moderation.reverseName }}
    • {% endif %} {% endfor %} {#
    • Soft Delete
    • #} diff --git a/resources/views/partials/moderation/moderation_form.twig b/resources/views/partials/moderation/moderation_form.twig new file mode 100644 index 00000000..5ce3124f --- /dev/null +++ b/resources/views/partials/moderation/moderation_form.twig @@ -0,0 +1,26 @@ +{% extends "layouts.base" %} +{% block contents %} +
      +
      +

      {{ moderation.name|capitalize }}

      +
      + + {{ form_open({'route': ['moderate'], 'method': 'post'}) }} + {{ form_hidden('moderation_name', moderation.key) }} + {{ form_hidden('moderation_content', moderation_content) }} + {% for id in moderation_ids %} + {{ form_hidden('moderation_ids[]', id) }} + {% endfor %} +
      +
      +
      + {{ form_render_field(moderation) }} +
      +
      +
      +
      + {{ form_button(''~moderation.name|capitalize, {'type': 'submit', 'class': 'button'}) }} +
      + {{ form_close() }} +
      +{% endblock %} From 03bf64788edb86018dff794993dee2a5bc5bec74 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Mon, 13 Apr 2015 21:25:47 +0100 Subject: [PATCH 07/35] Add ModerationInterface::visible() --- app/Moderation/ModerationInterface.php | 7 +++++++ app/Moderation/ModerationRegistry.php | 2 +- app/Moderation/Moderations/Approve.php | 10 ++++++++++ app/Moderation/Moderations/MovePost.php | 12 +++++++++++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/app/Moderation/ModerationInterface.php b/app/Moderation/ModerationInterface.php index 45e70715..81a8ea42 100644 --- a/app/Moderation/ModerationInterface.php +++ b/app/Moderation/ModerationInterface.php @@ -34,4 +34,11 @@ public function apply($content, array $options = []); * @return bool */ public function supports($content, array $options = []); + + /** + * @param mixed $content + * + * @return bool + */ + public function visible($content); } diff --git a/app/Moderation/ModerationRegistry.php b/app/Moderation/ModerationRegistry.php index 223db9c4..4fbee37a 100644 --- a/app/Moderation/ModerationRegistry.php +++ b/app/Moderation/ModerationRegistry.php @@ -57,7 +57,7 @@ public function getForContent($content) $supportedModerations = []; foreach ($this->moderations as $moderation) { - if ($moderation->supports($content)) { + if ($moderation->visible($content)) { $supportedModerations[$moderation->getKey()] = $moderation; } } diff --git a/app/Moderation/Moderations/Approve.php b/app/Moderation/Moderations/Approve.php index d919e62b..cc6e6fd4 100644 --- a/app/Moderation/Moderations/Approve.php +++ b/app/Moderation/Moderations/Approve.php @@ -102,4 +102,14 @@ public function getReverseIcon() { return 'fa-minus'; } + + /** + * @param mixed $content + * + * @return bool + */ + public function visible($content) + { + return $content instanceof ApprovableInterface; + } } diff --git a/app/Moderation/Moderations/MovePost.php b/app/Moderation/Moderations/MovePost.php index d377a239..ae9e5c4d 100644 --- a/app/Moderation/Moderations/MovePost.php +++ b/app/Moderation/Moderations/MovePost.php @@ -76,7 +76,7 @@ public function apply($content, array $options = []) */ public function supports($content, array $options = []) { - return $content instanceof Post; + return $content instanceof Post && array_key_exists('topic_id', $options); } /** @@ -88,4 +88,14 @@ public function getPresenterClass() { return 'MyBB\Core\Presenters\Moderations\MovePostPresenter'; } + + /** + * @param mixed $content + * + * @return bool + */ + public function visible($content) + { + return $content instanceof Post; + } } From c419ead2fc96d5c83af7876b5eabb7dc50d598c1 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Mon, 13 Apr 2015 22:10:12 +0100 Subject: [PATCH 08/35] Adding MergePosts moderation --- .../Repositories/Eloquent/PostRepository.php | 34 ++++++++ .../Repositories/PostRepositoryInterface.php | 7 ++ app/Http/Controllers/ModerationController.php | 15 +++- .../Requests/Moderation/ModerationRequest.php | 2 +- app/Moderation/ArrayModerationInterface.php | 7 ++ app/Moderation/ModerationServiceProvider.php | 3 +- app/Moderation/Moderations/MergePosts.php | 87 +++++++++++++++++++ bootstrap/helpers.php | 13 +++ composer.json | 5 +- public/js/moderation.js | 4 +- resources/views/topic/show.twig | 2 +- 11 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 app/Moderation/ArrayModerationInterface.php create mode 100644 app/Moderation/Moderations/MergePosts.php create mode 100644 bootstrap/helpers.php diff --git a/app/Database/Repositories/Eloquent/PostRepository.php b/app/Database/Repositories/Eloquent/PostRepository.php index aaf8bda9..fab76a37 100644 --- a/app/Database/Repositories/Eloquent/PostRepository.php +++ b/app/Database/Repositories/Eloquent/PostRepository.php @@ -10,6 +10,7 @@ namespace MyBB\Core\Database\Repositories\Eloquent; +use Illuminate\Support\Collection; use MyBB\Auth\Contracts\Guard; use MyBB\Core\Database\Models\Post; use MyBB\Core\Database\Models\Topic; @@ -357,4 +358,37 @@ public function getPostsByIds(array $postIds) $query->whereNotIn('forum_id', $unviewableForums); })->get(); } + + /** + * @param Post[] $posts + * + * @return Post + */ + public function mergePosts(array $posts) + { + if (! is_array_of($posts, 'MyBB\Core\Database\Models\Post')) { + throw new \InvalidArgumentException('$posts must be an array of Post objects'); + } + + $collection = new Collection($posts); + $collection = $collection->sortBy('created_at'); + + $firstPost = $collection->shift(); + $firstPostContent = $firstPost->content; + + foreach ($collection as $post) { + if ($post->author->id !== $firstPost->author->id) { + throw new \InvalidArgumentException("All posts being merged must have the same author"); + } + + $firstPostContent .= '[hr]'. $post->content; + $this->deletePost($post); + } + + $firstPost->content = $firstPostContent; + $firstPost->content_parsed = $this->formatter->parse($firstPost->content); + $firstPost->save(); + + return $firstPost; + } } diff --git a/app/Database/Repositories/PostRepositoryInterface.php b/app/Database/Repositories/PostRepositoryInterface.php index 04352f38..d82ecac6 100644 --- a/app/Database/Repositories/PostRepositoryInterface.php +++ b/app/Database/Repositories/PostRepositoryInterface.php @@ -114,4 +114,11 @@ public function deletePostsForTopic(Topic $topic); * @return mixed */ public function getPostsByIds(array $postIds); + + /** + * @param Post[] $posts + * + * @return Post + */ + public function mergePosts(array $posts); } diff --git a/app/Http/Controllers/ModerationController.php b/app/Http/Controllers/ModerationController.php index bf438191..5d535dd9 100644 --- a/app/Http/Controllers/ModerationController.php +++ b/app/Http/Controllers/ModerationController.php @@ -4,6 +4,7 @@ use MyBB\Core\Http\Requests\Moderation\ModerationRequest; use MyBB\Core\Http\Requests\Moderation\ReversibleModerationRequest; +use MyBB\Core\Moderation\ArrayModerationInterface; class ModerationController extends Controller { @@ -15,8 +16,14 @@ class ModerationController extends Controller public function moderate(ModerationRequest $request) { $options = $request->getModerationOptions(); - foreach ($request->getModeratableContent() as $content) { - $request->getModeration()->apply($content, $options); + $moderation = $request->getModeration(); + + if ($moderation instanceof ArrayModerationInterface) { + $moderation->apply($request->getModeratableContent(), $options); + } else { + foreach ($request->getModeratableContent() as $content) { + $moderation->apply($content, $options); + } } return redirect()->back(); @@ -24,6 +31,8 @@ public function moderate(ModerationRequest $request) /** * @param ReversibleModerationRequest $request + * + * @return \Illuminate\Http\RedirectResponse */ public function reverse(ReversibleModerationRequest $request) { @@ -31,6 +40,8 @@ public function reverse(ReversibleModerationRequest $request) foreach ($request->getModeratableContent() as $content) { $request->getModeration()->reverse($content, $options); } + + return redirect()->back(); } /** diff --git a/app/Http/Requests/Moderation/ModerationRequest.php b/app/Http/Requests/Moderation/ModerationRequest.php index a6a4c079..12ff8167 100644 --- a/app/Http/Requests/Moderation/ModerationRequest.php +++ b/app/Http/Requests/Moderation/ModerationRequest.php @@ -53,7 +53,7 @@ public function getRepository() } /** - * @return \MyBB\Core\Moderation\ModerationInterface + * @return \MyBB\Core\Moderation\ModerationInterface|\MyBB\Core\Moderation\ArrayModerationInterface */ public function getModeration() { diff --git a/app/Moderation/ArrayModerationInterface.php b/app/Moderation/ArrayModerationInterface.php new file mode 100644 index 00000000..ca4e8132 --- /dev/null +++ b/app/Moderation/ArrayModerationInterface.php @@ -0,0 +1,7 @@ +app->singleton('MyBB\Core\Moderation\ModerationRegistry', function (Application $app) { return new ModerationRegistry([ new Approve(), - $app->make('MyBB\Core\Moderation\Moderations\MovePost') + $app->make('MyBB\Core\Moderation\Moderations\MovePost'), + $app->make('MyBB\Core\Moderation\Moderations\MergePosts'), ]); }); } diff --git a/app/Moderation/Moderations/MergePosts.php b/app/Moderation/Moderations/MergePosts.php new file mode 100644 index 00000000..376ec024 --- /dev/null +++ b/app/Moderation/Moderations/MergePosts.php @@ -0,0 +1,87 @@ +postRepository = $postRepository; + } + + /** + * @return string + */ + public function getKey() + { + return 'merge_posts'; + } + + /** + * @return string + */ + public function getName() + { + return 'Merge'; + } + + /** + * @return string + */ + public function getIcon() + { + return 'fa-code-fork'; + } + + /** + * @param array $posts + */ + public function merge(array $posts) + { + $this->postRepository->mergePosts($posts); + } + + /** + * @param mixed $content + * @param array $options + * + * @return mixed + */ + public function apply($content, array $options = []) + { + $this->merge($content); + } + + /** + * @param mixed $content + * @param array $options + * + * @return bool + */ + public function supports($content, array $options = []) + { + return is_array_of($content, 'MyBB\Core\Database\Models\Post'); + } + + /** + * @param mixed $content + * + * @return bool + */ + public function visible($content) + { + return $content instanceof Post; + } +} diff --git a/bootstrap/helpers.php b/bootstrap/helpers.php new file mode 100644 index 00000000..2b0a3176 --- /dev/null +++ b/bootstrap/helpers.php @@ -0,0 +1,13 @@ + {% for post in posts %} -
      +
      -
      +

      {{ trans('forum.topics') }}

      {% for topic in topics %} -
      +

      {{ topic.title }} @@ -127,6 +127,9 @@ {{ post_date_link(url_route('topics.last', [topic.slug, topic.id]), topic.lastPost.created_at) }}

      +
      + +
      {% else %}
      {{ trans('topic.notfound') }}
      @@ -152,6 +155,7 @@
      {{ topics.render|raw }} + {% include 'partials.moderation.moderation_bar' with {'moderations': forum.moderations} %}
    {% endblock %} From 1fbfa32be5627f3bb19bba4e9ac635a2c1a1a4c4 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Mon, 13 Apr 2015 23:08:18 +0100 Subject: [PATCH 12/35] When approving a topic, do the same to the first post too --- app/Database/Models/Topic.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Database/Models/Topic.php b/app/Database/Models/Topic.php index 1ecb145d..10397203 100644 --- a/app/Database/Models/Topic.php +++ b/app/Database/Models/Topic.php @@ -154,6 +154,7 @@ public function lastPost() */ public function approve() { + $this->firstPost->approve(); return $this->update(['approved' => 1]); } @@ -162,6 +163,7 @@ public function approve() */ public function unapprove() { + $this->firstPost->unapprove(); return $this->update(['approved' => 0]); } } From f676994e842fc474f48b6b8dca5488ef7ccecf3e Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Mon, 13 Apr 2015 23:08:45 +0100 Subject: [PATCH 13/35] Dynamic name of what is being selected --- resources/views/forum/show.twig | 2 +- resources/views/partials/moderation/moderation_bar.twig | 2 +- resources/views/topic/show.twig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/views/forum/show.twig b/resources/views/forum/show.twig index 43be5f76..b7c61210 100644 --- a/resources/views/forum/show.twig +++ b/resources/views/forum/show.twig @@ -155,7 +155,7 @@
    {{ topics.render|raw }} - {% include 'partials.moderation.moderation_bar' with {'moderations': forum.moderations} %} + {% include 'partials.moderation.moderation_bar' with {'moderations': forum.moderations, 'moderation_content': 'topics'} %} {% endblock %} diff --git a/resources/views/partials/moderation/moderation_bar.twig b/resources/views/partials/moderation/moderation_bar.twig index d76dc7f7..584a636f 100644 --- a/resources/views/partials/moderation/moderation_bar.twig +++ b/resources/views/partials/moderation/moderation_bar.twig @@ -1,5 +1,5 @@
    -

    With selected posts (1):

    +

    With selected {{ moderation_content }} (1):

      {% for moderation in moderations %} {% if is_renderable(moderation) %} diff --git a/resources/views/topic/show.twig b/resources/views/topic/show.twig index 018ec71b..25a81abb 100644 --- a/resources/views/topic/show.twig +++ b/resources/views/topic/show.twig @@ -90,6 +90,6 @@ {{ posts.render|raw }} {% include 'topic.quickreply' with {'topic': topic} %}
    - {% include 'partials.moderation.moderation_bar' with {'moderations': topic.moderations} %} + {% include 'partials.moderation.moderation_bar' with {'moderations': topic.moderations, 'moderation_content': 'posts'} %} {% endblock %} From d85f7c9f945f64cb3e2d1054aaf7ec6256509bb8 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Mon, 13 Apr 2015 23:09:01 +0100 Subject: [PATCH 14/35] DeleteTopic moderation --- app/Moderation/ModerationServiceProvider.php | 1 + app/Moderation/Moderations/DeleteTopic.php | 87 ++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 app/Moderation/Moderations/DeleteTopic.php diff --git a/app/Moderation/ModerationServiceProvider.php b/app/Moderation/ModerationServiceProvider.php index e823a389..6fc6b03c 100644 --- a/app/Moderation/ModerationServiceProvider.php +++ b/app/Moderation/ModerationServiceProvider.php @@ -21,6 +21,7 @@ public function register() $app->make('MyBB\Core\Moderation\Moderations\MovePost'), $app->make('MyBB\Core\Moderation\Moderations\MergePosts'), $app->make('MyBB\Core\Moderation\Moderations\DeletePost'), + $app->make('MyBB\Core\Moderation\Moderations\DeleteTopic') ]); }); } diff --git a/app/Moderation/Moderations/DeleteTopic.php b/app/Moderation/Moderations/DeleteTopic.php new file mode 100644 index 00000000..2be58f6f --- /dev/null +++ b/app/Moderation/Moderations/DeleteTopic.php @@ -0,0 +1,87 @@ +topicDeleter = $topicDeleter; + } + + /** + * @return string + */ + public function getKey() + { + return 'delete_topic'; + } + + /** + * @return string + */ + public function getName() + { + return 'Delete'; + } + + /** + * @return string + */ + public function getIcon() + { + return 'fa-trash-o'; + } + + /** + * @param Topic $topic + */ + public function deleteTopic(Topic $topic) + { + $this->topicDeleter->deleteTopic($topic); + } + + /** + * @param mixed $content + * @param array $options + * + * @return mixed + */ + public function apply($content, array $options = []) + { + $this->deleteTopic($content); + } + + /** + * @param mixed $content + * @param array $options + * + * @return bool + */ + public function supports($content, array $options = []) + { + return $content instanceof Topic; + } + + /** + * @param mixed $content + * + * @return bool + */ + public function visible($content) + { + return $content instanceof Topic; + } +} From d150f4a5e04d9b4cf9c75f48c3d6151839b0af80 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sat, 18 Apr 2015 17:52:52 +0100 Subject: [PATCH 15/35] Make sure only checkboxes in topic-lists are counted --- public/js/other.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/js/other.js b/public/js/other.js index 9cdc46e4..54a0594e 100644 --- a/public/js/other.js +++ b/public/js/other.js @@ -71,7 +71,7 @@ $(function () { $('.inline-moderation .selection-count').text(' ('+checked_boxes+')') }); - $(".topic :checkbox").change(function() { + $(".topic-list .topic :checkbox").change(function() { $(this).closest(".topic").toggleClass("highlight", this.checked); var checked_boxes = $('.highlight').length; From 655c8d5ce15f28a2d51cdc426ca8150c14329ea0 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sat, 18 Apr 2015 18:18:48 +0100 Subject: [PATCH 16/35] Support for multiple fields to be specified by a moderation presenter --- app/Form/Field.php | 144 ++++++++++++++++++ .../ModerationPresenterInterface.php | 13 ++ .../Moderations/MovePostPresenter.php | 83 +++------- .../partials/moderation/moderation_bar.twig | 2 +- .../partials/moderation/moderation_form.twig | 4 +- 5 files changed, 180 insertions(+), 66 deletions(-) create mode 100644 app/Form/Field.php create mode 100644 app/Presenters/Moderations/ModerationPresenterInterface.php diff --git a/app/Form/Field.php b/app/Form/Field.php new file mode 100644 index 00000000..9c38a7c5 --- /dev/null +++ b/app/Form/Field.php @@ -0,0 +1,144 @@ +type = $type; + $this->elementName = $elementName; + $this->label = $label; + $this->description = $description; + } + + /** + * @return string + */ + public function getType() + { + return $this->type; + } + + /** + * @param array $options + * + * @return $this + */ + public function setOptions(array $options) + { + $this->options = $options; + return $this; + } + + /** + * @return array + */ + public function getOptions() + { + return $this->options; + } + + /** + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * @return string + */ + public function getElementName() + { + return $this->elementName; + } + + /** + * @return string + */ + public function getLabel() + { + return $this->label; + } + + /** + * @param string $value + * + * @return $this + */ + public function setValue($value) + { + $this->value = (string) $value; + return $this; + } + + /** + * @return string + */ + public function getValue() + { + return $this->value; + } + + /** + * @param string $validationRules + * + * @return $this + */ + public function setValidationRules($validationRules) + { + $this->validationRules = $validationRules; + return $this; + } + + /** + * @return array + */ + public function getValidationRules() + { + return $this->validationRules; + } +} diff --git a/app/Presenters/Moderations/ModerationPresenterInterface.php b/app/Presenters/Moderations/ModerationPresenterInterface.php new file mode 100644 index 00000000..8b94a563 --- /dev/null +++ b/app/Presenters/Moderations/ModerationPresenterInterface.php @@ -0,0 +1,13 @@ +getWrappedObject()->getIcon(); } - /** - * @return string - */ - public function getType() - { - return 'text'; - } - - /** - * @return array - */ - public function getOptions() - { - return []; - } - - /** - * @return string - */ - public function getDescription() - { - return 'The topic ID to move these posts to.'; - } - - /** - * @return string - */ - public function getName() - { - return 'Move'; - } - - /** - * @return string - */ - public function getLabel() - { - return 'Topic ID'; - } - - /** - * @return mixed - */ - public function getValue() - { - return null; - } - - /** - * @return array - */ - public function getValidationRules() - { - return 'integer|exists:topics,id'; - } - - /** - * @return string - */ - public function getElementName() - { - return 'topic_id'; - } + /** + * @return string + */ + public function name() + { + return $this->getWrappedObject()->getName(); + } + + /** + * @return RenderableInterface[] + */ + public function fields() + { + return [ + (new Field('text', 'topic_id', 'Topic ID', 'The topic ID to move these posts to.'))->setValidationRules('integer|exists:topics,id'), + ]; + } } diff --git a/resources/views/partials/moderation/moderation_bar.twig b/resources/views/partials/moderation/moderation_bar.twig index 584a636f..d80240bb 100644 --- a/resources/views/partials/moderation/moderation_bar.twig +++ b/resources/views/partials/moderation/moderation_bar.twig @@ -2,7 +2,7 @@

    With selected {{ moderation_content }} (1):

      {% for moderation in moderations %} - {% if is_renderable(moderation) %} + {% if moderation.fields is not empty %}
    • {{ moderation.name }}
    • {% else %}
    • {{ moderation.name }}
    • diff --git a/resources/views/partials/moderation/moderation_form.twig b/resources/views/partials/moderation/moderation_form.twig index 5ce3124f..2955d93a 100644 --- a/resources/views/partials/moderation/moderation_form.twig +++ b/resources/views/partials/moderation/moderation_form.twig @@ -13,9 +13,11 @@ {% endfor %}
      + {% for field in moderation.fields %}
      - {{ form_render_field(moderation) }} + {{ form_render_field(field) }}
      + {% endfor %}
      From a87af60e52012b97a16756299b13b008485fd004 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sat, 18 Apr 2015 19:04:02 +0100 Subject: [PATCH 17/35] Adding close/open moderation to topics --- app/Database/Models/Forum.php | 19 +++- app/Database/Models/Topic.php | 19 +++- app/Moderation/ModerationServiceProvider.php | 3 +- app/Moderation/Moderations/Close.php | 107 ++++++++++++++++++ .../Moderations/CloseableInterface.php | 10 ++ ...add_closed_to_topics_and_forums_tables.php | 39 +++++++ resources/views/forum/show.twig | 2 +- 7 files changed, 195 insertions(+), 4 deletions(-) create mode 100644 app/Moderation/Moderations/Close.php create mode 100644 app/Moderation/Moderations/CloseableInterface.php create mode 100644 database/migrations/2015_04_18_172533_add_closed_to_topics_and_forums_tables.php diff --git a/app/Database/Models/Forum.php b/app/Database/Models/Forum.php index 672d5a69..0027077f 100644 --- a/app/Database/Models/Forum.php +++ b/app/Database/Models/Forum.php @@ -10,12 +10,13 @@ namespace MyBB\Core\Database\Models; +use MyBB\Core\Moderation\Moderations\CloseableInterface; use MyBB\Core\Permissions\Interfaces\InheritPermissionInterface; use MyBB\Core\Permissions\Traits\InheritPermissionableTrait; use Kalnoy\Nestedset\Node; use McCool\LaravelAutoPresenter\HasPresenter; -class Forum extends Node implements HasPresenter, InheritPermissionInterface +class Forum extends Node implements HasPresenter, InheritPermissionInterface, CloseableInterface { use InheritPermissionableTrait; @@ -104,4 +105,20 @@ public function lastPostAuthor() { return $this->hasOne('MyBB\\Core\\Database\\Models\\User', 'id', 'last_post_user_id'); } + + /** + * @return bool|int + */ + public function close() + { + return $this->update(['closed' => 1]); + } + + /** + * @return bool|int + */ + public function open() + { + return $this->update(['closed' => 0]); + } } diff --git a/app/Database/Models/Topic.php b/app/Database/Models/Topic.php index 10397203..af5cee1e 100644 --- a/app/Database/Models/Topic.php +++ b/app/Database/Models/Topic.php @@ -14,11 +14,12 @@ use Illuminate\Database\Eloquent\SoftDeletes; use McCool\LaravelAutoPresenter\HasPresenter; use MyBB\Core\Moderation\Moderations\ApprovableInterface; +use MyBB\Core\Moderation\Moderations\CloseableInterface; /** * @property int id */ -class Topic extends Model implements HasPresenter, ApprovableInterface +class Topic extends Model implements HasPresenter, ApprovableInterface, CloseableInterface { use SoftDeletes; @@ -166,4 +167,20 @@ public function unapprove() $this->firstPost->unapprove(); return $this->update(['approved' => 0]); } + + /** + * @return bool|int + */ + public function close() + { + return $this->update(['closed' => 1]); + } + + /** + * @return bool|int + */ + public function open() + { + return $this->update(['closed' => 0]); + } } diff --git a/app/Moderation/ModerationServiceProvider.php b/app/Moderation/ModerationServiceProvider.php index 6fc6b03c..c321e88e 100644 --- a/app/Moderation/ModerationServiceProvider.php +++ b/app/Moderation/ModerationServiceProvider.php @@ -21,7 +21,8 @@ public function register() $app->make('MyBB\Core\Moderation\Moderations\MovePost'), $app->make('MyBB\Core\Moderation\Moderations\MergePosts'), $app->make('MyBB\Core\Moderation\Moderations\DeletePost'), - $app->make('MyBB\Core\Moderation\Moderations\DeleteTopic') + $app->make('MyBB\Core\Moderation\Moderations\DeleteTopic'), + $app->make('MyBB\Core\Moderation\Moderations\Close') ]); }); } diff --git a/app/Moderation/Moderations/Close.php b/app/Moderation/Moderations/Close.php new file mode 100644 index 00000000..2392d275 --- /dev/null +++ b/app/Moderation/Moderations/Close.php @@ -0,0 +1,107 @@ +close(); + } + + /** + * @param CloseableInterface $closeable + */ + public function open(CloseableInterface $closeable) + { + $closeable->open(); + } + + /** + * @param mixed $content + * @param array $options + * + * @return mixed + */ + public function apply($content, array $options = []) + { + $this->close($content); + } + + /** + * @param mixed $content + * @param array $options + * + * @return bool + */ + public function supports($content, array $options = []) + { + return $content instanceof CloseableInterface; + } + + /** + * @param mixed $content + * + * @return bool + */ + public function visible($content) + { + return $content instanceof CloseableInterface; + } + + /** + * @param mixed $content + * @param array $options + * + * @return mixed + */ + public function reverse($content, array $options = []) + { + $this->open($content); + } + + /** + * @return string + */ + public function getReverseName() + { + return 'Open'; + } + + /** + * @return string + */ + public function getReverseIcon() + { + return 'fa-unlock'; + } +} diff --git a/app/Moderation/Moderations/CloseableInterface.php b/app/Moderation/Moderations/CloseableInterface.php new file mode 100644 index 00000000..eb4cb4a5 --- /dev/null +++ b/app/Moderation/Moderations/CloseableInterface.php @@ -0,0 +1,10 @@ +tinyInteger('closed')->unsigned()->index(); + }); + + Schema::table('forums', function (Blueprint $table) { + $table->tinyInteger('closed')->unsigned()->index(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('topics', function (Blueprint $table) { + $table->dropColumn('closed'); + }); + + Schema::table('forums', function (Blueprint $table) { + $table->dropColumn('closed'); + }); + } +} diff --git a/resources/views/forum/show.twig b/resources/views/forum/show.twig index b7c61210..440cfe99 100644 --- a/resources/views/forum/show.twig +++ b/resources/views/forum/show.twig @@ -103,7 +103,7 @@

      - {{ topic.title }} + {{ topic.closed ? '' }} {{ topic.title }}

      {{ trans('topic.firstpost') }}

      From a6707d2fa0dceb2779b0c96fa6f81ed5f267889c Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Sat, 18 Apr 2015 19:31:32 +0100 Subject: [PATCH 18/35] MoveTopic moderation --- app/Database/Models/Forum.php | 10 ++ app/Database/Models/Topic.php | 5 +- .../Repositories/Eloquent/ForumRepository.php | 15 +++ .../Repositories/ForumRepositoryInterface.php | 7 ++ app/Moderation/ModerationServiceProvider.php | 3 +- app/Moderation/Moderations/MoveTopic.php | 101 ++++++++++++++++++ .../ModerationPresenterInterface.php | 5 + .../Moderations/MovePostPresenter.php | 7 +- .../Moderations/MoveTopicPresenter.php | 65 +++++++++++ 9 files changed, 215 insertions(+), 3 deletions(-) create mode 100644 app/Moderation/Moderations/MoveTopic.php create mode 100644 app/Presenters/Moderations/MoveTopicPresenter.php diff --git a/app/Database/Models/Forum.php b/app/Database/Models/Forum.php index 0027077f..789711c2 100644 --- a/app/Database/Models/Forum.php +++ b/app/Database/Models/Forum.php @@ -16,6 +16,9 @@ use Kalnoy\Nestedset\Node; use McCool\LaravelAutoPresenter\HasPresenter; +/** + * @property int id + */ class Forum extends Node implements HasPresenter, InheritPermissionInterface, CloseableInterface { use InheritPermissionableTrait; @@ -56,6 +59,13 @@ class Forum extends Node implements HasPresenter, InheritPermissionInterface, Cl */ protected $guarded = ['left_id', 'right_id', 'parent_id']; + /** + * @var array + */ + protected $casts = [ + 'id' => 'int' + ]; + /** * Get the presenter class. * diff --git a/app/Database/Models/Topic.php b/app/Database/Models/Topic.php index af5cee1e..e29d7bf9 100644 --- a/app/Database/Models/Topic.php +++ b/app/Database/Models/Topic.php @@ -18,6 +18,8 @@ /** * @property int id + * @property Forum forum + * @property int forum_id */ class Topic extends Model implements HasPresenter, ApprovableInterface, CloseableInterface { @@ -64,7 +66,8 @@ class Topic extends Model implements HasPresenter, ApprovableInterface, Closeabl * @var array */ protected $casts = [ - 'id' => 'int' + 'id' => 'int', + 'forum_id' => 'int' ]; /** diff --git a/app/Database/Repositories/Eloquent/ForumRepository.php b/app/Database/Repositories/Eloquent/ForumRepository.php index 7da6a317..1221226d 100644 --- a/app/Database/Repositories/Eloquent/ForumRepository.php +++ b/app/Database/Repositories/Eloquent/ForumRepository.php @@ -12,6 +12,7 @@ use MyBB\Core\Database\Models\Forum; use MyBB\Core\Database\Models\Post; +use MyBB\Core\Database\Models\Topic; use MyBB\Core\Database\Repositories\ForumRepositoryInterface; use MyBB\Core\Permissions\PermissionChecker; @@ -169,4 +170,18 @@ public function updateLastPost(Forum $forum, Post $post = null) return $forum; } + + /** + * @param Topic $topic + * @param Forum $forum + */ + public function moveTopicToForum(Topic $topic, Forum $forum) + { + $topic->forum->decrement('num_posts'); + + $topic->forum_id = $forum->id; + $topic->save(); + + $topic->forum->increment('num_posts'); + } } diff --git a/app/Database/Repositories/ForumRepositoryInterface.php b/app/Database/Repositories/ForumRepositoryInterface.php index 570c673f..20a6be0b 100644 --- a/app/Database/Repositories/ForumRepositoryInterface.php +++ b/app/Database/Repositories/ForumRepositoryInterface.php @@ -12,6 +12,7 @@ use MyBB\Core\Database\Models\Forum; use MyBB\Core\Database\Models\Post; +use MyBB\Core\Database\Models\Topic; interface ForumRepositoryInterface { @@ -76,4 +77,10 @@ public function incrementTopicCount($id = 0); * @return mixed */ public function updateLastPost(Forum $forum, Post $post = null); + + /** + * @param Topic $topic + * @param Forum $forum + */ + public function moveTopicToForum(Topic $topic, Forum $forum); } diff --git a/app/Moderation/ModerationServiceProvider.php b/app/Moderation/ModerationServiceProvider.php index c321e88e..1f96c14b 100644 --- a/app/Moderation/ModerationServiceProvider.php +++ b/app/Moderation/ModerationServiceProvider.php @@ -22,7 +22,8 @@ public function register() $app->make('MyBB\Core\Moderation\Moderations\MergePosts'), $app->make('MyBB\Core\Moderation\Moderations\DeletePost'), $app->make('MyBB\Core\Moderation\Moderations\DeleteTopic'), - $app->make('MyBB\Core\Moderation\Moderations\Close') + $app->make('MyBB\Core\Moderation\Moderations\Close'), + $app->make('MyBB\Core\Moderation\Moderations\MoveTopic') ]); }); } diff --git a/app/Moderation/Moderations/MoveTopic.php b/app/Moderation/Moderations/MoveTopic.php new file mode 100644 index 00000000..72745231 --- /dev/null +++ b/app/Moderation/Moderations/MoveTopic.php @@ -0,0 +1,101 @@ +forumRepository = $forumRepository; + } + + /** + * @return string + */ + public function getKey() + { + return 'move_topic'; + } + + /** + * @return string + */ + public function getName() + { + return 'Move'; + } + + /** + * @return string + */ + public function getIcon() + { + return 'fa-arrow-right'; + } + + /** + * @param Topic $topic + * @param Forum $forum + */ + public function moveTopic(Topic $topic, Forum $forum) + { + $this->forumRepository->moveTopicToForum($topic, $forum); + } + + /** + * @param mixed $content + * @param array $options + * + * @return mixed + */ + public function apply($content, array $options = []) + { + $forum = $this->forumRepository->find($options['forum_id']); + $this->moveTopic($content, $forum); + } + + /** + * @param mixed $content + * @param array $options + * + * @return bool + */ + public function supports($content, array $options = []) + { + return $content instanceof Topic && array_key_exists('forum_id', $options); + } + + /** + * @param mixed $content + * + * @return bool + */ + public function visible($content) + { + return $content instanceof Topic; + } + + /** + * Get the presenter class. + * + * @return string + */ + public function getPresenterClass() + { + return 'MyBB\Core\Presenters\Moderations\MoveTopicPresenter'; + } +} diff --git a/app/Presenters/Moderations/ModerationPresenterInterface.php b/app/Presenters/Moderations/ModerationPresenterInterface.php index 8b94a563..36546f5b 100644 --- a/app/Presenters/Moderations/ModerationPresenterInterface.php +++ b/app/Presenters/Moderations/ModerationPresenterInterface.php @@ -10,4 +10,9 @@ interface ModerationPresenterInterface * @return RenderableInterface[] */ public function fields(); + + /** + * @return string + */ + public function icon(); } diff --git a/app/Presenters/Moderations/MovePostPresenter.php b/app/Presenters/Moderations/MovePostPresenter.php index c0a37852..599ceb9a 100644 --- a/app/Presenters/Moderations/MovePostPresenter.php +++ b/app/Presenters/Moderations/MovePostPresenter.php @@ -47,7 +47,12 @@ public function name() public function fields() { return [ - (new Field('text', 'topic_id', 'Topic ID', 'The topic ID to move these posts to.'))->setValidationRules('integer|exists:topics,id'), + (new Field( + 'text', + 'topic_id', + 'Topic ID', + 'The topic ID to move these posts to.' + ))->setValidationRules('integer|exists:topics,id'), ]; } } diff --git a/app/Presenters/Moderations/MoveTopicPresenter.php b/app/Presenters/Moderations/MoveTopicPresenter.php new file mode 100644 index 00000000..d46655bd --- /dev/null +++ b/app/Presenters/Moderations/MoveTopicPresenter.php @@ -0,0 +1,65 @@ +getWrappedObject()->getKey(); + } + + /** + * @return string + */ + public function icon() + { + return $this->getWrappedObject()->getIcon(); + } + + /** + * @return string + */ + public function name() + { + return $this->getWrappedObject()->getName(); + } + + /** + * @return RenderableInterface[] + */ + public function fields() + { + $forums = app()->make('MyBB\Core\Database\Repositories\ForumRepositoryInterface')->all(); + $options = []; + + foreach ($forums as $forum) { + $options[$forum->id] = $forum->title; + } + + return [ + (new Field( + 'select', + 'forum_id', + 'Forum', + 'The forum to move these posts to.' + ))->setOptions($options), + ]; + } +} From b714ab7b320a1aa6c5f5b24c14664d110e066299 Mon Sep 17 00:00:00 2001 From: Will Pillar Date: Mon, 27 Apr 2015 15:08:00 +0100 Subject: [PATCH 19/35] Fixing a few issues and compiling the front-end --- .../Decorators/Forum/CachingDecorator.php | 10 ++ app/Http/Controllers/ModerationController.php | 2 +- .../Requests/Moderation/ModerationRequest.php | 4 +- public/assets/css/main.css | 12 ++- public/assets/css/main.min.css | 6 +- public/assets/css/rtl.css | 12 ++- public/assets/css/rtl.min.css | 6 +- public/assets/js/main.js | 91 ++++++++++++++++++- public/assets/js/main.js.min.map | 2 +- public/assets/js/main.min.js | 2 +- public/assets/js/vendor.js.min.map | 2 +- public/gulpfile.js | 3 +- 12 files changed, 130 insertions(+), 22 deletions(-) diff --git a/app/Database/Repositories/Decorators/Forum/CachingDecorator.php b/app/Database/Repositories/Decorators/Forum/CachingDecorator.php index 945ccb4c..6836be59 100644 --- a/app/Database/Repositories/Decorators/Forum/CachingDecorator.php +++ b/app/Database/Repositories/Decorators/Forum/CachingDecorator.php @@ -15,6 +15,7 @@ use MyBB\Auth\Contracts\Guard; use MyBB\Core\Database\Models\Forum; use MyBB\Core\Database\Models\Post; +use MyBB\Core\Database\Models\Topic; use MyBB\Core\Database\Repositories\ForumRepositoryInterface; use MyBB\Core\Permissions\PermissionChecker; @@ -184,4 +185,13 @@ private function filterUnviewableForums(Collection $forums) ); }); } + + /** + * @param Topic $topic + * @param Forum $forum + */ + public function moveTopicToForum(Topic $topic, Forum $forum) + { + return $this->decoratedRepository->moveTopicToForum($topic, $forum); + } } diff --git a/app/Http/Controllers/ModerationController.php b/app/Http/Controllers/ModerationController.php index 5d535dd9..76f81a83 100644 --- a/app/Http/Controllers/ModerationController.php +++ b/app/Http/Controllers/ModerationController.php @@ -6,7 +6,7 @@ use MyBB\Core\Http\Requests\Moderation\ReversibleModerationRequest; use MyBB\Core\Moderation\ArrayModerationInterface; -class ModerationController extends Controller +class ModerationController extends AbstractController { /** * @param ModerationRequest $request diff --git a/app/Http/Requests/Moderation/ModerationRequest.php b/app/Http/Requests/Moderation/ModerationRequest.php index 12ff8167..5f1ad308 100644 --- a/app/Http/Requests/Moderation/ModerationRequest.php +++ b/app/Http/Requests/Moderation/ModerationRequest.php @@ -2,11 +2,11 @@ namespace MyBB\Core\Http\Requests\Moderation; -use MyBB\Core\Http\Requests\Request; +use MyBB\Core\Http\Requests\AbstractRequest; use MyBB\Core\Moderation\ModerationRegistry; use MyBB\Core\Repository\RepositoryFactory; -class ModerationRequest extends Request +class ModerationRequest extends AbstractRequest { /** * @var ModerationRegistry diff --git a/public/assets/css/main.css b/public/assets/css/main.css index 2d2b1492..bacfe715 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -3780,8 +3780,12 @@ section.container .forum-list { text-align: center; display: inline-block; } .topic-list .topic-list__sort-topics a.latest-column { - width: 30%; + width: 20%; text-align: left; } + .topic-list .topic-list__sort-topics a.moderation-column { + width: 9%; + float: left; + text-align: right; } .topic-list .topic { padding: 10px 12px; } .topic-list .topic .primary-column { @@ -3801,8 +3805,12 @@ section.container .forum-list { margin: 10px 0; float: none; } .topic-list .topic .latest-column { - width: 30%; + width: 20%; float: left; } + .topic-list .topic .moderation-column { + width: 9%; + float: left; + text-align: right; } .topic-list .topic .topic__post--first { display: inline-block; } .topic-list .topic .topic__post--latest .post__author { diff --git a/public/assets/css/main.min.css b/public/assets/css/main.min.css index 2795e55e..fc5dfa80 100644 --- a/public/assets/css/main.min.css +++ b/public/assets/css/main.min.css @@ -1,6 +1,6 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */img,legend{border:0}legend,td,th{padding:0}.fa-ul>li,sub,sup{position:relative}#search .search__container,#search .search__controls,.menu-bar ul li a,.topic-list .topic-list__sort-topics a,select,textarea{-ms-box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}.fa,.fa-stack{display:inline-block}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}/*! * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.3.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.3.0) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.3.0) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.3.0) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before,.fa-genderless:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.dropdown{position:absolute;z-index:9999999;display:none}.dropdown .dropdown-menu,.dropdown .dropdown-panel{min-width:160px;max-width:360px;list-style:none;background:#FFF;border:1px solid #DDD;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2);overflow:visible;padding:4px 0;margin:0}.dropdown .dropdown-panel{padding:10px}.dropdown.dropdown-tip{margin-top:8px}.dropdown.dropdown-tip:before{position:absolute;top:-6px;left:9px;content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #CCC;border-bottom-color:rgba(0,0,0,.2);display:inline-block}.dropdown.dropdown-tip.dropdown-anchor-right:before{left:auto;right:9px}.dropdown.dropdown-tip:after{position:absolute;top:-5px;left:10px;content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #FFF;display:inline-block}.dropdown.dropdown-tip.dropdown-anchor-right:after{left:auto;right:10px}.dropdown.dropdown-scroll .dropdown-menu,.dropdown.dropdown-scroll .dropdown-panel{max-height:358px;overflow:auto}.dropdown .dropdown-menu LI{list-style:none;padding:0;margin:0;line-height:18px}.dropdown .dropdown-menu LABEL,.dropdown .dropdown-menu LI>A{display:block;color:#555;text-decoration:none;line-height:18px;padding:3px 15px;margin:0;white-space:nowrap}.dropdown .dropdown-menu LABEL:hover,.dropdown .dropdown-menu LI>A:hover{background-color:#08C;color:#FFF;cursor:pointer}.dropdown .dropdown-menu .dropdown-divider{font-size:1px;border-top:solid 1px #E5E5E5;padding:0;margin:5px 0}.dropdown.has-icons LI>A{padding-left:30px;background-position:8px center;background-repeat:no-repeat}.dropdown .undo A{background-image:url(icons/arrow-curve-180-left.png)}.dropdown .redo A{background-image:url(icons/arrow-curve.png)}.dropdown .cut A{background-image:url(icons/scissors.png)}.dropdown .copy A{background-image:url(icons/document-copy.png)}.dropdown .paste A{background-image:url(icons/clipboard.png)}.dropdown .delete A{background-image:url(icons/cross-script.png)}.xdsoft_datetimepicker{box-shadow:0 5px 15px -5px rgba(0,0,0,.506);background:#FFF;border-bottom:1px solid #BBB;border-left:1px solid #CCC;border-right:1px solid #CCC;border-top:1px solid #CCC;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:2px 8px 8px 0;position:absolute;z-index:9999;box-sizing:border-box;display:none}.xdsoft_datetimepicker iframe{position:absolute;left:0;top:0;width:75px;height:210px;background:0 0;border:none}.xdsoft_datetimepicker button{border:none!important}.xdsoft_noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.xdsoft_noselect::selection{background:0 0}.xdsoft_noselect::-moz-selection{background:0 0}.xdsoft_datetimepicker.xdsoft_inline{display:inline-block;position:static;box-shadow:none}.xdsoft_datetimepicker *{box-sizing:border-box;padding:0;margin:0}.xdsoft_datetimepicker .xdsoft_datepicker,.xdsoft_datetimepicker .xdsoft_timepicker{display:none}.xdsoft_datetimepicker .xdsoft_datepicker.active,.xdsoft_datetimepicker .xdsoft_timepicker.active{display:block}.xdsoft_datetimepicker .xdsoft_datepicker{width:224px;float:left;margin-left:8px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{width:256px}.xdsoft_datetimepicker .xdsoft_timepicker{width:58px;float:left;text-align:center;margin-left:8px;margin-top:0}.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{margin-top:8px;margin-bottom:3px}.xdsoft_datetimepicker .xdsoft_mounthpicker{position:relative;text-align:center}.xdsoft_datetimepicker .xdsoft_label i,.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC)}.xdsoft_datetimepicker .xdsoft_label i{opacity:.5;background-position:-92px -19px;display:inline-block;width:9px;height:20px;vertical-align:middle}.xdsoft_datetimepicker .xdsoft_prev{float:left;background-position:-20px 0}.xdsoft_datetimepicker .xdsoft_today_button{float:left;background-position:-70px 0;margin-left:5px}.xdsoft_datetimepicker .xdsoft_next{float:right;background-position:0 0}.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-color:transparent;background-repeat:no-repeat;border:0;cursor:pointer;display:block;height:30px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";outline:currentColor;overflow:hidden;padding:0;position:relative;text-indent:100%;white-space:nowrap;width:20px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{float:none;background-position:-40px -15px;height:15px;width:30px;display:block;margin-left:14px;margin-top:7px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{background-position:-40px 0;margin-bottom:7px;margin-top:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{height:151px;overflow:hidden;border-bottom:1px solid #DDD}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:#F5F5F5;border-top:1px solid #DDD;color:#666;font-size:12px;text-align:center;border-collapse:collapse;cursor:pointer;border-bottom-width:0;height:25px;line-height:25px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:first-child{border-top-width:0}.xdsoft_datetimepicker .xdsoft_next:hover,.xdsoft_datetimepicker .xdsoft_prev:hover,.xdsoft_datetimepicker .xdsoft_today_button:hover{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.xdsoft_datetimepicker .xdsoft_label{display:inline;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff;float:left;width:182px;text-align:center;cursor:pointer}.xdsoft_datetimepicker .xdsoft_label:hover>span{text-decoration:underline}.xdsoft_datetimepicker .xdsoft_label:hover i{opacity:1}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{border:1px solid #ccc;position:absolute;right:0;top:30px;z-index:101;display:none;background:#fff;max-height:160px;overflow-y:hidden}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect{right:-7px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect{right:2px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#fff;background:#ff8000}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option{padding:2px 10px 2px 5px;text-decoration:none!important}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#3AF;box-shadow:#178FE5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_month{width:100px;text-align:right}.xdsoft_datetimepicker .xdsoft_calendar{clear:both}.xdsoft_datetimepicker .xdsoft_year{width:48px;margin-left:5px}.xdsoft_datetimepicker .xdsoft_calendar table{border-collapse:collapse;width:100%}.xdsoft_datetimepicker .xdsoft_calendar td>div{padding-right:5px}.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{width:14.28571%;background:#F5F5F5;border:1px solid #DDD;color:#666;font-size:12px;text-align:right;vertical-align:middle;padding:0;border-collapse:collapse;cursor:pointer;height:25px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{width:12.5%}.xdsoft_datetimepicker .xdsoft_calendar th{background:#F1F1F1}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:#3AF}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#3AF;box-shadow:#178FE5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,.xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled{opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"}.xdsoft_datetimepicker .xdsoft_calendar td:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#fff!important;background:#ff8000!important;box-shadow:none!important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled:hover{color:inherit!important;background:inherit!important;box-shadow:inherit!important}.xdsoft_datetimepicker .xdsoft_calendar th{font-weight:700;text-align:center;color:#999;cursor:default}.xdsoft_datetimepicker .xdsoft_copyright{color:#ccc!important;font-size:10px;clear:both;float:none;margin-left:8px}.xdsoft_datetimepicker .xdsoft_copyright a{color:#eee!important}.xdsoft_datetimepicker .xdsoft_copyright a:hover{color:#aaa!important}.xdsoft_time_box{position:relative;border:1px solid #ccc}.xdsoft_scrollbar>.xdsoft_scroller{background:#ccc!important;height:20px;border-radius:3px}.xdsoft_scrollbar{position:absolute;width:7px;right:0;top:0;bottom:0;cursor:pointer}.xdsoft_scroller_box{position:relative}.xdsoft_datetimepicker.xdsoft_dark{box-shadow:0 5px 15px -5px rgba(255,255,255,.506);background:#000;border-bottom:1px solid #444;border-left:1px solid #333;border-right:1px solid #333;border-top:1px solid #333;color:#ccc}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{border-bottom:1px solid #222}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div{background:#0a0a0a;border-top:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{background-color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select{border:1px solid #333;background:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#000;background:#007fff}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==)}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0a0a0a;border:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0e0e0e}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{color:#c50}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#000!important;background:#007fff!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{color:#666}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{color:#333!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{color:#111!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{color:#555!important}.xdsoft_dark .xdsoft_time_box{border:1px solid #333}.xdsoft_dark .xdsoft_scrollbar>.xdsoft_scroller{background:#333!important}/*! + */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.3.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0)format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.3.0)format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.3.0)format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.3.0)format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular)format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before,.fa-genderless:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.dropdown.dropdown-tip:after,.dropdown.dropdown-tip:before{display:inline-block;content:''}.dropdown{position:absolute;z-index:9999999;display:none}.dropdown .dropdown-menu,.dropdown .dropdown-panel{min-width:160px;max-width:360px;list-style:none;background:#FFF;border:1px solid #DDD;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2);overflow:visible;padding:4px 0;margin:0}.dropdown .dropdown-panel{padding:10px}.dropdown.dropdown-tip{margin-top:8px}.dropdown.dropdown-tip:before{position:absolute;top:-6px;left:9px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #CCC;border-bottom-color:rgba(0,0,0,.2)}.dropdown.dropdown-tip.dropdown-anchor-right:before{left:auto;right:9px}.dropdown.dropdown-tip:after{position:absolute;top:-5px;left:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #FFF}.sort-results h3:after,dl.stats dt:after{content:":"}.dropdown.dropdown-tip.dropdown-anchor-right:after{left:auto;right:10px}.dropdown.dropdown-scroll .dropdown-menu,.dropdown.dropdown-scroll .dropdown-panel{max-height:358px;overflow:auto}.dropdown .dropdown-menu LI{list-style:none;padding:0;margin:0;line-height:18px}.dropdown .dropdown-menu LABEL,.dropdown .dropdown-menu LI>A{display:block;color:#555;text-decoration:none;line-height:18px;padding:3px 15px;margin:0;white-space:nowrap}.dropdown .dropdown-menu LABEL:hover,.dropdown .dropdown-menu LI>A:hover{background-color:#08C;color:#FFF;cursor:pointer}.dropdown .dropdown-menu .dropdown-divider{font-size:1px;border-top:solid 1px #E5E5E5;padding:0;margin:5px 0}.dropdown.has-icons LI>A{padding-left:30px;background-position:8px center;background-repeat:no-repeat}.dropdown .undo A{background-image:url(icons/arrow-curve-180-left.png)}.dropdown .redo A{background-image:url(icons/arrow-curve.png)}.dropdown .cut A{background-image:url(icons/scissors.png)}.dropdown .copy A{background-image:url(icons/document-copy.png)}.dropdown .paste A{background-image:url(icons/clipboard.png)}.dropdown .delete A{background-image:url(icons/cross-script.png)}.xdsoft_datetimepicker{box-shadow:0 5px 15px -5px rgba(0,0,0,.506);background:#FFF;border-bottom:1px solid #BBB;border-left:1px solid #CCC;border-right:1px solid #CCC;border-top:1px solid #CCC;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:2px 8px 8px 0;position:absolute;z-index:9999;box-sizing:border-box;display:none}.xdsoft_datetimepicker iframe{position:absolute;left:0;top:0;width:75px;height:210px;background:0 0;border:none}.xdsoft_datetimepicker button{border:none!important}.xdsoft_noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.xdsoft_noselect::selection{background:0 0}.xdsoft_noselect::-moz-selection{background:0 0}.xdsoft_datetimepicker.xdsoft_inline{display:inline-block;position:static;box-shadow:none}.xdsoft_datetimepicker *{box-sizing:border-box;padding:0;margin:0}.xdsoft_datetimepicker .xdsoft_datepicker,.xdsoft_datetimepicker .xdsoft_timepicker{display:none}.xdsoft_datetimepicker .xdsoft_datepicker.active,.xdsoft_datetimepicker .xdsoft_timepicker.active{display:block}.xdsoft_datetimepicker .xdsoft_datepicker{width:224px;float:left;margin-left:8px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{width:256px}.xdsoft_datetimepicker .xdsoft_timepicker{width:58px;float:left;text-align:center;margin-left:8px;margin-top:0}.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{margin-top:8px;margin-bottom:3px}.xdsoft_datetimepicker .xdsoft_mounthpicker{position:relative;text-align:center}.xdsoft_datetimepicker .xdsoft_label i,.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC)}.xdsoft_datetimepicker .xdsoft_label i{opacity:.5;background-position:-92px -19px;display:inline-block;width:9px;height:20px;vertical-align:middle}.xdsoft_datetimepicker .xdsoft_prev{float:left;background-position:-20px 0}.xdsoft_datetimepicker .xdsoft_today_button{float:left;background-position:-70px 0;margin-left:5px}.xdsoft_datetimepicker .xdsoft_next{float:right;background-position:0 0}.xdsoft_datetimepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_prev,.xdsoft_datetimepicker .xdsoft_today_button{background-color:transparent;background-repeat:no-repeat;border:0;cursor:pointer;display:block;height:30px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";outline:currentColor;overflow:hidden;padding:0;position:relative;text-indent:100%;white-space:nowrap;width:20px}#search .search__field,.button:active,.button:hover,.stepper .stepper-input:focus,a.button:active,a.button:hover,a:focus,button:focus,select,textarea{outline:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{float:none;background-position:-40px -15px;height:15px;width:30px;display:block;margin-left:14px;margin-top:7px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{background-position:-40px 0;margin-bottom:7px;margin-top:0}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{height:151px;overflow:hidden;border-bottom:1px solid #DDD}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div{background:#F5F5F5;border-top:1px solid #DDD;color:#666;font-size:12px;text-align:center;border-collapse:collapse;cursor:pointer;border-bottom-width:0;height:25px;line-height:25px}.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:first-child{border-top-width:0}.xdsoft_datetimepicker .xdsoft_next:hover,.xdsoft_datetimepicker .xdsoft_prev:hover,.xdsoft_datetimepicker .xdsoft_today_button:hover{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.xdsoft_datetimepicker .xdsoft_label{display:inline;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff;float:left;width:182px;text-align:center;cursor:pointer}.xdsoft_datetimepicker .xdsoft_label:hover>span{text-decoration:underline}.xdsoft_datetimepicker .xdsoft_label:hover i{opacity:1}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select{border:1px solid #ccc;position:absolute;right:0;top:30px;z-index:101;display:none;background:#fff;max-height:160px;overflow-y:hidden}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_monthselect{right:-7px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select.xdsoft_yearselect{right:2px}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#fff;background:#ff8000}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option{padding:2px 10px 2px 5px;text-decoration:none!important}.xdsoft_datetimepicker .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#3AF;box-shadow:#178FE5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_month{width:100px;text-align:right}.xdsoft_datetimepicker .xdsoft_calendar{clear:both}.xdsoft_datetimepicker .xdsoft_year{width:48px;margin-left:5px}.xdsoft_datetimepicker .xdsoft_calendar table{border-collapse:collapse;width:100%}.xdsoft_datetimepicker .xdsoft_calendar td>div{padding-right:5px}.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{width:14.28571%;background:#F5F5F5;border:1px solid #DDD;color:#666;font-size:12px;text-align:right;vertical-align:middle;padding:0;border-collapse:collapse;cursor:pointer;height:25px}.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{width:12.5%}.xdsoft_datetimepicker .xdsoft_calendar th{background:#F1F1F1}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{color:#3AF}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#3AF;box-shadow:#178FE5 0 1px 3px 0 inset;color:#fff;font-weight:700}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,.xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled{opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"}.xdsoft_datetimepicker .xdsoft_calendar td:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#fff!important;background:#ff8000!important;box-shadow:none!important}.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_disabled:hover{color:inherit!important;background:inherit!important;box-shadow:inherit!important}.xdsoft_datetimepicker .xdsoft_calendar th{font-weight:700;text-align:center;color:#999;cursor:default}.xdsoft_datetimepicker .xdsoft_copyright{color:#ccc!important;font-size:10px;clear:both;float:none;margin-left:8px}.xdsoft_datetimepicker .xdsoft_copyright a{color:#eee!important}.xdsoft_datetimepicker .xdsoft_copyright a:hover{color:#aaa!important}.xdsoft_time_box{position:relative;border:1px solid #ccc}.xdsoft_scrollbar>.xdsoft_scroller{background:#ccc!important;height:20px;border-radius:3px}.xdsoft_scrollbar{position:absolute;width:7px;right:0;top:0;bottom:0;cursor:pointer}.xdsoft_scroller_box{position:relative}.xdsoft_datetimepicker.xdsoft_dark{box-shadow:0 5px 15px -5px rgba(255,255,255,.506);background:#000;border-bottom:1px solid #444;border-left:1px solid #333;border-right:1px solid #333;border-top:1px solid #333;color:#ccc}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{border-bottom:1px solid #222}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div{background:#0a0a0a;border-top:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{background-color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select{border:1px solid #333;background:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option:hover{color:#000;background:#007fff}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label>.xdsoft_select>div>.xdsoft_option.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==)}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0a0a0a;border:1px solid #222;color:#999}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{background:#0e0e0e}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{color:#c50}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current{background:#c50;box-shadow:#b03e00 0 1px 3px 0 inset;color:#000}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box>div>div:hover{color:#000!important;background:#007fff!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{color:#666}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{color:#333!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{color:#111!important}.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{color:#555!important}.xdsoft_dark .xdsoft_time_box{border:1px solid #333}.xdsoft_dark .xdsoft_scrollbar>.xdsoft_scroller{background:#333!important}/*! * MyBB 2.0 - http://mybb.com - @mybb - MIT license -*/h1.title{float:left;margin:10px 2% 5px 0}h1.title a#logo{background-image:url(../images/logo_mobile.png);background-repeat:no-repeat;background-position:top left;width:137px;height:40px;display:block}h1.title a#logo span{display:none}.main-menu{float:right;margin:25px 0 0}.menu-bar ul{margin:0;padding:0;list-style:none}.menu-bar ul li a{display:block;margin-bottom:10px;padding:8px 0;width:48%;margin-left:1%;margin-right:1%;float:left;text-align:center;background:#fafafa;-ms-box-sizing:border-box;box-sizing:border-box}.menu-bar ul li .unread-count{background:#eb5257;color:#fff;padding:2px 5px 1px 4px;margin:0 0 0 2px;font-weight:400;font-size:.8em;text-decoration:none;border-radius:2px}.main-menu__container{display:none}.main-menu__button{padding-top:5px;display:inline-block;float:right}.main-menu__button i{font-size:21px;color:#444}.main-menu__button span.text{display:none}.user-navigation{clear:both;background:#444;border-top:2px solid #222;border-bottom:2px solid #222}.user-navigation .wrapper{padding:0}.user-navigation__links{margin:0 -8px;list-style:none}.user-navigation__links>li{float:left;margin:0;padding:12px 6px;position:relative}.user-navigation__links>li>a:link,.user-navigation__links>li>a:visited{color:#fff;padding:2px 8px;display:inline-block;margin:-3px 0 -2px;border-radius:4px}.user-navigation__links>li>a:active,.user-navigation__links>li>a:hover{background-color:#333;text-decoration:none}.user-navigation__links>li.dropit-link{padding:12px 0;border-left:2px solid transparent;border-right:2px solid transparent}.user-navigation__links>li.dropit-link i.fa-caret-down{font-size:14px;color:rgba(255,255,255,.7)}.user-navigation__links>li.dropit-link i.fa-caret-up{display:none}.user-navigation__links>li.dropit-link.dropit-open{background:#f2f2f2;border:2px solid #dfdfdf;border-bottom-color:#f2f2f2;margin:-2px 0}.user-navigation__links>li.dropit-link.dropit-open>a{background:0 0;color:#444;border-radius:0}.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-up{display:inline;font-size:14px;color:rgba(0,0,0,.7)}.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-down{display:none}.user-navigation__links .user-navigation__active-user>a>span.text{font-weight:700}.user-navigation__links .user-navigation__sign-up>a{background-color:#007fd0}.user-navigation__links .user-navigation__sign-up>a:hover{background-color:#ff7500}.user-navigation__links .user-navigation__messages>a>span.text,.user-navigation__links .user-navigation__notifications>a>span.text{display:none}.user-navigation__links .unread-count{background:#eb5257;color:#fff;border-radius:2px;padding:2px 5px 1px 4px;margin:0 0 0 2px;font-weight:400;font-size:.8em;text-decoration:none}.user-navigation ul .user-navigation__dropdown{display:none;background:#f2f2f2;border-radius:0 4px 4px;border:2px solid #dfdfdf;border-top:0;padding:6px 12px 12px;font-size:.9em;left:-2px;width:270px}.user-navigation ul .user-navigation__dropdown ul{margin:0;padding:0;list-style:none}.user-navigation ul .user-navigation__dropdown li{float:none;margin:0;padding:0;display:block;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown li a{display:block;margin:0;padding:4px;float:none;border-left:0;text-align:left;background:0 0}.user-navigation ul .user-navigation__dropdown li a i{color:rgba(0,0,0,.3);padding-right:8px}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link{float:right;width:80px;height:80px;margin:6px 0 0}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link img.avatar{width:80px;height:80px}.user-navigation ul .user-navigation__dropdown .messages-container,.user-navigation ul .user-navigation__dropdown .notifications-container{background:#fafafa;border:1px solid #dfdfdf;border-radius:3px;margin:10px 0 0}.user-navigation ul .user-navigation__dropdown h2{font-size:1em;margin:0;padding:8px 12px 8px 8px;color:#444;background:#eee;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown h2 a:link,.user-navigation ul .user-navigation__dropdown h2 a:visited{color:#444;display:inline-block;background:0 0}.user-navigation ul .user-navigation__dropdown h2 a:active,.user-navigation ul .user-navigation__dropdown h2 a:hover{color:#ff7500}.user-navigation ul .user-navigation__dropdown h2 a.option{float:right}.user-navigation ul .user-navigation__dropdown h2 a.option span.text{display:none}.user-navigation ul .user-navigation__dropdown h2 a.option i{color:rgba(0,0,0,.5)}.user-navigation ul .user-navigation__dropdown h2 a.option:hover i{color:rgba(0,0,0,.6)}.user-navigation ul .user-navigation__dropdown ul.notifications{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.notifications a{text-decoration:none;padding:8px 8px 8px 16px;overflow:hidden}.user-navigation ul .user-navigation__dropdown ul.notifications a:hover span.text{text-decoration:underline}.user-navigation ul .user-navigation__dropdown ul.notifications span.username{font-weight:700}.user-navigation ul .user-navigation__dropdown ul.notifications i{color:rgba(0,0,0,.3);font-size:14px;margin:4px 0 4px -8px;float:left}.user-navigation ul .user-navigation__dropdown ul.messages{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.messages li{padding:8px;color:#666}.user-navigation ul .user-navigation__dropdown ul.messages li a{padding:0}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link{float:left;margin:0 8px 0 0;width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link img.avatar{width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.conversation-title{font-weight:700;display:block;font-size:1.1em}.user-navigation ul .user-navigation__dropdown ul.messages a.message-author{display:inline-block}.user-navigation ul .user-navigation__dropdown time{font-size:.9em;margin:3px 0 0 4px;color:#666;float:right}.user-navigation ul .user-navigation__dropdown .view-all{padding:0}.user-navigation ul .user-navigation__dropdown .view-all a{text-align:center;padding:8px}#search .search__button{color:#999;float:right;margin:8px 0 0;padding:5px 2px}#search .search__button i{font-size:18px}#search .search__button .text{display:none}#search .search__button:hover{color:#ccc}#search .search__container{clear:both;display:none;border-radius:4px;padding:2px 5px;cursor:text;background:#fff;margin:0 0 8px;width:auto;-ms-box-sizing:border-box;box-sizing:border-box}#search .search__field{border:0;padding:0;margin:0;width:74%;font-size:.9em;outline:0}#search .search__controls{width:24%;text-align:right;float:right;padding-right:8px;-ms-box-sizing:border-box;box-sizing:border-box}#search a.search__advanced,#search button.search__submit{height:24px;margin:0 0 0 8px;padding:0;border:0;cursor:pointer;background:0 0;color:#999;font-size:14px}#search a.search__advanced .text,#search button.search__submit .text{display:none}#search a.search__advanced:hover,#search button.search__submit:hover{color:#666}.breadcrumb{display:block;font-size:.8em;color:#ccc;padding:0;margin:0 0 10px}.breadcrumb a:active,.breadcrumb a:hover,.breadcrumb a:link,.breadcrumb a:visited{color:#666}.breadcrumb i{color:#666;margin:0 4px 0 6px}footer{border-top:1px solid #dfdfdf;background:#fafafa;border-bottom:1px solid #dfdfdf;margin-bottom:30px}footer h3{float:none;font-size:.9em;text-align:center;display:block}footer .menu-bar a{padding:5px 12px;font-size:.9em}footer p.powered-by{clear:both;font-size:.8em;color:#666;padding:10px 0;margin:0}footer p.powered-by a{color:#444}@media only screen and (max-width:768px){.main-menu.menu-bar{margin-top:10px}.main-menu.menu-bar:hover .main-menu__container{position:absolute;right:0;float:right;width:100%;padding-top:45px;display:block}.main-menu.menu-bar:hover ul{display:block;position:relative;top:0;border-top:2px solid #222;border-bottom:2px solid #222;right:0;z-index:500;background:#444;padding:1px 2px 2px;text-align:center}.main-menu.menu-bar:hover ul li{display:inline-block}.main-menu.menu-bar:hover ul li a{width:auto;display:inline-block;margin:4px;padding:7px 8px 6px;float:none;background:0 0;border-radius:4px}.main-menu.menu-bar:hover ul li a:link,.main-menu.menu-bar:hover ul li a:visited{color:#fff}.main-menu.menu-bar:hover ul li a:active,.main-menu.menu-bar:hover ul li a:hover{background:#333;color:#fff;text-decoration:none}}@media only screen and (min-width:768px){h1.title{margin:20px 2% 15px 0}h1.title a#logo{background-image:url(../images/logo2.png);width:188px;height:55px}.main-menu{margin-top:25px}.main-menu__button{display:none}.main-menu__container{display:block}.main-menu.menu-bar ul li{display:inline-block}.menu-bar ul li a{width:auto;background:0 0;border-left:1px solid #dfdfdf;margin:0;padding:2px 12px}.main-menu.menu-bar ul li:first-child a{border-left:0}#search .search__button{display:none}#search .search__container{float:right;display:block;width:35%;clear:none;margin-top:10px}footer{padding:20px 0 10px}footer h3{margin:0;float:left;padding:3px 12px 3px 0}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}@media all and (-webkit-min-device-pixel-ratio:2){.title a#logo{background-image:url(../images/logo2@2x.png);background-size:188px 55px}}@media all and (-webkit-min-device-pixel-ratio:2),(max-width:768px){.title a#logo{background-image:url(../images/logo_mobile@2x.png);background-size:137px 40px}}button,html,input,select,textarea{color:#222}::-moz-selection{background:#ff7500;color:#fff;text-shadow:none}::selection{background:#ff7500;color:#fff;text-shadow:none}body{margin:0;font:16px/26px Open Sans,Helvetica Neue,Helvetica,Arial;background:#fff}.wrapper{width:90%;margin:0 5%}button,input,select,textarea{font:16px Open Sans,Helvetica Neue,Helvetica,Arial}a:link,a:visited{color:#007fd0;text-decoration:none}a:active,a:hover{color:#ff7500;text-decoration:underline}a:focus,button:focus{outline:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.main{padding:15px 0 30px}.main header{margin-bottom:20px}.main header h1{font-size:1.5em;margin:0 0 10px;padding:0}.main header p{color:#666;font-size:.9em;margin:0 0 10px}.main .page-content--menu header h1{font-size:1.2em;margin-bottom:0}.main aside{padding-bottom:10px;font-size:.9em;margin-top:30px}.main aside section{border:1px solid #dfdfdf;padding:12px 15px;margin-bottom:30px;border-radius:4px}.main .page-buttons{margin:-10px -5px 15px;text-align:center}.main .pagination{list-style:none;margin:0 0 25px -5px;padding:0;font-size:.9em;text-align:center}.main .pagination li{display:inline-block;margin:0 5px}.main .pagination li a{background:#fafafa;padding:1px 8px;display:inline-block;border-radius:4px}.main .pagination li a:hover{background:#ff7500;color:#fff;text-decoration:none}.main .pagination li.active{padding:1px 8px;background:#007fd0;color:#fff;border-radius:4px}.main .pagination li.disabled{display:none}section{margin-bottom:30px}section h2{font-size:1.2em}section .heading{border-bottom:1px solid #dfdfdf;padding:8px;margin:0 0 5px}section .heading--linked{border-bottom:0;padding:0}section .heading--linked a{padding:8px 12px;border-bottom:1px solid #dfdfdf;text-decoration:none;display:block}section .heading--linked a .count{float:right;font-size:.8em;color:#666;font-weight:400}section .heading--linked a .count i{margin-left:4px}section .heading--major{background:#007fd0;color:#fff;border:0;padding:8px 12px;margin-bottom:0;border-radius:4px}section .heading--major.heading--linked{padding:0}section .heading--major.heading--linked a{border:none;color:#fff;text-decoration:none}section .heading--major.heading--linked a .count{color:rgba(255,255,255,.7)}section .heading--major.heading--linked a:active,section .heading--major.heading--linked a:hover{text-decoration:underline}section .heading--major.heading--linked a:active .count,section .heading--major.heading--linked a:hover .count{color:#fff}section .page-tabs{list-style:none;margin:0;background:#fafafa;padding:8px;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf}section .page-tabs li{display:inline-block;margin:0 8px 0 0}section .page-tabs li a{padding:4px 8px;display:inline-block;background:#fafafa;border-radius:3px}section .page-tabs li a:hover{text-decoration:none;background:#ff7500;color:#fff}section .page-tabs li.page-tabs__active a,section .page-tabs li.page-tabs__active a:hover{color:#fff;font-weight:700;background:#007fd0;text-decoration:none}section.container{border:1px solid #dfdfdf;border-radius:4px}section:last-child{margin-bottom:0}nav.section-menu ul{margin:0 0 15px;padding:0;list-style:none}nav.section-menu ul li{float:left;width:48%;margin-bottom:4px}nav.section-menu ul li:nth-child(odd){margin-right:2%}nav.section-menu ul li:nth-child(even){margin-left:2%}nav.section-menu ul li a{background:#fafafa;display:block;padding:2px 8px;text-decoration:none;border-radius:3px}nav.section-menu ul li a:hover{background-color:#ff7500;border-color:#ff7500;color:#fff}nav.section-menu ul li a i{padding-right:5px}nav.section-menu ul li.active a{background-color:#007fd0;border-color:#007fd0;color:#fff}img.avatar{border-radius:4px}.button,a.button{color:#fff;background:#007fd0;border:1px solid #007fd0;padding:4px 10px;margin:5px;font-size:.9em;text-decoration:none;display:inline-block;border-radius:4px}.button:hover,a.button:hover{background:#ff7500;border-color:#ff7500}.button.button--secondary,a.button.button--secondary{border:1px solid #dfdfdf;background:0 0;color:#007fd0}.button.button--secondary:hover,a.button.button--secondary:hover{color:#ff7500}.button i,a.button i{margin-right:5px;font-size:14px}.button:active,.button:hover,a.button:active,a.button:hover{outline:0}dl.stats{line-height:1.6;margin:0;font-size:.9em;display:table-cell}dl.stats dt{float:left;margin:0 8px 0 0;color:#999}dl.stats dt:after{content:":"}dl.stats dd{padding:0;margin:0;display:table-cell}.alert{background-color:#fafafa;padding:10px 12px 10px 40px;margin-top:10px;margin-bottom:20px;font-size:.9em;border-radius:4px}.alert i{float:left;margin:6px 0 0 -25px}.alert p{margin:0;padding:0}.alert.alert--danger{background-color:#c00;color:#fff}.alert.alert--success{background-color:#018303;color:#fff}.error-no-results{text-align:center;padding:30px 0;font-size:1.2em;color:#666}.sort-results{text-align:center;border:1px solid #ccc;border-top:2px solid #dfdfdf;padding:6px 0;border-radius:0 0 4px 4px}.sort-results h3{display:inline-block;margin:0 10px 0 0;padding:0;font-weight:400;color:#666;font-size:.9em}.sort-results h3:after{content:":"}@media only screen and (min-width:768px){.main .page-content--sidebar{float:left;width:60%}.main .page-content--centered{width:60%;float:none;margin:auto}.main .page-content--menu{float:left;width:78%}.main aside{float:right;width:35%;margin-top:0}.main .page-buttons{float:right;margin:-45px -5px 8px 0}.main .pagination{text-align:right;margin:0 -5px 25px}.main .page-controls{margin-top:-20px}.main .page-controls .page-buttons{margin-top:0}.main .page-controls .pagination{float:left;text-align:left;margin:10px -5px 0}.main .page-controls .pagination+.page-buttons{margin-top:0}.main header+.page-controls{margin-top:-20px}.main header+.page-controls .page-buttons{margin-top:-30px}nav.section-menu{float:left;width:19%;margin-right:3%}nav.section-menu ul{margin:0}nav.section-menu ul li,nav.section-menu ul li:nth-child(even),nav.section-menu ul li:nth-child(odd){float:none;width:100%;margin-left:0;margin-right:0}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}input[type=text],input[type=url],input[type=email],input[type=password],input[type=number]{border:1px solid #ccc;padding:6px;width:100%;font-size:.9em;outline:0;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}select{border:1px solid #ccc;padding:4px;font-size:.9em;outline:0;max-width:100%;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}select[multiple=multiple]{width:100%;height:200px}input.short{width:50px;font:12px Open Sans,Helvetica Neue,Helvetica,Arial}input.small{width:50px;margin-left:6px;margin-right:6px}textarea{border:1px solid #ccc;padding:6px;width:100%;font-size:.9em;outline:0;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}section.form{border:1px solid #dfdfdf;margin-bottom:10px;border-radius:4px}section.form .form__section{padding:16px 12px;border-bottom:2px solid #dfdfdf}section.form .form__section h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc}section.form .form__section:last-child{border-bottom:0}section.form .form__row{border-bottom:1px solid #dfdfdf;padding:12px 8px}section.form .form__row h3{margin:0 0 5px;padding:0;font-size:1em}section.form .form__row h4{font-size:.9em;font-weight:400;text-transform:uppercase;color:#007fd0;margin:0}section.form .form__row:first-child{padding-top:0}section.form .form__row:last-child{border-bottom:0;padding-bottom:6px}section.form p.form__checkbox{font-size:.9em;margin:5px 0;padding:0 0 0 30px}section.form p.form__checkbox input[type=checkbox]{float:left;margin:6px 0 0 -26px}section.form p.form__checkbox i{color:#999;padding-right:5px;width:16px;font-size:14px;text-align:center;display:inline-block}section.form p.form__checkbox:last-child{margin-bottom:0}section.form p.form__description{font-size:.8em;line-height:1.4;color:#666;margin:-4px 0 4px}section.form p.form__data{margin:0;font-size:.9em}section.form label{cursor:pointer}section.form .topic-title{font-size:1.3em}section.form .buttons{margin:-5px}.form__submit{text-align:center;padding:10px 0}.form__submit .button{font-size:1em;padding:6px 12px}.form__submit .button i{font-size:18px;margin-right:8px}.segmented-control{margin:5px 0 0;border:1px solid #ccc;font-size:.8em;display:inline-block;border-radius:4px}.segmented-control .segmented-control__block{display:inline-block}.segmented-control .segmented-control__button{display:block;padding:3px 8px;margin:0;border-left:1px solid #ccc;border-right:1px solid transparent;position:relative;z-index:10;cursor:pointer}.segmented-control .segmented-control__button i{margin:0 6px 0 0;float:none}.segmented-control :first-child .segmented-control__button{border-left:1px solid transparent;border-radius:4px 0 0 4px}.segmented-control :last-child .segmented-control__button{border-radius:0 4px 4px 0}.segmented-control input{position:absolute;visibility:hidden}.segmented-control input:checked+.segmented-control__button{background:#007fd0;color:#fff;margin:-1px;border:1px solid #007fd0;z-index:15}.segmented-control input:checked+.segmented-control__button i{color:#fff}.select-control{font-size:.8em}.select-control .select-control__block{display:block;margin:0 0 5px;padding:0}.select-control .select-control__button{display:block;padding:3px 8px;margin:5px 10px 0 0;background:#fafafa;cursor:pointer;border-radius:4px}.select-control .select-control__button i{color:rgba(0,0,0,.4);margin:0 4px 0 0}.select-control input{position:absolute;visibility:hidden}.select-control input:checked+.select-control__button{background:#ccc}.select-control input:checked+.select-control__button i{color:rgba(0,0,0,.6)}@media only screen and (min-width:768px){section.form .form__section{padding:20px 12px}section.form .form__section h2{border:0;float:left;margin:0;padding:0;width:20%;text-align:right}section.form .form__section__container{float:left;margin:0 0 0 3%;padding:0 0 0 20px;border-left:1px dotted #ccc;width:74%;-ms-box-sizing:border-box;box-sizing:border-box}}.forum-list .forum{padding:12px;border-bottom:1px solid #ccc;line-height:1.4}.forum-list .forum .forum__title{margin:0 0 4px;font-size:1em}.forum-list .forum .forum__description{font-size:.8em;margin:0;padding:2px 0 4px;color:#444}.forum-list .forum .forum__subforums{list-style:none;margin:2px 0 4px 20px;padding:0;font-size:.8em}.forum-list .forum .forum__subforums li{display:inline-block;margin:0 12px 4px 0}.forum-list .forum .forum__subforums i.fa-level-up{margin:1px 0 0 -16px;color:#999;float:left;font-size:14px;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg)}.forum-list .forum .forum__topic{margin-top:6px;padding:10px 0 0 2px;border-top:1px dotted #dfdfdf}.forum-list .forum .forum__topic .avatar-profile-link{width:24px;height:24px;margin:-3px 12px 0 0}.forum-list .forum .forum__topic .avatar-profile-link img.avatar{width:24px;height:24px}.forum-list .forum .forum__topic .forum__topic__title{display:inline-block;margin:0 8px 0 0;padding:0;font-weight:400}.forum-list .forum .forum__topic .forum__topic__post{display:inline-block;font-size:.8em;color:#999;margin:0}.forum-list .forum .forum__topic .forum__topic__post a{color:#666}.forum-list .forum.highlight{background-color:#ebf4fb;border-color:#afd9fa}.forum-list--compact .category{border-bottom:1px solid #dfdfdf;padding:8px 12px}.forum-list--compact .category h4{margin:0;font-size:1em}.forum-list--compact .category ul{list-style:none;margin:0;padding:0 0 0 15px;font-size:.9em}.forum-list--compact .category:last-child{border-bottom:0}section.container .forum-list{padding:0 6px}section.container .forum-list .forum:last-child{border-bottom:0}.topic-list .topic-list__sort-topics{margin-bottom:0;background:#007fd0;padding:5px;border:0;color:#fff;font-size:.9em;border-radius:4px 4px 0 0}.topic-list .topic-list__sort-topics .primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:50%}.topic-list .topic-list__sort-topics .latest-column{width:50%;text-align:right}.topic-list .topic-list__sort-topics .primary-column-two,.topic-list .topic-list__sort-topics .replies-column{display:none}.topic-list .topic-list__sort-topics a{display:inline-block;float:left;padding:3px 5px;font-size:.9em;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.topic-list .topic-list__sort-topics a:link,.topic-list .topic-list__sort-topics a:visited{color:#fff}.topic-list .topic-list__sort-topics a:active,.topic-list .topic-list__sort-topics a:hover{background:#ff7500;text-decoration:none}.topic-list .topic-list__sort-topics i{font-size:14px;margin-left:4px;color:rgba(255,255,255,.7)}.topic-list .topic-list__container{border-left:1px solid #ccc;border-right:1px solid #ccc}.topic-list .topic-list__important-topics{border-bottom:2px solid #dfdfdf}.topic-list .topic{padding:10px 12px 10px 60px;border-bottom:1px solid #dfdfdf;line-height:1.4;position:relative}.topic-list .topic .primary-column{position:relative}.topic-list .topic .topic__title{margin:0;padding:0;font-size:1em;font-weight:400}.topic-list .topic .topic__title.topic__title--unread{font-weight:700}.topic-list .topic .topic__title.topic__title--moved{color:#999}.topic-list .topic .topic__icons{float:right;color:#666;font-size:14px;position:absolute;top:0;right:0;margin-left:16px}.topic-list .topic .topic__icons i{margin-left:8px}.topic-list .topic .topic__icons i.fa-thumb-tack{color:#007fd0}.topic-list .topic .replies-column,.topic-list .topic h4{display:none}.topic-list .topic .topic__post{font-size:.8em;color:#999;margin:0;padding:0;display:inline-block}.topic-list .topic .topic__post .post__author a{color:#666}.topic-list .topic .topic__post a.post__date{color:#999}.topic-list .topic .topic__post .post__author:after{content:","}.topic-list .topic .topic__post--first{display:none}.topic-list .topic .topic__post--latest{font-size:.8em;color:#999;margin:0;display:inline-block}.topic-list .topic .avatar-profile-link{width:44px;height:44px;float:left;margin:10px 12px 0 6px;position:absolute;top:0;left:0}.topic-list .topic .avatar-profile-link img.avatar{width:44px;height:44px}.topic-list .topic .topic__forum{font-size:.8em;color:#999;margin:0;display:none}.topic-list .topic .topic__forum a{color:#999}.topic-list .topic .topic__replies{margin:0 0 0 12px;font-size:.8em;color:#999;display:none}.topic-list .topic .topic__replies i{color:rgba(0,0,0,.3);margin-right:4px}.topic-list .topic .topic__replies .text{display:none}.topic-list .topic.highlight{background-color:#ebf4fb;border-color:#afd9fa}.topic-list .topic.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.topic-list .topic.pending-approval{background-color:#f2dede;border-color:#f2aaab}.topic-list.topic-list--compact .topic .topic__post--latest a,.topic-list.topic-list--compact .topic .topic__post--latest a.post__date{color:#666}.topic-list.topic-list--compact .topic .topic__post--latest .post__author{display:inline;font-size:1em}.topic-list.topic-list--compact .topic .topic__post--latest .post__author:after{content:""}@media only screen and (min-width:480px){.topic-list .topic .topic__forum,.topic-list .topic .topic__replies{display:inline-block}}@media only screen and (min-width:768px){.forum-list--full-width .forum .forum__info{float:left;width:60%}.forum-list--full-width .forum .forum__topic{float:right;width:35%;border:none;margin:0;padding:4px 0}.forum-list--full-width .forum .forum__topic .forum__topic__title{display:block;font-size:.9em}.forum-list--full-width .forum .forum__topic .avatar-profile-link{float:left;width:36px;height:36px;margin:3px 12px 0 0}.forum-list--full-width .forum .forum__topic .avatar-profile-link img.avatar{width:36px;height:36px}.topic-list .topic-list__sort-topics a.primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:29%}.topic-list .topic-list__sort-topics a.primary-column-two{text-align:right;display:inline-block}.topic-list .topic-list__sort-topics a.replies-column{width:12%;text-align:center;display:inline-block}.topic-list .topic-list__sort-topics a.latest-column{width:30%;text-align:left}.topic-list .topic{padding:10px 12px}.topic-list .topic .primary-column{width:58%;float:left;-ms-box-sizing:border-box;box-sizing:border-box}.topic-list .topic .primary-column .topic__title{font-size:1em}.topic-list .topic .replies-column{width:12%;float:left;text-align:center;color:#666;display:block}.topic-list .topic .replies-column p{margin:10px 0;float:none}.topic-list .topic .latest-column{width:30%;float:left}.topic-list .topic .topic__post--first{display:inline-block}.topic-list .topic .topic__post--latest .post__author{display:block;font-size:1.2em}.topic-list .topic .topic__post--latest .post__author:after{content:""}.topic-list .topic .avatar-profile-link{margin:0 12px 0 6px;position:relative;top:auto;left:auto}.topic-list.topic-list--compact .avatar-profile-link{margin:0 12px 0 0}}.post{background-color:#fff;border:1px solid #ccc;padding:8px 12px;margin-bottom:25px;border-radius:4px}.post.highlight{background-color:#ebf4fb;border-color:#afd9fa}.post.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.post.pending-approval{background-color:#f2dede;border-color:#f2aaab}.post.post--hidden .post__meta{padding-bottom:2px}.post.post--hidden .post__body,.post.post--hidden .post__controls{display:none}.post .post__meta{padding:4px 6px 12px}.post .post__meta a:link,.post .post__meta a:visited{color:#666}.post .post__meta a:active,.post .post__meta a:hover{color:#ff7500}.post .post__meta h3{font-size:1em;margin:0}.post .post__meta h3 a:link,.post .post__meta h3 a:visited{color:#007fd0}.post .post__meta h3 a:active,.post .post__meta h3 a:hover{color:#ff7500}.post .post__meta .post__date{font-size:.8em;color:#666}.post .post__meta .post__edit-log{font-size:.7em;margin-left:4px}.post .post__meta .post__status{margin-left:16px;font-size:.8em;font-weight:700}.post .post__meta .post__status i{color:#666;font-size:14px;margin-right:3px}.post .post__inline-mod{float:right;margin:-20px 0 0 7px}.post .post__toggle{float:right;font-size:14px;margin:1px 1px 0 0}.post .post__toggle i{color:rgba(0,0,0,.2)}.post .post__toggle:hover i{color:rgba(0,0,0,.4)}.post .team-badge{display:none}.post .avatar-profile-link{float:left;width:40px;height:40px;margin:5px 10px 0 0}.post .avatar-profile-link img.avatar{width:40px;height:40px}.post .post__body{padding:0 6px 3px}.post .post__body p{font-size:.9em;margin:0 0 6px}.post .post__body img{max-width:100%}.post .post__body blockquote{border-left:2px solid #007fd0;padding:10px 20px;margin:20px 12px;font-size:.9em}.post .post__body blockquote cite{font-weight:400;font-size:normal;color:#666;display:block}.post .post__body blockquote cite .quote-author{font-weight:700;color:#222}.post .post__body blockquote cite .quote-date{color:#444}.post .post__signature{border-top:1px dotted #ccc;padding:6px 6px 0;margin:12px 0 0;font-size:.8em}.post .post__controls{list-style:none;margin:0;padding:4px;text-align:right}.post .post__controls li{display:inline-block}.post .post__controls li a,.post .post__controls li button{color:#666;padding:0 5px;background-color:transparent;border:none}.post .post__controls li a:active,.post .post__controls li a:hover,.post .post__controls li button:active,.post .post__controls li button:hover{color:#ff7500;text-decoration:none}.post .post__controls li.approve,.post .post__controls li.like,.post .post__controls li.quote,.post .post__controls li.restore{float:left}.post .post__controls li.approve .text,.post .post__controls li.like .text,.post .post__controls li.quote .text,.post .post__controls li.restore .text{display:inline}.post .post__controls li.approve .quoteButton .quoteButton__remove,.post .post__controls li.like .quoteButton .quoteButton__remove,.post .post__controls li.quote .quoteButton .quoteButton__remove,.post .post__controls li.restore .quoteButton .quoteButton__remove{display:none}.post .post__controls i{font-size:14px}.post .post__controls .text{display:none;font-size:.7em;margin-left:6px}.post .post__likes{font-size:.8em;padding:8px 8px 4px;margin:8px 0 0;border-top:1px solid #dfdfdf;color:#999}.post .post__likes i{margin-right:5px}.post .post__likes a{color:#666}.post.post--reply .full-reply{float:right}.post.post--reply .full-reply .text{display:none}.post.post--reply .post__foot{margin:5px 0}#quoteBar{border:1px solid #ccc;padding:0 10px;font-size:12px;border-radius:4px}@media only screen and (min-width:480px){.post{margin-left:80px}.post.post--hidden .avatar-profile-link{width:50px;height:50px;margin-left:-80px}.post.post--hidden .avatar-profile-link img.avatar{width:50px;height:50px}.post .post__meta{padding:4px 6px 8px}.post .post__meta h3{display:inline-block}.post .post__meta .post__date{margin:0 0 0 10px}.post .avatar-profile-link{float:left;width:70px;height:70px;margin:-13px 0 0 -100px}.post .avatar-profile-link img.avatar{width:70px;height:70px}.post .post__inline-mod{margin-top:7px}}@media only screen and (min-width:768px){.post{margin-left:110px}.post .post__meta .team-badge{display:inline}.post .avatar-profile-link{width:100px;height:100px;margin-left:-130px}.post .avatar-profile-link img.avatar{width:100px;height:100px}.post .post__toggle{margin-right:5px}}#add-poll .poll-option{padding-right:20px}#add-poll .remove-option{float:right;margin:3px -20px 0 0;color:#f4645f}.poll{border:1px solid #ccc;border-radius:4px}.poll .poll__title{background:#007fd0;margin:0;border-radius:3px 3px 0 0;padding:6px 8px;color:#fff}.poll .poll__options{padding:0}.poll .poll__option{border-bottom:1px solid #e0e0e0;padding:6px 8px}.poll .poll__option:last-child{border-bottom:none}.poll .poll__option.poll_option-voted{background:#fbffc0}.poll .poll__option__name{width:300px;float:left}.poll .poll__option__votes{margin-left:300px;width:auto;border:1px solid #bbb;background:#fff;height:20px;border-radius:10px;position:relative}.poll .poll__option__votes-bar{position:absolute;top:0;left:0;bottom:0;background:#ccc;z-index:1;border-radius:9px}.poll .poll__option__votes-title{position:absolute;top:0;left:0;right:0;text-align:center;font-size:14px;line-height:1;padding:3px 0 0;z-index:4}.poll .poll__option__votes-result{font-size:14px}.poll .poll__end-at{border-top:1px solid #ccc;padding:6px 8px}.poll .poll__vote{border-top:2px solid #ccc;height:40px}.poll .poll__vote .poll__buttons{float:right}.poll .poll__vote .button{line-height:1.4}.user-list{padding:12px 12px 0}.user-list .user-list__user{border:1px solid #dfdfdf;padding:8px;margin:0 0 12px;border-radius:4px}.user-list .user-list__user .avatar-profile-link{float:left;width:80px;height:80px;margin:0 12px 0 0}.user-list .user-list__user .avatar-profile-link img.avatar{width:80px;height:80px}.user-list .user-list__user h3{margin:0;font-size:1em}.user-list .user-list__user h4{font-size:.8em;font-weight:400;margin:0}.user-list .user-list__user p{margin:0;padding:0;font-size:.8em;color:#999}.user-list .user-list__user p a{color:#666}.user-list .user-list__user .team-badge{float:right;position:relative;margin:-48px 0 0}.user-list .user-list__user .stats{font-size:.7em}.user-list.online-now .user-list__user .avatar-profile-link,.user-list.online-now .user-list__user .avatar-profile-link img.avatar{width:50px;height:50px}.user-list.online-now .user-list__user .user-list__user__date{float:right}.user-list--compact a{display:inline-block;margin:0 12px 10px 0}.user-list--compact a img.avatar{width:24px;height:24px;margin:-2px 8px 0 0}.user-list--compact .error-no-results{padding:10px 0;font-size:1em}.team-badge{padding:3px 8px;border:1px solid #dfdfdf;color:#666;display:inline;line-height:1.6;font-size:.7em;border-radius:4px}.team-badge i{margin-right:5px}.profile .profile__header{position:relative}.profile .profile__header .avatar{float:left;width:100px;height:100px;margin-right:16px}.profile .profile__header .page-buttons{position:absolute;top:0;right:0;margin:0}.profile .profile__username,.profile .profile__usertitle{margin:5px 0}.profile .profile__field-group h2{margin-bottom:0}.profile .profile__field{padding:8px;border-bottom:1px solid #dfdfdf;font-size:.9em}.profile .profile__field h3{margin:0;padding:0;font-weight:600}.profile .profile__field p{margin:0;padding:0}.profile .profile__field:last-child{border-bottom:none}@media only screen and (min-width:768px){.user-list .user-list__user{float:left;width:49.5%;margin:0 0 12px;-ms-box-sizing:border-box;box-sizing:border-box}.user-list .user-list__user:nth-child(odd){margin-right:.5%}.user-list .user-list__user:nth-child(even){margin-left:.5%}}section.form .form__section__container.change-avatar{padding-left:130px}section.form .form__section__container.change-avatar .avatar-profile-link{float:left;margin:0 10px 0 -110px}section.form .form__section__container.change-avatar .avatar-profile-link img.avatar{width:100px;height:100px}section.form .form__section__container.change-avatar p{padding:0 0 0 5px;margin:0 0 10px;font-size:.9em;color:#666}ul.notifications{margin:0;font-size:.9em;line-height:1.6;list-style:none;padding:0}ul.notifications li{overflow:hidden;margin:0;padding:8px;border-bottom:1px solid #dfdfdf}ul.notifications li:last-child{border-bottom:0}ul.notifications a.avatar-profile-link{float:left;margin:0 12px 0 0;width:40px;height:40px}ul.notifications a.avatar-profile-link img.avatar{width:40px;height:40px}ul.notifications a:hover .text,ul.notifications h2 a:hover .text{text-decoration:underline}ul.notifications a.notification{text-decoration:none;margin-left:52px;padding-left:24px;display:block}ul.notifications .notification__username{font-weight:700}ul.notifications i{color:#999}ul.notifications time{font-size:.8em;color:#666;display:block}.inline-moderation{border:1px solid #ddd;border-radius:4px;padding:10px 12px;font-size:.9em;text-align:center}html.js .inline-moderation{display:none}html.js .inline-moderation.floating{display:block;float:left;position:fixed;background:#444;border-color:#444;z-index:1000;bottom:0;left:0;right:0;border-radius:0;border-top:2px solid #222;width:100%;box-sizing:border-box}html.js .inline-moderation.floating h2{color:#bbb}html.js .inline-moderation.floating a:link,html.js .inline-moderation.floating a:visited{color:#ddd}html.js .inline-moderation.floating i{color:#bbb}.inline-moderation h2{font-weight:400;font-size:1em;color:#666;margin:0 8px 0 0;padding:0;border:none;display:inline-block}.inline-moderation ul{list-style:none;margin:0;padding:0;display:inline-block}.inline-moderation ul li{display:inline-block;margin:0 8px}.inline-moderation i{margin-right:4px}.checkbox-select{float:right;margin:-4px 7px 0 12px}.checkbox-select.check-all{margin:12px 19px 0 0}@media only screen and (min-width:480px){.checkbox-select{margin:12px 0 0 12px}.checkbox-select.check-all{margin:12px 12px 0 0}}.modal{display:none;width:580px;padding:0;border:8px solid rgba(0,0,0,.5);border-radius:8px}.modal .page-content{background:#fff;border:1px solid rgba(0,0,0,.7);width:100%;float:none}.modal .page-content header{background:#007fd0;border-bottom:2px solid #0a539b}.modal .page-content header h1{margin:0;color:#fff;font-size:1.2em;padding:16px}.modal .page-content header .page-controls{margin:-50px 8px 0 0}.modal .page-content header .button,.modal .page-content header .button.secondary{color:#fff;background:#007fd0;border-color:rgba(255,255,255,.3)}.modal .page-content header .button.secondary:hover,.modal .page-content header .button:hover{background:#ff7500;border-color:#ff7500}.modal .page-content.page-content--menu header{margin:0}.modal section.form{border:none;padding-bottom:15px;margin:0;overflow:auto}.modal section.form h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc;text-align:left;float:none;width:auto}.modal section.form .form__section__container{float:none;margin:0;padding:0;border:none;width:auto}.modal section.form .form_section:last-child{padding-bottom:0}.modal .form__submit{margin:0;padding:6px 0;background:#f2f2f2;border-top:1px solid #dfdfdf}.modal .section-menu{display:none}.modal a.close-modal{position:absolute;top:-12.5px;right:-12.5px;width:11px;height:19px;display:block;border:2px solid #fff;padding:2px 6px;color:#fff;background:#333;text-align:center;text-decoration:none;box-shadow:0 1px 4px #000;line-height:1;border-radius:15px}.modal a.close-modal i{font-size:14px}.modal a.close-modal:hover{background:#b00}.modal a.close-modal span{display:none}.modal-spinner{display:none;width:64px;height:64px;position:fixed;top:50%;left:50%;margin-right:-32px;margin-top:-32px;background:url(../images/spinner.gif) center center no-repeat #111;border-radius:8px}@media screen and (max-width:758px){.modal{width:450px}}@media screen and (max-width:524px){.modal{width:290px}}@media screen and (max-height:758px){.modal .page-content section.form{max-height:400px;overflow:auto}}@media screen and (max-height:524px){.modal .page-content section.form{max-height:300px;overflow:auto}}@media screen and (max-height:458px){.modal .page-content section.form{max-height:150px;overflow:auto}}#spinner{background:#444;color:#fff;position:fixed;top:0;left:0;z-index:1001;padding:3px 15px;border-radius:0 0 4px;font-size:12px;display:none}#spinner .fa{font-size:16px;padding:0 2px}#powerTip{cursor:default;background-color:#333;background-color:rgba(0,0,0,.8);border-radius:4px;color:#fff;display:none;padding:3px 9px;position:absolute;white-space:nowrap;z-index:2147483647;font-size:.8em}#powerTip:before{content:"";position:absolute}#powerTip.n:before,#powerTip.s:before{border-right:5px solid transparent;border-left:5px solid transparent;left:50%;margin-left:-5px}#powerTip.e:before,#powerTip.w:before{border-bottom:5px solid transparent;border-top:5px solid transparent;margin-top:-5px;top:50%}#powerTip.n:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.e:before{border-right:5px solid #333;border-right:5px solid rgba(0,0,0,.8);left:-5px}#powerTip.s:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.w:before{border-left:5px solid #333;border-left:5px solid rgba(0,0,0,.8);right:-5px}#powerTip.ne:before,#powerTip.se:before{border-right:5px solid transparent;border-left:0;left:10px}#powerTip.nw:before,#powerTip.sw:before{border-left:5px solid transparent;border-right:0;right:10px}#powerTip.ne:before,#powerTip.nw:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.se:before,#powerTip.sw:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.ne-alt:before,#powerTip.nw-alt:before,#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px;border-left:5px solid transparent;border-right:5px solid transparent;left:10px}#powerTip.ne-alt:before{left:auto;right:10px}#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:none;border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);bottom:auto;top:-5px}#powerTip.se-alt:before{left:auto;right:10px}.stepper{border-radius:3px;margin:0 0 10px;overflow:hidden;position:relative;width:130px;border:1px solid #ccc}.stepper .stepper-input{background:#fff;border:0;border-radius:4px;font-size:.9em;overflow:hidden;padding:4px 10px;text-align:center;width:100%;width:60px;margin:0 35px;box-sizing:border-box;z-index:49;-moz-appearance:textfield}.stepper .stepper-input:focus{outline:0}.stepper .stepper-input::-webkit-inner-spin-button,.stepper .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .stepper-arrow{cursor:pointer;display:block;height:100%;padding:0;position:absolute;width:35px;text-align:center;z-index:50;font-weight:700;color:#666;font-size:20px}.stepper .stepper-arrow:hover{color:#666}.stepper .stepper-arrow.up{float:right;top:0;right:0;border-left:1px solid #ccc}.stepper .stepper-arrow.down{float:left;top:0;left:0;border-right:1px solid #ccc}.stepper.disabled .stepper-input{background:#fff;border-color:#eee;color:#ccc}.stepper.disabled .stepper-arrow{background:#fff;border-color:#eee;cursor:default}::-ms-clear,::-ms-reveal{display:none!important}.hideShowPassword-toggle{background:0 0;border:0;border-radius:.25em;color:#888;cursor:pointer;font-size:.75em;font-weight:700;margin-right:2px;padding:3px 8px;text-transform:uppercase;-moz-appearance:none;-webkit-appearance:none}.hideShowPassword-toggle:focus,.hideShowPassword-toggle:hover{background-color:#eee;color:#555;outline:transparent}.dropit{list-style:none;padding:0;margin:0}.dropit .dropit-trigger{position:relative}.dropit .dropit-submenu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:150px;list-style:none;padding:0;margin:0}.dropit .dropit-open .dropit-submenu{display:block}.clearfix:after,.clearfix:before,.forum-list .forum:after,.forum-list .forum:before,.main .page-controls:after,.main .page-controls:before,.profile .profile__header:after,.profile .profile__header:before,.topic-list .topic-list__sort-topics:after,.topic-list .topic-list__sort-topics:before,.topic-list .topic:after,.topic-list .topic:before,.user-list:after,.user-list:before,.wrapper:after,.wrapper:before,nav.section-menu ul:after,nav.section-menu ul:before,section.form .form__section:after,section.form .form__section:before{content:" ";display:table}.clearfix:after,.forum-list .forum:after,.main .page-controls:after,.profile .profile__header:after,.topic-list .topic-list__sort-topics:after,.topic-list .topic:after,.user-list:after,.wrapper:after,nav.section-menu ul:after,section.form .form__section:after{clear:both}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px} \ No newline at end of file +*/h1.title{float:left;margin:10px 2% 5px 0}h1.title a#logo{background-image:url(../images/logo_mobile.png);background-repeat:no-repeat;background-position:top left;width:137px;height:40px;display:block}h1.title a#logo span{display:none}.main-menu{float:right;margin:25px 0 0}.menu-bar ul{margin:0;padding:0;list-style:none}.menu-bar ul li a{display:block;margin-bottom:10px;padding:8px 0;width:48%;margin-left:1%;margin-right:1%;float:left;text-align:center;background:#fafafa;box-sizing:border-box}.menu-bar ul li .unread-count{background:#eb5257;color:#fff;padding:2px 5px 1px 4px;margin:0 0 0 2px;font-weight:400;font-size:.8em;text-decoration:none;border-radius:2px}.main-menu__container{display:none}.main-menu__button{padding-top:5px;display:inline-block;float:right}.main-menu__button i{font-size:21px;color:#444}.main-menu__button span.text{display:none}.user-navigation{clear:both;background:#444;border-top:2px solid #222;border-bottom:2px solid #222}.user-navigation .wrapper{padding:0}.user-navigation__links{margin:0 -8px;list-style:none}.user-navigation__links>li{float:left;margin:0;padding:12px 6px;position:relative}.user-navigation__links>li>a:link,.user-navigation__links>li>a:visited{color:#fff;padding:2px 8px;display:inline-block;margin:-3px 0 -2px;border-radius:4px}.user-navigation__links>li>a:active,.user-navigation__links>li>a:hover{background-color:#333;text-decoration:none}.user-navigation__links>li.dropit-link{padding:12px 0;border-left:2px solid transparent;border-right:2px solid transparent}.user-navigation__links>li.dropit-link i.fa-caret-down{font-size:14px;color:rgba(255,255,255,.7)}.user-navigation__links>li.dropit-link i.fa-caret-up{display:none}.user-navigation__links>li.dropit-link.dropit-open{background:#f2f2f2;border:2px solid #dfdfdf;border-bottom-color:#f2f2f2;margin:-2px 0}.user-navigation__links>li.dropit-link.dropit-open>a{background:0 0;color:#444;border-radius:0}.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-up{display:inline;font-size:14px;color:rgba(0,0,0,.7)}.user-navigation__links .user-navigation__messages>a>span.text,.user-navigation__links .user-navigation__notifications>a>span.text,.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-down{display:none}.user-navigation__links .user-navigation__active-user>a>span.text{font-weight:700}.user-navigation__links .user-navigation__sign-up>a{background-color:#007fd0}.user-navigation__links .user-navigation__sign-up>a:hover{background-color:#ff7500}.user-navigation__links .unread-count{background:#eb5257;color:#fff;border-radius:2px;padding:2px 5px 1px 4px;margin:0 0 0 2px;font-weight:400;font-size:.8em;text-decoration:none}.user-navigation ul .user-navigation__dropdown{display:none;background:#f2f2f2;border-radius:0 4px 4px;border:2px solid #dfdfdf;border-top:0;padding:6px 12px 12px;font-size:.9em;left:-2px;width:270px}.user-navigation ul .user-navigation__dropdown ul{margin:0;padding:0;list-style:none}.user-navigation ul .user-navigation__dropdown li{float:none;margin:0;padding:0;display:block;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown li a{display:block;margin:0;padding:4px;float:none;border-left:0;text-align:left;background:0 0}.user-navigation ul .user-navigation__dropdown li a i{color:rgba(0,0,0,.3);padding-right:8px}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link{float:right;width:80px;height:80px;margin:6px 0 0}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link img.avatar{width:80px;height:80px}.user-navigation ul .user-navigation__dropdown .messages-container,.user-navigation ul .user-navigation__dropdown .notifications-container{background:#fafafa;border:1px solid #dfdfdf;border-radius:3px;margin:10px 0 0}.user-navigation ul .user-navigation__dropdown h2{font-size:1em;margin:0;padding:8px 12px 8px 8px;color:#444;background:#eee;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown h2 a:link,.user-navigation ul .user-navigation__dropdown h2 a:visited{color:#444;display:inline-block;background:0 0}.user-navigation ul .user-navigation__dropdown h2 a:active,.user-navigation ul .user-navigation__dropdown h2 a:hover{color:#ff7500}.user-navigation ul .user-navigation__dropdown h2 a.option{float:right}.user-navigation ul .user-navigation__dropdown h2 a.option span.text{display:none}.user-navigation ul .user-navigation__dropdown h2 a.option i{color:rgba(0,0,0,.5)}.user-navigation ul .user-navigation__dropdown h2 a.option:hover i{color:rgba(0,0,0,.6)}.user-navigation ul .user-navigation__dropdown ul.notifications{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.notifications a{text-decoration:none;padding:8px 8px 8px 16px;overflow:hidden}.user-navigation ul .user-navigation__dropdown ul.notifications a:hover span.text{text-decoration:underline}.user-navigation ul .user-navigation__dropdown ul.notifications span.username{font-weight:700}.user-navigation ul .user-navigation__dropdown ul.notifications i{color:rgba(0,0,0,.3);font-size:14px;margin:4px 0 4px -8px;float:left}.user-navigation ul .user-navigation__dropdown ul.messages{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.messages li{padding:8px;color:#666}.user-navigation ul .user-navigation__dropdown .view-all,.user-navigation ul .user-navigation__dropdown ul.messages li a{padding:0}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link{float:left;margin:0 8px 0 0;width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link img.avatar{width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.conversation-title{font-weight:700;display:block;font-size:1.1em}.user-navigation ul .user-navigation__dropdown ul.messages a.message-author{display:inline-block}#search .search__button .text,#search a.search__advanced .text,#search button.search__submit .text{display:none}.user-navigation ul .user-navigation__dropdown time{font-size:.9em;margin:3px 0 0 4px;color:#666;float:right}.user-navigation ul .user-navigation__dropdown .view-all a{text-align:center;padding:8px}#search .search__button{color:#999;float:right;margin:8px 0 0;padding:5px 2px}#search .search__button i{font-size:18px}#search .search__button:hover{color:#ccc}#search .search__container{clear:both;display:none;border-radius:4px;padding:2px 5px;cursor:text;background:#fff;margin:0 0 8px;width:auto;box-sizing:border-box}#search .search__field{border:0;padding:0;margin:0;width:74%;font-size:.9em}#search .search__controls{width:24%;text-align:right;float:right;padding-right:8px;box-sizing:border-box}#search a.search__advanced,#search button.search__submit{height:24px;margin:0 0 0 8px;padding:0;border:0;cursor:pointer;background:0 0;color:#999;font-size:14px}#search a.search__advanced:hover,#search button.search__submit:hover{color:#666}.breadcrumb{display:block;font-size:.8em;color:#ccc;padding:0;margin:0 0 10px}.breadcrumb a:active,.breadcrumb a:hover,.breadcrumb a:link,.breadcrumb a:visited{color:#666}.breadcrumb i{color:#666;margin:0 4px 0 6px}footer{border-top:1px solid #dfdfdf;background:#fafafa;border-bottom:1px solid #dfdfdf;margin-bottom:30px}footer h3{float:none;font-size:.9em;text-align:center;display:block}footer .menu-bar a{padding:5px 12px;font-size:.9em}footer p.powered-by{clear:both;font-size:.8em;color:#666;padding:10px 0;margin:0}footer p.powered-by a{color:#444}@media only screen and (max-width:768px){.main-menu.menu-bar{margin-top:10px}.main-menu.menu-bar:hover .main-menu__container{position:absolute;right:0;float:right;width:100%;padding-top:45px;display:block}.main-menu.menu-bar:hover ul{display:block;position:relative;top:0;border-top:2px solid #222;border-bottom:2px solid #222;right:0;z-index:500;background:#444;padding:1px 2px 2px;text-align:center}.main-menu.menu-bar:hover ul li{display:inline-block}.main-menu.menu-bar:hover ul li a{width:auto;display:inline-block;margin:4px;padding:7px 8px 6px;float:none;background:0 0;border-radius:4px}.main-menu.menu-bar:hover ul li a:link,.main-menu.menu-bar:hover ul li a:visited{color:#fff}.main-menu.menu-bar:hover ul li a:active,.main-menu.menu-bar:hover ul li a:hover{background:#333;color:#fff;text-decoration:none}}@media only screen and (min-width:768px){h1.title{margin:20px 2% 15px 0}h1.title a#logo{background-image:url(../images/logo2.png);width:188px;height:55px}.main-menu{margin-top:25px}.main-menu__button{display:none}.main-menu__container{display:block}.main-menu.menu-bar ul li{display:inline-block}.menu-bar ul li a{width:auto;background:0 0;border-left:1px solid #dfdfdf;margin:0;padding:2px 12px}.main-menu.menu-bar ul li:first-child a{border-left:0}#search .search__button{display:none}#search .search__container{float:right;display:block;width:35%;clear:none;margin-top:10px}footer{padding:20px 0 10px}footer h3{margin:0;float:left;padding:3px 12px 3px 0}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}@media all and (-webkit-min-device-pixel-ratio:2){.title a#logo{background-image:url(../images/logo2@2x.png);background-size:188px 55px}}@media all and (-webkit-min-device-pixel-ratio:2),(max-width:768px){.title a#logo{background-image:url(../images/logo_mobile@2x.png);background-size:137px 40px}}button,html,input,select,textarea{color:#222}::-moz-selection{background:#ff7500;color:#fff;text-shadow:none}::selection{background:#ff7500;color:#fff;text-shadow:none}body{margin:0;font:16px/26px Open Sans,Helvetica Neue,Helvetica,Arial;background:#fff}.wrapper{width:90%;margin:0 5%}button,input,select,textarea{font:16px Open Sans,Helvetica Neue,Helvetica,Arial}a:link,a:visited{color:#007fd0;text-decoration:none}a:active,a:hover{color:#ff7500;text-decoration:underline}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}.main{padding:15px 0 30px}.main header{margin-bottom:20px}.main header h1{font-size:1.5em;margin:0 0 10px;padding:0}.main header p{color:#666;font-size:.9em;margin:0 0 10px}.main .page-content--menu header h1{font-size:1.2em;margin-bottom:0}.main aside{padding-bottom:10px;font-size:.9em;margin-top:30px}.main aside section{border:1px solid #dfdfdf;padding:12px 15px;margin-bottom:30px;border-radius:4px}.main .page-buttons{margin:-10px -5px 15px;text-align:center}.main .pagination{list-style:none;margin:0 0 25px -5px;padding:0;font-size:.9em;text-align:center}.main .pagination li{display:inline-block;margin:0 5px}.main .pagination li a{background:#fafafa;padding:1px 8px;display:inline-block;border-radius:4px}.main .pagination li a:hover{background:#ff7500;color:#fff;text-decoration:none}.main .pagination li.active{padding:1px 8px;background:#007fd0;color:#fff;border-radius:4px}.main .pagination li.disabled{display:none}section{margin-bottom:30px}section h2{font-size:1.2em}section .heading{border-bottom:1px solid #dfdfdf;padding:8px;margin:0 0 5px}section .heading--linked{border-bottom:0;padding:0}section .heading--linked a{padding:8px 12px;border-bottom:1px solid #dfdfdf;text-decoration:none;display:block}section .heading--linked a .count{float:right;font-size:.8em;color:#666;font-weight:400}section .heading--linked a .count i{margin-left:4px}section .heading--major{background:#007fd0;color:#fff;border:0;padding:8px 12px;margin-bottom:0;border-radius:4px}section .heading--major.heading--linked{padding:0}section .heading--major.heading--linked a{border:none;color:#fff;text-decoration:none}section .heading--major.heading--linked a .count{color:rgba(255,255,255,.7)}section .heading--major.heading--linked a:active,section .heading--major.heading--linked a:hover{text-decoration:underline}section .heading--major.heading--linked a:active .count,section .heading--major.heading--linked a:hover .count{color:#fff}section .page-tabs{list-style:none;margin:0;background:#fafafa;padding:8px;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf}section .page-tabs li{display:inline-block;margin:0 8px 0 0}section .page-tabs li a{padding:4px 8px;display:inline-block;background:#fafafa;border-radius:3px}section .page-tabs li a:hover{text-decoration:none;background:#ff7500;color:#fff}section .page-tabs li.page-tabs__active a,section .page-tabs li.page-tabs__active a:hover{color:#fff;font-weight:700;background:#007fd0;text-decoration:none}section.container{border:1px solid #dfdfdf;border-radius:4px}section:last-child{margin-bottom:0}nav.section-menu ul{margin:0 0 15px;padding:0;list-style:none}nav.section-menu ul li{float:left;width:48%;margin-bottom:4px}nav.section-menu ul li:nth-child(odd){margin-right:2%}nav.section-menu ul li:nth-child(even){margin-left:2%}nav.section-menu ul li a{background:#fafafa;display:block;padding:2px 8px;text-decoration:none;border-radius:3px}.alert,.button,a.button,img.avatar{border-radius:4px}nav.section-menu ul li a:hover{background-color:#ff7500;border-color:#ff7500;color:#fff}nav.section-menu ul li a i{padding-right:5px}nav.section-menu ul li.active a{background-color:#007fd0;border-color:#007fd0;color:#fff}.button,a.button{color:#fff;background:#007fd0;border:1px solid #007fd0;padding:4px 10px;margin:5px;font-size:.9em;text-decoration:none;display:inline-block}.button:hover,a.button:hover{background:#ff7500;border-color:#ff7500}.button.button--secondary,a.button.button--secondary{border:1px solid #dfdfdf;background:0 0;color:#007fd0}.sort-results,select,textarea{border:1px solid #ccc}.button.button--secondary:hover,a.button.button--secondary:hover{color:#ff7500}.button i,a.button i{margin-right:5px;font-size:14px}dl.stats{line-height:1.6;margin:0;font-size:.9em;display:table-cell}dl.stats dt{float:left;margin:0 8px 0 0;color:#999}dl.stats dd{padding:0;margin:0;display:table-cell}.segmented-control,.segmented-control .segmented-control__block,.sort-results h3{display:inline-block}.alert{background-color:#fafafa;padding:10px 12px 10px 40px;margin-top:10px;margin-bottom:20px;font-size:.9em}.alert i{float:left;margin:6px 0 0 -25px}.alert p{margin:0;padding:0}.alert.alert--danger{background-color:#c00;color:#fff}.alert.alert--success{background-color:#018303;color:#fff}.error-no-results{text-align:center;padding:30px 0;font-size:1.2em;color:#666}.sort-results{text-align:center;border-top:2px solid #dfdfdf;padding:6px 0;border-radius:0 0 4px 4px}.segmented-control,section.form,select,textarea{border-radius:4px}.sort-results h3{margin:0 10px 0 0;padding:0;font-weight:400;color:#666;font-size:.9em}@media only screen and (min-width:768px){.main .page-content--sidebar{float:left;width:60%}.main .page-content--centered{width:60%;float:none;margin:auto}.main .page-content--menu{float:left;width:78%}.main aside{float:right;width:35%;margin-top:0}.main .page-buttons{float:right;margin:-45px -5px 8px 0}.main .pagination{text-align:right;margin:0 -5px 25px}.main .page-controls{margin-top:-20px}.main .page-controls .page-buttons{margin-top:0}.main .page-controls .pagination{float:left;text-align:left;margin:10px -5px 0}.main .page-controls .pagination+.page-buttons{margin-top:0}.main header+.page-controls{margin-top:-20px}.main header+.page-controls .page-buttons{margin-top:-30px}nav.section-menu{float:left;width:19%;margin-right:3%}nav.section-menu ul{margin:0}nav.section-menu ul li,nav.section-menu ul li:nth-child(even),nav.section-menu ul li:nth-child(odd){float:none;width:100%;margin-left:0;margin-right:0}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}.post .post__body img,select{max-width:100%}input[type=text],input[type=url],input[type=email],input[type=password],input[type=number]{border:1px solid #ccc;padding:6px;width:100%;font-size:.9em;outline:0;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}select{padding:4px;font-size:.9em;box-sizing:border-box}select[multiple=multiple]{width:100%;height:200px}input.short{width:50px;font:12px Open Sans,Helvetica Neue,Helvetica,Arial}input.small{width:50px;margin-left:6px;margin-right:6px}textarea{resize:vertical;padding:6px;width:100%;font-size:.9em;box-sizing:border-box}section.form{border:1px solid #dfdfdf;margin-bottom:10px}section.form .form__section{padding:16px 12px;border-bottom:2px solid #dfdfdf}section.form .form__section h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc}section.form .form__section:last-child{border-bottom:0}section.form .form__row{border-bottom:1px solid #dfdfdf;padding:12px 8px}section.form .form__row h3{margin:0 0 5px;padding:0;font-size:1em}section.form .form__row h4{font-size:.9em;font-weight:400;text-transform:uppercase;color:#007fd0;margin:0}section.form .form__row:first-child{padding-top:0}section.form .form__row:last-child{border-bottom:0;padding-bottom:6px}section.form p.form__checkbox{font-size:.9em;margin:5px 0;padding:0 0 0 30px}section.form p.form__checkbox input[type=checkbox]{float:left;margin:6px 0 0 -26px}section.form p.form__checkbox i{color:#999;padding-right:5px;width:16px;font-size:14px;text-align:center;display:inline-block}section.form p.form__checkbox:last-child{margin-bottom:0}section.form p.form__description{font-size:.8em;line-height:1.4;color:#666;margin:-4px 0 4px}section.form p.form__data{margin:0;font-size:.9em}section.form label{cursor:pointer}section.form .topic-title{font-size:1.3em}section.form .buttons{margin:-5px}.form__submit{text-align:center;padding:10px 0}.form__submit .button{font-size:1em;padding:6px 12px}.form__submit .button i{font-size:18px;margin-right:8px}.segmented-control{margin:5px 0 0;border:1px solid #ccc;font-size:.8em}.segmented-control .segmented-control__button{display:block;padding:3px 8px;margin:0;border-left:1px solid #ccc;border-right:1px solid transparent;position:relative;z-index:10;cursor:pointer}.segmented-control .segmented-control__button i{margin:0 6px 0 0;float:none}.segmented-control :first-child .segmented-control__button{border-left:1px solid transparent;border-radius:4px 0 0 4px}.segmented-control :last-child .segmented-control__button{border-radius:0 4px 4px 0}.segmented-control input{position:absolute;visibility:hidden}.segmented-control input:checked+.segmented-control__button{background:#007fd0;color:#fff;margin:-1px;border:1px solid #007fd0;z-index:15}.segmented-control input:checked+.segmented-control__button i{color:#fff}.select-control{font-size:.8em}.select-control .select-control__block{display:block;margin:0 0 5px;padding:0}.select-control .select-control__button{display:block;padding:3px 8px;margin:5px 10px 0 0;background:#fafafa;cursor:pointer;border-radius:4px}.select-control .select-control__button i{color:rgba(0,0,0,.4);margin:0 4px 0 0}.select-control input{position:absolute;visibility:hidden}.select-control input:checked+.select-control__button{background:#ccc}.select-control input:checked+.select-control__button i{color:rgba(0,0,0,.6)}@media only screen and (min-width:768px){section.form .form__section{padding:20px 12px}section.form .form__section h2{border:0;float:left;margin:0;padding:0;width:20%;text-align:right}section.form .form__section__container{float:left;margin:0 0 0 3%;padding:0 0 0 20px;border-left:1px dotted #ccc;width:74%;-ms-box-sizing:border-box;box-sizing:border-box}}.forum-list .forum{padding:12px;border-bottom:1px solid #ccc;line-height:1.4}.forum-list .forum .forum__title{margin:0 0 4px;font-size:1em}.forum-list .forum .forum__description{font-size:.8em;margin:0;padding:2px 0 4px;color:#444}.forum-list .forum .forum__subforums{list-style:none;margin:2px 0 4px 20px;padding:0;font-size:.8em}.forum-list .forum .forum__subforums li{display:inline-block;margin:0 12px 4px 0}.forum-list .forum .forum__subforums i.fa-level-up{margin:1px 0 0 -16px;color:#999;float:left;font-size:14px;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg)}.forum-list .forum .forum__topic{margin-top:6px;padding:10px 0 0 2px;border-top:1px dotted #dfdfdf}.forum-list .forum .forum__topic .avatar-profile-link{width:24px;height:24px;margin:-3px 12px 0 0}.forum-list .forum .forum__topic .avatar-profile-link img.avatar{width:24px;height:24px}.forum-list .forum .forum__topic .forum__topic__title{display:inline-block;margin:0 8px 0 0;padding:0;font-weight:400}.forum-list .forum .forum__topic .forum__topic__post{display:inline-block;font-size:.8em;color:#999;margin:0}.forum-list .forum .forum__topic .forum__topic__post a{color:#666}.forum-list .forum.highlight{background-color:#ebf4fb;border-color:#afd9fa}.forum-list--compact .category{border-bottom:1px solid #dfdfdf;padding:8px 12px}.forum-list--compact .category:last-child,section.container .forum-list .forum:last-child{border-bottom:0}.forum-list--compact .category h4{margin:0;font-size:1em}.forum-list--compact .category ul{list-style:none;margin:0;padding:0 0 0 15px;font-size:.9em}section.container .forum-list{padding:0 6px}.topic-list .topic-list__sort-topics{margin-bottom:0;background:#007fd0;padding:5px;border:0;color:#fff;font-size:.9em;border-radius:4px 4px 0 0}.topic-list .topic-list__sort-topics .primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:50%}.topic-list .topic-list__sort-topics .latest-column{width:50%;text-align:right}.topic-list .topic-list__sort-topics .primary-column-two,.topic-list .topic-list__sort-topics .replies-column{display:none}.topic-list .topic-list__sort-topics a{display:inline-block;float:left;padding:3px 5px;font-size:.9em;box-sizing:border-box;border-radius:3px}#quoteBar,.poll,.post{border-radius:4px}.topic-list .topic-list__sort-topics a:link,.topic-list .topic-list__sort-topics a:visited{color:#fff}.topic-list .topic-list__sort-topics a:active,.topic-list .topic-list__sort-topics a:hover{background:#ff7500;text-decoration:none}.topic-list .topic-list__sort-topics i{font-size:14px;margin-left:4px;color:rgba(255,255,255,.7)}.topic-list .topic-list__container{border-left:1px solid #ccc;border-right:1px solid #ccc}.topic-list .topic-list__important-topics{border-bottom:2px solid #dfdfdf}.topic-list .topic{padding:10px 12px 10px 60px;border-bottom:1px solid #dfdfdf;line-height:1.4;position:relative}.topic-list .topic .primary-column{position:relative}.topic-list .topic .topic__title{margin:0;padding:0;font-size:1em;font-weight:400}.topic-list .topic .topic__title.topic__title--unread{font-weight:700}.topic-list .topic .topic__title.topic__title--moved{color:#999}.topic-list .topic .topic__icons{float:right;color:#666;font-size:14px;position:absolute;top:0;right:0;margin-left:16px}.topic-list .topic .topic__icons i{margin-left:8px}.topic-list .topic .topic__icons i.fa-thumb-tack{color:#007fd0}.topic-list .topic .replies-column,.topic-list .topic h4{display:none}.topic-list .topic .topic__post{font-size:.8em;color:#999;margin:0;padding:0;display:inline-block}.topic-list .topic .topic__post .post__author a{color:#666}.topic-list .topic .topic__post a.post__date{color:#999}.topic-list .topic .topic__post .post__author:after{content:","}#powerTip:before,.topic-list.topic-list--compact .topic .topic__post--latest .post__author:after{content:""}.topic-list .topic .topic__post--first{display:none}.topic-list .topic .topic__post--latest{font-size:.8em;color:#999;margin:0;display:inline-block}.topic-list .topic .avatar-profile-link{width:44px;height:44px;float:left;margin:10px 12px 0 6px;position:absolute;top:0;left:0}.topic-list .topic .avatar-profile-link img.avatar{width:44px;height:44px}.topic-list .topic .topic__forum{font-size:.8em;color:#999;margin:0;display:none}.topic-list .topic .topic__forum a{color:#999}.topic-list .topic .topic__replies{margin:0 0 0 12px;font-size:.8em;color:#999;display:none}.topic-list .topic .topic__replies i{color:rgba(0,0,0,.3);margin-right:4px}.post .post__meta a:link,.post .post__meta a:visited,.topic-list.topic-list--compact .topic .topic__post--latest a,.topic-list.topic-list--compact .topic .topic__post--latest a.post__date{color:#666}.topic-list .topic .topic__replies .text{display:none}.topic-list .topic.highlight{background-color:#ebf4fb;border-color:#afd9fa}.topic-list .topic.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.topic-list .topic.pending-approval{background-color:#f2dede;border-color:#f2aaab}.topic-list.topic-list--compact .topic .topic__post--latest .post__author{display:inline;font-size:1em}@media only screen and (min-width:480px){.topic-list .topic .topic__forum,.topic-list .topic .topic__replies{display:inline-block}}@media only screen and (min-width:768px){.forum-list--full-width .forum .forum__info{float:left;width:60%}.forum-list--full-width .forum .forum__topic{float:right;width:35%;border:none;margin:0;padding:4px 0}.forum-list--full-width .forum .forum__topic .forum__topic__title{display:block;font-size:.9em}.forum-list--full-width .forum .forum__topic .avatar-profile-link{float:left;width:36px;height:36px;margin:3px 12px 0 0}.forum-list--full-width .forum .forum__topic .avatar-profile-link img.avatar{width:36px;height:36px}.topic-list .topic-list__sort-topics a.primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:29%}.topic-list .topic-list__sort-topics a.primary-column-two{text-align:right;display:inline-block}.topic-list .topic-list__sort-topics a.replies-column{width:12%;text-align:center;display:inline-block}.topic-list .topic-list__sort-topics a.latest-column{width:20%;text-align:left}.topic-list .topic-list__sort-topics a.moderation-column{width:9%;float:left;text-align:right}.topic-list .topic{padding:10px 12px}.topic-list .topic .primary-column{width:58%;float:left;-ms-box-sizing:border-box;box-sizing:border-box}.topic-list .topic .primary-column .topic__title{font-size:1em}.topic-list .topic .replies-column{width:12%;float:left;text-align:center;color:#666;display:block}.topic-list .topic .replies-column p{margin:10px 0;float:none}.topic-list .topic .latest-column{width:20%;float:left}.topic-list .topic .moderation-column{width:9%;float:left;text-align:right}.topic-list .topic .topic__post--first{display:inline-block}.topic-list .topic .topic__post--latest .post__author{display:block;font-size:1.2em}.topic-list .topic .topic__post--latest .post__author:after{content:""}.topic-list .topic .avatar-profile-link{margin:0 12px 0 6px;position:relative;top:auto;left:auto}.topic-list.topic-list--compact .avatar-profile-link{margin:0 12px 0 0}}.post .team-badge,.post.post--hidden .post__body,.post.post--hidden .post__controls{display:none}.post{background-color:#fff;border:1px solid #ccc;padding:8px 12px;margin-bottom:25px}.post.highlight{background-color:#ebf4fb;border-color:#afd9fa}.post.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.post.pending-approval{background-color:#f2dede;border-color:#f2aaab}.post.post--hidden .post__meta{padding-bottom:2px}.post .post__meta{padding:4px 6px 12px}.post .post__meta a:active,.post .post__meta a:hover{color:#ff7500}.post .post__meta h3{font-size:1em;margin:0}.post .post__meta h3 a:link,.post .post__meta h3 a:visited{color:#007fd0}.post .post__meta h3 a:active,.post .post__meta h3 a:hover{color:#ff7500}.post .post__meta .post__date{font-size:.8em;color:#666}.post .post__meta .post__edit-log{font-size:.7em;margin-left:4px}.post .post__meta .post__status{margin-left:16px;font-size:.8em;font-weight:700}.post .post__meta .post__status i{color:#666;font-size:14px;margin-right:3px}.post .post__inline-mod{float:right;margin:-20px 0 0 7px}.post .post__toggle{float:right;font-size:14px;margin:1px 1px 0 0}.post .post__toggle i{color:rgba(0,0,0,.2)}.post .post__toggle:hover i{color:rgba(0,0,0,.4)}.post .avatar-profile-link{float:left;width:40px;height:40px;margin:5px 10px 0 0}.post .avatar-profile-link img.avatar{width:40px;height:40px}.post .post__body{padding:0 6px 3px}.post .post__body p{font-size:.9em;margin:0 0 6px}.post .post__body blockquote{border-left:2px solid #007fd0;padding:10px 20px;margin:20px 12px;font-size:.9em}.post .post__body blockquote cite{font-weight:400;font-size:normal;color:#666;display:block}.post .post__body blockquote cite .quote-author{font-weight:700;color:#222}.post .post__body blockquote cite .quote-date{color:#444}.post .post__signature{border-top:1px dotted #ccc;padding:6px 6px 0;margin:12px 0 0;font-size:.8em}.post .post__controls{list-style:none;margin:0;padding:4px;text-align:right}.post .post__controls li{display:inline-block}.post .post__controls li a,.post .post__controls li button{color:#666;padding:0 5px;background-color:transparent;border:none}#quoteBar,.poll,.stepper{border:1px solid #ccc}.post .post__controls li a:active,.post .post__controls li a:hover,.post .post__controls li button:active,.post .post__controls li button:hover{color:#ff7500;text-decoration:none}.post .post__controls li.approve,.post .post__controls li.like,.post .post__controls li.quote,.post .post__controls li.restore{float:left}.post .post__controls li.approve .text,.post .post__controls li.like .text,.post .post__controls li.quote .text,.post .post__controls li.restore .text{display:inline}.post .post__controls li.approve .quoteButton .quoteButton__remove,.post .post__controls li.like .quoteButton .quoteButton__remove,.post .post__controls li.quote .quoteButton .quoteButton__remove,.post .post__controls li.restore .quoteButton .quoteButton__remove,.post.post--reply .full-reply .text{display:none}.post .post__controls i{font-size:14px}.post .post__controls .text{display:none;font-size:.7em;margin-left:6px}.post .post__likes{font-size:.8em;padding:8px 8px 4px;margin:8px 0 0;border-top:1px solid #dfdfdf;color:#999}.post .post__likes i{margin-right:5px}.post .post__likes a{color:#666}.post.post--reply .full-reply{float:right}.post.post--reply .post__foot{margin:5px 0}#quoteBar{padding:0 10px;font-size:12px}@media only screen and (min-width:480px){.post{margin-left:80px}.post.post--hidden .avatar-profile-link{width:50px;height:50px;margin-left:-80px}.post.post--hidden .avatar-profile-link img.avatar{width:50px;height:50px}.post .post__meta{padding:4px 6px 8px}.post .post__meta h3{display:inline-block}.post .post__meta .post__date{margin:0 0 0 10px}.post .avatar-profile-link{float:left;width:70px;height:70px;margin:-13px 0 0 -100px}.post .avatar-profile-link img.avatar{width:70px;height:70px}.post .post__inline-mod{margin-top:7px}}@media only screen and (min-width:768px){.post{margin-left:110px}.post .post__meta .team-badge{display:inline}.post .avatar-profile-link{width:100px;height:100px;margin-left:-130px}.post .avatar-profile-link img.avatar{width:100px;height:100px}.post .post__toggle{margin-right:5px}}#add-poll .poll-option{padding-right:20px}#add-poll .remove-option{float:right;margin:3px -20px 0 0;color:#f4645f}.poll .poll__title{background:#007fd0;margin:0;border-radius:3px 3px 0 0;padding:6px 8px;color:#fff}.poll .poll__options{padding:0}.poll .poll__option{border-bottom:1px solid #e0e0e0;padding:6px 8px}.poll .poll__option:last-child{border-bottom:none}.poll .poll__option.poll_option-voted{background:#fbffc0}.poll .poll__option__name{width:300px;float:left}.poll .poll__option__votes{margin-left:300px;width:auto;border:1px solid #bbb;background:#fff;height:20px;border-radius:10px;position:relative}.team-badge,.user-list .user-list__user{border-radius:4px;border:1px solid #dfdfdf}.poll .poll__option__votes-bar{position:absolute;top:0;left:0;bottom:0;background:#ccc;z-index:1;border-radius:9px}.poll .poll__option__votes-title{position:absolute;top:0;left:0;right:0;text-align:center;font-size:14px;line-height:1;padding:3px 0 0;z-index:4}.poll .poll__option__votes-result{font-size:14px}.poll .poll__end-at{border-top:1px solid #ccc;padding:6px 8px}.poll .poll__vote{border-top:2px solid #ccc;height:40px}.poll .poll__vote .poll__buttons{float:right}.poll .poll__vote .button{line-height:1.4}.user-list{padding:12px 12px 0}.user-list .user-list__user{padding:8px;margin:0 0 12px}.user-list .user-list__user .avatar-profile-link{float:left;width:80px;height:80px;margin:0 12px 0 0}.user-list .user-list__user .avatar-profile-link img.avatar{width:80px;height:80px}.user-list .user-list__user h3{margin:0;font-size:1em}.user-list .user-list__user h4{font-size:.8em;font-weight:400;margin:0}.user-list .user-list__user p{margin:0;padding:0;font-size:.8em;color:#999}.user-list .user-list__user p a{color:#666}.user-list .user-list__user .team-badge{float:right;position:relative;margin:-48px 0 0}.user-list .user-list__user .stats{font-size:.7em}.user-list.online-now .user-list__user .avatar-profile-link,.user-list.online-now .user-list__user .avatar-profile-link img.avatar{width:50px;height:50px}.user-list.online-now .user-list__user .user-list__user__date{float:right}.user-list--compact a{display:inline-block;margin:0 12px 10px 0}.user-list--compact a img.avatar{width:24px;height:24px;margin:-2px 8px 0 0}.user-list--compact .error-no-results{padding:10px 0;font-size:1em}.team-badge{padding:3px 8px;color:#666;display:inline;line-height:1.6;font-size:.7em}.team-badge i{margin-right:5px}.profile .profile__header{position:relative}.profile .profile__header .avatar{float:left;width:100px;height:100px;margin-right:16px}.profile .profile__header .page-buttons{position:absolute;top:0;right:0;margin:0}.profile .profile__username,.profile .profile__usertitle{margin:5px 0}.profile .profile__field-group h2{margin-bottom:0}.profile .profile__field{padding:8px;border-bottom:1px solid #dfdfdf;font-size:.9em}.profile .profile__field h3{margin:0;padding:0;font-weight:600}.profile .profile__field p{margin:0;padding:0}.profile .profile__field:last-child{border-bottom:none}@media only screen and (min-width:768px){.user-list .user-list__user{float:left;width:49.5%;margin:0 0 12px;-ms-box-sizing:border-box;box-sizing:border-box}.user-list .user-list__user:nth-child(odd){margin-right:.5%}.user-list .user-list__user:nth-child(even){margin-left:.5%}}section.form .form__section__container.change-avatar{padding-left:130px}section.form .form__section__container.change-avatar .avatar-profile-link{float:left;margin:0 10px 0 -110px}section.form .form__section__container.change-avatar .avatar-profile-link img.avatar{width:100px;height:100px}section.form .form__section__container.change-avatar p{padding:0 0 0 5px;margin:0 0 10px;font-size:.9em;color:#666}ul.notifications{margin:0;font-size:.9em;line-height:1.6;list-style:none;padding:0}ul.notifications li{overflow:hidden;margin:0;padding:8px;border-bottom:1px solid #dfdfdf}ul.notifications li:last-child{border-bottom:0}ul.notifications a.avatar-profile-link{float:left;margin:0 12px 0 0;width:40px;height:40px}ul.notifications a.avatar-profile-link img.avatar{width:40px;height:40px}ul.notifications a:hover .text,ul.notifications h2 a:hover .text{text-decoration:underline}ul.notifications a.notification{text-decoration:none;margin-left:52px;padding-left:24px;display:block}ul.notifications .notification__username{font-weight:700}ul.notifications i{color:#999}ul.notifications time{font-size:.8em;color:#666;display:block}.inline-moderation{border:1px solid #ddd;border-radius:4px;padding:10px 12px;font-size:.9em;text-align:center}html.js .inline-moderation{display:none}html.js .inline-moderation.floating{display:block;float:left;position:fixed;background:#444;border-color:#444;z-index:1000;bottom:0;left:0;right:0;border-radius:0;border-top:2px solid #222;width:100%;box-sizing:border-box}html.js .inline-moderation.floating h2{color:#bbb}html.js .inline-moderation.floating a:link,html.js .inline-moderation.floating a:visited{color:#ddd}html.js .inline-moderation.floating i{color:#bbb}.inline-moderation h2{font-weight:400;font-size:1em;color:#666;margin:0 8px 0 0;padding:0;border:none;display:inline-block}.inline-moderation ul{list-style:none;margin:0;padding:0;display:inline-block}.inline-moderation ul li{display:inline-block;margin:0 8px}.modal,.modal .section-menu{display:none}.inline-moderation i{margin-right:4px}.checkbox-select{float:right;margin:-4px 7px 0 12px}.checkbox-select.check-all{margin:12px 19px 0 0}@media only screen and (min-width:480px){.checkbox-select{margin:12px 0 0 12px}.checkbox-select.check-all{margin:12px 12px 0 0}}.modal{width:580px;padding:0;border:8px solid rgba(0,0,0,.5);border-radius:8px}.modal .page-content{background:#fff;border:1px solid rgba(0,0,0,.7);width:100%;float:none}.modal .page-content header{background:#007fd0;border-bottom:2px solid #0a539b}.modal .page-content header h1{margin:0;color:#fff;font-size:1.2em;padding:16px}.modal .page-content header .page-controls{margin:-50px 8px 0 0}.modal .page-content header .button,.modal .page-content header .button.secondary{color:#fff;background:#007fd0;border-color:rgba(255,255,255,.3)}.modal .page-content header .button.secondary:hover,.modal .page-content header .button:hover{background:#ff7500;border-color:#ff7500}.modal .page-content.page-content--menu header{margin:0}.modal section.form{border:none;padding-bottom:15px;margin:0;overflow:auto}.modal section.form h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc;text-align:left;float:none;width:auto}.modal section.form .form__section__container{float:none;margin:0;padding:0;border:none;width:auto}.modal section.form .form_section:last-child{padding-bottom:0}.modal .form__submit{margin:0;padding:6px 0;background:#f2f2f2;border-top:1px solid #dfdfdf}.modal a.close-modal{position:absolute;top:-12.5px;right:-12.5px;width:11px;height:19px;display:block;border:2px solid #fff;padding:2px 6px;color:#fff;background:#333;text-align:center;text-decoration:none;box-shadow:0 1px 4px #000;line-height:1;border-radius:15px}#powerTip,#spinner,.modal a.close-modal span{display:none}.modal a.close-modal i{font-size:14px}.modal a.close-modal:hover{background:#b00}.modal-spinner{display:none;width:64px;height:64px;position:fixed;top:50%;left:50%;margin-right:-32px;margin-top:-32px;background:url(../images/spinner.gif)center center no-repeat #111;border-radius:8px}@media screen and (max-width:758px){.modal{width:450px}}@media screen and (max-width:524px){.modal{width:290px}}@media screen and (max-height:758px){.modal .page-content section.form{max-height:400px;overflow:auto}}@media screen and (max-height:524px){.modal .page-content section.form{max-height:300px;overflow:auto}}@media screen and (max-height:458px){.modal .page-content section.form{max-height:150px;overflow:auto}}#spinner{background:#444;color:#fff;position:fixed;top:0;left:0;z-index:1001;padding:3px 15px;border-radius:0 0 4px;font-size:12px}#spinner .fa{font-size:16px;padding:0 2px}#powerTip{cursor:default;background-color:#333;background-color:rgba(0,0,0,.8);border-radius:4px;color:#fff;padding:3px 9px;position:absolute;white-space:nowrap;z-index:2147483647;font-size:.8em}#powerTip:before{position:absolute}#powerTip.n:before,#powerTip.s:before{border-right:5px solid transparent;border-left:5px solid transparent;left:50%;margin-left:-5px}#powerTip.e:before,#powerTip.w:before{border-bottom:5px solid transparent;border-top:5px solid transparent;margin-top:-5px;top:50%}#powerTip.n:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.e:before{border-right:5px solid #333;border-right:5px solid rgba(0,0,0,.8);left:-5px}#powerTip.s:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.w:before{border-left:5px solid #333;border-left:5px solid rgba(0,0,0,.8);right:-5px}#powerTip.ne-alt:before,#powerTip.se-alt:before{left:auto;right:10px}#powerTip.ne:before,#powerTip.se:before{border-right:5px solid transparent;border-left:0;left:10px}#powerTip.nw:before,#powerTip.sw:before{border-left:5px solid transparent;border-right:0;right:10px}#powerTip.ne:before,#powerTip.nw:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.se:before,#powerTip.sw:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.ne-alt:before,#powerTip.nw-alt:before,#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px;border-left:5px solid transparent;border-right:5px solid transparent;left:10px}#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:none;border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);bottom:auto;top:-5px}.stepper{border-radius:3px;margin:0 0 10px;overflow:hidden;position:relative;width:130px}.stepper .stepper-input{background:#fff;border:0;border-radius:4px;font-size:.9em;overflow:hidden;padding:4px 10px;text-align:center;width:100%;width:60px;margin:0 35px;box-sizing:border-box;z-index:49;-moz-appearance:textfield}.stepper .stepper-input::-webkit-inner-spin-button,.stepper .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .stepper-arrow{cursor:pointer;display:block;height:100%;padding:0;position:absolute;width:35px;text-align:center;z-index:50;font-weight:700;color:#666;font-size:20px}.stepper .stepper-arrow:hover{color:#666}.stepper .stepper-arrow.up{float:right;top:0;right:0;border-left:1px solid #ccc}.stepper .stepper-arrow.down{float:left;top:0;left:0;border-right:1px solid #ccc}.stepper.disabled .stepper-input{background:#fff;border-color:#eee;color:#ccc}.stepper.disabled .stepper-arrow{background:#fff;border-color:#eee;cursor:default}::-ms-clear,::-ms-reveal{display:none!important}.hideShowPassword-toggle{background:0 0;border:0;border-radius:.25em;color:#888;cursor:pointer;font-size:.75em;font-weight:700;margin-right:2px;padding:3px 8px;text-transform:uppercase;-moz-appearance:none;-webkit-appearance:none}.hideShowPassword-toggle:focus,.hideShowPassword-toggle:hover{background-color:#eee;color:#555;outline:transparent}.dropit{list-style:none;padding:0;margin:0}.dropit .dropit-trigger{position:relative}.dropit .dropit-submenu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:150px;list-style:none;padding:0;margin:0}.dropit .dropit-open .dropit-submenu{display:block}.clearfix:after,.clearfix:before,.forum-list .forum:after,.forum-list .forum:before,.main .page-controls:after,.main .page-controls:before,.profile .profile__header:after,.profile .profile__header:before,.topic-list .topic-list__sort-topics:after,.topic-list .topic-list__sort-topics:before,.topic-list .topic:after,.topic-list .topic:before,.user-list:after,.user-list:before,.wrapper:after,.wrapper:before,nav.section-menu ul:after,nav.section-menu ul:before,section.form .form__section:after,section.form .form__section:before{content:" ";display:table}.clearfix:after,.forum-list .forum:after,.main .page-controls:after,.profile .profile__header:after,.topic-list .topic-list__sort-topics:after,.topic-list .topic:after,.user-list:after,.wrapper:after,nav.section-menu ul:after,section.form .form__section:after{clear:both}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px} \ No newline at end of file diff --git a/public/assets/css/rtl.css b/public/assets/css/rtl.css index b6b2fed8..1ddf4099 100644 --- a/public/assets/css/rtl.css +++ b/public/assets/css/rtl.css @@ -3246,7 +3246,11 @@ section.container .forum-list { text-align: center; display: inline-block; } .topic-list .topic-list__sort-topics a.latest-column { - width: 30%; + width: 20%; + text-align: right; } + .topic-list .topic-list__sort-topics a.moderation-column { + width: 9%; + float: left; text-align: right; } .topic-list .topic { padding: 10px 12px; } @@ -3267,8 +3271,12 @@ section.container .forum-list { margin: 10px 0; float: none; } .topic-list .topic .latest-column { - width: 30%; + width: 20%; float: right; } + .topic-list .topic .moderation-column { + width: 9%; + float: left; + text-align: right; } .topic-list .topic .topic__post--first { display: inline-block; } .topic-list .topic .topic__post--latest .post__author { diff --git a/public/assets/css/rtl.min.css b/public/assets/css/rtl.min.css index 55a56f49..2dbe91af 100644 --- a/public/assets/css/rtl.min.css +++ b/public/assets/css/rtl.min.css @@ -1,6 +1,6 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */img,legend{border:0}legend,td,th{padding:0}.fa-ul>li,sub,sup{position:relative}.fa-fw,.fa-li,.menu-bar ul li a{text-align:center}#search .search__container,#search .search__controls,.menu-bar ul li a,.topic-list .topic-list__sort-topics a,select,textarea{-ms-box-sizing:border-box}#search .search__field,.button:active,.button:hover,.stepper .stepper-input:focus,a.button:active,a.button:hover,a:active,a:focus,a:hover,button:focus,select,textarea{outline:0}.segmented-control input,.select-control input{position:absolute;visibility:hidden}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}.fa,.fa-stack{display:inline-block}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}/*! * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.3.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.3.0) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.3.0) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.3.0) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before,.fa-genderless:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}html[dir=rtl]{direction:rtl}/*! + */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.3.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0)format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.3.0)format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.3.0)format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.3.0)format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular)format('svg');font-weight:400;font-style:normal}.fa{font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-stack,img{vertical-align:middle}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{position:relative;width:2em;height:2em;line-height:2em}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before,.fa-genderless:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.sort-results h3:after,dl.stats dt:after{content:":"}html[dir=rtl]{direction:rtl}/*! * MyBB 2.0 - http://mybb.com - @mybb - MIT license -*/h1.title{float:right;margin:10px 0 5px 2%}h1.title a#logo{background-image:url(../images/logo_mobile.png);background-repeat:no-repeat;background-position:top right;width:137px;height:40px;display:block}h1.title a#logo span{display:none}.main-menu{float:left;margin:25px 0 0}.menu-bar ul{margin:0;padding:0;list-style:none}.menu-bar ul li a{display:block;margin-bottom:10px;padding:8px 0;width:48%;margin-right:1%;margin-left:1%;float:right;text-align:center;background:#fafafa;-ms-box-sizing:border-box;box-sizing:border-box}.menu-bar ul li .unread-count{background:#eb5257;color:#fff;padding:2px 4px 1px 5px;margin:0 2px 0 0;font-weight:400;font-size:.8em;text-decoration:none;border-radius:2px}.main-menu__container{display:none}.main-menu__button{padding-top:5px;display:inline-block;float:left}.main-menu__button i{font-size:21px;color:#444}.main-menu__button span.text{display:none}.user-navigation{clear:both;background:#444;border-top:2px solid #222;border-bottom:2px solid #222}.user-navigation .wrapper{padding:0}.user-navigation__links{margin:0 -8px;list-style:none}.user-navigation__links>li{float:right;margin:0;padding:12px 6px;position:relative}.user-navigation__links>li>a:link,.user-navigation__links>li>a:visited{color:#fff;padding:2px 8px;display:inline-block;margin:-3px 0 -2px;border-radius:4px}.user-navigation__links>li>a:active,.user-navigation__links>li>a:hover{background-color:#333;text-decoration:none}.user-navigation__links>li.dropit-link{padding:12px 0;border-left:2px solid transparent;border-right:2px solid transparent}.user-navigation__links>li.dropit-link i.fa-caret-down{font-size:14px;color:rgba(255,255,255,.7)}.user-navigation__links>li.dropit-link i.fa-caret-up{display:none}.user-navigation__links>li.dropit-link.dropit-open{background:#f2f2f2;border:2px solid #dfdfdf;border-bottom-color:#f2f2f2;margin:-2px 0}.user-navigation__links>li.dropit-link.dropit-open>a{background:0 0;color:#444;border-radius:0}.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-up{display:inline;font-size:14px;color:rgba(0,0,0,.7)}.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-down{display:none}.user-navigation__links .user-navigation__active-user>a>span.text{font-weight:700}.user-navigation__links .user-navigation__sign-up>a{background-color:#007fd0}.user-navigation__links .user-navigation__sign-up>a:hover{background-color:#ff7500}.user-navigation__links .user-navigation__messages>a>span.text,.user-navigation__links .user-navigation__notifications>a>span.text{display:none}.user-navigation__links .unread-count{background:#eb5257;color:#fff;border-radius:2px;padding:2px 4px 1px 5px;margin:0 2px 0 0;font-weight:400;font-size:.8em;text-decoration:none}.user-navigation ul .user-navigation__dropdown{display:none;background:#f2f2f2;border-radius:4px 0 4px 4px;border:2px solid #dfdfdf;border-top:0;padding:6px 12px 12px;font-size:.9em;right:-2px;width:270px}.user-navigation ul .user-navigation__dropdown ul{margin:0;padding:0;list-style:none}.user-navigation ul .user-navigation__dropdown li{float:none;margin:0;padding:0;display:block;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown li a{display:block;margin:0;padding:4px;float:none;border-right:0;text-align:right;background:0 0}.user-navigation ul .user-navigation__dropdown li a i{color:rgba(0,0,0,.3);padding-left:8px}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link{float:left;width:80px;height:80px;margin:6px 0 0}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link img.avatar{width:80px;height:80px}.user-navigation ul .user-navigation__dropdown .messages-container,.user-navigation ul .user-navigation__dropdown .notifications-container{background:#fafafa;border:1px solid #dfdfdf;border-radius:3px;margin:10px 0 0}.user-navigation ul .user-navigation__dropdown h2{font-size:1em;margin:0;padding:8px 8px 8px 12px;color:#444;background:#eee;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown h2 a:link,.user-navigation ul .user-navigation__dropdown h2 a:visited{color:#444;display:inline-block;background:0 0}.user-navigation ul .user-navigation__dropdown h2 a:active,.user-navigation ul .user-navigation__dropdown h2 a:hover{color:#ff7500}.user-navigation ul .user-navigation__dropdown h2 a.option{float:left}.user-navigation ul .user-navigation__dropdown h2 a.option span.text{display:none}.user-navigation ul .user-navigation__dropdown h2 a.option i{color:rgba(0,0,0,.5)}.user-navigation ul .user-navigation__dropdown h2 a.option:hover i{color:rgba(0,0,0,.6)}.user-navigation ul .user-navigation__dropdown ul.notifications{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.notifications a{text-decoration:none;padding:8px 16px 8px 8px;overflow:hidden}.user-navigation ul .user-navigation__dropdown ul.notifications a:hover span.text{text-decoration:underline}.user-navigation ul .user-navigation__dropdown ul.notifications span.username{font-weight:700}.user-navigation ul .user-navigation__dropdown ul.notifications i{color:rgba(0,0,0,.3);font-size:14px;margin:4px -8px 4px 0;float:right}.user-navigation ul .user-navigation__dropdown ul.messages{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.messages li{padding:8px;color:#666}.user-navigation ul .user-navigation__dropdown ul.messages li a{padding:0}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link{float:right;margin:0 0 0 8px;width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link img.avatar{width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.conversation-title{font-weight:700;display:block;font-size:1.1em}.user-navigation ul .user-navigation__dropdown ul.messages a.message-author{display:inline-block}.user-navigation ul .user-navigation__dropdown time{font-size:.9em;margin:3px 4px 0 0;color:#666;float:left}.user-navigation ul .user-navigation__dropdown .view-all{padding:0}.user-navigation ul .user-navigation__dropdown .view-all a{text-align:center;padding:8px}#search .search__button{color:#999;float:left;margin:8px 0 0;padding:5px 2px}#search .search__button i{font-size:18px}#search .search__button .text{display:none}#search .search__button:hover{color:#ccc}#search .search__container{clear:both;display:none;border-radius:4px;padding:2px 5px;cursor:text;background:#fff;margin:0 0 8px;width:auto;-ms-box-sizing:border-box;box-sizing:border-box}#search .search__field{border:0;padding:0;margin:0;width:74%;font-size:.9em;outline:0}#search .search__controls{width:24%;text-align:left;float:left;padding-left:8px;-ms-box-sizing:border-box;box-sizing:border-box}#search a.search__advanced,#search button.search__submit{height:24px;margin:0 8px 0 0;padding:0;border:0;cursor:pointer;background:0 0;color:#999;font-size:14px}#search a.search__advanced .text,#search button.search__submit .text{display:none}#search a.search__advanced:hover,#search button.search__submit:hover{color:#666}.breadcrumb{display:block;font-size:.8em;color:#ccc;padding:0;margin:0 0 10px}.breadcrumb a:active,.breadcrumb a:hover,.breadcrumb a:link,.breadcrumb a:visited{color:#666}.breadcrumb i{color:#666;margin:0 6px 0 4px}footer{border-top:1px solid #dfdfdf;background:#fafafa;border-bottom:1px solid #dfdfdf;margin-bottom:30px}footer h3{float:none;font-size:.9em;text-align:center;display:block}footer .menu-bar a{padding:5px 12px;font-size:.9em}footer p.powered-by{clear:both;font-size:.8em;color:#666;padding:10px 0;margin:0}footer p.powered-by a{color:#444}@media only screen and (max-width:768px){.main-menu.menu-bar{margin-top:10px}.main-menu.menu-bar:hover .main-menu__container{position:absolute;left:0;float:left;width:100%;padding-top:45px;display:block}.main-menu.menu-bar:hover ul{display:block;position:relative;top:0;border-top:2px solid #222;border-bottom:2px solid #222;left:0;z-index:500;background:#444;padding:1px 2px 2px;text-align:center}.main-menu.menu-bar:hover ul li{display:inline-block}.main-menu.menu-bar:hover ul li a{width:auto;display:inline-block;margin:4px;padding:7px 8px 6px;float:none;background:0 0;border-radius:4px}.main-menu.menu-bar:hover ul li a:link,.main-menu.menu-bar:hover ul li a:visited{color:#fff}.main-menu.menu-bar:hover ul li a:active,.main-menu.menu-bar:hover ul li a:hover{background:#333;color:#fff;text-decoration:none}}@media only screen and (min-width:768px){h1.title{margin:20px 0 15px 2%}h1.title a#logo{background-image:url(../images/logo2.png);width:188px;height:55px}.main-menu{margin-top:25px}.main-menu__button{display:none}.main-menu__container{display:block}.main-menu.menu-bar ul li{display:inline-block}.menu-bar ul li a{width:auto;background:0 0;border-right:1px solid #dfdfdf;margin:0;padding:2px 12px}.main-menu.menu-bar ul li:first-child a{border-right:0}#search .search__button{display:none}#search .search__container{float:left;display:block;width:35%;clear:none;margin-top:10px}footer{padding:20px 0 10px}footer h3{margin:0;float:right;padding:3px 0 3px 12px}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}@media all and (-webkit-min-device-pixel-ratio:2){.title a#logo{background-image:url(../images/logo2@2x.png);background-size:188px 55px}}@media all and (-webkit-min-device-pixel-ratio:2),(max-width:768px){.title a#logo{background-image:url(../images/logo_mobile@2x.png);background-size:137px 40px}}button,html,input,select,textarea{color:#222}::-moz-selection{background:#ff7500;color:#fff;text-shadow:none}::selection{background:#ff7500;color:#fff;text-shadow:none}body{margin:0;font:16px/26px Open Sans,Helvetica Neue,Helvetica,Arial;background:#fff}.wrapper{width:90%;margin:0 5%}button,input,select,textarea{font:16px Open Sans,Helvetica Neue,Helvetica,Arial}a:link,a:visited{color:#007fd0;text-decoration:none}a:active,a:hover{color:#ff7500;text-decoration:underline}a:focus,button:focus{outline:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.main{padding:15px 0 30px}.main header{margin-bottom:20px}.main header h1{font-size:1.5em;margin:0 0 10px;padding:0}.main header p{color:#666;font-size:.9em;margin:0 0 10px}.main .page-content--menu header h1{font-size:1.2em;margin-bottom:0}.main aside{padding-bottom:10px;font-size:.9em;margin-top:30px}.main aside section{border:1px solid #dfdfdf;padding:12px 15px;margin-bottom:30px;border-radius:4px}.main .page-buttons{margin:-10px -5px 15px;text-align:center}.main .pagination{list-style:none;margin:0 -5px 25px 0;padding:0;font-size:.9em;text-align:center}.main .pagination li{display:inline-block;margin:0 5px}.main .pagination li a{background:#fafafa;padding:1px 8px;display:inline-block;border-radius:4px}.main .pagination li a:hover{background:#ff7500;color:#fff;text-decoration:none}.main .pagination li.active{padding:1px 8px;background:#007fd0;color:#fff;border-radius:4px}.main .pagination li.disabled{display:none}section{margin-bottom:30px}section h2{font-size:1.2em}section .heading{border-bottom:1px solid #dfdfdf;padding:8px;margin:0 0 5px}section .heading--linked{border-bottom:0;padding:0}section .heading--linked a{padding:8px 12px;border-bottom:1px solid #dfdfdf;text-decoration:none;display:block}section .heading--linked a .count{float:left;font-size:.8em;color:#666;font-weight:400}section .heading--linked a .count i{margin-right:4px}section .heading--major{background:#007fd0;color:#fff;border:0;padding:8px 12px;margin-bottom:0;border-radius:4px}section .heading--major.heading--linked{padding:0}section .heading--major.heading--linked a{border:none;color:#fff;text-decoration:none}section .heading--major.heading--linked a .count{color:rgba(255,255,255,.7)}section .heading--major.heading--linked a:active,section .heading--major.heading--linked a:hover{text-decoration:underline}section .heading--major.heading--linked a:active .count,section .heading--major.heading--linked a:hover .count{color:#fff}section .page-tabs{list-style:none;margin:0;background:#fafafa;padding:8px;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf}section .page-tabs li{display:inline-block;margin:0 0 0 8px}section .page-tabs li a{padding:4px 8px;display:inline-block;background:#fafafa;border-radius:3px}section .page-tabs li a:hover{text-decoration:none;background:#ff7500;color:#fff}section .page-tabs li.page-tabs__active a,section .page-tabs li.page-tabs__active a:hover{color:#fff;font-weight:700;background:#007fd0;text-decoration:none}section.container{border:1px solid #dfdfdf;border-radius:4px}section:last-child{margin-bottom:0}nav.section-menu ul{margin:0 0 15px;padding:0;list-style:none}nav.section-menu ul li{float:right;width:48%;margin-bottom:4px}nav.section-menu ul li:nth-child(odd){margin-left:2%}nav.section-menu ul li:nth-child(even){margin-right:2%}nav.section-menu ul li a{background:#fafafa;display:block;padding:2px 8px;text-decoration:none;border-radius:3px}nav.section-menu ul li a:hover{background-color:#ff7500;border-color:#ff7500;color:#fff}nav.section-menu ul li a i{padding-left:5px}nav.section-menu ul li.active a{background-color:#007fd0;border-color:#007fd0;color:#fff}img.avatar{border-radius:4px}.button,a.button{color:#fff;background:#007fd0;border:1px solid #007fd0;padding:4px 10px;margin:5px;font-size:.9em;text-decoration:none;display:inline-block;border-radius:4px}.button:hover,a.button:hover{background:#ff7500;border-color:#ff7500}.button.button--secondary,a.button.button--secondary{border:1px solid #dfdfdf;background:0 0;color:#007fd0}.button.button--secondary:hover,a.button.button--secondary:hover{color:#ff7500}.button i,a.button i{margin-left:5px;font-size:14px}.button:active,.button:hover,a.button:active,a.button:hover{outline:0}dl.stats{line-height:1.6;margin:0;font-size:.9em;display:table-cell}dl.stats dt{float:right;margin:0 0 0 8px;color:#999}dl.stats dt:after{content:":"}dl.stats dd{padding:0;margin:0;display:table-cell}.alert{background-color:#fafafa;padding:10px 40px 10px 12px;margin-top:10px;margin-bottom:20px;font-size:.9em;border-radius:4px}.alert i{float:right;margin:6px -25px 0 0}.alert p{margin:0;padding:0}.alert.alert--danger{background-color:#c00;color:#fff}.alert.alert--success{background-color:#018303;color:#fff}.error-no-results{text-align:center;padding:30px 0;font-size:1.2em;color:#666}.sort-results{text-align:center;border:1px solid #ccc;border-top:2px solid #dfdfdf;padding:6px 0;border-radius:0 0 4px 4px}.sort-results h3{display:inline-block;margin:0 0 0 10px;padding:0;font-weight:400;color:#666;font-size:.9em}.sort-results h3:after{content:":"}@media only screen and (min-width:768px){.main .page-content--sidebar{float:right;width:60%}.main .page-content--centered{width:60%;float:none;margin:auto}.main .page-content--menu{float:right;width:78%}.main aside{float:left;width:35%;margin-top:0}.main .page-buttons{float:left;margin:-45px 0 8px -5px}.main .pagination{text-align:left;margin:0 -5px 25px}.main .page-controls{margin-top:-20px}.main .page-controls .page-buttons{margin-top:0}.main .page-controls .pagination{float:right;text-align:right;margin:10px -5px 0}.main .page-controls .pagination+.page-buttons{margin-top:0}.main header+.page-controls{margin-top:-20px}.main header+.page-controls .page-buttons{margin-top:-30px}nav.section-menu{float:right;width:19%;margin-left:3%}nav.section-menu ul{margin:0}nav.section-menu ul li,nav.section-menu ul li:nth-child(even),nav.section-menu ul li:nth-child(odd){float:none;width:100%;margin-right:0;margin-left:0}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}input[type=text],input[type=url],input[type=email],input[type=password],input[type=number]{border:1px solid #ccc;padding:6px;width:100%;font-size:.9em;outline:0;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}select{border:1px solid #ccc;padding:4px;font-size:.9em;outline:0;max-width:100%;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}select[multiple=multiple]{width:100%;height:200px}input.short{width:50px;font:12px Open Sans,Helvetica Neue,Helvetica,Arial}input.small{width:50px;margin-right:6px;margin-left:6px}textarea{border:1px solid #ccc;padding:6px;width:100%;font-size:.9em;outline:0;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}section.form{border:1px solid #dfdfdf;margin-bottom:10px;border-radius:4px}section.form .form__section{padding:16px 12px;border-bottom:2px solid #dfdfdf}section.form .form__section h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc}section.form .form__section:last-child{border-bottom:0}section.form .form__row{border-bottom:1px solid #dfdfdf;padding:12px 8px}section.form .form__row h3{margin:0 0 5px;padding:0;font-size:1em}section.form .form__row h4{font-size:.9em;font-weight:400;text-transform:uppercase;color:#007fd0;margin:0}section.form .form__row:first-child{padding-top:0}section.form .form__row:last-child{border-bottom:0;padding-bottom:6px}section.form p.form__checkbox{font-size:.9em;margin:5px 0;padding:0 30px 0 0}section.form p.form__checkbox input[type=checkbox]{float:right;margin:6px -26px 0 0}section.form p.form__checkbox i{color:#999;padding-left:5px;width:16px;font-size:14px;text-align:center;display:inline-block}section.form p.form__checkbox:last-child{margin-bottom:0}section.form p.form__description{font-size:.8em;line-height:1.4;color:#666;margin:-4px 0 4px}section.form p.form__data{margin:0;font-size:.9em}section.form label{cursor:pointer}section.form .topic-title{font-size:1.3em}section.form .buttons{margin:-5px}.form__submit{text-align:center;padding:10px 0}.form__submit .button{font-size:1em;padding:6px 12px}.form__submit .button i{font-size:18px;margin-left:8px}.segmented-control{margin:5px 0 0;border:1px solid #ccc;font-size:.8em;display:inline-block;border-radius:4px}.segmented-control .segmented-control__block{display:inline-block}.segmented-control .segmented-control__button{display:block;padding:3px 8px;margin:0;border-right:1px solid #ccc;border-left:1px solid transparent;position:relative;z-index:10;cursor:pointer}.segmented-control .segmented-control__button i{margin:0 6px 0 0;float:none}.segmented-control :first-child .segmented-control__button{border-right:1px solid transparent;border-radius:0 4px 4px 0}.segmented-control :last-child .segmented-control__button{border-radius:4px 0 0 4px}.segmented-control input{position:absolute;visibility:hidden}.segmented-control input:checked+.segmented-control__button{background:#007fd0;color:#fff;margin:-1px;border:1px solid #007fd0;z-index:15}.segmented-control input:checked+.segmented-control__button i{color:#fff}.select-control{font-size:.8em}.select-control .select-control__block{display:block;margin:0 0 5px;padding:0}.select-control .select-control__button{display:block;padding:3px 8px;margin:5px 0 0 10px;background:#fafafa;cursor:pointer;border-radius:4px}.select-control .select-control__button i{color:rgba(0,0,0,.4);margin:0 0 0 4px}.select-control input{position:absolute;visibility:hidden}.select-control input:checked+.select-control__button{background:#ccc}.select-control input:checked+.select-control__button i{color:rgba(0,0,0,.6)}@media only screen and (min-width:768px){section.form .form__section{padding:20px 12px}section.form .form__section h2{border:0;float:right;margin:0;padding:0;width:20%;text-align:left}section.form .form__section__container{float:right;margin:0 3% 0 0;padding:0 20px 0 0;border-right:1px dotted #ccc;width:74%;-ms-box-sizing:border-box;box-sizing:border-box}}.forum-list .forum{padding:12px;border-bottom:1px solid #ccc;line-height:1.4}.forum-list .forum .forum__title{margin:0 0 4px;font-size:1em}.forum-list .forum .forum__description{font-size:.8em;margin:0;padding:2px 0 4px;color:#444}.forum-list .forum .forum__subforums{list-style:none;margin:2px 20px 4px 0;padding:0;font-size:.8em}.forum-list .forum .forum__subforums li{display:inline-block;margin:0 0 4px 12px}.forum-list .forum .forum__subforums i.fa-level-up{margin:1px -16px 0 0;color:#999;float:right;font-size:14px;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg)}.forum-list .forum .forum__topic{margin-top:6px;padding:10px 2px 0 0;border-top:1px dotted #dfdfdf}.forum-list .forum .forum__topic .avatar-profile-link{width:24px;height:24px;margin:-3px 0 0 12px}.forum-list .forum .forum__topic .avatar-profile-link img.avatar{width:24px;height:24px}.forum-list .forum .forum__topic .forum__topic__title{display:inline-block;margin:0 0 0 8px;padding:0;font-weight:400}.forum-list .forum .forum__topic .forum__topic__post{display:inline-block;font-size:.8em;color:#999;margin:0}.forum-list .forum .forum__topic .forum__topic__post a{color:#666}.forum-list .forum.highlight{background-color:#ebf4fb;border-color:#afd9fa}.forum-list--compact .category{border-bottom:1px solid #dfdfdf;padding:8px 12px}.forum-list--compact .category h4{margin:0;font-size:1em}.forum-list--compact .category ul{list-style:none;margin:0;padding:0 15px 0 0;font-size:.9em}.forum-list--compact .category:last-child{border-bottom:0}section.container .forum-list{padding:0 6px}section.container .forum-list .forum:last-child{border-bottom:0}.topic-list .topic-list__sort-topics{margin-bottom:0;background:#007fd0;padding:5px;border:0;color:#fff;font-size:.9em;border-radius:4px 4px 0 0}.topic-list .topic-list__sort-topics .primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:50%}.topic-list .topic-list__sort-topics .latest-column{width:50%;text-align:left}.topic-list .topic-list__sort-topics .primary-column-two,.topic-list .topic-list__sort-topics .replies-column{display:none}.topic-list .topic-list__sort-topics a{display:inline-block;float:left;padding:3px 5px;font-size:.9em;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.topic-list .topic-list__sort-topics a:link,.topic-list .topic-list__sort-topics a:visited{color:#fff}.topic-list .topic-list__sort-topics a:active,.topic-list .topic-list__sort-topics a:hover{background:#ff7500;text-decoration:none}.topic-list .topic-list__sort-topics i{font-size:14px;margin-right:4px;color:rgba(255,255,255,.7)}.topic-list .topic-list__container{border-right:1px solid #ccc;border-left:1px solid #ccc}.topic-list .topic-list__important-topics{border-bottom:2px solid #dfdfdf}.topic-list .topic{padding:10px 60px 10px 12px;border-bottom:1px solid #dfdfdf;line-height:1.4;position:relative}.topic-list .topic .primary-column{position:relative}.topic-list .topic .topic__title{margin:0;padding:0;font-size:1em;font-weight:400}.topic-list .topic .topic__title.topic__title--unread{font-weight:700}.topic-list .topic .topic__title.topic__title--moved{color:#999}.topic-list .topic .topic__icons{float:left;color:#666;font-size:14px;position:absolute;top:0;left:0;margin-right:16px}.topic-list .topic .topic__icons i{margin-right:8px}.topic-list .topic .topic__icons i.fa-thumb-tack{color:#007fd0}.topic-list .topic .replies-column,.topic-list .topic h4{display:none}.topic-list .topic .topic__post{font-size:.8em;color:#999;margin:0;padding:0;display:inline-block}.topic-list .topic .topic__post .post__author a{color:#666}.topic-list .topic .topic__post a.post__date{color:#999}.topic-list .topic .topic__post .post__author:after{content:","}.topic-list .topic .topic__post--first{display:none}.topic-list .topic .topic__post--latest{font-size:.8em;color:#999;margin:0;display:inline-block}.topic-list .topic .avatar-profile-link{width:44px;height:44px;float:right;margin:10px 6px 0 12px;position:absolute;top:0;right:0}.topic-list .topic .avatar-profile-link img.avatar{width:44px;height:44px}.topic-list .topic .topic__forum{font-size:.8em;color:#999;margin:0;display:none}.topic-list .topic .topic__forum a{color:#999}.topic-list .topic .topic__replies{margin:0 12px 0 0;font-size:.8em;color:#999;display:none}.topic-list .topic .topic__replies i{color:rgba(0,0,0,.3);margin-left:4px}.topic-list .topic .topic__replies .text{display:none}.topic-list .topic.highlight{background-color:#ebf4fb;border-color:#afd9fa}.topic-list .topic.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.topic-list .topic.pending-approval{background-color:#f2dede;border-color:#f2aaab}.topic-list.topic-list--compact .topic .topic__post--latest a,.topic-list.topic-list--compact .topic .topic__post--latest a.post__date{color:#666}.topic-list.topic-list--compact .topic .topic__post--latest .post__author{display:inline;font-size:1em}.topic-list.topic-list--compact .topic .topic__post--latest .post__author:after{content:""}@media only screen and (min-width:480px){.topic-list .topic .topic__forum,.topic-list .topic .topic__replies{display:inline-block}}@media only screen and (min-width:768px){.forum-list--full-width .forum .forum__info{float:right;width:60%}.forum-list--full-width .forum .forum__topic{float:left;width:35%;border:none;margin:0;padding:4px 0}.forum-list--full-width .forum .forum__topic .forum__topic__title{display:block;font-size:.9em}.forum-list--full-width .forum .forum__topic .avatar-profile-link{float:right;width:36px;height:36px;margin:3px 0 0 12px}.forum-list--full-width .forum .forum__topic .avatar-profile-link img.avatar{width:36px;height:36px}.topic-list .topic-list__sort-topics a.primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:29%}.topic-list .topic-list__sort-topics a.primary-column-two{text-align:left;display:inline-block}.topic-list .topic-list__sort-topics a.replies-column{width:12%;text-align:center;display:inline-block}.topic-list .topic-list__sort-topics a.latest-column{width:30%;text-align:right}.topic-list .topic{padding:10px 12px}.topic-list .topic .primary-column{width:58%;float:right;-ms-box-sizing:border-box;box-sizing:border-box}.topic-list .topic .primary-column .topic__title{font-size:1em}.topic-list .topic .replies-column{width:12%;float:right;text-align:center;color:#666;display:block}.topic-list .topic .replies-column p{margin:10px 0;float:none}.topic-list .topic .latest-column{width:30%;float:right}.topic-list .topic .topic__post--first{display:inline-block}.topic-list .topic .topic__post--latest .post__author{display:block;font-size:1.2em}.topic-list .topic .topic__post--latest .post__author:after{content:""}.topic-list .topic .avatar-profile-link{margin:0 6px 0 12px;position:relative;top:auto;right:auto}.topic-list.topic-list--compact .avatar-profile-link{margin:0 0 0 12px}}.post{background-color:#fff;border:1px solid #ccc;padding:8px 12px;margin-bottom:25px;border-radius:4px}.post.highlight{background-color:#ebf4fb;border-color:#afd9fa}.post.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.post.pending-approval{background-color:#f2dede;border-color:#f2aaab}.post.post--hidden .post__meta{padding-bottom:2px}.post.post--hidden .post__body,.post.post--hidden .post__controls{display:none}.post .post__meta{padding:4px 6px 12px}.post .post__meta a:link,.post .post__meta a:visited{color:#666}.post .post__meta a:active,.post .post__meta a:hover{color:#ff7500}.post .post__meta h3{font-size:1em;margin:0}.post .post__meta h3 a:link,.post .post__meta h3 a:visited{color:#007fd0}.post .post__meta h3 a:active,.post .post__meta h3 a:hover{color:#ff7500}.post .post__meta .post__date{font-size:.8em;color:#666}.post .post__meta .post__edit-log{font-size:.7em;margin-right:4px}.post .post__meta .post__status{margin-right:16px;font-size:.8em;font-weight:700}.post .post__meta .post__status i{color:#666;font-size:14px;margin-left:3px}.post .post__inline-mod{float:left;margin:-20px 7px 0 0}.post .post__toggle{float:left;font-size:14px;margin:1px 0 0 1px}.post .post__toggle i{color:rgba(0,0,0,.2)}.post .post__toggle:hover i{color:rgba(0,0,0,.4)}.post .team-badge{display:none}.post .avatar-profile-link{float:right;width:40px;height:40px;margin:5px 0 0 10px}.post .avatar-profile-link img.avatar{width:40px;height:40px}.post .post__body{padding:0 6px 3px}.post .post__body p{font-size:.9em;margin:0 0 6px}.post .post__body img{max-width:100%}.post .post__body blockquote{border-left:2px solid #007fd0;padding:10px 20px;margin:20px 12px;font-size:.9em}.post .post__body blockquote cite{font-weight:400;font-size:normal;color:#666;display:block}.post .post__body blockquote cite .quote-author{font-weight:700;color:#222}.post .post__body blockquote cite .quote-date{color:#444}.post .post__signature{border-top:1px dotted #ccc;padding:6px 6px 0;margin:12px 0 0;font-size:.8em}.post .post__controls{list-style:none;margin:0;padding:4px;text-align:left}.post .post__controls li{display:inline-block}.post .post__controls li a,.post .post__controls li button{color:#666;padding:0 5px;background-color:transparent;border:none}.post .post__controls li a:active,.post .post__controls li a:hover,.post .post__controls li button:active,.post .post__controls li button:hover{color:#ff7500;text-decoration:none}.post .post__controls li.approve,.post .post__controls li.like,.post .post__controls li.quote,.post .post__controls li.restore{float:right}.post .post__controls li.approve .text,.post .post__controls li.like .text,.post .post__controls li.quote .text,.post .post__controls li.restore .text{display:inline}.post .post__controls li.approve .quoteButton .quoteButton__remove,.post .post__controls li.like .quoteButton .quoteButton__remove,.post .post__controls li.quote .quoteButton .quoteButton__remove,.post .post__controls li.restore .quoteButton .quoteButton__remove{display:none}.post .post__controls i{font-size:14px}.post .post__controls .text{display:none;font-size:.7em;margin-right:6px}.post .post__likes{font-size:.8em;padding:8px 8px 4px;margin:8px 0 0;border-top:1px solid #dfdfdf;color:#999}.post .post__likes i{margin-left:5px}.post .post__likes a{color:#666}.post.post--reply .full-reply{float:left}.post.post--reply .full-reply .text{display:none}.post.post--reply .post__foot{margin:5px 0}#quoteBar{border:1px solid #ccc;padding:0 10px;font-size:12px;border-radius:4px}@media only screen and (min-width:480px){.post{margin-right:80px}.post.post--hidden .avatar-profile-link{width:50px;height:50px;margin-right:-80px}.post.post--hidden .avatar-profile-link img.avatar{width:50px;height:50px}.post .post__meta{padding:4px 6px 8px}.post .post__meta h3{display:inline-block}.post .post__meta .post__date{margin:0 10px 0 0}.post .avatar-profile-link{float:right;width:70px;height:70px;margin:-13px -100px 0 0}.post .avatar-profile-link img.avatar{width:70px;height:70px}.post .post__inline-mod{margin-top:7px}}@media only screen and (min-width:768px){.post{margin-right:110px}.post .post__meta .team-badge{display:inline}.post .avatar-profile-link{width:100px;height:100px;margin-right:-130px}.post .avatar-profile-link img.avatar{width:100px;height:100px}.post .post__toggle{margin-left:5px}}#add-poll .poll-option{padding-left:20px}#add-poll .remove-option{float:left;margin:3px 0 0 -20px;color:#f4645f}.poll{border:1px solid #ccc;border-radius:4px}.poll .poll__title{background:#007fd0;margin:0;border-radius:3px 3px 0 0;padding:6px 8px;color:#fff}.poll .poll__options{padding:0}.poll .poll__option{border-bottom:1px solid #e0e0e0;padding:6px 8px}.poll .poll__option:last-child{border-bottom:none}.poll .poll__option.poll_option-voted{background:#fbffc0}.poll .poll__option__name{width:300px;float:right}.poll .poll__option__votes{margin-right:300px;width:auto;border:1px solid #bbb;background:#fff;height:20px;border-radius:10px;position:relative}.poll .poll__option__votes-bar{position:absolute;top:0;right:0;bottom:0;background:#ccc;z-index:1;border-radius:9px}.poll .poll__option__votes-title{position:absolute;top:0;left:0;right:0;text-align:center;font-size:14px;line-height:1;padding:3px 0 0;z-index:4}.poll .poll__option__votes-result{font-size:14px}.poll .poll__end-at{border-top:1px solid #ccc;padding:6px 8px}.poll .poll__vote{border-top:2px solid #ccc;height:40px}.poll .poll__vote .poll__buttons{float:left}.poll .poll__vote .button{line-height:1.4}.user-list{padding:12px 12px 0}.user-list .user-list__user{border:1px solid #dfdfdf;padding:8px;margin:0 0 12px;border-radius:4px}.user-list .user-list__user .avatar-profile-link{float:right;width:80px;height:80px;margin:0 0 0 12px}.user-list .user-list__user .avatar-profile-link img.avatar{width:80px;height:80px}.user-list .user-list__user h3{margin:0;font-size:1em}.user-list .user-list__user h4{font-size:.8em;font-weight:400;margin:0}.user-list .user-list__user p{margin:0;padding:0;font-size:.8em;color:#999}.user-list .user-list__user p a{color:#666}.user-list .user-list__user .team-badge{float:right;position:relative;margin:-48px 0 0}.user-list .user-list__user .stats{font-size:.7em}.user-list.online-now .user-list__user .avatar-profile-link,.user-list.online-now .user-list__user .avatar-profile-link img.avatar{width:50px;height:50px}.user-list.online-now .user-list__user .user-list__user__date{float:right}.user-list--compact a{display:inline-block;margin:0 0 10px 12px}.user-list--compact a img.avatar{width:24px;height:24px;margin:-2px 0 0 8px}.user-list--compact .error-no-results{padding:10px 0;font-size:1em}.team-badge{padding:3px 8px;border:1px solid #dfdfdf;color:#666;display:inline;line-height:1.6;font-size:.7em;border-radius:4px}.team-badge i{margin-left:5px}.profile .profile__header{position:relative}.profile .profile__header .avatar{float:right;width:100px;height:100px;margin-left:16px}.profile .profile__header .page-buttons{position:absolute;top:0;right:0;margin:0}.profile .profile__username,.profile .profile__usertitle{margin:5px 0}.profile .profile__field-group h2{margin-bottom:0}.profile .profile__field{padding:8px;border-bottom:1px solid #dfdfdf;font-size:.9em}.profile .profile__field h3{margin:0;padding:0;font-weight:600}.profile .profile__field p{margin:0;padding:0}.profile .profile__field:last-child{border-bottom:none}@media only screen and (min-width:768px){.user-list .user-list__user{float:right;width:49.5%;margin:0 0 12px;-ms-box-sizing:border-box;box-sizing:border-box}.user-list .user-list__user:nth-child(odd){margin-left:.5%}.user-list .user-list__user:nth-child(even){margin-right:.5%}}section.form .form__section__container.change-avatar{padding-right:130px}section.form .form__section__container.change-avatar .avatar-profile-link{float:right;margin:0 -110px 0 10px}section.form .form__section__container.change-avatar .avatar-profile-link img.avatar{width:100px;height:100px}section.form .form__section__container.change-avatar p{padding:0 5px 0 0;margin:0 0 10px;font-size:.9em;color:#666}ul.notifications{margin:0;font-size:.9em;line-height:1.6;list-style:none;padding:0}ul.notifications li{overflow:hidden;margin:0;padding:8px;border-bottom:1px solid #dfdfdf}ul.notifications li:last-child{border-bottom:0}ul.notifications a.avatar-profile-link{float:right;margin:0 0 0 12px;width:40px;height:40px}ul.notifications a.avatar-profile-link img.avatar{width:40px;height:40px}ul.notifications a:hover .text,ul.notifications h2 a:hover .text{text-decoration:underline}ul.notifications a.notification{text-decoration:none;margin-right:52px;padding-right:24px;display:block}ul.notifications .notification__username{font-weight:700}ul.notifications i{color:#999}ul.notifications time{font-size:.8em;color:#666;display:block}.inline-moderation{border:1px solid #ddd;border-radius:4px;padding:10px 12px;font-size:.9em;text-align:center}html.js .inline-moderation{display:none}html.js .inline-moderation.floating{display:block;float:right;position:fixed;background:#444;border-color:#444;z-index:1000;bottom:0;right:0;left:0;border-radius:0;border-top:2px solid #222;width:100%;box-sizing:border-box}html.js .inline-moderation.floating h2{color:#bbb}html.js .inline-moderation.floating a:link,html.js .inline-moderation.floating a:visited{color:#ddd}html.js .inline-moderation.floating i{color:#bbb}.inline-moderation h2{font-weight:400;font-size:1em;color:#666;margin:0 0 0 8px;padding:0;border:none;display:inline-block}.inline-moderation ul{list-style:none;margin:0;padding:0;display:inline-block}.inline-moderation ul li{display:inline-block;margin:0 8px}.inline-moderation i{margin-left:4px}.checkbox-select{float:left;margin:-4px 12px 0 7px}.checkbox-select.check-all{margin:12px 0 0 19px}@media only screen and (min-width:480px){.checkbox-select{margin:12px 12px 0 0}.checkbox-select.check-all{margin:12px 0 0 12px}}.modal{display:none;width:580px;padding:0;border:8px solid rgba(0,0,0,.5);border-radius:8px}.modal .page-content{background:#fff;border:1px solid rgba(0,0,0,.7);width:100%;float:none}.modal .page-content header{background:#007fd0;border-bottom:2px solid #0a539b}.modal .page-content header h1{margin:0;color:#fff;font-size:1.2em;padding:16px}.modal .page-content header .page-controls{margin:-50px 0 0 8px}.modal .page-content header .button,.modal .page-content header .button.secondary{color:#fff;background:#007fd0;border-color:rgba(255,255,255,.3)}.modal .page-content header .button.secondary:hover,.modal .page-content header .button:hover{background:#ff7500;border-color:#ff7500}.modal .page-content.page-content--menu header{margin:0}.modal section.form{border:none;padding-bottom:15px;margin:0;overflow:auto}.modal section.form h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc;text-align:right;float:none;width:auto}.modal section.form .form__section__container{float:none;margin:0;padding:0;border:none;width:auto}.modal section.form .form_section:last-child{padding-bottom:0}.modal .form__submit{margin:0;padding:6px 0;background:#f2f2f2;border-top:1px solid #dfdfdf}.modal .section-menu{display:none}.modal a.close-modal{position:absolute;top:-12.5px;left:-12.5px;width:11px;height:19px;display:block;border:2px solid #fff;padding:2px 6px;color:#fff;background:#333;text-align:center;text-decoration:none;box-shadow:0 1px 4px #000;line-height:1;border-radius:15px}.modal a.close-modal i{font-size:14px}.modal a.close-modal:hover{background:#b00}.modal a.close-modal span{display:none}.modal-spinner{display:none;width:64px;height:64px;position:fixed;top:50%;right:50%;margin-left:-32px;margin-top:-32px;background:url(../images/spinner.gif) center center no-repeat #111;border-radius:8px}@media screen and (max-width:758px){.modal{width:450px}}@media screen and (max-width:524px){.modal{width:290px}}@media screen and (max-height:758px){.modal .page-content section.form{max-height:400px;overflow:auto}}@media screen and (max-height:524px){.modal .page-content section.form{max-height:300px;overflow:auto}}@media screen and (max-height:458px){.modal .page-content section.form{max-height:150px;overflow:auto}}#spinner{background:#444;color:#fff;position:fixed;top:0;right:0;z-index:1001;padding:3px 15px;border-radius:0 0 4px;font-size:12px;display:none}#spinner .fa{font-size:16px;padding:0 2px}#powerTip{cursor:default;background-color:#333;background-color:rgba(0,0,0,.8);border-radius:4px;color:#fff;display:none;padding:3px 9px;position:absolute;white-space:nowrap;z-index:2147483647;font-size:.8em}#powerTip:before{content:"";position:absolute}#powerTip.n:before,#powerTip.s:before{border-left:5px solid transparent;border-right:5px solid transparent;right:50%;margin-right:-5px}#powerTip.e:before,#powerTip.w:before{border-bottom:5px solid transparent;border-top:5px solid transparent;margin-top:-5px;top:50%}#powerTip.n:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.e:before{border-left:5px solid #333;border-left:5px solid rgba(0,0,0,.8);right:-5px}#powerTip.s:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.w:before{border-right:5px solid #333;border-right:5px solid rgba(0,0,0,.8);left:-5px}#powerTip.ne:before,#powerTip.se:before{border-left:5px solid transparent;border-right:0;right:10px}#powerTip.nw:before,#powerTip.sw:before{border-right:5px solid transparent;border-left:0;left:10px}#powerTip.ne:before,#powerTip.nw:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.se:before,#powerTip.sw:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.ne-alt:before,#powerTip.nw-alt:before,#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px;border-right:5px solid transparent;border-left:5px solid transparent;right:10px}#powerTip.ne-alt:before{right:auto;left:10px}#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:none;border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);bottom:auto;top:-5px}#powerTip.se-alt:before{right:auto;left:10px}.stepper{border-radius:3px;margin:0 0 10px;overflow:hidden;position:relative;width:130px;border:1px solid #ccc}.stepper .stepper-input{background:#fff;border:0;border-radius:4px;font-size:.9em;overflow:hidden;padding:4px 10px;text-align:center;width:100%;width:60px;margin:0 35px;box-sizing:border-box;z-index:49;-moz-appearance:textfield}.stepper .stepper-input:focus{outline:0}.stepper .stepper-input::-webkit-inner-spin-button,.stepper .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .stepper-arrow{cursor:pointer;display:block;height:100%;padding:0;position:absolute;width:35px;text-align:center;z-index:50;font-weight:700;color:#666;font-size:20px}.stepper .stepper-arrow:hover{color:#666}.stepper .stepper-arrow.up{float:left;top:0;left:0;border-right:1px solid #ccc}.stepper .stepper-arrow.down{float:right;top:0;right:0;border-left:1px solid #ccc}.stepper.disabled .stepper-input{background:#fff;border-color:#eee;color:#ccc}.stepper.disabled .stepper-arrow{background:#fff;border-color:#eee;cursor:default}::-ms-clear,::-ms-reveal{display:none!important}.hideShowPassword-toggle{background:0 0;border:0;border-radius:.25em;color:#888;cursor:pointer;font-size:.75em;font-weight:700;margin-left:2px;padding:3px 8px;text-transform:uppercase;-moz-appearance:none;-webkit-appearance:none}.hideShowPassword-toggle:focus,.hideShowPassword-toggle:hover{background-color:#eee;color:#555;outline:transparent}.dropit{list-style:none;padding:0;margin:0}.dropit .dropit-trigger{position:relative}.dropit .dropit-submenu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:150px;list-style:none;padding:0;margin:0}.dropit .dropit-open .dropit-submenu{display:block}.clearfix:after,.clearfix:before,.forum-list .forum:after,.forum-list .forum:before,.main .page-controls:after,.main .page-controls:before,.profile .profile__header:after,.profile .profile__header:before,.topic-list .topic-list__sort-topics:after,.topic-list .topic-list__sort-topics:before,.topic-list .topic:after,.topic-list .topic:before,.user-list:after,.user-list:before,.wrapper:after,.wrapper:before,nav.section-menu ul:after,nav.section-menu ul:before,section.form .form__section:after,section.form .form__section:before{content:" ";display:table}.clearfix:after,.forum-list .forum:after,.main .page-controls:after,.profile .profile__header:after,.topic-list .topic-list__sort-topics:after,.topic-list .topic:after,.user-list:after,.wrapper:after,nav.section-menu ul:after,section.form .form__section:after{clear:both}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px} \ No newline at end of file +*/h1.title{float:right;margin:10px 0 5px 2%}h1.title a#logo{background-image:url(../images/logo_mobile.png);background-repeat:no-repeat;background-position:top right;width:137px;height:40px;display:block}h1.title a#logo span{display:none}.main-menu{float:left;margin:25px 0 0}.menu-bar ul{margin:0;padding:0;list-style:none}.menu-bar ul li a{display:block;margin-bottom:10px;padding:8px 0;width:48%;margin-right:1%;margin-left:1%;float:right;background:#fafafa;box-sizing:border-box}.menu-bar ul li .unread-count{background:#eb5257;color:#fff;padding:2px 4px 1px 5px;margin:0 2px 0 0;font-weight:400;font-size:.8em;text-decoration:none;border-radius:2px}.main-menu__container{display:none}.main-menu__button{padding-top:5px;display:inline-block;float:left}.main-menu__button i{font-size:21px;color:#444}.main-menu__button span.text{display:none}.user-navigation{clear:both;background:#444;border-top:2px solid #222;border-bottom:2px solid #222}.user-navigation .wrapper{padding:0}.user-navigation__links{margin:0 -8px;list-style:none}.user-navigation__links>li{float:right;margin:0;padding:12px 6px;position:relative}.user-navigation__links>li>a:link,.user-navigation__links>li>a:visited{color:#fff;padding:2px 8px;display:inline-block;margin:-3px 0 -2px;border-radius:4px}.user-navigation__links>li>a:active,.user-navigation__links>li>a:hover{background-color:#333;text-decoration:none}.user-navigation__links>li.dropit-link{padding:12px 0;border-left:2px solid transparent;border-right:2px solid transparent}.user-navigation__links>li.dropit-link i.fa-caret-down{font-size:14px;color:rgba(255,255,255,.7)}.user-navigation__links>li.dropit-link i.fa-caret-up{display:none}.user-navigation__links>li.dropit-link.dropit-open{background:#f2f2f2;border:2px solid #dfdfdf;border-bottom-color:#f2f2f2;margin:-2px 0}.user-navigation__links>li.dropit-link.dropit-open>a{background:0 0;color:#444;border-radius:0}.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-up{display:inline;font-size:14px;color:rgba(0,0,0,.7)}.user-navigation__links .user-navigation__messages>a>span.text,.user-navigation__links .user-navigation__notifications>a>span.text,.user-navigation__links>li.dropit-link.dropit-open i.fa-caret-down{display:none}.user-navigation__links .user-navigation__active-user>a>span.text{font-weight:700}.user-navigation__links .user-navigation__sign-up>a{background-color:#007fd0}.user-navigation__links .user-navigation__sign-up>a:hover{background-color:#ff7500}.user-navigation__links .unread-count{background:#eb5257;color:#fff;border-radius:2px;padding:2px 4px 1px 5px;margin:0 2px 0 0;font-weight:400;font-size:.8em;text-decoration:none}.user-navigation ul .user-navigation__dropdown{display:none;background:#f2f2f2;border-radius:4px 0 4px 4px;border:2px solid #dfdfdf;border-top:0;padding:6px 12px 12px;font-size:.9em;right:-2px;width:270px}.user-navigation ul .user-navigation__dropdown ul{margin:0;padding:0;list-style:none}.user-navigation ul .user-navigation__dropdown li{float:none;margin:0;padding:0;display:block;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown li a{display:block;margin:0;padding:4px;float:none;border-right:0;text-align:right;background:0 0}.user-navigation ul .user-navigation__dropdown li a i{color:rgba(0,0,0,.3);padding-left:8px}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link{float:left;width:80px;height:80px;margin:6px 0 0}.user-navigation ul .user-navigation__dropdown a.avatar-profile-link img.avatar{width:80px;height:80px}.user-navigation ul .user-navigation__dropdown .messages-container,.user-navigation ul .user-navigation__dropdown .notifications-container{background:#fafafa;border:1px solid #dfdfdf;border-radius:3px;margin:10px 0 0}.user-navigation ul .user-navigation__dropdown h2{font-size:1em;margin:0;padding:8px 8px 8px 12px;color:#444;background:#eee;border-bottom:1px solid #dfdfdf}.user-navigation ul .user-navigation__dropdown h2 a:link,.user-navigation ul .user-navigation__dropdown h2 a:visited{color:#444;display:inline-block;background:0 0}.user-navigation ul .user-navigation__dropdown h2 a:active,.user-navigation ul .user-navigation__dropdown h2 a:hover{color:#ff7500}.user-navigation ul .user-navigation__dropdown h2 a.option{float:left}.user-navigation ul .user-navigation__dropdown h2 a.option span.text{display:none}.user-navigation ul .user-navigation__dropdown h2 a.option i{color:rgba(0,0,0,.5)}.user-navigation ul .user-navigation__dropdown h2 a.option:hover i{color:rgba(0,0,0,.6)}.user-navigation ul .user-navigation__dropdown ul.notifications{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.notifications a{text-decoration:none;padding:8px 16px 8px 8px;overflow:hidden}.user-navigation ul .user-navigation__dropdown ul.notifications a:hover span.text{text-decoration:underline}.user-navigation ul .user-navigation__dropdown ul.notifications span.username{font-weight:700}.user-navigation ul .user-navigation__dropdown ul.notifications i{color:rgba(0,0,0,.3);font-size:14px;margin:4px -8px 4px 0;float:right}.user-navigation ul .user-navigation__dropdown ul.messages{margin:0;font-size:.8em;line-height:1.6}.user-navigation ul .user-navigation__dropdown ul.messages li{padding:8px;color:#666}.user-navigation ul .user-navigation__dropdown .view-all,.user-navigation ul .user-navigation__dropdown ul.messages li a{padding:0}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link{float:right;margin:0 0 0 8px;width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.avatar-profile-link img.avatar{width:40px;height:40px}.user-navigation ul .user-navigation__dropdown ul.messages a.conversation-title{font-weight:700;display:block;font-size:1.1em}.user-navigation ul .user-navigation__dropdown ul.messages a.message-author{display:inline-block}#search .search__button .text,#search a.search__advanced .text,#search button.search__submit .text{display:none}.user-navigation ul .user-navigation__dropdown time{font-size:.9em;margin:3px 4px 0 0;color:#666;float:left}.user-navigation ul .user-navigation__dropdown .view-all a{text-align:center;padding:8px}#search .search__button{color:#999;float:left;margin:8px 0 0;padding:5px 2px}#search .search__button i{font-size:18px}#search .search__button:hover{color:#ccc}#search .search__container{clear:both;display:none;border-radius:4px;padding:2px 5px;cursor:text;background:#fff;margin:0 0 8px;width:auto;box-sizing:border-box}#search .search__field{border:0;padding:0;margin:0;width:74%;font-size:.9em}#search .search__controls{width:24%;text-align:left;float:left;padding-left:8px;box-sizing:border-box}#search a.search__advanced,#search button.search__submit{height:24px;margin:0 8px 0 0;padding:0;border:0;cursor:pointer;background:0 0;color:#999;font-size:14px}#search a.search__advanced:hover,#search button.search__submit:hover{color:#666}.breadcrumb{display:block;font-size:.8em;color:#ccc;padding:0;margin:0 0 10px}.breadcrumb a:active,.breadcrumb a:hover,.breadcrumb a:link,.breadcrumb a:visited{color:#666}.breadcrumb i{color:#666;margin:0 6px 0 4px}footer{border-top:1px solid #dfdfdf;background:#fafafa;border-bottom:1px solid #dfdfdf;margin-bottom:30px}footer h3{float:none;font-size:.9em;text-align:center;display:block}footer .menu-bar a{padding:5px 12px;font-size:.9em}footer p.powered-by{clear:both;font-size:.8em;color:#666;padding:10px 0;margin:0}footer p.powered-by a{color:#444}@media only screen and (max-width:768px){.main-menu.menu-bar{margin-top:10px}.main-menu.menu-bar:hover .main-menu__container{position:absolute;left:0;float:left;width:100%;padding-top:45px;display:block}.main-menu.menu-bar:hover ul{display:block;position:relative;top:0;border-top:2px solid #222;border-bottom:2px solid #222;left:0;z-index:500;background:#444;padding:1px 2px 2px;text-align:center}.main-menu.menu-bar:hover ul li{display:inline-block}.main-menu.menu-bar:hover ul li a{width:auto;display:inline-block;margin:4px;padding:7px 8px 6px;float:none;background:0 0;border-radius:4px}.main-menu.menu-bar:hover ul li a:link,.main-menu.menu-bar:hover ul li a:visited{color:#fff}.main-menu.menu-bar:hover ul li a:active,.main-menu.menu-bar:hover ul li a:hover{background:#333;color:#fff;text-decoration:none}}@media only screen and (min-width:768px){h1.title{margin:20px 0 15px 2%}h1.title a#logo{background-image:url(../images/logo2.png);width:188px;height:55px}.main-menu{margin-top:25px}.main-menu__button{display:none}.main-menu__container{display:block}.main-menu.menu-bar ul li{display:inline-block}.menu-bar ul li a{width:auto;background:0 0;border-right:1px solid #dfdfdf;margin:0;padding:2px 12px}.main-menu.menu-bar ul li:first-child a{border-right:0}#search .search__button{display:none}#search .search__container{float:left;display:block;width:35%;clear:none;margin-top:10px}footer{padding:20px 0 10px}footer h3{margin:0;float:right;padding:3px 0 3px 12px}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}@media all and (-webkit-min-device-pixel-ratio:2){.title a#logo{background-image:url(../images/logo2@2x.png);background-size:188px 55px}}@media all and (-webkit-min-device-pixel-ratio:2),(max-width:768px){.title a#logo{background-image:url(../images/logo_mobile@2x.png);background-size:137px 40px}}button,html,input,select,textarea{color:#222}::-moz-selection{background:#ff7500;color:#fff;text-shadow:none}::selection{background:#ff7500;color:#fff;text-shadow:none}body{margin:0;font:16px/26px Open Sans,Helvetica Neue,Helvetica,Arial;background:#fff}.wrapper{width:90%;margin:0 5%}button,input,select,textarea{font:16px Open Sans,Helvetica Neue,Helvetica,Arial}a:link,a:visited{color:#007fd0;text-decoration:none}a:active,a:hover{color:#ff7500;text-decoration:underline}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}fieldset{border:0;margin:0;padding:0}.main{padding:15px 0 30px}.main header{margin-bottom:20px}.main header h1{font-size:1.5em;margin:0 0 10px;padding:0}.main header p{color:#666;font-size:.9em;margin:0 0 10px}.main .page-content--menu header h1{font-size:1.2em;margin-bottom:0}.main aside{padding-bottom:10px;font-size:.9em;margin-top:30px}.main aside section{border:1px solid #dfdfdf;padding:12px 15px;margin-bottom:30px;border-radius:4px}.main .page-buttons{margin:-10px -5px 15px;text-align:center}.main .pagination{list-style:none;margin:0 -5px 25px 0;padding:0;font-size:.9em;text-align:center}.main .pagination li{display:inline-block;margin:0 5px}.main .pagination li a{background:#fafafa;padding:1px 8px;display:inline-block;border-radius:4px}.main .pagination li a:hover{background:#ff7500;color:#fff;text-decoration:none}.main .pagination li.active{padding:1px 8px;background:#007fd0;color:#fff;border-radius:4px}.main .pagination li.disabled{display:none}section{margin-bottom:30px}section h2{font-size:1.2em}section .heading{border-bottom:1px solid #dfdfdf;padding:8px;margin:0 0 5px}section .heading--linked{border-bottom:0;padding:0}section .heading--linked a{padding:8px 12px;border-bottom:1px solid #dfdfdf;text-decoration:none;display:block}section .heading--linked a .count{float:left;font-size:.8em;color:#666;font-weight:400}section .heading--linked a .count i{margin-right:4px}section .heading--major{background:#007fd0;color:#fff;border:0;padding:8px 12px;margin-bottom:0;border-radius:4px}section .heading--major.heading--linked{padding:0}section .heading--major.heading--linked a{border:none;color:#fff;text-decoration:none}section .heading--major.heading--linked a .count{color:rgba(255,255,255,.7)}section .heading--major.heading--linked a:active,section .heading--major.heading--linked a:hover{text-decoration:underline}section .heading--major.heading--linked a:active .count,section .heading--major.heading--linked a:hover .count{color:#fff}section .page-tabs{list-style:none;margin:0;background:#fafafa;padding:8px;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf}section .page-tabs li{display:inline-block;margin:0 0 0 8px}section .page-tabs li a{padding:4px 8px;display:inline-block;background:#fafafa;border-radius:3px}section .page-tabs li a:hover{text-decoration:none;background:#ff7500;color:#fff}section .page-tabs li.page-tabs__active a,section .page-tabs li.page-tabs__active a:hover{color:#fff;font-weight:700;background:#007fd0;text-decoration:none}section.container{border:1px solid #dfdfdf;border-radius:4px}section:last-child{margin-bottom:0}nav.section-menu ul{margin:0 0 15px;padding:0;list-style:none}nav.section-menu ul li{float:right;width:48%;margin-bottom:4px}nav.section-menu ul li:nth-child(odd){margin-left:2%}nav.section-menu ul li:nth-child(even){margin-right:2%}nav.section-menu ul li a{background:#fafafa;display:block;padding:2px 8px;text-decoration:none;border-radius:3px}.alert,.button,a.button,img.avatar{border-radius:4px}nav.section-menu ul li a:hover{background-color:#ff7500;border-color:#ff7500;color:#fff}nav.section-menu ul li a i{padding-left:5px}nav.section-menu ul li.active a{background-color:#007fd0;border-color:#007fd0;color:#fff}.button,a.button{color:#fff;background:#007fd0;border:1px solid #007fd0;padding:4px 10px;margin:5px;font-size:.9em;text-decoration:none;display:inline-block}.button:hover,a.button:hover{background:#ff7500;border-color:#ff7500}.button.button--secondary,a.button.button--secondary{border:1px solid #dfdfdf;background:0 0;color:#007fd0}.sort-results,select,textarea{border:1px solid #ccc}.button.button--secondary:hover,a.button.button--secondary:hover{color:#ff7500}.button i,a.button i{margin-left:5px;font-size:14px}dl.stats{line-height:1.6;margin:0;font-size:.9em;display:table-cell}dl.stats dt{float:right;margin:0 0 0 8px;color:#999}dl.stats dd{padding:0;margin:0;display:table-cell}.segmented-control,.segmented-control .segmented-control__block,.sort-results h3{display:inline-block}.alert{background-color:#fafafa;padding:10px 40px 10px 12px;margin-top:10px;margin-bottom:20px;font-size:.9em}.alert i{float:right;margin:6px -25px 0 0}.alert p{margin:0;padding:0}.alert.alert--danger{background-color:#c00;color:#fff}.alert.alert--success{background-color:#018303;color:#fff}.error-no-results{text-align:center;padding:30px 0;font-size:1.2em;color:#666}.sort-results{text-align:center;border-top:2px solid #dfdfdf;padding:6px 0;border-radius:0 0 4px 4px}.segmented-control,section.form,select,textarea{border-radius:4px}.sort-results h3{margin:0 0 0 10px;padding:0;font-weight:400;color:#666;font-size:.9em}@media only screen and (min-width:768px){.main .page-content--sidebar{float:right;width:60%}.main .page-content--centered{width:60%;float:none;margin:auto}.main .page-content--menu{float:right;width:78%}.main aside{float:left;width:35%;margin-top:0}.main .page-buttons{float:left;margin:-45px 0 8px -5px}.main .pagination{text-align:left;margin:0 -5px 25px}.main .page-controls{margin-top:-20px}.main .page-controls .page-buttons{margin-top:0}.main .page-controls .pagination{float:right;text-align:right;margin:10px -5px 0}.main .page-controls .pagination+.page-buttons{margin-top:0}.main header+.page-controls{margin-top:-20px}.main header+.page-controls .page-buttons{margin-top:-30px}nav.section-menu{float:right;width:19%;margin-left:3%}nav.section-menu ul{margin:0}nav.section-menu ul li,nav.section-menu ul li:nth-child(even),nav.section-menu ul li:nth-child(odd){float:none;width:100%;margin-right:0;margin-left:0}}@media only screen and (min-width:1140px){.wrapper{max-width:1250px;margin:0 auto}}.post .post__body img,select{max-width:100%}input[type=text],input[type=url],input[type=email],input[type=password],input[type=number]{border:1px solid #ccc;padding:6px;width:100%;font-size:.9em;outline:0;border-radius:4px;-ms-box-sizing:border-box;box-sizing:border-box}select{padding:4px;font-size:.9em;box-sizing:border-box}select[multiple=multiple]{width:100%;height:200px}input.short{width:50px;font:12px Open Sans,Helvetica Neue,Helvetica,Arial}input.small{width:50px;margin-right:6px;margin-left:6px}textarea{resize:vertical;padding:6px;width:100%;font-size:.9em;box-sizing:border-box}section.form{border:1px solid #dfdfdf;margin-bottom:10px}section.form .form__section{padding:16px 12px;border-bottom:2px solid #dfdfdf}section.form .form__section h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc}section.form .form__section:last-child{border-bottom:0}section.form .form__row{border-bottom:1px solid #dfdfdf;padding:12px 8px}section.form .form__row h3{margin:0 0 5px;padding:0;font-size:1em}section.form .form__row h4{font-size:.9em;font-weight:400;text-transform:uppercase;color:#007fd0;margin:0}section.form .form__row:first-child{padding-top:0}section.form .form__row:last-child{border-bottom:0;padding-bottom:6px}section.form p.form__checkbox{font-size:.9em;margin:5px 0;padding:0 30px 0 0}section.form p.form__checkbox input[type=checkbox]{float:right;margin:6px -26px 0 0}section.form p.form__checkbox i{color:#999;padding-left:5px;width:16px;font-size:14px;text-align:center;display:inline-block}section.form p.form__checkbox:last-child{margin-bottom:0}section.form p.form__description{font-size:.8em;line-height:1.4;color:#666;margin:-4px 0 4px}section.form p.form__data{margin:0;font-size:.9em}section.form label{cursor:pointer}section.form .topic-title{font-size:1.3em}section.form .buttons{margin:-5px}.form__submit{text-align:center;padding:10px 0}.form__submit .button{font-size:1em;padding:6px 12px}.form__submit .button i{font-size:18px;margin-left:8px}.segmented-control{margin:5px 0 0;border:1px solid #ccc;font-size:.8em}.segmented-control .segmented-control__button{display:block;padding:3px 8px;margin:0;border-right:1px solid #ccc;border-left:1px solid transparent;position:relative;z-index:10;cursor:pointer}.segmented-control .segmented-control__button i{margin:0 6px 0 0;float:none}.segmented-control :first-child .segmented-control__button{border-right:1px solid transparent;border-radius:0 4px 4px 0}.segmented-control :last-child .segmented-control__button{border-radius:4px 0 0 4px}.segmented-control input:checked+.segmented-control__button{background:#007fd0;color:#fff;margin:-1px;border:1px solid #007fd0;z-index:15}.segmented-control input:checked+.segmented-control__button i{color:#fff}.select-control{font-size:.8em}.select-control .select-control__block{display:block;margin:0 0 5px;padding:0}.select-control .select-control__button{display:block;padding:3px 8px;margin:5px 0 0 10px;background:#fafafa;cursor:pointer;border-radius:4px}.select-control .select-control__button i{color:rgba(0,0,0,.4);margin:0 0 0 4px}.select-control input:checked+.select-control__button{background:#ccc}.select-control input:checked+.select-control__button i{color:rgba(0,0,0,.6)}@media only screen and (min-width:768px){section.form .form__section{padding:20px 12px}section.form .form__section h2{border:0;float:right;margin:0;padding:0;width:20%;text-align:left}section.form .form__section__container{float:right;margin:0 3% 0 0;padding:0 20px 0 0;border-right:1px dotted #ccc;width:74%;-ms-box-sizing:border-box;box-sizing:border-box}}.forum-list .forum{padding:12px;border-bottom:1px solid #ccc;line-height:1.4}.forum-list .forum .forum__title{margin:0 0 4px;font-size:1em}.forum-list .forum .forum__description{font-size:.8em;margin:0;padding:2px 0 4px;color:#444}.forum-list .forum .forum__subforums{list-style:none;margin:2px 20px 4px 0;padding:0;font-size:.8em}.forum-list .forum .forum__subforums li{display:inline-block;margin:0 0 4px 12px}.forum-list .forum .forum__subforums i.fa-level-up{margin:1px -16px 0 0;color:#999;float:right;font-size:14px;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg)}.forum-list .forum .forum__topic{margin-top:6px;padding:10px 2px 0 0;border-top:1px dotted #dfdfdf}.forum-list .forum .forum__topic .avatar-profile-link{width:24px;height:24px;margin:-3px 0 0 12px}.forum-list .forum .forum__topic .avatar-profile-link img.avatar{width:24px;height:24px}.forum-list .forum .forum__topic .forum__topic__title{display:inline-block;margin:0 0 0 8px;padding:0;font-weight:400}.forum-list .forum .forum__topic .forum__topic__post{display:inline-block;font-size:.8em;color:#999;margin:0}.forum-list .forum .forum__topic .forum__topic__post a{color:#666}.forum-list .forum.highlight{background-color:#ebf4fb;border-color:#afd9fa}.forum-list--compact .category{border-bottom:1px solid #dfdfdf;padding:8px 12px}.forum-list--compact .category:last-child,section.container .forum-list .forum:last-child{border-bottom:0}.forum-list--compact .category h4{margin:0;font-size:1em}.forum-list--compact .category ul{list-style:none;margin:0;padding:0 15px 0 0;font-size:.9em}section.container .forum-list{padding:0 6px}.topic-list .topic-list__sort-topics{margin-bottom:0;background:#007fd0;padding:5px;border:0;color:#fff;font-size:.9em;border-radius:4px 4px 0 0}.topic-list .topic-list__sort-topics .primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:50%}.topic-list .topic-list__sort-topics .latest-column{width:50%;text-align:left}.topic-list .topic-list__sort-topics .primary-column-two,.topic-list .topic-list__sort-topics .replies-column{display:none}.topic-list .topic-list__sort-topics a{display:inline-block;float:left;padding:3px 5px;font-size:.9em;box-sizing:border-box;border-radius:3px}#quoteBar,.poll,.post{border-radius:4px}.topic-list .topic-list__sort-topics a:link,.topic-list .topic-list__sort-topics a:visited{color:#fff}.topic-list .topic-list__sort-topics a:active,.topic-list .topic-list__sort-topics a:hover{background:#ff7500;text-decoration:none}.topic-list .topic-list__sort-topics i{font-size:14px;margin-right:4px;color:rgba(255,255,255,.7)}.topic-list .topic-list__container{border-right:1px solid #ccc;border-left:1px solid #ccc}.topic-list .topic-list__important-topics{border-bottom:2px solid #dfdfdf}.topic-list .topic{padding:10px 60px 10px 12px;border-bottom:1px solid #dfdfdf;line-height:1.4;position:relative}.topic-list .topic .primary-column{position:relative}.topic-list .topic .topic__title{margin:0;padding:0;font-size:1em;font-weight:400}.topic-list .topic .topic__title.topic__title--unread{font-weight:700}.topic-list .topic .topic__title.topic__title--moved{color:#999}.topic-list .topic .topic__icons{float:left;color:#666;font-size:14px;position:absolute;top:0;left:0;margin-right:16px}.topic-list .topic .topic__icons i{margin-right:8px}.topic-list .topic .topic__icons i.fa-thumb-tack{color:#007fd0}.topic-list .topic .replies-column,.topic-list .topic h4{display:none}.topic-list .topic .topic__post{font-size:.8em;color:#999;margin:0;padding:0;display:inline-block}.topic-list .topic .topic__post .post__author a{color:#666}.topic-list .topic .topic__post a.post__date{color:#999}.topic-list .topic .topic__post .post__author:after{content:","}#powerTip:before,.topic-list.topic-list--compact .topic .topic__post--latest .post__author:after{content:""}.topic-list .topic .topic__post--first{display:none}.topic-list .topic .topic__post--latest{font-size:.8em;color:#999;margin:0;display:inline-block}.topic-list .topic .avatar-profile-link{width:44px;height:44px;float:right;margin:10px 6px 0 12px;position:absolute;top:0;right:0}.topic-list .topic .avatar-profile-link img.avatar{width:44px;height:44px}.topic-list .topic .topic__forum{font-size:.8em;color:#999;margin:0;display:none}.topic-list .topic .topic__forum a{color:#999}.topic-list .topic .topic__replies{margin:0 12px 0 0;font-size:.8em;color:#999;display:none}.topic-list .topic .topic__replies i{color:rgba(0,0,0,.3);margin-left:4px}.post .post__meta a:link,.post .post__meta a:visited,.topic-list.topic-list--compact .topic .topic__post--latest a,.topic-list.topic-list--compact .topic .topic__post--latest a.post__date{color:#666}.topic-list .topic .topic__replies .text{display:none}.topic-list .topic.highlight{background-color:#ebf4fb;border-color:#afd9fa}.topic-list .topic.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.topic-list .topic.pending-approval{background-color:#f2dede;border-color:#f2aaab}.topic-list.topic-list--compact .topic .topic__post--latest .post__author{display:inline;font-size:1em}@media only screen and (min-width:480px){.topic-list .topic .topic__forum,.topic-list .topic .topic__replies{display:inline-block}}@media only screen and (min-width:768px){.forum-list--full-width .forum .forum__info{float:right;width:60%}.forum-list--full-width .forum .forum__topic{float:left;width:35%;border:none;margin:0;padding:4px 0}.forum-list--full-width .forum .forum__topic .forum__topic__title{display:block;font-size:.9em}.forum-list--full-width .forum .forum__topic .avatar-profile-link{float:right;width:36px;height:36px;margin:3px 0 0 12px}.forum-list--full-width .forum .forum__topic .avatar-profile-link img.avatar{width:36px;height:36px}.topic-list .topic-list__sort-topics a.primary-column-one,.topic-list .topic-list__sort-topics a.primary-column-two{width:29%}.topic-list .topic-list__sort-topics a.primary-column-two{text-align:left;display:inline-block}.topic-list .topic-list__sort-topics a.replies-column{width:12%;text-align:center;display:inline-block}.topic-list .topic-list__sort-topics a.latest-column{width:20%;text-align:right}.topic-list .topic-list__sort-topics a.moderation-column{width:9%;float:left;text-align:right}.topic-list .topic{padding:10px 12px}.topic-list .topic .primary-column{width:58%;float:right;-ms-box-sizing:border-box;box-sizing:border-box}.topic-list .topic .primary-column .topic__title{font-size:1em}.topic-list .topic .replies-column{width:12%;float:right;text-align:center;color:#666;display:block}.topic-list .topic .replies-column p{margin:10px 0;float:none}.topic-list .topic .latest-column{width:20%;float:right}.topic-list .topic .moderation-column{width:9%;float:left;text-align:right}.topic-list .topic .topic__post--first{display:inline-block}.topic-list .topic .topic__post--latest .post__author{display:block;font-size:1.2em}.topic-list .topic .topic__post--latest .post__author:after{content:""}.topic-list .topic .avatar-profile-link{margin:0 6px 0 12px;position:relative;top:auto;right:auto}.topic-list.topic-list--compact .avatar-profile-link{margin:0 0 0 12px}}.post .team-badge,.post.post--hidden .post__body,.post.post--hidden .post__controls{display:none}.post{background-color:#fff;border:1px solid #ccc;padding:8px 12px;margin-bottom:25px}.post.highlight{background-color:#ebf4fb;border-color:#afd9fa}.post.soft-deleted{background-color:#ece3fa;border-color:#ddcafa}.post.pending-approval{background-color:#f2dede;border-color:#f2aaab}.post.post--hidden .post__meta{padding-bottom:2px}.post .post__meta{padding:4px 6px 12px}.post .post__meta a:active,.post .post__meta a:hover{color:#ff7500}.post .post__meta h3{font-size:1em;margin:0}.post .post__meta h3 a:link,.post .post__meta h3 a:visited{color:#007fd0}.post .post__meta h3 a:active,.post .post__meta h3 a:hover{color:#ff7500}.post .post__meta .post__date{font-size:.8em;color:#666}.post .post__meta .post__edit-log{font-size:.7em;margin-right:4px}.post .post__meta .post__status{margin-right:16px;font-size:.8em;font-weight:700}.post .post__meta .post__status i{color:#666;font-size:14px;margin-left:3px}.post .post__inline-mod{float:left;margin:-20px 7px 0 0}.post .post__toggle{float:left;font-size:14px;margin:1px 0 0 1px}.post .post__toggle i{color:rgba(0,0,0,.2)}.post .post__toggle:hover i{color:rgba(0,0,0,.4)}.post .avatar-profile-link{float:right;width:40px;height:40px;margin:5px 0 0 10px}.post .avatar-profile-link img.avatar{width:40px;height:40px}.post .post__body{padding:0 6px 3px}.post .post__body p{font-size:.9em;margin:0 0 6px}.post .post__body blockquote{border-left:2px solid #007fd0;padding:10px 20px;margin:20px 12px;font-size:.9em}.post .post__body blockquote cite{font-weight:400;font-size:normal;color:#666;display:block}.post .post__body blockquote cite .quote-author{font-weight:700;color:#222}.post .post__body blockquote cite .quote-date{color:#444}.post .post__signature{border-top:1px dotted #ccc;padding:6px 6px 0;margin:12px 0 0;font-size:.8em}.post .post__controls{list-style:none;margin:0;padding:4px;text-align:left}.post .post__controls li{display:inline-block}.post .post__controls li a,.post .post__controls li button{color:#666;padding:0 5px;background-color:transparent;border:none}#quoteBar,.poll,.stepper{border:1px solid #ccc}.post .post__controls li a:active,.post .post__controls li a:hover,.post .post__controls li button:active,.post .post__controls li button:hover{color:#ff7500;text-decoration:none}.post .post__controls li.approve,.post .post__controls li.like,.post .post__controls li.quote,.post .post__controls li.restore{float:right}.post .post__controls li.approve .text,.post .post__controls li.like .text,.post .post__controls li.quote .text,.post .post__controls li.restore .text{display:inline}.post .post__controls li.approve .quoteButton .quoteButton__remove,.post .post__controls li.like .quoteButton .quoteButton__remove,.post .post__controls li.quote .quoteButton .quoteButton__remove,.post .post__controls li.restore .quoteButton .quoteButton__remove,.post.post--reply .full-reply .text{display:none}.post .post__controls i{font-size:14px}.post .post__controls .text{display:none;font-size:.7em;margin-right:6px}.post .post__likes{font-size:.8em;padding:8px 8px 4px;margin:8px 0 0;border-top:1px solid #dfdfdf;color:#999}.post .post__likes i{margin-left:5px}.post .post__likes a{color:#666}.post.post--reply .full-reply{float:left}.post.post--reply .post__foot{margin:5px 0}#quoteBar{padding:0 10px;font-size:12px}@media only screen and (min-width:480px){.post{margin-right:80px}.post.post--hidden .avatar-profile-link{width:50px;height:50px;margin-right:-80px}.post.post--hidden .avatar-profile-link img.avatar{width:50px;height:50px}.post .post__meta{padding:4px 6px 8px}.post .post__meta h3{display:inline-block}.post .post__meta .post__date{margin:0 10px 0 0}.post .avatar-profile-link{float:right;width:70px;height:70px;margin:-13px -100px 0 0}.post .avatar-profile-link img.avatar{width:70px;height:70px}.post .post__inline-mod{margin-top:7px}}@media only screen and (min-width:768px){.post{margin-right:110px}.post .post__meta .team-badge{display:inline}.post .avatar-profile-link{width:100px;height:100px;margin-right:-130px}.post .avatar-profile-link img.avatar{width:100px;height:100px}.post .post__toggle{margin-left:5px}}#add-poll .poll-option{padding-left:20px}#add-poll .remove-option{float:left;margin:3px 0 0 -20px;color:#f4645f}.poll .poll__title{background:#007fd0;margin:0;border-radius:3px 3px 0 0;padding:6px 8px;color:#fff}.poll .poll__options{padding:0}.poll .poll__option{border-bottom:1px solid #e0e0e0;padding:6px 8px}.poll .poll__option:last-child{border-bottom:none}.poll .poll__option.poll_option-voted{background:#fbffc0}.poll .poll__option__name{width:300px;float:right}.poll .poll__option__votes{margin-right:300px;width:auto;border:1px solid #bbb;background:#fff;height:20px;border-radius:10px;position:relative}.team-badge,.user-list .user-list__user{border-radius:4px;border:1px solid #dfdfdf}.poll .poll__option__votes-bar{position:absolute;top:0;right:0;bottom:0;background:#ccc;z-index:1;border-radius:9px}.poll .poll__option__votes-title{position:absolute;top:0;left:0;right:0;text-align:center;font-size:14px;line-height:1;padding:3px 0 0;z-index:4}.poll .poll__option__votes-result{font-size:14px}.poll .poll__end-at{border-top:1px solid #ccc;padding:6px 8px}.poll .poll__vote{border-top:2px solid #ccc;height:40px}.poll .poll__vote .poll__buttons{float:left}.poll .poll__vote .button{line-height:1.4}.user-list{padding:12px 12px 0}.user-list .user-list__user{padding:8px;margin:0 0 12px}.user-list .user-list__user .avatar-profile-link{float:right;width:80px;height:80px;margin:0 0 0 12px}.user-list .user-list__user .avatar-profile-link img.avatar{width:80px;height:80px}.user-list .user-list__user h3{margin:0;font-size:1em}.user-list .user-list__user h4{font-size:.8em;font-weight:400;margin:0}.user-list .user-list__user p{margin:0;padding:0;font-size:.8em;color:#999}.user-list .user-list__user p a{color:#666}.user-list .user-list__user .team-badge{float:right;position:relative;margin:-48px 0 0}.user-list .user-list__user .stats{font-size:.7em}.user-list.online-now .user-list__user .avatar-profile-link,.user-list.online-now .user-list__user .avatar-profile-link img.avatar{width:50px;height:50px}.user-list.online-now .user-list__user .user-list__user__date{float:right}.user-list--compact a{display:inline-block;margin:0 0 10px 12px}.user-list--compact a img.avatar{width:24px;height:24px;margin:-2px 0 0 8px}.user-list--compact .error-no-results{padding:10px 0;font-size:1em}.team-badge{padding:3px 8px;color:#666;display:inline;line-height:1.6;font-size:.7em}.team-badge i{margin-left:5px}.profile .profile__header{position:relative}.profile .profile__header .avatar{float:right;width:100px;height:100px;margin-left:16px}.profile .profile__header .page-buttons{position:absolute;top:0;right:0;margin:0}.profile .profile__username,.profile .profile__usertitle{margin:5px 0}.profile .profile__field-group h2{margin-bottom:0}.profile .profile__field{padding:8px;border-bottom:1px solid #dfdfdf;font-size:.9em}.profile .profile__field h3{margin:0;padding:0;font-weight:600}.profile .profile__field p{margin:0;padding:0}.profile .profile__field:last-child{border-bottom:none}@media only screen and (min-width:768px){.user-list .user-list__user{float:right;width:49.5%;margin:0 0 12px;-ms-box-sizing:border-box;box-sizing:border-box}.user-list .user-list__user:nth-child(odd){margin-left:.5%}.user-list .user-list__user:nth-child(even){margin-right:.5%}}section.form .form__section__container.change-avatar{padding-right:130px}section.form .form__section__container.change-avatar .avatar-profile-link{float:right;margin:0 -110px 0 10px}section.form .form__section__container.change-avatar .avatar-profile-link img.avatar{width:100px;height:100px}section.form .form__section__container.change-avatar p{padding:0 5px 0 0;margin:0 0 10px;font-size:.9em;color:#666}ul.notifications{margin:0;font-size:.9em;line-height:1.6;list-style:none;padding:0}ul.notifications li{overflow:hidden;margin:0;padding:8px;border-bottom:1px solid #dfdfdf}ul.notifications li:last-child{border-bottom:0}ul.notifications a.avatar-profile-link{float:right;margin:0 0 0 12px;width:40px;height:40px}ul.notifications a.avatar-profile-link img.avatar{width:40px;height:40px}ul.notifications a:hover .text,ul.notifications h2 a:hover .text{text-decoration:underline}ul.notifications a.notification{text-decoration:none;margin-right:52px;padding-right:24px;display:block}ul.notifications .notification__username{font-weight:700}ul.notifications i{color:#999}ul.notifications time{font-size:.8em;color:#666;display:block}.inline-moderation{border:1px solid #ddd;border-radius:4px;padding:10px 12px;font-size:.9em;text-align:center}html.js .inline-moderation{display:none}html.js .inline-moderation.floating{display:block;float:right;position:fixed;background:#444;border-color:#444;z-index:1000;bottom:0;right:0;left:0;border-radius:0;border-top:2px solid #222;width:100%;box-sizing:border-box}html.js .inline-moderation.floating h2{color:#bbb}html.js .inline-moderation.floating a:link,html.js .inline-moderation.floating a:visited{color:#ddd}html.js .inline-moderation.floating i{color:#bbb}.inline-moderation h2{font-weight:400;font-size:1em;color:#666;margin:0 0 0 8px;padding:0;border:none;display:inline-block}.inline-moderation ul{list-style:none;margin:0;padding:0;display:inline-block}.inline-moderation ul li{display:inline-block;margin:0 8px}.modal,.modal .section-menu{display:none}.inline-moderation i{margin-left:4px}.checkbox-select{float:left;margin:-4px 12px 0 7px}.checkbox-select.check-all{margin:12px 0 0 19px}@media only screen and (min-width:480px){.checkbox-select{margin:12px 12px 0 0}.checkbox-select.check-all{margin:12px 0 0 12px}}.modal{width:580px;padding:0;border:8px solid rgba(0,0,0,.5);border-radius:8px}.modal .page-content{background:#fff;border:1px solid rgba(0,0,0,.7);width:100%;float:none}.modal .page-content header{background:#007fd0;border-bottom:2px solid #0a539b}.modal .page-content header h1{margin:0;color:#fff;font-size:1.2em;padding:16px}.modal .page-content header .page-controls{margin:-50px 0 0 8px}.modal .page-content header .button,.modal .page-content header .button.secondary{color:#fff;background:#007fd0;border-color:rgba(255,255,255,.3)}.modal .page-content header .button.secondary:hover,.modal .page-content header .button:hover{background:#ff7500;border-color:#ff7500}.modal .page-content.page-content--menu header{margin:0}.modal section.form{border:none;padding-bottom:15px;margin:0;overflow:auto}.modal section.form h2{margin:0 0 12px;padding:0 8px 8px;color:#007fd0;font-size:1.1em;border-bottom:1px dotted #ccc;text-align:right;float:none;width:auto}.modal section.form .form__section__container{float:none;margin:0;padding:0;border:none;width:auto}.modal section.form .form_section:last-child{padding-bottom:0}.modal .form__submit{margin:0;padding:6px 0;background:#f2f2f2;border-top:1px solid #dfdfdf}.modal a.close-modal{position:absolute;top:-12.5px;left:-12.5px;width:11px;height:19px;display:block;border:2px solid #fff;padding:2px 6px;color:#fff;background:#333;text-align:center;text-decoration:none;box-shadow:0 1px 4px #000;line-height:1;border-radius:15px}#powerTip,#spinner,.modal a.close-modal span{display:none}.modal a.close-modal i{font-size:14px}.modal a.close-modal:hover{background:#b00}.modal-spinner{display:none;width:64px;height:64px;position:fixed;top:50%;right:50%;margin-left:-32px;margin-top:-32px;background:url(../images/spinner.gif)center center no-repeat #111;border-radius:8px}@media screen and (max-width:758px){.modal{width:450px}}@media screen and (max-width:524px){.modal{width:290px}}@media screen and (max-height:758px){.modal .page-content section.form{max-height:400px;overflow:auto}}@media screen and (max-height:524px){.modal .page-content section.form{max-height:300px;overflow:auto}}@media screen and (max-height:458px){.modal .page-content section.form{max-height:150px;overflow:auto}}#spinner{background:#444;color:#fff;position:fixed;top:0;right:0;z-index:1001;padding:3px 15px;border-radius:0 0 4px;font-size:12px}#spinner .fa{font-size:16px;padding:0 2px}#powerTip{cursor:default;background-color:#333;background-color:rgba(0,0,0,.8);border-radius:4px;color:#fff;padding:3px 9px;position:absolute;white-space:nowrap;z-index:2147483647;font-size:.8em}#powerTip:before{position:absolute}#powerTip.n:before,#powerTip.s:before{border-left:5px solid transparent;border-right:5px solid transparent;right:50%;margin-right:-5px}#powerTip.e:before,#powerTip.w:before{border-bottom:5px solid transparent;border-top:5px solid transparent;margin-top:-5px;top:50%}#powerTip.n:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.e:before{border-left:5px solid #333;border-left:5px solid rgba(0,0,0,.8);right:-5px}#powerTip.s:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.w:before{border-right:5px solid #333;border-right:5px solid rgba(0,0,0,.8);left:-5px}#powerTip.ne-alt:before,#powerTip.se-alt:before{right:auto;left:10px}#powerTip.ne:before,#powerTip.se:before{border-left:5px solid transparent;border-right:0;right:10px}#powerTip.nw:before,#powerTip.sw:before{border-right:5px solid transparent;border-left:0;left:10px}#powerTip.ne:before,#powerTip.nw:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px}#powerTip.se:before,#powerTip.sw:before{border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);top:-5px}#powerTip.ne-alt:before,#powerTip.nw-alt:before,#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:5px solid #333;border-top:5px solid rgba(0,0,0,.8);bottom:-5px;border-right:5px solid transparent;border-left:5px solid transparent;right:10px}#powerTip.se-alt:before,#powerTip.sw-alt:before{border-top:none;border-bottom:5px solid #333;border-bottom:5px solid rgba(0,0,0,.8);bottom:auto;top:-5px}.stepper{border-radius:3px;margin:0 0 10px;overflow:hidden;position:relative;width:130px}.stepper .stepper-input{background:#fff;border:0;border-radius:4px;font-size:.9em;overflow:hidden;padding:4px 10px;text-align:center;width:100%;width:60px;margin:0 35px;box-sizing:border-box;z-index:49;-moz-appearance:textfield}.stepper .stepper-input::-webkit-inner-spin-button,.stepper .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .stepper-arrow{cursor:pointer;display:block;height:100%;padding:0;position:absolute;width:35px;text-align:center;z-index:50;font-weight:700;color:#666;font-size:20px}.stepper .stepper-arrow:hover{color:#666}.stepper .stepper-arrow.up{float:left;top:0;left:0;border-right:1px solid #ccc}.stepper .stepper-arrow.down{float:right;top:0;right:0;border-left:1px solid #ccc}.stepper.disabled .stepper-input{background:#fff;border-color:#eee;color:#ccc}.stepper.disabled .stepper-arrow{background:#fff;border-color:#eee;cursor:default}::-ms-clear,::-ms-reveal{display:none!important}.hideShowPassword-toggle{background:0 0;border:0;border-radius:.25em;color:#888;cursor:pointer;font-size:.75em;font-weight:700;margin-left:2px;padding:3px 8px;text-transform:uppercase;-moz-appearance:none;-webkit-appearance:none}.hideShowPassword-toggle:focus,.hideShowPassword-toggle:hover{background-color:#eee;color:#555;outline:transparent}.dropit{list-style:none;padding:0;margin:0}.dropit .dropit-trigger{position:relative}.dropit .dropit-submenu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:150px;list-style:none;padding:0;margin:0}.dropit .dropit-open .dropit-submenu{display:block}.clearfix:after,.clearfix:before,.forum-list .forum:after,.forum-list .forum:before,.main .page-controls:after,.main .page-controls:before,.profile .profile__header:after,.profile .profile__header:before,.topic-list .topic-list__sort-topics:after,.topic-list .topic-list__sort-topics:before,.topic-list .topic:after,.topic-list .topic:before,.user-list:after,.user-list:before,.wrapper:after,.wrapper:before,nav.section-menu ul:after,nav.section-menu ul:before,section.form .form__section:after,section.form .form__section:before{content:" ";display:table}.clearfix:after,.forum-list .forum:after,.main .page-controls:after,.profile .profile__header:after,.topic-list .topic-list__sort-topics:after,.topic-list .topic:after,.user-list:after,.wrapper:after,nav.section-menu ul:after,section.form .form__section:after{clear:both}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px} \ No newline at end of file diff --git a/public/assets/js/main.js b/public/assets/js/main.js index 79d5d6be..3283bdf4 100644 --- a/public/assets/js/main.js +++ b/public/assets/js/main.js @@ -86,6 +86,7 @@ window.MyBB.Modals = function Modals() { $("*[data-modal]").on("click", this.toggleModal).bind(this); + $.modal.defaults.closeText = 'x'; }; window.MyBB.Modals.prototype.toggleModal = function toggleModal(event) { @@ -131,7 +132,15 @@ modalFind = "#content"; } - $.get('/'+modalSelector, function(response) { + var modalParams = $(event.currentTarget).attr('data-modal-params'); + if (modalParams) { + modalParams = JSON.parse(modalParams); + console.log(modalParams); + } else { + modalParams = {}; + } + + $.get('/'+modalSelector, modalParams, function(response) { var responseObject = $(response); modalContent = $(modalFind, responseObject).html(); @@ -145,9 +154,10 @@ }); } }; - + var modals = new window.MyBB.Modals(); // TODO: put this elsewhere :) })(jQuery, window); + (function($, window) { window.MyBB = window.MyBB || {}; @@ -422,6 +432,63 @@ }) (jQuery, window); +(function($, window) { + window.MyBB = window.MyBB || {}; + + window.MyBB.Moderation = function Moderation() + { + $.ajaxSetup({ + headers: { + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') + } + }); + + $('a[data-moderate]').click($.proxy(function (e) { + e.preventDefault(); + + $.post('/moderate', { + moderation_name: $(e.currentTarget).attr('data-moderate'), + moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'), + moderation_ids: window.MyBB.Moderation.getSelectedIds() + }, function (response) { + document.location.reload(); + }); + }, this)); + + $('a[data-moderate-reverse]').click($.proxy(function (e) { + e.preventDefault(); + + $.post('/moderate/reverse', { + moderation_name: $(e.currentTarget).attr('data-moderate-reverse'), + moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'), + moderation_ids: window.MyBB.Moderation.getSelectedIds() + }, function (response) { + document.location.reload(); + }); + }, this)); + + $('li[data-moderation-multi]').hide(); + }; + + window.MyBB.Moderation.getSelectedIds = function getSelectedIds() + { + return $('input[type=checkbox][data-moderation-id]:checked').map(function () { + return $(this).attr('data-moderation-id'); + }).get(); + }; + + window.MyBB.Moderation.injectModalParams = function injectFormData(element) + { + $(element).attr('data-modal-params', JSON.stringify({ + moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'), + moderation_ids: window.MyBB.Moderation.getSelectedIds() + })); + }; + + var moderation = new window.MyBB.Moderation(); + +})(jQuery, window); + $('html').addClass('js'); $(function () { @@ -480,6 +547,13 @@ $(function () { $('.inline-moderation').addClass('floating'); } + if (checked_boxes > 1) + { + $('li[data-moderation-multi]').show(); + } else { + $('li[data-moderation-multi]').hide(); + } + if(checked_boxes == 0) { $('.inline-moderation').removeClass('floating'); @@ -488,8 +562,8 @@ $(function () { $('.inline-moderation .selection-count').text(' ('+checked_boxes+')') }); - $(".thread .checkbox-select :checkbox").change(function() { - $(this).closest(".thread").toggleClass("highlight", this.checked); + $(".topic-list .topic :checkbox").change(function() { + $(this).closest(".topic").toggleClass("highlight", this.checked); var checked_boxes = $('.highlight').length; @@ -498,6 +572,13 @@ $(function () { $('.inline-moderation').addClass('floating'); } + if (checked_boxes > 1) + { + $('li[data-moderation-multi]').show(); + } else { + $('li[data-moderation-multi]').hide(); + } + if(checked_boxes == 0) { $('.inline-moderation').removeClass('floating'); @@ -553,4 +634,4 @@ $(function () { autofocus: false, autofocusEnd: false });*/ -}); \ No newline at end of file +}); diff --git a/public/assets/js/main.js.min.map b/public/assets/js/main.js.min.map index 713465cd..e8fe9cd6 100644 --- a/public/assets/js/main.js.min.map +++ b/public/assets/js/main.js.min.map @@ -1 +1 @@ -{"version":3,"sources":["cookie.js","spinner.js","modal.js","post.js","poll.js","quote.js","other.js"],"names":["$","window","MyBB","Cookie","cookiePrefix","cookiePath","cookieDomain","init","Settings","this","get","name","cookie","set","value","expires","expire","Date","setTime","getTime","options","path","domain","unset","removeCookie","jQuery","Spinner","inProgresses","add","show","remove","hide","Modals","on","toggleModal","bind","prototype","event","preventDefault","target","nodeName","modalOpener","modalSelector","data","modalFind","modal","class","modalContent","parent","substring","html","appendTo","zIndex","stepper","hideShowPassword","undefined","response","responseObject","Posts","togglePost","hasClass","addClass","removeClass","Polls","optionElement","clone","attr","removeOption","click","proxy","addOption","change","toggleMaxOptionsInput","$addPollButton","toggleAddPoll","length","val","slideDown","timePicker","datetimepicker","format","lang","minDate","slideUp","num_options","$option","find","last","after","$parent","$me","$myParent","parents","setTimeout","fixOptionsName","Modernizr","touch","powerTip","placement","smartPlacement","i","each","me","is","Quotes","multiQuoteButton","showQuoteBar","addQuotes","removeQuotes","quoteButtons","getQuotes","quotes","split","key","quote","parseInt","postId","indexOf","push","join","$quoteBar","$textarea","ajax","url","posts","_token","method","done","json","error","substr","message","always","$quoteButton","dropit","submenuEl","triggerEl","removeAttr","closest","toggleClass","checked","checked_boxes","text","prop"],"mappings":"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","file":"main.js","sourcesContent":["(function ($, window) {\r\n\twindow.MyBB = window.MyBB || {};\r\n\r\n\twindow.MyBB.Cookie = {\r\n\t\tcookiePrefix: '',\r\n\t\tcookiePath: '/',\r\n\t\tcookieDomain: '',\r\n\r\n\t\tinit: function () {\r\n\t\t\tMyBB.Settings = MyBB.Settings || {};\r\n\t\t\tif (typeof MyBB.Settings.cookiePrefix != 'undefined') {\r\n\t\t\t\tthis.cookiePrefix = MyBB.Settings.cookiePrefix;\r\n\t\t\t}\r\n\t\t\tif (typeof MyBB.Settings.cookiePath != 'undefined') {\r\n\t\t\t\tthis.cookiePath = MyBB.Settings.cookiePath;\r\n\t\t\t}\r\n\t\t\tif (typeof MyBB.Settings.cookieDomain != 'undefined') {\r\n\t\t\t\tthis.cookieDomain = MyBB.Settings.cookieDomain;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tget: function (name) {\r\n\t\t\tthis.init();\r\n\r\n\t\t\tname = this.cookiePrefix + name;\r\n\t\t\treturn $.cookie(name);\r\n\t\t},\r\n\r\n\t\tset: function (name, value, expires) {\r\n\t\t\tthis.init();\r\n\r\n\t\t\tname = this.cookiePrefix + name;\r\n\t\t\tif (!expires) {\r\n\t\t\t\texpires = 157680000; // 5*365*24*60*60 => 5 years\r\n\t\t\t}\r\n\r\n\t\t\texpire = new Date();\r\n\t\t\texpire.setTime(expire.getTime() + (expires * 1000));\r\n\r\n\t\t\toptions = {\r\n\t\t\t\texpires: expire,\r\n\t\t\t\tpath: this.cookiePath,\r\n\t\t\t\tdomain: this.cookieDomain\r\n\t\t\t};\r\n\r\n\t\t\treturn $.cookie(name, value, options);\r\n\t\t},\r\n\r\n\t\tunset: function (name) {\r\n\t\t\tthis.init();\r\n\r\n\t\t\tname = this.cookiePrefix + name;\r\n\r\n\t\t\toptions = {\r\n\t\t\t\tpath: this.cookiePath,\r\n\t\t\t\tdomain: this.cookieDomain\r\n\t\t\t};\r\n\t\t\treturn $.removeCookie(name, options);\r\n\t\t}\r\n\t}\r\n})\r\n(jQuery, window);","(function ($, window) {\r\n\twindow.MyBB = window.MyBB || {};\r\n\r\n\twindow.MyBB.Spinner = {\r\n\t\tinProgresses: 0,\r\n\t\tadd: function () {\r\n\t\t\tthis.inProgresses++;\r\n\t\t\tif (this.inProgresses == 1) {\r\n\t\t\t\t$(\"#spinner\").show();\r\n\t\t\t}\r\n\t\t},\r\n\t\tremove: function () {\r\n\t\t\tthis.inProgresses--;\r\n\t\t\tif (this.inProgresses == 0) {\r\n\t\t\t\t$(\"#spinner\").hide();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})\r\n(jQuery, window);","(function($, window) {\r\n window.MyBB = window.MyBB || {};\r\n \r\n\twindow.MyBB.Modals = function Modals()\r\n\t{\r\n\t\t$(\"*[data-modal]\").on(\"click\", this.toggleModal).bind(this);\r\n\t};\r\n\r\n\twindow.MyBB.Modals.prototype.toggleModal = function toggleModal(event) {\r\n\t\tevent.preventDefault();\r\n\r\n\t\t// Check to make sure we're clicking the link and not a child of the link\r\n\t\tif(event.target.nodeName === \"A\")\r\n\t\t{\r\n\t\t\t// Woohoo, it's the link!\r\n\t\t\tvar modalOpener = event.target,\r\n\t\t\t\tmodalSelector = $(modalOpener).data(\"modal\"),\r\n\t\t\t\tmodalFind = $(modalOpener).data(\"modal-find\"),\r\n\t\t\t\tmodal = $('

      ', {\r\n\t \t\t\t\"class\": \"modal-dialog\",\r\n\t\t\t\t}),\r\n\t\t\t\tmodalContent = \"\";\r\n\t\t} else {\r\n\t\t\t// Nope, it's one of those darn children.\r\n\t\t\tvar modalOpener = event.target,\r\n\t\t\t\tmodalSelector = $(modalOpener).parent().data(\"modal\"),\r\n\t\t\t\tmodalFind = $(modalOpener).data(\"modal-find\"),\r\n\t\t\t\tmodal = $('
      ', {\r\n\t \t\t\t\"class\": \"modal-dialog\",\r\n\t\t\t\t}),\r\n\t\t\t\tmodalContent = \"\";\r\n\t\t}\r\n\r\n\t\tif (modalSelector.substring(0, 1) === \".\" || modalSelector.substring(0, 1) === \"#\") {\r\n\t\t\t// Assume using a local, existing HTML element.\r\n\t\t\tmodalContent = $(modalSelector).html();\r\n\t\t\tmodal.html(modalContent);\r\n\t\t\tmodal.appendTo(\"body\").modal({\r\n\t\t\t\tzIndex: 1000\r\n\t\t\t});\r\n\t\t\t$('.modalHide').hide();\r\n\t\t\t$(\"input[type=number]\").stepper();\r\n\t\t\t$(\".password-toggle\").hideShowPassword(false, true);\r\n\t\t} else {\r\n\t\t\t// Assume modal content is coming from an AJAX request\r\n\r\n\t\t\t// data-modal-find is optional, default to \"#content\"\r\n\t\t\tif (modalFind === undefined) {\r\n\t\t\t\tmodalFind = \"#content\";\r\n\t\t\t}\r\n\r\n\t\t\t$.get('/'+modalSelector, function(response) {\r\n\t\t\t\tvar responseObject = $(response);\r\n\r\n\t\t\t\tmodalContent = $(modalFind, responseObject).html();\r\n\t\t\t\tmodal.html(modalContent);\r\n\t\t\t\tmodal.appendTo(\"body\").modal({\r\n\t\t\t\t\tzIndex: 1000\r\n\t\t\t\t});\r\n\t\t\t\t$('.modalHide').hide();\r\n\t\t\t\t$(\"input[type=number]\").stepper();\r\n\t\t\t\t$(\".password-toggle\").hideShowPassword(false, true);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n \r\n var modals = new window.MyBB.Modals(); // TODO: put this elsewhere :)\r\n})(jQuery, window);","(function($, window) {\r\n window.MyBB = window.MyBB || {};\r\n\r\n\twindow.MyBB.Posts = function Posts()\r\n\t{\r\n\t\t// Show and hide posts\r\n\t\t$(\".postToggle\").on(\"click\", this.togglePost).bind(this);\r\n\t};\r\n\r\n\t// Show and hide posts\r\n\twindow.MyBB.Posts.prototype.togglePost = function togglePost(event) {\r\n\t\tevent.preventDefault();\r\n\t\t// Are we minimized or not?\r\n\t\tif($(event.target).hasClass(\"fa-minus\"))\r\n\t\t{\r\n\t\t\t// Perhaps instead of hide, apply a CSS class?\r\n\t\t\t$(event.target).parent().parent().parent().addClass(\"post--hidden\");\r\n\t\t\t// Make button a plus sign for expanding\r\n\t\t\t$(event.target).addClass(\"fa-plus\");\r\n\t\t\t$(event.target).removeClass(\"fa-minus\");\r\n\r\n\t\t} else {\r\n\t\t\t// We like this person again\r\n\t\t\t$(event.target).parent().parent().parent().removeClass(\"post--hidden\");\r\n\t\t\t// Just in case we change our mind again, show the hide button\r\n\t\t\t$(event.target).addClass(\"fa-minus\");\r\n\t\t\t$(event.target).removeClass(\"fa-show\");\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tvar posts = new window.MyBB.Posts();\r\n\r\n})(jQuery, window);","(function($, window) {\r\n window.MyBB = window.MyBB || {};\r\n \r\n\twindow.MyBB.Polls = function Polls()\r\n\t{\r\n\t\tthis.optionElement = $('#option-simple').clone().attr('id', '').removeClass('hidden').addClass('poll-option').hide();\r\n\t\t$('#option-simple').remove();\r\n\r\n\t\tthis.removeOption($('#add-poll .poll-option'));\r\n\r\n\t\t$('#new-option').click($.proxy(this.addOption, this));\r\n\r\n\t\t$('#poll-maximum-options').hide();\r\n\r\n\t\t$('#poll-is-multiple').change($.proxy(this.toggleMaxOptionsInput, this)).change();\r\n\r\n\t\tvar $addPollButton = $(\"#add-poll-button\");\r\n\t\t$addPollButton.click($.proxy(this.toggleAddPoll, this));\r\n\t\tif($addPollButton.length) {\r\n\t\t\tif($('#add-poll-input').val() === '1') {\r\n\t\t\t\t$('#add-poll').slideDown();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.timePicker();\r\n\t};\r\n\r\n\twindow.MyBB.Polls.prototype.timePicker = function timePicker() {\r\n\t\t$('#poll-end-at').datetimepicker({\r\n\t\t\tformat: 'Y-m-d H:i:s',\r\n\t\t\tlang: $('html').attr('lang'),// TODO: use our i18n\r\n\t\t\tminDate: 0\r\n\t\t});\r\n\t};\r\n\r\n\twindow.MyBB.Polls.prototype.toggleAddPoll = function toggleAddPoll() {\r\n\t\tif($('#add-poll-input').val() === '1') {\r\n\t\t\t$('#add-poll-input').val(0);\r\n\t\t\t$('#add-poll').slideUp();\r\n\t\t} else {\r\n\t\t\t$('#add-poll-input').val(1);\r\n\t\t\t$('#add-poll').slideDown();\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\twindow.MyBB.Polls.prototype.addOption = function addOption(event) {\r\n\t\tvar num_options = $('#add-poll .poll-option').length;\r\n\t\tif(num_options >= 10) { // TODO: settings\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar $option = this.optionElement.clone();\r\n\t\t$option.find('input').attr('name', 'option['+(num_options+1)+']')\r\n\t\t$('#add-poll .poll-option').last().after($option);\r\n\t\t$option.slideDown();\r\n\t\tthis.removeOption($option);\r\n\t\treturn false;\r\n\t};\r\n\r\n\twindow.MyBB.Polls.prototype.removeOption = function bindRemoveOption($parent) {\r\n\t\t$parent.find('.remove-option').click($.proxy(function(event) {\r\n\t\t\tvar $me = $(event.target),\r\n\t\t\t\t$myParent = $me.parents('.poll-option');\r\n\t\t\tif($('.poll-option').length <= 2)\r\n\t\t\t{\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\t$myParent.slideUp(500);\r\n\r\n\t\t\tsetTimeout($.proxy(function() {\r\n\t\t\t\t$myParent.remove();\r\n\t\t\t\tthis.fixOptionsName();\r\n\t\t\t}, this), 500);\r\n\t\t}, this));\r\n\t\tif(!Modernizr.touch) {\r\n\t\t\t$parent.find('.remove-option').powerTip({ placement: 's', smartPlacement: true });\r\n\t\t}\r\n\t};\r\n\r\n\twindow.MyBB.Polls.prototype.fixOptionsName = function() {\r\n\t\tvar i = 0;\r\n\t\t$('#add-poll .poll-option').each(function() {\r\n\t\t\ti++;\r\n\t\t\t$(this).find('input').attr('name', 'option['+i+']');\r\n\t\t});\r\n\t};\r\n\r\n\twindow.MyBB.Polls.prototype.toggleMaxOptionsInput = function toggleMaxOptionsInput(event) {\r\n\t\tme = event.target;\r\n\t\tif($(me).is(':checked')) {\r\n\t\t\t$('#poll-maximum-options').slideDown();\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$('#poll-maximum-options').slideUp();\r\n\t\t}\r\n\t};\r\n\r\n\tvar polls = new window.MyBB.Polls();\r\n\r\n})(jQuery, window);","(function ($, window) {\r\n\twindow.MyBB = window.MyBB || {};\r\n\r\n\twindow.MyBB.Quotes = function Quotes() {\r\n\r\n\t\t// MultiQuote\r\n\t\t$(\".quoteButton\").on(\"click\", this.multiQuoteButton.bind(this));\r\n\r\n\t\tthis.showQuoteBar();\r\n\r\n\t\t$(\"#quoteBar__select\").on(\"click\", $.proxy(this.addQuotes, this));\r\n\t\t$(\"#quoteBar__deselect\").on(\"click\", $.proxy(this.removeQuotes, this));\r\n\r\n\t\tthis.quoteButtons();\r\n\t};\r\n\r\n\twindow.MyBB.Quotes.prototype.getQuotes = function getQuotes() {\r\n\t\tvar quotes = MyBB.Cookie.get('quotes');\r\n\t\tif (!quotes) {\r\n\t\t\tquotes = [];\r\n\t\t}\r\n\t\telse {\r\n\t\t\tquotes = quotes.split('-');\r\n\t\t}\r\n\t\t$.each(quotes, function (key, quote) {\r\n\t\t\tquotes[key] = parseInt(quote);\r\n\t\t\tif (!quotes[key]) {\r\n\t\t\t\tdelete quotes[key];\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn quotes;\r\n\r\n\r\n\t};\r\n\r\n\t// MultiQuote\r\n\twindow.MyBB.Quotes.prototype.multiQuoteButton = function multiQuoteButton(event) {\r\n\t\tevent.preventDefault();\r\n\t\tvar $me = $(event.target);\r\n\t\tif (!$me.hasClass('quoteButton')) {\r\n\t\t\t$me = $me.parents('.quoteButton');\r\n\t\t}\r\n\t\tvar postId = parseInt($me.data('postid')),\r\n\t\t\tquotes = this.getQuotes();\r\n\r\n\t\tif (postId) {\r\n\t\t\tif (quotes.indexOf(postId) == -1) {\r\n\t\t\t\tquotes.push(postId);\r\n\t\t\t\t$me.find('.quoteButton__add').hide();\r\n\t\t\t\t$me.find('.quoteButton__remove').show();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdelete quotes[quotes.indexOf(postId)];\r\n\t\t\t\t$me.find('.quoteButton__add').show();\r\n\t\t\t\t$me.find('.quoteButton__remove').hide();\r\n\t\t\t}\r\n\r\n\t\t\tMyBB.Cookie.set('quotes', quotes.join('-'));\r\n\r\n\t\t\tthis.showQuoteBar();\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t};\r\n\r\n\twindow.MyBB.Quotes.prototype.showQuoteBar = function showQuoteBar() {\r\n\t\tvar quotes = this.getQuotes();\r\n\r\n\t\tif (quotes.length) {\r\n\t\t\t$(\"#quoteBar\").show();\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$(\"#quoteBar\").hide();\r\n\t\t}\r\n\t};\r\n\r\n\twindow.MyBB.Quotes.prototype.addQuotes = function addQuotes() {\r\n\t\tvar quotes = this.getQuotes(),\r\n\t\t\t$quoteBar = $(\"#quoteBar\"),\r\n\t\t\t$textarea = $($quoteBar.data('textarea'));\r\n\r\n\t\tMyBB.Spinner.add();\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: '/post/quotes',\r\n\t\t\tdata: {\r\n\t\t\t\t'posts': quotes,\r\n\t\t\t\t'_token': $quoteBar.parents('form').find('input[name=_token]').val()\r\n\t\t\t},\r\n\t\t\tmethod: 'POST'\r\n\t\t}).done(function (json) {\r\n\t\t\tif (json.error) {\r\n\t\t\t\talert(json.error);// TODO: js error\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar value = $textarea.val();\r\n\t\t\t\tif (value && value.substr(-2) != \"\\n\\n\") {\r\n\t\t\t\t\tif(value.substr(-1) != \"\\n\") {\r\n\t\t\t\t\t\tvalue += \"\\n\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvalue += \"\\n\";\r\n\t\t\t\t}\r\n\t\t\t\t$textarea.val(value + json.message);\r\n\t\t\t}\r\n\t\t}).always(function () {\r\n\t\t\tMyBB.Spinner.remove();\r\n\t\t});\r\n\r\n\t\t$quoteBar.hide();\r\n\t\tMyBB.Cookie.unset('quotes');\r\n\t\tthis.quoteButtons();\r\n\t\treturn false;\r\n\t};\r\n\r\n\twindow.MyBB.Quotes.prototype.removeQuotes = function removeQuotes() {\r\n\t\t$quoteBar = $(\"#quoteBar\");\r\n\t\t$quoteBar.hide();\r\n\t\tMyBB.Cookie.unset('quotes');\r\n\t\tthis.quoteButtons();\r\n\t\treturn false;\r\n\t};\r\n\r\n\twindow.MyBB.Quotes.prototype.quoteButtons = function quoteButtons() {\r\n\t\tvar quotes = this.getQuotes();\r\n\r\n\t\t$('.quoteButton__add').show();\r\n\t\t$('.quoteButton__remove').hide();\r\n\r\n\t\t$.each(quotes, function (key, postId) {\r\n\t\t\tvar $quoteButton = $(\"#post-\" + postId).find('.quoteButton');\r\n\t\t\t$quoteButton.find('.quoteButton__add').hide();\r\n\t\t\t$quoteButton.find('.quoteButton__remove').show();\r\n\t\t})\r\n\t}\r\n\r\n\tvar quotes = new window.MyBB.Quotes();\r\n\r\n})\r\n(jQuery, window);","$('html').addClass('js');\r\n\r\n$(function () {\r\n\t\r\n\t$('.nojs').hide();\r\n\r\n\tif(Modernizr.touch)\r\n\t{\r\n\t\t$('.radio-buttons .radio-button, .checkbox-buttons .checkbox-button').click(function() {\r\n\r\n\t\t});\r\n\t}\r\n\r\n\telse\r\n\t{\r\n\t\t$('span.icons i, a, .caption, time').powerTip({ placement: 's', smartPlacement: true });\r\n\t}\r\n\r\n\t$('.user-navigation__links, #main-menu').dropit({ submenuEl: 'div.dropdown' });\r\n\t$('.dropdown-menu').dropit({ submenuEl: 'ul.dropdown', triggerEl: 'span.dropdown-button' });\r\n\t$(\"input[type=number]\").stepper();\r\n\t$(\".password-toggle\").hideShowPassword(false, true);\r\n\r\n\t$('.clear-selection-posts a').click(function(event) {\r\n\t\tevent.preventDefault();\r\n\t\t$('.thread').find('input[type=checkbox]:checked').removeAttr('checked').closest(\".post\").removeClass(\"highlight\");\r\n\t\t$('.inline-moderation').removeClass('floating');\r\n\t});\r\n\r\n\t$('.clear-selection-threads a').click(function(event) {\r\n\t\tevent.preventDefault();\r\n\t\t$('.thread-list').find('input[type=checkbox]:checked').removeAttr('checked').closest(\".thread\").removeClass(\"highlight\");\r\n\t\t$('.checkbox-select.check-all').find('input[type=checkbox]:checked').removeAttr('checked');\r\n\t\t$('.inline-moderation').removeClass('floating');\r\n\t});\r\n\r\n\t$('.clear-selection-forums a').click(function(event) {\r\n\t\tevent.preventDefault();\r\n\t\t$('.forum-list').find('input[type=checkbox]:checked').removeAttr('checked').closest(\".forum\").removeClass(\"highlight\");\r\n\t\t$('.checkbox-select.check-all').find('input[type=checkbox]:checked').removeAttr('checked');\r\n\t\t$('.inline-moderation').removeClass('floating');\r\n\t});\r\n\r\n\t$(\"#search .search-button\").click(function(event) {\r\n\t\tevent.preventDefault();\r\n\t\t$(\"#search .search-container\").slideDown();\r\n\t});\r\n\r\n\t$(\".post :checkbox\").change(function() {\r\n\t\t$(this).closest(\".post\").toggleClass(\"highlight\", this.checked);\r\n\r\n\t\tvar checked_boxes = $('.highlight').length;\r\n\r\n\t\tif(checked_boxes == 1)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').addClass('floating');\r\n\t\t}\r\n\r\n\t\tif(checked_boxes == 0)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').removeClass('floating');\r\n\t\t}\r\n\r\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')')\r\n\t});\r\n\r\n\t$(\".thread .checkbox-select :checkbox\").change(function() {\r\n\t\t$(this).closest(\".thread\").toggleClass(\"highlight\", this.checked);\r\n\r\n\t\tvar checked_boxes = $('.highlight').length;\r\n\r\n\t\tif(checked_boxes == 1)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').addClass('floating');\r\n\t\t}\r\n\r\n\t\tif(checked_boxes == 0)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').removeClass('floating');\r\n\t\t}\r\n\r\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')')\r\n\t});\r\n\r\n\t$(\".forum .checkbox-select :checkbox\").change(function() {\r\n\t\t$(this).closest(\".forum\").toggleClass(\"highlight\", this.checked);\r\n\r\n\t\tvar checked_boxes = $('.highlight').length;\r\n\r\n\t\tif(checked_boxes == 1)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').addClass('floating');\r\n\t\t}\r\n\r\n\t\tif(checked_boxes == 0)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').removeClass('floating');\r\n\t\t}\r\n\r\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')');\r\n\t});\r\n\r\n\t$(\".checkbox-select.check-all :checkbox\").click(function() {\r\n\t\t$(this).closest('section').find('input[type=checkbox]').prop('checked', this.checked);\r\n\t\t$(this).closest('section').find('.checkbox-select').closest('.thread').toggleClass(\"highlight\", this.checked);\r\n\t\t$(this).closest('section').find('.checkbox-select').closest('.forum').toggleClass(\"highlight\", this.checked);\r\n\r\n\t\tvar checked_boxes = $('.highlight').length;\r\n\r\n\t\tif(checked_boxes >= 1)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').addClass('floating');\r\n\t\t}\r\n\r\n\t\tif(checked_boxes == 0)\r\n\t\t{\r\n\t\t\t$('.inline-moderation').removeClass('floating');\r\n\t\t}\r\n\r\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')');\r\n\t});\r\n\r\n/*\t$('.post.reply textarea.editor, .form textarea.editor').sceditor({\r\n\t\tplugins: 'bbcode',\r\n\t\tstyle: 'js/vendor/sceditor/jquery.sceditor.default.min.css',\r\n\t\temoticonsRoot: 'assets/images/',\r\n\t\ttoolbar: 'bold,italic,underline|font,size,color,removeformat|left,center,right|image,link,unlink|emoticon,youtube|bulletlist,orderedlist|quote,code|source',\r\n\t\tresizeWidth: false,\r\n\t\tautofocus: false,\r\n\t\tautofocusEnd: false\r\n\t});*/\r\n});"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["cookie.js","spinner.js","modal.js","post.js","poll.js","quote.js","moderation.js","other.js"],"names":["$","window","MyBB","Cookie","cookiePrefix","cookiePath","cookieDomain","init","Settings","this","get","name","cookie","set","value","expires","expire","Date","setTime","getTime","options","path","domain","unset","removeCookie","jQuery","Spinner","inProgresses","add","show","remove","hide","Modals","on","toggleModal","bind","modal","defaults","closeText","prototype","event","preventDefault","target","nodeName","modalOpener","modalSelector","data","modalFind","class","modalContent","parent","substring","html","appendTo","zIndex","stepper","hideShowPassword","undefined","modalParams","currentTarget","attr","JSON","parse","response","responseObject","Posts","togglePost","hasClass","addClass","removeClass","Polls","optionElement","clone","removeOption","click","proxy","addOption","change","toggleMaxOptionsInput","$addPollButton","toggleAddPoll","length","val","slideDown","timePicker","datetimepicker","format","lang","minDate","slideUp","num_options","$option","find","last","after","$parent","$me","$myParent","parents","setTimeout","fixOptionsName","Modernizr","touch","powerTip","placement","smartPlacement","i","each","me","is","Quotes","multiQuoteButton","showQuoteBar","addQuotes","removeQuotes","quoteButtons","getQuotes","quotes","split","key","quote","parseInt","postId","indexOf","push","join","$quoteBar","$textarea","ajax","url","posts","_token","method","done","json","error","substr","message","always","$quoteButton","Moderation","ajaxSetup","headers","X-CSRF-TOKEN","e","post","moderation_name","moderation_content","first","moderation_ids","getSelectedIds","document","location","reload","map","injectModalParams","element","stringify","dropit","submenuEl","triggerEl","removeAttr","closest","toggleClass","checked","checked_boxes","text","prop"],"mappings":"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","file":"main.js","sourcesContent":["(function ($, window) {\n\twindow.MyBB = window.MyBB || {};\n\n\twindow.MyBB.Cookie = {\n\t\tcookiePrefix: '',\n\t\tcookiePath: '/',\n\t\tcookieDomain: '',\n\n\t\tinit: function () {\n\t\t\tMyBB.Settings = MyBB.Settings || {};\n\t\t\tif (typeof MyBB.Settings.cookiePrefix != 'undefined') {\n\t\t\t\tthis.cookiePrefix = MyBB.Settings.cookiePrefix;\n\t\t\t}\n\t\t\tif (typeof MyBB.Settings.cookiePath != 'undefined') {\n\t\t\t\tthis.cookiePath = MyBB.Settings.cookiePath;\n\t\t\t}\n\t\t\tif (typeof MyBB.Settings.cookieDomain != 'undefined') {\n\t\t\t\tthis.cookieDomain = MyBB.Settings.cookieDomain;\n\t\t\t}\n\t\t},\n\n\t\tget: function (name) {\n\t\t\tthis.init();\n\n\t\t\tname = this.cookiePrefix + name;\n\t\t\treturn $.cookie(name);\n\t\t},\n\n\t\tset: function (name, value, expires) {\n\t\t\tthis.init();\n\n\t\t\tname = this.cookiePrefix + name;\n\t\t\tif (!expires) {\n\t\t\t\texpires = 157680000; // 5*365*24*60*60 => 5 years\n\t\t\t}\n\n\t\t\texpire = new Date();\n\t\t\texpire.setTime(expire.getTime() + (expires * 1000));\n\n\t\t\toptions = {\n\t\t\t\texpires: expire,\n\t\t\t\tpath: this.cookiePath,\n\t\t\t\tdomain: this.cookieDomain\n\t\t\t};\n\n\t\t\treturn $.cookie(name, value, options);\n\t\t},\n\n\t\tunset: function (name) {\n\t\t\tthis.init();\n\n\t\t\tname = this.cookiePrefix + name;\n\n\t\t\toptions = {\n\t\t\t\tpath: this.cookiePath,\n\t\t\t\tdomain: this.cookieDomain\n\t\t\t};\n\t\t\treturn $.removeCookie(name, options);\n\t\t}\n\t}\n})\n(jQuery, window);","(function ($, window) {\n\twindow.MyBB = window.MyBB || {};\n\n\twindow.MyBB.Spinner = {\n\t\tinProgresses: 0,\n\t\tadd: function () {\n\t\t\tthis.inProgresses++;\n\t\t\tif (this.inProgresses == 1) {\n\t\t\t\t$(\"#spinner\").show();\n\t\t\t}\n\t\t},\n\t\tremove: function () {\n\t\t\tthis.inProgresses--;\n\t\t\tif (this.inProgresses == 0) {\n\t\t\t\t$(\"#spinner\").hide();\n\t\t\t}\n\t\t}\n\t}\n})\n(jQuery, window);","(function($, window) {\n window.MyBB = window.MyBB || {};\n \n\twindow.MyBB.Modals = function Modals()\n\t{\n\t\t$(\"*[data-modal]\").on(\"click\", this.toggleModal).bind(this);\n\t\t$.modal.defaults.closeText = 'x';\n\t};\n\n\twindow.MyBB.Modals.prototype.toggleModal = function toggleModal(event) {\n\t\tevent.preventDefault();\n\n\t\t// Check to make sure we're clicking the link and not a child of the link\n\t\tif(event.target.nodeName === \"A\")\n\t\t{\n\t\t\t// Woohoo, it's the link!\n\t\t\tvar modalOpener = event.target,\n\t\t\t\tmodalSelector = $(modalOpener).data(\"modal\"),\n\t\t\t\tmodalFind = $(modalOpener).data(\"modal-find\"),\n\t\t\t\tmodal = $('
      ', {\n\t \t\t\t\"class\": \"modal-dialog\",\n\t\t\t\t}),\n\t\t\t\tmodalContent = \"\";\n\t\t} else {\n\t\t\t// Nope, it's one of those darn children.\n\t\t\tvar modalOpener = event.target,\n\t\t\t\tmodalSelector = $(modalOpener).parent().data(\"modal\"),\n\t\t\t\tmodalFind = $(modalOpener).data(\"modal-find\"),\n\t\t\t\tmodal = $('
      ', {\n\t \t\t\t\"class\": \"modal-dialog\",\n\t\t\t\t}),\n\t\t\t\tmodalContent = \"\";\n\t\t}\n\n\t\tif (modalSelector.substring(0, 1) === \".\" || modalSelector.substring(0, 1) === \"#\") {\n\t\t\t// Assume using a local, existing HTML element.\n\t\t\tmodalContent = $(modalSelector).html();\n\t\t\tmodal.html(modalContent);\n\t\t\tmodal.appendTo(\"body\").modal({\n\t\t\t\tzIndex: 1000\n\t\t\t});\n\t\t\t$('.modalHide').hide();\n\t\t\t$(\"input[type=number]\").stepper();\n\t\t\t$(\".password-toggle\").hideShowPassword(false, true);\n\t\t} else {\n\t\t\t// Assume modal content is coming from an AJAX request\n\n\t\t\t// data-modal-find is optional, default to \"#content\"\n\t\t\tif (modalFind === undefined) {\n\t\t\t\tmodalFind = \"#content\";\n\t\t\t}\n\n\t\t\tvar modalParams = $(event.currentTarget).attr('data-modal-params');\n\t\t\tif (modalParams) {\n\t\t\t\tmodalParams = JSON.parse(modalParams);\n\t\t\t\tconsole.log(modalParams);\n\t\t\t} else {\n\t\t\t\tmodalParams = {};\n\t\t\t}\n\n\t\t\t$.get('/'+modalSelector, modalParams, function(response) {\n\t\t\t\tvar responseObject = $(response);\n\n\t\t\t\tmodalContent = $(modalFind, responseObject).html();\n\t\t\t\tmodal.html(modalContent);\n\t\t\t\tmodal.appendTo(\"body\").modal({\n\t\t\t\t\tzIndex: 1000\n\t\t\t\t});\n\t\t\t\t$('.modalHide').hide();\n\t\t\t\t$(\"input[type=number]\").stepper();\n\t\t\t\t$(\".password-toggle\").hideShowPassword(false, true);\n\t\t\t});\n\t\t}\n\t};\n\n var modals = new window.MyBB.Modals(); // TODO: put this elsewhere :)\n})(jQuery, window);\n","(function($, window) {\n window.MyBB = window.MyBB || {};\n\n\twindow.MyBB.Posts = function Posts()\n\t{\n\t\t// Show and hide posts\n\t\t$(\".postToggle\").on(\"click\", this.togglePost).bind(this);\n\t};\n\n\t// Show and hide posts\n\twindow.MyBB.Posts.prototype.togglePost = function togglePost(event) {\n\t\tevent.preventDefault();\n\t\t// Are we minimized or not?\n\t\tif($(event.target).hasClass(\"fa-minus\"))\n\t\t{\n\t\t\t// Perhaps instead of hide, apply a CSS class?\n\t\t\t$(event.target).parent().parent().parent().addClass(\"post--hidden\");\n\t\t\t// Make button a plus sign for expanding\n\t\t\t$(event.target).addClass(\"fa-plus\");\n\t\t\t$(event.target).removeClass(\"fa-minus\");\n\n\t\t} else {\n\t\t\t// We like this person again\n\t\t\t$(event.target).parent().parent().parent().removeClass(\"post--hidden\");\n\t\t\t// Just in case we change our mind again, show the hide button\n\t\t\t$(event.target).addClass(\"fa-minus\");\n\t\t\t$(event.target).removeClass(\"fa-show\");\n\t\t}\n\t};\n\n\n\tvar posts = new window.MyBB.Posts();\n\n})(jQuery, window);","(function($, window) {\n window.MyBB = window.MyBB || {};\n \n\twindow.MyBB.Polls = function Polls()\n\t{\n\t\tthis.optionElement = $('#option-simple').clone().attr('id', '').removeClass('hidden').addClass('poll-option').hide();\n\t\t$('#option-simple').remove();\n\n\t\tthis.removeOption($('#add-poll .poll-option'));\n\n\t\t$('#new-option').click($.proxy(this.addOption, this));\n\n\t\t$('#poll-maximum-options').hide();\n\n\t\t$('#poll-is-multiple').change($.proxy(this.toggleMaxOptionsInput, this)).change();\n\n\t\tvar $addPollButton = $(\"#add-poll-button\");\n\t\t$addPollButton.click($.proxy(this.toggleAddPoll, this));\n\t\tif($addPollButton.length) {\n\t\t\tif($('#add-poll-input').val() === '1') {\n\t\t\t\t$('#add-poll').slideDown();\n\t\t\t}\n\t\t}\n\n\t\tthis.timePicker();\n\t};\n\n\twindow.MyBB.Polls.prototype.timePicker = function timePicker() {\n\t\t$('#poll-end-at').datetimepicker({\n\t\t\tformat: 'Y-m-d H:i:s',\n\t\t\tlang: $('html').attr('lang'),// TODO: use our i18n\n\t\t\tminDate: 0\n\t\t});\n\t};\n\n\twindow.MyBB.Polls.prototype.toggleAddPoll = function toggleAddPoll() {\n\t\tif($('#add-poll-input').val() === '1') {\n\t\t\t$('#add-poll-input').val(0);\n\t\t\t$('#add-poll').slideUp();\n\t\t} else {\n\t\t\t$('#add-poll-input').val(1);\n\t\t\t$('#add-poll').slideDown();\n\t\t}\n\t\treturn false;\n\t};\n\n\twindow.MyBB.Polls.prototype.addOption = function addOption(event) {\n\t\tvar num_options = $('#add-poll .poll-option').length;\n\t\tif(num_options >= 10) { // TODO: settings\n\t\t\treturn false;\n\t\t}\n\t\tvar $option = this.optionElement.clone();\n\t\t$option.find('input').attr('name', 'option['+(num_options+1)+']')\n\t\t$('#add-poll .poll-option').last().after($option);\n\t\t$option.slideDown();\n\t\tthis.removeOption($option);\n\t\treturn false;\n\t};\n\n\twindow.MyBB.Polls.prototype.removeOption = function bindRemoveOption($parent) {\n\t\t$parent.find('.remove-option').click($.proxy(function(event) {\n\t\t\tvar $me = $(event.target),\n\t\t\t\t$myParent = $me.parents('.poll-option');\n\t\t\tif($('.poll-option').length <= 2)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t$myParent.slideUp(500);\n\n\t\t\tsetTimeout($.proxy(function() {\n\t\t\t\t$myParent.remove();\n\t\t\t\tthis.fixOptionsName();\n\t\t\t}, this), 500);\n\t\t}, this));\n\t\tif(!Modernizr.touch) {\n\t\t\t$parent.find('.remove-option').powerTip({ placement: 's', smartPlacement: true });\n\t\t}\n\t};\n\n\twindow.MyBB.Polls.prototype.fixOptionsName = function() {\n\t\tvar i = 0;\n\t\t$('#add-poll .poll-option').each(function() {\n\t\t\ti++;\n\t\t\t$(this).find('input').attr('name', 'option['+i+']');\n\t\t});\n\t};\n\n\twindow.MyBB.Polls.prototype.toggleMaxOptionsInput = function toggleMaxOptionsInput(event) {\n\t\tme = event.target;\n\t\tif($(me).is(':checked')) {\n\t\t\t$('#poll-maximum-options').slideDown();\n\t\t}\n\t\telse {\n\t\t\t$('#poll-maximum-options').slideUp();\n\t\t}\n\t};\n\n\tvar polls = new window.MyBB.Polls();\n\n})(jQuery, window);","(function ($, window) {\n\twindow.MyBB = window.MyBB || {};\n\n\twindow.MyBB.Quotes = function Quotes() {\n\n\t\t// MultiQuote\n\t\t$(\".quoteButton\").on(\"click\", this.multiQuoteButton.bind(this));\n\n\t\tthis.showQuoteBar();\n\n\t\t$(\"#quoteBar__select\").on(\"click\", $.proxy(this.addQuotes, this));\n\t\t$(\"#quoteBar__deselect\").on(\"click\", $.proxy(this.removeQuotes, this));\n\n\t\tthis.quoteButtons();\n\t};\n\n\twindow.MyBB.Quotes.prototype.getQuotes = function getQuotes() {\n\t\tvar quotes = MyBB.Cookie.get('quotes');\n\t\tif (!quotes) {\n\t\t\tquotes = [];\n\t\t}\n\t\telse {\n\t\t\tquotes = quotes.split('-');\n\t\t}\n\t\t$.each(quotes, function (key, quote) {\n\t\t\tquotes[key] = parseInt(quote);\n\t\t\tif (!quotes[key]) {\n\t\t\t\tdelete quotes[key];\n\t\t\t}\n\t\t});\n\t\treturn quotes;\n\n\n\t};\n\n\t// MultiQuote\n\twindow.MyBB.Quotes.prototype.multiQuoteButton = function multiQuoteButton(event) {\n\t\tevent.preventDefault();\n\t\tvar $me = $(event.target);\n\t\tif (!$me.hasClass('quoteButton')) {\n\t\t\t$me = $me.parents('.quoteButton');\n\t\t}\n\t\tvar postId = parseInt($me.data('postid')),\n\t\t\tquotes = this.getQuotes();\n\n\t\tif (postId) {\n\t\t\tif (quotes.indexOf(postId) == -1) {\n\t\t\t\tquotes.push(postId);\n\t\t\t\t$me.find('.quoteButton__add').hide();\n\t\t\t\t$me.find('.quoteButton__remove').show();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdelete quotes[quotes.indexOf(postId)];\n\t\t\t\t$me.find('.quoteButton__add').show();\n\t\t\t\t$me.find('.quoteButton__remove').hide();\n\t\t\t}\n\n\t\t\tMyBB.Cookie.set('quotes', quotes.join('-'));\n\n\t\t\tthis.showQuoteBar();\n\t\t\treturn false;\n\t\t}\n\n\t};\n\n\twindow.MyBB.Quotes.prototype.showQuoteBar = function showQuoteBar() {\n\t\tvar quotes = this.getQuotes();\n\n\t\tif (quotes.length) {\n\t\t\t$(\"#quoteBar\").show();\n\t\t}\n\t\telse {\n\t\t\t$(\"#quoteBar\").hide();\n\t\t}\n\t};\n\n\twindow.MyBB.Quotes.prototype.addQuotes = function addQuotes() {\n\t\tvar quotes = this.getQuotes(),\n\t\t\t$quoteBar = $(\"#quoteBar\"),\n\t\t\t$textarea = $($quoteBar.data('textarea'));\n\n\t\tMyBB.Spinner.add();\n\n\t\t$.ajax({\n\t\t\turl: '/post/quotes',\n\t\t\tdata: {\n\t\t\t\t'posts': quotes,\n\t\t\t\t'_token': $quoteBar.parents('form').find('input[name=_token]').val()\n\t\t\t},\n\t\t\tmethod: 'POST'\n\t\t}).done(function (json) {\n\t\t\tif (json.error) {\n\t\t\t\talert(json.error);// TODO: js error\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvar value = $textarea.val();\n\t\t\t\tif (value && value.substr(-2) != \"\\n\\n\") {\n\t\t\t\t\tif(value.substr(-1) != \"\\n\") {\n\t\t\t\t\t\tvalue += \"\\n\";\n\t\t\t\t\t}\n\t\t\t\t\tvalue += \"\\n\";\n\t\t\t\t}\n\t\t\t\t$textarea.val(value + json.message);\n\t\t\t}\n\t\t}).always(function () {\n\t\t\tMyBB.Spinner.remove();\n\t\t});\n\n\t\t$quoteBar.hide();\n\t\tMyBB.Cookie.unset('quotes');\n\t\tthis.quoteButtons();\n\t\treturn false;\n\t};\n\n\twindow.MyBB.Quotes.prototype.removeQuotes = function removeQuotes() {\n\t\t$quoteBar = $(\"#quoteBar\");\n\t\t$quoteBar.hide();\n\t\tMyBB.Cookie.unset('quotes');\n\t\tthis.quoteButtons();\n\t\treturn false;\n\t};\n\n\twindow.MyBB.Quotes.prototype.quoteButtons = function quoteButtons() {\n\t\tvar quotes = this.getQuotes();\n\n\t\t$('.quoteButton__add').show();\n\t\t$('.quoteButton__remove').hide();\n\n\t\t$.each(quotes, function (key, postId) {\n\t\t\tvar $quoteButton = $(\"#post-\" + postId).find('.quoteButton');\n\t\t\t$quoteButton.find('.quoteButton__add').hide();\n\t\t\t$quoteButton.find('.quoteButton__remove').show();\n\t\t})\n\t}\n\n\tvar quotes = new window.MyBB.Quotes();\n\n})\n(jQuery, window);","(function($, window) {\n window.MyBB = window.MyBB || {};\n\n window.MyBB.Moderation = function Moderation()\n {\n $.ajaxSetup({\n headers: {\n 'X-CSRF-TOKEN': $('meta[name=\"csrf-token\"]').attr('content')\n }\n });\n\n $('a[data-moderate]').click($.proxy(function (e) {\n e.preventDefault();\n\n $.post('/moderate', {\n moderation_name: $(e.currentTarget).attr('data-moderate'),\n moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'),\n moderation_ids: window.MyBB.Moderation.getSelectedIds()\n }, function (response) {\n document.location.reload();\n });\n }, this));\n\n $('a[data-moderate-reverse]').click($.proxy(function (e) {\n e.preventDefault();\n\n $.post('/moderate/reverse', {\n moderation_name: $(e.currentTarget).attr('data-moderate-reverse'),\n moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'),\n moderation_ids: window.MyBB.Moderation.getSelectedIds()\n }, function (response) {\n document.location.reload();\n });\n }, this));\n\n $('li[data-moderation-multi]').hide();\n };\n\n window.MyBB.Moderation.getSelectedIds = function getSelectedIds()\n {\n return $('input[type=checkbox][data-moderation-id]:checked').map(function () {\n return $(this).attr('data-moderation-id');\n }).get();\n };\n\n window.MyBB.Moderation.injectModalParams = function injectFormData(element)\n {\n $(element).attr('data-modal-params', JSON.stringify({\n moderation_content: $('[data-moderation-content]').first().attr('data-moderation-content'),\n moderation_ids: window.MyBB.Moderation.getSelectedIds()\n }));\n };\n\n var moderation = new window.MyBB.Moderation();\n\n})(jQuery, window);\n","$('html').addClass('js');\n\n$(function () {\n\t\n\t$('.nojs').hide();\n\n\tif(Modernizr.touch)\n\t{\n\t\t$('.radio-buttons .radio-button, .checkbox-buttons .checkbox-button').click(function() {\n\n\t\t});\n\t}\n\n\telse\n\t{\n\t\t$('span.icons i, a, .caption, time').powerTip({ placement: 's', smartPlacement: true });\n\t}\n\n\t$('.user-navigation__links, #main-menu').dropit({ submenuEl: 'div.dropdown' });\n\t$('.dropdown-menu').dropit({ submenuEl: 'ul.dropdown', triggerEl: 'span.dropdown-button' });\n\t$(\"input[type=number]\").stepper();\n\t$(\".password-toggle\").hideShowPassword(false, true);\n\n\t$('.clear-selection-posts a').click(function(event) {\n\t\tevent.preventDefault();\n\t\t$('.thread').find('input[type=checkbox]:checked').removeAttr('checked').closest(\".post\").removeClass(\"highlight\");\n\t\t$('.inline-moderation').removeClass('floating');\n\t});\n\n\t$('.clear-selection-threads a').click(function(event) {\n\t\tevent.preventDefault();\n\t\t$('.thread-list').find('input[type=checkbox]:checked').removeAttr('checked').closest(\".thread\").removeClass(\"highlight\");\n\t\t$('.checkbox-select.check-all').find('input[type=checkbox]:checked').removeAttr('checked');\n\t\t$('.inline-moderation').removeClass('floating');\n\t});\n\n\t$('.clear-selection-forums a').click(function(event) {\n\t\tevent.preventDefault();\n\t\t$('.forum-list').find('input[type=checkbox]:checked').removeAttr('checked').closest(\".forum\").removeClass(\"highlight\");\n\t\t$('.checkbox-select.check-all').find('input[type=checkbox]:checked').removeAttr('checked');\n\t\t$('.inline-moderation').removeClass('floating');\n\t});\n\n\t$(\"#search .search-button\").click(function(event) {\n\t\tevent.preventDefault();\n\t\t$(\"#search .search-container\").slideDown();\n\t});\n\n\t$(\".post :checkbox\").change(function() {\n\t\t$(this).closest(\".post\").toggleClass(\"highlight\", this.checked);\n\n\t\tvar checked_boxes = $('.highlight').length;\n\n\t\tif(checked_boxes == 1)\n\t\t{\n\t\t\t$('.inline-moderation').addClass('floating');\n\t\t}\n\n\t\tif (checked_boxes > 1)\n\t\t{\n\t\t\t$('li[data-moderation-multi]').show();\n\t\t} else {\n\t\t\t$('li[data-moderation-multi]').hide();\n\t\t}\n\n\t\tif(checked_boxes == 0)\n\t\t{\n\t\t\t$('.inline-moderation').removeClass('floating');\n\t\t}\n\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')')\n\t});\n\n\t$(\".topic-list .topic :checkbox\").change(function() {\n\t\t$(this).closest(\".topic\").toggleClass(\"highlight\", this.checked);\n\n\t\tvar checked_boxes = $('.highlight').length;\n\n\t\tif(checked_boxes == 1)\n\t\t{\n\t\t\t$('.inline-moderation').addClass('floating');\n\t\t}\n\n\t\tif (checked_boxes > 1)\n\t\t{\n\t\t\t$('li[data-moderation-multi]').show();\n\t\t} else {\n\t\t\t$('li[data-moderation-multi]').hide();\n\t\t}\n\n\t\tif(checked_boxes == 0)\n\t\t{\n\t\t\t$('.inline-moderation').removeClass('floating');\n\t\t}\n\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')')\n\t});\n\n\t$(\".forum .checkbox-select :checkbox\").change(function() {\n\t\t$(this).closest(\".forum\").toggleClass(\"highlight\", this.checked);\n\n\t\tvar checked_boxes = $('.highlight').length;\n\n\t\tif(checked_boxes == 1)\n\t\t{\n\t\t\t$('.inline-moderation').addClass('floating');\n\t\t}\n\n\t\tif(checked_boxes == 0)\n\t\t{\n\t\t\t$('.inline-moderation').removeClass('floating');\n\t\t}\n\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')');\n\t});\n\n\t$(\".checkbox-select.check-all :checkbox\").click(function() {\n\t\t$(this).closest('section').find('input[type=checkbox]').prop('checked', this.checked);\n\t\t$(this).closest('section').find('.checkbox-select').closest('.thread').toggleClass(\"highlight\", this.checked);\n\t\t$(this).closest('section').find('.checkbox-select').closest('.forum').toggleClass(\"highlight\", this.checked);\n\n\t\tvar checked_boxes = $('.highlight').length;\n\n\t\tif(checked_boxes >= 1)\n\t\t{\n\t\t\t$('.inline-moderation').addClass('floating');\n\t\t}\n\n\t\tif(checked_boxes == 0)\n\t\t{\n\t\t\t$('.inline-moderation').removeClass('floating');\n\t\t}\n\n\t\t$('.inline-moderation .selection-count').text(' ('+checked_boxes+')');\n\t});\n\n/*\t$('.post.reply textarea.editor, .form textarea.editor').sceditor({\n\t\tplugins: 'bbcode',\n\t\tstyle: 'js/vendor/sceditor/jquery.sceditor.default.min.css',\n\t\temoticonsRoot: 'assets/images/',\n\t\ttoolbar: 'bold,italic,underline|font,size,color,removeformat|left,center,right|image,link,unlink|emoticon,youtube|bulletlist,orderedlist|quote,code|source',\n\t\tresizeWidth: false,\n\t\tautofocus: false,\n\t\tautofocusEnd: false\n\t});*/\n});\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/public/assets/js/main.min.js b/public/assets/js/main.min.js index 4eeb5831..f9a47ff3 100644 --- a/public/assets/js/main.min.js +++ b/public/assets/js/main.min.js @@ -1,2 +1,2 @@ -!function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Cookie={cookiePrefix:"",cookiePath:"/",cookieDomain:"",init:function(){MyBB.Settings=MyBB.Settings||{},"undefined"!=typeof MyBB.Settings.cookiePrefix&&(this.cookiePrefix=MyBB.Settings.cookiePrefix),"undefined"!=typeof MyBB.Settings.cookiePath&&(this.cookiePath=MyBB.Settings.cookiePath),"undefined"!=typeof MyBB.Settings.cookieDomain&&(this.cookieDomain=MyBB.Settings.cookieDomain)},get:function(e){return this.init(),e=this.cookiePrefix+e,t.cookie(e)},set:function(e,o,i){return this.init(),e=this.cookiePrefix+e,i||(i=15768e4),expire=new Date,expire.setTime(expire.getTime()+1e3*i),options={expires:expire,path:this.cookiePath,domain:this.cookieDomain},t.cookie(e,o,options)},unset:function(e){return this.init(),e=this.cookiePrefix+e,options={path:this.cookiePath,domain:this.cookieDomain},t.removeCookie(e,options)}}}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Spinner={inProgresses:0,add:function(){this.inProgresses++,1==this.inProgresses&&t("#spinner").show()},remove:function(){this.inProgresses--,0==this.inProgresses&&t("#spinner").hide()}}}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Modals=function(){t("*[data-modal]").on("click",this.toggleModal).bind(this)},e.MyBB.Modals.prototype.toggleModal=function(e){if(e.preventDefault(),"A"===e.target.nodeName)var o=e.target,i=t(o).data("modal"),n=t(o).data("modal-find"),s=t("
      ",{"class":"modal-dialog"}),a="";else var o=e.target,i=t(o).parent().data("modal"),n=t(o).data("modal-find"),s=t("
      ",{"class":"modal-dialog"}),a="";"."===i.substring(0,1)||"#"===i.substring(0,1)?(a=t(i).html(),s.html(a),s.appendTo("body").modal({zIndex:1e3}),t(".modalHide").hide(),t("input[type=number]").stepper(),t(".password-toggle").hideShowPassword(!1,!0)):(void 0===n&&(n="#content"),t.get("/"+i,function(e){var o=t(e);a=t(n,o).html(),s.html(a),s.appendTo("body").modal({zIndex:1e3}),t(".modalHide").hide(),t("input[type=number]").stepper(),t(".password-toggle").hideShowPassword(!1,!0)}))};new e.MyBB.Modals}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Posts=function(){t(".postToggle").on("click",this.togglePost).bind(this)},e.MyBB.Posts.prototype.togglePost=function(e){e.preventDefault(),t(e.target).hasClass("fa-minus")?(t(e.target).parent().parent().parent().addClass("post--hidden"),t(e.target).addClass("fa-plus"),t(e.target).removeClass("fa-minus")):(t(e.target).parent().parent().parent().removeClass("post--hidden"),t(e.target).addClass("fa-minus"),t(e.target).removeClass("fa-show"))};new e.MyBB.Posts}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Polls=function(){this.optionElement=t("#option-simple").clone().attr("id","").removeClass("hidden").addClass("poll-option").hide(),t("#option-simple").remove(),this.removeOption(t("#add-poll .poll-option")),t("#new-option").click(t.proxy(this.addOption,this)),t("#poll-maximum-options").hide(),t("#poll-is-multiple").change(t.proxy(this.toggleMaxOptionsInput,this)).change();var e=t("#add-poll-button");e.click(t.proxy(this.toggleAddPoll,this)),e.length&&"1"===t("#add-poll-input").val()&&t("#add-poll").slideDown(),this.timePicker()},e.MyBB.Polls.prototype.timePicker=function(){t("#poll-end-at").datetimepicker({format:"Y-m-d H:i:s",lang:t("html").attr("lang"),minDate:0})},e.MyBB.Polls.prototype.toggleAddPoll=function(){return"1"===t("#add-poll-input").val()?(t("#add-poll-input").val(0),t("#add-poll").slideUp()):(t("#add-poll-input").val(1),t("#add-poll").slideDown()),!1},e.MyBB.Polls.prototype.addOption=function(){var e=t("#add-poll .poll-option").length;if(e>=10)return!1;var o=this.optionElement.clone();return o.find("input").attr("name","option["+(e+1)+"]"),t("#add-poll .poll-option").last().after(o),o.slideDown(),this.removeOption(o),!1},e.MyBB.Polls.prototype.removeOption=function(e){e.find(".remove-option").click(t.proxy(function(e){var o=t(e.target),i=o.parents(".poll-option");return t(".poll-option").length<=2?!1:(i.slideUp(500),void setTimeout(t.proxy(function(){i.remove(),this.fixOptionsName()},this),500))},this)),Modernizr.touch||e.find(".remove-option").powerTip({placement:"s",smartPlacement:!0})},e.MyBB.Polls.prototype.fixOptionsName=function(){var e=0;t("#add-poll .poll-option").each(function(){e++,t(this).find("input").attr("name","option["+e+"]")})},e.MyBB.Polls.prototype.toggleMaxOptionsInput=function(e){me=e.target,t(me).is(":checked")?t("#poll-maximum-options").slideDown():t("#poll-maximum-options").slideUp()};new e.MyBB.Polls}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Quotes=function(){t(".quoteButton").on("click",this.multiQuoteButton.bind(this)),this.showQuoteBar(),t("#quoteBar__select").on("click",t.proxy(this.addQuotes,this)),t("#quoteBar__deselect").on("click",t.proxy(this.removeQuotes,this)),this.quoteButtons()},e.MyBB.Quotes.prototype.getQuotes=function(){var e=MyBB.Cookie.get("quotes");return e=e?e.split("-"):[],t.each(e,function(t,o){e[t]=parseInt(o),e[t]||delete e[t]}),e},e.MyBB.Quotes.prototype.multiQuoteButton=function(e){e.preventDefault();var o=t(e.target);o.hasClass("quoteButton")||(o=o.parents(".quoteButton"));var i=parseInt(o.data("postid")),n=this.getQuotes();return i?(-1==n.indexOf(i)?(n.push(i),o.find(".quoteButton__add").hide(),o.find(".quoteButton__remove").show()):(delete n[n.indexOf(i)],o.find(".quoteButton__add").show(),o.find(".quoteButton__remove").hide()),MyBB.Cookie.set("quotes",n.join("-")),this.showQuoteBar(),!1):void 0},e.MyBB.Quotes.prototype.showQuoteBar=function(){var e=this.getQuotes();e.length?t("#quoteBar").show():t("#quoteBar").hide()},e.MyBB.Quotes.prototype.addQuotes=function(){var e=this.getQuotes(),o=t("#quoteBar"),i=t(o.data("textarea"));return MyBB.Spinner.add(),t.ajax({url:"/post/quotes",data:{posts:e,_token:o.parents("form").find("input[name=_token]").val()},method:"POST"}).done(function(t){if(t.error);else{var e=i.val();e&&"\n\n"!=e.substr(-2)&&("\n"!=e.substr(-1)&&(e+="\n"),e+="\n"),i.val(e+t.message)}}).always(function(){MyBB.Spinner.remove()}),o.hide(),MyBB.Cookie.unset("quotes"),this.quoteButtons(),!1},e.MyBB.Quotes.prototype.removeQuotes=function(){return $quoteBar=t("#quoteBar"),$quoteBar.hide(),MyBB.Cookie.unset("quotes"),this.quoteButtons(),!1},e.MyBB.Quotes.prototype.quoteButtons=function(){var e=this.getQuotes();t(".quoteButton__add").show(),t(".quoteButton__remove").hide(),t.each(e,function(e,o){var i=t("#post-"+o).find(".quoteButton");i.find(".quoteButton__add").hide(),i.find(".quoteButton__remove").show()})};new e.MyBB.Quotes}(jQuery,window),$("html").addClass("js"),$(function(){$(".nojs").hide(),Modernizr.touch?$(".radio-buttons .radio-button, .checkbox-buttons .checkbox-button").click(function(){}):$("span.icons i, a, .caption, time").powerTip({placement:"s",smartPlacement:!0}),$(".user-navigation__links, #main-menu").dropit({submenuEl:"div.dropdown"}),$(".dropdown-menu").dropit({submenuEl:"ul.dropdown",triggerEl:"span.dropdown-button"}),$("input[type=number]").stepper(),$(".password-toggle").hideShowPassword(!1,!0),$(".clear-selection-posts a").click(function(t){t.preventDefault(),$(".thread").find("input[type=checkbox]:checked").removeAttr("checked").closest(".post").removeClass("highlight"),$(".inline-moderation").removeClass("floating")}),$(".clear-selection-threads a").click(function(t){t.preventDefault(),$(".thread-list").find("input[type=checkbox]:checked").removeAttr("checked").closest(".thread").removeClass("highlight"),$(".checkbox-select.check-all").find("input[type=checkbox]:checked").removeAttr("checked"),$(".inline-moderation").removeClass("floating")}),$(".clear-selection-forums a").click(function(t){t.preventDefault(),$(".forum-list").find("input[type=checkbox]:checked").removeAttr("checked").closest(".forum").removeClass("highlight"),$(".checkbox-select.check-all").find("input[type=checkbox]:checked").removeAttr("checked"),$(".inline-moderation").removeClass("floating")}),$("#search .search-button").click(function(t){t.preventDefault(),$("#search .search-container").slideDown()}),$(".post :checkbox").change(function(){$(this).closest(".post").toggleClass("highlight",this.checked);var t=$(".highlight").length;1==t&&$(".inline-moderation").addClass("floating"),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")}),$(".thread .checkbox-select :checkbox").change(function(){$(this).closest(".thread").toggleClass("highlight",this.checked);var t=$(".highlight").length;1==t&&$(".inline-moderation").addClass("floating"),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")}),$(".forum .checkbox-select :checkbox").change(function(){$(this).closest(".forum").toggleClass("highlight",this.checked);var t=$(".highlight").length;1==t&&$(".inline-moderation").addClass("floating"),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")}),$(".checkbox-select.check-all :checkbox").click(function(){$(this).closest("section").find("input[type=checkbox]").prop("checked",this.checked),$(this).closest("section").find(".checkbox-select").closest(".thread").toggleClass("highlight",this.checked),$(this).closest("section").find(".checkbox-select").closest(".forum").toggleClass("highlight",this.checked);var t=$(".highlight").length;t>=1&&$(".inline-moderation").addClass("floating"),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")})}); +!function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Cookie={cookiePrefix:"",cookiePath:"/",cookieDomain:"",init:function(){MyBB.Settings=MyBB.Settings||{},"undefined"!=typeof MyBB.Settings.cookiePrefix&&(this.cookiePrefix=MyBB.Settings.cookiePrefix),"undefined"!=typeof MyBB.Settings.cookiePath&&(this.cookiePath=MyBB.Settings.cookiePath),"undefined"!=typeof MyBB.Settings.cookieDomain&&(this.cookieDomain=MyBB.Settings.cookieDomain)},get:function(e){return this.init(),e=this.cookiePrefix+e,t.cookie(e)},set:function(e,o,i){return this.init(),e=this.cookiePrefix+e,i||(i=15768e4),expire=new Date,expire.setTime(expire.getTime()+1e3*i),options={expires:expire,path:this.cookiePath,domain:this.cookieDomain},t.cookie(e,o,options)},unset:function(e){return this.init(),e=this.cookiePrefix+e,options={path:this.cookiePath,domain:this.cookieDomain},t.removeCookie(e,options)}}}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Spinner={inProgresses:0,add:function(){this.inProgresses++,1==this.inProgresses&&t("#spinner").show()},remove:function(){this.inProgresses--,0==this.inProgresses&&t("#spinner").hide()}}}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Modals=function(){t("*[data-modal]").on("click",this.toggleModal).bind(this),t.modal.defaults.closeText="x"},e.MyBB.Modals.prototype.toggleModal=function(e){if(e.preventDefault(),"A"===e.target.nodeName)var o=e.target,i=t(o).data("modal"),n=t(o).data("modal-find"),a=t("
      ",{"class":"modal-dialog"}),s="";else var o=e.target,i=t(o).parent().data("modal"),n=t(o).data("modal-find"),a=t("
      ",{"class":"modal-dialog"}),s="";if("."===i.substring(0,1)||"#"===i.substring(0,1))s=t(i).html(),a.html(s),a.appendTo("body").modal({zIndex:1e3}),t(".modalHide").hide(),t("input[type=number]").stepper(),t(".password-toggle").hideShowPassword(!1,!0);else{void 0===n&&(n="#content");var r=t(e.currentTarget).attr("data-modal-params");r=r?JSON.parse(r):{},t.get("/"+i,r,function(e){var o=t(e);s=t(n,o).html(),a.html(s),a.appendTo("body").modal({zIndex:1e3}),t(".modalHide").hide(),t("input[type=number]").stepper(),t(".password-toggle").hideShowPassword(!1,!0)})}};new e.MyBB.Modals}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Posts=function(){t(".postToggle").on("click",this.togglePost).bind(this)},e.MyBB.Posts.prototype.togglePost=function(e){e.preventDefault(),t(e.target).hasClass("fa-minus")?(t(e.target).parent().parent().parent().addClass("post--hidden"),t(e.target).addClass("fa-plus"),t(e.target).removeClass("fa-minus")):(t(e.target).parent().parent().parent().removeClass("post--hidden"),t(e.target).addClass("fa-minus"),t(e.target).removeClass("fa-show"))};new e.MyBB.Posts}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Polls=function(){this.optionElement=t("#option-simple").clone().attr("id","").removeClass("hidden").addClass("poll-option").hide(),t("#option-simple").remove(),this.removeOption(t("#add-poll .poll-option")),t("#new-option").click(t.proxy(this.addOption,this)),t("#poll-maximum-options").hide(),t("#poll-is-multiple").change(t.proxy(this.toggleMaxOptionsInput,this)).change();var e=t("#add-poll-button");e.click(t.proxy(this.toggleAddPoll,this)),e.length&&"1"===t("#add-poll-input").val()&&t("#add-poll").slideDown(),this.timePicker()},e.MyBB.Polls.prototype.timePicker=function(){t("#poll-end-at").datetimepicker({format:"Y-m-d H:i:s",lang:t("html").attr("lang"),minDate:0})},e.MyBB.Polls.prototype.toggleAddPoll=function(){return"1"===t("#add-poll-input").val()?(t("#add-poll-input").val(0),t("#add-poll").slideUp()):(t("#add-poll-input").val(1),t("#add-poll").slideDown()),!1},e.MyBB.Polls.prototype.addOption=function(){var e=t("#add-poll .poll-option").length;if(e>=10)return!1;var o=this.optionElement.clone();return o.find("input").attr("name","option["+(e+1)+"]"),t("#add-poll .poll-option").last().after(o),o.slideDown(),this.removeOption(o),!1},e.MyBB.Polls.prototype.removeOption=function(e){e.find(".remove-option").click(t.proxy(function(e){var o=t(e.target),i=o.parents(".poll-option");return t(".poll-option").length<=2?!1:(i.slideUp(500),void setTimeout(t.proxy(function(){i.remove(),this.fixOptionsName()},this),500))},this)),Modernizr.touch||e.find(".remove-option").powerTip({placement:"s",smartPlacement:!0})},e.MyBB.Polls.prototype.fixOptionsName=function(){var e=0;t("#add-poll .poll-option").each(function(){e++,t(this).find("input").attr("name","option["+e+"]")})},e.MyBB.Polls.prototype.toggleMaxOptionsInput=function(e){me=e.target,t(me).is(":checked")?t("#poll-maximum-options").slideDown():t("#poll-maximum-options").slideUp()};new e.MyBB.Polls}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Quotes=function(){t(".quoteButton").on("click",this.multiQuoteButton.bind(this)),this.showQuoteBar(),t("#quoteBar__select").on("click",t.proxy(this.addQuotes,this)),t("#quoteBar__deselect").on("click",t.proxy(this.removeQuotes,this)),this.quoteButtons()},e.MyBB.Quotes.prototype.getQuotes=function(){var e=MyBB.Cookie.get("quotes");return e=e?e.split("-"):[],t.each(e,function(t,o){e[t]=parseInt(o),e[t]||delete e[t]}),e},e.MyBB.Quotes.prototype.multiQuoteButton=function(e){e.preventDefault();var o=t(e.target);o.hasClass("quoteButton")||(o=o.parents(".quoteButton"));var i=parseInt(o.data("postid")),n=this.getQuotes();return i?(-1==n.indexOf(i)?(n.push(i),o.find(".quoteButton__add").hide(),o.find(".quoteButton__remove").show()):(delete n[n.indexOf(i)],o.find(".quoteButton__add").show(),o.find(".quoteButton__remove").hide()),MyBB.Cookie.set("quotes",n.join("-")),this.showQuoteBar(),!1):void 0},e.MyBB.Quotes.prototype.showQuoteBar=function(){var e=this.getQuotes();e.length?t("#quoteBar").show():t("#quoteBar").hide()},e.MyBB.Quotes.prototype.addQuotes=function(){var e=this.getQuotes(),o=t("#quoteBar"),i=t(o.data("textarea"));return MyBB.Spinner.add(),t.ajax({url:"/post/quotes",data:{posts:e,_token:o.parents("form").find("input[name=_token]").val()},method:"POST"}).done(function(t){if(t.error);else{var e=i.val();e&&"\n\n"!=e.substr(-2)&&("\n"!=e.substr(-1)&&(e+="\n"),e+="\n"),i.val(e+t.message)}}).always(function(){MyBB.Spinner.remove()}),o.hide(),MyBB.Cookie.unset("quotes"),this.quoteButtons(),!1},e.MyBB.Quotes.prototype.removeQuotes=function(){return $quoteBar=t("#quoteBar"),$quoteBar.hide(),MyBB.Cookie.unset("quotes"),this.quoteButtons(),!1},e.MyBB.Quotes.prototype.quoteButtons=function(){var e=this.getQuotes();t(".quoteButton__add").show(),t(".quoteButton__remove").hide(),t.each(e,function(e,o){var i=t("#post-"+o).find(".quoteButton");i.find(".quoteButton__add").hide(),i.find(".quoteButton__remove").show()})};new e.MyBB.Quotes}(jQuery,window),function(t,e){e.MyBB=e.MyBB||{},e.MyBB.Moderation=function(){t.ajaxSetup({headers:{"X-CSRF-TOKEN":t('meta[name="csrf-token"]').attr("content")}}),t("a[data-moderate]").click(t.proxy(function(o){o.preventDefault(),t.post("/moderate",{moderation_name:t(o.currentTarget).attr("data-moderate"),moderation_content:t("[data-moderation-content]").first().attr("data-moderation-content"),moderation_ids:e.MyBB.Moderation.getSelectedIds()},function(){document.location.reload()})},this)),t("a[data-moderate-reverse]").click(t.proxy(function(o){o.preventDefault(),t.post("/moderate/reverse",{moderation_name:t(o.currentTarget).attr("data-moderate-reverse"),moderation_content:t("[data-moderation-content]").first().attr("data-moderation-content"),moderation_ids:e.MyBB.Moderation.getSelectedIds()},function(){document.location.reload()})},this)),t("li[data-moderation-multi]").hide()},e.MyBB.Moderation.getSelectedIds=function(){return t("input[type=checkbox][data-moderation-id]:checked").map(function(){return t(this).attr("data-moderation-id")}).get()},e.MyBB.Moderation.injectModalParams=function(o){t(o).attr("data-modal-params",JSON.stringify({moderation_content:t("[data-moderation-content]").first().attr("data-moderation-content"),moderation_ids:e.MyBB.Moderation.getSelectedIds()}))};new e.MyBB.Moderation}(jQuery,window),$("html").addClass("js"),$(function(){$(".nojs").hide(),Modernizr.touch?$(".radio-buttons .radio-button, .checkbox-buttons .checkbox-button").click(function(){}):$("span.icons i, a, .caption, time").powerTip({placement:"s",smartPlacement:!0}),$(".user-navigation__links, #main-menu").dropit({submenuEl:"div.dropdown"}),$(".dropdown-menu").dropit({submenuEl:"ul.dropdown",triggerEl:"span.dropdown-button"}),$("input[type=number]").stepper(),$(".password-toggle").hideShowPassword(!1,!0),$(".clear-selection-posts a").click(function(t){t.preventDefault(),$(".thread").find("input[type=checkbox]:checked").removeAttr("checked").closest(".post").removeClass("highlight"),$(".inline-moderation").removeClass("floating")}),$(".clear-selection-threads a").click(function(t){t.preventDefault(),$(".thread-list").find("input[type=checkbox]:checked").removeAttr("checked").closest(".thread").removeClass("highlight"),$(".checkbox-select.check-all").find("input[type=checkbox]:checked").removeAttr("checked"),$(".inline-moderation").removeClass("floating")}),$(".clear-selection-forums a").click(function(t){t.preventDefault(),$(".forum-list").find("input[type=checkbox]:checked").removeAttr("checked").closest(".forum").removeClass("highlight"),$(".checkbox-select.check-all").find("input[type=checkbox]:checked").removeAttr("checked"),$(".inline-moderation").removeClass("floating")}),$("#search .search-button").click(function(t){t.preventDefault(),$("#search .search-container").slideDown()}),$(".post :checkbox").change(function(){$(this).closest(".post").toggleClass("highlight",this.checked);var t=$(".highlight").length;1==t&&$(".inline-moderation").addClass("floating"),t>1?$("li[data-moderation-multi]").show():$("li[data-moderation-multi]").hide(),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")}),$(".topic-list .topic :checkbox").change(function(){$(this).closest(".topic").toggleClass("highlight",this.checked);var t=$(".highlight").length;1==t&&$(".inline-moderation").addClass("floating"),t>1?$("li[data-moderation-multi]").show():$("li[data-moderation-multi]").hide(),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")}),$(".forum .checkbox-select :checkbox").change(function(){$(this).closest(".forum").toggleClass("highlight",this.checked);var t=$(".highlight").length;1==t&&$(".inline-moderation").addClass("floating"),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")}),$(".checkbox-select.check-all :checkbox").click(function(){$(this).closest("section").find("input[type=checkbox]").prop("checked",this.checked),$(this).closest("section").find(".checkbox-select").closest(".thread").toggleClass("highlight",this.checked),$(this).closest("section").find(".checkbox-select").closest(".forum").toggleClass("highlight",this.checked);var t=$(".highlight").length;t>=1&&$(".inline-moderation").addClass("floating"),0==t&&$(".inline-moderation").removeClass("floating"),$(".inline-moderation .selection-count").text(" ("+t+")")})}); //# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/public/assets/js/vendor.js.min.map b/public/assets/js/vendor.js.min.map index ec25337d..ed4af638 100644 --- a/public/assets/js/vendor.js.min.map +++ b/public/assets/js/vendor.js.min.map @@ -1 +1 @@ -{"version":3,"sources":["csscoordinates.js","displaycontroller.js","placementcalculator.js","tooltipcontroller.js","utility.js","jquery.js","modernizr.js","jquery.dropdown.js","jquery.modal.js","jquery.cookie.js","jquery.fs.stepper.js","hideShowPassword.js","core.js","dropit.js","dropzone.js","jquery.datetimepicker.js"],"names":["CSSCoordinates","me","this","top","left","right","bottom","set","property","value","$","isNumeric","Math","round","DisplayController","element","options","tipController","openTooltip","immediate","forceOpen","cancelTimer","data","DATA_HASACTIVEHOVER","DATA_FORCEDOPEN","showTip","session","tipOpenImminent","hoverTimer","setTimeout","checkForIntent","intentPollInterval","closeTooltip","disableDelay","hideTip","delayInProgress","closeDelay","xDifference","abs","previousX","currentX","yDifference","previousY","currentY","totalDifference","intentSensitivity","clearTimeout","repositionTooltip","resetPosition","show","hide","cancel","PlacementCalculator","computePlacementCoords","placement","tipWidth","tipHeight","offset","position","placementBase","split","coords","isSvgElement","getSvgPlacement","getHtmlPlacement","windowHeight","windowWidth","objectOffset","objectWidth","outerWidth","objectHeight","outerHeight","pushPlacement","placements","push","point","matrixTransform","matrix","rotation","steps","x","svgElement","closest","domElement","createSVGPoint","boundingBox","getBBox","getScreenCTM","halfWidth","width","halfHeight","height","placementKeys","y","atan2","b","a","RAD2DEG","ceil","shift","length","scrollTop","scrollLeft","compute","TooltipController","beginShowTip","tipElement","queue","next","tipContent","isTipOpen","isClosing","activeHover","delay","trigger","getTooltipContent","empty","append","DATA_MOUSEONTOTIP","mouseOnToPopup","followMouse","positionTipOnCursor","positionTipOnElement","isFixedTipOpen","fadeIn","fadeInTime","desyncTimeout","setInterval","closeDesyncedTip","clearInterval","fadeOut","fadeOutTime","removeClass","css","DATA_HASMOUSEMOVE","collisions","collisionCount","getViewportCollisions","Collision","none","countFlags","priorityList","finalPlacement","smartPlacement","fn","powerTip","smartPlacementLists","each","idx","pos","placeTooltip","addClass","iterationCount","placementCalculator","isDesynced","is","isMouseOver","popupId","id","$body","$document","on","$window","mouseenter","DATA_DISPLAYCONTROLLER","mouseleave","window","SVGElement","initTracking","mouseTrackingActive","trackMouse","resize","scroll","event","pageX","pageY","elementPosition","elementBox","getBoundingClientRect","elementWidth","elementHeight","targetElement","content","tipText","DATA_POWERTIP","tipObject","DATA_POWERTIPJQ","tipTarget","DATA_POWERTIPTARGET","isFunction","call","clone","html","viewportTop","viewportLeft","viewportBottom","viewportRight","count","global","factory","module","exports","document","w","Error","noGlobal","isArraylike","obj","type","jQuery","isWindow","nodeType","winnow","elements","qualifier","not","grep","elem","i","risSimple","test","filter","indexOf","sibling","cur","dir","createOptions","object","optionsCache","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","Object","defineProperty","cache","get","expando","uid","dataAttr","key","name","undefined","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","data_user","returnTrue","returnFalse","safeActiveElement","activeElement","err","manipulationTarget","nodeName","firstChild","getElementsByTagName","appendChild","ownerDocument","createElement","disableScript","restoreScript","rscriptTypeMasked","exec","removeAttribute","setGlobalEval","elems","refElements","l","data_priv","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","add","extend","getAll","context","tag","ret","querySelectorAll","merge","fixInput","rcheckableType","checked","defaultValue","actualDisplay","doc","style","appendTo","body","display","getDefaultComputedStyle","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","minWidth","maxWidth","getStyles","getPropertyValue","contains","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","apply","arguments","vendorPropName","capName","toUpperCase","slice","origName","cssPrefixes","setPositiveNumber","subtract","matches","rnumsplit","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","support","boxSizingReliable","parseFloat","showHide","hidden","values","index","isHidden","Tween","prop","end","easing","prototype","init","createFxNow","fxNow","now","genFx","includeWidth","which","attrs","opacity","createTween","animation","tween","collection","tweeners","concat","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","_queueHooks","unqueued","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","remove","start","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","Animation","properties","result","stopped","animationPrefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","stop","gotoEnd","rejectWith","map","fx","timer","progress","complete","fail","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","tmp","prev","responseFields","dataFilter","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","selector","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","callback","args","first","eq","last","len","j","sort","splice","copy","copyIsArray","isPlainObject","random","isReady","msg","noop","Array","globalEval","code","script","indirect","eval","trim","text","head","parentNode","removeChild","string","makeArray","results","inArray","second","invert","callbackInverse","callbackExpect","arg","guid","proxy","Date","Sizzle","seed","m","groups","old","nid","newContext","newSelector","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","getElementsByClassName","qsa","rbuggyQSA","tokenize","rescape","setAttribute","toSelector","rsibling","testContext","join","qsaError","select","createCache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","outerCache","newCache","dirruns","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","compilerCache","sortOrder","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","els","node","hasCompare","parent","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","lastChild","pseudo","matched","has","innerText","lang","elemLang","hash","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","rneedsContext","rsingleTag","self","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","until","truncate","n","targets","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","reverse","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","stopOnFalse","disable","lock","locked","fireWith","tuples","then","fns","newDefer","tuple","returned","resolve","reject","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","off","readyState","chainable","emptyGet","raw","bulk","acceptData","owner","accepts","descriptor","unlock","defineProperties","stored","camel","discard","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","defer","pnum","source","el","fragment","createDocumentFragment","checkClone","cloneNode","noCloneChecked","strundefined","focusinBubbles","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","types","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","onlyHandlers","bubbleType","ontype","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","clientX","clientLeft","clientY","clientTop","originalEvent","fixHook","load","blur","click","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","stopImmediatePropagation","pointerenter","pointerleave","related","relatedTarget","attaches","one","origFn","rxhtmlTag","rtagName","rhtml","rnoInnerhtml","rchecked","rscriptType","rcleanScript","wrapMap","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","buildFragment","scripts","selection","wrap","nodes","createTextNode","cleanData","domManip","prepend","insertBefore","before","after","keepData","replaceWith","replaceChild","hasScripts","iNoClone","_evalUrl","prependTo","insertAfter","replaceAll","insert","opener","getComputedStyle","computePixelPositionAndBoxSizingReliable","cssText","container","divStyle","pixelPositionVal","boxSizingReliableVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginRight","marginDiv","marginRight","swap","rdisplayswap","rrelNum","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssNumber","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","margin","padding","border","suffix","expanded","parts","unit","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rfxnum","rrun","*","scale","maxIterations","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeToggle","interval","slow","fast","time","timeout","checkOn","optSelected","optDisabled","radioValue","nodeHook","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","removeProp","for","class","notxml","hasAttribute","rclass","classes","clazz","finalValue","proceed","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","prefilters","allTypes","ajaxLocation","ajaxLocParts","active","lastModified","etag","url","isLocal","processData","async","contentType","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","param","hasContent","beforeSend","send","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrId","xhrCallbacks","xhrSuccessStatus",1223,"xhrSupported","cors","open","username","xhrFields","onload","onerror","responseText","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","define","amd","_jQuery","_$","noConflict","Modernizr","setCss","str","mStyle","setCssAll","str1","str2","prefixes","substr","testProps","prefixed","testDOMProps","item","testPropsAll","ucProp","charAt","cssomPrefixes","webforms","inputElem","HTMLDataListElement","inputElemType","smile","WebkitAppearance","docElement","checkValidity","inputs","featureName","hasOwnProp","enableClasses","mod","modElem","omPrefixes","domPrefixes","ns","svg","tests","injectElementWithStyles","rule","testnames","docOverflow","fakeBody","parseInt","background","testMediaQuery","mq","matchMedia","msMatchMedia","currentStyle","isEventSupported","eventName","TAGNAMES","isSupported","change","_hasOwnProperty","Function","that","TypeError","bound","F","getContext","fillText","WebGLRenderingContext","DocumentTouch","offsetTop","navigator","postMessage","openDatabase","documentMode","history","pushState","backgroundColor","textShadow","str3","backgroundImage","offsetLeft","sheet","styleSheet","cssRules","canPlayType","Boolean","ogg","h264","webm","mp3","wav","m4a","localStorage","setItem","removeItem","sessionStorage","Worker","applicationCache","createElementNS","createSVGRect","namespaceURI","feature","addTest","addStyleSheet","getElements","html5","getExpandoData","expandoData","expanID","supportsUnknownElements","saveClones","createElem","canHaveChildren","reSkip","tagUrn","frag","shivMethods","createFrag","shivDocument","shivCSS","supportsHtml5Styles","hasCSS","_version","_prefixes","_domPrefixes","_cssomPrefixes","hasEvent","testProp","testAllProps","testStyles","dropdown","isOpen","targetGroup","hOffset","vOffset","modal","defaults","$elm","elm","showSpinner","AJAX_SEND","AJAX_SUCCESS","CLOSE","hideSpinner","AJAX_COMPLETE","AJAX_FAIL","block","escapeClose","clickClose","blocker","unblock","BEFORE_BLOCK","_ctx","overlay","BLOCK","BEFORE_OPEN","showClose","closeButton","closeText","modalClass","center","OPEN","BEFORE_CLOSE","spinner","spinnerHtml","marginTop","marginLeft","require","encode","config","decode","decodeURIComponent","stringifyCookieValue","stringify","parseCookieValue","pluses","read","converter","cookie","expires","days","setTime","toUTCString","path","domain","secure","cookies","removeCookie","_init","$items","_build","$input","min","customClass","labels","up","down","$stepper","$arrow","isNaN","digits","_digits","_onKeyup","_onMouseDown","_step","_onMouseUp","_startTimer","_clearTimer","originalValue","_round","exp","pow","pub","destroy","enable","stepper","undef","HideShowPassword","wrapperElement","toggleElement","dataKey","shorthandArgs","SPACE","ENTER","canSetInputAttribute","innerToggle","initEvent","changeEvent","autocapitalize","autocomplete","autocorrect","spellcheck","touchSupport","touch","attachToEvent","attachToTouchEvent","attachToKeyEvent","attachToKeyCodes","touchStyles","pointerEvents","verticalAlign","role","aria-label","wrapper","enforceWidth","inheritStyles","innerElementStyles","marginBottom","states","shown","aria-pressed","update","wrapElement","initToggle","prepareOptions","updateElement","showVal","testElement","keyCodes","isType","otherState","updateToggle","comparison","targetWidth","positionToggle","toggleTouchEvent","toggleEvent","toggleKeyEvent","paddingProp","targetPadding","eventX","lesser","greater","toggleX","hideShowPassword","newOptions","$this","verb","DATA_ORIGINALTITLE","title","dataPowertip","dataElem","dataTarget","manual","mouseenter.powertip","mouseleave.powertip","focus.powertip","blur.powertip","keydown.powertip","nw","ne","sw","se","nw-alt","ne-alt","sw-alt","se-alt","reposition","dataAttributes","closeTip","dropit","methods","$el","triggerParentEl","submenuEl","action","triggerEl","beforeHide","afterHide","beforeShow","afterShow","afterLoad","Dropzone","Emitter","camelize","contentLoaded","detectVerticalSquash","drawImageIOSFix","without","__slice","__hasProp","__extends","child","ctor","__super__","_callbacks","emit","callbacks","_i","_len","removeListener","removeAllListeners","_super","elementOptions","fallback","_ref","defaultOptions","previewTemplate","clickableElements","listeners","files","querySelector","dropzone","instances","optionsForElement","forceFallback","isBrowserSupported","acceptedFiles","acceptedMimeTypes","getExistingFallback","previewsContainer","getElement","clickable","resolveOption","withCredentials","parallelUploads","uploadMultiple","maxFilesize","paramName","createImageThumbnails","maxThumbnailFilesize","thumbnailWidth","thumbnailHeight","filesizeBase","maxFiles","ignoreHiddenFiles","autoProcessQueue","autoQueue","addRemoveLinks","capture","dictDefaultMessage","dictFallbackMessage","dictFallbackText","dictFileTooBig","dictInvalidFileType","dictResponseError","dictCancelUpload","dictCancelUploadConfirmation","dictRemoveFile","dictRemoveFileConfirmation","dictMaxFilesExceeded","accept","messageElement","span","getFallbackForm","info","srcRatio","trgRatio","srcX","srcY","srcWidth","srcHeight","optWidth","optHeight","trgHeight","trgWidth","drop","classList","dragstart","dragend","dragenter","dragover","dragleave","paste","addedfile","removeFileEvent","removeLink","_j","_k","_len1","_len2","_ref1","_ref2","_results","previewElement","filesize","_removeLink","_this","UPLOADING","confirm","removeFile","removedfile","_updateMaxFilesReachedClass","thumbnail","dataUrl","thumbnailElement","alt","message","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","successmultiple","canceled","canceledmultiple","completemultiple","maxfilesexceeded","maxfilesreached","queuecomplete","objects","getAcceptedFiles","accepted","getRejectedFiles","getFilesWithStatus","getQueuedFiles","QUEUED","getUploadingFiles","getActiveFiles","noPropagation","setupHiddenFileInput","tagName","hiddenFileInput","addFile","URL","webkitURL","updateTotalUploadProgress","efct","dataTransfer","effectAllowed","_error","dropEffect","forEach","clickableElement","elementInside","removeAllFiles","activeFiles","totalBytes","totalBytesSent","totalUploadProgress","upload","bytesSent","total","_getParamName","existingFallback","fields","fieldsString","form","getFallback","setupEventListeners","elementListeners","listener","_results1","removeEventListeners","cancelUpload","cutoff","selectedSize","selectedUnit","units","items","webkitGetAsEntry","_addFilesFromItems","handleFiles","clipboardData","entry","isFile","getAsFile","isDirectory","_addFilesFromDirectory","kind","directory","dirReader","entriesReader","createReader","entries","substring","fullPath","readEntries","console","log","isValidFile","ADDED","_enqueueThumbnail","_errorProcessing","enqueueFile","enqueueFiles","processQueue","_thumbnailQueue","_processingThumbnail","_processThumbnailQueue","createThumbnail","cancelIfNecessary","fileReader","FileReader","createThumbnailFromUrl","readAsDataURL","imageUrl","img","canvas","ctx","resizeInfo","_ref3","trgX","trgY","toDataURL","processingLength","queuedFiles","processFiles","processFile","uploadFiles","_getFilesWithXhr","groupedFile","groupedFiles","CANCELED","uploadFile","formData","handleError","headerName","headerValue","inputName","inputType","progressObj","updateProgress","_l","_len3","_m","_ref4","_ref5","allFilesFinished","loaded","_finished","onprogress","Accept","Cache-Control","X-Requested-With","FormData","SUCCESS","ERROR","forElement","autoDiscover","discover","checkElements","dropzones","blacklistedBrowsers","capableBrowser","regex","File","FileList","Blob","userAgent","rejectedItem","question","rejected","baseMimeType","validType","ACCEPTED","PROCESSING","alpha","ey","ih","iw","py","ratio","sy","naturalWidth","naturalHeight","drawImage","getImageData","sx","sh","dx","dy","dw","dh","vertSquashRatio","poll","pre","rem","doScroll","createEventObject","frameElement","_autoDiscoverFunction","default_options","i18n","ar","months","dayOfWeek","ro","bg","fa","ru","uk","en","de","nl","fr","es","pl","pt","ch","kr","it","da","no","ja","vi","sl","cs","hu","az","bs","ca","en-GB","et","eu","fi","gl","hr","ko","lv","mk","mn","pt-BR","sk","sq","sr-YU","sr","sv","zh-TW","zh","he","format","formatTime","formatDate","startDate","monthChangeSpinner","closeOnDateSelect","closeOnWithoutClick","closeOnInputClick","timepicker","datepicker","weeks","defaultTime","defaultDate","minDate","maxDate","minTime","maxTime","allowTimes","opened","initTime","inline","theme","onSelectDate","onSelectTime","onChangeMonth","onChangeYear","onChangeDateTime","onShow","onClose","onGenerate","withoutCopyright","inverseButton","hours12","dayOfWeekStart","parentID","timeHeightInTimePicker","timepickerScrollbar","todayButton","defaultSelect","scrollMonth","scrollTime","scrollInput","lazyInit","mask","validateOnBlur","allowBlank","yearStart","yearEnd","fixed","roundTime","weekends","disabledDates","yearOffset","beforeShowDay","enterLikeTab","countDaysInMonth","getFullYear","getMonth","getDate","xdsoftScroller","timebox","parentHeight","scrollbar","scroller","timeboxparent","pointerEventToXY","out","touches","changedTouches","maximumOffset","startY","startTop","h1","touchStart","startTopScroll","calcOffset","clientHeight","arguments_callee","percentage","noTriggerScroll","deltaY","coord","datetimepicker","createDateTimePicker","destroyDateTimePicker","_xdsoft_datetime","KEY0","KEY9","_KEY0","_KEY9","CTRLKEY","DEL","ESC","BACKSPACE","ARROWLEFT","ARROWUP","ARROWRIGHT","ARROWDOWN","TAB","F5","AKEY","CKEY","VKEY","ZKEY","YKEY","ctrlDown","lazyInitTimer","initOnActionCallback","getCurrentValue","strToDate","strToDateTime","strtotime","setHours","getHours","setMinutes","getMinutes","isValidDate","XDSoft_datetime","xchangeTimer","timerclick","current_time_index","setPos","xdsoft_copyright","mounth_picker","calendar","monthselect","yearselect","triggerAfterOpen","timer1","year","setOptions","_options","setCurrentTime","dateFormat","getCaretPos","createRange","range","getBookmark","charCodeAt","setSelectionRange","selectionStart","setCaretPos","createTextRange","textRange","collapse","moveEnd","moveStart","isValidValue","reg","digit","parseDate","dayOfWeekStartPrev","norecursion","date","d","setFullYear","setMonth","setDate","getTime","dTime","getCurrentTime","nextMonth","month","prevMonth","getWeekOfYear","datetime","onejan","getDay","sDateTime","timeOffset","tmpDate","getTimezoneOffset","sDate","sTime","arguments_callee1","arguments_callee2","period","arguments_callee4","pheight","arguments_callee5","customDateSettings","line_time","table","today","newRow","h","classType","xdevent","deltaX","arguments_callee6","elementSelector","unmousewheel","g","o","detail","wheelDelta","wheelDeltaY","wheelDeltaX","axis","HORIZONTAL_AXIS","deltaMode","q","r","f","k","normalizeOffset","deltaFactor","offsetX","offsetY","c","adjustOldDeltas","mousewheel","onmousewheel","getLineHeight","getPageHeight","parseFunctions","parseRegexes","formatFunctions","createNewFormat","escape","getFormatCode","createParser","regexNum","currentGroup","formatCodeToRegex","dayNames","monthNames","getTimezone","getGMTOffset","leftPad","floor","getDayOfYear","daysInMonth","isLeapYear","getFirstDayOfMonth","getLastDayOfMonth","getDaysInMonth","getSuffix","y2kYear","monthNumbers","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","patterns","ISO8601LongPattern","ISO8601ShortPattern","ShortDatePattern","LongDatePattern","FullDateTimePattern","MonthDayPattern","ShortTimePattern","LongTimePattern","SortableDateTimePattern","UniversalSortableDateTimePattern","YearMonthPattern"],"mappings":"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","file":"vendor.js","sourcesContent":["/**\r\n * PowerTip CSSCoordinates\r\n *\r\n * @fileoverview CSSCoordinates object for describing CSS positions.\r\n * @link http://stevenbenner.github.com/jquery-powertip/\r\n * @author Steven Benner (http://stevenbenner.com/)\r\n * @requires jQuery 1.7+\r\n */\r\n\r\n/**\r\n * Creates a new CSSCoordinates object.\r\n * @private\r\n * @constructor\r\n */\r\nfunction CSSCoordinates() {\r\n\tvar me = this;\r\n\r\n\t// initialize object properties\r\n\tme.top = 'auto';\r\n\tme.left = 'auto';\r\n\tme.right = 'auto';\r\n\tme.bottom = 'auto';\r\n\r\n\t/**\r\n\t * Set a property to a value.\r\n\t * @private\r\n\t * @param {string} property The name of the property.\r\n\t * @param {number} value The value of the property.\r\n\t */\r\n\tme.set = function(property, value) {\r\n\t\tif ($.isNumeric(value)) {\r\n\t\t\tme[property] = Math.round(value);\r\n\t\t}\r\n\t};\r\n}\r\n","/**\r\n * PowerTip DisplayController\r\n *\r\n * @fileoverview DisplayController object used to manage tooltips for elements.\r\n * @link http://stevenbenner.github.com/jquery-powertip/\r\n * @author Steven Benner (http://stevenbenner.com/)\r\n * @requires jQuery 1.7+\r\n */\r\n\r\n/**\r\n * Creates a new tooltip display controller.\r\n * @private\r\n * @constructor\r\n * @param {jQuery} element The element that this controller will handle.\r\n * @param {Object} options Options object containing settings.\r\n * @param {TooltipController} tipController The TooltipController object for\r\n * this instance.\r\n */\r\nfunction DisplayController(element, options, tipController) {\r\n\tvar hoverTimer = null;\r\n\r\n\t/**\r\n\t * Begins the process of showing a tooltip.\r\n\t * @private\r\n\t * @param {boolean=} immediate Skip intent testing (optional).\r\n\t * @param {boolean=} forceOpen Ignore cursor position and force tooltip to\r\n\t * open (optional).\r\n\t */\r\n\tfunction openTooltip(immediate, forceOpen) {\r\n\t\tcancelTimer();\r\n\t\tif (!element.data(DATA_HASACTIVEHOVER)) {\r\n\t\t\tif (!immediate) {\r\n\t\t\t\tsession.tipOpenImminent = true;\r\n\t\t\t\thoverTimer = setTimeout(\r\n\t\t\t\t\tfunction intentDelay() {\r\n\t\t\t\t\t\thoverTimer = null;\r\n\t\t\t\t\t\tcheckForIntent();\r\n\t\t\t\t\t},\r\n\t\t\t\t\toptions.intentPollInterval\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tif (forceOpen) {\r\n\t\t\t\t\telement.data(DATA_FORCEDOPEN, true);\r\n\t\t\t\t}\r\n\t\t\t\ttipController.showTip(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Begins the process of closing a tooltip.\r\n\t * @private\r\n\t * @param {boolean=} disableDelay Disable close delay (optional).\r\n\t */\r\n\tfunction closeTooltip(disableDelay) {\r\n\t\tcancelTimer();\r\n\t\tsession.tipOpenImminent = false;\r\n\t\tif (element.data(DATA_HASACTIVEHOVER)) {\r\n\t\t\telement.data(DATA_FORCEDOPEN, false);\r\n\t\t\tif (!disableDelay) {\r\n\t\t\t\tsession.delayInProgress = true;\r\n\t\t\t\thoverTimer = setTimeout(\r\n\t\t\t\t\tfunction closeDelay() {\r\n\t\t\t\t\t\thoverTimer = null;\r\n\t\t\t\t\t\ttipController.hideTip(element);\r\n\t\t\t\t\t\tsession.delayInProgress = false;\r\n\t\t\t\t\t},\r\n\t\t\t\t\toptions.closeDelay\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\ttipController.hideTip(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Checks mouse position to make sure that the user intended to hover on the\r\n\t * specified element before showing the tooltip.\r\n\t * @private\r\n\t */\r\n\tfunction checkForIntent() {\r\n\t\t// calculate mouse position difference\r\n\t\tvar xDifference = Math.abs(session.previousX - session.currentX),\r\n\t\t\tyDifference = Math.abs(session.previousY - session.currentY),\r\n\t\t\ttotalDifference = xDifference + yDifference;\r\n\r\n\t\t// check if difference has passed the sensitivity threshold\r\n\t\tif (totalDifference < options.intentSensitivity) {\r\n\t\t\ttipController.showTip(element);\r\n\t\t} else {\r\n\t\t\t// try again\r\n\t\t\tsession.previousX = session.currentX;\r\n\t\t\tsession.previousY = session.currentY;\r\n\t\t\topenTooltip();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Cancels active hover timer.\r\n\t * @private\r\n\t */\r\n\tfunction cancelTimer() {\r\n\t\thoverTimer = clearTimeout(hoverTimer);\r\n\t\tsession.delayInProgress = false;\r\n\t}\r\n\r\n\t/**\r\n\t * Repositions the tooltip on this element.\r\n\t * @private\r\n\t */\r\n\tfunction repositionTooltip() {\r\n\t\ttipController.resetPosition(element);\r\n\t}\r\n\r\n\t// expose the methods\r\n\tthis.show = openTooltip;\r\n\tthis.hide = closeTooltip;\r\n\tthis.cancel = cancelTimer;\r\n\tthis.resetPosition = repositionTooltip;\r\n}\r\n","/**\r\n * PowerTip PlacementCalculator\r\n *\r\n * @fileoverview PlacementCalculator object that computes tooltip position.\r\n * @link http://stevenbenner.github.com/jquery-powertip/\r\n * @author Steven Benner (http://stevenbenner.com/)\r\n * @requires jQuery 1.7+\r\n */\r\n\r\n/**\r\n * Creates a new Placement Calculator.\r\n * @private\r\n * @constructor\r\n */\r\nfunction PlacementCalculator() {\r\n\t/**\r\n\t * Compute the CSS position to display a tooltip at the specified placement\r\n\t * relative to the specified element.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t * @param {string} placement The placement for the tooltip.\r\n\t * @param {number} tipWidth Width of the tooltip element in pixels.\r\n\t * @param {number} tipHeight Height of the tooltip element in pixels.\r\n\t * @param {number} offset Distance to offset tooltips in pixels.\r\n\t * @return {CSSCoordinates} A CSSCoordinates object with the position.\r\n\t */\r\n\tfunction computePlacementCoords(element, placement, tipWidth, tipHeight, offset) {\r\n\t\tvar placementBase = placement.split('-')[0], // ignore 'alt' for corners\r\n\t\t\tcoords = new CSSCoordinates(),\r\n\t\t\tposition;\r\n\r\n\t\tif (isSvgElement(element)) {\r\n\t\t\tposition = getSvgPlacement(element, placementBase);\r\n\t\t} else {\r\n\t\t\tposition = getHtmlPlacement(element, placementBase);\r\n\t\t}\r\n\r\n\t\t// calculate the appropriate x and y position in the document\r\n\t\tswitch (placement) {\r\n\t\tcase 'n':\r\n\t\t\tcoords.set('left', position.left - (tipWidth / 2));\r\n\t\t\tcoords.set('bottom', session.windowHeight - position.top + offset);\r\n\t\t\tbreak;\r\n\t\tcase 'e':\r\n\t\t\tcoords.set('left', position.left + offset);\r\n\t\t\tcoords.set('top', position.top - (tipHeight / 2));\r\n\t\t\tbreak;\r\n\t\tcase 's':\r\n\t\t\tcoords.set('left', position.left - (tipWidth / 2));\r\n\t\t\tcoords.set('top', position.top + offset);\r\n\t\t\tbreak;\r\n\t\tcase 'w':\r\n\t\t\tcoords.set('top', position.top - (tipHeight / 2));\r\n\t\t\tcoords.set('right', session.windowWidth - position.left + offset);\r\n\t\t\tbreak;\r\n\t\tcase 'nw':\r\n\t\t\tcoords.set('bottom', session.windowHeight - position.top + offset);\r\n\t\t\tcoords.set('right', session.windowWidth - position.left - 20);\r\n\t\t\tbreak;\r\n\t\tcase 'nw-alt':\r\n\t\t\tcoords.set('left', position.left);\r\n\t\t\tcoords.set('bottom', session.windowHeight - position.top + offset);\r\n\t\t\tbreak;\r\n\t\tcase 'ne':\r\n\t\t\tcoords.set('left', position.left - 20);\r\n\t\t\tcoords.set('bottom', session.windowHeight - position.top + offset);\r\n\t\t\tbreak;\r\n\t\tcase 'ne-alt':\r\n\t\t\tcoords.set('bottom', session.windowHeight - position.top + offset);\r\n\t\t\tcoords.set('right', session.windowWidth - position.left);\r\n\t\t\tbreak;\r\n\t\tcase 'sw':\r\n\t\t\tcoords.set('top', position.top + offset);\r\n\t\t\tcoords.set('right', session.windowWidth - position.left - 20);\r\n\t\t\tbreak;\r\n\t\tcase 'sw-alt':\r\n\t\t\tcoords.set('left', position.left);\r\n\t\t\tcoords.set('top', position.top + offset);\r\n\t\t\tbreak;\r\n\t\tcase 'se':\r\n\t\t\tcoords.set('left', position.left - 20);\r\n\t\t\tcoords.set('top', position.top + offset);\r\n\t\t\tbreak;\r\n\t\tcase 'se-alt':\r\n\t\t\tcoords.set('top', position.top + offset);\r\n\t\t\tcoords.set('right', session.windowWidth - position.left);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn coords;\r\n\t}\r\n\r\n\t/**\r\n\t * Finds the tooltip attachment point in the document for a HTML DOM element\r\n\t * for the specified placement.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t * @param {string} placement The placement for the tooltip.\r\n\t * @return {Object} An object with the top,left position values.\r\n\t */\r\n\tfunction getHtmlPlacement(element, placement) {\r\n\t\tvar objectOffset = element.offset(),\r\n\t\t\tobjectWidth = element.outerWidth(),\r\n\t\t\tobjectHeight = element.outerHeight(),\r\n\t\t\tleft,\r\n\t\t\ttop;\r\n\r\n\t\t// calculate the appropriate x and y position in the document\r\n\t\tswitch (placement) {\r\n\t\tcase 'n':\r\n\t\t\tleft = objectOffset.left + objectWidth / 2;\r\n\t\t\ttop = objectOffset.top;\r\n\t\t\tbreak;\r\n\t\tcase 'e':\r\n\t\t\tleft = objectOffset.left + objectWidth;\r\n\t\t\ttop = objectOffset.top + objectHeight / 2;\r\n\t\t\tbreak;\r\n\t\tcase 's':\r\n\t\t\tleft = objectOffset.left + objectWidth / 2;\r\n\t\t\ttop = objectOffset.top + objectHeight;\r\n\t\t\tbreak;\r\n\t\tcase 'w':\r\n\t\t\tleft = objectOffset.left;\r\n\t\t\ttop = objectOffset.top + objectHeight / 2;\r\n\t\t\tbreak;\r\n\t\tcase 'nw':\r\n\t\t\tleft = objectOffset.left;\r\n\t\t\ttop = objectOffset.top;\r\n\t\t\tbreak;\r\n\t\tcase 'ne':\r\n\t\t\tleft = objectOffset.left + objectWidth;\r\n\t\t\ttop = objectOffset.top;\r\n\t\t\tbreak;\r\n\t\tcase 'sw':\r\n\t\t\tleft = objectOffset.left;\r\n\t\t\ttop = objectOffset.top + objectHeight;\r\n\t\t\tbreak;\r\n\t\tcase 'se':\r\n\t\t\tleft = objectOffset.left + objectWidth;\r\n\t\t\ttop = objectOffset.top + objectHeight;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: top,\r\n\t\t\tleft: left\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Finds the tooltip attachment point in the document for a SVG element for\r\n\t * the specified placement.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t * @param {string} placement The placement for the tooltip.\r\n\t * @return {Object} An object with the top,left position values.\r\n\t */\r\n\tfunction getSvgPlacement(element, placement) {\r\n\t\tvar svgElement = element.closest('svg')[0],\r\n\t\t\tdomElement = element[0],\r\n\t\t\tpoint = svgElement.createSVGPoint(),\r\n\t\t\tboundingBox = domElement.getBBox(),\r\n\t\t\tmatrix = domElement.getScreenCTM(),\r\n\t\t\thalfWidth = boundingBox.width / 2,\r\n\t\t\thalfHeight = boundingBox.height / 2,\r\n\t\t\tplacements = [],\r\n\t\t\tplacementKeys = ['nw', 'n', 'ne', 'e', 'se', 's', 'sw', 'w'],\r\n\t\t\tcoords,\r\n\t\t\trotation,\r\n\t\t\tsteps,\r\n\t\t\tx;\r\n\r\n\t\tfunction pushPlacement() {\r\n\t\t\tplacements.push(point.matrixTransform(matrix));\r\n\t\t}\r\n\r\n\t\t// get bounding box corners and midpoints\r\n\t\tpoint.x = boundingBox.x;\r\n\t\tpoint.y = boundingBox.y;\r\n\t\tpushPlacement();\r\n\t\tpoint.x += halfWidth;\r\n\t\tpushPlacement();\r\n\t\tpoint.x += halfWidth;\r\n\t\tpushPlacement();\r\n\t\tpoint.y += halfHeight;\r\n\t\tpushPlacement();\r\n\t\tpoint.y += halfHeight;\r\n\t\tpushPlacement();\r\n\t\tpoint.x -= halfWidth;\r\n\t\tpushPlacement();\r\n\t\tpoint.x -= halfWidth;\r\n\t\tpushPlacement();\r\n\t\tpoint.y -= halfHeight;\r\n\t\tpushPlacement();\r\n\r\n\t\t// determine rotation\r\n\t\tif (placements[0].y !== placements[1].y || placements[0].x !== placements[7].x) {\r\n\t\t\trotation = Math.atan2(matrix.b, matrix.a) * RAD2DEG;\r\n\t\t\tsteps = Math.ceil(((rotation % 360) - 22.5) / 45);\r\n\t\t\tif (steps < 1) {\r\n\t\t\t\tsteps += 8;\r\n\t\t\t}\r\n\t\t\twhile (steps--) {\r\n\t\t\t\tplacementKeys.push(placementKeys.shift());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// find placement\r\n\t\tfor (x = 0; x < placements.length; x++) {\r\n\t\t\tif (placementKeys[x] === placement) {\r\n\t\t\t\tcoords = placements[x];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: coords.y + session.scrollTop,\r\n\t\t\tleft: coords.x + session.scrollLeft\r\n\t\t};\r\n\t}\r\n\r\n\t// expose methods\r\n\tthis.compute = computePlacementCoords;\r\n}\r\n","/**\r\n * PowerTip TooltipController\r\n *\r\n * @fileoverview TooltipController object that manages tips for an instance.\r\n * @link http://stevenbenner.github.com/jquery-powertip/\r\n * @author Steven Benner (http://stevenbenner.com/)\r\n * @requires jQuery 1.7+\r\n */\r\n\r\n/**\r\n * Creates a new tooltip controller.\r\n * @private\r\n * @constructor\r\n * @param {Object} options Options object containing settings.\r\n */\r\nfunction TooltipController(options) {\r\n\tvar placementCalculator = new PlacementCalculator(),\r\n\t\ttipElement = $('#' + options.popupId);\r\n\r\n\t// build and append tooltip div if it does not already exist\r\n\tif (tipElement.length === 0) {\r\n\t\ttipElement = $('
      ', { id: options.popupId });\r\n\t\t// grab body element if it was not populated when the script loaded\r\n\t\t// note: this hack exists solely for jsfiddle support\r\n\t\tif ($body.length === 0) {\r\n\t\t\t$body = $('body');\r\n\t\t}\r\n\t\t$body.append(tipElement);\r\n\t}\r\n\r\n\t// hook mousemove for cursor follow tooltips\r\n\tif (options.followMouse) {\r\n\t\t// only one positionTipOnCursor hook per tooltip element, please\r\n\t\tif (!tipElement.data(DATA_HASMOUSEMOVE)) {\r\n\t\t\t$document.on('mousemove', positionTipOnCursor);\r\n\t\t\t$window.on('scroll', positionTipOnCursor);\r\n\t\t\ttipElement.data(DATA_HASMOUSEMOVE, true);\r\n\t\t}\r\n\t}\r\n\r\n\t// if we want to be able to mouse onto the tooltip then we need to attach\r\n\t// hover events to the tooltip that will cancel a close request on hover and\r\n\t// start a new close request on mouseleave\r\n\tif (options.mouseOnToPopup) {\r\n\t\ttipElement.on({\r\n\t\t\tmouseenter: function tipMouseEnter() {\r\n\t\t\t\t// we only let the mouse stay on the tooltip if it is set to let\r\n\t\t\t\t// users interact with it\r\n\t\t\t\tif (tipElement.data(DATA_MOUSEONTOTIP)) {\r\n\t\t\t\t\t// check activeHover in case the mouse cursor entered the\r\n\t\t\t\t\t// tooltip during the fadeOut and close cycle\r\n\t\t\t\t\tif (session.activeHover) {\r\n\t\t\t\t\t\tsession.activeHover.data(DATA_DISPLAYCONTROLLER).cancel();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tmouseleave: function tipMouseLeave() {\r\n\t\t\t\t// check activeHover in case the mouse cursor entered the\r\n\t\t\t\t// tooltip during the fadeOut and close cycle\r\n\t\t\t\tif (session.activeHover) {\r\n\t\t\t\t\tsession.activeHover.data(DATA_DISPLAYCONTROLLER).hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Gives the specified element the active-hover state and queues up the\r\n\t * showTip function.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t */\r\n\tfunction beginShowTip(element) {\r\n\t\telement.data(DATA_HASACTIVEHOVER, true);\r\n\t\t// show tooltip, asap\r\n\t\ttipElement.queue(function queueTipInit(next) {\r\n\t\t\tshowTip(element);\r\n\t\t\tnext();\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Shows the tooltip, as soon as possible.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t */\r\n\tfunction showTip(element) {\r\n\t\tvar tipContent;\r\n\r\n\t\t// it is possible, especially with keyboard navigation, to move on to\r\n\t\t// another element with a tooltip during the queue to get to this point\r\n\t\t// in the code. if that happens then we need to not proceed or we may\r\n\t\t// have the fadeout callback for the last tooltip execute immediately\r\n\t\t// after this code runs, causing bugs.\r\n\t\tif (!element.data(DATA_HASACTIVEHOVER)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// if the tooltip is open and we got asked to open another one then the\r\n\t\t// old one is still in its fadeOut cycle, so wait and try again\r\n\t\tif (session.isTipOpen) {\r\n\t\t\tif (!session.isClosing) {\r\n\t\t\t\thideTip(session.activeHover);\r\n\t\t\t}\r\n\t\t\ttipElement.delay(100).queue(function queueTipAgain(next) {\r\n\t\t\t\tshowTip(element);\r\n\t\t\t\tnext();\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// trigger powerTipPreRender event\r\n\t\telement.trigger('powerTipPreRender');\r\n\r\n\t\t// set tooltip content\r\n\t\ttipContent = getTooltipContent(element);\r\n\t\tif (tipContent) {\r\n\t\t\ttipElement.empty().append(tipContent);\r\n\t\t} else {\r\n\t\t\t// we have no content to display, give up\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// trigger powerTipRender event\r\n\t\telement.trigger('powerTipRender');\r\n\r\n\t\tsession.activeHover = element;\r\n\t\tsession.isTipOpen = true;\r\n\r\n\t\ttipElement.data(DATA_MOUSEONTOTIP, options.mouseOnToPopup);\r\n\r\n\t\t// set tooltip position\r\n\t\tif (!options.followMouse) {\r\n\t\t\tpositionTipOnElement(element);\r\n\t\t\tsession.isFixedTipOpen = true;\r\n\t\t} else {\r\n\t\t\tpositionTipOnCursor();\r\n\t\t}\r\n\r\n\t\t// fadein\r\n\t\ttipElement.fadeIn(options.fadeInTime, function fadeInCallback() {\r\n\t\t\t// start desync polling\r\n\t\t\tif (!session.desyncTimeout) {\r\n\t\t\t\tsession.desyncTimeout = setInterval(closeDesyncedTip, 500);\r\n\t\t\t}\r\n\r\n\t\t\t// trigger powerTipOpen event\r\n\t\t\telement.trigger('powerTipOpen');\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Hides the tooltip.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t */\r\n\tfunction hideTip(element) {\r\n\t\t// reset session\r\n\t\tsession.isClosing = true;\r\n\t\tsession.activeHover = null;\r\n\t\tsession.isTipOpen = false;\r\n\r\n\t\t// stop desync polling\r\n\t\tsession.desyncTimeout = clearInterval(session.desyncTimeout);\r\n\r\n\t\t// reset element state\r\n\t\telement.data(DATA_HASACTIVEHOVER, false);\r\n\t\telement.data(DATA_FORCEDOPEN, false);\r\n\r\n\t\t// fade out\r\n\t\ttipElement.fadeOut(options.fadeOutTime, function fadeOutCallback() {\r\n\t\t\tvar coords = new CSSCoordinates();\r\n\r\n\t\t\t// reset session and tooltip element\r\n\t\t\tsession.isClosing = false;\r\n\t\t\tsession.isFixedTipOpen = false;\r\n\t\t\ttipElement.removeClass();\r\n\r\n\t\t\t// support mouse-follow and fixed position tips at the same time by\r\n\t\t\t// moving the tooltip to the last cursor location after it is hidden\r\n\t\t\tcoords.set('top', session.currentY + options.offset);\r\n\t\t\tcoords.set('left', session.currentX + options.offset);\r\n\t\t\ttipElement.css(coords);\r\n\r\n\t\t\t// trigger powerTipClose event\r\n\t\t\telement.trigger('powerTipClose');\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Moves the tooltip to the users mouse cursor.\r\n\t * @private\r\n\t */\r\n\tfunction positionTipOnCursor() {\r\n\t\t// to support having fixed tooltips on the same page as cursor tooltips,\r\n\t\t// where both instances are referencing the same tooltip element, we\r\n\t\t// need to keep track of the mouse position constantly, but we should\r\n\t\t// only set the tip location if a fixed tip is not currently open, a tip\r\n\t\t// open is imminent or active, and the tooltip element in question does\r\n\t\t// have a mouse-follow using it.\r\n\t\tif (!session.isFixedTipOpen && (session.isTipOpen || (session.tipOpenImminent && tipElement.data(DATA_HASMOUSEMOVE)))) {\r\n\t\t\t// grab measurements\r\n\t\t\tvar tipWidth = tipElement.outerWidth(),\r\n\t\t\t\ttipHeight = tipElement.outerHeight(),\r\n\t\t\t\tcoords = new CSSCoordinates(),\r\n\t\t\t\tcollisions,\r\n\t\t\t\tcollisionCount;\r\n\r\n\t\t\t// grab collisions\r\n\t\t\tcoords.set('top', session.currentY + options.offset);\r\n\t\t\tcoords.set('left', session.currentX + options.offset);\r\n\t\t\tcollisions = getViewportCollisions(\r\n\t\t\t\tcoords,\r\n\t\t\t\ttipWidth,\r\n\t\t\t\ttipHeight\r\n\t\t\t);\r\n\r\n\t\t\t// handle tooltip view port collisions\r\n\t\t\tif (collisions !== Collision.none) {\r\n\t\t\t\tcollisionCount = countFlags(collisions);\r\n\t\t\t\tif (collisionCount === 1) {\r\n\t\t\t\t\t// if there is only one collision (bottom or right) then\r\n\t\t\t\t\t// simply constrain the tooltip to the view port\r\n\t\t\t\t\tif (collisions === Collision.right) {\r\n\t\t\t\t\t\tcoords.set('left', session.windowWidth - tipWidth);\r\n\t\t\t\t\t} else if (collisions === Collision.bottom) {\r\n\t\t\t\t\t\tcoords.set('top', session.scrollTop + session.windowHeight - tipHeight);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// if the tooltip has more than one collision then it is\r\n\t\t\t\t\t// trapped in the corner and should be flipped to get it out\r\n\t\t\t\t\t// of the users way\r\n\t\t\t\t\tcoords.set('left', session.currentX - tipWidth - options.offset);\r\n\t\t\t\t\tcoords.set('top', session.currentY - tipHeight - options.offset);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// position the tooltip\r\n\t\t\ttipElement.css(coords);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Sets the tooltip to the correct position relative to the specified target\r\n\t * element. Based on options settings.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t */\r\n\tfunction positionTipOnElement(element) {\r\n\t\tvar priorityList,\r\n\t\t\tfinalPlacement;\r\n\r\n\t\tif (options.smartPlacement) {\r\n\t\t\tpriorityList = $.fn.powerTip.smartPlacementLists[options.placement];\r\n\r\n\t\t\t// iterate over the priority list and use the first placement option\r\n\t\t\t// that does not collide with the view port. if they all collide\r\n\t\t\t// then the last placement in the list will be used.\r\n\t\t\t$.each(priorityList, function(idx, pos) {\r\n\t\t\t\t// place tooltip and find collisions\r\n\t\t\t\tvar collisions = getViewportCollisions(\r\n\t\t\t\t\tplaceTooltip(element, pos),\r\n\t\t\t\t\ttipElement.outerWidth(),\r\n\t\t\t\t\ttipElement.outerHeight()\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// update the final placement variable\r\n\t\t\t\tfinalPlacement = pos;\r\n\r\n\t\t\t\t// break if there were no collisions\r\n\t\t\t\tif (collisions === Collision.none) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t// if we're not going to use the smart placement feature then just\r\n\t\t\t// compute the coordinates and do it\r\n\t\t\tplaceTooltip(element, options.placement);\r\n\t\t\tfinalPlacement = options.placement;\r\n\t\t}\r\n\r\n\t\t// add placement as class for CSS arrows\r\n\t\ttipElement.addClass(finalPlacement);\r\n\t}\r\n\r\n\t/**\r\n\t * Sets the tooltip position to the appropriate values to show the tip at\r\n\t * the specified placement. This function will iterate and test the tooltip\r\n\t * to support elastic tooltips.\r\n\t * @private\r\n\t * @param {jQuery} element The element that the tooltip should target.\r\n\t * @param {string} placement The placement for the tooltip.\r\n\t * @return {CSSCoordinates} A CSSCoordinates object with the top, left, and\r\n\t * right position values.\r\n\t */\r\n\tfunction placeTooltip(element, placement) {\r\n\t\tvar iterationCount = 0,\r\n\t\t\ttipWidth,\r\n\t\t\ttipHeight,\r\n\t\t\tcoords = new CSSCoordinates();\r\n\r\n\t\t// set the tip to 0,0 to get the full expanded width\r\n\t\tcoords.set('top', 0);\r\n\t\tcoords.set('left', 0);\r\n\t\ttipElement.css(coords);\r\n\r\n\t\t// to support elastic tooltips we need to check for a change in the\r\n\t\t// rendered dimensions after the tooltip has been positioned\r\n\t\tdo {\r\n\t\t\t// grab the current tip dimensions\r\n\t\t\ttipWidth = tipElement.outerWidth();\r\n\t\t\ttipHeight = tipElement.outerHeight();\r\n\r\n\t\t\t// get placement coordinates\r\n\t\t\tcoords = placementCalculator.compute(\r\n\t\t\t\telement,\r\n\t\t\t\tplacement,\r\n\t\t\t\ttipWidth,\r\n\t\t\t\ttipHeight,\r\n\t\t\t\toptions.offset\r\n\t\t\t);\r\n\r\n\t\t\t// place the tooltip\r\n\t\t\ttipElement.css(coords);\r\n\t\t} while (\r\n\t\t\t// sanity check: limit to 5 iterations, and...\r\n\t\t\t++iterationCount <= 5 &&\r\n\t\t\t// try again if the dimensions changed after placement\r\n\t\t\t(tipWidth !== tipElement.outerWidth() || tipHeight !== tipElement.outerHeight())\r\n\t\t);\r\n\r\n\t\treturn coords;\r\n\t}\r\n\r\n\t/**\r\n\t * Checks for a tooltip desync and closes the tooltip if one occurs.\r\n\t * @private\r\n\t */\r\n\tfunction closeDesyncedTip() {\r\n\t\tvar isDesynced = false;\r\n\t\t// It is possible for the mouse cursor to leave an element without\r\n\t\t// firing the mouseleave or blur event. This most commonly happens when\r\n\t\t// the element is disabled under mouse cursor. If this happens it will\r\n\t\t// result in a desynced tooltip because the tooltip was never asked to\r\n\t\t// close. So we should periodically check for a desync situation and\r\n\t\t// close the tip if such a situation arises.\r\n\t\tif (session.isTipOpen && !session.isClosing && !session.delayInProgress) {\r\n\t\t\t// user moused onto another tip or active hover is disabled\r\n\t\t\tif (session.activeHover.data(DATA_HASACTIVEHOVER) === false || session.activeHover.is(':disabled')) {\r\n\t\t\t\tisDesynced = true;\r\n\t\t\t} else {\r\n\t\t\t\t// hanging tip - have to test if mouse position is not over the\r\n\t\t\t\t// active hover and not over a tooltip set to let the user\r\n\t\t\t\t// interact with it.\r\n\t\t\t\t// for keyboard navigation: this only counts if the element does\r\n\t\t\t\t// not have focus.\r\n\t\t\t\t// for tooltips opened via the api: we need to check if it has\r\n\t\t\t\t// the forcedOpen flag.\r\n\t\t\t\tif (!isMouseOver(session.activeHover) && !session.activeHover.is(':focus') && !session.activeHover.data(DATA_FORCEDOPEN)) {\r\n\t\t\t\t\tif (tipElement.data(DATA_MOUSEONTOTIP)) {\r\n\t\t\t\t\t\tif (!isMouseOver(tipElement)) {\r\n\t\t\t\t\t\t\tisDesynced = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tisDesynced = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (isDesynced) {\r\n\t\t\t\t// close the desynced tip\r\n\t\t\t\thideTip(session.activeHover);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// expose methods\r\n\tthis.showTip = beginShowTip;\r\n\tthis.hideTip = hideTip;\r\n\tthis.resetPosition = positionTipOnElement;\r\n}\r\n","/**\r\n * PowerTip Utility Functions\r\n *\r\n * @fileoverview Private helper functions.\r\n * @link http://stevenbenner.github.com/jquery-powertip/\r\n * @author Steven Benner (http://stevenbenner.com/)\r\n * @requires jQuery 1.7+\r\n */\r\n\r\n/**\r\n * Determine whether a jQuery object is an SVG element\r\n * @private\r\n * @param {jQuery} element The element to check\r\n * @return {boolean} Whether this is an SVG element\r\n */\r\nfunction isSvgElement(element) {\r\n\treturn window.SVGElement && element[0] instanceof SVGElement;\r\n}\r\n\r\n/**\r\n * Initializes the viewport dimension cache and hooks up the mouse position\r\n * tracking and viewport dimension tracking events.\r\n * Prevents attaching the events more than once.\r\n * @private\r\n */\r\nfunction initTracking() {\r\n\tif (!session.mouseTrackingActive) {\r\n\t\tsession.mouseTrackingActive = true;\r\n\r\n\t\t// grab the current viewport dimensions on load\r\n\t\t$(function getViewportDimensions() {\r\n\t\t\tsession.scrollLeft = $window.scrollLeft();\r\n\t\t\tsession.scrollTop = $window.scrollTop();\r\n\t\t\tsession.windowWidth = $window.width();\r\n\t\t\tsession.windowHeight = $window.height();\r\n\t\t});\r\n\r\n\t\t// hook mouse move tracking\r\n\t\t$document.on('mousemove', trackMouse);\r\n\r\n\t\t// hook viewport dimensions tracking\r\n\t\t$window.on({\r\n\t\t\tresize: function trackResize() {\r\n\t\t\t\tsession.windowWidth = $window.width();\r\n\t\t\t\tsession.windowHeight = $window.height();\r\n\t\t\t},\r\n\t\t\tscroll: function trackScroll() {\r\n\t\t\t\tvar x = $window.scrollLeft(),\r\n\t\t\t\t\ty = $window.scrollTop();\r\n\t\t\t\tif (x !== session.scrollLeft) {\r\n\t\t\t\t\tsession.currentX += x - session.scrollLeft;\r\n\t\t\t\t\tsession.scrollLeft = x;\r\n\t\t\t\t}\r\n\t\t\t\tif (y !== session.scrollTop) {\r\n\t\t\t\t\tsession.currentY += y - session.scrollTop;\r\n\t\t\t\t\tsession.scrollTop = y;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * Saves the current mouse coordinates to the session object.\r\n * @private\r\n * @param {jQuery.Event} event The mousemove event for the document.\r\n */\r\nfunction trackMouse(event) {\r\n\tsession.currentX = event.pageX;\r\n\tsession.currentY = event.pageY;\r\n}\r\n\r\n/**\r\n * Tests if the mouse is currently over the specified element.\r\n * @private\r\n * @param {jQuery} element The element to check for hover.\r\n * @return {boolean}\r\n */\r\nfunction isMouseOver(element) {\r\n\t// use getBoundingClientRect() because jQuery's width() and height()\r\n\t// methods do not work with SVG elements\r\n\t// compute width/height because those properties do not exist on the object\r\n\t// returned by getBoundingClientRect() in older versions of IE\r\n\tvar elementPosition = element.offset(),\r\n\t\telementBox = element[0].getBoundingClientRect(),\r\n\t\telementWidth = elementBox.right - elementBox.left,\r\n\t\telementHeight = elementBox.bottom - elementBox.top;\r\n\r\n\treturn session.currentX >= elementPosition.left &&\r\n\t\tsession.currentX <= elementPosition.left + elementWidth &&\r\n\t\tsession.currentY >= elementPosition.top &&\r\n\t\tsession.currentY <= elementPosition.top + elementHeight;\r\n}\r\n\r\n/**\r\n * Fetches the tooltip content from the specified element's data attributes.\r\n * @private\r\n * @param {jQuery} element The element to get the tooltip content for.\r\n * @return {(string|jQuery|undefined)} The text/HTML string, jQuery object, or\r\n * undefined if there was no tooltip content for the element.\r\n */\r\nfunction getTooltipContent(element) {\r\n\tvar tipText = element.data(DATA_POWERTIP),\r\n\t\ttipObject = element.data(DATA_POWERTIPJQ),\r\n\t\ttipTarget = element.data(DATA_POWERTIPTARGET),\r\n\t\ttargetElement,\r\n\t\tcontent;\r\n\r\n\tif (tipText) {\r\n\t\tif ($.isFunction(tipText)) {\r\n\t\t\ttipText = tipText.call(element[0]);\r\n\t\t}\r\n\t\tcontent = tipText;\r\n\t} else if (tipObject) {\r\n\t\tif ($.isFunction(tipObject)) {\r\n\t\t\ttipObject = tipObject.call(element[0]);\r\n\t\t}\r\n\t\tif (tipObject.length > 0) {\r\n\t\t\tcontent = tipObject.clone(true, true);\r\n\t\t}\r\n\t} else if (tipTarget) {\r\n\t\ttargetElement = $('#' + tipTarget);\r\n\t\tif (targetElement.length > 0) {\r\n\t\t\tcontent = targetElement.html();\r\n\t\t}\r\n\t}\r\n\r\n\treturn content;\r\n}\r\n\r\n/**\r\n * Finds any viewport collisions that an element (the tooltip) would have if it\r\n * were absolutely positioned at the specified coordinates.\r\n * @private\r\n * @param {CSSCoordinates} coords Coordinates for the element.\r\n * @param {number} elementWidth Width of the element in pixels.\r\n * @param {number} elementHeight Height of the element in pixels.\r\n * @return {number} Value with the collision flags.\r\n */\r\nfunction getViewportCollisions(coords, elementWidth, elementHeight) {\r\n\tvar viewportTop = session.scrollTop,\r\n\t\tviewportLeft = session.scrollLeft,\r\n\t\tviewportBottom = viewportTop + session.windowHeight,\r\n\t\tviewportRight = viewportLeft + session.windowWidth,\r\n\t\tcollisions = Collision.none;\r\n\r\n\tif (coords.top < viewportTop || Math.abs(coords.bottom - session.windowHeight) - elementHeight < viewportTop) {\r\n\t\tcollisions |= Collision.top;\r\n\t}\r\n\tif (coords.top + elementHeight > viewportBottom || Math.abs(coords.bottom - session.windowHeight) > viewportBottom) {\r\n\t\tcollisions |= Collision.bottom;\r\n\t}\r\n\tif (coords.left < viewportLeft || coords.right + elementWidth > viewportRight) {\r\n\t\tcollisions |= Collision.left;\r\n\t}\r\n\tif (coords.left + elementWidth > viewportRight || coords.right < viewportLeft) {\r\n\t\tcollisions |= Collision.right;\r\n\t}\r\n\r\n\treturn collisions;\r\n}\r\n\r\n/**\r\n * Counts the number of bits set on a flags value.\r\n * @param {number} value The flags value.\r\n * @return {number} The number of bits that have been set.\r\n */\r\nfunction countFlags(value) {\r\n\tvar count = 0;\r\n\twhile (value) {\r\n\t\tvalue &= value - 1;\r\n\t\tcount++;\r\n\t}\r\n\treturn count;\r\n}\r\n","/*!\n * jQuery JavaScript Library v2.1.3\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2014-12-18T15:11Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\n\nvar arr = [];\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\t// Use the correct document accordingly with window argument (sandbox)\n\tdocument = window.document,\n\n\tversion = \"2.1.3\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\t// (You can seed the arguments with an array of args, but this is\n\t// only used internally.)\n\teach: function( callback, args ) {\n\t\treturn jQuery.each( this, callback, args );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map(this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t}));\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor(null);\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[0] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction(target) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null ) {\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend({\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type(obj) === \"function\";\n\t},\n\n\tisArray: Array.isArray,\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\treturn !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\t// Not plain objects:\n\t\t// - Any object or value whose internal [[Class]] property is not \"[object Object]\"\n\t\t// - DOM nodes\n\t\t// - window\n\t\tif ( jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype, \"isPrototypeOf\" ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If the function hasn't returned already, we're confident that\n\t\t// |obj| is a plain object, created by {} or constructed with new Object\n\t\treturn true;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\t\t// Support: Android<4.0, iOS<6 (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call(obj) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tvar script,\n\t\t\tindirect = eval;\n\n\t\tcode = jQuery.trim( code );\n\n\t\tif ( code ) {\n\t\t\t// If the code includes a valid, prologue position\n\t\t\t// strict mode pragma, execute code by injecting a\n\t\t\t// script tag into the document.\n\t\t\tif ( code.indexOf(\"use strict\") === 1 ) {\n\t\t\t\tscript = document.createElement(\"script\");\n\t\t\t\tscript.text = code;\n\t\t\t\tdocument.head.appendChild( script ).parentNode.removeChild( script );\n\t\t\t} else {\n\t\t\t// Otherwise, avoid the DOM node creation, insertion\n\t\t\t// and removal by using an indirect global eval\n\t\t\t\tindirect( code );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE9-11+\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\t// args is for internal usage only\n\teach: function( obj, callback, args ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = obj.length,\n\t\t\tisArray = isArraylike( obj );\n\n\t\tif ( args ) {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.apply( obj[ i ], args );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// A special, fast, case for the most common use of each\n\t\t} else {\n\t\t\tif ( isArray ) {\n\t\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( i in obj ) {\n\t\t\t\t\tvalue = callback.call( obj[ i ], i, obj[ i ] );\n\n\t\t\t\t\tif ( value === false ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArraylike( Object(arr) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar value,\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tisArray = isArraylike( elems ),\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArray ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n});\n\n// Populate the class2type map\njQuery.each(\"Boolean Number String Function Array Date RegExp Object Error\".split(\" \"), function(i, name) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n});\n\nfunction isArraylike( obj ) {\n\tvar length = obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\tif ( obj.nodeType === 1 && length ) {\n\t\treturn true;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.0-pre\n * http://sizzlejs.com/\n *\n * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2014-12-16\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\t// http://www.w3.org/TR/css3-syntax/#characters\n\tcharacterEncoding = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Loosely modeled on CSS identifier characters\n\t// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar match, elem, m, nodeType,\n\t\t// QSA vars\n\t\ti, groups, old, nid, newContext, newSelector;\n\n\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\n\tcontext = context || document;\n\tresults = results || [];\n\tnodeType = context.nodeType;\n\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\tif ( !seed && documentIsHTML ) {\n\n\t\t// Try to shortcut find operations when possible (e.g., not under DocumentFragment)\n\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\t\t\t// Speed-up: Sizzle(\"#ID\")\n\t\t\tif ( (m = match[1]) ) {\n\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\telem = context.getElementById( m );\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document (jQuery #6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Context is not a document\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\n\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Speed-up: Sizzle(\"TAG\")\n\t\t\t} else if ( match[2] ) {\n\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\treturn results;\n\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\n\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName ) {\n\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\treturn results;\n\t\t\t}\n\t\t}\n\n\t\t// QSA path\n\t\tif ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\t\t\tnid = old = expando;\n\t\t\tnewContext = context;\n\t\t\tnewSelector = nodeType !== 1 && selector;\n\n\t\t\t// qSA works strangely on Element-rooted queries\n\t\t\t// We can work around this by specifying an extra ID on the root\n\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\n\t\t\t// IE 8 doesn't work on object elements\n\t\t\tif ( nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\n\t\t\t\tgroups = tokenize( selector );\n\n\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\n\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\n\t\t\t\t} else {\n\t\t\t\t\tcontext.setAttribute( \"id\", nid );\n\t\t\t\t}\n\t\t\t\tnid = \"[id='\" + nid + \"'] \";\n\n\t\t\t\ti = groups.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tgroups[i] = nid + toSelector( groups[i] );\n\t\t\t\t}\n\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;\n\t\t\t\tnewSelector = groups.join(\",\");\n\t\t\t}\n\n\t\t\tif ( newSelector ) {\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch(qsaError) {\n\t\t\t\t} finally {\n\t\t\t\t\tif ( !old ) {\n\t\t\t\t\t\tcontext.removeAttribute(\"id\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {Function(string, Object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = attrs.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// If no document and documentElement is available, return\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Set our document\n\tdocument = doc;\n\tdocElem = doc.documentElement;\n\tparent = doc.defaultView;\n\n\t// Support: IE>8\n\t// If iframe document is assigned to \"document\" variable and if iframe has been reloaded,\n\t// IE will throw \"permission denied\" error when accessing \"document\" variable, see jQuery #13936\n\t// IE6-8 do not support the defaultView property so parent will be undefined\n\tif ( parent && parent !== parent.top ) {\n\t\t// IE11 does not have attachEvent, so all must suffer\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Support tests\n\t---------------------------------------------------------------------- */\n\tdocumentIsHTML = !isXML( doc );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( doc.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( doc.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !doc.getElementsByName || !doc.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\treturn m && m.parentNode ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = doc.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully does not implement inclusive descendent\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === doc ? -1 :\n\t\t\t\tb === doc ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn doc;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, diff, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || (parent[ expando ] = {});\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[0] === dirruns && cache[1];\n\t\t\t\t\t\t\tdiff = cache[0] === dirruns && cache[2];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t} else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {\n\t\t\t\t\t\t\tdiff = cache[1];\n\n\t\t\t\t\t\t// xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\tif ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {\n\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t(node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\t\t\t\t\t\tif ( (oldCache = outerCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\touterCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context !== document && context;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Keep `i` a string if there are no elements so `matchedCount` will be \"00\" below\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\tmatchedCount += i;\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is no seed and only one group\n\tif ( match.length === 1 ) {\n\n\t\t// Take a shortcut and set the context if the root selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\trsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[\":\"] = jQuery.expr.pseudos;\njQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = (/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/);\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t});\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t});\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) >= 0 ) !== not;\n\t});\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t}));\n};\n\njQuery.fn.extend({\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tlen = this.length,\n\t\t\tret = [],\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter(function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], false) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow(this, selector || [], true) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n});\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[0] === \"<\" && selector[ selector.length - 1 ] === \">\" && selector.length >= 3 ) {\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && (match[1] || !context) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[1] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[0] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[1],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[2] );\n\n\t\t\t\t\t// Support: Blackberry 4.6\n\t\t\t\t\t// gEBID returns nodes no longer in the document (#6963)\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[0] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || rootjQuery ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[0] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn typeof rootjQuery.ready !== \"undefined\" ?\n\t\t\t\trootjQuery.ready( selector ) :\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.extend({\n\tdir: function( elem, dir, until ) {\n\t\tvar matched = [],\n\t\t\ttruncate = until !== undefined;\n\n\t\twhile ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tmatched.push( elem );\n\t\t\t}\n\t\t}\n\t\treturn matched;\n\t},\n\n\tsibling: function( n, elem ) {\n\t\tvar matched = [];\n\n\t\tfor ( ; n; n = n.nextSibling ) {\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\t\tmatched.push( n );\n\t\t\t}\n\t\t}\n\n\t\treturn matched;\n\t}\n});\n\njQuery.fn.extend({\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter(function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && (pos ?\n\t\t\t\t\tpos.index(cur) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector(cur, selectors)) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.unique(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter(selector)\n\t\t);\n\t}\n});\n\nfunction sibling( cur, dir ) {\n\twhile ( (cur = cur[dir]) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each({\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn jQuery.dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn jQuery.dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn jQuery.sibling( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn elem.contentDocument || jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.unique( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n});\nvar rnotwhite = (/\\S+/g);\n\n\n\n// String to Object options format cache\nvar optionsCache = {};\n\n// Convert String-formatted options into Object-formatted ones and store in cache\nfunction createOptions( options ) {\n\tvar object = optionsCache[ options ] = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t});\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\t( optionsCache[ options ] || createOptions( options ) ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Last fire value (for non-forgettable lists)\n\t\tmemory,\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\t\t// Flag to know if list is currently firing\n\t\tfiring,\n\t\t// First callback to fire (used internally by add and fireWith)\n\t\tfiringStart,\n\t\t// End of the loop when firing\n\t\tfiringLength,\n\t\t// Index of currently firing callback (modified by remove if needed)\n\t\tfiringIndex,\n\t\t// Actual callback list\n\t\tlist = [],\n\t\t// Stack of fire calls for repeatable lists\n\t\tstack = !options.once && [],\n\t\t// Fire callbacks\n\t\tfire = function( data ) {\n\t\t\tmemory = options.memory && data;\n\t\t\tfired = true;\n\t\t\tfiringIndex = firingStart || 0;\n\t\t\tfiringStart = 0;\n\t\t\tfiringLength = list.length;\n\t\t\tfiring = true;\n\t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ ) {\n\t\t\t\tif ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {\n\t\t\t\t\tmemory = false; // To prevent further calls using add\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfiring = false;\n\t\t\tif ( list ) {\n\t\t\t\tif ( stack ) {\n\t\t\t\t\tif ( stack.length ) {\n\t\t\t\t\t\tfire( stack.shift() );\n\t\t\t\t\t}\n\t\t\t\t} else if ( memory ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t} else {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Actual Callbacks object\n\t\tself = {\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\t// First, we save the current length\n\t\t\t\t\tvar start = list.length;\n\t\t\t\t\t(function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tvar type = jQuery.type( arg );\n\t\t\t\t\t\t\tif ( type === \"function\" ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && type !== \"string\" ) {\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})( arguments );\n\t\t\t\t\t// Do we need to add the callbacks to the\n\t\t\t\t\t// current firing batch?\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tfiringLength = list.length;\n\t\t\t\t\t// With memory, if we're not firing then\n\t\t\t\t\t// we should call right away\n\t\t\t\t\t} else if ( memory ) {\n\t\t\t\t\t\tfiringStart = start;\n\t\t\t\t\t\tfire( memory );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\t\tvar index;\n\t\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\t\tlist.splice( index, 1 );\n\t\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\t\t\tif ( index <= firingLength ) {\n\t\t\t\t\t\t\t\t\tfiringLength--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );\n\t\t\t},\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tlist = [];\n\t\t\t\tfiringLength = 0;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Have the list do nothing anymore\n\t\t\tdisable: function() {\n\t\t\t\tlist = stack = memory = undefined;\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it disabled?\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\t\t\t// Lock the list in its current state\n\t\t\tlock: function() {\n\t\t\t\tstack = undefined;\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Is it locked?\n\t\t\tlocked: function() {\n\t\t\t\treturn !stack;\n\t\t\t},\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( list && ( !fired || stack ) ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tif ( firing ) {\n\t\t\t\t\t\tstack.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfire( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend({\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks(\"memory\") ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[1] ](function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject )\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t}).promise();\n\t\t\t\t},\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[1] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(function() {\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[0] ] = function() {\n\t\t\t\tdeferred[ tuple[0] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[0] + \"With\" ] = list.fireWith;\n\t\t});\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred. If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// Add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject )\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// If we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n});\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend({\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n});\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed, false );\n\twindow.removeEventListener( \"load\", completed, false );\n\tjQuery.ready();\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called after the browser event has already occurred.\n\t\t// We once tried to use readyState \"interactive\" here, but it caused issues like the one\n\t\t// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15\n\t\tif ( document.readyState === \"complete\" ) {\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\tsetTimeout( jQuery.ready );\n\n\t\t} else {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed, false );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed, false );\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\tjQuery.access( elems, fn, i, key[i], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlen ? fn( elems[0], key ) : emptyGet;\n};\n\n\n/**\n * Determines whether an object can have data\n */\njQuery.acceptData = function( owner ) {\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\t/* jshint -W018 */\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\nfunction Data() {\n\t// Support: Android<4,\n\t// Old WebKit does not have Object.preventExtensions/freeze method,\n\t// return new empty object instead with no [[set]] accessor\n\tObject.defineProperty( this.cache = {}, 0, {\n\t\tget: function() {\n\t\t\treturn {};\n\t\t}\n\t});\n\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\nData.accepts = jQuery.acceptData;\n\nData.prototype = {\n\tkey: function( owner ) {\n\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t// but we should not, see #8335.\n\t\t// Always return the key for a frozen object.\n\t\tif ( !Data.accepts( owner ) ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar descriptor = {},\n\t\t\t// Check if the owner object already has a cache key\n\t\t\tunlock = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !unlock ) {\n\t\t\tunlock = Data.uid++;\n\n\t\t\t// Secure it in a non-enumerable, non-writable property\n\t\t\ttry {\n\t\t\t\tdescriptor[ this.expando ] = { value: unlock };\n\t\t\t\tObject.defineProperties( owner, descriptor );\n\n\t\t\t// Support: Android<4\n\t\t\t// Fallback to a less secure definition\n\t\t\t} catch ( e ) {\n\t\t\t\tdescriptor[ this.expando ] = unlock;\n\t\t\t\tjQuery.extend( owner, descriptor );\n\t\t\t}\n\t\t}\n\n\t\t// Ensure the cache object\n\t\tif ( !this.cache[ unlock ] ) {\n\t\t\tthis.cache[ unlock ] = {};\n\t\t}\n\n\t\treturn unlock;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\t// There may be an unlock assigned to this node,\n\t\t\t// if there is no entry for this \"owner\", create one inline\n\t\t\t// and set the unlock as though an owner entry had always existed\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\t// Handle: [ owner, key, value ] args\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ data ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\t\t\t// Fresh assignments by object are shallow copied\n\t\t\tif ( jQuery.isEmptyObject( cache ) ) {\n\t\t\t\tjQuery.extend( this.cache[ unlock ], data );\n\t\t\t// Otherwise, copy the properties one-by-one to the cache object\n\t\t\t} else {\n\t\t\t\tfor ( prop in data ) {\n\t\t\t\t\tcache[ prop ] = data[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\t// Either a valid cache is found, or will be created.\n\t\t// New caches will be created and the unlock returned,\n\t\t// allowing direct access to the newly created\n\t\t// empty data object. A valid owner object must be provided.\n\t\tvar cache = this.cache[ this.key( owner ) ];\n\n\t\treturn key === undefined ?\n\t\t\tcache : cache[ key ];\n\t},\n\taccess: function( owner, key, value ) {\n\t\tvar stored;\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t((key && typeof key === \"string\") && value === undefined) ) {\n\n\t\t\tstored = this.get( owner, key );\n\n\t\t\treturn stored !== undefined ?\n\t\t\t\tstored : this.get( owner, jQuery.camelCase(key) );\n\t\t}\n\n\t\t// [*]When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i, name, camel,\n\t\t\tunlock = this.key( owner ),\n\t\t\tcache = this.cache[ unlock ];\n\n\t\tif ( key === undefined ) {\n\t\t\tthis.cache[ unlock ] = {};\n\n\t\t} else {\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( jQuery.isArray( key ) ) {\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = key.concat( key.map( jQuery.camelCase ) );\n\t\t\t} else {\n\t\t\t\tcamel = jQuery.camelCase( key );\n\t\t\t\t// Try the string as a key before any manipulation\n\t\t\t\tif ( key in cache ) {\n\t\t\t\t\tname = [ key, camel ];\n\t\t\t\t} else {\n\t\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\t\tname = camel;\n\t\t\t\t\tname = name in cache ?\n\t\t\t\t\t\t[ name ] : ( name.match( rnotwhite ) || [] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ti = name.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ name[ i ] ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\treturn !jQuery.isEmptyObject(\n\t\t\tthis.cache[ owner[ this.expando ] ] || {}\n\t\t);\n\t},\n\tdiscard: function( owner ) {\n\t\tif ( owner[ this.expando ] ) {\n\t\t\tdelete this.cache[ owner[ this.expando ] ];\n\t\t}\n\t}\n};\nvar data_priv = new Data();\n\nvar data_user = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdata_user.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend({\n\thasData: function( elem ) {\n\t\treturn data_user.hasData( elem ) || data_priv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn data_user.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdata_user.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to data_priv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn data_priv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdata_priv.remove( elem, name );\n\t}\n});\n\njQuery.fn.extend({\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = data_user.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !data_priv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice(5) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdata_priv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each(function() {\n\t\t\t\tdata_user.set( this, key );\n\t\t\t});\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data,\n\t\t\t\tcamelKey = jQuery.camelCase( key );\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key as-is\n\t\t\t\tdata = data_user.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// with the key camelized\n\t\t\t\tdata = data_user.get( elem, camelKey );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, camelKey, undefined );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each(function() {\n\t\t\t\t// First, attempt to store a copy or reference of any\n\t\t\t\t// data that might've been store with a camelCased key.\n\t\t\t\tvar data = data_user.get( this, camelKey );\n\n\t\t\t\t// For HTML5 data-* attribute interop, we have to\n\t\t\t\t// store property names with dashes in a camelCase form.\n\t\t\t\t// This might not apply to all properties...*\n\t\t\t\tdata_user.set( this, camelKey, value );\n\n\t\t\t\t// *... In the case of properties that might _actually_\n\t\t\t\t// have dashes, we need to also store a copy of that\n\t\t\t\t// unchanged property.\n\t\t\t\tif ( key.indexOf(\"-\") !== -1 && data !== undefined ) {\n\t\t\t\t\tdata_user.set( this, key, value );\n\t\t\t\t}\n\t\t\t});\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each(function() {\n\t\t\tdata_user.remove( this, key );\n\t\t});\n\t}\n});\n\n\njQuery.extend({\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = data_priv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = data_priv.access( elem, type, jQuery.makeArray(data) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn data_priv.get( elem, key ) || data_priv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks(\"once memory\").add(function() {\n\t\t\t\tdata_priv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t})\n\t\t});\n\t}\n});\n\njQuery.fn.extend({\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[0], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each(function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[0] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t});\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t});\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = data_priv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n});\nvar pnum = (/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/).source;\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" || !jQuery.contains( elem.ownerDocument, elem );\n\t};\n\nvar rcheckableType = (/^(?:checkbox|radio)$/i);\n\n\n\n(function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Safari<=5.1\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari<=5.1, Android<4.2\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<=11+\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n})();\nvar strundefined = typeof undefined;\n\n\n\nsupport.focusinBubbles = \"onfocusin\" in window;\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)$/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !(events = elemData.events) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !(eventHandle = elemData.handle) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend({\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join(\".\")\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !(handlers = events[ type ]) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = data_priv.hasData( elem ) && data_priv.get( elem );\n\n\t\tif ( !elemData || !(events = elemData.events) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[t] ) || [];\n\t\t\ttype = origType = tmp[1];\n\t\t\tnamespaces = ( tmp[2] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[2] && new RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdelete elemData.handle;\n\t\t\tdata_priv.remove( elem, \"events\" );\n\t\t}\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split(\".\") : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf(\".\") >= 0 ) {\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split(\".\");\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf(\":\") < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join(\".\");\n\t\tevent.namespace_re = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === (elem.ownerDocument || document) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( data_priv.get( cur, \"events\" ) || {} )[ event.type ] && data_priv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && jQuery.acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&\n\t\t\t\tjQuery.acceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( data_priv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[0] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )\n\t\t\t\t\t\t\t.apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( (event.result = ret) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG instance trees (#13180)\n\t\t// Avoid non-left-click bubbling in Firefox (#3861)\n\t\tif ( delegateCount && cur.nodeType && (!event.button || event.type !== \"click\") ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.disabled !== true || event.type !== \"click\" ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) >= 0 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push({ elem: cur, handlers: matches });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: \"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: \"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n\t\tfilter: function( event, original ) {\n\t\t\tvar eventDoc, doc, body,\n\t\t\t\tbutton = original.button;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: Cordova 2.5 (WebKit) (#13255)\n\t\t// All events should have a target; Cordova deviceready doesn't\n\t\tif ( !event.target ) {\n\t\t\tevent.target = document;\n\t\t}\n\n\t\t// Support: Safari 6.0+, Chrome<28\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\tspecial: {\n\t\tload: {\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && jQuery.nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tsimulate: function( type, elem, event, bubble ) {\n\t\t// Piggyback on a donor event to simulate a different one.\n\t\t// Fake originalEvent to avoid donor's stopPropagation, but if the\n\t\t// simulated event prevents default then we do the same on the donor.\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true,\n\t\t\t\toriginalEvent: {}\n\t\t\t}\n\t\t);\n\t\tif ( bubble ) {\n\t\t\tjQuery.event.trigger( e, null, elem );\n\t\t} else {\n\t\t\tjQuery.event.dispatch.call( elem, e );\n\t\t}\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle, false );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\t// Allow instantiation without the 'new' keyword\n\tif ( !(this instanceof jQuery.Event) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\t\t\t\t// Support: Android<4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && e.preventDefault ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopImmediatePropagation ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// Support: Chrome 15+\njQuery.each({\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mousenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || (related !== target && !jQuery.contains( target, related )) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n});\n\n// Support: Firefox, Chrome, Safari\n// Create \"bubbling\" focus and blur events\nif ( !support.focusinBubbles ) {\n\tjQuery.each({ focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );\n\t\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdata_priv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = data_priv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdata_priv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdata_priv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n}\n\njQuery.fn.extend({\n\n\ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\n\t\tvar origFn, type;\n\n\t\t// Types can be a map of types/handlers\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-Object, selector, data )\n\t\t\tif ( typeof selector !== \"string\" ) {\n\t\t\t\t// ( types-Object, data )\n\t\t\t\tdata = data || selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.on( type, selector, data, types[ type ], one );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( data == null && fn == null ) {\n\t\t\t// ( types, fn )\n\t\t\tfn = selector;\n\t\t\tdata = selector = undefined;\n\t\t} else if ( fn == null ) {\n\t\t\tif ( typeof selector === \"string\" ) {\n\t\t\t\t// ( types, selector, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = undefined;\n\t\t\t} else {\n\t\t\t\t// ( types, data, fn )\n\t\t\t\tfn = data;\n\t\t\t\tdata = selector;\n\t\t\t\tselector = undefined;\n\t\t\t}\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t} else if ( !fn ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( one === 1 ) {\n\t\t\torigFn = fn;\n\t\t\tfn = function( event ) {\n\t\t\t\t// Can use an empty set, since event contains the info\n\t\t\t\tjQuery().off( event );\n\t\t\t\treturn origFn.apply( this, arguments );\n\t\t\t};\n\t\t\t// Use same guid so caller can remove using origFn\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\n\t\t});\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn this.on( types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t});\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each(function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t});\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[0];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n});\n\n\nvar\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,\n\trtagName = /<([\\w:]+)/,\n\trhtml = /<|&#?\\w+;/,\n\trnoInnerhtml = /<(?:script|style|link)/i,\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptType = /^$|\\/(?:java|ecma)script/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*\\s*$/g,\n\n\t// We have to close these tags to support XHTML (#13200)\n\twrapMap = {\n\n\t\t// Support: IE9\n\t\toption: [ 1, \"\" ],\n\n\t\tthead: [ 1, \"\", \"
      \" ],\n\t\tcol: [ 2, \"\", \"
      \" ],\n\t\ttr: [ 2, \"\", \"
      \" ],\n\t\ttd: [ 3, \"\", \"
      \" ],\n\n\t\t_default: [ 0, \"\", \"\" ]\n\t};\n\n// Support: IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: 1.x compatibility\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName(\"tbody\")[0] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement(\"tbody\") ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = (elem.getAttribute(\"type\") !== null) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute(\"type\");\n\t}\n\n\treturn elem;\n}\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdata_priv.set(\n\t\t\telems[ i ], \"globalEval\", !refElements || data_priv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( data_priv.hasData( src ) ) {\n\t\tpdataOld = data_priv.access( src );\n\t\tpdataCur = data_priv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( data_user.hasData( src ) ) {\n\t\tudataOld = data_user.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdata_user.set( dest, udataCur );\n\t}\n}\n\nfunction getAll( context, tag ) {\n\tvar ret = context.getElementsByTagName ? context.getElementsByTagName( tag || \"*\" ) :\n\t\t\tcontext.querySelectorAll ? context.querySelectorAll( tag || \"*\" ) :\n\t\t\t[];\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], ret ) :\n\t\tret;\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\njQuery.extend({\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tbuildFragment: function( elems, context, scripts, selection ) {\n\t\tvar elem, tmp, tag, wrap, contains, j,\n\t\t\tfragment = context.createDocumentFragment(),\n\t\t\tnodes = [],\n\t\t\ti = 0,\n\t\t\tl = elems.length;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\telem = elems[ i ];\n\n\t\t\tif ( elem || elem === 0 ) {\n\n\t\t\t\t// Add nodes directly\n\t\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t\t// Convert non-html into a text node\n\t\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t\t// Convert html into DOM nodes\n\t\t\t\t} else {\n\t\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement(\"div\") );\n\n\t\t\t\t\t// Deserialize a standard representation\n\t\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\t\ttmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, \"<$1>\" ) + wrap[ 2 ];\n\n\t\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\t\tj = wrap[ 0 ];\n\t\t\t\t\twhile ( j-- ) {\n\t\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: QtWebKit, PhantomJS\n\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t\t// Remember the top-level container\n\t\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\t\ttmp.textContent = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Remove wrapper from fragment\n\t\tfragment.textContent = \"\";\n\n\t\ti = 0;\n\t\twhile ( (elem = nodes[ i++ ]) ) {\n\n\t\t\t// #4087 - If origin and destination elements are the same, and this is\n\t\t\t// that element, do not do anything\n\t\t\tif ( selection && jQuery.inArray( elem, selection ) !== -1 ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t\t// Append to fragment\n\t\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t\t// Preserve script evaluation history\n\t\t\tif ( contains ) {\n\t\t\t\tsetGlobalEval( tmp );\n\t\t\t}\n\n\t\t\t// Capture executables\n\t\t\tif ( scripts ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (elem = tmp[ j++ ]) ) {\n\t\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\t\tscripts.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn fragment;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type, key,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[ i ]) !== undefined; i++ ) {\n\t\t\tif ( jQuery.acceptData( elem ) ) {\n\t\t\t\tkey = elem[ data_priv.expando ];\n\n\t\t\t\tif ( key && (data = data_priv.cache[ key ]) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( data_priv.cache[ key ] ) {\n\t\t\t\t\t\t// Discard any remaining `private` data\n\t\t\t\t\t\tdelete data_priv.cache[ key ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Discard any remaining `user` data\n\t\t\tdelete data_user.cache[ elem[ data_user.expando ] ];\n\t\t}\n\t}\n});\n\njQuery.fn.extend({\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each(function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t});\n\t},\n\n\tprepend: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t});\n\t},\n\n\tbefore: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t});\n\t},\n\n\tafter: function() {\n\t\treturn this.domManip( arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t});\n\t},\n\n\tremove: function( selector, keepData /* Internal Use Only */ ) {\n\t\tvar elem,\n\t\t\telems = selector ? jQuery.filter( selector, this ) : this,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\n\t\t\tif ( !keepData && elem.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( getAll( elem ) );\n\t\t\t}\n\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\tif ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\t\t\tsetGlobalEval( getAll( elem, \"script\" ) );\n\t\t\t\t}\n\t\t\t\telem.parentNode.removeChild( elem );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map(function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t});\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = value.replace( rxhtmlTag, \"<$1>\" );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar arg = arguments[ 0 ];\n\n\t\t// Make the changes, replacing each context element with the new content\n\t\tthis.domManip( arguments, function( elem ) {\n\t\t\targ = this.parentNode;\n\n\t\t\tjQuery.cleanData( getAll( this ) );\n\n\t\t\tif ( arg ) {\n\t\t\t\targ.replaceChild( elem, this );\n\t\t\t}\n\t\t});\n\n\t\t// Force removal if there was no new content (e.g., from empty arguments)\n\t\treturn arg && (arg.length || arg.nodeType) ? this : this.remove();\n\t},\n\n\tdetach: function( selector ) {\n\t\treturn this.remove( selector, true );\n\t},\n\n\tdomManip: function( args, callback ) {\n\n\t\t// Flatten any nested arrays\n\t\targs = concat.apply( [], args );\n\n\t\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tset = this,\n\t\t\tiNoClone = l - 1,\n\t\t\tvalue = args[ 0 ],\n\t\t\tisFunction = jQuery.isFunction( value );\n\n\t\t// We can't cloneNode fragments that contain checked, in WebKit\n\t\tif ( isFunction ||\n\t\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\t\treturn this.each(function( index ) {\n\t\t\t\tvar self = set.eq( index );\n\t\t\t\tif ( isFunction ) {\n\t\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t\t}\n\t\t\t\tself.domManip( args, callback );\n\t\t\t});\n\t\t}\n\n\t\tif ( l ) {\n\t\t\tfragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );\n\t\t\tfirst = fragment.firstChild;\n\n\t\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\t\tfragment = first;\n\t\t\t}\n\n\t\t\tif ( first ) {\n\t\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\t\thasScripts = scripts.length;\n\n\t\t\t\t// Use the original fragment for the last item instead of the first because it can end up\n\t\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\tnode = fragment;\n\n\t\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\t\t\t// Support: QtWebKit\n\t\t\t\t\t\t\t// jQuery.merge because push.apply(_, arraylike) throws\n\t\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcallback.call( this[ i ], node, i );\n\t\t\t\t}\n\n\t\t\t\tif ( hasScripts ) {\n\t\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t\t// Reenable scripts\n\t\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t\t!data_priv.access( node, \"globalEval\" ) && jQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\t\tif ( node.src ) {\n\t\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.globalEval( node.textContent.replace( rcleanScript, \"\" ) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n});\n\njQuery.each({\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: QtWebKit\n\t\t\t// .get() because push.apply(_, arraylike) throws\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n});\n\n\nvar iframe,\n\telemdisplay = {};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar style,\n\t\telem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\t// getDefaultComputedStyle might be reliably used only on attached element\n\t\tdisplay = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?\n\n\t\t\t// Use of this method is a temporary fix (more like optimization) until something better comes along,\n\t\t\t// since it was removed from specification and supported only in FF\n\t\t\tstyle.display : jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = (iframe || jQuery( \"