Kaynağa Gözat

Travis: Enforce phpcs line length + whitespace (#3488)

* Update Travis line length

* Also check whitespace in CSS files

* Fix line length ext.php

* More syntax, string templates

* Fix exclude-pattern

* Test JS files as well
Alexandre Alapetite 5 yıl önce
ebeveyn
işleme
947e918f05
85 değiştirilmiş dosya ile 5654 ekleme ve 5454 silme
  1. 2 2
      .travis.yml
  2. 2 2
      Makefile
  3. 6 14
      app/Controllers/authController.php
  4. 1 2
      app/Controllers/categoryController.php
  5. 8 16
      app/Controllers/configureController.php
  6. 13 26
      app/Controllers/extensionController.php
  7. 4 5
      app/Controllers/feedController.php
  8. 1 2
      app/Controllers/importExportController.php
  9. 2 1
      app/Controllers/javascriptController.php
  10. 6 6
      app/Controllers/tagController.php
  11. 2 4
      app/Controllers/updateController.php
  12. 2 4
      app/Controllers/userController.php
  13. 4 2
      app/FreshRSS.php
  14. 18 11
      app/Models/CategoryDAO.php
  15. 9 7
      app/Models/DatabaseDAOPGSQL.php
  16. 1 1
      app/Models/Entry.php
  17. 21 13
      app/Models/EntryDAO.php
  18. 2 2
      app/Models/EntryDAOSQLite.php
  19. 19 17
      app/Models/FeedDAO.php
  20. 1 4
      app/Models/FormAuth.php
  21. 1 2
      app/Models/Share.php
  22. 2 2
      app/Models/StatsDAO.php
  23. 18 6
      app/Models/TagDAO.php
  24. 6 6
      app/Models/UserQuery.php
  25. 32 19
      app/install.php
  26. 4 8
      app/layout/aside_configure.phtml
  27. 18 10
      app/layout/aside_feed.phtml
  28. 23 22
      app/layout/nav_menu.phtml
  29. 2 1
      app/views/auth/formLogin.phtml
  30. 16 10
      app/views/auth/index.phtml
  31. 2 1
      app/views/auth/register.phtml
  32. 26 12
      app/views/configure/archiving.phtml
  33. 45 18
      app/views/configure/display.phtml
  34. 12 6
      app/views/configure/integration.phtml
  35. 56 20
      app/views/configure/reading.phtml
  36. 42 21
      app/views/configure/shortcut.phtml
  37. 12 6
      app/views/configure/system.phtml
  38. 1 1
      app/views/extension/index.phtml
  39. 18 9
      app/views/helpers/category/update.phtml
  40. 8 4
      app/views/helpers/configure/query.phtml
  41. 1 2
      app/views/helpers/extension/configure.phtml
  42. 46 29
      app/views/helpers/feed/update.phtml
  43. 2 1
      app/views/helpers/index/normal/entry_header.phtml
  44. 4 4
      app/views/helpers/pagination.phtml
  45. 4 2
      app/views/index/global.phtml
  46. 4 2
      app/views/index/logs.phtml
  47. 10 6
      app/views/index/normal.phtml
  48. 6 2
      app/views/index/reader.phtml
  49. 4 2
      app/views/stats/idle.phtml
  50. 4 2
      app/views/stats/repartition.phtml
  51. 3 1
      app/views/subscription/bookmarklet.phtml
  52. 4 4
      app/views/subscription/index.phtml
  53. 70 69
      app/views/user/details.phtml
  54. 5 3
      app/views/user/manage.phtml
  55. 6 3
      app/views/user/profile.phtml
  56. 3 6
      lib/Minz/Configuration.php
  57. 1 2
      lib/Minz/ControllerNotActionControllerException.php
  58. 2 4
      lib/Minz/ExtensionException.php
  59. 19 23
      lib/Minz/ExtensionManager.php
  60. 2 6
      lib/Minz/Log.php
  61. 1 1
      lib/Minz/Paginator.php
  62. 1 1
      lib/lib_install.php
  63. 5 4
      lib/lib_rss.php
  64. 2 2
      p/api/fever.php
  65. 9 5
      p/api/greader.php
  66. 2 1
      p/ext.php
  67. 2 2
      p/scripts/install.js
  68. 31 31
      p/scripts/integration.js
  69. 7 4
      p/scripts/main.js
  70. 8 4
      p/scripts/stats.js
  71. 1 1
      p/themes/Alternative-Dark/adark.rtl.css
  72. 897 897
      p/themes/Ansum/ansum.css
  73. 898 898
      p/themes/Ansum/ansum.rtl.css
  74. 1 1
      p/themes/BlueLagoon/BlueLagoon.rtl.css
  75. 906 906
      p/themes/Mapco/mapco.css
  76. 907 907
      p/themes/Mapco/mapco.rtl.css
  77. 1 1
      p/themes/Origine-compact/origine-compact.rtl.css
  78. 1 1
      p/themes/Origine/origine.rtl.css
  79. 1 1
      p/themes/Pafat/pafat.rtl.css
  80. 1 1
      p/themes/Screwdriver/screwdriver.rtl.css
  81. 637 637
      p/themes/Swage/swage.css
  82. 637 637
      p/themes/Swage/swage.rtl.css
  83. 26 11
      phpcs.xml
  84. 2 1
      tests/app/Models/CategoryTest.php
  85. 2 1
      tests/app/Models/SearchTest.php

+ 2 - 2
.travis.yml

@@ -17,7 +17,7 @@ jobs:
         - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi
         - COMPOSER_BIN=$(composer global config --absolute bin-dir)
         - $COMPOSER_BIN/phpunit --bootstrap ./tests/bootstrap.php --verbose ./tests
-        - $COMPOSER_BIN/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p
+        - $COMPOSER_BIN/phpcs . -p -s
     - name: "PHP 7.4 Syntax, linter and tests"
       php: "7.4"
       install:
@@ -29,7 +29,7 @@ jobs:
         - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi
         - COMPOSER_BIN=$(composer global config --absolute bin-dir)
         - $COMPOSER_BIN/phpunit --bootstrap ./tests/bootstrap.php --verbose ./tests
-        - $COMPOSER_BIN/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p
+        - $COMPOSER_BIN/phpcs . -p -s
     - name: "PHP 5.6 Syntax"
       php: "5.6"
       script:

+ 2 - 2
Makefile

@@ -61,11 +61,11 @@ test: bin/phpunit ## Run the test suite
 
 .PHONY: lint
 lint: bin/phpcs ## Run the linter on the PHP files
-	$(PHP) ./bin/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p
+	$(PHP) ./bin/phpcs . -p -s
 
 .PHONY: lint-fix
 lint-fix: bin/phpcbf ## Fix the errors detected by the linter
-	$(PHP) ./bin/phpcbf . --standard=phpcs.xml --warning-severity=0 --extensions=php -p
+	$(PHP) ./bin/phpcbf . -p -s
 
 bin/phpunit:
 	mkdir -p bin/

+ 6 - 14
app/Controllers/authController.php

@@ -53,11 +53,9 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 			invalidateHttpCache();
 
 			if ($ok) {
-				Minz_Request::good(_t('feedback.conf.updated'),
-				                   array('c' => 'auth', 'a' => 'index'));
+				Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'auth', 'a' => 'index' ]);
 			} else {
-				Minz_Request::bad(_t('feedback.conf.error'),
-				                  array('c' => 'auth', 'a' => 'index'));
+				Minz_Request::bad(_t('feedback.conf.error'), [ 'c' => 'auth', 'a' => 'index' ]);
 			}
 		}
 	}
@@ -160,13 +158,9 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 				Minz_Translate::init(FreshRSS_Context::$user_conf->language);
 
 				// All is good, go back to the index.
-				Minz_Request::good(_t('feedback.auth.login.success'),
-				                   array('c' => 'index', 'a' => 'index'));
+				Minz_Request::good(_t('feedback.auth.login.success'), [ 'c' => 'index', 'a' => 'index' ]);
 			} else {
-				Minz_Log::warning('Password mismatch for' .
-				                  ' user=' . $username .
-				                  ', nonce=' . $nonce .
-				                  ', c=' . $challenge);
+				Minz_Log::warning("Password mismatch for user={$username}, nonce={$nonce}, c={$challenge}");
 
 				header('HTTP/1.1 403 Forbidden');
 				Minz_Session::_param('POST_to_GET', true);	//Prevent infinite internal redirect
@@ -203,8 +197,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 
 				Minz_Translate::init(FreshRSS_Context::$user_conf->language);
 
-				Minz_Request::good(_t('feedback.auth.login.success'),
-				                   array('c' => 'index', 'a' => 'index'));
+				Minz_Request::good(_t('feedback.auth.login.success'), [ 'c' => 'index', 'a' => 'index' ]);
 			} else {
 				Minz_Log::warning('Unsafe password mismatch for user ' . $username);
 				Minz_Request::bad(
@@ -221,8 +214,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 	public function logoutAction() {
 		invalidateHttpCache();
 		FreshRSS_Auth::removeAccess();
-		Minz_Request::good(_t('feedback.auth.logout.success'),
-		                   array('c' => 'index', 'a' => 'index'));
+		Minz_Request::good(_t('feedback.auth.logout.success'), [ 'c' => 'index', 'a' => 'index' ]);
 	}
 
 	/**

+ 1 - 2
app/Controllers/categoryController.php

@@ -34,8 +34,7 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 		$this->view->categories = $catDAO->listCategories(false);
 
 		if (count($this->view->categories) >= $limits['max_categories']) {
-			Minz_Request::bad(_t('feedback.sub.category.over_max', $limits['max_categories']),
-			                  $url_redirect);
+			Minz_Request::bad(_t('feedback.sub.category.over_max', $limits['max_categories']), $url_redirect);
 		}
 
 		if (Minz_Request::isPost()) {

+ 8 - 16
app/Controllers/configureController.php

@@ -63,8 +63,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 			Minz_Translate::reset(FreshRSS_Context::$user_conf->language);
 			invalidateHttpCache();
 
-			Minz_Request::good(_t('feedback.conf.updated'),
-			                   array('c' => 'configure', 'a' => 'display'));
+			Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'display' ]);
 		}
 
 		$this->view->themes = FreshRSS_Themes::get();
@@ -127,8 +126,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 			FreshRSS_Context::$user_conf->save();
 			invalidateHttpCache();
 
-			Minz_Request::good(_t('feedback.conf.updated'),
-			                   array('c' => 'configure', 'a' => 'reading'));
+			Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'reading' ]);
 		}
 
 		Minz_View::prependTitle(_t('conf.reading.title') . ' · ');
@@ -154,8 +152,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 			FreshRSS_Context::$user_conf->save();
 			invalidateHttpCache();
 
-			Minz_Request::good(_t('feedback.conf.updated'),
-			                   array('c' => 'configure', 'a' => 'integration'));
+			Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'integration' ]);
 		}
 
 		Minz_View::prependTitle(_t('conf.sharing.title') . ' · ');
@@ -236,8 +233,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 			FreshRSS_Context::$user_conf->save();
 			invalidateHttpCache();
 
-			Minz_Request::good(_t('feedback.conf.updated'),
-			                   array('c' => 'configure', 'a' => 'archiving'));
+			Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'archiving' ]);
 		}
 
 		$volatile = [
@@ -300,8 +296,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 			FreshRSS_Context::$user_conf->queries = $queries;
 			FreshRSS_Context::$user_conf->save();
 
-			Minz_Request::good(_t('feedback.conf.updated'),
-			                   array('c' => 'configure', 'a' => 'queries'));
+			Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'queries' ]);
 		} else {
 			$this->view->queries = array();
 			foreach (FreshRSS_Context::$user_conf->queries as $key => $query) {
@@ -369,8 +364,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 			FreshRSS_Context::$user_conf->queries = $queries;
 			FreshRSS_Context::$user_conf->save();
 
-			Minz_Request::good(_t('feedback.conf.updated'),
-			                   array('c' => 'configure', 'a' => 'queries', 'params' => ['id' => $id]));
+			Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'queries', 'params' => ['id' => $id] ]);
 		}
 
 		Minz_View::prependTitle(_t('conf.query.title') . ' · ' . $query->getName() . ' · ');
@@ -391,8 +385,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 		FreshRSS_Context::$user_conf->queries = $queries;
 		FreshRSS_Context::$user_conf->save();
 
-		Minz_Request::good(_t('feedback.conf.updated'),
-			               array('c' => 'configure', 'a' => 'queries'));
+		Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'queries' ]);
 	}
 
 	/**
@@ -419,8 +412,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 		FreshRSS_Context::$user_conf->queries = $queries;
 		FreshRSS_Context::$user_conf->save();
 
-		Minz_Request::good(_t('feedback.conf.query_created', $params['name']),
-		                   array('c' => 'configure', 'a' => 'queries'));
+		Minz_Request::good(_t('feedback.conf.query_created', $params['name']), [ 'c' => 'configure', 'a' => 'queries' ]);
 	}
 
 	/**

+ 13 - 26
app/Controllers/extensionController.php

@@ -117,13 +117,11 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
 			$ext = Minz_ExtensionManager::findExtension($ext_name);
 
 			if (is_null($ext)) {
-				Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), $url_redirect);
 			}
 
 			if ($ext->isEnabled()) {
-				Minz_Request::bad(_t('feedback.extensions.already_enabled', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.already_enabled', $ext_name), $url_redirect);
 			}
 
 			$conf = null;
@@ -132,8 +130,7 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
 			} elseif ($ext->getType() === 'user') {
 				$conf = FreshRSS_Context::$user_conf;
 			} else {
-				Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name), $url_redirect);
 			}
 
 			$res = $ext->install();
@@ -144,12 +141,10 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
 				$conf->extensions_enabled = $ext_list;
 				$conf->save();
 
-				Minz_Request::good(_t('feedback.extensions.enable.ok', $ext_name),
-				                   $url_redirect);
+				Minz_Request::good(_t('feedback.extensions.enable.ok', $ext_name), $url_redirect);
 			} else {
 				Minz_Log::warning('Can not enable extension ' . $ext_name . ': ' . $res);
-				Minz_Request::bad(_t('feedback.extensions.enable.ko', $ext_name, _url('index', 'logs')),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.enable.ko', $ext_name, _url('index', 'logs')), $url_redirect);
 			}
 		}
 
@@ -173,13 +168,11 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
 			$ext = Minz_ExtensionManager::findExtension($ext_name);
 
 			if (is_null($ext)) {
-				Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), $url_redirect);
 			}
 
 			if (!$ext->isEnabled()) {
-				Minz_Request::bad(_t('feedback.extensions.not_enabled', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.not_enabled', $ext_name), $url_redirect);
 			}
 
 			$conf = null;
@@ -188,8 +181,7 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
 			} elseif ($ext->getType() === 'user') {
 				$conf = FreshRSS_Context::$user_conf;
 			} else {
-				Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name), $url_redirect);
 			}
 
 			$res = $ext->uninstall();
@@ -204,12 +196,10 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
 				$conf->extensions_enabled = $ext_list;
 				$conf->save();
 
-				Minz_Request::good(_t('feedback.extensions.disable.ok', $ext_name),
-				                   $url_redirect);
+				Minz_Request::good(_t('feedback.extensions.disable.ok', $ext_name), $url_redirect);
 			} else {
 				Minz_Log::warning('Can not unable extension ' . $ext_name . ': ' . $res);
-				Minz_Request::bad(_t('feedback.extensions.disable.ko', $ext_name, _url('index', 'logs')),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.disable.ko', $ext_name, _url('index', 'logs')), $url_redirect);
 			}
 		}
 
@@ -237,17 +227,14 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
 			$ext = Minz_ExtensionManager::findExtension($ext_name);
 
 			if (is_null($ext)) {
-				Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), $url_redirect);
 			}
 
 			$res = recursive_unlink($ext->getPath());
 			if ($res) {
-				Minz_Request::good(_t('feedback.extensions.removed', $ext_name),
-				                   $url_redirect);
+				Minz_Request::good(_t('feedback.extensions.removed', $ext_name), $url_redirect);
 			} else {
-				Minz_Request::bad(_t('feedback.extensions.cannot_remove', $ext_name),
-				                  $url_redirect);
+				Minz_Request::bad(_t('feedback.extensions.cannot_remove', $ext_name), $url_redirect);
 			}
 		}
 

+ 4 - 5
app/Controllers/feedController.php

@@ -150,8 +150,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
 		$limits = FreshRSS_Context::$system_conf->limits;
 		$this->view->feeds = $feedDAO->listFeeds();
 		if (count($this->view->feeds) >= $limits['max_feeds']) {
-			Minz_Request::bad(_t('feedback.sub.feed.over_max', $limits['max_feeds']),
-			                  $url_redirect);
+			Minz_Request::bad(_t('feedback.sub.feed.over_max', $limits['max_feeds']), $url_redirect);
 		}
 
 		if (Minz_Request::isPost()) {
@@ -366,9 +365,9 @@ class FreshRSS_feed_Controller extends Minz_ActionController {
 						} else {	//This entry already exists but has been updated
 							//Minz_Log::debug('Entry with GUID `' . $entry->guid() . '` updated in feed ' . $feed->url(false) .
 								//', old hash ' . $existingHash . ', new hash ' . $entry->hash());
-							$mark_updated_article_unread = $feed->attributes('mark_updated_article_unread') !== null ? (
-									$feed->attributes('mark_updated_article_unread')
-								) : FreshRSS_Context::$user_conf->mark_updated_article_unread;
+							$mark_updated_article_unread = $feed->attributes('mark_updated_article_unread') !== null ?
+								$feed->attributes('mark_updated_article_unread') :
+								FreshRSS_Context::$user_conf->mark_updated_article_unread;
 							$needFeedCacheRefresh = $mark_updated_article_unread;
 							$entry->_isRead($mark_updated_article_unread ? false : null);	//Change is_read according to policy.
 

+ 1 - 2
app/Controllers/importExportController.php

@@ -157,8 +157,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
 
 		if ($status_file !== 0) {
 			Minz_Log::warning('File cannot be uploaded. Error code: ' . $status_file);
-			Minz_Request::bad(_t('feedback.import_export.file_cannot_be_uploaded'),
-			                  array('c' => 'importExport', 'a' => 'index'));
+			Minz_Request::bad(_t('feedback.import_export.file_cannot_be_uploaded'), [ 'c' => 'importExport', 'a' => 'index' ]);
 		}
 
 		@set_time_limit(300);

+ 2 - 1
app/Controllers/javascriptController.php

@@ -34,7 +34,8 @@ class FreshRSS_javascript_Controller extends Minz_ActionController {
 				$salt = FreshRSS_Context::$system_conf->salt;
 				$s = FreshRSS_Context::$user_conf->passwordHash;
 				if (strlen($s) >= 60) {
-					$this->view->salt1 = substr($s, 0, 29);	//CRYPT_BLOWFISH Salt: "$2a$", a two digit cost parameter, "$", and 22 characters from the alphabet "./0-9A-Za-z".
+					//CRYPT_BLOWFISH Salt: "$2a$", a two digit cost parameter, "$", and 22 characters from the alphabet "./0-9A-Za-z".
+					$this->view->salt1 = substr($s, 0, 29);
 					$this->view->nonce = sha1($salt . uniqid(mt_rand(), true));
 					Minz_Session::_param('nonce', $this->view->nonce);
 					return;	//Success

+ 6 - 6
app/Controllers/tagController.php

@@ -34,12 +34,12 @@ class FreshRSS_tag_Controller extends Minz_ActionController {
 				$tagDAO = FreshRSS_Factory::createTagDao();
 				if ($id_tag == 0 && $name_tag != '' && $checked) {
 					if ($existing_tag = $tagDAO->searchByName($name_tag)) {
-					    // Use existing tag
-                        $tagDAO->tagEntry($existing_tag->id(), $id_entry, $checked);
-                    } else {
-                        //Create new tag
-                        $id_tag = $tagDAO->addTag(array('name' => $name_tag));
-                    }
+						// Use existing tag
+						$tagDAO->tagEntry($existing_tag->id(), $id_entry, $checked);
+					} else {
+						//Create new tag
+						$id_tag = $tagDAO->addTag(array('name' => $name_tag));
+					}
 				}
 				if ($id_tag != 0) {
 					$tagDAO->tagEntry($id_tag, $id_entry, $checked);

+ 2 - 4
app/Controllers/updateController.php

@@ -193,8 +193,7 @@ class FreshRSS_update_Controller extends Minz_ActionController {
 				@file_put_contents(join_path(DATA_PATH, 'last_update.txt'), '');
 				Minz_Request::good(_t('feedback.update.finished'));
 			} else {
-				Minz_Request::bad(_t('feedback.update.error', $res),
-				                  array('c' => 'update', 'a' => 'index'));
+				Minz_Request::bad(_t('feedback.update.error', $res), [ 'c' => 'update', 'a' => 'index' ]);
 			}
 		} else {
 			$res = false;
@@ -220,8 +219,7 @@ class FreshRSS_update_Controller extends Minz_ActionController {
 					'params' => array('post_conf' => true)
 				), true);
 			} else {
-				Minz_Request::bad(_t('feedback.update.error', $res),
-				                  array('c' => 'update', 'a' => 'index'));
+				Minz_Request::bad(_t('feedback.update.error', $res), [ 'c' => 'update', 'a' => 'index' ]);
 			}
 		}
 	}

+ 2 - 4
app/Controllers/userController.php

@@ -71,8 +71,7 @@ class FreshRSS_user_Controller extends Minz_ActionController {
 					Minz_Request::good(_t('feedback.profile.updated'), array('c' => 'index', 'a' => 'index'));
 				}
 			} else {
-				Minz_Request::bad(_t('feedback.user.updated.error', $username),
-				                  array('c' => 'user', 'a' => 'manage'));
+				Minz_Request::bad(_t('feedback.user.updated.error', $username), [ 'c' => 'user', 'a' => 'manage' ]);
 			}
 		}
 	}
@@ -140,8 +139,7 @@ class FreshRSS_user_Controller extends Minz_ActionController {
 					Minz_Request::good(_t('feedback.profile.updated'), array('c' => 'index', 'a' => 'index'));
 				}
 			} else {
-				Minz_Request::bad(_t('feedback.profile.error'),
-				                  array('c' => 'user', 'a' => 'profile'));
+				Minz_Request::bad(_t('feedback.profile.error'), [ 'c' => 'user', 'a' => 'profile' ]);
 			}
 		}
 	}

+ 4 - 2
app/FreshRSS.php

@@ -68,8 +68,10 @@ class FreshRSS extends Minz_FrontController {
 			if (!(FreshRSS_Auth::isCsrfOk() ||
 				(Minz_Request::controllerName() === 'auth' && Minz_Request::actionName() === 'login') ||
 				(Minz_Request::controllerName() === 'user' && Minz_Request::actionName() === 'create' && !FreshRSS_Auth::hasAccess('admin')) ||
-				(Minz_Request::controllerName() === 'feed' && Minz_Request::actionName() === 'actualize' && FreshRSS_Context::$system_conf->allow_anonymous_refresh) ||
-				(Minz_Request::controllerName() === 'javascript' && Minz_Request::actionName() === 'actualize' && FreshRSS_Context::$system_conf->allow_anonymous)
+				(Minz_Request::controllerName() === 'feed' && Minz_Request::actionName() === 'actualize'
+					&& FreshRSS_Context::$system_conf->allow_anonymous_refresh) ||
+				(Minz_Request::controllerName() === 'javascript' && Minz_Request::actionName() === 'actualize'
+					&& FreshRSS_Context::$system_conf->allow_anonymous)
 				)) {
 				// Token-based protection against XSRF attacks, except for the login or self-create user forms
 				self::initI18n();

+ 18 - 11
app/Models/CategoryDAO.php

@@ -80,9 +80,13 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable
 	}
 
 	public function addCategory($valuesTmp) {
-		$sql = 'INSERT INTO `_category`(name, attributes) '
-		     . 'SELECT * FROM (SELECT TRIM(?) AS name, TRIM(?) AS attributes) c2 '	//TRIM() to provide a type hint as text
-		     . 'WHERE NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = TRIM(?))';	//No tag of the same name
+		// TRIM() to provide a type hint as text
+		// No tag of the same name
+		$sql = <<<'SQL'
+INSERT INTO `_category`(name, attributes)
+SELECT * FROM (SELECT TRIM(?) AS name, TRIM(?) AS attributes) c2
+WHERE NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = TRIM(?))
+SQL;
 		$stm = $this->pdo->prepare($sql);
 
 		$valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, FreshRSS_DatabaseDAO::LENGTH_INDEX_UNICODE, 'UTF-8');
@@ -121,8 +125,11 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable
 	}
 
 	public function updateCategory($id, $valuesTmp) {
-		$sql = 'UPDATE `_category` SET name=?, attributes=? WHERE id=? '
-		     . 'AND NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = ?)';	//No tag of the same name
+		// No tag of the same name
+		$sql = <<<'SQL'
+UPDATE `_category` SET name=?, attributes=? WHERE id=?
+AND NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = ?)
+SQL;
 		$stm = $this->pdo->prepare($sql);
 
 		$valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, FreshRSS_DatabaseDAO::LENGTH_INDEX_UNICODE, 'UTF-8');
@@ -240,12 +247,12 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable
 	public function listCategories($prePopulateFeeds = true, $details = false) {
 		if ($prePopulateFeeds) {
 			$sql = 'SELECT c.id AS c_id, c.name AS c_name, c.attributes AS c_attributes, '
-			     . ($details ? 'f.* ' : 'f.id, f.name, f.url, f.website, f.priority, f.error, f.`cache_nbEntries`, f.`cache_nbUnreads`, f.ttl ')
-			     . 'FROM `_category` c '
-			     . 'LEFT OUTER JOIN `_feed` f ON f.category=c.id '
-			     . 'WHERE f.priority >= :priority_normal '
-			     . 'GROUP BY f.id, c_id '
-			     . 'ORDER BY c.name, f.name';
+				. ($details ? 'f.* ' : 'f.id, f.name, f.url, f.website, f.priority, f.error, f.`cache_nbEntries`, f.`cache_nbUnreads`, f.ttl ')
+				. 'FROM `_category` c '
+				. 'LEFT OUTER JOIN `_feed` f ON f.category=c.id '
+				. 'WHERE f.priority >= :priority_normal '
+				. 'GROUP BY f.id, c_id '
+				. 'ORDER BY c.name, f.name';
 			$stm = $this->pdo->prepare($sql);
 			$values = [ ':priority_normal' => FreshRSS_Feed::PRIORITY_NORMAL ];
 			if ($stm && $stm->execute($values)) {

+ 9 - 7
app/Models/DatabaseDAOPGSQL.php

@@ -57,13 +57,15 @@ class FreshRSS_DatabaseDAOPGSQL extends FreshRSS_DatabaseDAOSQLite {
 			$stm->bindParam(':base', $db['base']);
 			$stm->execute();
 		} else {
-			$sql = "SELECT "
-			     . "pg_total_relation_size('`{$this->pdo->prefix()}category`') + "
-			     . "pg_total_relation_size('`{$this->pdo->prefix()}feed`') + "
-			     . "pg_total_relation_size('`{$this->pdo->prefix()}entry`') + "
-			     . "pg_total_relation_size('`{$this->pdo->prefix()}entrytmp`') + "
-			     . "pg_total_relation_size('`{$this->pdo->prefix()}tag`') + "
-			     . "pg_total_relation_size('`{$this->pdo->prefix()}entrytag`')";
+			$sql = <<<SQL
+SELECT
+pg_total_relation_size('`{$this->pdo->prefix()}category`')
+pg_total_relation_size('`{$this->pdo->prefix()}feed`')
+pg_total_relation_size('`{$this->pdo->prefix()}entry`')
+pg_total_relation_size('`{$this->pdo->prefix()}entrytmp`')
+pg_total_relation_size('`{$this->pdo->prefix()}tag`')
+pg_total_relation_size('`{$this->pdo->prefix()}entrytag`')
+SQL;
 			$stm = $this->pdo->query($sql);
 		}
 		if ($stm == false) {

+ 1 - 1
app/Models/Entry.php

@@ -23,7 +23,7 @@ class FreshRSS_Entry extends Minz_Model {
 	private $tags;
 
 	public function __construct($feedId = '', $guid = '', $title = '', $authors = '', $content = '',
-	                            $link = '', $pubdate = 0, $is_read = false, $is_favorite = false, $tags = '') {
+			$link = '', $pubdate = 0, $is_read = false, $is_favorite = false, $tags = '') {
 		$this->_title($title);
 		$this->_authors($authors);
 		$this->_content($content);

+ 21 - 13
app/Models/EntryDAO.php

@@ -578,14 +578,14 @@ SQL;
 		if (!empty($options['keep_min']) && $options['keep_min'] > 0) {
 			//Double SELECT for MySQL workaround ERROR 1093 (HY000)
 			$sql .= ' AND `lastSeen` < (SELECT `lastSeen`'
-			      . ' FROM (SELECT e2.`lastSeen` FROM `_entry` e2 WHERE e2.id_feed = :id_feed2'
-			      . ' ORDER BY e2.`lastSeen` DESC LIMIT 1 OFFSET :keep_min) last_seen2)';
+				. ' FROM (SELECT e2.`lastSeen` FROM `_entry` e2 WHERE e2.id_feed = :id_feed2'
+				. ' ORDER BY e2.`lastSeen` DESC LIMIT 1 OFFSET :keep_min) last_seen2)';
 			$params[':id_feed2'] = $id_feed;
 			$params[':keep_min'] = (int)$options['keep_min'];
 		}
 		//Keep at least the articles seen at the last refresh
 		$sql .= ' AND `lastSeen` < (SELECT maxlastseen'
-		      . ' FROM (SELECT MAX(e3.`lastSeen`) AS maxlastseen FROM `_entry` e3 WHERE e3.id_feed = :id_feed3) last_seen3)';
+			. ' FROM (SELECT MAX(e3.`lastSeen`) AS maxlastseen FROM `_entry` e3 WHERE e3.id_feed = :id_feed3) last_seen3)';
 		$params[':id_feed3'] = $id_feed;
 
 		//==Inclusions==
@@ -598,8 +598,8 @@ SQL;
 		}
 		if (!empty($options['keep_max']) && $options['keep_max'] > 0) {
 			$sql .= ' OR `lastSeen` <= (SELECT `lastSeen`'
-			      . ' FROM (SELECT e4.`lastSeen` FROM `_entry` e4 WHERE e4.id_feed = :id_feed4'
-			      . ' ORDER BY e4.`lastSeen` DESC LIMIT 1 OFFSET :keep_max) last_seen4)';
+				. ' FROM (SELECT e4.`lastSeen` FROM `_entry` e4 WHERE e4.id_feed = :id_feed4'
+				. ' ORDER BY e4.`lastSeen` DESC LIMIT 1 OFFSET :keep_max) last_seen4)';
 			$params[':id_feed4'] = $id_feed;
 			$params[':keep_max'] = (int)$options['keep_max'];
 		}
@@ -670,7 +670,8 @@ SQL;
 		return 'CONCAT(' . $s1 . ',' . $s2 . ')';	//MySQL
 	}
 
-	protected function sqlListEntriesWhere($alias = '', $filters = null, $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $firstId = '', $date_min = 0) {
+	protected function sqlListEntriesWhere($alias = '', $filters = null, $state = FreshRSS_Entry::STATE_ALL,
+			$order = 'DESC', $firstId = '', $date_min = 0) {
 		$search = ' ';
 		$values = array();
 		if ($state & FreshRSS_Entry::STATE_NOT_READ) {
@@ -831,13 +832,15 @@ SQL;
 
 				if ($filter->getSearch()) {
 					foreach ($filter->getSearch() as $search_value) {
-						$sub_search .= 'AND ' . $this->sqlConcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ? ';
+						$sub_search .= 'AND ' . $this->sqlConcat($alias . 'title',
+							$this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ? ';
 						$values[] = "%{$search_value}%";
 					}
 				}
 				if ($filter->getNotSearch()) {
 					foreach ($filter->getNotSearch() as $search_value) {
-						$sub_search .= 'AND (NOT ' . $this->sqlConcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ?) ';
+						$sub_search .= 'AND (NOT ' . $this->sqlConcat($alias . 'title',
+							$this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ?) ';
 						$values[] = "%{$search_value}%";
 					}
 				}
@@ -859,7 +862,8 @@ SQL;
 		return array($values, $search);
 	}
 
-	private function sqlListWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) {
+	private function sqlListWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL,
+			$order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) {
 		if (!$state) {
 			$state = FreshRSS_Entry::STATE_ALL;
 		}
@@ -917,7 +921,8 @@ SQL;
 			. ($limit > 0 ? ' LIMIT ' . intval($limit) : ''));	//TODO: See http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
 	}
 
-	public function listWhereRaw($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) {
+	public function listWhereRaw($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL,
+			$order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) {
 		list($values, $sql) = $this->sqlListWhere($type, $id, $state, $order, $limit, $firstId, $filters, $date_min);
 
 		$sql = 'SELECT e0.id, e0.guid, e0.title, e0.author, '
@@ -939,7 +944,8 @@ SQL;
 		}
 	}
 
-	public function listWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) {
+	public function listWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL,
+			$order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) {
 		$stm = $this->listWhereRaw($type, $id, $state, $order, $limit, $firstId, $filters, $date_min);
 		if ($stm) {
 			while ($row = $stm->fetch(PDO::FETCH_ASSOC)) {
@@ -969,7 +975,8 @@ SQL;
 		}
 	}
 
-	public function listIdsWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null) {	//For API
+	public function listIdsWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL,
+			$order = 'DESC', $limit = 1, $firstId = '', $filters = null) {	//For API
 		list($values, $sql) = $this->sqlListWhere($type, $id, $state, $order, $limit, $firstId, $filters);
 
 		$stm = $this->pdo->prepare($sql);
@@ -983,7 +990,8 @@ SQL;
 			return array();
 		}
 		$guids = array_unique($guids);
-		$sql = 'SELECT guid, ' . $this->sqlHexEncode('hash') . ' AS hex_hash FROM `_entry` WHERE id_feed=? AND guid IN (' . str_repeat('?,', count($guids) - 1). '?)';
+		$sql = 'SELECT guid, ' . $this->sqlHexEncode('hash') .
+			' AS hex_hash FROM `_entry` WHERE id_feed=? AND guid IN (' . str_repeat('?,', count($guids) - 1). '?)';
 		$stm = $this->pdo->prepare($sql);
 		$values = array($id_feed);
 		$values = array_merge($values, $guids);

+ 2 - 2
app/Models/EntryDAOSQLite.php

@@ -114,13 +114,13 @@ DROP TABLE IF EXISTS `tmp`;
 	public function markRead($ids, $is_read = true) {
 		FreshRSS_UserDAO::touch();
 		if (is_array($ids)) {	//Many IDs at once (used by API)
-			if (true) {	//Speed heuristics	//TODO: Not implemented yet for SQLite (so always call IDs one by one)
+			//if (true) {	//Speed heuristics	//TODO: Not implemented yet for SQLite (so always call IDs one by one)
 				$affected = 0;
 				foreach ($ids as $id) {
 					$affected += $this->markRead($id, $is_read);
 				}
 				return $affected;
-			}
+			//}
 		} else {
 			$this->pdo->beginTransaction();
 			$sql = 'UPDATE `_entry` SET is_read=? WHERE id=? AND is_read=?';

+ 19 - 17
app/Models/FeedDAO.php

@@ -175,9 +175,7 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	}
 
 	public function updateLastUpdate($id, $inError = false, $mtime = 0) {	//See also updateCachedValue()
-		$sql = 'UPDATE `_feed` '
-		     . 'SET `lastUpdate`=?, error=? '
-		     . 'WHERE id=?';
+		$sql = 'UPDATE `_feed` SET `lastUpdate`=?, error=? WHERE id=?';
 		$values = array(
 			$mtime <= 0 ? time() : $mtime,
 			$inError ? 1 : 0,
@@ -248,9 +246,11 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	}
 
 	public function selectAll() {
-		$sql = 'SELECT id, url, category, name, website, description, `lastUpdate`, priority, '
-		     . '`pathEntries`, `httpAuth`, error, ttl, attributes '
-		     . 'FROM `_feed`';
+		$sql = <<<'SQL'
+SELECT id, url, category, name, website, description, `lastUpdate`,
+	priority, `pathEntries`, `httpAuth`, error, ttl, attributes
+FROM `_feed`
+SQL;
 		$stm = $this->pdo->query($sql);
 		while ($row = $stm->fetch(PDO::FETCH_ASSOC)) {
 			yield $row;
@@ -317,8 +317,10 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	}
 
 	public function arrayFeedCategoryNames() {	//For API
-		$sql = 'SELECT f.id, f.name, c.name as c_name FROM `_feed` f '
-		     . 'INNER JOIN `_category` c ON c.id = f.category';
+		$sql = <<<'SQL'
+SELECT f.id, f.name, c.name as c_name FROM `_feed` f
+INNER JOIN `_category` c ON c.id = f.category
+SQL;
 		$stm = $this->pdo->query($sql);
 		$res = $stm->fetchAll(PDO::FETCH_ASSOC);
 		$feedCategoryNames = array();
@@ -337,12 +339,12 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	public function listFeedsOrderUpdate($defaultCacheDuration = 3600, $limit = 0) {
 		$this->updateTTL();
 		$sql = 'SELECT id, url, name, website, `lastUpdate`, `pathEntries`, `httpAuth`, ttl, attributes '
-		     . 'FROM `_feed` '
-		     . ($defaultCacheDuration < 0 ? '' : 'WHERE ttl >= ' . FreshRSS_Feed::TTL_DEFAULT
-		     . ' AND `lastUpdate` < (' . (time() + 60)
-			 . '-(CASE WHEN ttl=' . FreshRSS_Feed::TTL_DEFAULT . ' THEN ' . intval($defaultCacheDuration) . ' ELSE ttl END)) ')
-		     . 'ORDER BY `lastUpdate` '
-		     . ($limit < 1 ? '' : 'LIMIT ' . intval($limit));
+			. 'FROM `_feed` '
+			. ($defaultCacheDuration < 0 ? '' : 'WHERE ttl >= ' . FreshRSS_Feed::TTL_DEFAULT
+			. ' AND `lastUpdate` < (' . (time() + 60)
+			. '-(CASE WHEN ttl=' . FreshRSS_Feed::TTL_DEFAULT . ' THEN ' . intval($defaultCacheDuration) . ' ELSE ttl END)) ')
+			. 'ORDER BY `lastUpdate` '
+			. ($limit < 1 ? '' : 'LIMIT ' . intval($limit));
 		$stm = $this->pdo->query($sql);
 		if ($stm !== false) {
 			return self::daoToFeed($stm->fetchAll(PDO::FETCH_ASSOC));
@@ -394,9 +396,9 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	public function updateCachedValues($id = null) {
 		//2 sub-requests with FOREIGN KEY(e.id_feed), INDEX(e.is_read) faster than 1 request with GROUP BY or CASE
 		$sql = 'UPDATE `_feed` '
-		     . 'SET `cache_nbEntries`=(SELECT COUNT(e1.id) FROM `_entry` e1 WHERE e1.id_feed=`_feed`.id),'
-		     . '`cache_nbUnreads`=(SELECT COUNT(e2.id) FROM `_entry` e2 WHERE e2.id_feed=`_feed`.id AND e2.is_read=0)'
-		     . ($id != null ? ' WHERE id=:id' : '');
+			. 'SET `cache_nbEntries`=(SELECT COUNT(e1.id) FROM `_entry` e1 WHERE e1.id_feed=`_feed`.id),'
+			. '`cache_nbUnreads`=(SELECT COUNT(e2.id) FROM `_entry` e2 WHERE e2.id_feed=`_feed`.id AND e2.is_read=0)'
+			. ($id != null ? ' WHERE id=:id' : '');
 		$stm = $this->pdo->prepare($sql);
 		if ($id != null) {
 			$stm->bindParam(':id', $id, PDO::PARAM_INT);

+ 1 - 4
app/Models/FormAuth.php

@@ -6,10 +6,7 @@ class FreshRSS_FormAuth {
 				!ctype_graph($hash) ||
 				!ctype_graph($challenge) ||
 				!ctype_alnum($nonce)) {
-			Minz_Log::debug('Invalid credential parameters:' .
-			                ' user=' . $username .
-			                ' challenge=' . $challenge .
-			                ' nonce=' . $nonce);
+			Minz_Log::debug("Invalid credential parameters: user={$username}, challenge={$challenge}, nonce={$nonce}");
 			return false;
 		}
 

+ 1 - 2
app/Models/Share.php

@@ -97,8 +97,7 @@ class FreshRSS_Share {
 	 * @param $help_url is an optional url to give help on this option.
 	 * @param $method defines the sharing method (GET or POST)
 	 */
-	private function __construct($type, $url_transform, $transform,
-	                             $form_type, $help_url, $method, $field) {
+	private function __construct($type, $url_transform, $transform, $form_type, $help_url, $method, $field) {
 		$this->type = $type;
 		$this->name = _t('gen.share.' . $type);
 		$this->url_transform = $url_transform;

+ 2 - 2
app/Models/StatsDAO.php

@@ -15,8 +15,8 @@ class FreshRSS_StatsDAO extends Minz_ModelPdo {
 	 */
 	public function calculateEntryRepartition() {
 		return array(
-		    'main_stream' => $this->calculateEntryRepartitionPerFeed(null, true),
-		    'all_feeds' => $this->calculateEntryRepartitionPerFeed(null, false),
+			'main_stream' => $this->calculateEntryRepartitionPerFeed(null, true),
+			'all_feeds' => $this->calculateEntryRepartitionPerFeed(null, false),
 		);
 	}
 

+ 18 - 6
app/Models/TagDAO.php

@@ -42,9 +42,13 @@ class FreshRSS_TagDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	}
 
 	public function addTag($valuesTmp) {
-		$sql = 'INSERT INTO `_tag`(name, attributes) '
-		     . 'SELECT * FROM (SELECT TRIM(?) as name, TRIM(?) as attributes) t2 '	//TRIM() gives a text type hint to PostgreSQL
-		     . 'WHERE NOT EXISTS (SELECT 1 FROM `_category` WHERE name = TRIM(?))';	//No category of the same name
+		// TRIM() gives a text type hint to PostgreSQL
+		// No category of the same name
+		$sql = <<<'SQL'
+INSERT INTO `_tag`(name, attributes)
+SELECT * FROM (SELECT TRIM(?) as name, TRIM(?) as attributes) t2
+WHERE NOT EXISTS (SELECT 1 FROM `_category` WHERE name = TRIM(?))
+SQL;
 		$stm = $this->pdo->prepare($sql);
 
 		$valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, 63, 'UTF-8');
@@ -79,8 +83,12 @@ class FreshRSS_TagDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	}
 
 	public function updateTag($id, $valuesTmp) {
-		$sql = 'UPDATE `_tag` SET name=?, attributes=? WHERE id=? '
-		     . 'AND NOT EXISTS (SELECT 1 FROM `_category` WHERE name = ?)';	//No category of the same name
+		// No category of the same name
+		$sql = <<<'SQL'
+UPDATE `_tag` SET name=?, attributes=? WHERE id=?
+AND NOT EXISTS (SELECT 1 FROM `_category` WHERE name = ?)
+SQL;
+
 		$stm = $this->pdo->prepare($sql);
 
 		$valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, 63, 'UTF-8');
@@ -149,7 +157,11 @@ class FreshRSS_TagDAO extends Minz_ModelPdo implements FreshRSS_Searchable {
 	}
 
 	public function updateEntryTag($oldTagId, $newTagId) {
-		$sql = 'DELETE FROM `_entrytag` WHERE EXISTS (SELECT 1 FROM `_entrytag` AS e WHERE e.id_entry = `_entrytag`.id_entry AND e.id_tag = ? AND `_entrytag`.id_tag = ?)';
+		$sql = <<<'SQL'
+DELETE FROM `_entrytag` WHERE EXISTS (
+	SELECT 1 FROM `_entrytag` AS e
+	WHERE e.id_entry = `_entrytag`.id_entry AND e.id_tag = ? AND `_entrytag`.id_tag = ?)
+SQL;
 		$stm = $this->pdo->prepare($sql);
 
 		if (!($stm && $stm->execute([$newTagId, $oldTagId]))) {

+ 6 - 6
app/Models/UserQuery.php

@@ -59,12 +59,12 @@ class FreshRSS_UserQuery {
 	 */
 	public function toArray() {
 		return array_filter(array(
-		    'get' => $this->get,
-		    'name' => $this->name,
-		    'order' => $this->order,
-		    'search' => $this->search->__toString(),
-		    'state' => $this->state,
-		    'url' => $this->url,
+			'get' => $this->get,
+			'name' => $this->name,
+			'order' => $this->order,
+			'search' => $this->search->__toString(),
+			'state' => $this->state,
+			'url' => $this->url,
 		));
 	}
 

+ 32 - 19
app/install.php

@@ -104,9 +104,9 @@ function saveStep2() {
 				]);
 		} else {
 			if (empty($_POST['type']) ||
-			    empty($_POST['host']) ||
-			    empty($_POST['user']) ||
-			    empty($_POST['base'])) {
+				empty($_POST['host']) ||
+				empty($_POST['user']) ||
+				empty($_POST['base'])) {
 				Minz_Session::_param('bd_error', 'Missing parameters!');
 			}
 			Minz_Session::_params([
@@ -336,7 +336,7 @@ function printStep0() {
 ?>
 	<?php if ($s0['all'] === 'ok') { ?>
 	<p class="alert alert-success"><span class="alert-head"><?= _t('gen.short.ok') ?></span> <?= _t('install.language.defined') ?></p>
-	<?php } else if (!empty($_POST) && $s0['sessionWorking'] !== 'ok') { ?>
+	<?php } elseif (!empty($_POST) && $s0['sessionWorking'] !== 'ok') { ?>
 	<p class="alert alert-error"><span class="alert-head"><?= _t('gen.short.damn') ?></span> <?= _t('install.session.nok') ?></p>
 	<?php } ?>
 
@@ -426,7 +426,8 @@ function printStep1() {
 	<form action="index.php?step=1" method="post">
 		<input type="hidden" name="freshrss-keep-install" value="1" />
 		<button type="submit" class="btn btn-important next-step" tabindex="1" ><?= _t('install.action.keep_install') ?></button>
-		<a class="btn btn-attention next-step confirm" data-str-confirm="<?= _t('install.js.confirm_reinstall') ?>" href="?step=2" tabindex="2" ><?= _t('install.action.reinstall') ?></a>
+		<a class="btn btn-attention next-step confirm" data-str-confirm="<?= _t('install.js.confirm_reinstall') ?>"
+			href="?step=2" tabindex="2" ><?= _t('install.action.reinstall') ?></a>
 	</form>
 
 	<?php } elseif ($res['all'] == 'ok') { ?>
@@ -443,7 +444,8 @@ function printStep2() {
 	<?php $s2 = checkStep2(); if ($s2['all'] == 'ok') { ?>
 	<p class="alert alert-success"><span class="alert-head"><?= _t('gen.short.ok') ?></span> <?= _t('install.bdd.conf.ok') ?></p>
 	<?php } elseif ($s2['conn'] == 'ko') { ?>
-	<p class="alert alert-error"><span class="alert-head"><?= _t('gen.short.damn') ?></span> <?= _t('install.bdd.conf.ko'),(empty($_SESSION['bd_error']) ? '' : ' : ' . $_SESSION['bd_error']) ?></p>
+	<p class="alert alert-error"><span class="alert-head"><?= _t('gen.short.damn') ?></span> <?= _t('install.bdd.conf.ko'),
+		(empty($_SESSION['bd_error']) ? '' : ' : ' . $_SESSION['bd_error']) ?></p>
 	<?php } ?>
 
 	<form action="index.php?step=2" method="post" autocomplete="off">
@@ -454,19 +456,19 @@ function printStep2() {
 				<select name="type" id="type" tabindex="1">
 				<?php if (extension_loaded('pdo_sqlite')) {?>
 				<option value="sqlite"
-					<?php echo(isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'sqlite') ? 'selected="selected"' : ''; ?>>
+					<?= isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'sqlite' ? 'selected="selected"' : '' ?>>
 					SQLite
 				</option>
 				<?php }?>
 				<?php if (extension_loaded('pdo_mysql')) {?>
 				<option value="mysql"
-					<?php echo(isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'mysql') ? 'selected="selected"' : ''; ?>>
+					<?= isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'mysql' ? 'selected="selected"' : '' ?>>
 					MySQL
 				</option>
 				<?php }?>
 				<?php if (extension_loaded('pdo_pgsql')) {?>
 				<option value="pgsql"
-					<?php echo(isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'pgsql') ? 'selected="selected"' : ''; ?>>
+					<?= isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'pgsql' ? 'selected="selected"' : '' ?>>
 					PostgreSQL
 				</option>
 				<?php }?>
@@ -478,35 +480,40 @@ function printStep2() {
 		<div class="form-group">
 			<label class="group-name" for="host"><?= _t('install.bdd.host') ?></label>
 			<div class="group-controls">
-				<input type="text" id="host" name="host" pattern="[0-9A-Z/a-z_.-]{1,64}(:[0-9]{2,5})?" value="<?= isset($_SESSION['bd_host']) ? $_SESSION['bd_host'] : $system_default_config->db['host'] ?>" tabindex="2" />
+				<input type="text" id="host" name="host" pattern="[0-9A-Z/a-z_.-]{1,64}(:[0-9]{2,5})?" value="<?=
+					isset($_SESSION['bd_host']) ? $_SESSION['bd_host'] : $system_default_config->db['host'] ?>" tabindex="2" />
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="user"><?= _t('install.bdd.username') ?></label>
 			<div class="group-controls">
-				<input type="text" id="user" name="user" maxlength="64" pattern="[0-9A-Za-z@_.-]{1,64}" value="<?= isset($_SESSION['bd_user']) ? $_SESSION['bd_user'] : '' ?>" tabindex="3" />
+				<input type="text" id="user" name="user" maxlength="64" pattern="[0-9A-Za-z@_.-]{1,64}" value="<?=
+					isset($_SESSION['bd_user']) ? $_SESSION['bd_user'] : '' ?>" tabindex="3" />
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="pass"><?= _t('install.bdd.password') ?></label>
 			<div class="group-controls">
-				<input type="password" id="pass" name="pass" value="<?= isset($_SESSION['bd_password']) ? $_SESSION['bd_password'] : '' ?>" tabindex="4" autocomplete="off" />
+				<input type="password" id="pass" name="pass" value="<?=
+					isset($_SESSION['bd_password']) ? $_SESSION['bd_password'] : '' ?>" tabindex="4" autocomplete="off" />
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="base"><?= _t('install.bdd') ?></label>
 			<div class="group-controls">
-				<input type="text" id="base" name="base" maxlength="64" pattern="[0-9A-Za-z_-]{1,64}" value="<?= isset($_SESSION['bd_base']) ? $_SESSION['bd_base'] : '' ?>" tabindex="5" />
+				<input type="text" id="base" name="base" maxlength="64" pattern="[0-9A-Za-z_-]{1,64}" value="<?=
+					isset($_SESSION['bd_base']) ? $_SESSION['bd_base'] : '' ?>" tabindex="5" />
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="prefix"><?= _t('install.bdd.prefix') ?></label>
 			<div class="group-controls">
-				<input type="text" id="prefix" name="prefix" maxlength="16" pattern="[0-9A-Za-z_]{1,16}" value="<?= isset($_SESSION['bd_prefix']) ? $_SESSION['bd_prefix'] : $system_default_config->db['prefix'] ?>" tabindex="6" />
+				<input type="text" id="prefix" name="prefix" maxlength="16" pattern="[0-9A-Za-z_]{1,16}" value="<?=
+					isset($_SESSION['bd_prefix']) ? $_SESSION['bd_prefix'] : $system_default_config->db['prefix'] ?>" tabindex="6" />
 			</div>
 		</div>
 		</div>
@@ -539,7 +546,9 @@ function printStep3() {
 		<div class="form-group">
 			<label class="group-name" for="default_user"><?= _t('install.default_user') ?></label>
 			<div class="group-controls">
-				<input type="text" id="default_user" name="default_user" autocomplete="username" required="required" size="16" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" value="<?= isset($_SESSION['default_user']) ? $_SESSION['default_user'] : '' ?>" placeholder="<?= httpAuthUser() == '' ? 'alice' : httpAuthUser() ?>" tabindex="3" />
+				<input type="text" id="default_user" name="default_user" autocomplete="username" required="required" size="16"
+					pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" value="<?= isset($_SESSION['default_user']) ? $_SESSION['default_user'] : '' ?>"
+					placeholder="<?= httpAuthUser() == '' ? 'alice' : httpAuthUser() ?>" tabindex="3" />
 			</div>
 		</div>
 
@@ -553,9 +562,12 @@ function printStep3() {
 						}
 						$auth_type = isset($_SESSION['auth_type']) ? $_SESSION['auth_type'] : '';
 					?>
-					<option value="form"<?= $auth_type === 'form' || (no_auth($auth_type) && cryptAvailable()) ? ' selected="selected"' : '', cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('install.auth.form') ?></option>
-					<option value="http_auth"<?= $auth_type === 'http_auth' ? ' selected="selected"' : '', httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('install.auth.http') ?>(REMOTE_USER = '<?= httpAuthUser() ?>')</option>
-					<option value="none"<?= $auth_type === 'none' || (no_auth($auth_type) && !cryptAvailable()) ? ' selected="selected"' : '' ?>><?= _t('install.auth.none') ?></option>
+					<option value="form"<?= $auth_type === 'form' || (no_auth($auth_type) && cryptAvailable()) ? ' selected="selected"' : '',
+						cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('install.auth.form') ?></option>
+					<option value="http_auth"<?= $auth_type === 'http_auth' ? ' selected="selected"' : '',
+						httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('install.auth.http') ?>(REMOTE_USER = '<?= httpAuthUser() ?>')</option>
+					<option value="none"<?= $auth_type === 'none' || (no_auth($auth_type) && !cryptAvailable()) ? ' selected="selected"' : ''
+						?>><?= _t('install.auth.none') ?></option>
 				</select>
 			</div>
 		</div>
@@ -564,7 +576,8 @@ function printStep3() {
 			<label class="group-name" for="passwordPlain"><?= _t('install.auth.password_form') ?></label>
 			<div class="group-controls">
 				<div class="stick">
-					<input type="password" id="passwordPlain" name="passwordPlain" pattern=".{7,}" autocomplete="off" <?= $auth_type === 'form' ? ' required="required"' : '' ?> tabindex="5" />
+					<input type="password" id="passwordPlain" name="passwordPlain" pattern=".{7,}"
+						autocomplete="off" <?= $auth_type === 'form' ? ' required="required"' : '' ?> tabindex="5" />
 					<a class="btn toggle-password" data-toggle="passwordPlain"><?= FreshRSS_Themes::icon('key') ?></a>
 				</div>
 				<p class="help"><?= _i('help') ?> <?= _t('install.auth.password_format') ?></p>

+ 4 - 8
app/layout/aside_configure.phtml

@@ -18,8 +18,7 @@
 	<li class="item<?= Minz_Request::actionName() === 'queries' ? ' active' : '' ?>">
 		<a href="<?= _url('configure', 'queries') ?>"><?= _t('gen.menu.queries') ?></a>
 	</li>
-	<li class="item<?php echo Minz_Request::controllerName() === 'user' &&
-	                          Minz_Request::actionName() === 'profile'? ' active' : ''; ?>">
+	<li class="item<?= Minz_Request::controllerName() === 'user' && Minz_Request::actionName() === 'profile' ? ' active' : '' ?>">
 		<a href="<?= _url('user', 'profile') ?>"><?= _t('gen.menu.user_profile') ?></a>
 	</li>
 	<li class="item<?= Minz_Request::controllerName() === 'extension' ? ' active' : '' ?>">
@@ -32,20 +31,17 @@
 	<li class="item<?= Minz_Request::actionName() === 'system' ? ' active' : '' ?>">
 		<a href="<?= _url('configure', 'system') ?>"><?= _t('gen.menu.system') ?></a>
 	</li>
-	<li class="item<?php echo Minz_Request::controllerName() === 'user' &&
-	                          Minz_Request::actionName() === 'manage' ? ' active' : ''; ?>">
+	<li class="item<?= Minz_Request::controllerName() === 'user' && Minz_Request::actionName() === 'manage' ? ' active' : '' ?>">
 		<a href="<?= _url('user', 'manage') ?>"><?= _t('gen.menu.user_management') ?></a>
 	</li>
 	<li class="item<?= Minz_Request::controllerName() === 'auth' ? ' active' : '' ?>">
 		<a href="<?= _url('auth', 'index') ?>"><?= _t('gen.menu.authentication') ?></a>
 	</li>
-	<li class="item<?php echo Minz_Request::controllerName() === 'update' &&
-	                          Minz_Request::actionName() === 'checkInstall' ? ' active' : ''; ?>">
+	<li class="item<?= Minz_Request::controllerName() === 'update' && Minz_Request::actionName() === 'checkInstall' ? ' active' : '' ?>">
 		<a href="<?= _url('update', 'checkInstall') ?>"><?= _t('gen.menu.check_install') ?></a>
 	</li>
 	<?php if (!Minz_Configuration::get('system')->disable_update) { ?>
-	<li class="item<?php echo Minz_Request::controllerName() === 'update' &&
-	                          Minz_Request::actionName() === 'index' ? ' active' : ''; ?>">
+	<li class="item<?= Minz_Request::controllerName() === 'update' && Minz_Request::actionName() === 'index' ? ' active' : '' ?>">
 		<a href="<?= _url('update', 'index') ?>"><?= _t('gen.menu.update') ?></a>
 	</li>
 	<?php } ?>

+ 18 - 10
app/layout/aside_feed.phtml

@@ -27,7 +27,8 @@
 	<ul id="sidebar" class="tree">
 		<li class="tree-folder category all<?= FreshRSS_Context::isCurrentGet('a') ? ' active' : '' ?>">
 			<div class="tree-folder-title">
-				<?= _i('all') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_unread) ?>" href="<?= _url('index', $actual_view) ?>"><?= _t('index.menu.main_stream') ?></a>
+				<?= _i('all') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_unread) ?>" href="<?=
+					_url('index', $actual_view) ?>"><?= _t('index.menu.main_stream') ?></a>
 			</div>
 		</li>
 
@@ -59,7 +60,8 @@
 						<a class="dropdown-toggle"><?= _i('configure') ?></a>
 						<?php /* tag_config_template */ ?>
 					</div>
-					<?= FreshRSS_Themes::alt('label') ?> <a class="item-title" data-unread="<?= format_number($tag->nbUnread()) ?>" href="<?= _url('index', $actual_view, 'get', 't_' . $tag->id()) . $state_filter ?>"><?= $tag->name() ?></a>
+					<?= FreshRSS_Themes::alt('label') ?> <a class="item-title" data-unread="<?= format_number($tag->nbUnread()) ?>" href="<?=
+						_url('index', $actual_view, 'get', 't_' . $tag->id()) . $state_filter ?>"><?= $tag->name() ?></a>
 				</li>
 				<?php endforeach; ?>
 			</ul>
@@ -71,12 +73,15 @@
 				$position = $cat->attributes('position');
 				if (!empty($feeds)) {
 					$c_active = FreshRSS_Context::isCurrentGet('c_' . $cat->id());
-					$c_show = ($c_active && in_array(FreshRSS_Context::$user_conf->display_categories, [ 'active', 'remember' ])) || FreshRSS_Context::$user_conf->display_categories === 'all';
+					$c_show = ($c_active && in_array(FreshRSS_Context::$user_conf->display_categories, [ 'active', 'remember' ]))
+						|| FreshRSS_Context::$user_conf->display_categories === 'all';
 		?>
-		<li id="c_<?= $cat->id() ?>" class="tree-folder category<?= $c_active ? ' active' : '' ?>"<?= null === $position ? '' : "data-position='$position'" ?> data-unread="<?= $cat->nbNotRead() ?>">
+		<li id="c_<?= $cat->id() ?>" class="tree-folder category<?= $c_active ? ' active' : '' ?>"<?=
+			null === $position ? '' : "data-position='$position'" ?> data-unread="<?= $cat->nbNotRead() ?>">
 			<div class="tree-folder-title">
 				<a class="dropdown-toggle" href="#"><?= _i($c_show ? 'up' : 'down') ?></a>
-				<a class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?= format_number($cat->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) ?>"><?= $cat->name() ?></a>
+				<a class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?=
+					format_number($cat->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) ?>"><?= $cat->name() ?></a>
 			</div>
 
 			<ul class="tree-folder-items<?= $c_show ? ' active' : '' ?>">
@@ -84,14 +89,17 @@
 					foreach ($feeds as $feed) {
 						$f_active = FreshRSS_Context::isCurrentGet('f_' . $feed->id());
 				?>
-				<li id="f_<?= $feed->id() ?>" class="item feed<?= $f_active ? ' active' : '', $feed->mute() ? ' mute' : '' ?><?= $feed->inError() ? ' error' : '' ?><?= $feed->nbEntries() <= 0 ? ' empty' : '' ?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>">
+				<li id="f_<?= $feed->id() ?>" class="item feed<?= $f_active ? ' active' : '', $feed->mute() ? ' mute' : '' ?><?=
+					$feed->inError() ? ' error' : '' ?><?= $feed->nbEntries() <= 0 ? ' empty' : ''
+					?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>">
 					<div class="dropdown no-mobile">
 						<div class="dropdown-target"></div>
 						<a class="dropdown-toggle" data-fweb="<?= $feed->website() ?>"><?= _i('configure') ?></a>
 						<?php /* feed_config_template */ ?>
 					</div>
 					<?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
-					<a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'f_' . $feed->id()) ?>"><?= $feed->name() ?></a>
+					<a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?=
+						_url('index', $actual_view, 'get', 'f_' . $feed->id()) ?>"><?= $feed->name() ?></a>
 				</li>
 				<?php } ?>
 			</ul>
@@ -134,9 +142,9 @@
 		<li class="item">
 			<?php $confirm = FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : ''; ?>
 			<button class="read_all as-link <?= $confirm ?>"
-			        form="mark-read-aside"
-			        formaction="<?= _url('entry', 'read', 'get', 'f_------') ?>"
-			        type="submit"><?= _t('gen.action.mark_read') ?></button>
+				form="mark-read-aside"
+				formaction="<?= _url('entry', 'read', 'get', 'f_------') ?>"
+				type="submit"><?= _t('gen.action.mark_read') ?></button>
 		</li>
 		<?php } ?>
 	</ul>

+ 23 - 22
app/layout/nav_menu.phtml

@@ -3,7 +3,7 @@
 ?>
 
 <div class="nav_menu">
-	<?php if ($actual_view === 'normal' || $actual_view === 'reader' ) { ?>
+	<?php if ($actual_view === 'normal' || $actual_view === 'reader') { ?>
 	<a class="btn toggle_aside" href="#aside_feed"><?= _i('category') ?></a>
 	<?php } ?>
 
@@ -23,10 +23,10 @@
 				$url_state['params']['state'] = FreshRSS_Context::getRevertState($state);
 		?>
 		<a id="toggle-<?= $state_str ?>"
-		   class="btn <?= $state_enabled ? 'active' : '' ?>"
-		   role="checkbox" aria-checked="<?= $state_enabled ? 'true' : 'false' ?>"
-		   title="<?= _t('index.menu.' . $state_str) ?>"
-		   href="<?= Minz_Url::display($url_state) ?>"><?= _i($state_str) ?></a>
+			class="btn <?= $state_enabled ? 'active' : '' ?>"
+			role="checkbox" aria-checked="<?= $state_enabled ? 'true' : 'false' ?>"
+			title="<?= _t('index.menu.' . $state_str) ?>"
+			href="<?= Minz_Url::display($url_state) ?>"><?= _i($state_str) ?></a>
 		<?php } ?>
 
 		<div class="dropdown">
@@ -92,9 +92,9 @@
 		<form id="mark-read-menu" method="post">
 		<?php $confirm = FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : ''; ?>
 		<button class="read_all btn <?= $confirm ?>"
-		        form="mark-read-menu"
-		        formaction="<?= Minz_Url::display($mark_read_url) ?>"
-		        type="submit"><?= _t('gen.action.mark_read') ?></button>
+			form="mark-read-menu"
+			formaction="<?= Minz_Url::display($mark_read_url) ?>"
+			type="submit"><?= _t('gen.action.mark_read') ?></button>
 
 		<div class="dropdown">
 			<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" />
@@ -106,9 +106,9 @@
 
 				<li class="item">
 					<button class="as-link <?= $confirm ?>"
-					        form="mark-read-menu"
-					        formaction="<?= Minz_Url::display($mark_read_url) ?>"
-					        type="submit"><?= $string_mark ?></button>
+						form="mark-read-menu"
+						formaction="<?= Minz_Url::display($mark_read_url) ?>"
+						type="submit"><?= $string_mark ?></button>
 				</li>
 				<li class="separator"></li>
 <?php
@@ -121,22 +121,22 @@
 ?>
 				<li class="item">
 					<button class="as-link <?= $confirm ?>"
-					        form="mark-read-menu"
-					        formaction="<?= Minz_Url::display($mark_before_today) ?>"
-					        type="submit"><?= _t('index.menu.before_one_day') ?></button>
+						form="mark-read-menu"
+						formaction="<?= Minz_Url::display($mark_before_today) ?>"
+						type="submit"><?= _t('index.menu.before_one_day') ?></button>
 				</li>
 				<li class="item">
 					<button class="as-link <?= $confirm ?>"
-					        form="mark-read-menu"
-					        formaction="<?= Minz_Url::display($mark_before_one_week) ?>"
-					        type="submit"><?= _t('index.menu.before_one_week') ?></button>
+						form="mark-read-menu"
+						formaction="<?= Minz_Url::display($mark_before_one_week) ?>"
+						type="submit"><?= _t('index.menu.before_one_week') ?></button>
 				</li>
 				<li class="separator"></li>
 				<li class="item">
 					<button class="as-link <?= $mark_unread_enabled ? $confirm : '" disabled="disabled' ?>"
-					        form="mark-read-menu"
-					        formaction="<?= Minz_Url::display($mark_unread_url) ?>"
-					        type="submit"><?= $string_unmark ?></button>
+						form="mark-read-menu"
+						formaction="<?= Minz_Url::display($mark_unread_url) ?>"
+						type="submit"><?= $string_unmark ?></button>
 				</li>
 			</ul>
 		</div>
@@ -153,7 +153,8 @@
 		/** @var FreshRSS_ReadingMode $mode */
 		foreach ($readingModes as $mode) {
 			?>
-			<a class="<?= $mode->getId() ?> btn <?php if ($mode->isActive()) { echo 'active'; } ?>" title="<?= $mode->getTitle() ?>" href="<?= Minz_Url::display($mode->getUrlParams()) ?>">
+			<a class="<?= $mode->getId() ?> btn <?php if ($mode->isActive()) { echo 'active'; } ?>" title="<?=
+				$mode->getTitle() ?>" href="<?= Minz_Url::display($mode->getUrlParams()) ?>">
 				<?= $mode->getName() ?>
 			</a>
 			<?php
@@ -178,7 +179,7 @@
 	<?php $nav_menu_hooks = Minz_ExtensionManager::callHook('nav_menu'); ?>
 	<?php if ($nav_menu_hooks != '') { ?>
 	<div class="stick" id="nav_menu_hooks">
-		<?php echo $nav_menu_hooks; ?>
+		<?= $nav_menu_hooks ?>
 	</div>
 	<?php } ?>
 

+ 2 - 1
app/views/auth/formLogin.phtml

@@ -10,7 +10,8 @@
 
 		<div class="form-group">
 			<label for="username"><?= _t('gen.auth.username') ?></label>
-			<input type="text" id="username" name="username" autocomplete="username" size="16" required="required" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autofocus="autofocus" autocapitalize="off" />
+			<input type="text" id="username" name="username" autocomplete="username" size="16" required="required"
+				pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autofocus="autofocus" autocapitalize="off" />
 		</div>
 
 		<div class="form-group">

+ 16 - 10
app/views/auth/index.phtml

@@ -14,8 +14,10 @@
 					<?php if (!in_array(FreshRSS_Context::$system_conf->auth_type, array('form', 'http_auth', 'none'))) { ?>
 						<option selected="selected"></option>
 					<?php } ?>
-					<option value="form"<?= FreshRSS_Context::$system_conf->auth_type === 'form' ? ' selected="selected"' : '', cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('admin.auth.form') ?></option>
-					<option value="http_auth"<?= FreshRSS_Context::$system_conf->auth_type === 'http_auth' ? ' selected="selected"' : '', httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('admin.auth.http') ?> (REMOTE_USER = '<?= httpAuthUser() ?>')</option>
+					<option value="form"<?= FreshRSS_Context::$system_conf->auth_type === 'form' ? ' selected="selected"' : '',
+						cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('admin.auth.form') ?></option>
+					<option value="http_auth"<?= FreshRSS_Context::$system_conf->auth_type === 'http_auth' ? ' selected="selected"' : '',
+						httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('admin.auth.http') ?> (REMOTE_USER = '<?= httpAuthUser() ?>')</option>
 					<option value="none"<?= FreshRSS_Context::$system_conf->auth_type === 'none' ? ' selected="selected"' : '' ?>><?= _t('admin.auth.none') ?></option>
 				</select>
 			</div>
@@ -24,8 +26,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="anon_access">
-					<input type="checkbox" name="anon_access" id="anon_access" value="1"<?php echo FreshRSS_Context::$system_conf->allow_anonymous ? ' checked="checked"' : '',
-						FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous ?>"/>
+					<input type="checkbox" name="anon_access" id="anon_access" value="1"<?=
+						FreshRSS_Context::$system_conf->allow_anonymous ? ' checked="checked"' : '',
+						FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous ?>"/>
 					<?= _t('admin.auth.allow_anonymous', FreshRSS_Context::$system_conf->default_user) ?>
 				</label>
 			</div>
@@ -34,8 +37,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="anon_refresh">
-					<input type="checkbox" name="anon_refresh" id="anon_refresh" value="1"<?php echo FreshRSS_Context::$system_conf->allow_anonymous_refresh ? ' checked="checked"' : '',
-						FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous_refresh ?>"/>
+					<input type="checkbox" name="anon_refresh" id="anon_refresh" value="1"<?=
+						FreshRSS_Context::$system_conf->allow_anonymous_refresh ? ' checked="checked"' : '',
+						FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous_refresh ?>"/>
 					<?= _t('admin.auth.allow_anonymous_refresh') ?>
 				</label>
 			</div>
@@ -44,8 +48,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="unsafe_autologin">
-					<input type="checkbox" name="unsafe_autologin" id="unsafe_autologin" value="1"<?php echo FreshRSS_Context::$system_conf->unsafe_autologin_enabled ? ' checked="checked"' : '',
-						FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->unsafe_autologin_enabled ?>"/>
+					<input type="checkbox" name="unsafe_autologin" id="unsafe_autologin" value="1"<?=
+						FreshRSS_Context::$system_conf->unsafe_autologin_enabled ? ' checked="checked"' : '',
+						FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->unsafe_autologin_enabled ?>"/>
 					<?= _t('admin.auth.unsafe_autologin') ?>
 					<kbd><?= Minz_Url::display(array('c' => 'auth', 'a' => 'login', 'params' => array('u' => 'alice', 'p' => '1234')), 'html', true) ?></kbd>
 				</label>
@@ -55,8 +60,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="api_enabled">
-					<input type="checkbox" name="api_enabled" id="api_enabled" value="1"<?php echo FreshRSS_Context::$system_conf->api_enabled ? ' checked="checked"' : '',
-						FreshRSS_Auth::accessNeedsLogin() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->api_enabled ?>"/>
+					<input type="checkbox" name="api_enabled" id="api_enabled" value="1"<?=
+						FreshRSS_Context::$system_conf->api_enabled ? ' checked="checked"' : '',
+						FreshRSS_Auth::accessNeedsLogin() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->api_enabled ?>"/>
 					<?= _t('admin.auth.api_enabled') ?>
 				</label>
 			</div>

+ 2 - 1
app/views/auth/register.phtml

@@ -16,7 +16,8 @@
 
 		<div class="form-group">
 			<label for="new_user_name"><?= _t('gen.auth.username') ?></label>
-			<input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autocapitalize="off" />
+			<input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off"
+				pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autocapitalize="off" />
 			<p class="help"><?= _i('help') ?> <?= _t('gen.auth.username.format') ?></p>
 		</div>
 

+ 26 - 12
app/views/configure/archiving.phtml

@@ -14,17 +14,18 @@
 				<select class="number" name="ttl_default" id="ttl_default" required="required" data-leave-validation="<?= FreshRSS_Context::$user_conf->ttl_default ?>"><?php
 					$found = false;
 					foreach (array(1200 => '20min', 1500 => '25min', 1800 => '30min', 2700 => '45min',
-					                3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h',
-					                36000 => '10h', 43200 => '12h', 64800 => '18h',
-					                86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d',
-					                604800 => '1wk') as $v => $t) {
+							3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h',
+							36000 => '10h', 43200 => '12h', 64800 => '18h',
+							86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d',
+							604800 => '1wk') as $v => $t) {
 						echo '<option value="' . $v . (FreshRSS_Context::$user_conf->ttl_default == $v ? '" selected="selected' : '') . '">' . $t . '</option>';
 						if (FreshRSS_Context::$user_conf->ttl_default == $v) {
 							$found = true;
 						}
 					}
 					if (!$found) {
-						echo '<option value="' . intval(FreshRSS_Context::$user_conf->ttl_default) . '" selected="selected">' . intval(FreshRSS_Context::$user_conf->ttl_default) . 's</option>';
+						echo '<option value="' . intval(FreshRSS_Context::$user_conf->ttl_default) . '" selected="selected">'
+							. intval(FreshRSS_Context::$user_conf->ttl_default) . 's</option>';
 					}
 				?></select> (<?= _t('gen.short.by_default') ?>)
 			</div>
@@ -38,7 +39,9 @@
 			<label class="group-name"><?= _t('conf.archiving.policy') ?><br /><small>(<?= _t('gen.short.by_default') ?>)</small></label>
 			<div class="group-controls">
 				<label class="checkbox" for="enable_keep_max">
-					<input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? '' : ' checked="checked"' ?> data-leave-validation="<?= empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? 0 : 1 ?>"/>
+					<input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?=
+						empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? '' : ' checked="checked"' ?>
+						data-leave-validation="<?= empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? 0 : 1 ?>"/>
 					<?= _t('conf.archiving.keep_max') ?>
 					<?php $keepMax = empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? 200 : FreshRSS_Context::$user_conf->archiving['keep_max']; ?>
 					<input type="number" id="keep_max" name="keep_max" min="0" value="<?= $keepMax ?>" data-leave-validation="<?= $keepMax ?>"/>
@@ -49,9 +52,12 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="enable_keep_period">
-					<input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?=
+						FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_period') ?>
-					<input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>" data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>"/>
+					<input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>"
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>"/>
 					<select class="number" name="keep_period_unit" id="keep_period_unit" data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['keep_period_unit'] ?>">
 						<option></option>
 						<option value="P1Y" <?= 'P1Y' === FreshRSS_Context::$user_conf->volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.years') ?></option>
@@ -68,7 +74,9 @@
 			<label class="group-name"><?= _t('conf.archiving.exception') ?><br /><small>(<?= _t('gen.short.by_default') ?>)</small></label>
 			<div class="group-controls">
 				<label class="checkbox" for="keep_favourites">
-					<input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?=
+						FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_favourites') ?>
 				</label>
 			</div>
@@ -77,7 +85,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="keep_labels">
-					<input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?=
+						FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_labels') ?>
 				</label>
 			</div>
@@ -86,7 +96,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="keep_unreads">
-					<input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?=
+						FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_unreads') ?>
 				</label>
 			</div>
@@ -95,7 +107,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label for="keep_min_default"><?= _t('conf.archiving.keep_min_by_feed') ?>
-					<input type="number" id="keep_min_default" name="keep_min_default" min="0" value="<?= FreshRSS_Context::$user_conf->archiving['keep_min'] ?>" data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_min'] ?>">
+					<input type="number" id="keep_min_default" name="keep_min_default" min="0" value="<?=
+						FreshRSS_Context::$user_conf->archiving['keep_min'] ?>"
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_min'] ?>">
 				</label>
 			</div>
 		</div>

+ 45 - 18
app/views/configure/display.phtml

@@ -25,7 +25,9 @@
 				<ul class="slides">
 					<?php $slides = count($this->themes); $i = 1; ?>
 					<?php foreach($this->themes as $theme) { ?>
-						<input type="radio" name="theme" id="img-<?= $i ?>" <?php if (FreshRSS_Context::$user_conf->theme === $theme['id']) {echo "checked";}?> value="<?= $theme['id'] ?>" data-leave-validation="<?= (FreshRSS_Context::$user_conf->theme === $theme['id']) ? 1 : 0 ?>"/>
+						<input type="radio" name="theme" id="img-<?= $i ?>" <?=
+							FreshRSS_Context::$user_conf->theme === $theme['id'] ? 'checked="checked"' : '' ?> value="<?= $theme['id'] ?>"
+							data-leave-validation="<?= (FreshRSS_Context::$user_conf->theme === $theme['id']) ? 1 : 0 ?>"/>
 						<li class="slide-container">
 							<div class="slide">
 								<img src="<?= Minz_Url::display('/themes/' . $theme['id'] . '/thumbs/original.png') ?>"/>
@@ -55,16 +57,16 @@
 			<label class="group-name" for="content_width"><?= _t('conf.display.width.content') ?></label>
 			<div class="group-controls">
 				<select name="content_width" id="content_width" required="" data-leave-validation="<?= $width ?>">
-					<option value="thin" <?= $width === 'thin'? 'selected="selected"' : '' ?>>
+					<option value="thin" <?= $width === 'thin' ? 'selected="selected"' : '' ?>>
 						<?= _t('conf.display.width.thin') ?>
 					</option>
-					<option value="medium" <?= $width === 'medium'? 'selected="selected"' : '' ?>>
+					<option value="medium" <?= $width === 'medium' ? 'selected="selected"' : '' ?>>
 						<?= _t('conf.display.width.medium') ?>
 					</option>
-					<option value="large" <?= $width === 'large'? 'selected="selected"' : '' ?>>
+					<option value="large" <?= $width === 'large' ? 'selected="selected"' : '' ?>>
 						<?= _t('conf.display.width.large') ?>
 					</option>
-					<option value="no_limit" <?= $width === 'no_limit'? 'selected="selected"' : '' ?>>
+					<option value="no_limit" <?= $width === 'no_limit' ? 'selected="selected"' : '' ?>>
 						<?= _t('conf.display.width.no_limit') ?>
 					</option>
 				</select>
@@ -89,22 +91,43 @@
 				<tbody>
 					<tr>
 						<th><?= _t('conf.display.icon.top_line') ?></th>
-						<td><input type="checkbox" name="topline_read" value="1"<?= FreshRSS_Context::$user_conf->topline_read ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_read ?>"/></td>
-						<td><input type="checkbox" name="topline_favorite" value="1"<?= FreshRSS_Context::$user_conf->topline_favorite ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_favorite ?>"/></td>
+						<td><input type="checkbox" name="topline_read" value="1"<?=
+							FreshRSS_Context::$user_conf->topline_read ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_read ?>"/></td>
+						<td><input type="checkbox" name="topline_favorite" value="1"<?=
+							FreshRSS_Context::$user_conf->topline_favorite ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_favorite ?>"/></td>
 						<td><input type="checkbox" disabled="disabled" /></td>
 						<td><input type="checkbox" disabled="disabled" /></td>
-						<td><input type="checkbox" name="topline_display_authors" value="1"<?= FreshRSS_Context::$user_conf->topline_display_authors ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_display_authors ?>"/></td>
-						<td><input type="checkbox" name="topline_date" value="1"<?= FreshRSS_Context::$user_conf->topline_date ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_date ?>"/></td>
-						<td><input type="checkbox" name="topline_link" value="1"<?= FreshRSS_Context::$user_conf->topline_link ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_link ?>"/></td>
+						<td><input type="checkbox" name="topline_display_authors" value="1"<?=
+							FreshRSS_Context::$user_conf->topline_display_authors ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_display_authors ?>"/></td>
+						<td><input type="checkbox" name="topline_date" value="1"<?=
+							FreshRSS_Context::$user_conf->topline_date ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_date ?>"/></td>
+						<td><input type="checkbox" name="topline_link" value="1"<?= FreshRSS_Context::$user_conf->topline_link ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_link ?>"/></td>
 					</tr><tr>
 						<th><?= _t('conf.display.icon.bottom_line') ?></th>
-						<td><input type="checkbox" name="bottomline_read" value="1"<?= FreshRSS_Context::$user_conf->bottomline_read ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_read ?>"/></td>
-						<td><input type="checkbox" name="bottomline_favorite" value="1"<?= FreshRSS_Context::$user_conf->bottomline_favorite ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_favorite ?>"/></td>
-						<td><input type="checkbox" name="bottomline_tags" value="1"<?= FreshRSS_Context::$user_conf->bottomline_tags ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_tags ?>"/></td>
-						<td><input type="checkbox" name="bottomline_sharing" value="1"<?= FreshRSS_Context::$user_conf->bottomline_sharing ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_sharing ?>"/></td>
+						<td><input type="checkbox" name="bottomline_read" value="1"<?=
+							FreshRSS_Context::$user_conf->bottomline_read ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_read ?>"/></td>
+						<td><input type="checkbox" name="bottomline_favorite" value="1"<?=
+							FreshRSS_Context::$user_conf->bottomline_favorite ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_favorite ?>"/></td>
+						<td><input type="checkbox" name="bottomline_tags" value="1"<?=
+							FreshRSS_Context::$user_conf->bottomline_tags ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_tags ?>"/></td>
+						<td><input type="checkbox" name="bottomline_sharing" value="1"<?=
+							FreshRSS_Context::$user_conf->bottomline_sharing ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_sharing ?>"/></td>
 						<td><input type="checkbox" disabled="disabled" /></td>
-						<td><input type="checkbox" name="bottomline_date" value="1"<?= FreshRSS_Context::$user_conf->bottomline_date ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_date ?>"/></td>
-						<td><input type="checkbox" name="bottomline_link" value="1"<?= FreshRSS_Context::$user_conf->bottomline_link ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_link ?>"/></td>
+						<td><input type="checkbox" name="bottomline_date" value="1"<?=
+							FreshRSS_Context::$user_conf->bottomline_date ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_date ?>"/></td>
+						<td><input type="checkbox" name="bottomline_link" value="1"<?=
+							FreshRSS_Context::$user_conf->bottomline_link ? ' checked="checked"' : '' ?>
+							data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_link ?>"/></td>
 					</tr>
 				</tbody>
 			</table><br />
@@ -113,14 +136,18 @@
 		<div class="form-group">
 			<label class="group-name" for="html5_notif_timeout"><?= _t('conf.display.notif_html5.timeout') ?></label>
 			<div class="group-controls">
-				<input type="number" id="html5_notif_timeout" name="html5_notif_timeout" value="<?= FreshRSS_Context::$user_conf->html5_notif_timeout ?>" data-leave-validation="<?= FreshRSS_Context::$user_conf->html5_notif_timeout ?>"/> <?= _t('conf.display.notif_html5.seconds') ?>
+				<input type="number" id="html5_notif_timeout" name="html5_notif_timeout" value="<?=
+					FreshRSS_Context::$user_conf->html5_notif_timeout ?>"
+					data-leave-validation="<?= FreshRSS_Context::$user_conf->html5_notif_timeout ?>"/> <?= _t('conf.display.notif_html5.seconds') ?>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="show_nav_buttons">
-					<input type="checkbox" name="show_nav_buttons" id="show_nav_buttons" value="1"<?= FreshRSS_Context::$user_conf->show_nav_buttons ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->show_nav_buttons ?>"/>
+					<input type="checkbox" name="show_nav_buttons" id="show_nav_buttons" value="1"<?=
+						FreshRSS_Context::$user_conf->show_nav_buttons ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->show_nav_buttons ?>"/>
 					<?= _t('conf.display.show_nav_buttons') ?>
 				</label>
 			</div>

+ 12 - 6
app/views/configure/integration.phtml

@@ -4,8 +4,10 @@
 	<a href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
 
 	<form method="post" action="<?= _url('configure', 'integration') ?>"
-		data-simple='<div class="form-group" id="group-share-##key##"><label class="group-name">##label##</label><div class="group-controls"><div class="stick"><input type="text" id="share_##key##_name" name="share[##key##][name]" class="extend" value="##label##" placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" />
-			<input type="url" id="share_##key##_url" name="share[##key##][url]" class="extend" value="" placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled /><a href="#" class="remove btn btn-attention"><?= _i('close') ?></a></div>
+		data-simple='<div class="form-group" id="group-share-##key##"><label class="group-name">##label##</label><div class="group-controls"><div class="stick">
+			<input type="text" id="share_##key##_name" name="share[##key##][name]" class="extend" value="##label##" placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" />
+			<input type="url" id="share_##key##_url" name="share[##key##][url]" class="extend" value="" placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled />
+			<a href="#" class="remove btn btn-attention"><?= _i('close') ?></a></div>
 			<input type="hidden" id="share_##key##_type" name="share[##key##][type]" value="##type##" /></div></div>'
 		data-advanced='<div class="form-group" id="group-share-##key##"><label class="group-name">##label##</label><div class="group-controls">
 			<input type="hidden" id="share_##key##_type" name="share[##key##][type]" value="##type##" />
@@ -33,11 +35,14 @@
 					<input type='hidden' id='share_<?= $key ?>_method' name="share[<?= $key ?>][method]" value='<?= $share->method() ?>' />
 					<input type='hidden' id='share_<?= $key ?>_field' name="share[<?= $key ?>][field]" value='<?= $share->field() ?>' />
 					<div class="stick">
-						<input type="text" id="share_<?= $key ?>_name" name="share[<?= $key ?>][name]" class="extend" value="<?= $share->name() ?>" placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" data-leave-validation="<?= $share->name() ?>"/>
+						<input type="text" id="share_<?= $key ?>_name" name="share[<?= $key ?>][name]" class="extend" value="<?= $share->name() ?>"
+							placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" data-leave-validation="<?= $share->name() ?>"/>
 					<?php if ($share->formType() === 'advanced') { ?>
-						<input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>" placeholder="<?= _t('conf.sharing.share_url') ?>" size="64" data-leave-validation="<?= $share->baseUrl() ?>"/>
+						<input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>"
+							placeholder="<?= _t('conf.sharing.share_url') ?>" size="64" data-leave-validation="<?= $share->baseUrl() ?>"/>
 					<?php } else { ?>
-						<input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>" placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled/>
+						<input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>"
+							placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled="disabled" />
 					<?php } ?>
 						<a href='#' class='remove btn btn-attention' title="<?= _t('conf.sharing.remove') ?>"><?= _i('close') ?></a>
 					</div>
@@ -52,7 +57,8 @@
 			<div class="group-controls">
 				<select>
 					<?php foreach (FreshRSS_Share::enum() as $share) { ?>
-					<option value='<?= $share->type() ?>' data-form='<?= $share->formType() ?>' data-help='<?= $share->help() ?>' data-method='<?= $share->method() ?>' data-field='<?= $share->field() ?>'>
+					<option value='<?= $share->type() ?>' data-form='<?= $share->formType() ?>' data-help='<?= $share->help() ?>'
+						data-method='<?= $share->method() ?>' data-field='<?= $share->field() ?>'>
 						<?= $share->name(true) ?>
 					</option>
 					<?php } ?>

+ 56 - 20
app/views/configure/reading.phtml

@@ -10,7 +10,9 @@
 		<div class="form-group">
 			<label class="group-name" for="posts_per_page"><?= _t('conf.reading.articles_per_page') ?></label>
 			<div class="group-controls">
-				<input type="number" id="posts_per_page" name="posts_per_page" value="<?= FreshRSS_Context::$user_conf->posts_per_page ?>" min="5" max="500" data-leave-validation="<?= FreshRSS_Context::$user_conf->posts_per_page ?>"/>
+				<input type="number" id="posts_per_page" name="posts_per_page" value="<?=
+					FreshRSS_Context::$user_conf->posts_per_page ?>" min="5" max="500"
+					data-leave-validation="<?= FreshRSS_Context::$user_conf->posts_per_page ?>"/>
 				<p class="help"><?= _i('help') ?> <?= _t('conf.reading.number_divided_when_reader') ?></p>
 			</div>
 		</div>
@@ -51,10 +53,14 @@
 			<label class="group-name" for="default_view"><?= _t('conf.reading.display_categories_unfolded') ?></label>
 			<div class="group-controls">
 				<select name="display_categories" id="display_categories" data-leave-validation="<?= FreshRSS_Context::$user_conf->display_categories ?>">
-					<option value="active"<?= FreshRSS_Context::$user_conf->display_categories === 'active' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.active_category') ?></option>
-					<option value="remember"<?= FreshRSS_Context::$user_conf->display_categories === 'remember' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.remember_categories') ?></option>
-					<option value="all"<?= FreshRSS_Context::$user_conf->display_categories === 'all' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.all_categories') ?></option>
-					<option value="none"<?= FreshRSS_Context::$user_conf->display_categories === 'none' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.no_category') ?></option>
+					<option value="active"<?= FreshRSS_Context::$user_conf->display_categories === 'active' ? ' selected="selected"' : '' ?>><?=
+						_t('conf.reading.show.active_category') ?></option>
+					<option value="remember"<?= FreshRSS_Context::$user_conf->display_categories === 'remember' ? ' selected="selected"' : '' ?>><?=
+						_t('conf.reading.show.remember_categories') ?></option>
+					<option value="all"<?= FreshRSS_Context::$user_conf->display_categories === 'all' ? ' selected="selected"' : '' ?>><?=
+						_t('conf.reading.show.all_categories') ?></option>
+					<option value="none"<?= FreshRSS_Context::$user_conf->display_categories === 'none' ? ' selected="selected"' : '' ?>><?=
+						_t('conf.reading.show.no_category') ?></option>
 				</select>
 			</div>
 		</div>
@@ -62,7 +68,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="hide_read_feeds">
-					<input type="checkbox" name="hide_read_feeds" id="hide_read_feeds" value="1"<?= FreshRSS_Context::$user_conf->hide_read_feeds ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->hide_read_feeds ?>"/>
+					<input type="checkbox" name="hide_read_feeds" id="hide_read_feeds" value="1"<?=
+						FreshRSS_Context::$user_conf->hide_read_feeds ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->hide_read_feeds ?>"/>
 					<?= _t('conf.reading.hide_read_feeds') ?>
 				</label>
 			</div>
@@ -71,7 +79,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="show_fav_unread">
-					<input type="checkbox" name="show_fav_unread" id="show_fav_unread" value="1"<?= FreshRSS_Context::$user_conf->show_fav_unread ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->show_fav_unread ?>"/>
+					<input type="checkbox" name="show_fav_unread" id="show_fav_unread" value="1"<?=
+						FreshRSS_Context::$user_conf->show_fav_unread ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->show_fav_unread ?>"/>
 					<?= _t('conf.reading.always_show_favorites') ?>
 					<p class="help"><?= _i('help') ?> <?= _t('conf.reading.show_fav_unread_help') ?></p>
 				</label>
@@ -81,7 +91,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="display_posts">
-					<input type="checkbox" name="display_posts" id="display_posts" value="1"<?= FreshRSS_Context::$user_conf->display_posts ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->display_posts ?>"/>
+					<input type="checkbox" name="display_posts" id="display_posts" value="1"<?=
+						FreshRSS_Context::$user_conf->display_posts ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->display_posts ?>"/>
 					<?= _t('conf.reading.display_articles_unfolded') ?>
 					<noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
 				</label>
@@ -91,7 +103,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="sticky_post">
-					<input type="checkbox" name="sticky_post" id="sticky_post" value="1"<?= FreshRSS_Context::$user_conf->sticky_post ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->sticky_post ?>"/>
+					<input type="checkbox" name="sticky_post" id="sticky_post" value="1"<?=
+						FreshRSS_Context::$user_conf->sticky_post ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->sticky_post ?>"/>
 					<?= _t('conf.reading.sticky_post') ?>
 					<noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
 				</label>
@@ -101,7 +115,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="auto_load_more">
-					<input type="checkbox" name="auto_load_more" id="auto_load_more" value="1"<?= FreshRSS_Context::$user_conf->auto_load_more ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_load_more ?>"/>
+					<input type="checkbox" name="auto_load_more" id="auto_load_more" value="1"<?=
+						FreshRSS_Context::$user_conf->auto_load_more ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_load_more ?>"/>
 					<?= _t('conf.reading.auto_load_more') ?>
 					<noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
 				</label>
@@ -111,7 +127,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="lazyload">
-					<input type="checkbox" name="lazyload" id="lazyload" value="1"<?= FreshRSS_Context::$user_conf->lazyload ? ' checked="checked"' : '' ?>  data-leave-validation="<?= FreshRSS_Context::$user_conf->lazyload ?>"/>
+					<input type="checkbox" name="lazyload" id="lazyload" value="1"<?=
+						FreshRSS_Context::$user_conf->lazyload ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->lazyload ?>"/>
 					<?= _t('conf.reading.img_with_lazyload') ?>
 					<noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
 				</label>
@@ -121,7 +139,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="sides_close_article">
-					<input type="checkbox" name="sides_close_article" id="sides_close_article" value="1"<?= FreshRSS_Context::$user_conf->sides_close_article ? ' checked="checked"' : '' ?>  data-leave-validation="<?= FreshRSS_Context::$user_conf->sides_close_article ?>"/>
+					<input type="checkbox" name="sides_close_article" id="sides_close_article" value="1"<?=
+						FreshRSS_Context::$user_conf->sides_close_article ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->sides_close_article ?>"/>
 					<?= _t('conf.reading.sides_close_article') ?>
 					<noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
 				</label>
@@ -131,7 +151,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="reading_confirm">
-					<input type="checkbox" name="reading_confirm" id="reading_confirm" value="1"<?= FreshRSS_Context::$user_conf->reading_confirm ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->reading_confirm ?>"/>
+					<input type="checkbox" name="reading_confirm" id="reading_confirm" value="1"<?=
+						FreshRSS_Context::$user_conf->reading_confirm ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->reading_confirm ?>"/>
 					<?= _t('conf.reading.confirm_enabled') ?>
 					<noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
 				</label>
@@ -141,7 +163,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="auto_remove_article">
-					<input type="checkbox" name="auto_remove_article" id="auto_remove_article" value="1"<?= FreshRSS_Context::$user_conf->auto_remove_article ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_remove_article ?>"/>
+					<input type="checkbox" name="auto_remove_article" id="auto_remove_article" value="1"<?=
+						FreshRSS_Context::$user_conf->auto_remove_article ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_remove_article ?>"/>
 					<?= _t('conf.reading.auto_remove_article') ?>
 					<noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript>
 				</label>
@@ -151,7 +175,9 @@
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="mark_updated_article_unread">
-					<input type="checkbox" name="mark_updated_article_unread" id="mark_updated_article_unread" value="1"<?= FreshRSS_Context::$user_conf->mark_updated_article_unread ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_updated_article_unread ?>"/>
+					<input type="checkbox" name="mark_updated_article_unread" id="mark_updated_article_unread" value="1"<?=
+						FreshRSS_Context::$user_conf->mark_updated_article_unread ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_updated_article_unread ?>"/>
 					<?= _t('conf.reading.mark_updated_article_unread') ?>
 				</label>
 			</div>
@@ -161,19 +187,27 @@
 			<label class="group-name"><?= _t('conf.reading.read.when') ?></label>
 			<div class="group-controls">
 				<label class="checkbox" for="check_open_article">
-					<input type="checkbox" name="mark_open_article" id="check_open_article" value="1"<?= FreshRSS_Context::$user_conf->mark_when['article'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['article'] ?>"/>
+					<input type="checkbox" name="mark_open_article" id="check_open_article" value="1"<?=
+						FreshRSS_Context::$user_conf->mark_when['article'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['article'] ?>"/>
 					<?= _t('conf.reading.read.article_viewed') ?>
 				</label>
 				<label class="checkbox" for="check_open_site">
-					<input type="checkbox" name="mark_open_site" id="check_open_site" value="1"<?= FreshRSS_Context::$user_conf->mark_when['site'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['site'] ?>"/>
+					<input type="checkbox" name="mark_open_site" id="check_open_site" value="1"<?=
+						FreshRSS_Context::$user_conf->mark_when['site'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['site'] ?>"/>
 					<?= _t('conf.reading.read.article_open_on_website') ?>
 				</label>
 				<label class="checkbox" for="check_scroll">
-					<input type="checkbox" name="mark_scroll" id="check_scroll" value="1"<?= FreshRSS_Context::$user_conf->mark_when['scroll'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['scroll'] ?>"/>
+					<input type="checkbox" name="mark_scroll" id="check_scroll" value="1"<?=
+						FreshRSS_Context::$user_conf->mark_when['scroll'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['scroll'] ?>"/>
 					<?= _t('conf.reading.read.scroll') ?>
 				</label>
 				<label class="checkbox" for="check_reception">
-					<input type="checkbox" name="mark_upon_reception" id="check_reception" value="1"<?= FreshRSS_Context::$user_conf->mark_when['reception'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['reception'] ?>"/>
+					<input type="checkbox" name="mark_upon_reception" id="check_reception" value="1"<?=
+						FreshRSS_Context::$user_conf->mark_when['reception'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['reception'] ?>"/>
 					<?= _t('conf.reading.read.upon_reception') ?>
 				</label>
 			</div>
@@ -183,7 +217,9 @@
 			<label class="group-name"><?= _t('conf.reading.after_onread') ?></label>
 			<div class="group-controls">
 				<label class="checkbox" for="onread_jump_next">
-					<input type="checkbox" name="onread_jump_next" id="onread_jump_next" value="1"<?= FreshRSS_Context::$user_conf->onread_jump_next ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->onread_jump_next ?>"/>
+					<input type="checkbox" name="onread_jump_next" id="onread_jump_next" value="1"<?=
+						FreshRSS_Context::$user_conf->onread_jump_next ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= FreshRSS_Context::$user_conf->onread_jump_next ?>"/>
 					<?= _t('conf.reading.jump_next') ?>
 				</label>
 			</div>

+ 42 - 21
app/views/configure/shortcut.phtml

@@ -22,28 +22,32 @@
 		<div class="form-group">
 			<label class="group-name" for="normal_view_shortcut"><?= _t('conf.shortcut.normal_view') ?></label>
 			<div class="group-controls">
-			    <input type="text" id="normal_view_shortcut" name="shortcuts[normal_view]" list="keys" value="<?= $s['normal_view'] ?>" data-leave-validation="<?= $s['normal_view'] ?>"/>
+				<input type="text" id="normal_view_shortcut" name="shortcuts[normal_view]" list="keys" value="<?= $s['normal_view'] ?>"
+					data-leave-validation="<?= $s['normal_view'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="global_view_shortcut"><?= _t('conf.shortcut.global_view') ?></label>
 			<div class="group-controls">
-			    <input type="text" id="global_view_shortcut" name="shortcuts[global_view]" list="keys" value="<?= $s['global_view'] ?>" data-leave-validation="<?= $s['global_view'] ?>"/>
+				<input type="text" id="global_view_shortcut" name="shortcuts[global_view]" list="keys" value="<?= $s['global_view'] ?>"
+					data-leave-validation="<?= $s['global_view'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="reading_view_shortcut"><?= _t('conf.shortcut.reading_view') ?></label>
 			<div class="group-controls">
-			    <input type="text" id="reading_view_shortcut" name="shortcuts[reading_view]" list="keys" value="<?= $s['reading_view'] ?>" data-leave-validation="<?= $s['reading_view'] ?>"/>
+				<input type="text" id="reading_view_shortcut" name="shortcuts[reading_view]" list="keys" value="<?= $s['reading_view'] ?>"
+					data-leave-validation="<?= $s['reading_view'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="rss_view_shortcut"><?= _t('conf.shortcut.rss_view') ?></label>
 			<div class="group-controls">
-			    <input type="text" id="rss_view_shortcut" name="shortcuts[rss_view]" list="keys" value="<?= $s['rss_view'] ?>" data-leave-validation="<?= $s['rss_view'] ?>"/>
+				<input type="text" id="rss_view_shortcut" name="shortcuts[rss_view]" list="keys" value="<?= $s['rss_view'] ?>"
+					data-leave-validation="<?= $s['rss_view'] ?>"/>
 			</div>
 		</div>
 
@@ -54,28 +58,32 @@
 		<div class="form-group">
 			<label class="group-name" for="next_entry"><?= _t('conf.shortcut.next_article') ?></label>
 			<div class="group-controls">
-				<input type="text" id="next_entry" name="shortcuts[next_entry]" list="keys" value="<?= $s['next_entry'] ?>" data-leave-validation="<?= $s['next_entry'] ?>"/>
+				<input type="text" id="next_entry" name="shortcuts[next_entry]" list="keys" value="<?= $s['next_entry'] ?>"
+					data-leave-validation="<?= $s['next_entry'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="prev_entry"><?= _t('conf.shortcut.previous_article') ?></label>
 			<div class="group-controls">
-				<input type="text" id="prev_entry" name="shortcuts[prev_entry]" list="keys" value="<?= $s['prev_entry'] ?>" data-leave-validation="<?= $s['prev_entry'] ?>"/>
+				<input type="text" id="prev_entry" name="shortcuts[prev_entry]" list="keys" value="<?= $s['prev_entry'] ?>"
+					data-leave-validation="<?= $s['prev_entry'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="first_entry"><?= _t('conf.shortcut.first_article') ?></label>
 			<div class="group-controls">
-				<input type="text" id="first_entry" name="shortcuts[first_entry]" list="keys" value="<?= $s['first_entry'] ?>" data-leave-validation="<?= $s['first_entry'] ?>"/>
+				<input type="text" id="first_entry" name="shortcuts[first_entry]" list="keys" value="<?= $s['first_entry'] ?>"
+					data-leave-validation="<?= $s['first_entry'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="last_entry"><?= _t('conf.shortcut.last_article') ?></label>
 			<div class="group-controls">
-				<input type="text" id="last_entry" name="shortcuts[last_entry]" list="keys" value="<?= $s['last_entry'] ?>" data-leave-validation="<?= $s['last_entry'] ?>"/>
+				<input type="text" id="last_entry" name="shortcuts[last_entry]" list="keys" value="<?= $s['last_entry'] ?>"
+					data-leave-validation="<?= $s['last_entry'] ?>"/>
 			</div>
 		</div>
 
@@ -84,14 +92,16 @@
 		<div class="form-group">
 			<label class="group-name" for="skip_next_entry"><?= _t('conf.shortcut.skip_next_article') ?></label>
 			<div class="group-controls">
-				<input type="text" id="skip_next_entry" name="shortcuts[skip_next_entry]" list="keys" value="<?= $s['skip_next_entry'] ?>" data-leave-validation="<?= $s['skip_next_entry'] ?>"/>
+				<input type="text" id="skip_next_entry" name="shortcuts[skip_next_entry]" list="keys" value="<?= $s['skip_next_entry'] ?>"
+					data-leave-validation="<?= $s['skip_next_entry'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="skip_prev_entry"><?= _t('conf.shortcut.skip_previous_article') ?></label>
 			<div class="group-controls">
-				<input type="text" id="skip_prev_entry" name="shortcuts[skip_prev_entry]" list="keys" value="<?= $s['skip_prev_entry'] ?>" data-leave-validation="<?= $s['skip_prev_entry'] ?>"/>
+				<input type="text" id="skip_prev_entry" name="shortcuts[skip_prev_entry]" list="keys" value="<?= $s['skip_prev_entry'] ?>"
+					data-leave-validation="<?= $s['skip_prev_entry'] ?>"/>
 			</div>
 		</div>
 
@@ -101,7 +111,8 @@
 			<p class="alert alert-warn"><?= _t('conf.shortcut.shift_for_all_read') ?></p>
 			<label class="group-name" for="mark_read"><?= _t('conf.shortcut.mark_read') ?></label>
 			<div class="group-controls">
-				<input type="text" id="mark_read" name="shortcuts[mark_read]" list="keys" value="<?= $s['mark_read'] ?>" data-leave-validation="<?= $s['mark_read'] ?>"/>
+				<input type="text" id="mark_read" name="shortcuts[mark_read]" list="keys" value="<?= $s['mark_read'] ?>"
+					data-leave-validation="<?= $s['mark_read'] ?>"/>
 			</div>
 		</div>
 
@@ -110,21 +121,24 @@
 		<div class="form-group">
 			<label class="group-name" for="mark_favorite"><?= _t('conf.shortcut.mark_favorite') ?></label>
 			<div class="group-controls">
-				<input type="text" id="mark_favorite" name="shortcuts[mark_favorite]" list="keys" value="<?= $s['mark_favorite'] ?>" data-leave-validation="<?= $s['mark_favorite'] ?>"/>
+				<input type="text" id="mark_favorite" name="shortcuts[mark_favorite]" list="keys" value="<?= $s['mark_favorite'] ?>"
+					data-leave-validation="<?= $s['mark_favorite'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="go_website"><?= _t('conf.shortcut.see_on_website') ?></label>
 			<div class="group-controls">
-				<input type="text" id="go_website" name="shortcuts[go_website]" list="keys" value="<?= $s['go_website'] ?>" data-leave-validation="<?= $s['go_website'] ?>"/>
+				<input type="text" id="go_website" name="shortcuts[go_website]" list="keys" value="<?= $s['go_website'] ?>"
+					data-leave-validation="<?= $s['go_website'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="auto_share_shortcut"><?= _t('conf.shortcut.auto_share') ?></label>
 			<div class="group-controls">
-				<input type="text" id="auto_share_shortcut" name="shortcuts[auto_share]" list="keys" value="<?= $s['auto_share'] ?>" data-leave-validation="<?= $s['auto_share'] ?>"/>
+				<input type="text" id="auto_share_shortcut" name="shortcuts[auto_share]" list="keys" value="<?= $s['auto_share'] ?>"
+					data-leave-validation="<?= $s['auto_share'] ?>"/>
 				<?= _t('conf.shortcut.auto_share_help') ?>
 			</div>
 		</div>
@@ -132,14 +146,16 @@
 		<div class="form-group">
 			<label class="group-name" for="collapse_entry"><?= _t('conf.shortcut.collapse_article') ?></label>
 			<div class="group-controls">
-				<input type="text" id="collapse_entry" name="shortcuts[collapse_entry]" list="keys" value="<?= $s['collapse_entry'] ?>" data-leave-validation="<?= $s['collapse_entry'] ?>"/>
+				<input type="text" id="collapse_entry" name="shortcuts[collapse_entry]" list="keys" value="<?= $s['collapse_entry'] ?>"
+					data-leave-validation="<?= $s['collapse_entry'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="toggle_media"><?= _t('conf.shortcut.toggle_media') ?></label>
 			<div class="group-controls">
-				<input type="text" id="toggle_media" name="shortcuts[toggle_media]" list="keys" value="<?= $s['toggle_media'] ?>" data-leave-validation="<?= $s['toggle_media'] ?>"/>
+				<input type="text" id="toggle_media" name="shortcuts[toggle_media]" list="keys" value="<?= $s['toggle_media'] ?>"
+					data-leave-validation="<?= $s['toggle_media'] ?>"/>
 			</div>
 		</div>
 
@@ -148,21 +164,24 @@
 		<div class="form-group">
 			<label class="group-name" for="load_more_shortcut"><?= _t('conf.shortcut.load_more') ?></label>
 			<div class="group-controls">
-				<input type="text" id="load_more_shortcut" name="shortcuts[load_more]" list="keys" value="<?= $s['load_more'] ?>" data-leave-validation="<?= $s['load_more'] ?>"/>
+				<input type="text" id="load_more_shortcut" name="shortcuts[load_more]" list="keys" value="<?= $s['load_more'] ?>"
+					data-leave-validation="<?= $s['load_more'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="focus_search_shortcut"><?= _t('conf.shortcut.focus_search') ?></label>
 			<div class="group-controls">
-				<input type="text" id="focus_search_shortcut" name="shortcuts[focus_search]" list="keys" value="<?= $s['focus_search'] ?>" data-leave-validation="<?= $s['focus_search'] ?>"/>
+				<input type="text" id="focus_search_shortcut" name="shortcuts[focus_search]" list="keys" value="<?= $s['focus_search'] ?>"
+					data-leave-validation="<?= $s['focus_search'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="user_filter_shortcut"><?= _t('conf.shortcut.user_filter') ?></label>
 			<div class="group-controls">
-				<input type="text" id="user_filter_shortcut" name="shortcuts[user_filter]" list="keys" value="<?= $s['user_filter'] ?>" data-leave-validation="<?= $s['user_filter'] ?>"/>
+				<input type="text" id="user_filter_shortcut" name="shortcuts[user_filter]" list="keys" value="<?= $s['user_filter'] ?>"
+					data-leave-validation="<?= $s['user_filter'] ?>"/>
 				<?= _t('conf.shortcut.user_filter_help') ?>
 			</div>
 		</div>
@@ -170,14 +189,16 @@
 		<div class="form-group">
 			<label class="group-name" for="close_dropdown_shortcut"><?= _t('conf.shortcut.close_dropdown') ?></label>
 			<div class="group-controls">
-				<input type="text" id="close_dropdown" name="shortcuts[close_dropdown]" list="keys" value="<?= $s['close_dropdown'] ?>" data-leave-validation="<?= $s['close_dropdown'] ?>"/>
+				<input type="text" id="close_dropdown" name="shortcuts[close_dropdown]" list="keys" value="<?= $s['close_dropdown'] ?>"
+					data-leave-validation="<?= $s['close_dropdown'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="help_shortcut"><?= _t('conf.shortcut.help') ?></label>
 			<div class="group-controls">
-				<input type="text" id="help_shortcut" name="shortcuts[help]" list="keys" value="<?= $s['help'] ?>" data-leave-validation="<?= $s['help'] ?>"/>
+				<input type="text" id="help_shortcut" name="shortcuts[help]" list="keys" value="<?= $s['help'] ?>"
+					data-leave-validation="<?= $s['help'] ?>"/>
 			</div>
 		</div>
 

+ 12 - 6
app/views/configure/system.phtml

@@ -10,21 +10,24 @@
 		<div class="form-group">
 			<label class="group-name" for="instance-name"><?= _t('admin.system.instance-name') ?></label>
 			<div class="group-controls">
-			    <input type="text" class="extend" id="instance-name" name="instance-name" value="<?= FreshRSS_Context::$system_conf->title ?>" data-leave-validation="<?= FreshRSS_Context::$system_conf->title ?>"/>
+				<input type="text" class="extend" id="instance-name" name="instance-name" value="<?= FreshRSS_Context::$system_conf->title ?>"
+					data-leave-validation="<?= FreshRSS_Context::$system_conf->title ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="auto-update-url"><?= _t('admin.system.auto-update-url') ?></label>
 			<div class="group-controls">
-			    <input type="text" class="extend" id="auto-update-url" name="auto-update-url" value="<?= FreshRSS_Context::$system_conf->auto_update_url ?>" data-leave-validation="<?= FreshRSS_Context::$system_conf->auto_update_url ?>"/>
+				<input type="text" class="extend" id="auto-update-url" name="auto-update-url" value="<?= FreshRSS_Context::$system_conf->auto_update_url ?>"
+					data-leave-validation="<?= FreshRSS_Context::$system_conf->auto_update_url ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="max-registrations"><?= _t('admin.system.registration.number') ?></label>
 			<div class="group-controls">
-				<input type="number" id="max-registrations" name="max-registrations" value="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>" min="0" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>"/>
+				<input type="number" id="max-registrations" name="max-registrations" value="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>" min="0"
+					data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>"/>
 				<p class="help"><?= _i('help') ?> <?= _t('admin.system.registration.help') ?></p>
 			</div>
 		</div>
@@ -57,21 +60,24 @@
 		<div class="form-group">
 			<label class="group-name" for="max-feeds"><?= _t('admin.system.max-feeds') ?></label>
 			<div class="group-controls">
-			    <input type="number" id="max-feeds" name="max-feeds" value="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>" min="1" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>"/>
+				<input type="number" id="max-feeds" name="max-feeds" value="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>" min="1"
+					data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="max-categories"><?= _t('admin.system.max-categories') ?></label>
 			<div class="group-controls">
-			    <input type="number" id="max-categories" name="max-categories" value="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>" min="1" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>"/>
+				<input type="number" id="max-categories" name="max-categories" value="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>" min="1"
+					data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>"/>
 			</div>
 		</div>
 
 		<div class="form-group">
 			<label class="group-name" for="cookie-duration"><?= _t('admin.system.cookie-duration.number') ?></label>
 			<div class="group-controls">
-				<input type="number" id="cookie-duration" name="cookie-duration" value="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>" min="0" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>"/>
+				<input type="number" id="cookie-duration" name="cookie-duration" value="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>" min="0"
+					data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>"/>
 				<p class="help"><?= _i('help') ?> <?= _t('admin.system.cookie-duration.help') ?></p>
 			</div>
 		</div>

+ 1 - 1
app/views/extension/index.phtml

@@ -55,7 +55,7 @@
 								<span class="alert alert-success">
 									<?= _t('admin.extensions.latest') ?>
 								</span>
-							<?php } else  if ($this->extensions_installed[$ext['name']] != $ext['version']) { ?>
+							<?php } elseif ($this->extensions_installed[$ext['name']] != $ext['version']) { ?>
 								<span class="alert alert-warn">
 									<?= _t('admin.extensions.update') ?>
 								</span>

+ 18 - 9
app/views/helpers/category/update.phtml

@@ -87,7 +87,8 @@
 			<label class="group-name"><?= _t('conf.archiving.policy') ?></label>
 			<div class="group-controls">
 				<label class="checkbox">
-					<input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" />
+					<input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" />
 					<?= _t('gen.short.by_default') ?>
 				</label>
 			</div>
@@ -95,18 +96,22 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="enable_keep_max">
-					<input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?> data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/>
+					<input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?>
+						data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/>
 					<?= _t('conf.archiving.keep_max') ?>
-					<input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>" data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/>
+					<input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"
+						data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/>
 				</label>
 			</div>
 		</div>
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="enable_keep_period">
-					<input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_period') ?>
-					<input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>" data-leave-validation="<?= $volatile['keep_period_count'] ?>"/>
+					<input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>"
+						data-leave-validation="<?= $volatile['keep_period_count'] ?>"/>
 					<select class="number" name="keep_period_unit" id="keep_period_unit" data-leave-validation="<?= $volatile['keep_period_unit'] ?>">
 						<option></option>
 						<option value="P1Y" <?= 'P1Y' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.years') ?></option>
@@ -122,7 +127,8 @@
 			<label class="group-name"><?= _t('conf.archiving.exception') ?></label>
 			<div class="group-controls">
 				<label class="checkbox" for="keep_favourites">
-					<input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_favourites') ?>
 				</label>
 			</div>
@@ -130,7 +136,8 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="keep_labels">
-					<input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_labels') ?>
 				</label>
 			</div>
@@ -138,7 +145,8 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="keep_unreads">
-					<input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_unreads'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['keep_unreads'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_unreads') ?>
 				</label>
 			</div>
@@ -146,7 +154,8 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label for="keep_min"><?= _t('sub.feed.keep_min') ?>
-					<input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>" data-leave-validation="<?= $archiving['keep_min'] ?>">
+					<input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>"
+						data-leave-validation="<?= $archiving['keep_min'] ?>">
 				</label>
 			</div>
 		</div>

+ 8 - 4
app/views/helpers/configure/query.phtml

@@ -26,19 +26,23 @@
 			<label class="group-name" for=""><?= _t('conf.query.filter.state') ?></label>
 			<div class="group-controls">
 				<label class="checkbox" for="show_read">
-					<input type="checkbox" name="query[state][]" id="show_read" value="<?= FreshRSS_Entry::STATE_READ ?>" <?= FreshRSS_Entry::STATE_READ & $this->query->getState() ? 'checked="checked"' : ''?> />
+					<input type="checkbox" name="query[state][]" id="show_read"
+						value="<?= FreshRSS_Entry::STATE_READ ?>" <?= FreshRSS_Entry::STATE_READ & $this->query->getState() ? 'checked="checked"' : ''?> />
 					<?= _t('index.menu.read') ?>
 				</label>
 				<label class="checkbox" for="show_not_read">
-					<input type="checkbox" name="query[state][]" id="show_not_read" value="<?= FreshRSS_Entry::STATE_NOT_READ ?>" <?= FreshRSS_Entry::STATE_NOT_READ & $this->query->getState() ? 'checked="checked"' : ''?> />
+					<input type="checkbox" name="query[state][]" id="show_not_read"
+						value="<?= FreshRSS_Entry::STATE_NOT_READ ?>" <?= FreshRSS_Entry::STATE_NOT_READ & $this->query->getState() ? 'checked="checked"' : ''?> />
 					<?= _t('index.menu.unread') ?>
 				</label>
 				<label class="checkbox" for="show_favorite">
-					<input type="checkbox" name="query[state][]" id="show_favorite" value="<?= FreshRSS_Entry::STATE_FAVORITE ?>" <?= FreshRSS_Entry::STATE_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> />
+					<input type="checkbox" name="query[state][]" id="show_favorite"
+						value="<?= FreshRSS_Entry::STATE_FAVORITE ?>" <?= FreshRSS_Entry::STATE_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> />
 					<?= _t('index.menu.starred') ?>
 				</label>
 				<label class="checkbox" for="show_not_favorite">
-					<input type="checkbox" name="query[state][]" id="show_not_favorite" value="<?= FreshRSS_Entry::STATE_NOT_FAVORITE ?>" <?= FreshRSS_Entry::STATE_NOT_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> />
+					<input type="checkbox" name="query[state][]" id="show_not_favorite"
+						value="<?= FreshRSS_Entry::STATE_NOT_FAVORITE ?>" <?= FreshRSS_Entry::STATE_NOT_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> />
 					<?= _t('index.menu.non-starred') ?>
 				</label>
 			</div>

+ 1 - 2
app/views/helpers/extension/configure.phtml

@@ -1,8 +1,7 @@
 <div class="post">
 	<h1>
 		<?= $this->extension->getName() ?> (<?= $this->extension->getVersion() ?>) —
-		<?php echo $this->extension->isEnabled() ? _t('admin.extensions.enabled')
-		                                         : _t('admin.extensions.disabled'); ?>
+		<?= $this->extension->isEnabled() ? _t('admin.extensions.enabled') : _t('admin.extensions.disabled') ?>
 	</h1>
 
 	<p class="alert alert-warn"><?= $this->extension->getDescription() ?> — <?= _t('gen.short.by_author'), ' ', $this->extension->getAuthor() ?></p>

+ 46 - 29
app/views/helpers/feed/update.phtml

@@ -23,7 +23,7 @@
 		<div class="form-group">
 			<label class="group-name" for="name"><?= _t('sub.feed.title') ?></label>
 			<div class="group-controls">
-				<input type="text" name="name" id="name" class="extend" value="<?= $this->feed->name()  ?>" />
+				<input type="text" name="name" id="name" class="extend" value="<?= $this->feed->name() ?>" />
 			</div>
 		</div>
 		<div class="form-group">
@@ -49,7 +49,8 @@
 					<a class="btn" target="_blank" rel="noreferrer" href="<?= $this->feed->url() ?>"><?= _i('link') ?></a>
 				</div>
 
-				<a class="btn" target="_blank" rel="noreferrer" href="https://validator.w3.org/feed/check.cgi?url=<?= rawurlencode(htmlspecialchars_decode($this->feed->url(), ENT_QUOTES)) ?>"><?= _t('sub.feed.validator') ?></a>
+				<a class="btn" target="_blank" rel="noreferrer" href="https://validator.w3.org/feed/check.cgi?url=<?=
+					rawurlencode(htmlspecialchars_decode($this->feed->url(), ENT_QUOTES)) ?>"><?= _t('sub.feed.validator') ?></a>
 			</div>
 		</div>
 		<div class="form-group">
@@ -57,7 +58,7 @@
 			<div class="group-controls">
 				<select name="category" id="category">
 				<?php foreach ($this->categories as $cat) { ?>
-				<option value="<?= $cat->id() ?>"<?= $cat->id()== $this->feed->category() ? ' selected="selected"' : '' ?>>
+				<option value="<?= $cat->id() ?>"<?= $cat->id() == $this->feed->category() ? ' selected="selected"' : '' ?>>
 					<?= $cat->name() ?>
 				</option>
 				<?php } ?>
@@ -68,9 +69,12 @@
 			<label class="group-name" for="priority"><?= _t('sub.feed.priority') ?></label>
 			<div class="group-controls">
 				<select name="priority" id="priority">
-				    <option value='<?= FreshRSS_Feed::PRIORITY_MAIN_STREAM ?>' <?php if (FreshRSS_Feed::PRIORITY_MAIN_STREAM === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.main_stream') ?></option>
-				    <option value='<?= FreshRSS_Feed::PRIORITY_NORMAL ?>' <?php if (FreshRSS_Feed::PRIORITY_NORMAL === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.normal') ?></option>
-				    <option value='<?= FreshRSS_Feed::PRIORITY_ARCHIVED ?>' <?php if (FreshRSS_Feed::PRIORITY_ARCHIVED === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.archived') ?></option>
+					<option value='<?= FreshRSS_Feed::PRIORITY_MAIN_STREAM ?>' <?php
+						if (FreshRSS_Feed::PRIORITY_MAIN_STREAM === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.main_stream') ?></option>
+					<option value='<?= FreshRSS_Feed::PRIORITY_NORMAL ?>' <?php
+						if (FreshRSS_Feed::PRIORITY_NORMAL === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.normal') ?></option>
+					<option value='<?= FreshRSS_Feed::PRIORITY_ARCHIVED ?>' <?php
+						if (FreshRSS_Feed::PRIORITY_ARCHIVED === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.archived') ?></option>
 				</select>
 			</div>
 		</div>
@@ -80,9 +84,9 @@
 				<button class="btn btn-important"><?= _t('gen.action.submit') ?></button>
 				<button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button>
 				<button class="btn btn-attention confirm"
-				        data-str-confirm="<?= _t('gen.js.confirm_action_feed_cat') ?>"
-				        formaction="<?= _url('feed', 'delete', 'id', $this->feed->id()) ?>"
-				        formmethod="post"><?= _t('gen.action.remove') ?></button>
+					data-str-confirm="<?= _t('gen.js.confirm_action_feed_cat') ?>"
+					formaction="<?= _url('feed', 'delete', 'id', $this->feed->id()) ?>"
+					formmethod="post"><?= _t('gen.action.remove') ?></button>
 			</div>
 		</div>
 
@@ -143,7 +147,8 @@
 			<label class="group-name"><?= _t('conf.archiving.policy') ?></label>
 			<div class="group-controls">
 				<label class="checkbox">
-					<input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" />
+					<input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" />
 					<?= _t('gen.short.by_default') ?>
 				</label>
 			</div>
@@ -151,18 +156,22 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="enable_keep_max">
-					<input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?> data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/>
+					<input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?>
+						data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/>
 					<?= _t('conf.archiving.keep_max') ?>
-					<input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>" data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/>
+					<input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"
+						data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/>
 				</label>
 			</div>
 		</div>
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="enable_keep_period">
-					<input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_period') ?>
-					<input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>" data-leave-validation="<?= $volatile['keep_period_count'] ?>"/>
+					<input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>"
+						data-leave-validation="<?= $volatile['keep_period_count'] ?>"/>
 					<select class="number" name="keep_period_unit" id="keep_period_unit" data-leave-validation="<?= $volatile['keep_period_unit'] ?>">
 						<option></option>
 						<option value="P1Y" <?= 'P1Y' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.years') ?></option>
@@ -178,7 +187,8 @@
 			<label class="group-name"><?= _t('conf.archiving.exception') ?></label>
 			<div class="group-controls">
 				<label class="checkbox" for="keep_favourites">
-					<input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_favourites') ?>
 				</label>
 			</div>
@@ -186,7 +196,8 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="keep_labels">
-					<input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/>
+					<input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/>
 					<?= _t('conf.archiving.keep_labels') ?>
 				</label>
 			</div>
@@ -194,7 +205,8 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label class="checkbox" for="keep_unreads">
-					<input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_unreads'] ?>"/>
+					<input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?>
+						data-leave-validation="<?= $archiving['keep_unreads'] ?>"/>
 					<?= _t('conf.archiving.keep_unreads') ?>
 				</label>
 			</div>
@@ -202,7 +214,8 @@
 		<div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>>
 			<div class="group-controls">
 				<label for="keep_min"><?= _t('sub.feed.keep_min') ?>
-					<input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>" data-leave-validation="<?= $archiving['keep_min'] ?>">
+					<input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>"
+						data-leave-validation="<?= $archiving['keep_min'] ?>">
 				</label>
 			</div>
 		</div>
@@ -213,10 +226,10 @@
 				<select class="number" name="ttl" id="ttl" required="required"><?php
 					$found = false;
 					foreach (array(FreshRSS_Feed::TTL_DEFAULT => _t('gen.short.by_default'), 900 => '15min', 1200 => '20min', 1500 => '25min', 1800 => '30min', 2700 => '45min',
-					                3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h',
-					                36000 => '10h', 43200 => '12h', 64800 => '18h',
-					                86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d',
-					                604800 => '1wk', 1209600 => '2wk', 1814400 => '3wk', 2419200 => '4wk', 2629744 => '1mo') as $v => $t) {
+							3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h',
+							36000 => '10h', 43200 => '12h', 64800 => '18h',
+							86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d',
+							604800 => '1wk', 1209600 => '2wk', 1814400 => '3wk', 2419200 => '4wk', 2629744 => '1mo') as $v => $t) {
 						echo '<option value="' . $v . ($this->feed->ttl() === $v ? '" selected="selected' : '') . '">' . $t . '</option>';
 						if ($this->feed->ttl() == $v) {
 							$found = true;
@@ -257,13 +270,15 @@
 		<div class="form-group">
 			<label class="group-name" for="http_user_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.username') ?></label>
 			<div class="group-controls">
-				<input type="text" name="http_user_feed<?= $this->feed->id() ?>" id="http_user_feed<?= $this->feed->id() ?>" class="extend" value="<?= empty($auth['username']) ? ' ' : $auth['username'] ?>" autocomplete="off" />
+				<input type="text" name="http_user_feed<?= $this->feed->id() ?>" id="http_user_feed<?= $this->feed->id() ?>" class="extend" value="<?=
+					empty($auth['username']) ? ' ' : $auth['username'] ?>" autocomplete="off" />
 				<p class="help"><?= _i('help') ?> <?= _t('sub.feed.auth.help') ?></p>
 			</div>
 
 			<label class="group-name" for="http_pass_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.password') ?></label>
 			<div class="group-controls">
-				<input type="password" name="http_pass_feed<?= $this->feed->id() ?>" id="http_pass_feed<?= $this->feed->id() ?>" class="extend" value="<?= $auth['password'] ?>" autocomplete="new-password" />
+				<input type="password" name="http_pass_feed<?= $this->feed->id() ?>" id="http_pass_feed<?= $this->feed->id() ?>" class="extend" value="<?=
+					$auth['password'] ?>" autocomplete="new-password" />
 			</div>
 		</div>
 
@@ -279,8 +294,10 @@
 			<label class="group-name" for="path_entries"><?= _t('sub.feed.css_path') ?></label>
 			<div class="group-controls">
 				<div class="stick">
-					<input type="text" name="path_entries" id="path_entries" class="extend" value="<?= $this->feed->pathEntries() ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" />
-					<a id="popup-preview-selector" class="btn" href="<?= _url('feed', 'contentSelectorPreview', 'id', $this->feed->id(), 'selector', 'selector-token') ?>"><?= _i('look') ?></a>
+					<input type="text" name="path_entries" id="path_entries" class="extend" value="<?= $this->feed->pathEntries() ?>"
+						placeholder="<?= _t('gen.short.blank_to_disable') ?>" />
+					<a id="popup-preview-selector" class="btn" href="<?=
+						_url('feed', 'contentSelectorPreview', 'id', $this->feed->id(), 'selector', 'selector-token') ?>"><?= _i('look') ?></a>
 				</div>
 				<p class="help"><?= _i('help') ?> <?= _t('sub.feed.css_help') ?></p>
 			</div>
@@ -290,8 +307,8 @@
 			<label class="group-name" for="path_entries"><?= _t('sub.feed.css_cookie') ?></label>
 			<div class="group-controls">
 				<div class="stick">
-					<input type="text" name="curl_params_cookie" id="curl_params_cookie" class="extend" value="<?= 
-						is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_COOKIE]) ? 
+					<input type="text" name="curl_params_cookie" id="curl_params_cookie" class="extend" value="<?=
+						is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_COOKIE]) ?
 							$this->feed->attributes('curl_params')[CURLOPT_COOKIE] : ''
 					?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" />
 				</div>
@@ -325,7 +342,7 @@
 				</select>
 				<div class="stick">
 					<input type="text" name="curl_params" id="curl_params" class="extend" value="<?=
-						is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_PROXY]) ? 
+						is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_PROXY]) ?
 							$this->feed->attributes('curl_params')[CURLOPT_PROXY] : ''
 					?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" />
 				</div>

+ 2 - 1
app/views/helpers/index/normal/entry_header.phtml

@@ -45,5 +45,6 @@
 		endif;
 	?></a></li>
 	<?php if ($topline_date) { ?><li class="item date"><time datetime="<?= $this->entry->machineReadableDate() ?>"><?= $this->entry->date() ?></time>&nbsp;</li><?php } ?>
-	<?php if ($topline_link) { ?><li class="item link"><a target="_blank" rel="noreferrer" href="<?= $this->entry->link() ?>" title="<?= _t('conf.shortcut.see_on_website') ?>"><?= _i('link') ?></a></li><?php } ?>
+	<?php if ($topline_link) { ?><li class="item link"><a target="_blank" rel="noreferrer" href="<?= $this->entry->link() ?>" title="<?=
+		_t('conf.shortcut.see_on_website') ?>"><?= _i('link') ?></a></li><?php } ?>
 </ul>

+ 4 - 4
app/views/helpers/pagination.phtml

@@ -27,10 +27,10 @@
 		</a>
 	<?php } elseif ($url_mark_read) { ?>
 		<button id="bigMarkAsRead"
-		        class="as-link <?= FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : '' ?>"
-		        form="mark-read-pagination"
-		        formaction="<?= Minz_Url::display($url_mark_read) ?>"
-		        type="submit">
+			class="as-link <?= FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : '' ?>"
+			form="mark-read-pagination"
+			formaction="<?= Minz_Url::display($url_mark_read) ?>"
+			type="submit">
 			<?= _t('gen.pagination.nothing_to_load') ?><br />
 			<span class="bigTick">✓</span><br />
 			<?= _t('gen.pagination.mark_all_read') ?>

+ 4 - 2
app/views/index/global.phtml

@@ -27,7 +27,8 @@
 		if (!empty($feeds)) {
 ?>
 	<div class="box category" data-unread="<?= $cat->nbNotRead() ?>">
-		<div class="box-title"><a class="title" data-unread="<?= format_number($cat->nbNotRead()) ?>" href="<?= Minz_Url::display($url_base) ?>"><?= $cat->name() ?></a></div>
+		<div class="box-title"><a class="title" data-unread="<?= format_number($cat->nbNotRead()) ?>"
+			href="<?= Minz_Url::display($url_base) ?>"><?= $cat->name() ?></a></div>
 
 		<ul class="box-content">
 			<?php
@@ -37,7 +38,8 @@
 					$empty = $feed->nbEntries() === 0 ? ' empty' : '';
 					$url_base['params']['get'] = 'f_' . $feed->id();
 			?>
-			<li id="f_<?= $feed->id() ?>" class="item feed<?= $error, $empty, $feed->mute() ? ' mute' : '' ?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>">
+			<li id="f_<?= $feed->id() ?>" class="item feed<?= $error, $empty, $feed->mute() ? ' mute' : '' ?>"
+				data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>">
 				<?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
 				<a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= Minz_Url::display($url_base) ?>"><?= $feed->name() ?></a>
 			</li>

+ 4 - 2
app/views/index/logs.phtml

@@ -15,10 +15,12 @@
 		<?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?>
 
 		<?php foreach ($items as $log) { ?>
-		<div class="log <?= $log->level() ?>"><span class="date"><?= @date('Y-m-d H:i:s', @strtotime($log->date())) ?></span><?= htmlspecialchars($log->info(), ENT_NOQUOTES, 'UTF-8') ?></div>
+		<div class="log <?= $log->level() ?>"><span class="date">
+				<?= @date('Y-m-d H:i:s', @strtotime($log->date())) ?>
+			</span><?= htmlspecialchars($log->info(), ENT_NOQUOTES, 'UTF-8') ?></div>
 		<?php } ?>
 
-		<?php $this->logsPaginator->render('logs_pagination.phtml','page'); ?>
+		<?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?>
 	</div>
 	<?php } else { ?>
 	<p class="alert alert-warn"><?= _t('index.log.empty') ?></p>

+ 10 - 6
app/views/index/normal.phtml

@@ -61,10 +61,10 @@ $today = @strtotime('today');
 			?></div><?php
 			$display_others = false;
 		}
-	?><div class="flux<?php echo !$this->entry->isRead() ? ' not_read' : '';
-		?><?php echo $this->entry->isFavorite() ? ' favorite' : '';
-		?>" id="flux_<?php echo $this->entry->id();
-		?>" data-feed="<?php echo $this->feed->id();
+	?><div class="flux<?= !$this->entry->isRead() ? ' not_read' : ''
+		?><?= $this->entry->isFavorite() ? ' favorite' : ''
+		?>" id="flux_<?= $this->entry->id()
+		?>" data-feed="<?= $this->feed->id()
 		?>"><?php
 
 			$this->renderHelper('index/normal/entry_header');
@@ -74,7 +74,9 @@ $today = @strtotime('today');
 				<h1 class="title"><a target="_blank" rel="noreferrer" class="go_website" href="<?= $this->entry->link() ?>"><?= $this->entry->title() ?></a></h1>
 				<div class="subtitle">
 					<div class="website"><a href="<?= _url('index', 'index', 'get', 'f_' . $this->feed->id()) ?>">
-						<?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $this->feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
+						<?php if (FreshRSS_Context::$user_conf->show_favicons): ?>
+							<img class="favicon" src="<?= $this->feed->favicon() ?>" alt="✇" loading="lazy" />
+						<?php endif; ?>
 						<span><?= $this->feed->name() ?></span></a>
 					</div>
 					<div class="date"><?= $this->entry->date() ?></div>
@@ -88,7 +90,9 @@ $today = @strtotime('today');
 								echo $first ? _t('gen.short.by_author') . ' ' : '· ';
 								$first = false;
 					?>
-	<em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest(['search' => 'author:"' . htmlspecialchars_decode($author, ENT_QUOTES) . '"'])) ?>"><?= $author ?></a></em>
+	<em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest(
+			['search' => 'author:"' . htmlspecialchars_decode($author, ENT_QUOTES) . '"'])
+		) ?>"><?= $author ?></a></em>
 					<?php	endforeach; ?>
 					</div><?php endif; ?>
 				</div>

+ 6 - 2
app/views/index/reader.phtml

@@ -44,7 +44,9 @@ $content_width = FreshRSS_Context::$user_conf->content_width;
 					<?= _i($item->isFavorite() ? 'starred' : 'non-starred') ?>
 				</a>
 				<a class="website" href="<?= _url('index', 'reader', 'get', 'f_' . $feed->id()) ?>">
-					<?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
+					<?php if (FreshRSS_Context::$user_conf->show_favicons): ?>
+						<img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" />
+					<?php endif; ?>
 					<span><?= $feed->name() ?></span>
 				</a>
 				<h1 class="title"><a target="_blank" rel="noreferrer" class="go_website" href="<?= $item->link() ?>"><?= $item->title() ?></a></h1>
@@ -57,7 +59,9 @@ $content_width = FreshRSS_Context::$user_conf->content_width;
 							echo $first ? _t('gen.short.by_author') . ' ' : '· ';
 							$first = false;
 				?>
-<em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest(['search' => 'author:' . str_replace(' ', '+', htmlspecialchars_decode($author, ENT_QUOTES))])) ?>"><?= $author ?></a></em>
+<em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest(
+		['search' => 'author:' . str_replace(' ', '+', htmlspecialchars_decode($author, ENT_QUOTES))])
+	) ?>"><?= $author ?></a></em>
 				<?php
 						endforeach;
 						echo ' — ';

+ 4 - 2
app/views/stats/idle.phtml

@@ -26,11 +26,13 @@
 					<div class="stick">
 						<a class="btn" href="<?= _url('index', 'index', 'get', 'f_' . $feed['id']) ?>"><?= _i('link') ?> <?= _t('gen.action.filter') ?></a>
 						<a class="btn" href="<?= _url('subscription', 'index', 'id', $feed['id']) ?>"><?= _i('configure') ?> <?= _t('gen.action.manage') ?></a>
-						<button class="btn btn-attention confirm" form="form-delete" formaction="<?= _url('feed', 'delete', 'id', $feed['id'], 'r', $current_url) ?>"><?= _t('gen.action.remove') ?></button>
+						<button class="btn btn-attention confirm" form="form-delete"
+							formaction="<?= _url('feed', 'delete', 'id', $feed['id'], 'r', $current_url) ?>"><?= _t('gen.action.remove') ?></button>
 					</div>
 				</li>
 				<li class="item">
-					<span title="<?= timestamptodate($feed['last_date'], false) ?>"><?= $feed['name'] ?> (<?= _t('admin.stats.number_entries', $feed['nb_articles']) ?>)</span>
+					<span title="<?= timestamptodate($feed['last_date'], false) ?>"><?= $feed['name'] ?>
+						(<?= _t('admin.stats.number_entries', $feed['nb_articles']) ?>)</span>
 				</li>
 			</ul>
 			<?php } ?>

+ 4 - 2
app/views/stats/repartition.phtml

@@ -13,9 +13,11 @@
 			echo '<optgroup label="', $category->name(), '">';
 			foreach ($feeds as $feed) {
 				if ($this->feed && $feed->id() == $this->feed->id()) {
-					echo '<option value="', $feed->id(), '" selected="selected" data-url="', _url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>';
+					echo '<option value="', $feed->id(), '" selected="selected" data-url="',
+						_url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>';
 				} else {
-					echo '<option value="', $feed->id(), '" data-url="', _url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>';
+					echo '<option value="', $feed->id(), '" data-url="',
+						_url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>';
 				}
 			}
 			echo '</optgroup>';

+ 3 - 1
app/views/subscription/bookmarklet.phtml

@@ -4,7 +4,9 @@
 	<a href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a>
 
 	<legend><?= _t('sub.bookmarklet.title') ?></legend>
-	<p><a class="btn btn-important" href="javascript:(function(){var%20url%20=%20location.href;var%20otherWindow=window.open('about:blank','_blank');otherWindow.opener=null;otherWindow.location='<?= Minz_Url::display(array('c' => 'feed', 'a' => 'add'), 'html', true) ?>&amp;url_rss='+encodeURIComponent(url);})();"><?= _t('sub.bookmarklet.label') ?></a></p>
+	<p><a class="btn btn-important"
+		href="javascript:(function(){var%20url%20=%20location.href;var%20otherWindow=window.open('about:blank','_blank');otherWindow.opener=null;otherWindow.location='<?=
+		Minz_Url::display(array('c' => 'feed', 'a' => 'add'), 'html', true) ?>&amp;url_rss='+encodeURIComponent(url);})();"><?= _t('sub.bookmarklet.label') ?></a></p>
 	<?= _t('sub.bookmarklet.documentation') ?>
 
 	<legend><?= _t('sub.firefox.title') ?></legend>

+ 4 - 4
app/views/subscription/index.phtml

@@ -42,10 +42,10 @@
 						$error = $feed->inError() ? ' error' : '';
 						$empty = $feed->nbEntries() == 0 ? ' empty' : '';
 			?>
-			<li class="item feed<?= $error, $empty, $feed->mute() ? ' mute': '' ?>"
-			    draggable="true"
-			    data-feed-id="<?= $feed->id() ?>"
-			    dropzone="move">
+			<li class="item feed<?= $error, $empty, $feed->mute() ? ' mute' : '' ?>"
+				draggable="true"
+				data-feed-id="<?= $feed->id() ?>"
+				dropzone="move">
 				<a class="configure open-slider" href="<?= _url('subscription', 'feed', 'id', $feed->id()) ?>"><?= _i('configure') ?></a>
 				<?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
 				<?= $feed->name() ?>

+ 70 - 69
app/views/user/details.phtml

@@ -5,82 +5,83 @@
 <?php $enabled = $this->details['enabled']; ?>
 
 <div class="post">
-    <a href="<?= _url('user', 'manage'); ?>"><?= _t('admin.user.back_to_manage'); ?></a>
+	<a href="<?= _url('user', 'manage'); ?>"><?= _t('admin.user.back_to_manage'); ?></a>
 
-    <legend><?= $this->username ?><?php if ($isAdmin) echo ' ― ', _t('admin.user.admin'); ?></legend>
-    <form method="post" action="<?= _url('user', 'manage', 'username', $this->username); ?>">
-        <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken(); ?>" />
+	<legend><?= $this->username ?><?php if ($isAdmin) echo ' ― ', _t('admin.user.admin'); ?></legend>
+	<form method="post" action="<?= _url('user', 'manage', 'username', $this->username); ?>">
+		<input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken(); ?>" />
 
-        <div class="form-group">
-            <label class="group-name"><?= _t('admin.user.email') ?></label>
-            <div class="group-controls">
-                <?= $this->details['mail_login'] ?>
-            </div>
-        </div>
+		<div class="form-group">
+			<label class="group-name"><?= _t('admin.user.email') ?></label>
+			<div class="group-controls">
+				<?= $this->details['mail_login'] ?>
+			</div>
+		</div>
 
-        <div class="form-group">
-            <label class="group-name"><?= _t('admin.user.language') ?></label>
-            <div class="group-controls">
-                <?= _t("gen.lang.{$this->details['language']}") ?>
-            </div>
-        </div>
+		<div class="form-group">
+			<label class="group-name"><?= _t('admin.user.language') ?></label>
+			<div class="group-controls">
+				<?= _t("gen.lang.{$this->details['language']}") ?>
+			</div>
+		</div>
 
-        <div class="form-group">
-            <label class="group-name"><?= _t('admin.user.feed_count') ?></label>
-            <div class="group-controls">
-                <?= format_number($this->details['feed_count']) ?>
-            </div>
-        </div>
+		<div class="form-group">
+			<label class="group-name"><?= _t('admin.user.feed_count') ?></label>
+			<div class="group-controls">
+				<?= format_number($this->details['feed_count']) ?>
+			</div>
+		</div>
 
-        <div class="form-group">
-            <label class="group-name"><?= _t('admin.user.article_count') ?></label>
-            <div class="group-controls">
-                <?= format_number($this->details['article_count']) ?>
-            </div>
-        </div>
+		<div class="form-group">
+			<label class="group-name"><?= _t('admin.user.article_count') ?></label>
+			<div class="group-controls">
+				<?= format_number($this->details['article_count']) ?>
+			</div>
+		</div>
 
-        <div class="form-group">
-            <label class="group-name"><?= _t('admin.user.database_size') ?></label>
-            <div class="group-controls">
-                <?= format_bytes($this->details['database_size']) ?>
-            </div>
-        </div>
+		<div class="form-group">
+			<label class="group-name"><?= _t('admin.user.database_size') ?></label>
+			<div class="group-controls">
+				<?= format_bytes($this->details['database_size']) ?>
+			</div>
+		</div>
 
-        <div class="form-group">
-            <label class="group-name"><?= _t('admin.user.last_user_activity') ?></label>
-            <div class="group-controls">
-                <?= $this->details['last_user_activity'] ?>
-            </div>
-        </div>
+		<div class="form-group">
+			<label class="group-name"><?= _t('admin.user.last_user_activity') ?></label>
+			<div class="group-controls">
+				<?= $this->details['last_user_activity'] ?>
+			</div>
+		</div>
 
-        <div class="form-group">
-            <label class="group-name" for="newPasswordPlain"><?= _t('admin.user.password_form') ?></label>
-            <div class="group-controls">
-                <div class="stick">
-                    <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
-                    <a class="btn toggle-password" data-toggle="password-<?= $this->username; ?>"><?= _i('key') ?></a>
-                </div>
-                <p class="help"><?= _i('help'); ?> <?= _t('admin.user.password_format') ?></p>
-            </div>
-        </div>
+		<div class="form-group">
+			<label class="group-name" for="newPasswordPlain"><?= _t('admin.user.password_form') ?></label>
+			<div class="group-controls">
+				<div class="stick">
+					<input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password"
+						pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
+					<a class="btn toggle-password" data-toggle="password-<?= $this->username; ?>"><?= _i('key') ?></a>
+				</div>
+				<p class="help"><?= _i('help'); ?> <?= _t('admin.user.password_format') ?></p>
+			</div>
+		</div>
 
-        <div class="form-group form-actions">
-            <noscript><b><?= _t('gen.js.should_be_activated'); ?></b></noscript>
-            <div class="group-controls">
-                <button type="submit" class="btn btn-important" name="action" value="update"><?= _t('gen.action.update') ?></button>
-                <button type="submit" class="btn btn-attention confirm" name="action" value="purge"><?= _t('gen.action.purge') ?></button>
-                <button type="submit" class="btn btn-attention confirm" name="action" value="delete"><?= _t('gen.action.remove') ?></button>
-                <?php if ($isAdmin && !$isDefault): ?>
-                    <button type="submit" class="btn btn-attention confirm" name="action" value="demote"><?= _t('gen.action.demote') ?></button>
-                <?php elseif (!$isAdmin): ?>
-                    <button type="submit" class="btn btn-attention confirm" name="action" value="promote"><?= _t('gen.action.promote') ?></button>
-                <?php endif; ?>
-                <?php if ($enabled && !$isDefault): ?>
-                    <button type="submit" class="btn btn-attention" name="action" value="disable"><?= _t('gen.action.disable') ?></button>
-                <?php elseif (!$enabled): ?>
-                    <button type="submit" class="btn btn-attention" name="action" value="enable"><?= _t('gen.action.enable') ?></button>
-                <?php endif; ?>
-            <div>
-        </div>
-    </form>
+		<div class="form-group form-actions">
+			<noscript><b><?= _t('gen.js.should_be_activated'); ?></b></noscript>
+			<div class="group-controls">
+				<button type="submit" class="btn btn-important" name="action" value="update"><?= _t('gen.action.update') ?></button>
+				<button type="submit" class="btn btn-attention confirm" name="action" value="purge"><?= _t('gen.action.purge') ?></button>
+				<button type="submit" class="btn btn-attention confirm" name="action" value="delete"><?= _t('gen.action.remove') ?></button>
+				<?php if ($isAdmin && !$isDefault): ?>
+					<button type="submit" class="btn btn-attention confirm" name="action" value="demote"><?= _t('gen.action.demote') ?></button>
+				<?php elseif (!$isAdmin): ?>
+					<button type="submit" class="btn btn-attention confirm" name="action" value="promote"><?= _t('gen.action.promote') ?></button>
+				<?php endif; ?>
+				<?php if ($enabled && !$isDefault): ?>
+					<button type="submit" class="btn btn-attention" name="action" value="disable"><?= _t('gen.action.disable') ?></button>
+				<?php elseif (!$enabled): ?>
+					<button type="submit" class="btn btn-attention" name="action" value="enable"><?= _t('gen.action.enable') ?></button>
+				<?php endif; ?>
+			<div>
+		</div>
+	</form>
 </div>

+ 5 - 3
app/views/user/manage.phtml

@@ -13,7 +13,8 @@
 				<select name="new_user_language" id="new_user_language">
 				<?php $languages = Minz_Translate::availableLanguages(); ?>
 				<?php foreach ($languages as $lang) { ?>
-				<option value="<?= $lang ?>"<?= FreshRSS_Context::$user_conf->language === $lang ? ' selected="selected"' : '' ?>><?= _t('gen.lang.' . $lang) ?></option>
+				<option value="<?= $lang ?>"<?= FreshRSS_Context::$user_conf->language === $lang ?
+					' selected="selected"' : '' ?>><?= _t('gen.lang.' . $lang) ?></option>
 				<?php } ?>
 				</select>
 			</div>
@@ -22,7 +23,8 @@
 		<div class="form-group">
 			<label class="group-name" for="new_user_name"><?= _t('admin.user.username') ?></label>
 			<div class="group-controls">
-				<input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" placeholder="demo" />
+				<input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off"
+					pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" placeholder="demo" />
 			</div>
 		</div>
 
@@ -83,7 +85,7 @@
 		</thead>
 		<tbody>
 			<?php foreach ($this->users as $username => $values) : ?>
-				<tr <?php if ($values['is_default']):?>class="default-user"<?php endif; ?>>
+				<tr <?= $values['is_default'] ? 'class="default-user"' : '' ?>>
 					<td><a href="<?= _url('user', 'details', 'username', $username) ?>"><?= $username ?></a></td>
 					<td><?= $values['enabled'] ? '✔' : ' ' ?></td>
 					<td><?= $values['is_admin'] ? '✔' : ' ' ?></td>

+ 6 - 3
app/views/user/profile.phtml

@@ -40,7 +40,8 @@
 			<label class="group-name" for="newPasswordPlain"><?= _t('conf.profile.password_form') ?></label>
 			<div class="group-controls">
 				<div class="stick">
-					<input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
+					<input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password"
+						pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
 					<a class="btn toggle-password" data-toggle="newPasswordPlain"><?= _i('key') ?></a>
 				</div>
 				<p class="help"><?= _i('help') ?> <?= _t('conf.profile.password_format') ?></p>
@@ -56,7 +57,8 @@
 				<input type="text" id="token" name="token" value="<?= $token ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>"<?php
 					echo FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= $token ?>"/>
 				<p class="help"><?= _i('help') ?> <?= _t('admin.auth.token_help') ?></p>
-				<kbd><?= Minz_Url::display(array('a' => 'rss', 'params' => array('user' => Minz_Session::param('currentUser'), 'token' => $token, 'hours' => FreshRSS_Context::$user_conf->since_hours_posts_per_rss)), 'html', true) ?></kbd>
+				<kbd><?= Minz_Url::display(array('a' => 'rss', 'params' => array('user' => Minz_Session::param('currentUser'),
+					'token' => $token, 'hours' => FreshRSS_Context::$user_conf->since_hours_posts_per_rss)), 'html', true) ?></kbd>
 			</div>
 		</div>
 		<?php } ?>
@@ -78,7 +80,8 @@
 				<label class="group-name" for="apiPasswordPlain"><?= _t('conf.profile.password_api') ?></label>
 				<div class="group-controls">
 					<div class="stick">
-						<input type="password" id="apiPasswordPlain" name="apiPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
+						<input type="password" id="apiPasswordPlain" name="apiPasswordPlain" autocomplete="new-password"
+							pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/>
 						<a class="btn toggle-password" data-toggle="apiPasswordPlain"><?= _i('key') ?></a>
 					</div>
 					<p class="help"><?= _i('help') ?> <kbd><a href="../api/"><?= Minz_Url::display('/api/', 'html', true) ?></a></kbd></p>

+ 3 - 6
lib/Minz/Configuration.php

@@ -17,8 +17,7 @@ class Minz_Configuration {
 	 * @param $default_filename a filename containing default values for the configuration
 	 * @param $configuration_setter an optional helper to set values in configuration
 	 */
-	public static function register($namespace, $config_filename, $default_filename = null,
-	                                $configuration_setter = null) {
+	public static function register($namespace, $config_filename, $default_filename = null, $configuration_setter = null) {
 		self::$config_list[$namespace] = new Minz_Configuration(
 			$namespace, $config_filename, $default_filename, $configuration_setter
 		);
@@ -103,8 +102,7 @@ class Minz_Configuration {
 	 * @param $default_filename the file containing default values, null by default.
 	 * @param $configuration_setter an optional helper to set values in configuration
 	 */
-	private function __construct($namespace, $config_filename, $default_filename = null,
-	                             $configuration_setter = null) {
+	private function __construct($namespace, $config_filename, $default_filename = null, $configuration_setter = null) {
 		$this->namespace = $namespace;
 		$this->config_filename = $config_filename;
 		$this->default_filename = $default_filename;
@@ -206,8 +204,7 @@ class Minz_Configuration {
 		@rename($this->config_filename, $back_filename);
 
 		if (file_put_contents($this->config_filename,
-		                      "<?php\nreturn " . var_export($this->data, true) . ';',
-		                      LOCK_EX) === false) {
+			"<?php\nreturn " . var_export($this->data, true) . ';', LOCK_EX) === false) {
 			return false;
 		}
 

+ 1 - 2
lib/Minz/ControllerNotActionControllerException.php

@@ -1,8 +1,7 @@
 <?php
 class Minz_ControllerNotActionControllerException extends Minz_Exception {
 	public function __construct ($controller_name, $code = self::ERROR) {
-		$message = 'Controller `' . $controller_name
-		         . '` isn\'t instance of ActionController';
+		$message = 'Controller `' . $controller_name . '` isn’t instance of ActionController';
 
 		parent::__construct ($message, $code);
 	}

+ 2 - 4
lib/Minz/ExtensionException.php

@@ -3,11 +3,9 @@
 class Minz_ExtensionException extends Minz_Exception {
 	public function __construct ($message, $extension_name = false, $code = self::ERROR) {
 		if ($extension_name) {
-			$message = 'An error occured in `' . $extension_name
-			         . '` extension with the message: ' . $message;
+			$message = 'An error occured in `' . $extension_name . '` extension with the message: ' . $message;
 		} else {
-			$message = 'An error occured in an unnamed '
-			         . 'extension with the message: ' . $message;
+			$message = 'An error occured in an unnamed extension with the message: ' . $message;
 		}
 
 		parent::__construct($message, $code);

+ 19 - 23
lib/Minz/ExtensionManager.php

@@ -15,63 +15,63 @@ class Minz_ExtensionManager {
 
 	// List of available hooks. Please keep this list sorted.
 	private static $hook_list = array(
-		'check_url_before_add' => array(  // function($url) -> Url | null
+		'check_url_before_add' => array(	// function($url) -> Url | null
 			'list' => array(),
 			'signature' => 'OneToOne',
 		),
-		'entry_before_display' => array(  // function($entry) -> Entry | null
+		'entry_before_display' => array(	// function($entry) -> Entry | null
 			'list' => array(),
 			'signature' => 'OneToOne',
 		),
-		'entry_before_insert' => array(  // function($entry) -> Entry | null
+		'entry_before_insert' => array(	// function($entry) -> Entry | null
 			'list' => array(),
 			'signature' => 'OneToOne',
 		),
-		'feed_before_actualize' => array(  // function($feed) -> Feed | null
+		'feed_before_actualize' => array(	// function($feed) -> Feed | null
 			'list' => array(),
 			'signature' => 'OneToOne',
 		),
-		'feed_before_insert' => array(  // function($feed) -> Feed | null
+		'feed_before_insert' => array(	// function($feed) -> Feed | null
 			'list' => array(),
 			'signature' => 'OneToOne',
 		),
-		'freshrss_init' => array(  // function() -> none
+		'freshrss_init' => array(	// function() -> none
 			'list' => array(),
 			'signature' => 'NoneToNone',
 		),
-		'freshrss_user_maintenance' => array(  // function() -> none
+		'freshrss_user_maintenance' => array(	// function() -> none
 			'list' => array(),
 			'signature' => 'NoneToNone',
 		),
-		'js_vars' => array(  // function($vars = array) -> array | null
+		'js_vars' => array(	// function($vars = array) -> array | null
 			'list' => array(),
 			'signature' => 'OneToOne',
 		),
-		'menu_admin_entry' => array(  // function() -> string
+		'menu_admin_entry' => array(	// function() -> string
 			'list' => array(),
 			'signature' => 'NoneToString',
 		),
-		'menu_configuration_entry' => array(  // function() -> string
+		'menu_configuration_entry' => array(	// function() -> string
 			'list' => array(),
 			'signature' => 'NoneToString',
 		),
-		'menu_other_entry' => array(  // function() -> string
+		'menu_other_entry' => array(	// function() -> string
 			'list' => array(),
 			'signature' => 'NoneToString',
 		),
-		'nav_menu' => array(  // function() -> string
+		'nav_menu' => array(	// function() -> string
 			'list' => array(),
 			'signature' => 'NoneToString',
 		),
-		'nav_reading_modes' => array(  // function($readingModes = array) -> array | null
+		'nav_reading_modes' => array(	// function($readingModes = array) -> array | null
 			'list' => array(),
 			'signature' => 'OneToOne',
 		),
-		'post_update' => array(  // function(none) -> none
+		'post_update' => array(	// function(none) -> none
 			'list' => array(),
 			'signature' => 'NoneToNone',
 		),
-		'simplepie_before_init' => array(  // function($simplePie, $feed) -> none
+		'simplepie_before_init' => array(	// function($simplePie, $feed) -> none
 			'list' => array(),
 			'signature' => 'PassArguments',
 		),
@@ -144,9 +144,7 @@ class Minz_ExtensionManager {
 	 */
 	public static function isValidMetadata($meta) {
 		$valid_chars = array('_');
-		return !(empty($meta['name']) ||
-		         empty($meta['entrypoint']) ||
-		         !ctype_alnum(str_replace($valid_chars, '', $meta['entrypoint'])));
+		return !(empty($meta['name']) || empty($meta['entrypoint']) || !ctype_alnum(str_replace($valid_chars, '', $meta['entrypoint'])));
 	}
 
 	/**
@@ -163,8 +161,7 @@ class Minz_ExtensionManager {
 
 		// Test if the given extension class exists.
 		if (!class_exists($ext_class_name)) {
-			Minz_Log::warning('`' . $ext_class_name .
-			                  '` cannot be found in `' . $entry_point_filename . '`');
+			Minz_Log::warning("`{$ext_class_name}` cannot be found in `{$entry_point_filename}`");
 			return null;
 		}
 
@@ -174,14 +171,13 @@ class Minz_ExtensionManager {
 			$extension = new $ext_class_name($info);
 		} catch (Exception $e) {
 			// We cannot load the extension? Invalid!
-			Minz_Log::warning('Invalid extension `' . $ext_class_name . '`: ' . $e->getMessage());
+			Minz_Log::warning("Invalid extension `{$ext_class_name}`: " . $e->getMessage());
 			return null;
 		}
 
 		// Test if class is correct.
 		if (!($extension instanceof Minz_Extension)) {
-			Minz_Log::warning('`' . $ext_class_name .
-			                  '` is not an instance of `Minz_Extension`');
+			Minz_Log::warning("`{$ext_class_name}` is not an instance of `Minz_Extension`");
 			return null;
 		}
 

+ 2 - 6
lib/Minz/Log.php

@@ -30,9 +30,7 @@ class Minz_Log {
 			}
 		}
 
-		if (! ($env === 'silent'
-		       || ($env === 'production'
-		       && ($level >= LOG_NOTICE)))) {
+		if (! ($env === 'silent' || ($env === 'production' && ($level >= LOG_NOTICE)))) {
 			$username = Minz_Session::param('currentUser', '');
 			if ($username == '') {
 				$username = '_';
@@ -61,9 +59,7 @@ class Minz_Log {
 				$level_label = 'info';
 			}
 
-			$log = '[' . date('r') . ']'
-			     . ' [' . $level_label . ']'
-			     . ' --- ' . $information . "\n";
+			$log = '[' . date('r') . '] [' . $level_label . '] --- ' . $information . "\n";
 
 			if (defined('COPY_LOG_TO_SYSLOG') && COPY_LOG_TO_SYSLOG) {
 				syslog($level, '[' . $username . '] ' . trim($log));

+ 1 - 1
lib/Minz/Paginator.php

@@ -144,7 +144,7 @@ class Minz_Paginator {
 
 		return $array;
 	}
-	public function nbItemsPerPage  () {
+	public function nbItemsPerPage () {
 		return $this->nbItemsPerPage;
 	}
 	public function currentPage () {

+ 1 - 1
lib/lib_install.php

@@ -68,7 +68,7 @@ function checkRequirements($dbType = '') {
 		'favicons' => $favicons ? 'ok' : 'ko',
 		'message' => $message ?: '',
 		'all' => $php && $curl && $pdo && $pcre && $ctype && $dom && $xml &&
-		         $data && $cache && $tmp && $users && $favicons && $message == '' ? 'ok' : 'ko'
+			$data && $cache && $tmp && $users && $favicons && $message == '' ? 'ok' : 'ko'
 	);
 }
 

+ 5 - 4
lib/lib_rss.php

@@ -124,7 +124,7 @@ function escapeToUnicodeAlternative($text, $extended = true) {
 
 function format_number($n, $precision = 0) {
 	// number_format does not seem to be Unicode-compatible
-	return str_replace(' ', ' ',  //Espace fine insécable
+	return str_replace(' ', ' ',	//Espace fine insécable
 		number_format($n, $precision, '.', ' ')
 	);
 }
@@ -358,8 +358,8 @@ function get_user_configuration($username) {
 	$namespace = 'user_' . $username;
 	try {
 		Minz_Configuration::register($namespace,
-		                             join_path(USERS_PATH, $username, 'config.php'),
-		                             join_path(FRESHRSS_PATH, 'config-user.default.php'));
+			USERS_PATH . '/' . $username . '/config.php',
+			FRESHRSS_PATH . '/config-user.default.php');
 	} catch (Minz_ConfigurationNamespaceException $e) {
 		// namespace already exists, do nothing.
 		Minz_Log::warning($e->getMessage(), USERS_PATH . '/_/log.txt');
@@ -572,7 +572,8 @@ function errorMessage($errorTitle, $error = '') {
 	<h1>{$errorTitle}</h1>
 	{$error}
 	<h2>Common problems</h2>
-	<p>A typical problem leading to this message is wrong file permissions in the <code>./FreshRSS/data/</code> folder so make sure the Web server can write there and in sub-directories.</p>
+	<p>A typical problem leading to this message is wrong file permissions in the <code>./FreshRSS/data/</code> folder
+	so make sure the Web server can write there and in sub-directories.</p>
 	<h2>Common locations for additional logs</h2>
 	<p><strong>N.B.:</strong> Adapt names and paths according to your local setup.</p>
 	<ul>

+ 2 - 2
p/api/fever.php

@@ -13,7 +13,7 @@
 // ================================================================================================
 // BOOTSTRAP FreshRSS
 require(__DIR__ . '/../../constants.php');
-require(LIB_PATH . '/lib_rss.php');    //Includes class autoloader
+require(LIB_PATH . '/lib_rss.php');	//Includes class autoloader
 FreshRSS_Context::initSystem();
 
 // check if API is enabled globally
@@ -506,7 +506,7 @@ class FeverAPI
 			if (!ctype_digit($max_id)) {
 				$max_id = null;
 			}
-		} else if (isset($_REQUEST['with_ids'])) {
+		} elseif (isset($_REQUEST['with_ids'])) {
 			$entry_ids = explode(',', $_REQUEST['with_ids']);
 		} else {
 			// use the since_id argument to request the next $item_limit items

+ 9 - 5
p/api/greader.php

@@ -147,7 +147,8 @@ function checkCompatibility() {
 }
 
 function authorizationToUser() {
-	$headerAuth = headerVariable('Authorization', 'GoogleLogin_auth');	//Input is 'GoogleLogin auth', but PHP replaces spaces by '_'	http://php.net/language.variables.external
+	//Input is 'GoogleLogin auth', but PHP replaces spaces by '_'	http://php.net/language.variables.external
+	$headerAuth = headerVariable('Authorization', 'GoogleLogin_auth');
 	if ($headerAuth != '') {
 		$headerAuthX = explode('/', $headerAuth, 2);
 		if (count($headerAuthX) === 2) {
@@ -864,7 +865,7 @@ function editTag($e_ids, $a, $r) {
 
 function renameTag($s, $dest) {
 	if ($s != '' && strpos($s, 'user/-/label/') === 0 &&
-		$dest != '' &&  strpos($dest, 'user/-/label/') === 0) {
+		$dest != '' && strpos($dest, 'user/-/label/') === 0) {
 		$s = substr($s, 13);
 		$s = htmlspecialchars($s, ENT_COMPAT, 'UTF-8');
 		$dest = substr($dest, 13);
@@ -990,8 +991,10 @@ if ($pathInfos[1] === 'accounts') {
 			 * request, but xt appears in other listing requests). */
 			$exclude_target = isset($_GET['xt']) ? $_GET['xt'] : '';
 			$filter_target = isset($_GET['it']) ? $_GET['it'] : '';
-			$count = isset($_GET['n']) ? intval($_GET['n']) : 20;	//n=[integer] : The maximum number of results to return.
-			$order = isset($_GET['r']) ? $_GET['r'] : 'd';	//r=[d|n|o] : Sort order of item results. d or n gives items in descending date order, o in ascending order.
+			//n=[integer] : The maximum number of results to return.
+			$count = isset($_GET['n']) ? intval($_GET['n']) : 20;
+			//r=[d|n|o] : Sort order of item results. d or n gives items in descending date order, o in ascending order.
+			$order = isset($_GET['r']) ? $_GET['r'] : 'd';
 			/* ot=[unix timestamp] : The time from which you want to retrieve
 			 * items. Only items that have been crawled by Google Reader after
 			 * this time will be returned. */
@@ -1030,7 +1033,8 @@ if ($pathInfos[1] === 'accounts') {
 							if ($pathInfos[9] === 'com.google' && isset($pathInfos[10])) {
 								if ($pathInfos[10] === 'reading-list' || $pathInfos[10] === 'starred') {
 									$include_target = '';
-									streamContents($pathInfos[10], $include_target, $start_time, $stop_time, $count, $order, $filter_target, $exclude_target, $continuation);
+									streamContents($pathInfos[10], $include_target, $start_time, $stop_time, $count, $order,
+										$filter_target, $exclude_target, $continuation);
 								}
 							}
 						} elseif ($pathInfos[8] === 'label') {

+ 2 - 1
p/ext.php

@@ -79,7 +79,8 @@ function is_valid_path_extension($path, $extensionPath, $isStatic = true) {
  *
  */
 function is_valid_path($path) {
-	return is_valid_path_extension($path, CORE_EXTENSIONS_PATH) || is_valid_path_extension($path, THIRDPARTY_EXTENSIONS_PATH) || is_valid_path_extension($path, USERS_PATH, $false);
+	return is_valid_path_extension($path, CORE_EXTENSIONS_PATH) || is_valid_path_extension($path, THIRDPARTY_EXTENSIONS_PATH)
+		|| is_valid_path_extension($path, USERS_PATH, $false);
 }
 
 function sendBadRequestResponse(string $message = null) {

+ 2 - 2
p/scripts/install.js

@@ -17,7 +17,7 @@ function hide_password(ev) {
 	return false;
 }
 const toggles = document.getElementsByClassName('toggle-password');
-for (let i = 0 ; i < toggles.length ; i++) {
+for (let i = 0; i < toggles.length; i++) {
 	toggles[i].addEventListener('mousedown', show_password);
 	toggles[i].addEventListener('mouseup', hide_password);
 }
@@ -68,7 +68,7 @@ function ask_confirmation(ev) {
 	}
 }
 const confirms = document.getElementsByClassName('confirm');
-for (let i = 0 ; i < confirms.length ; i++) {
+for (let i = 0; i < confirms.length; i++) {
 	confirms[i].addEventListener('click', ask_confirmation);
 }
 // @license-end

+ 31 - 31
p/scripts/integration.js

@@ -9,41 +9,41 @@ const init_integration = function() {
 		}
 		setTimeout(init_integration, 50);
 		return;
-    }
+	}
 
-    let shares = document.querySelectorAll('.group-share').length;
-    document.querySelector('.share.add').addEventListener('click', event => {
-        const shareTypes = event.target.closest('.group-controls').querySelector('select');
-        const shareType = shareTypes.options[shareTypes.selectedIndex];
-        let newShare = event.target.closest('form').getAttribute(`data-${shareType.getAttribute('data-form')}`);
-        newShare = newShare.replace(/##label##/g, shareType.text);
-        newShare = newShare.replace(/##type##/g, shareType.value);
-        newShare = newShare.replace(/##help##/g, shareType.getAttribute('data-help'));
-        newShare = newShare.replace(/##key##/g, shares);
-        newShare = newShare.replace(/##method##/g, shareType.getAttribute('data-method'));
-        newShare = newShare.replace(/##field##/g, shareType.getAttribute('data-field'));
-        event.target.closest('.form-group').insertAdjacentHTML('beforebegin', newShare);
-        shares++;
-    });
+	let shares = document.querySelectorAll('.group-share').length;
+	document.querySelector('.share.add').addEventListener('click', event => {
+		const shareTypes = event.target.closest('.group-controls').querySelector('select');
+		const shareType = shareTypes.options[shareTypes.selectedIndex];
+		let newShare = event.target.closest('form').getAttribute('data-' + shareType.getAttribute('data-form'));
+		newShare = newShare.replace(/##label##/g, shareType.text);
+		newShare = newShare.replace(/##type##/g, shareType.value);
+		newShare = newShare.replace(/##help##/g, shareType.getAttribute('data-help'));
+		newShare = newShare.replace(/##key##/g, shares);
+		newShare = newShare.replace(/##method##/g, shareType.getAttribute('data-method'));
+		newShare = newShare.replace(/##field##/g, shareType.getAttribute('data-field'));
+		event.target.closest('.form-group').insertAdjacentHTML('beforebegin', newShare);
+		shares++;
+	});
 
-    document.querySelector('.post').addEventListener('click', event => {
-        if (!event.target || !event.target.closest) {
-            return;
-        }
+	document.querySelector('.post').addEventListener('click', event => {
+		if (!event.target || !event.target.closest) {
+			return;
+		}
 
-        const deleteButton = event.target.closest('a.remove');
-        if (null === deleteButton || !deleteButton.closest) {
-            return;
-        }
+		const deleteButton = event.target.closest('a.remove');
+		if (null === deleteButton || !deleteButton.closest) {
+			return;
+		}
 
-        const share = deleteButton.closest('.group-share');
-        const form = deleteButton.closest('form');
-        if (!share.remove || !form.submit) {
-            return;
-        }
-        share.remove();
-        form.submit();
-    });
+		const share = deleteButton.closest('.group-share');
+		const form = deleteButton.closest('form');
+		if (!share.remove || !form.submit) {
+			return;
+		}
+		share.remove();
+		form.submit();
+	});
 };
 
 if (document.readyState && document.readyState !== 'loading') {

+ 7 - 4
p/scripts/main.js

@@ -21,8 +21,11 @@ if (!Element.prototype.remove) Element.prototype.remove = function () { if (this
 function xmlHttpRequestJson(req) {
 	let json = req.response;
 	if (req.responseType !== 'json') {	//IE11
-		try { json = JSON.parse(req.responseText); }
-		catch (ex) { json = null; }
+		try {
+			json = JSON.parse(req.responseText);
+		} catch (ex) {
+			json = null;
+		}
 	}
 	return json;
 }
@@ -81,7 +84,7 @@ function numberFormat(nStr) {
 		rgx = /(\d+)(\d{3})/;
 	let x1 = x[0];
 	while (rgx.test(x1)) {
-		x1 = x1.replace(rgx, '$1' + ' ' + '$2');
+		x1 = x1.replace(rgx, '$1 $2');
 	}
 	return x1 + x2;
 }
@@ -908,7 +911,7 @@ function init_shortcuts() {
 			if (k === s.reading_view) { delayedClick(document.querySelector('#nav_menu_views .view-reader')); return false; }
 			if (k === s.global_view) { delayedClick(document.querySelector('#nav_menu_views .view-global')); return false; }
 			if (k === s.rss_view) { delayedClick(document.querySelector('#nav_menu_views .view-rss')); return false; }
-			if (k === s.toggle_media) { toggle_media(); return false;}
+			if (k === s.toggle_media) { toggle_media(); return false; }
 			return true;
 		};
 }

+ 8 - 4
p/scripts/stats.js

@@ -32,7 +32,7 @@ function initStats() {
 			grid: {verticalLines: false},
 			xaxis: {noTicks: 6, showLabels: false, tickDecimals: 0, min: -30.75, max: -0.25},
 			yaxis: {min: 0},
-			mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return numberFormat(obj.y);}}
+			mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function (obj) { return numberFormat(obj.y); }},
 		});
 	// Feed per category
 	Flotr.draw(document.getElementById('statsFeedPerCategory'),
@@ -42,7 +42,9 @@ function initStats() {
 			pie: {explode: 10, show: true, labelFormatter: function(){return '';}},
 			xaxis: {showLabels: false},
 			yaxis: {showLabels: false},
-			mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}},
+			mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function (obj) {
+				return obj.series.label + ' - ' + numberFormat(obj.y) + ' (' + (obj.fraction * 100).toFixed(1) + '%)';
+			}},
 			legend: {container: document.getElementById('statsFeedPerCategoryLegend'), noColumns: 3}
 		});
 	// Entry per category
@@ -50,10 +52,12 @@ function initStats() {
 		stats.entryByCategory,
 		{
 			grid: {verticalLines: false, horizontalLines: false},
-			pie: {explode: 10, show: true, labelFormatter: function(){return '';}},
+			pie: {explode: 10, show: true, labelFormatter: function () { return ''; }},
 			xaxis: {showLabels: false},
 			yaxis: {showLabels: false},
-			mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}},
+			mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function (obj) {
+				return obj.series.label + ' - ' + numberFormat(obj.y) + ' (' + (obj.fraction * 100).toFixed(1) + '%)';
+			}},
 			legend: {container: document.getElementById('statsEntryPerCategoryLegend'), noColumns: 3}
 		});
 }

+ 1 - 1
p/themes/Alternative-Dark/adark.rtl.css

@@ -695,7 +695,7 @@ a.btn {
 .prompt .stick,
 .prompt input {
 	width: 100%;
-	box-sizing: border-box;	
+	box-sizing: border-box;
 }
 
 .prompt .btn.btn-important {

+ 897 - 897
p/themes/Ansum/ansum.css

@@ -1,216 +1,216 @@
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
 }
 /* stylelint-disable property-no-vendor-prefix */
 /* FUNCTIONS */
 /* btns */
 .btn {
-  margin: 0;
-  padding: 0.5rem 1.5rem;
-  background: #fcfaf8;
-  display: inline-block;
-  color: #766556;
-  font-size: 1rem;
-  border: none;
-  border-radius: 5px;
-  min-height: 38px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	margin: 0;
+	padding: 0.5rem 1.5rem;
+	background: #fcfaf8;
+	display: inline-block;
+	color: #766556;
+	font-size: 1rem;
+	border: none;
+	border-radius: 5px;
+	min-height: 38px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .btn.btn-important {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .btn.btn-important:hover, .btn.btn-important:active {
-  background: #b7641d;
+	background: #b7641d;
 }
 .btn.btn-attention {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .btn.btn-attention:hover, .btn.btn-attention:active {
-  background: #73341f;
+	background: #73341f;
 }
 .btn:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 a.btn {
-  min-height: 25px;
-  line-height: 25px;
+	min-height: 25px;
+	line-height: 25px;
 }
 
 /*=== Forms */
 legend {
-  margin: 2rem 0 1rem 0;
-  padding: 0;
-  display: inline-block;
-  width: auto;
-  font-size: 1rem;
-  clear: both;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  font-weight: 700;
+	margin: 2rem 0 1rem 0;
+	padding: 0;
+	display: inline-block;
+	width: auto;
+	font-size: 1rem;
+	clear: both;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	font-weight: 700;
 }
 
 label {
-  min-height: 25px;
-  padding: 5px 0;
-  cursor: pointer;
-  color: #766556;
+	min-height: 25px;
+	padding: 5px 0;
+	cursor: pointer;
+	color: #766556;
 }
 
 textarea {
-  width: 360px;
-  max-width: 100%;
-  height: 100px;
+	width: 360px;
+	max-width: 100%;
+	height: 100px;
 }
 
 input, select, textarea, button {
-  padding: 5px 10px;
-  background: #fff;
-  color: #766556;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 1rem;
-  border: 1px solid #f5f0ec;
-  border-radius: 2px;
-  min-height: 25px;
-  line-height: 25px;
-  vertical-align: middle;
+	padding: 5px 10px;
+	background: #fff;
+	color: #766556;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 1rem;
+	border: 1px solid #f5f0ec;
+	border-radius: 2px;
+	min-height: 25px;
+	line-height: 25px;
+	vertical-align: middle;
 }
 
 option {
-  padding: 0 0.5em;
+	padding: 0 0.5em;
 }
 
 input:focus, select:focus, textarea:focus {
-  color: #363330;
-  border-color: #ca7227;
+	color: #363330;
+	border-color: #ca7227;
 }
 
 input:invalid, select:invalid {
-  color: #f5633e;
-  border-color: #f5633e;
-  box-shadow: none;
+	color: #f5633e;
+	border-color: #f5633e;
+	box-shadow: none;
 }
 
 input:disabled, select:disabled {
-  background: #f5f0ec;
+	background: #f5f0ec;
 }
 
 input.extend {
-  transition: width 200ms linear;
+	transition: width 200ms linear;
 }
 
 .form-group {
-  padding: 5px;
-  border-radius: 3px;
+	padding: 5px;
+	border-radius: 3px;
 }
 .form-group::after {
-  content: "";
-  display: block;
-  clear: both;
+	content: "";
+	display: block;
+	clear: both;
 }
 .form-group .group-name {
-  padding: 10px 0;
-  text-align: right;
+	padding: 10px 0;
+	text-align: right;
 }
 .form-group .group-controls {
-  min-height: 25px;
-  padding: 5px 0;
+	min-height: 25px;
+	padding: 5px 0;
 }
 .form-group .group-controls .control {
-  line-height: 2em;
+	line-height: 2em;
 }
 .form-group table {
-  margin: 10px 0 0 220px;
+	margin: 10px 0 0 220px;
 }
 .form-group.form-actions {
-  margin: 15px 0 25px;
-  padding: 5px 0;
+	margin: 15px 0 25px;
+	padding: 5px 0;
 }
 .form-group.form-actions .btn {
-  margin: 0 0.5rem 0 0;
+	margin: 0 0.5rem 0 0;
 }
 
 /*=== Tables */
 table {
-  border-collapse: collapse;
+	border-collapse: collapse;
 }
 
 tr, th, td {
-  padding: 0.5em;
-  border: 1px solid #e4d8cc;
+	padding: 0.5em;
+	border: 1px solid #e4d8cc;
 }
 
 th {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 
 form td,
 form th {
-  font-weight: normal;
-  text-align: center;
+	font-weight: normal;
+	text-align: center;
 }
 
 /*=== COMPONENTS */
@@ -218,422 +218,422 @@ form th {
 /*=== Forms */
 /*=== Horizontal-list */
 .horizontal-list {
-  margin: 0;
-  padding: 0.1rem 0;
+	margin: 0;
+	padding: 0.1rem 0;
 }
 .horizontal-list .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .horizontal-list .item:first-child {
-  padding-left: 0.5rem;
+	padding-left: 0.5rem;
 }
 
 /*=== Dropdown */
 .dropdown-menu {
-  margin: 0;
-  padding: 0.5rem 0 1rem 0;
-  background: #fcfaf8;
-  font-size: 1rem;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
-  text-align: left;
+	margin: 0;
+	padding: 0.5rem 0 1rem 0;
+	background: #fcfaf8;
+	font-size: 1rem;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	text-align: left;
 }
 .dropdown-menu::after {
-  background: white;
-  width: 10px;
-  height: 10px;
-  content: "";
-  position: absolute;
-  top: -4px;
-  right: 13px;
-  z-index: -10;
-  transform: rotate(45deg);
+	background: white;
+	width: 10px;
+	height: 10px;
+	content: "";
+	position: absolute;
+	top: -4px;
+	right: 13px;
+	z-index: -10;
+	transform: rotate(45deg);
 }
 .dropdown-menu .dropdown-header {
-  margin: 1.75rem 0 0.5rem 2rem;
-  font-weight: bold;
-  text-align: left;
-  color: #766556;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	margin: 1.75rem 0 0.5rem 2rem;
+	font-weight: bold;
+	text-align: left;
+	color: #766556;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .dropdown-menu .item {
-  -webkit-transition: all 0.075s ease-in-out;
-  -moz-transition: all 0.075s ease-in-out;
-  -o-transition: all 0.075s ease-in-out;
-  transition: all 0.075s ease-in-out;
+	-webkit-transition: all 0.075s ease-in-out;
+	-moz-transition: all 0.075s ease-in-out;
+	-o-transition: all 0.075s ease-in-out;
+	transition: all 0.075s ease-in-out;
 }
 .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link {
-  padding: 0 2rem;
-  color: #363330;
-  font-size: 1rem;
-  line-height: 2.5em;
+	padding: 0 2rem;
+	color: #363330;
+	font-size: 1rem;
+	line-height: 2.5em;
 }
 .dropdown-menu .item:hover {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .dropdown-menu .item:hover a, .dropdown-menu .item:hover button {
-  text-decoration: none;
-  color: #fff;
+	text-decoration: none;
+	color: #fff;
 }
 .dropdown-menu .item[aria-checked=true] a::before {
-  margin: 0 0 0 -14px;
-  font-weight: bold;
+	margin: 0 0 0 -14px;
+	font-weight: bold;
 }
 .dropdown-menu .input select, .dropdown-menu .input input {
-  margin: 0 auto 5px;
-  padding: 2px 5px;
-  border-radius: 3px;
+	margin: 0 auto 5px;
+	padding: 2px 5px;
+	border-radius: 3px;
 }
 .dropdown-menu .separator {
-  margin: 0.75rem 0;
-  border-bottom: 1px solid #f5f0ec;
+	margin: 0.75rem 0;
+	border-bottom: 1px solid #f5f0ec;
 }
 
 .tree .tree-folder .tree-folder-items .dropdown-menu .item {
-  padding: 0;
+	padding: 0;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button {
-  color: #363330;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover {
-  background: #ca7227;
+	background: #ca7227;
 }
 
 /*=== Alerts */
 .alert {
-  margin: 1rem 0;
-  padding: 1rem;
-  background: #fcfaf8;
-  color: #766556;
-  font-size: 1rem;
-  border: 1px solid #d9ccbf;
-  border-radius: 3px;
-  text-shadow: 0 0 1px #f5f0ec;
+	margin: 1rem 0;
+	padding: 1rem;
+	background: #fcfaf8;
+	color: #766556;
+	font-size: 1rem;
+	border: 1px solid #d9ccbf;
+	border-radius: 3px;
+	text-shadow: 0 0 1px #f5f0ec;
 }
 
 .alert-head {
-  font-size: 1.15em;
+	font-size: 1.15em;
 }
 
 .alert > a {
-  text-decoration: underline;
-  color: inherit;
+	text-decoration: underline;
+	color: inherit;
 }
 
 .alert-warn {
-  background: #fdfde0;
-  color: #73762f;
-  border: 1px solid #73762f33;
+	background: #fdfde0;
+	color: #73762f;
+	border: 1px solid #73762f33;
 }
 
 .alert-success {
-  background: #cffdef;
-  color: #0c7556;
-  border: 1px solid #0c755633;
+	background: #cffdef;
+	color: #0c7556;
+	border: 1px solid #0c755633;
 }
 
 .alert-error {
-  background: #fde0d8;
-  color: #73341f;
-  border: 1px solid #73341f33;
+	background: #fde0d8;
+	color: #73341f;
+	border: 1px solid #73341f33;
 }
 
 /*=== Pagination */
 .pagination {
-  background: #f5f0ec;
-  color: #363330;
-  font-size: 0.8em;
-  text-align: center;
+	background: #f5f0ec;
+	color: #363330;
+	font-size: 0.8em;
+	text-align: center;
 }
 .pagination .item.pager-current {
-  background: #fbf9f6;
-  color: #f5f0ec;
-  font-size: 1.5em;
-  font-weight: bold;
+	background: #fbf9f6;
+	color: #f5f0ec;
+	font-size: 1.5em;
+	font-weight: bold;
 }
 .pagination .item a {
-  display: block;
-  color: #363330;
-  font-style: italic;
-  line-height: 3em;
-  text-decoration: none;
+	display: block;
+	color: #363330;
+	font-style: italic;
+	line-height: 3em;
+	text-decoration: none;
 }
 .pagination .item a:hover {
-  background: #363330;
-  color: #f5f0ec;
+	background: #363330;
+	color: #f5f0ec;
 }
 .pagination .loading,
 .pagination a:hover.loading {
-  background: url("loader.gif") center center no-repeat #34495e;
-  font-size: 0;
+	background: url("loader.gif") center center no-repeat #34495e;
+	font-size: 0;
 }
 
 .content .pagination {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 
 /*=== Boxes */
 .box {
-  background: #fff;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
+	background: #fff;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
 }
 .box .box-title {
-  margin: 0;
-  padding: 0.5rem 0.75rem;
-  background: #f5f0ec;
-  color: #363330;
-  border-radius: 2px 2px 0 0;
+	margin: 0;
+	padding: 0.5rem 0.75rem;
+	background: #f5f0ec;
+	color: #363330;
+	border-radius: 2px 2px 0 0;
 }
 .box .box-title img {
-  margin-right: 0.75rem;
+	margin-right: 0.75rem;
 }
 .box .box-title:hover .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: left;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: visible;
-  margin-right: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: left;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: visible;
+	margin-right: 0.5rem;
 }
 .box .box-title:hover .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-title:hover .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
 }
 .box .box-title .configure {
-  visibility: hidden;
+	visibility: hidden;
 }
 .box .box-title form input {
-  width: 85%;
+	width: 85%;
 }
 .box .box-title form .dropdown {
-  float: right;
+	float: right;
 }
 .box .box-title form .dropdown a.dropdown-toggle {
-  padding: 0;
-  border-radius: 0;
-  background-image: url(icons/more.svg);
-  background-repeat: no-repeat;
-  background-position: right 8px;
+	padding: 0;
+	border-radius: 0;
+	background-image: url(icons/more.svg);
+	background-repeat: no-repeat;
+	background-position: right 8px;
 }
 .box .box-title form .dropdown a.dropdown-toggle img {
-  display: none;
+	display: none;
 }
 .box .box-content .item {
-  padding: 0.5rem 0.75rem;
-  color: #363330;
-  font-size: 1rem;
-  border-bottom: 1px solid #f5f0ec;
-  line-height: 1.7em;
+	padding: 0.5rem 0.75rem;
+	color: #363330;
+	font-size: 1rem;
+	border-bottom: 1px solid #f5f0ec;
+	line-height: 1.7em;
 }
 .box .box-content .item img {
-  margin-right: 0.75rem;
+	margin-right: 0.75rem;
 }
 .box .box-content .item .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: left;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: hidden;
-  margin-right: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: left;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: hidden;
+	margin-right: 0.5rem;
 }
 .box .box-content .item .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-content .item .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
 }
 .box .box-content .item:hover .configure {
-  visibility: visible;
+	visibility: visible;
 }
 .box .box-content .item:last-child {
-  border-bottom: none;
+	border-bottom: none;
 }
 
 /*=== "Load more" part */
 #bigMarkAsRead {
-  text-align: center;
-  text-decoration: none;
-  background: #fdf6ef;
-  color: #ca7227;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	text-align: center;
+	text-decoration: none;
+	background: #fdf6ef;
+	color: #ca7227;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 #bigMarkAsRead:hover {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 #bigMarkAsRead:hover .bigTick {
-  background: url(icons/tick-white.svg) center no-repeat;
+	background: url(icons/tick-white.svg) center no-repeat;
 }
 #bigMarkAsRead .bigTick {
-  margin: 0.5rem 0;
-  background: url(icons/tick-color.svg) center no-repeat;
-  display: inline-block;
-  width: 64px;
-  height: 64px;
-  text-indent: -9999px;
-  white-space: nowrap;
+	margin: 0.5rem 0;
+	background: url(icons/tick-color.svg) center no-repeat;
+	display: inline-block;
+	width: 64px;
+	height: 64px;
+	text-indent: -9999px;
+	white-space: nowrap;
 }
 
 .formLogin {
-  background: #fbf9f6;
+	background: #fbf9f6;
 }
 .formLogin .header .configure {
-  padding-right: 1rem;
+	padding-right: 1rem;
 }
 .formLogin .header .configure img {
-  margin-right: 0.5rem;
+	margin-right: 0.5rem;
 }
 .formLogin .header .configure a.signin {
-  color: #fff;
+	color: #fff;
 }
 .formLogin h1 {
-  color: #fff;
+	color: #fff;
 }
 .formLogin form#crypto-form div {
-  margin-bottom: 1rem;
+	margin-bottom: 1rem;
 }
 .formLogin form#crypto-form div label {
-  color: #d9ccbf;
-  font-size: 1rem;
+	color: #d9ccbf;
+	font-size: 1rem;
 }
 .formLogin form#crypto-form div input {
-  background: #221f1d;
+	background: #221f1d;
 }
 .formLogin form#crypto-form div input:focus {
-  background: #fcfaf8;
-  color: #363330;
+	background: #fcfaf8;
+	color: #363330;
 }
 
 /*=== DIVERS */
 /*===========*/
 .aside.aside_feed .nav-form input,
 .aside.aside_feed .nav-form select {
-  width: 140px;
+	width: 140px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu {
-  right: -20px;
+	right: -20px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
-  right: 33px;
+	right: 33px;
 }
 
 /*=== Tree */
 .tree {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 .tree#sidebar {
-  scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
-  scrollbar-color: #36333033 #36333022;
+	scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
+	scrollbar-color: #36333033 #36333022;
 }
 .tree .tree-folder {
-  border-bottom: 1px solid #f0e7da;
-  box-shadow: inset -1px -11px 8px #0003;
+	border-bottom: 1px solid #f0e7da;
+	box-shadow: inset -1px -11px 8px #0003;
 }
 .tree .tree-folder .tree-folder-title {
-  padding: 12px 16px;
-  background: #fbf9f6;
-  position: relative;
-  font-size: 0.85rem;
-  letter-spacing: 1px;
-  font-weight: 700;
-  text-transform: uppercase;
+	padding: 12px 16px;
+	background: #fbf9f6;
+	position: relative;
+	font-size: 0.85rem;
+	letter-spacing: 1px;
+	font-weight: 700;
+	text-transform: uppercase;
 }
 .tree .tree-folder .tree-folder-title .title {
-  background: inherit;
-  color: #363330;
+	background: inherit;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-title .title:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 .tree .tree-folder.active .tree-folder-title {
-  background: #fbf9f6;
-  font-weight: bold;
+	background: #fbf9f6;
+	font-weight: bold;
 }
 .tree .tree-folder .tree-folder-items {
-  background: #f7f2ea;
+	background: #f7f2ea;
 }
 .tree .tree-folder .tree-folder-items .item {
-  padding: 0 1rem;
-  line-height: 2.5rem;
-  font-size: 1rem;
-  font-weight: 400;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 0 1rem;
+	line-height: 2.5rem;
+	font-size: 1rem;
+	font-weight: 400;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .tree .tree-folder .tree-folder-items .item.active {
-  background: #ca7227;
+	background: #ca7227;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a {
-  color: #363330;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover {
-  color: #363330;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .item.active a {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .item:hover {
-  background: #efe3d3;
+	background: #efe3d3;
 }
 .tree .tree-folder .tree-folder-items .item a {
-  text-decoration: none;
-  color: #363330;
+	text-decoration: none;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before {
-  margin: 11px 6px 0 4px;
-  padding: 3px 4px;
-  background: rgba(35, 35, 0, 0.15);
-  display: block;
-  float: left;
-  font-size: 0.75rem;
-  border-radius: 12px;
-  content: attr(data-unread);
-  text-align: center;
-  line-height: 0.75rem;
+	margin: 11px 6px 0 4px;
+	padding: 3px 4px;
+	background: rgba(35, 35, 0, 0.15);
+	display: block;
+	float: left;
+	font-size: 0.75rem;
+	border-radius: 12px;
+	content: attr(data-unread);
+	text-align: center;
+	line-height: 0.75rem;
 }
 
 /*=== Buttons */
 .stick {
-  vertical-align: middle;
-  font-size: 0;
+	vertical-align: middle;
+	font-size: 0;
 }
 .stick input, .stick .btn {
-  border-radius: 0;
+	border-radius: 0;
 }
 .stick .btn:first-child,
 .stick input:first-child {
-  border-radius: 5px 0 0 5px;
+	border-radius: 5px 0 0 5px;
 }
 .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn {
-  border-radius: 0 5px 5px 0;
+	border-radius: 0 5px 5px 0;
 }
 .stick .btn + .btn,
 .stick .btn + input,
@@ -644,981 +644,981 @@ form th {
 .stick .dropdown + .btn,
 .stick .dropdown + input,
 .stick .dropdown + .dropdown > .btn {
-  border-left: 1px solid #e4d8cc;
+	border-left: 1px solid #e4d8cc;
 }
 
 .aside {
-  background: #fbf9f6;
+	background: #fbf9f6;
 }
 .aside.aside_feed {
-  padding: 10px 0;
-  text-align: center;
-  background: #fbf9f6;
-  border-right: 1px solid #f0e7da;
+	padding: 10px 0;
+	text-align: center;
+	background: #fbf9f6;
+	border-right: 1px solid #f0e7da;
 }
 .aside.aside_feed .tree {
-  margin: 10px 0 50px;
+	margin: 10px 0 50px;
 }
 
 /* Sidebar des pages de configuration */
 /*=== Navigation */
 .nav-list .nav-header,
 .nav-list .item {
-  height: 2.5em;
-  line-height: 2.5em;
-  font-size: 1rem;
+	height: 2.5em;
+	line-height: 2.5em;
+	font-size: 1rem;
 }
 .nav-list .item {
-  background: #fbf9f6;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #fbf9f6;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav-list .item a {
-  padding: 0 1rem;
-  color: #363330;
+	padding: 0 1rem;
+	color: #363330;
 }
 .nav-list .item .error a {
-  color: #f5633e;
+	color: #f5633e;
 }
 .nav-list .item:hover {
-  background: #efe3d3;
-  color: #363330;
+	background: #efe3d3;
+	color: #363330;
 }
 .nav-list .item:hover .error a {
-  background: #ca7227;
-  color: #363330;
+	background: #ca7227;
+	color: #363330;
 }
 .nav-list .item:hover .empty a {
-  background: #f4f762;
-  color: #363330;
+	background: #f4f762;
+	color: #363330;
 }
 .nav-list .item:hover a {
-  color: #363330;
-  text-decoration: none;
+	color: #363330;
+	text-decoration: none;
 }
 .nav-list .item.active {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .nav-list .item.active .error a {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .nav-list .item.active .empty a {
-  background: #f4f762;
-  color: #fff;
+	background: #f4f762;
+	color: #fff;
 }
 .nav-list .item.active a {
-  color: #fff;
-  text-decoration: none;
+	color: #fff;
+	text-decoration: none;
 }
 .nav-list.empty a {
-  color: #f4f762;
+	color: #f4f762;
 }
 .nav-list .disable {
-  text-align: center;
-  background: #fcfaf8;
-  color: #ba9;
+	text-align: center;
+	background: #fcfaf8;
+	color: #ba9;
 }
 .nav-list .nav-header {
-  padding: 0 10px;
-  font-weight: bold;
-  color: #766556;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  margin-top: 1rem;
+	padding: 0 10px;
+	font-weight: bold;
+	color: #766556;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	margin-top: 1rem;
 }
 .nav-list .nav-form {
-  padding: 3px;
-  text-align: center;
+	padding: 3px;
+	text-align: center;
 }
 .nav-list .nav-head {
-  margin: 0;
-  text-align: right;
-  color: #fff;
+	margin: 0;
+	text-align: right;
+	color: #fff;
 }
 .nav-list .nav-head a {
-  color: #fff;
+	color: #fff;
 }
 .nav-list .nav-head .item {
-  padding: 5px 10px;
-  font-size: 0.9rem;
-  line-height: 1.5rem;
+	padding: 5px 10px;
+	font-size: 0.9rem;
+	line-height: 1.5rem;
 }
 
 /*=== Aside main page (categories) */
 .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after {
-  margin: -0.5rem 1rem 0 0;
-  padding: 0 0.75rem;
-  background: rgba(35, 35, 0, 0.15);
-  border-radius: 12px;
-  position: absolute;
-  right: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 1rem 0 0;
+	padding: 0 0.75rem;
+	background: rgba(35, 35, 0, 0.15);
+	border-radius: 12px;
+	position: absolute;
+	right: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 
 .feed.item.empty.active {
-  background: #766556;
+	background: #766556;
 }
 
 .feed.item.error.active {
-  background: #766556;
+	background: #766556;
 }
 
 .feed.item.empty,
 .feed.item.empty > a {
-  color: #766556;
+	color: #766556;
 }
 
 .feed.item.error,
 .feed.item.error > a {
-  color: #766556;
+	color: #766556;
 }
 
 .feed.item.empty.active,
 .feed.item.error.active,
 .feed.item.empty.active > a,
 .feed.item.error.active > a {
-  color: #fff;
+	color: #fff;
 }
 
 .aside_feed .tree-folder-items .dropdown-menu::after {
-  left: 2px;
+	left: 2px;
 }
 
 .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon {
-  border-radius: 3px;
+	border-radius: 3px;
 }
 
 .aside_feed .stick #btn-add {
-  border-left-color: #fbf9f6;
+	border-left-color: #fbf9f6;
 }
 
 /*=== STRUCTURE */
 /*===============*/
 /*=== Header */
 .header {
-  padding: 0.5rem 1.35rem;
-  background: #fbf9f6;
-  display: block;
-  width: auto;
-  table-layout: none;
+	padding: 0.5rem 1.35rem;
+	background: #fbf9f6;
+	display: block;
+	width: auto;
+	table-layout: none;
 }
 .header .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .header .item.title {
-  width: 280px;
-  font-weight: 400;
+	width: 280px;
+	font-weight: 400;
 }
 .header .item.title h1 a {
-  text-decoration: none;
-  color: #363330;
-  font-size: 1rem;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	text-decoration: none;
+	color: #363330;
+	font-size: 1rem;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .header .item.title h1 a img {
-  margin-right: 0.5rem;
+	margin-right: 0.5rem;
 }
 .header .item.search input {
-  width: 230px;
-  color: #363330;
-  border: none;
-  border-radius: 2px 0 0 2px;
-  background-color: #f7f2ea;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	width: 230px;
+	color: #363330;
+	border: none;
+	border-radius: 2px 0 0 2px;
+	background-color: #f7f2ea;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .header .item.search input:hover {
-  background-color: #efe3d3;
+	background-color: #efe3d3;
 }
 .header .item.search input:focus {
-  width: 350px;
-  color: #766556;
-  background-color: #fff;
+	width: 350px;
+	color: #766556;
+	background-color: #fff;
 }
 .header .item.search .btn {
-  width: 3rem;
-  border-radius: 0 2px 2px 0;
-  background-color: #ca7227;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/magnifier.svg);
-  border-left-width: 0;
-  min-height: 35px;
+	width: 3rem;
+	border-radius: 0 2px 2px 0;
+	background-color: #ca7227;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/magnifier.svg);
+	border-left-width: 0;
+	min-height: 35px;
 }
 .header .item.search .btn img {
-  display: none;
+	display: none;
 }
 .header .item.search .btn:hover {
-  background-color: #b7641d;
+	background-color: #b7641d;
 }
 .header .item.configure {
-  width: 2rem;
-  position: absolute;
-  right: 1rem;
-  top: 1.25rem;
-  text-align: center;
+	width: 2rem;
+	position: absolute;
+	right: 1rem;
+	top: 1.25rem;
+	text-align: center;
 }
 .header .item.configure .btn {
-  padding: 0 0.5rem;
-  background-color: transparent;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/cog.svg);
+	padding: 0 0.5rem;
+	background-color: transparent;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/cog.svg);
 }
 .header .item.configure .btn img {
-  display: none;
+	display: none;
 }
 /*=== Body */
 #global {
-  height: calc(100% - 85px);
+	height: calc(100% - 85px);
 }
 
 /*=== Prompt (centered) */
 .prompt {
-  text-align: center;
+	text-align: center;
 }
 
 .prompt label {
-  text-align: left;
+	text-align: left;
 }
 
 .prompt form {
-  margin: 10px auto 20px auto;
-  width: 200px;
+	margin: 10px auto 20px auto;
+	width: 200px;
 }
 
 .prompt input {
-  margin: 5px auto;
-  width: 100%;
+	margin: 5px auto;
+	width: 100%;
 }
 
 .prompt p {
-  margin: 20px 0;
+	margin: 20px 0;
 }
 
 /*=== New article notification */
 #new-article {
-  background: #ca7227;
-  font-size: 1rem;
-  text-align: center;
+	background: #ca7227;
+	font-size: 1rem;
+	text-align: center;
 }
 
 #new-article:hover {
-  background: #b7641d;
+	background: #b7641d;
 }
 
 #new-article > a {
-  line-height: 3em;
-  font-weight: bold;
-  color: #fff;
+	line-height: 3em;
+	font-weight: bold;
+	color: #fff;
 }
 
 #new-article > a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 /*=== Day indication */
 .day {
-  padding: 1rem 0 0 1.25rem;
-  color: #6d655f;
-  font-size: 0.875rem;
-  font-weight: 700;
-  line-height: 3em;
-  letter-spacing: 1px;
-  text-transform: uppercase;
+	padding: 1rem 0 0 1.25rem;
+	color: #6d655f;
+	font-size: 0.875rem;
+	font-weight: 700;
+	line-height: 3em;
+	letter-spacing: 1px;
+	text-transform: uppercase;
 }
 .day .name {
-  padding: 0 1rem 0 1rem;
-  color: #363330;
-  font-size: 0.875rem;
-  position: relative;
-  left: 0;
-  text-transform: uppercase;
+	padding: 0 1rem 0 1rem;
+	color: #363330;
+	font-size: 0.875rem;
+	position: relative;
+	left: 0;
+	text-transform: uppercase;
 }
 
 /*=== Index menu */
 .nav_menu {
-  text-align: center;
-  padding: 5px 0;
+	text-align: center;
+	padding: 5px 0;
 }
 .nav_menu .btn {
-  border-left-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #fcfaf8;
-  background-position: center;
-  background-repeat: no-repeat;
+	border-left-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #fcfaf8;
+	background-position: center;
+	background-repeat: no-repeat;
 }
 .nav_menu .btn:hover {
-  background-color: #f5f0ec;
+	background-color: #f5f0ec;
 }
 .nav_menu .stick {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 .nav_menu .stick .btn {
-  border-left-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #fcfaf8;
-  background-position: center;
-  background-repeat: no-repeat;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-left-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #fcfaf8;
+	background-position: center;
+	background-repeat: no-repeat;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn:hover {
-  background-color: #e4d8cc;
+	background-color: #e4d8cc;
 }
 .nav_menu .stick .btn.active {
-  background-color: #ca7227;
+	background-color: #ca7227;
 }
 .nav_menu .stick .btn img.icon {
-  display: none;
+	display: none;
 }
 .nav_menu .stick .btn#toggle-read {
-  background-image: url(icons/read.svg);
+	background-image: url(icons/read.svg);
 }
 .nav_menu .stick .btn#toggle-read.active {
-  background-image: url(icons/read-white.svg);
+	background-image: url(icons/read-white.svg);
 }
 .nav_menu .stick .btn#toggle-unread {
-  background-image: url(icons/unread.svg);
+	background-image: url(icons/unread.svg);
 }
 .nav_menu .stick .btn#toggle-unread.active {
-  background-image: url(icons/unread-white.svg);
+	background-image: url(icons/unread-white.svg);
 }
 .nav_menu .stick .btn#toggle-starred {
-  background-image: url(icons/starred.svg);
+	background-image: url(icons/starred.svg);
 }
 .nav_menu .stick .btn#toggle-starred.active {
-  background-image: url(icons/starred-white.svg);
+	background-image: url(icons/starred-white.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred {
-  background-image: url(icons/non-starred.svg);
+	background-image: url(icons/non-starred.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred.active {
-  background-image: url(icons/non-starred-white.svg);
+	background-image: url(icons/non-starred-white.svg);
 }
 .nav_menu .stick .btn.read_all {
-  padding: 5px 16px;
-  color: #363330;
-  background-color: #fcfaf8;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 5px 16px;
+	color: #363330;
+	background-color: #fcfaf8;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn.read_all:hover {
-  background-color: #e4d8cc;
+	background-color: #e4d8cc;
 }
 .nav_menu .stick .btn.view-normal {
-  background-image: url(icons/view-list.svg);
+	background-image: url(icons/view-list.svg);
 }
 .nav_menu .stick .btn.view-normal.active {
-  background-image: url(icons/view-list-white.svg);
+	background-image: url(icons/view-list-white.svg);
 }
 .nav_menu .stick .btn.view-global {
-  background-image: url(icons/view-global.svg);
+	background-image: url(icons/view-global.svg);
 }
 .nav_menu .stick .btn.view-global.active {
-  background-image: url(icons/view-global-white.svg);
+	background-image: url(icons/view-global-white.svg);
 }
 .nav_menu .stick .btn.view-reader {
-  background-image: url(icons/view-reader.svg);
+	background-image: url(icons/view-reader.svg);
 }
 .nav_menu .stick .btn.view-reader.active {
-  background-image: url(icons/view-reader-white.svg);
+	background-image: url(icons/view-reader-white.svg);
 }
 .nav_menu .stick .btn.view-rss {
-  background-image: url(icons/rss.svg);
+	background-image: url(icons/rss.svg);
 }
 .nav_menu .stick .dropdown a.dropdown-toggle {
-  border-left-width: 0;
-  background-image: url(icons/more.svg);
+	border-left-width: 0;
+	background-image: url(icons/more.svg);
 }
 
 #dropdown-query ~ .dropdown-menu .dropdown-header .icon {
-  vertical-align: middle;
-  background-color: #ba9;
-  border-radius: 3px;
+	vertical-align: middle;
+	background-color: #ba9;
+	border-radius: 3px;
 }
 
 /*=== Content of feed articles */
 .content, .content.thin {
-  padding: 20px 10px;
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	padding: 20px 10px;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a {
-  color: #363330;
-  font-family: "spectral", serif;
-  font-size: 2rem;
+	color: #363330;
+	font-family: "spectral", serif;
+	font-size: 2rem;
 }
 .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover {
-  color: #ca7227;
-  text-decoration: none;
+	color: #ca7227;
+	text-decoration: none;
 }
 .content .author, .content.thin .author {
-  color: #6d655f;
-  font-size: 1.125rem;
+	color: #6d655f;
+	font-size: 1.125rem;
 }
 .content p, .content ul, .content.thin p, .content.thin ul {
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content .content hr, .content.thin .content hr {
-  margin: 30px 10px;
-  background: #e4d8cc;
-  height: 1px;
-  border: 0;
-  box-shadow: 0 2px 5px #ccc;
+	margin: 30px 10px;
+	background: #e4d8cc;
+	height: 1px;
+	border: 0;
+	box-shadow: 0 2px 5px #ccc;
 }
 .content pre, .content.thin pre {
-  margin: 10px auto;
-  padding: 10px 20px;
-  overflow: auto;
-  background: #221f1d;
-  color: #fff;
-  font-size: 0.9rem;
-  border-radius: 3px;
+	margin: 10px auto;
+	padding: 10px 20px;
+	overflow: auto;
+	background: #221f1d;
+	color: #fff;
+	font-size: 0.9rem;
+	border-radius: 3px;
 }
 .content pre code, .content.thin pre code {
-  background: transparent;
-  color: #fff;
-  border: none;
+	background: transparent;
+	color: #fff;
+	border: none;
 }
 .content code, .content.thin code {
-  padding: 2px 5px;
-  background: #fcfaf8;
-  border: 1px solid #f5f0ec;
-  border-radius: 3px;
+	padding: 2px 5px;
+	background: #fcfaf8;
+	border: 1px solid #f5f0ec;
+	border-radius: 3px;
 }
 .content blockquote, .content.thin blockquote {
-  margin: 0;
-  padding: 5px 20px;
-  background: #fcfaf8;
-  display: block;
-  color: #363330;
-  border-top: 1px solid #e4d8cc;
-  border-bottom: 1px solid #e4d8cc;
+	margin: 0;
+	padding: 5px 20px;
+	background: #fcfaf8;
+	display: block;
+	color: #363330;
+	border-top: 1px solid #e4d8cc;
+	border-bottom: 1px solid #e4d8cc;
 }
 .content blockquote p, .content.thin blockquote p {
-  margin: 0;
+	margin: 0;
 }
 
 /*=== Notification and actualize notification */
 .notification {
-  padding: 1rem 0;
-  background: #e4d8cc;
-  width: 100%;
-  height: 3rem;
-  color: #766556;
-  font-size: 1em;
-  border: none;
-  position: fixed;
-  top: auto;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  text-align: center;
-  line-height: 3em;
-  z-index: 10;
-  vertical-align: middle;
+	padding: 1rem 0;
+	background: #e4d8cc;
+	width: 100%;
+	height: 3rem;
+	color: #766556;
+	font-size: 1em;
+	border: none;
+	position: fixed;
+	top: auto;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	text-align: center;
+	line-height: 3em;
+	z-index: 10;
+	vertical-align: middle;
 }
 .notification .msg {
-  display: inline-block;
-  font-size: 1rem;
+	display: inline-block;
+	font-size: 1rem;
 }
 .notification.good {
-  background: #10f5b2;
-  color: #fff;
+	background: #10f5b2;
+	color: #fff;
 }
 .notification.bad {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .notification a.close {
-  padding: 0 15px;
-  border-radius: 0 3px 3px 0;
-  line-height: 3em;
+	padding: 0 15px;
+	border-radius: 0 3px 3px 0;
+	line-height: 3em;
 }
 .notification.good a.close:hover {
-  background: #0c7556;
+	background: #0c7556;
 }
 .notification.bad a.close:hover {
-  background: #73341f;
+	background: #73341f;
 }
 .notification#actualizeProgress {
-  line-height: 2em;
+	line-height: 2em;
 }
 .notification#actualizeProgress br {
-  display: none;
+	display: none;
 }
 
 /*=== Navigation menu (for articles) */
 #nav_entries {
-  margin: 0;
-  text-align: center;
-  line-height: 3em;
-  table-layout: fixed;
-  background: #fbf9f6;
+	margin: 0;
+	text-align: center;
+	line-height: 3em;
+	table-layout: fixed;
+	background: #fbf9f6;
 }
 
 /*=== Feed articles */
 .flux {
-  background: #fff;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #fff;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux:hover {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 .flux:hover:not(.current):hover .item.title {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 .flux.current {
-  background: #fff;
-  border-left-color: #ca7227;
+	background: #fff;
+	border-left-color: #ca7227;
 }
 .flux.not_read:not(.current) {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read:not(.current):hover .item.title {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read .item.title a {
-  color: #161a38;
+	color: #161a38;
 }
 .flux.not_read .item.website a {
-  color: #161a38;
+	color: #161a38;
 }
 .flux.not_read .item.date {
-  color: rgba(22, 26, 56, 0.5);
+	color: rgba(22, 26, 56, 0.5);
 }
 .flux.favorite {
-  border-left-color: #ffc300;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-left-color: #ffc300;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux.favorite:not(.current) {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.favorite:not(.current):hover .item.title {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux .website a {
-  color: #363330;
-  opacity: 0.75;
+	color: #363330;
+	opacity: 0.75;
 }
 .flux .website .favicon {
-  padding: 5px;
+	padding: 5px;
 }
 .flux .item.date {
-  color: rgba(54, 51, 48, 0.5);
-  font-size: 0.85rem;
+	color: rgba(54, 51, 48, 0.5);
+	font-size: 0.85rem;
 }
 .flux .bottom {
-  font-size: 1rem;
-  text-align: center;
+	font-size: 1rem;
+	text-align: center;
 }
 
 .flux_header {
-  font-size: 1rem;
-  cursor: pointer;
-  border-top: 1px solid #f5f0ec;
+	font-size: 1rem;
+	cursor: pointer;
+	border-top: 1px solid #f5f0ec;
 }
 .flux_header .title {
-  font-size: 1rem;
+	font-size: 1rem;
 }
 
 /*=== GLOBAL VIEW */
 /*================*/
 #stream .box.category:not([data-unread="0"]) .box-title .title {
-  font-weight: bold;
+	font-weight: bold;
 }
 #stream .box.category .box-title {
-  padding: 1.5rem;
-  background: none;
+	padding: 1.5rem;
+	background: none;
 }
 #stream .box.category .box-title a.title {
-  color: #766556;
-  font-size: 1rem;
-  font-weight: normal;
-  text-decoration: none;
-  text-align: left;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	color: #766556;
+	font-size: 1rem;
+	font-weight: normal;
+	text-decoration: none;
+	text-align: left;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 #stream .box.category .box-title a.title:not([data-unread="0"])::after {
-  margin: -0.5rem 1rem 0 0;
-  padding: 0 0.75rem;
-  background: #f5f0ec;
-  border-radius: 12px;
-  position: absolute;
-  top: 1.75rem;
-  right: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 1rem 0 0;
+	padding: 0 0.75rem;
+	background: #f5f0ec;
+	border-radius: 12px;
+	position: absolute;
+	top: 1.75rem;
+	right: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 #stream .box.category .box-title a.title:hover {
-  color: #ca7227;
+	color: #ca7227;
 }
 #stream .box.category .box-content {
-  padding-bottom: 0.5rem;
+	padding-bottom: 0.5rem;
 }
 #stream .box.category .box-content .item.feed {
-  padding: 0.5rem 1.5rem;
-  font-size: 1rem;
+	padding: 0.5rem 1.5rem;
+	font-size: 1rem;
 }
 #stream .box.category .box-content .item.feed a {
-  color: #363330;
-  font-weight: 400;
+	color: #363330;
+	font-weight: 400;
 }
 #stream .box.category .box-content .item.feed a:hover {
-  color: #ca7227;
-  text-decoration: none;
+	color: #ca7227;
+	text-decoration: none;
 }
 
 #overlay {
-  background: rgba(0, 0, 0, 0.65);
+	background: rgba(0, 0, 0, 0.65);
 }
 
 #panel {
-  top: 3rem;
-  right: 3rem;
-  bottom: 3rem;
-  left: 3rem;
-  border-radius: 3px;
+	top: 3rem;
+	right: 3rem;
+	bottom: 3rem;
+	left: 3rem;
+	border-radius: 3px;
 }
 
 /*=== READER VIEW */
 /*================*/
 #stream.reader .flux {
-  padding: 0 0 50px;
-  background: #f5f0ec;
-  color: #363330;
-  border: none;
+	padding: 0 0 50px;
+	background: #f5f0ec;
+	color: #363330;
+	border: none;
 }
 
 #stream.reader .flux .author {
-  margin: 0 0 10px;
-  color: #ba9;
-  font-size: 90%;
+	margin: 0 0 10px;
+	color: #ba9;
+	font-size: 90%;
 }
 
 /*=== Configuration pages */
 .post {
-  padding: 1rem 2rem;
-  font-size: 1rem;
+	padding: 1rem 2rem;
+	font-size: 1rem;
 }
 .post form {
-  margin: 1rem 0;
+	margin: 1rem 0;
 }
 .post form .horizontal-list {
-  margin-bottom: 0.5rem;
+	margin-bottom: 0.5rem;
 }
 .post.content {
-  max-width: 550px;
+	max-width: 550px;
 }
 .post h1, .post h2 {
-  color: #363330;
-  font-size: 3rem;
-  margin-top: 1.75rem;
-  font-weight: 300;
-  line-height: 1.2em;
+	color: #363330;
+	font-size: 3rem;
+	margin-top: 1.75rem;
+	font-weight: 300;
+	line-height: 1.2em;
 }
 .post a[href="./"] {
-  margin: 0;
-  padding: 0.75rem 1.5rem;
-  background: #fcfaf8;
-  display: inline-block;
-  color: #766556;
-  font-size: 1rem;
-  border: 1px solid #e4d8cc;
-  border-radius: 5px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
+	margin: 0;
+	padding: 0.75rem 1.5rem;
+	background: #fcfaf8;
+	display: inline-block;
+	color: #766556;
+	font-size: 1rem;
+	border: 1px solid #e4d8cc;
+	border-radius: 5px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
 }
 .post a[href="./"]:hover {
-  background: #ca7227;
-  color: white;
-  border: 1px solid #ca7227;
-  text-decoration: none;
+	background: #ca7227;
+	color: white;
+	border: 1px solid #ca7227;
+	text-decoration: none;
 }
 
 #slider {
-  border-left: none;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	border-left: none;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
 }
 
 .slide-container .properties {
-  padding: 1rem;
-  background: rgba(0, 0, 0, 0.75);
-  color: white;
-  border: 0;
+	padding: 1rem;
+	background: rgba(0, 0, 0, 0.75);
+	color: white;
+	border: 0;
 }
 .slide-container .properties .page-number {
-  right: 1rem;
-  top: 1rem;
+	right: 1rem;
+	top: 1rem;
 }
 
 /*=== LOGS */
 /*=========*/
 .loglist {
-  overflow: hidden;
-  border: 1px solid #ba9;
+	overflow: hidden;
+	border: 1px solid #ba9;
 }
 
 .log {
-  margin: 10px 0;
-  padding: 5px 2%;
-  background: #fcfaf8;
-  color: #766556;
-  font-size: 0.8rem;
-  overflow: auto;
+	margin: 10px 0;
+	padding: 5px 2%;
+	background: #fcfaf8;
+	color: #766556;
+	font-size: 0.8rem;
+	overflow: auto;
 }
 
 .log > .date {
-  margin: 0 10px 0 0;
-  padding: 5px 10px;
-  border-radius: 20px;
+	margin: 0 10px 0 0;
+	padding: 5px 10px;
+	border-radius: 20px;
 }
 
 .log.error > .date {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 
 .log.warning > .date {
-  background: #f4f762;
+	background: #f4f762;
 }
 
 .log.notice > .date {
-  background: #f5f0ec;
+	background: #f5f0ec;
 }
 
 .log.debug > .date {
-  background: #221f1d;
-  color: #fff;
+	background: #221f1d;
+	color: #fff;
 }
 
 /*=== STATISTICS */
 /*===============*/
 .stat {
-  margin: 10px 0 20px;
+	margin: 10px 0 20px;
 }
 
 .stat th,
 .stat td,
 .stat tr {
-  border: none;
+	border: none;
 }
 
 .stat > table td,
 .stat > table th {
-  border-bottom: 1px solid #e4d8cc;
+	border-bottom: 1px solid #e4d8cc;
 }
 
 .stat > .horizontal-list {
-  margin: 0 0 5px;
+	margin: 0 0 5px;
 }
 
 .stat > .horizontal-list .item {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
 }
 
 .stat > .horizontal-list .item:first-child {
-  width: 270px;
+	width: 270px;
 }
 
 /*=== MOBILE */
 /*===========*/
 @media (max-width: 840px) {
-  ul.nav .item {
-    width: 100%;
-  }
-  ul.nav .item img {
-    display: none;
-  }
-  ul.nav .item a {
-    box-sizing: border-box;
-    padding: 1rem 1rem 1rem 2.5rem;
-    background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 3% center;
-    display: inline-block;
-    width: 100%;
-    color: #363330;
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  ul.nav .item a:hover, ul.nav .item a:active {
-    background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center;
-    text-decoration: none;
-    color: #fff;
-  }
-
-  .form-group .group-name {
-    text-align: left;
-  }
-
-  .box .box-title .configure,
+	ul.nav .item {
+		width: 100%;
+	}
+	ul.nav .item img {
+		display: none;
+	}
+	ul.nav .item a {
+		box-sizing: border-box;
+		padding: 1rem 1rem 1rem 2.5rem;
+		background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 3% center;
+		display: inline-block;
+		width: 100%;
+		color: #363330;
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	ul.nav .item a:hover, ul.nav .item a:active {
+		background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center;
+		text-decoration: none;
+		color: #fff;
+	}
+
+	.form-group .group-name {
+		text-align: left;
+	}
+
+	.box .box-title .configure,
 .box .box-content .item .configure {
-    visibility: visible;
-  }
-
-  .aside {
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  .aside.aside_feed {
-    padding: 0;
-  }
-  .aside .tree .tree-folder .tree-folder-items .item a {
-    padding: 0.5rem 1rem;
-  }
-
-  .aside .toggle_aside,
+		visibility: visible;
+	}
+
+	.aside {
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	.aside.aside_feed {
+		padding: 0;
+	}
+	.aside .tree .tree-folder .tree-folder-items .item a {
+		padding: 0.5rem 1rem;
+	}
+
+	.aside .toggle_aside,
 #panel .close,
 #close-slider.active {
-    background: #b7641d;
-    display: block;
-    width: 100%;
-    height: 50px;
-    line-height: 50px;
-    text-align: center;
-  }
-
-  .header {
-    padding: 0.5rem;
-  }
-  .header .item.title {
-    display: none;
-  }
-  .header .item.search {
-    display: block;
-  }
-  .header .item.search .stick {
-    display: flex;
-  }
-  .header .item.search input {
-    width: 90%;
-    height: 3.5rem;
-  }
-  .header .item.search input:focus {
-    width: 100%;
-  }
-  .header .item.search .btn {
-    min-height: 49px;
-    padding: 0.5rem 2rem;
-  }
-  .header .item.configure {
-    display: none;
-  }
-
-  .post {
-    padding-left: 1rem;
-    padding-right: 1rem;
-  }
-
-  .nav_menu .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick {
-    margin: 0.5rem 0.5rem;
-  }
-  .nav_menu .stick .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick .btn.read_all {
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .search {
-    display: none;
-    max-width: 97%;
-  }
-  .nav_menu .search .input {
-    max-width: 97%;
-    width: 90px;
-  }
-  .nav_menu .search .input:focus {
-    width: 400px;
-  }
-
-  #stream .flux .flux_header {
-    padding: 0.5rem 0;
-  }
-
-  .day {
-    text-align: center;
-    padding: 1rem 0;
-  }
-  .day .name {
-    padding: 0;
-    display: block;
-    width: 100%;
-    line-height: 1.5rem;
-    margin-bottom: 1rem;
-  }
-
-  .pagination {
-    margin: 0 0 3.5em;
-  }
-
-  #nav_entries {
-    line-height: 4.5rem;
-  }
-
-  .notification {
-    border-radius: 0;
-  }
-  .notification a.close {
-    background: transparent;
-    display: block;
-    left: 0;
-  }
-  .notification a.close:hover {
-    opacity: 0.5;
-  }
-  .notification a.close .icon {
-    display: none;
-  }
+		background: #b7641d;
+		display: block;
+		width: 100%;
+		height: 50px;
+		line-height: 50px;
+		text-align: center;
+	}
+
+	.header {
+		padding: 0.5rem;
+	}
+	.header .item.title {
+		display: none;
+	}
+	.header .item.search {
+		display: block;
+	}
+	.header .item.search .stick {
+		display: flex;
+	}
+	.header .item.search input {
+		width: 90%;
+		height: 3.5rem;
+	}
+	.header .item.search input:focus {
+		width: 100%;
+	}
+	.header .item.search .btn {
+		min-height: 49px;
+		padding: 0.5rem 2rem;
+	}
+	.header .item.configure {
+		display: none;
+	}
+
+	.post {
+		padding-left: 1rem;
+		padding-right: 1rem;
+	}
+
+	.nav_menu .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick {
+		margin: 0.5rem 0.5rem;
+	}
+	.nav_menu .stick .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick .btn.read_all {
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .search {
+		display: none;
+		max-width: 97%;
+	}
+	.nav_menu .search .input {
+		max-width: 97%;
+		width: 90px;
+	}
+	.nav_menu .search .input:focus {
+		width: 400px;
+	}
+
+	#stream .flux .flux_header {
+		padding: 0.5rem 0;
+	}
+
+	.day {
+		text-align: center;
+		padding: 1rem 0;
+	}
+	.day .name {
+		padding: 0;
+		display: block;
+		width: 100%;
+		line-height: 1.5rem;
+		margin-bottom: 1rem;
+	}
+
+	.pagination {
+		margin: 0 0 3.5em;
+	}
+
+	#nav_entries {
+		line-height: 4.5rem;
+	}
+
+	.notification {
+		border-radius: 0;
+	}
+	.notification a.close {
+		background: transparent;
+		display: block;
+		left: 0;
+	}
+	.notification a.close:hover {
+		opacity: 0.5;
+	}
+	.notification a.close .icon {
+		display: none;
+	}
 }
 /*=== GENERAL */
 /*============*/
 html, body {
-  background: #f5f0ec;
-  height: 100%;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 0.875rem;
+	background: #f5f0ec;
+	height: 100%;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 0.875rem;
 }
 
 /*=== Links */
 a, button.as-link {
-  outline: none;
-  color: #ca7227;
+	outline: none;
+	color: #ca7227;
 }
 
 /*# sourceMappingURL=ansum.css.map */

+ 898 - 898
p/themes/Ansum/ansum.rtl.css

@@ -1,216 +1,216 @@
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
 }
 /* stylelint-disable property-no-vendor-prefix */
 /* FUNCTIONS */
 /* btns */
 .btn {
-  margin: 0;
-  padding: 0.5rem 1.5rem;
-  background: #fcfaf8;
-  display: inline-block;
-  color: #766556;
-  font-size: 1rem;
-  border: none;
-  border-radius: 5px;
-  min-height: 38px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	margin: 0;
+	padding: 0.5rem 1.5rem;
+	background: #fcfaf8;
+	display: inline-block;
+	color: #766556;
+	font-size: 1rem;
+	border: none;
+	border-radius: 5px;
+	min-height: 38px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .btn.btn-important {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .btn.btn-important:hover, .btn.btn-important:active {
-  background: #b7641d;
+	background: #b7641d;
 }
 .btn.btn-attention {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .btn.btn-attention:hover, .btn.btn-attention:active {
-  background: #73341f;
+	background: #73341f;
 }
 .btn:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 a.btn {
-  min-height: 25px;
-  line-height: 25px;
+	min-height: 25px;
+	line-height: 25px;
 }
 
 /*=== Forms */
 legend {
-  margin: 2rem 0 1rem 0;
-  padding: 0;
-  display: inline-block;
-  width: auto;
-  font-size: 1rem;
-  clear: both;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  font-weight: 700;
+	margin: 2rem 0 1rem 0;
+	padding: 0;
+	display: inline-block;
+	width: auto;
+	font-size: 1rem;
+	clear: both;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	font-weight: 700;
 }
 
 label {
-  min-height: 25px;
-  padding: 5px 0;
-  cursor: pointer;
-  color: #766556;
+	min-height: 25px;
+	padding: 5px 0;
+	cursor: pointer;
+	color: #766556;
 }
 
 textarea {
-  width: 360px;
-  max-width: 100%;
-  height: 100px;
+	width: 360px;
+	max-width: 100%;
+	height: 100px;
 }
 
 input, select, textarea, button {
-  padding: 5px 10px;
-  background: #fff;
-  color: #766556;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 1rem;
-  border: 1px solid #f5f0ec;
-  border-radius: 2px;
-  min-height: 25px;
-  line-height: 25px;
-  vertical-align: middle;
+	padding: 5px 10px;
+	background: #fff;
+	color: #766556;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 1rem;
+	border: 1px solid #f5f0ec;
+	border-radius: 2px;
+	min-height: 25px;
+	line-height: 25px;
+	vertical-align: middle;
 }
 
 option {
-  padding: 0 0.5em;
+	padding: 0 0.5em;
 }
 
 input:focus, select:focus, textarea:focus {
-  color: #363330;
-  border-color: #ca7227;
+	color: #363330;
+	border-color: #ca7227;
 }
 
 input:invalid, select:invalid {
-  color: #f5633e;
-  border-color: #f5633e;
-  box-shadow: none;
+	color: #f5633e;
+	border-color: #f5633e;
+	box-shadow: none;
 }
 
 input:disabled, select:disabled {
-  background: #f5f0ec;
+	background: #f5f0ec;
 }
 
 input.extend {
-  transition: width 200ms linear;
+	transition: width 200ms linear;
 }
 
 .form-group {
-  padding: 5px;
-  border-radius: 3px;
+	padding: 5px;
+	border-radius: 3px;
 }
 .form-group::after {
-  content: "";
-  display: block;
-  clear: both;
+	content: "";
+	display: block;
+	clear: both;
 }
 .form-group .group-name {
-  padding: 10px 0;
-  text-align: left;
+	padding: 10px 0;
+	text-align: left;
 }
 .form-group .group-controls {
-  min-height: 25px;
-  padding: 5px 0;
+	min-height: 25px;
+	padding: 5px 0;
 }
 .form-group .group-controls .control {
-  line-height: 2em;
+	line-height: 2em;
 }
 .form-group table {
-  margin: 10px 220px 0 0;
+	margin: 10px 220px 0 0;
 }
 .form-group.form-actions {
-  margin: 15px 0 25px;
-  padding: 5px 0;
+	margin: 15px 0 25px;
+	padding: 5px 0;
 }
 .form-group.form-actions .btn {
-  margin: 0 0 0 0.5rem;
+	margin: 0 0 0 0.5rem;
 }
 
 /*=== Tables */
 table {
-  border-collapse: collapse;
+	border-collapse: collapse;
 }
 
 tr, th, td {
-  padding: 0.5em;
-  border: 1px solid #e4d8cc;
+	padding: 0.5em;
+	border: 1px solid #e4d8cc;
 }
 
 th {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 
 form td,
 form th {
-  font-weight: normal;
-  text-align: center;
+	font-weight: normal;
+	text-align: center;
 }
 
 /*=== COMPONENTS */
@@ -218,422 +218,422 @@ form th {
 /*=== Forms */
 /*=== Horizontal-list */
 .horizontal-list {
-  margin: 0;
-  padding: 0.1rem 0;
+	margin: 0;
+	padding: 0.1rem 0;
 }
 .horizontal-list .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .horizontal-list .item:first-child {
-  padding-right: 0.5rem;
+	padding-right: 0.5rem;
 }
 
 /*=== Dropdown */
 .dropdown-menu {
-  margin: 0;
-  padding: 0.5rem 0 1rem 0;
-  background: #fcfaf8;
-  font-size: 1rem;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
-  text-align: right;
+	margin: 0;
+	padding: 0.5rem 0 1rem 0;
+	background: #fcfaf8;
+	font-size: 1rem;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	text-align: right;
 }
 .dropdown-menu::after {
-  background: white;
-  width: 10px;
-  height: 10px;
-  content: "";
-  position: absolute;
-  top: -4px;
-  left: 13px;
-  z-index: -10;
-  transform: rotate(-45deg);
+	background: white;
+	width: 10px;
+	height: 10px;
+	content: "";
+	position: absolute;
+	top: -4px;
+	left: 13px;
+	z-index: -10;
+	transform: rotate(-45deg);
 }
 .dropdown-menu .dropdown-header {
-  margin: 1.75rem 2rem 0.5rem 0;
-  font-weight: bold;
-  text-align: right;
-  color: #766556;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	margin: 1.75rem 2rem 0.5rem 0;
+	font-weight: bold;
+	text-align: right;
+	color: #766556;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .dropdown-menu .item {
-  -webkit-transition: all 0.075s ease-in-out;
-  -moz-transition: all 0.075s ease-in-out;
-  -o-transition: all 0.075s ease-in-out;
-  transition: all 0.075s ease-in-out;
+	-webkit-transition: all 0.075s ease-in-out;
+	-moz-transition: all 0.075s ease-in-out;
+	-o-transition: all 0.075s ease-in-out;
+	transition: all 0.075s ease-in-out;
 }
 .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link {
-  padding: 0 2rem;
-  color: #363330;
-  font-size: 1rem;
-  line-height: 2.5em;
+	padding: 0 2rem;
+	color: #363330;
+	font-size: 1rem;
+	line-height: 2.5em;
 }
 .dropdown-menu .item:hover {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .dropdown-menu .item:hover a, .dropdown-menu .item:hover button {
-  text-decoration: none;
-  color: #fff;
+	text-decoration: none;
+	color: #fff;
 }
 .dropdown-menu .item[aria-checked=true] a::before {
-  margin: 0 -14px 0 0;
-  font-weight: bold;
+	margin: 0 -14px 0 0;
+	font-weight: bold;
 }
 .dropdown-menu .input select, .dropdown-menu .input input {
-  margin: 0 auto 5px;
-  padding: 2px 5px;
-  border-radius: 3px;
+	margin: 0 auto 5px;
+	padding: 2px 5px;
+	border-radius: 3px;
 }
 .dropdown-menu .separator {
-  margin: 0.75rem 0;
-  border-bottom: 1px solid #f5f0ec;
+	margin: 0.75rem 0;
+	border-bottom: 1px solid #f5f0ec;
 }
 
 .tree .tree-folder .tree-folder-items .dropdown-menu .item {
-  padding: 0;
+	padding: 0;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button {
-  color: #363330;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover {
-  background: #ca7227;
+	background: #ca7227;
 }
 
 /*=== Alerts */
 .alert {
-  margin: 1rem 0;
-  padding: 1rem;
-  background: #fcfaf8;
-  color: #766556;
-  font-size: 1rem;
-  border: 1px solid #d9ccbf;
-  border-radius: 3px;
-  text-shadow: 0 0 1px #f5f0ec;
+	margin: 1rem 0;
+	padding: 1rem;
+	background: #fcfaf8;
+	color: #766556;
+	font-size: 1rem;
+	border: 1px solid #d9ccbf;
+	border-radius: 3px;
+	text-shadow: 0 0 1px #f5f0ec;
 }
 
 .alert-head {
-  font-size: 1.15em;
+	font-size: 1.15em;
 }
 
 .alert > a {
-  text-decoration: underline;
-  color: inherit;
+	text-decoration: underline;
+	color: inherit;
 }
 
 .alert-warn {
-  background: #fdfde0;
-  color: #73762f;
-  border: 1px solid #73762f33;
+	background: #fdfde0;
+	color: #73762f;
+	border: 1px solid #73762f33;
 }
 
 .alert-success {
-  background: #cffdef;
-  color: #0c7556;
-  border: 1px solid #0c755633;
+	background: #cffdef;
+	color: #0c7556;
+	border: 1px solid #0c755633;
 }
 
 .alert-error {
-  background: #fde0d8;
-  color: #73341f;
-  border: 1px solid #73341f33;
+	background: #fde0d8;
+	color: #73341f;
+	border: 1px solid #73341f33;
 }
 
 /*=== Pagination */
 .pagination {
-  background: #f5f0ec;
-  color: #363330;
-  font-size: 0.8em;
-  text-align: center;
+	background: #f5f0ec;
+	color: #363330;
+	font-size: 0.8em;
+	text-align: center;
 }
 .pagination .item.pager-current {
-  background: #fbf9f6;
-  color: #f5f0ec;
-  font-size: 1.5em;
-  font-weight: bold;
+	background: #fbf9f6;
+	color: #f5f0ec;
+	font-size: 1.5em;
+	font-weight: bold;
 }
 .pagination .item a {
-  display: block;
-  color: #363330;
-  font-style: italic;
-  line-height: 3em;
-  text-decoration: none;
+	display: block;
+	color: #363330;
+	font-style: italic;
+	line-height: 3em;
+	text-decoration: none;
 }
 .pagination .item a:hover {
-  background: #363330;
-  color: #f5f0ec;
+	background: #363330;
+	color: #f5f0ec;
 }
 .pagination .loading,
 .pagination a:hover.loading {
-  background: url("loader.gif") center center no-repeat #34495e;
-  font-size: 0;
+	background: url("loader.gif") center center no-repeat #34495e;
+	font-size: 0;
 }
 
 .content .pagination {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 
 /*=== Boxes */
 .box {
-  background: #fff;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
+	background: #fff;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
 }
 .box .box-title {
-  margin: 0;
-  padding: 0.5rem 0.75rem;
-  background: #f5f0ec;
-  color: #363330;
-  border-radius: 2px 2px 0 0;
+	margin: 0;
+	padding: 0.5rem 0.75rem;
+	background: #f5f0ec;
+	color: #363330;
+	border-radius: 2px 2px 0 0;
 }
 .box .box-title img {
-  margin-left: 0.75rem;
+	margin-left: 0.75rem;
 }
 .box .box-title:hover .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: right;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: visible;
-  margin-left: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: right;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: visible;
+	margin-left: 0.5rem;
 }
 .box .box-title:hover .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-title:hover .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
 }
 .box .box-title .configure {
-  visibility: hidden;
+	visibility: hidden;
 }
 .box .box-title form input {
-  width: 85%;
+	width: 85%;
 }
 .box .box-title form .dropdown {
-  float: left;
+	float: left;
 }
 .box .box-title form .dropdown a.dropdown-toggle {
-  padding: 0;
-  border-radius: 0;
-  background-image: url(icons/more.svg);
-  background-repeat: no-repeat;
-  background-position: left 8px;
+	padding: 0;
+	border-radius: 0;
+	background-image: url(icons/more.svg);
+	background-repeat: no-repeat;
+	background-position: left 8px;
 }
 .box .box-title form .dropdown a.dropdown-toggle img {
-  display: none;
+	display: none;
 }
 .box .box-content .item {
-  padding: 0.5rem 0.75rem;
-  color: #363330;
-  font-size: 1rem;
-  border-bottom: 1px solid #f5f0ec;
-  line-height: 1.7em;
+	padding: 0.5rem 0.75rem;
+	color: #363330;
+	font-size: 1rem;
+	border-bottom: 1px solid #f5f0ec;
+	line-height: 1.7em;
 }
 .box .box-content .item img {
-  margin-left: 0.75rem;
+	margin-left: 0.75rem;
 }
 .box .box-content .item .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: right;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: hidden;
-  margin-left: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: right;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: hidden;
+	margin-left: 0.5rem;
 }
 .box .box-content .item .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-content .item .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227;
 }
 .box .box-content .item:hover .configure {
-  visibility: visible;
+	visibility: visible;
 }
 .box .box-content .item:last-child {
-  border-bottom: none;
+	border-bottom: none;
 }
 
 /*=== "Load more" part */
 #bigMarkAsRead {
-  text-align: center;
-  text-decoration: none;
-  background: #fdf6ef;
-  color: #ca7227;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	text-align: center;
+	text-decoration: none;
+	background: #fdf6ef;
+	color: #ca7227;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 #bigMarkAsRead:hover {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 #bigMarkAsRead:hover .bigTick {
-  background: url(icons/tick-white.svg) center no-repeat;
+	background: url(icons/tick-white.svg) center no-repeat;
 }
 #bigMarkAsRead .bigTick {
-  margin: 0.5rem 0;
-  background: url(icons/tick-color.svg) center no-repeat;
-  display: inline-block;
-  width: 64px;
-  height: 64px;
-  text-indent: -9999px;
-  white-space: nowrap;
+	margin: 0.5rem 0;
+	background: url(icons/tick-color.svg) center no-repeat;
+	display: inline-block;
+	width: 64px;
+	height: 64px;
+	text-indent: -9999px;
+	white-space: nowrap;
 }
 
 .formLogin {
-  background: #fbf9f6;
+	background: #fbf9f6;
 }
 .formLogin .header .configure {
-  padding-left: 1rem;
+	padding-left: 1rem;
 }
 .formLogin .header .configure img {
-  margin-left: 0.5rem;
+	margin-left: 0.5rem;
 }
 .formLogin .header .configure a.signin {
-  color: #fff;
+	color: #fff;
 }
 .formLogin h1 {
-  color: #fff;
+	color: #fff;
 }
 .formLogin form#crypto-form div {
-  margin-bottom: 1rem;
+	margin-bottom: 1rem;
 }
 .formLogin form#crypto-form div label {
-  color: #d9ccbf;
-  font-size: 1rem;
+	color: #d9ccbf;
+	font-size: 1rem;
 }
 .formLogin form#crypto-form div input {
-  background: #221f1d;
+	background: #221f1d;
 }
 .formLogin form#crypto-form div input:focus {
-  background: #fcfaf8;
-  color: #363330;
+	background: #fcfaf8;
+	color: #363330;
 }
 
 /*=== DIVERS */
 /*===========*/
 .aside.aside_feed .nav-form input,
 .aside.aside_feed .nav-form select {
-  width: 140px;
+	width: 140px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu {
-  left: -20px;
+	left: -20px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
-  left: 33px;
+	left: 33px;
 }
 
 /*=== Tree */
 .tree {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 .tree#sidebar {
-  scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
-  scrollbar-color: #36333033 #36333022;
+	scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
+	scrollbar-color: #36333033 #36333022;
 }
 .tree .tree-folder {
-  border-bottom: 1px solid #f0e7da;
-  box-shadow: inset 1px -11px 8px #0003;
+	border-bottom: 1px solid #f0e7da;
+	box-shadow: inset 1px -11px 8px #0003;
 }
 .tree .tree-folder .tree-folder-title {
-  padding: 12px 16px;
-  background: #fbf9f6;
-  position: relative;
-  font-size: 0.85rem;
-  letter-spacing: 1px;
-  font-weight: 700;
-  text-transform: uppercase;
+	padding: 12px 16px;
+	background: #fbf9f6;
+	position: relative;
+	font-size: 0.85rem;
+	letter-spacing: 1px;
+	font-weight: 700;
+	text-transform: uppercase;
 }
 .tree .tree-folder .tree-folder-title .title {
-  background: inherit;
-  color: #363330;
+	background: inherit;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-title .title:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 .tree .tree-folder.active .tree-folder-title {
-  background: #fbf9f6;
-  font-weight: bold;
+	background: #fbf9f6;
+	font-weight: bold;
 }
 .tree .tree-folder .tree-folder-items {
-  background: #f7f2ea;
+	background: #f7f2ea;
 }
 .tree .tree-folder .tree-folder-items .item {
-  padding: 0 1rem;
-  line-height: 2.5rem;
-  font-size: 1rem;
-  font-weight: 400;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 0 1rem;
+	line-height: 2.5rem;
+	font-size: 1rem;
+	font-weight: 400;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .tree .tree-folder .tree-folder-items .item.active {
-  background: #ca7227;
+	background: #ca7227;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a {
-  color: #363330;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover {
-  color: #363330;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .item.active a {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .item:hover {
-  background: #efe3d3;
+	background: #efe3d3;
 }
 .tree .tree-folder .tree-folder-items .item a {
-  text-decoration: none;
-  color: #363330;
+	text-decoration: none;
+	color: #363330;
 }
 .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before {
-  margin: 11px 4px 0 6px;
-  padding: 3px 4px;
-  background: rgba(35, 35, 0, 0.15);
-  display: block;
-  float: right;
-  font-size: 0.75rem;
-  border-radius: 12px;
-  content: attr(data-unread);
-  text-align: center;
-  line-height: 0.75rem;
+	margin: 11px 4px 0 6px;
+	padding: 3px 4px;
+	background: rgba(35, 35, 0, 0.15);
+	display: block;
+	float: right;
+	font-size: 0.75rem;
+	border-radius: 12px;
+	content: attr(data-unread);
+	text-align: center;
+	line-height: 0.75rem;
 }
 
 /*=== Buttons */
 .stick {
-  vertical-align: middle;
-  font-size: 0;
+	vertical-align: middle;
+	font-size: 0;
 }
 .stick input, .stick .btn {
-  border-radius: 0;
+	border-radius: 0;
 }
 .stick .btn:first-child,
 .stick input:first-child {
-  border-radius: 0 5px 5px 0;
+	border-radius: 0 5px 5px 0;
 }
 .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn {
-  border-radius: 5px 0 0 5px;
+	border-radius: 5px 0 0 5px;
 }
 .stick .btn + .btn,
 .stick .btn + input,
@@ -644,980 +644,980 @@ form th {
 .stick .dropdown + .btn,
 .stick .dropdown + input,
 .stick .dropdown + .dropdown > .btn {
-  border-right: 1px solid #e4d8cc;
+	border-right: 1px solid #e4d8cc;
 }
 
 .aside {
-  background: #fbf9f6;
+	background: #fbf9f6;
 }
 .aside.aside_feed {
-  padding: 10px 0;
-  text-align: center;
-  background: #fbf9f6;
-  border-left: 1px solid #f0e7da;
+	padding: 10px 0;
+	text-align: center;
+	background: #fbf9f6;
+	border-left: 1px solid #f0e7da;
 }
 .aside.aside_feed .tree {
-  margin: 10px 0 50px;
+	margin: 10px 0 50px;
 }
 
 /* Sidebar des pages de configuration */
 /*=== Navigation */
 .nav-list .nav-header,
 .nav-list .item {
-  height: 2.5em;
-  line-height: 2.5em;
-  font-size: 1rem;
+	height: 2.5em;
+	line-height: 2.5em;
+	font-size: 1rem;
 }
 .nav-list .item {
-  background: #fbf9f6;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #fbf9f6;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav-list .item a {
-  padding: 0 1rem;
-  color: #363330;
+	padding: 0 1rem;
+	color: #363330;
 }
 .nav-list .item .error a {
-  color: #f5633e;
+	color: #f5633e;
 }
 .nav-list .item:hover {
-  background: #efe3d3;
-  color: #363330;
+	background: #efe3d3;
+	color: #363330;
 }
 .nav-list .item:hover .error a {
-  background: #ca7227;
-  color: #363330;
+	background: #ca7227;
+	color: #363330;
 }
 .nav-list .item:hover .empty a {
-  background: #f4f762;
-  color: #363330;
+	background: #f4f762;
+	color: #363330;
 }
 .nav-list .item:hover a {
-  color: #363330;
-  text-decoration: none;
+	color: #363330;
+	text-decoration: none;
 }
 .nav-list .item.active {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .nav-list .item.active .error a {
-  background: #ca7227;
-  color: #fff;
+	background: #ca7227;
+	color: #fff;
 }
 .nav-list .item.active .empty a {
-  background: #f4f762;
-  color: #fff;
+	background: #f4f762;
+	color: #fff;
 }
 .nav-list .item.active a {
-  color: #fff;
-  text-decoration: none;
+	color: #fff;
+	text-decoration: none;
 }
 .nav-list.empty a {
-  color: #f4f762;
+	color: #f4f762;
 }
 .nav-list .disable {
-  text-align: center;
-  background: #fcfaf8;
-  color: #ba9;
+	text-align: center;
+	background: #fcfaf8;
+	color: #ba9;
 }
 .nav-list .nav-header {
-  padding: 0 10px;
-  font-weight: bold;
-  color: #766556;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  margin-top: 1rem;
+	padding: 0 10px;
+	font-weight: bold;
+	color: #766556;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	margin-top: 1rem;
 }
 .nav-list .nav-form {
-  padding: 3px;
-  text-align: center;
+	padding: 3px;
+	text-align: center;
 }
 .nav-list .nav-head {
-  margin: 0;
-  text-align: left;
-  color: #fff;
+	margin: 0;
+	text-align: left;
+	color: #fff;
 }
 .nav-list .nav-head a {
-  color: #fff;
+	color: #fff;
 }
 .nav-list .nav-head .item {
-  padding: 5px 10px;
-  font-size: 0.9rem;
-  line-height: 1.5rem;
+	padding: 5px 10px;
+	font-size: 0.9rem;
+	line-height: 1.5rem;
 }
 
 /*=== Aside main page (categories) */
 .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after {
-  margin: -0.5rem 0 0 1rem;
-  padding: 0 0.75rem;
-  background: rgba(35, 35, 0, 0.15);
-  border-radius: 12px;
-  position: absolute;
-  left: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 0 0 1rem;
+	padding: 0 0.75rem;
+	background: rgba(35, 35, 0, 0.15);
+	border-radius: 12px;
+	position: absolute;
+	left: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 
 .feed.item.empty.active {
-  background: #766556;
+	background: #766556;
 }
 
 .feed.item.error.active {
-  background: #766556;
+	background: #766556;
 }
 
 .feed.item.empty,
 .feed.item.empty > a {
-  color: #766556;
+	color: #766556;
 }
 
 .feed.item.error,
 .feed.item.error > a {
-  color: #766556;
+	color: #766556;
 }
 
 .feed.item.empty.active,
 .feed.item.error.active,
 .feed.item.empty.active > a,
 .feed.item.error.active > a {
-  color: #fff;
+	color: #fff;
 }
 
 .aside_feed .tree-folder-items .dropdown-menu::after {
-  right: 2px;
+	right: 2px;
 }
 
 .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon {
-  border-radius: 3px;
+	border-radius: 3px;
 }
 
 .aside_feed .stick #btn-add {
-  border-right-color: #fbf9f6;
+	border-right-color: #fbf9f6;
 }
 
 /*=== STRUCTURE */
 /*===============*/
 /*=== Header */
 .header {
-  padding: 0.5rem 1.35rem;
-  background: #fbf9f6;
-  display: block;
-  width: auto;
-  table-layout: none;
+	padding: 0.5rem 1.35rem;
+	background: #fbf9f6;
+	display: block;
+	width: auto;
+	table-layout: none;
 }
 .header .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .header .item.title {
-  width: 280px;
-  font-weight: 400;
+	width: 280px;
+	font-weight: 400;
 }
 .header .item.title h1 a {
-  text-decoration: none;
-  color: #363330;
-  font-size: 1rem;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	text-decoration: none;
+	color: #363330;
+	font-size: 1rem;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .header .item.title h1 a img {
-  margin-left: 0.5rem;
+	margin-left: 0.5rem;
 }
 .header .item.search input {
-  width: 230px;
-  color: #363330;
-  border: none;
-  border-radius: 0 2px 2px 0;
-  background-color: #f7f2ea;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	width: 230px;
+	color: #363330;
+	border: none;
+	border-radius: 0 2px 2px 0;
+	background-color: #f7f2ea;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .header .item.search input:hover {
-  background-color: #efe3d3;
+	background-color: #efe3d3;
 }
 .header .item.search input:focus {
-  width: 350px;
-  color: #766556;
-  background-color: #fff;
+	width: 350px;
+	color: #766556;
+	background-color: #fff;
 }
 .header .item.search .btn {
-  width: 3rem;
-  border-radius: 2px 0 0 2px;
-  background-color: #ca7227;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/magnifier.svg);
-  border-right-width: 0;
-  min-height: 35px;
+	width: 3rem;
+	border-radius: 2px 0 0 2px;
+	background-color: #ca7227;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/magnifier.svg);
+	border-right-width: 0;
+	min-height: 35px;
 }
 .header .item.search .btn img {
-  display: none;
+	display: none;
 }
 .header .item.search .btn:hover {
-  background-color: #b7641d;
+	background-color: #b7641d;
 }
 .header .item.configure {
-  width: 2rem;
-  position: absolute;
-  left: 1rem;
-  top: 1.25rem;
-  text-align: center;
+	width: 2rem;
+	position: absolute;
+	left: 1rem;
+	top: 1.25rem;
+	text-align: center;
 }
 .header .item.configure .btn {
-  padding: 0 0.5rem;
-  background-color: transparent;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/cog.svg);
+	padding: 0 0.5rem;
+	background-color: transparent;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/cog.svg);
 }
 .header .item.configure .btn img {
-  display: none;
+	display: none;
 }
 /*=== Body */
 #global {
-  height: calc(100% - 85px);
+	height: calc(100% - 85px);
 }
 
 /*=== Prompt (centered) */
 .prompt {
-  text-align: center;
+	text-align: center;
 }
 
 .prompt label {
-  text-align: right;
+	text-align: right;
 }
 
 .prompt form {
-  margin: 10px auto 20px auto;
-  width: 200px;
+	margin: 10px auto 20px auto;
+	width: 200px;
 }
 
 .prompt input {
-  margin: 5px auto;
-  width: 100%;
+	margin: 5px auto;
+	width: 100%;
 }
 
 .prompt p {
-  margin: 20px 0;
+	margin: 20px 0;
 }
 
 /*=== New article notification */
 #new-article {
-  background: #ca7227;
-  font-size: 1rem;
-  text-align: center;
+	background: #ca7227;
+	font-size: 1rem;
+	text-align: center;
 }
 
 #new-article:hover {
-  background: #b7641d;
+	background: #b7641d;
 }
 
 #new-article > a {
-  line-height: 3em;
-  font-weight: bold;
-  color: #fff;
+	line-height: 3em;
+	font-weight: bold;
+	color: #fff;
 }
 
 #new-article > a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 /*=== Day indication */
 .day {
-  padding: 1rem 1.25rem 0 0;
-  color: #6d655f;
-  font-size: 0.875rem;
-  font-weight: 700;
-  line-height: 3em;
-  letter-spacing: 1px;
-  text-transform: uppercase;
+	padding: 1rem 1.25rem 0 0;
+	color: #6d655f;
+	font-size: 0.875rem;
+	font-weight: 700;
+	line-height: 3em;
+	letter-spacing: 1px;
+	text-transform: uppercase;
 }
 .day .name {
-  padding: 0 1rem 0 1rem;
-  color: #363330;
-  font-size: 0.875rem;
-  position: relative;
-  right: 0;
-  text-transform: uppercase;
+	padding: 0 1rem 0 1rem;
+	color: #363330;
+	font-size: 0.875rem;
+	position: relative;
+	right: 0;
+	text-transform: uppercase;
 }
 
 /*=== Index menu */
 .nav_menu {
-  text-align: center;
-  padding: 5px 0;
+	text-align: center;
+	padding: 5px 0;
 }
 .nav_menu .btn {
-  border-right-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #fcfaf8;
-  background-position: center;
-  background-repeat: no-repeat;
+	border-right-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #fcfaf8;
+	background-position: center;
+	background-repeat: no-repeat;
 }
 .nav_menu .btn:hover {
-  background-color: #f5f0ec;
+	background-color: #f5f0ec;
 }
 .nav_menu .stick {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 .nav_menu .stick .btn {
-  border-right-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #fcfaf8;
-  background-position: center;
-  background-repeat: no-repeat;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-right-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #fcfaf8;
+	background-position: center;
+	background-repeat: no-repeat;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn:hover {
-  background-color: #e4d8cc;
+	background-color: #e4d8cc;
 }
 .nav_menu .stick .btn.active {
-  background-color: #ca7227;
+	background-color: #ca7227;
 }
 .nav_menu .stick .btn img.icon {
-  display: none;
+	display: none;
 }
 .nav_menu .stick .btn#toggle-read {
-  background-image: url(icons/read.svg);
+	background-image: url(icons/read.svg);
 }
 .nav_menu .stick .btn#toggle-read.active {
-  background-image: url(icons/read-white.svg);
+	background-image: url(icons/read-white.svg);
 }
 .nav_menu .stick .btn#toggle-unread {
-  background-image: url(icons/unread.svg);
+	background-image: url(icons/unread.svg);
 }
 .nav_menu .stick .btn#toggle-unread.active {
-  background-image: url(icons/unread-white.svg);
+	background-image: url(icons/unread-white.svg);
 }
 .nav_menu .stick .btn#toggle-starred {
-  background-image: url(icons/starred.svg);
+	background-image: url(icons/starred.svg);
 }
 .nav_menu .stick .btn#toggle-starred.active {
-  background-image: url(icons/starred-white.svg);
+	background-image: url(icons/starred-white.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred {
-  background-image: url(icons/non-starred.svg);
+	background-image: url(icons/non-starred.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred.active {
-  background-image: url(icons/non-starred-white.svg);
+	background-image: url(icons/non-starred-white.svg);
 }
 .nav_menu .stick .btn.read_all {
-  padding: 5px 16px;
-  color: #363330;
-  background-color: #fcfaf8;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 5px 16px;
+	color: #363330;
+	background-color: #fcfaf8;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn.read_all:hover {
-  background-color: #e4d8cc;
+	background-color: #e4d8cc;
 }
 .nav_menu .stick .btn.view-normal {
-  background-image: url(icons/view-list.svg);
+	background-image: url(icons/view-list.svg);
 }
 .nav_menu .stick .btn.view-normal.active {
-  background-image: url(icons/view-list-white.svg);
+	background-image: url(icons/view-list-white.svg);
 }
 .nav_menu .stick .btn.view-global {
-  background-image: url(icons/view-global.svg);
+	background-image: url(icons/view-global.svg);
 }
 .nav_menu .stick .btn.view-global.active {
-  background-image: url(icons/view-global-white.svg);
+	background-image: url(icons/view-global-white.svg);
 }
 .nav_menu .stick .btn.view-reader {
-  background-image: url(icons/view-reader.svg);
+	background-image: url(icons/view-reader.svg);
 }
 .nav_menu .stick .btn.view-reader.active {
-  background-image: url(icons/view-reader-white.svg);
+	background-image: url(icons/view-reader-white.svg);
 }
 .nav_menu .stick .btn.view-rss {
-  background-image: url(icons/rss.svg);
+	background-image: url(icons/rss.svg);
 }
 .nav_menu .stick .dropdown a.dropdown-toggle {
-  border-right-width: 0;
-  background-image: url(icons/more.svg);
+	border-right-width: 0;
+	background-image: url(icons/more.svg);
 }
 
 #dropdown-query ~ .dropdown-menu .dropdown-header .icon {
-  vertical-align: middle;
-  background-color: #ba9;
-  border-radius: 3px;
+	vertical-align: middle;
+	background-color: #ba9;
+	border-radius: 3px;
 }
 
 /*=== Content of feed articles */
 .content, .content.thin {
-  padding: 20px 10px;
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	padding: 20px 10px;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a {
-  color: #363330;
-  font-family: "spectral", serif;
-  font-size: 2rem;
+	color: #363330;
+	font-family: "spectral", serif;
+	font-size: 2rem;
 }
 .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover {
-  color: #ca7227;
-  text-decoration: none;
+	color: #ca7227;
+	text-decoration: none;
 }
 .content .author, .content.thin .author {
-  color: #6d655f;
-  font-size: 1.125rem;
+	color: #6d655f;
+	font-size: 1.125rem;
 }
 .content p, .content ul, .content.thin p, .content.thin ul {
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content .content hr, .content.thin .content hr {
-  margin: 30px 10px;
-  background: #e4d8cc;
-  height: 1px;
-  border: 0;
-  box-shadow: 0 2px 5px #ccc;
+	margin: 30px 10px;
+	background: #e4d8cc;
+	height: 1px;
+	border: 0;
+	box-shadow: 0 2px 5px #ccc;
 }
 .content pre, .content.thin pre {
-  margin: 10px auto;
-  padding: 10px 20px;
-  overflow: auto;
-  background: #221f1d;
-  color: #fff;
-  font-size: 0.9rem;
-  border-radius: 3px;
+	margin: 10px auto;
+	padding: 10px 20px;
+	overflow: auto;
+	background: #221f1d;
+	color: #fff;
+	font-size: 0.9rem;
+	border-radius: 3px;
 }
 .content pre code, .content.thin pre code {
-  background: transparent;
-  color: #fff;
-  border: none;
+	background: transparent;
+	color: #fff;
+	border: none;
 }
 .content code, .content.thin code {
-  padding: 2px 5px;
-  background: #fcfaf8;
-  color: #f5f0ec;
-  border: 1px solid #f5f0ec;
-  border-radius: 3px;
+	padding: 2px 5px;
+	background: #fcfaf8;
+	color: #f5f0ec;
+	border: 1px solid #f5f0ec;
+	border-radius: 3px;
 }
 .content blockquote, .content.thin blockquote {
-  margin: 0;
-  padding: 5px 20px;
-  background: #fcfaf8;
-  display: block;
-  color: #363330;
-  border-top: 1px solid #e4d8cc;
-  border-bottom: 1px solid #e4d8cc;
+	margin: 0;
+	padding: 5px 20px;
+	background: #fcfaf8;
+	display: block;
+	color: #363330;
+	border-top: 1px solid #e4d8cc;
+	border-bottom: 1px solid #e4d8cc;
 }
 .content blockquote p, .content.thin blockquote p {
-  margin: 0;
+	margin: 0;
 }
 
 /*=== Notification and actualize notification */
 .notification {
-  padding: 1rem 0;
-  background: #e4d8cc;
-  width: 100%;
-  height: 3rem;
-  color: #766556;
-  font-size: 1em;
-  border: none;
-  position: fixed;
-  top: auto;
-  bottom: 0;
-  right: 0;
-  left: 0;
-  text-align: center;
-  line-height: 3em;
-  z-index: 10;
-  vertical-align: middle;
+	padding: 1rem 0;
+	background: #e4d8cc;
+	width: 100%;
+	height: 3rem;
+	color: #766556;
+	font-size: 1em;
+	border: none;
+	position: fixed;
+	top: auto;
+	bottom: 0;
+	right: 0;
+	left: 0;
+	text-align: center;
+	line-height: 3em;
+	z-index: 10;
+	vertical-align: middle;
 }
 .notification .msg {
-  display: inline-block;
-  font-size: 1rem;
+	display: inline-block;
+	font-size: 1rem;
 }
 .notification.good {
-  background: #10f5b2;
-  color: #fff;
+	background: #10f5b2;
+	color: #fff;
 }
 .notification.bad {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .notification a.close {
-  padding: 0 15px;
-  border-radius: 3px 0 0 3px;
-  line-height: 3em;
+	padding: 0 15px;
+	border-radius: 3px 0 0 3px;
+	line-height: 3em;
 }
 .notification.good a.close:hover {
-  background: #0c7556;
+	background: #0c7556;
 }
 .notification.bad a.close:hover {
-  background: #73341f;
+	background: #73341f;
 }
 .notification#actualizeProgress {
-  line-height: 2em;
+	line-height: 2em;
 }
 .notification#actualizeProgress br {
-  display: none;
+	display: none;
 }
 
 /*=== Navigation menu (for articles) */
 #nav_entries {
-  margin: 0;
-  text-align: center;
-  line-height: 3em;
-  table-layout: fixed;
-  background: #fbf9f6;
+	margin: 0;
+	text-align: center;
+	line-height: 3em;
+	table-layout: fixed;
+	background: #fbf9f6;
 }
 
 /*=== Feed articles */
 .flux {
-  background: #fff;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #fff;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux:hover {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 .flux:hover:not(.current):hover .item.title {
-  background: #fcfaf8;
+	background: #fcfaf8;
 }
 .flux.current {
-  background: #fff;
-  border-right-color: #ca7227;
+	background: #fff;
+	border-right-color: #ca7227;
 }
 .flux.not_read:not(.current) {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read:not(.current):hover .item.title {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read .item.title a {
-  color: #161a38;
+	color: #161a38;
 }
 .flux.not_read .item.website a {
-  color: #161a38;
+	color: #161a38;
 }
 .flux.not_read .item.date {
-  color: rgba(22, 26, 56, 0.5);
+	color: rgba(22, 26, 56, 0.5);
 }
 .flux.favorite {
-  border-right-color: #ffc300;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-right-color: #ffc300;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux.favorite:not(.current) {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.favorite:not(.current):hover .item.title {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux .website a {
-  color: #363330;
-  opacity: 0.75;
+	color: #363330;
+	opacity: 0.75;
 }
 .flux .website .favicon {
-  padding: 5px;
+	padding: 5px;
 }
 .flux .item.date {
-  color: rgba(54, 51, 48, 0.5);
-  font-size: 0.85rem;
+	color: rgba(54, 51, 48, 0.5);
+	font-size: 0.85rem;
 }
 .flux .bottom {
-  font-size: 1rem;
-  text-align: center;
+	font-size: 1rem;
+	text-align: center;
 }
 
 .flux_header {
-  font-size: 1rem;
-  cursor: pointer;
-  border-top: 1px solid #f5f0ec;
+	font-size: 1rem;
+	cursor: pointer;
+	border-top: 1px solid #f5f0ec;
 }
 .flux_header .title {
-  font-size: 1rem;
+	font-size: 1rem;
 }
 
 /*=== GLOBAL VIEW */
 /*================*/
 #stream .box.category:not([data-unread="0"]) .box-title .title {
-  font-weight: bold;
+	font-weight: bold;
 }
 #stream .box.category .box-title {
-  padding: 1.5rem;
-  background: none;
+	padding: 1.5rem;
+	background: none;
 }
 #stream .box.category .box-title a.title {
-  color: #766556;
-  font-size: 1rem;
-  font-weight: normal;
-  text-decoration: none;
-  text-align: right;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	color: #766556;
+	font-size: 1rem;
+	font-weight: normal;
+	text-decoration: none;
+	text-align: right;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 #stream .box.category .box-title a.title:not([data-unread="0"])::after {
-  margin: -0.5rem 0 0 1rem;
-  padding: 0 0.75rem;
-  background: #f5f0ec;
-  border-radius: 12px;
-  position: absolute;
-  top: 1.75rem;
-  left: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 0 0 1rem;
+	padding: 0 0.75rem;
+	background: #f5f0ec;
+	border-radius: 12px;
+	position: absolute;
+	top: 1.75rem;
+	left: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 #stream .box.category .box-title a.title:hover {
-  color: #ca7227;
+	color: #ca7227;
 }
 #stream .box.category .box-content {
-  padding-bottom: 0.5rem;
+	padding-bottom: 0.5rem;
 }
 #stream .box.category .box-content .item.feed {
-  padding: 0.5rem 1.5rem;
-  font-size: 1rem;
+	padding: 0.5rem 1.5rem;
+	font-size: 1rem;
 }
 #stream .box.category .box-content .item.feed a {
-  color: #363330;
-  font-weight: 400;
+	color: #363330;
+	font-weight: 400;
 }
 #stream .box.category .box-content .item.feed a:hover {
-  color: #ca7227;
-  text-decoration: none;
+	color: #ca7227;
+	text-decoration: none;
 }
 
 #overlay {
-  background: rgba(0, 0, 0, 0.65);
+	background: rgba(0, 0, 0, 0.65);
 }
 
 #panel {
-  top: 3rem;
-  left: 3rem;
-  bottom: 3rem;
-  right: 3rem;
-  border-radius: 3px;
+	top: 3rem;
+	left: 3rem;
+	bottom: 3rem;
+	right: 3rem;
+	border-radius: 3px;
 }
 
 /*=== READER VIEW */
 /*================*/
 #stream.reader .flux {
-  padding: 0 0 50px;
-  background: #f5f0ec;
-  color: #363330;
-  border: none;
+	padding: 0 0 50px;
+	background: #f5f0ec;
+	color: #363330;
+	border: none;
 }
 
 #stream.reader .flux .author {
-  margin: 0 0 10px;
-  color: #ba9;
-  font-size: 90%;
+	margin: 0 0 10px;
+	color: #ba9;
+	font-size: 90%;
 }
 
 /*=== Configuration pages */
 .post {
-  padding: 1rem 2rem;
-  font-size: 1rem;
+	padding: 1rem 2rem;
+	font-size: 1rem;
 }
 .post form {
-  margin: 1rem 0;
+	margin: 1rem 0;
 }
 .post form .horizontal-list {
-  margin-bottom: 0.5rem;
+	margin-bottom: 0.5rem;
 }
 .post.content {
-  max-width: 550px;
+	max-width: 550px;
 }
 .post h1, .post h2 {
-  color: #363330;
-  font-size: 3rem;
-  margin-top: 1.75rem;
-  font-weight: 300;
-  line-height: 1.2em;
+	color: #363330;
+	font-size: 3rem;
+	margin-top: 1.75rem;
+	font-weight: 300;
+	line-height: 1.2em;
 }
 .post a[href="./"] {
-  margin: 0;
-  padding: 0.75rem 1.5rem;
-  background: #fcfaf8;
-  display: inline-block;
-  color: #766556;
-  font-size: 1rem;
-  border: 1px solid #e4d8cc;
-  border-radius: 5px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
+	margin: 0;
+	padding: 0.75rem 1.5rem;
+	background: #fcfaf8;
+	display: inline-block;
+	color: #766556;
+	font-size: 1rem;
+	border: 1px solid #e4d8cc;
+	border-radius: 5px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
 }
 .post a[href="./"]:hover {
-  background: #ca7227;
-  color: white;
-  border: 1px solid #ca7227;
-  text-decoration: none;
+	background: #ca7227;
+	color: white;
+	border: 1px solid #ca7227;
+	text-decoration: none;
 }
 
 #slider {
-  border-right: none;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	border-right: none;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
 }
 
 .slide-container .properties {
-  padding: 1rem;
-  background: rgba(0, 0, 0, 0.75);
-  color: white;
-  border: 0;
+	padding: 1rem;
+	background: rgba(0, 0, 0, 0.75);
+	color: white;
+	border: 0;
 }
 .slide-container .properties .page-number {
-  left: 1rem;
-  top: 1rem;
+	left: 1rem;
+	top: 1rem;
 }
 
 /*=== LOGS */
 /*=========*/
 .loglist {
-  overflow: hidden;
-  border: 1px solid #ba9;
+	overflow: hidden;
+	border: 1px solid #ba9;
 }
 
 .log {
-  margin: 10px 0;
-  padding: 5px 2%;
-  background: #fcfaf8;
-  color: #766556;
-  font-size: 0.8rem;
-  overflow: auto;
+	margin: 10px 0;
+	padding: 5px 2%;
+	background: #fcfaf8;
+	color: #766556;
+	font-size: 0.8rem;
+	overflow: auto;
 }
 
 .log > .date {
-  margin: 0 0 0 10px;
-  padding: 5px 10px;
-  border-radius: 20px;
+	margin: 0 0 0 10px;
+	padding: 5px 10px;
+	border-radius: 20px;
 }
 
 .log.error > .date {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 
 .log.warning > .date {
-  background: #f4f762;
+	background: #f4f762;
 }
 
 .log.notice > .date {
-  background: #f5f0ec;
+	background: #f5f0ec;
 }
 
 .log.debug > .date {
-  background: #221f1d;
-  color: #fff;
+	background: #221f1d;
+	color: #fff;
 }
 
 /*=== STATISTICS */
 /*===============*/
 .stat {
-  margin: 10px 0 20px;
+	margin: 10px 0 20px;
 }
 
 .stat th,
 .stat td,
 .stat tr {
-  border: none;
+	border: none;
 }
 
 .stat > table td,
 .stat > table th {
-  border-bottom: 1px solid #e4d8cc;
+	border-bottom: 1px solid #e4d8cc;
 }
 
 .stat > .horizontal-list {
-  margin: 0 0 5px;
+	margin: 0 0 5px;
 }
 
 .stat > .horizontal-list .item {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
 }
 
 .stat > .horizontal-list .item:first-child {
-  width: 270px;
+	width: 270px;
 }
 
 /*=== MOBILE */
 /*===========*/
 @media (max-width: 840px) {
-  ul.nav .item {
-    width: 100%;
-  }
-  ul.nav .item img {
-    display: none;
-  }
-  ul.nav .item a {
-    box-sizing: border-box;
-    padding: 1rem 2.5rem 1rem 1rem;
-    background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 97% center;
-    display: inline-block;
-    width: 100%;
-    color: #363330;
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  ul.nav .item a:hover, ul.nav .item a:active {
-    background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center;
-    text-decoration: none;
-    color: #fff;
-  }
-
-  .form-group .group-name {
-    text-align: right;
-  }
-
-  .box .box-title .configure,
+	ul.nav .item {
+		width: 100%;
+	}
+	ul.nav .item img {
+		display: none;
+	}
+	ul.nav .item a {
+		box-sizing: border-box;
+		padding: 1rem 2.5rem 1rem 1rem;
+		background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 97% center;
+		display: inline-block;
+		width: 100%;
+		color: #363330;
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	ul.nav .item a:hover, ul.nav .item a:active {
+		background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center;
+		text-decoration: none;
+		color: #fff;
+	}
+
+	.form-group .group-name {
+		text-align: right;
+	}
+
+	.box .box-title .configure,
 .box .box-content .item .configure {
-    visibility: visible;
-  }
-
-  .aside {
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  .aside.aside_feed {
-    padding: 0;
-  }
-  .aside .tree .tree-folder .tree-folder-items .item a {
-    padding: 0.5rem 1rem;
-  }
-
-  .aside .toggle_aside,
+		visibility: visible;
+	}
+
+	.aside {
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	.aside.aside_feed {
+		padding: 0;
+	}
+	.aside .tree .tree-folder .tree-folder-items .item a {
+		padding: 0.5rem 1rem;
+	}
+
+	.aside .toggle_aside,
 #panel .close,
 #close-slider.active {
-    background: #b7641d;
-    display: block;
-    width: 100%;
-    height: 50px;
-    line-height: 50px;
-    text-align: center;
-  }
-
-  .header {
-    padding: 0.5rem;
-  }
-  .header .item.title {
-    display: none;
-  }
-  .header .item.search {
-    display: block;
-  }
-  .header .item.search .stick {
-    display: flex;
-  }
-  .header .item.search input {
-    width: 90%;
-    height: 3.5rem;
-  }
-  .header .item.search input:focus {
-    width: 100%;
-  }
-  .header .item.search .btn {
-    min-height: 49px;
-    padding: 0.5rem 2rem;
-  }
-  .header .item.configure {
-    display: none;
-  }
-
-  .post {
-    padding-right: 1rem;
-    padding-left: 1rem;
-  }
-
-  .nav_menu .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick {
-    margin: 0.5rem 0.5rem;
-  }
-  .nav_menu .stick .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick .btn.read_all {
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .search {
-    display: none;
-    max-width: 97%;
-  }
-  .nav_menu .search .input {
-    max-width: 97%;
-    width: 90px;
-  }
-  .nav_menu .search .input:focus {
-    width: 400px;
-  }
-
-  #stream .flux .flux_header {
-    padding: 0.5rem 0;
-  }
-
-  .day {
-    text-align: center;
-    padding: 1rem 0;
-  }
-  .day .name {
-    padding: 0;
-    display: block;
-    width: 100%;
-    line-height: 1.5rem;
-    margin-bottom: 1rem;
-  }
-
-  .pagination {
-    margin: 0 0 3.5em;
-  }
-
-  #nav_entries {
-    line-height: 4.5rem;
-  }
-
-  .notification {
-    border-radius: 0;
-  }
-  .notification a.close {
-    background: transparent;
-    display: block;
-    right: 0;
-  }
-  .notification a.close:hover {
-    opacity: 0.5;
-  }
-  .notification a.close .icon {
-    display: none;
-  }
+		background: #b7641d;
+		display: block;
+		width: 100%;
+		height: 50px;
+		line-height: 50px;
+		text-align: center;
+	}
+
+	.header {
+		padding: 0.5rem;
+	}
+	.header .item.title {
+		display: none;
+	}
+	.header .item.search {
+		display: block;
+	}
+	.header .item.search .stick {
+		display: flex;
+	}
+	.header .item.search input {
+		width: 90%;
+		height: 3.5rem;
+	}
+	.header .item.search input:focus {
+		width: 100%;
+	}
+	.header .item.search .btn {
+		min-height: 49px;
+		padding: 0.5rem 2rem;
+	}
+	.header .item.configure {
+		display: none;
+	}
+
+	.post {
+		padding-right: 1rem;
+		padding-left: 1rem;
+	}
+
+	.nav_menu .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick {
+		margin: 0.5rem 0.5rem;
+	}
+	.nav_menu .stick .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick .btn.read_all {
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .search {
+		display: none;
+		max-width: 97%;
+	}
+	.nav_menu .search .input {
+		max-width: 97%;
+		width: 90px;
+	}
+	.nav_menu .search .input:focus {
+		width: 400px;
+	}
+
+	#stream .flux .flux_header {
+		padding: 0.5rem 0;
+	}
+
+	.day {
+		text-align: center;
+		padding: 1rem 0;
+	}
+	.day .name {
+		padding: 0;
+		display: block;
+		width: 100%;
+		line-height: 1.5rem;
+		margin-bottom: 1rem;
+	}
+
+	.pagination {
+		margin: 0 0 3.5em;
+	}
+
+	#nav_entries {
+		line-height: 4.5rem;
+	}
+
+	.notification {
+		border-radius: 0;
+	}
+	.notification a.close {
+		background: transparent;
+		display: block;
+		right: 0;
+	}
+	.notification a.close:hover {
+		opacity: 0.5;
+	}
+	.notification a.close .icon {
+		display: none;
+	}
 }
 /*=== GENERAL */
 /*============*/
 html, body {
-  background: #f5f0ec;
-  height: 100%;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 0.875rem;
+	background: #f5f0ec;
+	height: 100%;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 0.875rem;
 }
 
 /*=== Links */
 a, button.as-link {
-  outline: none;
-  color: #ca7227;
+	outline: none;
+	color: #ca7227;
 }

+ 1 - 1
p/themes/BlueLagoon/BlueLagoon.rtl.css

@@ -804,7 +804,7 @@ a.btn {
 .prompt .stick,
 .prompt input {
 	width: 100%;
-	box-sizing: border-box;	
+	box-sizing: border-box;
 }
 
 .prompt input#username,.prompt input#passwordPlain {

+ 906 - 906
p/themes/Mapco/mapco.css

@@ -1,217 +1,217 @@
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
 }
 /* stylelint-disable property-no-vendor-prefix */
 /* FUNCTIONS */
 /* btns */
 .btn {
-  margin: 0;
-  padding: 0.5rem 1.5rem;
-  background: #f9fafb;
-  display: inline-block;
-  color: #5b6871;
-  font-size: 1rem;
-  border: none;
-  border-radius: 5px;
-  min-height: 38px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	margin: 0;
+	padding: 0.5rem 1.5rem;
+	background: #f9fafb;
+	display: inline-block;
+	color: #5b6871;
+	font-size: 1rem;
+	border: none;
+	border-radius: 5px;
+	min-height: 38px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .btn.btn-important {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .btn.btn-important:hover, .btn.btn-important:active {
-  background: #25c;
+	background: #25c;
 }
 .btn.btn-attention {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .btn.btn-attention:hover, .btn.btn-attention:active {
-  background: #73341f;
+	background: #73341f;
 }
 .btn:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 a.btn {
-  min-height: 25px;
-  line-height: 25px;
+	min-height: 25px;
+	line-height: 25px;
 }
 
 /*=== Forms */
 legend {
-  margin: 2rem 0 1rem 0;
-  padding: 0;
-  display: inline-block;
-  width: auto;
-  font-size: 1rem;
-  clear: both;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  font-weight: 700;
+	margin: 2rem 0 1rem 0;
+	padding: 0;
+	display: inline-block;
+	width: auto;
+	font-size: 1rem;
+	clear: both;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	font-weight: 700;
 }
 
 label {
-  min-height: 25px;
-  padding: 5px 0;
-  cursor: pointer;
-  color: #5b6871;
+	min-height: 25px;
+	padding: 5px 0;
+	cursor: pointer;
+	color: #5b6871;
 }
 
 textarea {
-  width: 360px;
-  max-width: 100%;
-  height: 100px;
+	width: 360px;
+	max-width: 100%;
+	height: 100px;
 }
 
 input, select, textarea, button {
-  padding: 5px 10px;
-  background: #fff;
-  color: #5b6871;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 1rem;
-  border: 1px solid #eff0f2;
-  border-radius: 2px;
-  min-height: 25px;
-  line-height: 25px;
-  vertical-align: middle;
+	padding: 5px 10px;
+	background: #fff;
+	color: #5b6871;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 1rem;
+	border: 1px solid #eff0f2;
+	border-radius: 2px;
+	min-height: 25px;
+	line-height: 25px;
+	vertical-align: middle;
 }
 
 option {
-  padding: 0 0.5em;
+	padding: 0 0.5em;
 }
 
 input:focus, select:focus, textarea:focus {
-  color: #303136;
-  border-color: #36c;
+	color: #303136;
+	border-color: #36c;
 }
 
 input:invalid, select:invalid {
-  color: #f5633e;
-  border-color: #f5633e;
-  box-shadow: none;
+	color: #f5633e;
+	border-color: #f5633e;
+	box-shadow: none;
 }
 
 input:disabled, select:disabled {
-  background: #eff0f2;
+	background: #eff0f2;
 }
 
 input.extend {
-  transition: width 200ms linear;
+	transition: width 200ms linear;
 }
 
 .form-group {
-  padding: 5px;
-  border-radius: 3px;
+	padding: 5px;
+	border-radius: 3px;
 }
 .form-group::after {
-  content: "";
-  display: block;
-  clear: both;
+	content: "";
+	display: block;
+	clear: both;
 }
 .form-group .group-name {
-  padding: 10px 0;
-  text-align: right;
+	padding: 10px 0;
+	text-align: right;
 }
 .form-group .group-controls {
-  min-height: 25px;
-  padding: 5px 0;
+	min-height: 25px;
+	padding: 5px 0;
 }
 .form-group .group-controls .control {
-  line-height: 2em;
+	line-height: 2em;
 }
 .form-group table {
-  margin: 10px 0 0 220px;
+	margin: 10px 0 0 220px;
 }
 .form-group.form-actions {
-  margin: 15px 0 25px;
-  padding: 5px 0;
+	margin: 15px 0 25px;
+	padding: 5px 0;
 }
 .form-group.form-actions .btn {
-  margin: 0 0.5rem 0 0;
+	margin: 0 0.5rem 0 0;
 }
 
 /*=== Tables */
 table {
-  border-collapse: collapse;
+	border-collapse: collapse;
 }
 
 tr, th, td {
-  padding: 0.5em;
-  border: 1px solid #d5d8db;
+	padding: 0.5em;
+	border: 1px solid #d5d8db;
 }
 
 th {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 
 form td,
 form th {
-  font-weight: normal;
-  text-align: center;
+	font-weight: normal;
+	text-align: center;
 }
 
 /*=== COMPONENTS */
@@ -219,424 +219,424 @@ form th {
 /*=== Forms */
 /*=== Horizontal-list */
 .horizontal-list {
-  margin: 0;
-  padding: 0.1rem 0;
+	margin: 0;
+	padding: 0.1rem 0;
 }
 .horizontal-list .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .horizontal-list .item:first-child {
-  padding-left: 0.5rem;
+	padding-left: 0.5rem;
 }
 
 /*=== Dropdown */
 .dropdown-menu {
-  margin: 0;
-  padding: 0.5rem 0 1rem 0;
-  background: #f9fafb;
-  font-size: 1rem;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
-  text-align: left;
+	margin: 0;
+	padding: 0.5rem 0 1rem 0;
+	background: #f9fafb;
+	font-size: 1rem;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	text-align: left;
 }
 .dropdown-menu::after {
-  background: white;
-  width: 10px;
-  height: 10px;
-  content: "";
-  position: absolute;
-  top: -4px;
-  right: 13px;
-  z-index: -10;
-  transform: rotate(45deg);
+	background: white;
+	width: 10px;
+	height: 10px;
+	content: "";
+	position: absolute;
+	top: -4px;
+	right: 13px;
+	z-index: -10;
+	transform: rotate(45deg);
 }
 .dropdown-menu .dropdown-header {
-  margin: 1.75rem 0 0.5rem 2rem;
-  font-weight: bold;
-  text-align: left;
-  color: #5b6871;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	margin: 1.75rem 0 0.5rem 2rem;
+	font-weight: bold;
+	text-align: left;
+	color: #5b6871;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .dropdown-menu .item {
-  -webkit-transition: all 0.075s ease-in-out;
-  -moz-transition: all 0.075s ease-in-out;
-  -o-transition: all 0.075s ease-in-out;
-  -ms-transition: all 0.075s ease-in-out;
-  transition: all 0.075s ease-in-out;
+	-webkit-transition: all 0.075s ease-in-out;
+	-moz-transition: all 0.075s ease-in-out;
+	-o-transition: all 0.075s ease-in-out;
+	-ms-transition: all 0.075s ease-in-out;
+	transition: all 0.075s ease-in-out;
 }
 .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link {
-  padding: 0 2rem;
-  color: #303136;
-  font-size: 1rem;
-  line-height: 2.5em;
+	padding: 0 2rem;
+	color: #303136;
+	font-size: 1rem;
+	line-height: 2.5em;
 }
 .dropdown-menu .item:hover {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .dropdown-menu .item:hover a, .dropdown-menu .item:hover button {
-  text-decoration: none;
-  color: #fff;
+	text-decoration: none;
+	color: #fff;
 }
 .dropdown-menu .item[aria-checked=true] a::before {
-  margin: 0 0 0 -14px;
-  font-weight: bold;
+	margin: 0 0 0 -14px;
+	font-weight: bold;
 }
 .dropdown-menu .input select, .dropdown-menu .input input {
-  margin: 0 auto 5px;
-  padding: 2px 5px;
-  border-radius: 3px;
+	margin: 0 auto 5px;
+	padding: 2px 5px;
+	border-radius: 3px;
 }
 .dropdown-menu .separator {
-  margin: 0.75rem 0;
-  border-bottom: 1px solid #eff0f2;
+	margin: 0.75rem 0;
+	border-bottom: 1px solid #eff0f2;
 }
 
 .tree .tree-folder .tree-folder-items .dropdown-menu .item {
-  padding: 0;
+	padding: 0;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button {
-  color: #303136;
+	color: #303136;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover {
-  background: #36c;
+	background: #36c;
 }
 
 /*=== Alerts */
 .alert {
-  margin: 1rem 0;
-  padding: 1rem;
-  background: #f9fafb;
-  color: #5b6871;
-  font-size: 1rem;
-  border: 1px solid #c5ced3;
-  border-radius: 3px;
-  text-shadow: 0 0 1px #eff0f2;
+	margin: 1rem 0;
+	padding: 1rem;
+	background: #f9fafb;
+	color: #5b6871;
+	font-size: 1rem;
+	border: 1px solid #c5ced3;
+	border-radius: 3px;
+	text-shadow: 0 0 1px #eff0f2;
 }
 
 .alert-head {
-  font-size: 1.15em;
+	font-size: 1.15em;
 }
 
 .alert > a {
-  text-decoration: underline;
-  color: inherit;
+	text-decoration: underline;
+	color: inherit;
 }
 
 .alert-warn {
-  background: #fdfde0;
-  color: #73762f;
-  border: 1px solid #73762f33;
+	background: #fdfde0;
+	color: #73762f;
+	border: 1px solid #73762f33;
 }
 
 .alert-success {
-  background: #cffde7;
-  color: #0c7540;
-  border: 1px solid #0c754033;
+	background: #cffde7;
+	color: #0c7540;
+	border: 1px solid #0c754033;
 }
 
 .alert-error {
-  background: #fde0d8;
-  color: #73341f;
-  border: 1px solid #73341f33;
+	background: #fde0d8;
+	color: #73341f;
+	border: 1px solid #73341f33;
 }
 
 /*=== Pagination */
 .pagination {
-  background: #eff0f2;
-  color: #303136;
-  font-size: 0.8em;
-  text-align: center;
+	background: #eff0f2;
+	color: #303136;
+	font-size: 0.8em;
+	text-align: center;
 }
 .pagination .item.pager-current {
-  background: #303136;
-  color: #eff0f2;
-  font-size: 1.5em;
-  font-weight: bold;
+	background: #303136;
+	color: #eff0f2;
+	font-size: 1.5em;
+	font-weight: bold;
 }
 .pagination .item a {
-  display: block;
-  color: #303136;
-  font-style: italic;
-  line-height: 3em;
-  text-decoration: none;
+	display: block;
+	color: #303136;
+	font-style: italic;
+	line-height: 3em;
+	text-decoration: none;
 }
 .pagination .item a:hover {
-  background: #303136;
-  color: #eff0f2;
+	background: #303136;
+	color: #eff0f2;
 }
 .pagination .loading,
 .pagination a:hover.loading {
-  background: url("loader.gif") center center no-repeat #34495e;
-  font-size: 0;
+	background: url("loader.gif") center center no-repeat #34495e;
+	font-size: 0;
 }
 
 .content .pagination {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 
 /*=== Boxes */
 .box {
-  background: #fff;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
+	background: #fff;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
 }
 .box .box-title {
-  margin: 0;
-  padding: 5px 10px;
-  background: #eff0f2;
-  color: #303136;
-  border-radius: 2px 2px 0 0;
+	margin: 0;
+	padding: 5px 10px;
+	background: #eff0f2;
+	color: #303136;
+	border-radius: 2px 2px 0 0;
 }
 .box .box-title img {
-  margin-right: 0.75rem;
+	margin-right: 0.75rem;
 }
 .box .box-title:hover .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: left;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: visible;
-  margin-right: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: left;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: visible;
+	margin-right: 0.5rem;
 }
 .box .box-title:hover .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-title:hover .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
 }
 .box .box-title .configure {
-  visibility: hidden;
+	visibility: hidden;
 }
 .box .box-title form input {
-  width: 85%;
+	width: 85%;
 }
 .box .box-title form .dropdown {
-  float: right;
+	float: right;
 }
 .box .box-title form .dropdown a.dropdown-toggle {
-  padding: 0;
-  border-radius: 0;
-  background-image: url(icons/more.svg);
-  background-repeat: no-repeat;
-  background-position: right 8px;
+	padding: 0;
+	border-radius: 0;
+	background-image: url(icons/more.svg);
+	background-repeat: no-repeat;
+	background-position: right 8px;
 }
 .box .box-title form .dropdown a.dropdown-toggle img {
-  display: none;
+	display: none;
 }
 .box .box-content .item {
-  padding: 0.5rem 0.75rem;
-  color: #303136;
-  font-size: 1rem;
-  border-bottom: 1px solid #eff0f2;
-  line-height: 1.7em;
+	padding: 0.5rem 0.75rem;
+	color: #303136;
+	font-size: 1rem;
+	border-bottom: 1px solid #eff0f2;
+	line-height: 1.7em;
 }
 .box .box-content .item img {
-  margin-right: 0.75rem;
+	margin-right: 0.75rem;
 }
 .box .box-content .item .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: left;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: hidden;
-  margin-right: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: left;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: hidden;
+	margin-right: 0.5rem;
 }
 .box .box-content .item .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-content .item .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
 }
 .box .box-content .item:hover .configure {
-  visibility: visible;
+	visibility: visible;
 }
 .box .box-content .item:last-child {
-  border-bottom: none;
+	border-bottom: none;
 }
 
 /*=== "Load more" part */
 #bigMarkAsRead {
-  text-align: center;
-  text-decoration: none;
-  background: #effcfd;
-  color: #36c;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	text-align: center;
+	text-decoration: none;
+	background: #effcfd;
+	color: #36c;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 #bigMarkAsRead:hover {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 #bigMarkAsRead:hover .bigTick {
-  background: url(icons/tick-white.svg) center no-repeat;
+	background: url(icons/tick-white.svg) center no-repeat;
 }
 #bigMarkAsRead .bigTick {
-  margin: 0.5rem 0;
-  background: url(icons/tick-color.svg) center no-repeat;
-  display: inline-block;
-  width: 64px;
-  height: 64px;
-  text-indent: -9999px;
-  white-space: nowrap;
+	margin: 0.5rem 0;
+	background: url(icons/tick-color.svg) center no-repeat;
+	display: inline-block;
+	width: 64px;
+	height: 64px;
+	text-indent: -9999px;
+	white-space: nowrap;
 }
 
 .formLogin {
-  background: #303136;
+	background: #303136;
 }
 .formLogin .header .configure {
-  padding-right: 1rem;
+	padding-right: 1rem;
 }
 .formLogin .header .configure img {
-  margin-right: 0.5rem;
+	margin-right: 0.5rem;
 }
 .formLogin .header .configure a.signin {
-  color: #fff;
+	color: #fff;
 }
 .formLogin h1 {
-  color: #fff;
+	color: #fff;
 }
 .formLogin form#crypto-form div {
-  margin-bottom: 1rem;
+	margin-bottom: 1rem;
 }
 .formLogin form#crypto-form div label {
-  color: #c5ced3;
-  font-size: 1rem;
+	color: #c5ced3;
+	font-size: 1rem;
 }
 .formLogin form#crypto-form div input {
-  background: #1d1e22;
+	background: #1d1e22;
 }
 .formLogin form#crypto-form div input:focus {
-  background: #f9fafb;
-  color: #303136;
+	background: #f9fafb;
+	color: #303136;
 }
 
 /*=== DIVERS */
 /*===========*/
 .aside.aside_feed .nav-form input,
 .aside.aside_feed .nav-form select {
-  width: 140px;
+	width: 140px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu {
-  right: -20px;
+	right: -20px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
-  right: 33px;
+	right: 33px;
 }
 
 /*=== Tree */
 .tree {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 .tree#sidebar {
-  scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
-  scrollbar-color: #fff33 #fff22;
+	scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
+	scrollbar-color: #fff33 #fff22;
 }
 .tree .tree-folder {
-  border-bottom: 1px solid #3f3f3f;
+	border-bottom: 1px solid #3f3f3f;
 }
 .tree .tree-folder .tree-folder-title {
-  padding: 12px 16px;
-  background: #303136;
-  position: relative;
-  font-size: 0.85rem;
-  letter-spacing: 1px;
-  font-weight: 700;
-  text-transform: uppercase;
+	padding: 12px 16px;
+	background: #303136;
+	position: relative;
+	font-size: 0.85rem;
+	letter-spacing: 1px;
+	font-weight: 700;
+	text-transform: uppercase;
 }
 .tree .tree-folder .tree-folder-title .title {
-  background: inherit;
-  color: #fff;
+	background: inherit;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-title .title:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 .tree .tree-folder.active .tree-folder-title {
-  background: #303136;
-  font-weight: bold;
+	background: #303136;
+	font-weight: bold;
 }
 .tree .tree-folder .tree-folder-items {
-  background: #26272a;
+	background: #26272a;
 }
 .tree .tree-folder .tree-folder-items .item {
-  padding: 0 1rem;
-  line-height: 2.5rem;
-  font-size: 1rem;
-  font-weight: 400;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 0 1rem;
+	line-height: 2.5rem;
+	font-size: 1rem;
+	font-weight: 400;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .tree .tree-folder .tree-folder-items .item.active {
-  background: #36c;
+	background: #36c;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a {
-  color: #303136;
+	color: #303136;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .item.active a {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .item:hover {
-  background: #17181a;
+	background: #17181a;
 }
 .tree .tree-folder .tree-folder-items .item a {
-  text-decoration: none;
-  color: #fff;
+	text-decoration: none;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before {
-  margin: 11px 6px 0 4px;
-  padding: 3px 4px;
-  background: rgba(0, 0, 0, 0.25);
-  display: block;
-  float: left;
-  font-size: 0.75rem;
-  border-radius: 12px;
-  content: attr(data-unread);
-  text-align: center;
-  line-height: 0.75rem;
+	margin: 11px 6px 0 4px;
+	padding: 3px 4px;
+	background: rgba(0, 0, 0, 0.25);
+	display: block;
+	float: left;
+	font-size: 0.75rem;
+	border-radius: 12px;
+	content: attr(data-unread);
+	text-align: center;
+	line-height: 0.75rem;
 }
 
 /*=== Buttons */
 .stick {
-  vertical-align: middle;
-  font-size: 0;
+	vertical-align: middle;
+	font-size: 0;
 }
 .stick input, .stick .btn {
-  border-radius: 0;
+	border-radius: 0;
 }
 .stick .btn:first-child,
 .stick input:first-child {
-  border-radius: 5px 0 0 5px;
+	border-radius: 5px 0 0 5px;
 }
 .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn {
-  border-radius: 0 5px 5px 0;
+	border-radius: 0 5px 5px 0;
 }
 .stick .btn + .btn,
 .stick .btn + input,
@@ -647,987 +647,987 @@ form th {
 .stick .dropdown + .btn,
 .stick .dropdown + input,
 .stick .dropdown + .dropdown > .btn {
-  border-left: 1px solid #d5d8db;
+	border-left: 1px solid #d5d8db;
 }
 
 .aside {
-  background: #303136;
+	background: #303136;
 }
 .aside.aside_feed {
-  padding: 10px 0;
-  text-align: center;
-  background: #303136;
+	padding: 10px 0;
+	text-align: center;
+	background: #303136;
 }
 .aside.aside_feed .tree {
-  margin: 10px 0 50px;
+	margin: 10px 0 50px;
 }
 
 /* Sidebar des pages de configuration */
 /*=== Navigation */
 .nav-list .nav-header,
 .nav-list .item {
-  height: 2.5em;
-  line-height: 2.5em;
-  font-size: 1rem;
+	height: 2.5em;
+	line-height: 2.5em;
+	font-size: 1rem;
 }
 .nav-list .item {
-  background: #303136;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #303136;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav-list .item a {
-  padding: 0 1rem;
-  color: #fff;
+	padding: 0 1rem;
+	color: #fff;
 }
 .nav-list .item .error a {
-  color: #f5633e;
+	color: #f5633e;
 }
 .nav-list .item:hover {
-  background: #17181a;
-  color: #fff;
+	background: #17181a;
+	color: #fff;
 }
 .nav-list .item:hover .error a {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .nav-list .item:hover .empty a {
-  background: #f4f762;
-  color: #fff;
+	background: #f4f762;
+	color: #fff;
 }
 .nav-list .item:hover a {
-  color: #fff;
-  text-decoration: none;
+	color: #fff;
+	text-decoration: none;
 }
 .nav-list .item.active {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .nav-list .item.active .error a {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .nav-list .item.active .empty a {
-  background: #f4f762;
-  color: #fff;
+	background: #f4f762;
+	color: #fff;
 }
 .nav-list .item.active a {
-  color: #fff;
-  text-decoration: none;
+	color: #fff;
+	text-decoration: none;
 }
 .nav-list.empty a {
-  color: #f4f762;
+	color: #f4f762;
 }
 .nav-list .disable {
-  text-align: center;
-  background: #f9fafb;
-  color: #a6a7ae;
+	text-align: center;
+	background: #f9fafb;
+	color: #a6a7ae;
 }
 .nav-list .nav-header {
-  padding: 0 10px;
-  font-weight: bold;
-  color: #5b6871;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  margin-top: 1rem;
+	padding: 0 10px;
+	font-weight: bold;
+	color: #5b6871;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	margin-top: 1rem;
 }
 .nav-list .nav-form {
-  padding: 3px;
-  text-align: center;
+	padding: 3px;
+	text-align: center;
 }
 .nav-list .nav-head {
-  margin: 0;
-  text-align: right;
-  color: #fff;
+	margin: 0;
+	text-align: right;
+	color: #fff;
 }
 .nav-list .nav-head a {
-  color: #fff;
+	color: #fff;
 }
 .nav-list .nav-head .item {
-  padding: 5px 10px;
-  font-size: 0.9rem;
-  line-height: 1.5rem;
+	padding: 5px 10px;
+	font-size: 0.9rem;
+	line-height: 1.5rem;
 }
 
 /*=== Aside main page (categories) */
 .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after {
-  margin: -0.5rem 1rem 0 0;
-  padding: 0 0.75rem;
-  background: rgba(0, 0, 0, 0.25);
-  border-radius: 12px;
-  position: absolute;
-  right: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 1rem 0 0;
+	padding: 0 0.75rem;
+	background: rgba(0, 0, 0, 0.25);
+	border-radius: 12px;
+	position: absolute;
+	right: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 
 .feed.item.empty.active {
-  background: #5b6871;
+	background: #5b6871;
 }
 
 .feed.item.error.active {
-  background: #5b6871;
+	background: #5b6871;
 }
 
 .feed.item.empty,
 .feed.item.empty > a {
-  color: #5b6871;
+	color: #5b6871;
 }
 
 .feed.item.error,
 .feed.item.error > a {
-  color: #5b6871;
+	color: #5b6871;
 }
 
 .feed.item.empty.active,
 .feed.item.error.active,
 .feed.item.empty.active > a,
 .feed.item.error.active > a {
-  color: #fff;
+	color: #fff;
 }
 
 .aside_feed .tree-folder-items .dropdown-menu::after {
-  left: 2px;
+	left: 2px;
 }
 
 .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon {
-  border-radius: 3px;
+	border-radius: 3px;
 }
 
 .aside_feed .stick #btn-add {
-  border-left-color: #303136;
+	border-left-color: #303136;
 }
 
 /*=== STRUCTURE */
 /*===============*/
 /*=== Header */
 .header {
-  padding: 0.5rem 1.35rem;
-  background: #303136;
-  display: block;
-  width: auto;
-  table-layout: none;
+	padding: 0.5rem 1.35rem;
+	background: #303136;
+	display: block;
+	width: auto;
+	table-layout: none;
 }
 .header .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .header .item.title {
-  width: 280px;
-  font-weight: 400;
+	width: 280px;
+	font-weight: 400;
 }
 .header .item.title h1 a {
-  text-decoration: none;
-  color: #fff;
-  font-size: 1rem;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	text-decoration: none;
+	color: #fff;
+	font-size: 1rem;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .header .item.title h1 a img {
-  margin-right: 0.5rem;
+	margin-right: 0.5rem;
 }
 .header .item.search input {
-  width: 230px;
-  color: #fff;
-  border: none;
-  border-radius: 2px 0 0 2px;
-  background-color: #26272a;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	width: 230px;
+	color: #fff;
+	border: none;
+	border-radius: 2px 0 0 2px;
+	background-color: #26272a;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .header .item.search input:hover {
-  background-color: #17181a;
+	background-color: #17181a;
 }
 .header .item.search input:focus {
-  width: 350px;
-  color: #5b6871;
-  background-color: #fff;
+	width: 350px;
+	color: #5b6871;
+	background-color: #fff;
 }
 .header .item.search .btn {
-  width: 3rem;
-  border-radius: 0 2px 2px 0;
-  background-color: #36c;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/magnifier.svg);
-  border-left-width: 0;
-  min-height: 35px;
+	width: 3rem;
+	border-radius: 0 2px 2px 0;
+	background-color: #36c;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/magnifier.svg);
+	border-left-width: 0;
+	min-height: 35px;
 }
 .header .item.search .btn img {
-  display: none;
+	display: none;
 }
 .header .item.search .btn:hover {
-  background-color: #25c;
+	background-color: #25c;
 }
 .header .item.configure {
-  width: 2rem;
-  position: absolute;
-  right: 1rem;
-  top: 1.25rem;
-  text-align: center;
+	width: 2rem;
+	position: absolute;
+	right: 1rem;
+	top: 1.25rem;
+	text-align: center;
 }
 .header .item.configure .btn {
-  padding: 0 0.5rem;
-  background-color: transparent;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/cog-white.svg);
+	padding: 0 0.5rem;
+	background-color: transparent;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/cog-white.svg);
 }
 .header .item.configure .btn img {
-  display: none;
+	display: none;
 }
 /*=== Body */
 #global {
-  height: calc(100% - 85px);
+	height: calc(100% - 85px);
 }
 
 /*=== Prompt (centered) */
 .prompt {
-  text-align: center;
+	text-align: center;
 }
 
 .prompt label {
-  text-align: left;
+	text-align: left;
 }
 
 .prompt form {
-  margin: 10px auto 20px auto;
-  width: 200px;
+	margin: 10px auto 20px auto;
+	width: 200px;
 }
 
 .prompt input {
-  margin: 5px auto;
-  width: 100%;
+	margin: 5px auto;
+	width: 100%;
 }
 
 .prompt p {
-  margin: 20px 0;
+	margin: 20px 0;
 }
 
 /*=== New article notification */
 #new-article {
-  background: #36c;
-  font-size: 1rem;
-  text-align: center;
+	background: #36c;
+	font-size: 1rem;
+	text-align: center;
 }
 
 #new-article:hover {
-  background: #25c;
+	background: #25c;
 }
 
 #new-article > a {
-  line-height: 3em;
-  font-weight: bold;
-  color: #fff;
+	line-height: 3em;
+	font-weight: bold;
+	color: #fff;
 }
 
 #new-article > a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 /*=== Day indication */
 .day {
-  padding: 1rem 0 0 1.25rem;
-  color: #5b6871;
-  font-size: 0.875rem;
-  font-weight: 700;
-  line-height: 3em;
-  letter-spacing: 1px;
-  text-transform: uppercase;
+	padding: 1rem 0 0 1.25rem;
+	color: #5b6871;
+	font-size: 0.875rem;
+	font-weight: 700;
+	line-height: 3em;
+	letter-spacing: 1px;
+	text-transform: uppercase;
 }
 .day .name {
-  padding: 0 1rem 0 1rem;
-  color: #303136;
-  font-size: 0.875rem;
-  position: relative;
-  left: 0;
-  text-transform: uppercase;
+	padding: 0 1rem 0 1rem;
+	color: #303136;
+	font-size: 0.875rem;
+	position: relative;
+	left: 0;
+	text-transform: uppercase;
 }
 
 /*=== Index menu */
 .nav_menu {
-  text-align: center;
-  padding: 5px 0;
+	text-align: center;
+	padding: 5px 0;
 }
 .nav_menu .btn {
-  border-left-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #f9fafb;
-  background-position: center;
-  background-repeat: no-repeat;
+	border-left-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #f9fafb;
+	background-position: center;
+	background-repeat: no-repeat;
 }
 .nav_menu .btn:hover {
-  background-color: #eff0f2;
+	background-color: #eff0f2;
 }
 .nav_menu .stick {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 .nav_menu .stick .btn {
-  border-left-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #f9fafb;
-  background-position: center;
-  background-repeat: no-repeat;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-left-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #f9fafb;
+	background-position: center;
+	background-repeat: no-repeat;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn:hover {
-  background-color: #d5d8db;
+	background-color: #d5d8db;
 }
 .nav_menu .stick .btn.active {
-  background-color: #36c;
+	background-color: #36c;
 }
 .nav_menu .stick .btn img.icon {
-  display: none;
+	display: none;
 }
 .nav_menu .stick .btn#toggle-read {
-  background-image: url(icons/read.svg);
+	background-image: url(icons/read.svg);
 }
 .nav_menu .stick .btn#toggle-read.active {
-  background-image: url(icons/read-white.svg);
+	background-image: url(icons/read-white.svg);
 }
 .nav_menu .stick .btn#toggle-unread {
-  background-image: url(icons/unread.svg);
+	background-image: url(icons/unread.svg);
 }
 .nav_menu .stick .btn#toggle-unread.active {
-  background-image: url(icons/unread-white.svg);
+	background-image: url(icons/unread-white.svg);
 }
 .nav_menu .stick .btn#toggle-starred {
-  background-image: url(icons/starred.svg);
+	background-image: url(icons/starred.svg);
 }
 .nav_menu .stick .btn#toggle-starred.active {
-  background-image: url(icons/starred-white.svg);
+	background-image: url(icons/starred-white.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred {
-  background-image: url(icons/non-starred.svg);
+	background-image: url(icons/non-starred.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred.active {
-  background-image: url(icons/non-starred-white.svg);
+	background-image: url(icons/non-starred-white.svg);
 }
 .nav_menu .stick .btn.read_all {
-  padding: 5px 16px;
-  color: #303136;
-  background-color: #f9fafb;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 5px 16px;
+	color: #303136;
+	background-color: #f9fafb;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn.read_all:hover {
-  background-color: #d5d8db;
+	background-color: #d5d8db;
 }
 .nav_menu .stick .btn.view-normal {
-  background-image: url(icons/view-list.svg);
+	background-image: url(icons/view-list.svg);
 }
 .nav_menu .stick .btn.view-normal.active {
-  background-image: url(icons/view-list-white.svg);
+	background-image: url(icons/view-list-white.svg);
 }
 .nav_menu .stick .btn.view-global {
-  background-image: url(icons/view-global.svg);
+	background-image: url(icons/view-global.svg);
 }
 .nav_menu .stick .btn.view-global.active {
-  background-image: url(icons/view-global-white.svg);
+	background-image: url(icons/view-global-white.svg);
 }
 .nav_menu .stick .btn.view-reader {
-  background-image: url(icons/view-reader.svg);
+	background-image: url(icons/view-reader.svg);
 }
 .nav_menu .stick .btn.view-reader.active {
-  background-image: url(icons/view-reader-white.svg);
+	background-image: url(icons/view-reader-white.svg);
 }
 .nav_menu .stick .btn.view-rss {
-  background-image: url(icons/rss.svg);
+	background-image: url(icons/rss.svg);
 }
 .nav_menu .stick .dropdown a.dropdown-toggle {
-  border-left-width: 0;
-  background-image: url(icons/more.svg);
+	border-left-width: 0;
+	background-image: url(icons/more.svg);
 }
 
 #dropdown-query ~ .dropdown-menu .dropdown-header .icon {
-  vertical-align: middle;
-  background-color: #a6a7ae;
-  border-radius: 3px;
+	vertical-align: middle;
+	background-color: #a6a7ae;
+	border-radius: 3px;
 }
 
 /*=== Content of feed articles */
 .content, .content.thin {
-  padding: 20px 10px;
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	padding: 20px 10px;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a {
-  color: #303136;
-  font-family: "spectral", serif;
-  font-size: 2rem;
+	color: #303136;
+	font-family: "spectral", serif;
+	font-size: 2rem;
 }
 .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover {
-  color: #36c;
-  text-decoration: none;
+	color: #36c;
+	text-decoration: none;
 }
 .content .author, .content.thin .author {
-  color: #5b6871;
-  font-size: 1.125rem;
+	color: #5b6871;
+	font-size: 1.125rem;
 }
 .content p, .content ul, .content.thin p, .content.thin ul {
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content .content hr, .content.thin .content hr {
-  margin: 30px 10px;
-  background: #d5d8db;
-  height: 1px;
-  border: 0;
-  box-shadow: 0 2px 5px #ccc;
+	margin: 30px 10px;
+	background: #d5d8db;
+	height: 1px;
+	border: 0;
+	box-shadow: 0 2px 5px #ccc;
 }
 .content pre, .content.thin pre {
-  margin: 10px auto;
-  padding: 10px 20px;
-  overflow: auto;
-  background: #1d1e22;
-  color: #fff;
-  font-size: 0.9rem;
-  border-radius: 3px;
+	margin: 10px auto;
+	padding: 10px 20px;
+	overflow: auto;
+	background: #1d1e22;
+	color: #fff;
+	font-size: 0.9rem;
+	border-radius: 3px;
 }
 .content pre code, .content.thin pre code {
-  background: transparent;
-  color: #fff;
-  border: none;
+	background: transparent;
+	color: #fff;
+	border: none;
 }
 .content code, .content.thin code {
-  padding: 2px 5px;
-  background: #f9fafb;
-  border: 1px solid #eff0f2;
-  border-radius: 3px;
+	padding: 2px 5px;
+	background: #f9fafb;
+	border: 1px solid #eff0f2;
+	border-radius: 3px;
 }
 .content blockquote, .content.thin blockquote {
-  margin: 0;
-  padding: 5px 20px;
-  background: #f9fafb;
-  display: block;
-  color: #303136;
-  border-top: 1px solid #d5d8db;
-  border-bottom: 1px solid #d5d8db;
+	margin: 0;
+	padding: 5px 20px;
+	background: #f9fafb;
+	display: block;
+	color: #303136;
+	border-top: 1px solid #d5d8db;
+	border-bottom: 1px solid #d5d8db;
 }
 .content blockquote p, .content.thin blockquote p {
-  margin: 0;
+	margin: 0;
 }
 
 /*=== Notification and actualize notification */
 .notification {
-  padding: 1rem 0;
-  background: #d5d8db;
-  width: 100%;
-  height: 3rem;
-  color: #5b6871;
-  font-size: 1em;
-  border: none;
-  position: fixed;
-  top: auto;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  text-align: center;
-  line-height: 3em;
-  z-index: 10;
-  vertical-align: middle;
+	padding: 1rem 0;
+	background: #d5d8db;
+	width: 100%;
+	height: 3rem;
+	color: #5b6871;
+	font-size: 1em;
+	border: none;
+	position: fixed;
+	top: auto;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	text-align: center;
+	line-height: 3em;
+	z-index: 10;
+	vertical-align: middle;
 }
 .notification .msg {
-  display: inline-block;
-  font-size: 1rem;
+	display: inline-block;
+	font-size: 1rem;
 }
 .notification.good {
-  background: #10f587;
-  color: #fff;
+	background: #10f587;
+	color: #fff;
 }
 .notification.bad {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .notification a.close {
-  padding: 0 15px;
-  border-radius: 0 3px 3px 0;
-  line-height: 3em;
+	padding: 0 15px;
+	border-radius: 0 3px 3px 0;
+	line-height: 3em;
 }
 .notification.good a.close:hover {
-  background: #0c7540;
+	background: #0c7540;
 }
 .notification.bad a.close:hover {
-  background: #73341f;
+	background: #73341f;
 }
 .notification#actualizeProgress {
-  line-height: 2em;
+	line-height: 2em;
 }
 .notification#actualizeProgress br {
-  display: none;
+	display: none;
 }
 
 /*=== Navigation menu (for articles) */
 #nav_entries {
-  margin: 0;
-  text-align: center;
-  line-height: 3em;
-  table-layout: fixed;
-  background: #303136;
+	margin: 0;
+	text-align: center;
+	line-height: 3em;
+	table-layout: fixed;
+	background: #303136;
 }
 
 /*=== Feed articles */
 .flux {
-  background: #fff;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #fff;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux:hover {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 .flux:hover:not(.current):hover .item.title {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 .flux.current {
-  background: #f9fafb;
-  border-left-color: #36c;
+	background: #f9fafb;
+	border-left-color: #36c;
 }
 .flux.not_read:not(.current) {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read:not(.current):hover .item.title {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read .item.title a {
-  color: #36c;
+	color: #36c;
 }
 .flux.not_read .item.website a {
-  color: #36c;
+	color: #36c;
 }
 .flux.not_read .item.date {
-  color: rgba(51, 102, 204, 0.5);
+	color: rgba(51, 102, 204, 0.5);
 }
 .flux.favorite {
-  border-left-color: #ffc300;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-left-color: #ffc300;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux.favorite:not(.current) {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.favorite:not(.current):hover .item.title {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux .website a {
-  color: #303136;
-  opacity: 0.75;
+	color: #303136;
+	opacity: 0.75;
 }
 .flux .website .favicon {
-  padding: 5px;
+	padding: 5px;
 }
 .flux .item.date {
-  color: rgba(48, 49, 54, 0.5);
-  font-size: 0.85rem;
+	color: rgba(48, 49, 54, 0.5);
+	font-size: 0.85rem;
 }
 .flux .bottom {
-  font-size: 1rem;
-  text-align: center;
+	font-size: 1rem;
+	text-align: center;
 }
 
 .flux_header {
-  font-size: 1rem;
-  cursor: pointer;
-  border-top: 1px solid #eff0f2;
+	font-size: 1rem;
+	cursor: pointer;
+	border-top: 1px solid #eff0f2;
 }
 .flux_header .title {
-  font-size: 1rem;
+	font-size: 1rem;
 }
 
 /*=== GLOBAL VIEW */
 /*================*/
 #stream .box.category:not([data-unread="0"]) .box-title .title {
-  font-weight: bold;
+	font-weight: bold;
 }
 #stream .box.category .box-title {
-  padding: 1.5rem;
-  background: none;
+	padding: 1.5rem;
+	background: none;
 }
 #stream .box.category .box-title a.title {
-  color: #5b6871;
-  font-size: 1rem;
-  font-weight: normal;
-  text-decoration: none;
-  text-align: left;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	color: #5b6871;
+	font-size: 1rem;
+	font-weight: normal;
+	text-decoration: none;
+	text-align: left;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 #stream .box.category .box-title a.title:not([data-unread="0"])::after {
-  margin: -0.5rem 1rem 0 0;
-  padding: 0 0.75rem;
-  background: #eff0f2;
-  border-radius: 12px;
-  position: absolute;
-  top: 1.75rem;
-  right: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 1rem 0 0;
+	padding: 0 0.75rem;
+	background: #eff0f2;
+	border-radius: 12px;
+	position: absolute;
+	top: 1.75rem;
+	right: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 #stream .box.category .box-title a.title:hover {
-  color: #36c;
+	color: #36c;
 }
 #stream .box.category .box-content {
-  padding-bottom: 0.5rem;
+	padding-bottom: 0.5rem;
 }
 #stream .box.category .box-content .item.feed {
-  padding: 0.5rem 1.5rem;
-  font-size: 1rem;
+	padding: 0.5rem 1.5rem;
+	font-size: 1rem;
 }
 #stream .box.category .box-content .item.feed a {
-  color: #303136;
-  font-weight: 400;
+	color: #303136;
+	font-weight: 400;
 }
 #stream .box.category .box-content .item.feed a:hover {
-  color: #36c;
-  text-decoration: none;
+	color: #36c;
+	text-decoration: none;
 }
 
 #overlay {
-  background: rgba(0, 0, 0, 0.65);
+	background: rgba(0, 0, 0, 0.65);
 }
 
 #panel {
-  top: 3rem;
-  right: 3rem;
-  bottom: 3rem;
-  left: 3rem;
-  border-radius: 3px;
+	top: 3rem;
+	right: 3rem;
+	bottom: 3rem;
+	left: 3rem;
+	border-radius: 3px;
 }
 
 /*=== READER VIEW */
 /*================*/
 #stream.reader .flux {
-  padding: 0 0 50px;
-  background: #eff0f2;
-  color: #303136;
-  border: none;
+	padding: 0 0 50px;
+	background: #eff0f2;
+	color: #303136;
+	border: none;
 }
 
 #stream.reader .flux .author {
-  margin: 0 0 10px;
-  color: #a6a7ae;
-  font-size: 90%;
+	margin: 0 0 10px;
+	color: #a6a7ae;
+	font-size: 90%;
 }
 
 /*=== Configuration pages */
 .post {
-  padding: 1rem 2rem;
-  font-size: 1rem;
+	padding: 1rem 2rem;
+	font-size: 1rem;
 }
 .post form {
-  margin: 1rem 0;
+	margin: 1rem 0;
 }
 .post form .horizontal-list {
-  margin-bottom: 0.5rem;
+	margin-bottom: 0.5rem;
 }
 .post.content {
-  max-width: 550px;
+	max-width: 550px;
 }
 .post h1, .post h2 {
-  color: #303136;
-  font-size: 3rem;
-  margin-top: 1.75rem;
-  font-weight: 300;
-  line-height: 1.2em;
+	color: #303136;
+	font-size: 3rem;
+	margin-top: 1.75rem;
+	font-weight: 300;
+	line-height: 1.2em;
 }
 .post a[href="./"] {
-  margin: 0;
-  padding: 0.75rem 1.5rem;
-  background: #f9fafb;
-  display: inline-block;
-  color: #5b6871;
-  font-size: 1rem;
-  border: 1px solid #d5d8db;
-  border-radius: 5px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
+	margin: 0;
+	padding: 0.75rem 1.5rem;
+	background: #f9fafb;
+	display: inline-block;
+	color: #5b6871;
+	font-size: 1rem;
+	border: 1px solid #d5d8db;
+	border-radius: 5px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
 }
 .post a[href="./"]:hover {
-  background: #36c;
-  color: white;
-  border: 1px solid #36c;
-  text-decoration: none;
+	background: #36c;
+	color: white;
+	border: 1px solid #36c;
+	text-decoration: none;
 }
 
 #slider {
-  border-left: none;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	border-left: none;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
 }
 
 .slide-container .properties {
-  padding: 1rem;
-  background: rgba(0, 0, 0, 0.75);
-  color: white;
-  border: 0;
+	padding: 1rem;
+	background: rgba(0, 0, 0, 0.75);
+	color: white;
+	border: 0;
 }
 .slide-container .properties .page-number {
-  right: 1rem;
-  top: 1rem;
+	right: 1rem;
+	top: 1rem;
 }
 
 /*=== LOGS */
 /*=========*/
 .loglist {
-  overflow: hidden;
-  border: 1px solid #a6a7ae;
+	overflow: hidden;
+	border: 1px solid #a6a7ae;
 }
 
 .log {
-  margin: 10px 0;
-  padding: 5px 2%;
-  background: #f9fafb;
-  color: #5b6871;
-  font-size: 0.8rem;
-  overflow: auto;
+	margin: 10px 0;
+	padding: 5px 2%;
+	background: #f9fafb;
+	color: #5b6871;
+	font-size: 0.8rem;
+	overflow: auto;
 }
 
 .log > .date {
-  margin: 0 10px 0 0;
-  padding: 5px 10px;
-  border-radius: 20px;
+	margin: 0 10px 0 0;
+	padding: 5px 10px;
+	border-radius: 20px;
 }
 
 .log.error > .date {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 
 .log.warning > .date {
-  background: #f4f762;
+	background: #f4f762;
 }
 
 .log.notice > .date {
-  background: #eff0f2;
+	background: #eff0f2;
 }
 
 .log.debug > .date {
-  background: #1d1e22;
-  color: #fff;
+	background: #1d1e22;
+	color: #fff;
 }
 
 /*=== STATISTICS */
 /*===============*/
 .stat {
-  margin: 10px 0 20px;
+	margin: 10px 0 20px;
 }
 
 .stat th,
 .stat td,
 .stat tr {
-  border: none;
+	border: none;
 }
 
 .stat > table td,
 .stat > table th {
-  border-bottom: 1px solid #d5d8db;
+	border-bottom: 1px solid #d5d8db;
 }
 
 .stat > .horizontal-list {
-  margin: 0 0 5px;
+	margin: 0 0 5px;
 }
 
 .stat > .horizontal-list .item {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
 }
 
 .stat > .horizontal-list .item:first-child {
-  width: 270px;
+	width: 270px;
 }
 
 /*=== MOBILE */
 /*===========*/
 @media (max-width: 840px) {
-  ul.nav .item {
-    width: 100%;
-  }
-  ul.nav .item img {
-    display: none;
-  }
-  ul.nav .item a {
-    box-sizing: border-box;
-    padding: 1rem 1rem 1rem 2.5rem;
-    background: url("../../themes/icons/logout.svg") no-repeat #17181a 3% center;
-    display: inline-block;
-    width: 100%;
-    color: #fff;
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    -ms-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  ul.nav .item a:hover, ul.nav .item a:active {
-    background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center;
-    text-decoration: none;
-  }
-
-  .form-group .group-name {
-    text-align: left;
-  }
-
-  .box .box-title .configure,
+	ul.nav .item {
+		width: 100%;
+	}
+	ul.nav .item img {
+		display: none;
+	}
+	ul.nav .item a {
+		box-sizing: border-box;
+		padding: 1rem 1rem 1rem 2.5rem;
+		background: url("../../themes/icons/logout.svg") no-repeat #17181a 3% center;
+		display: inline-block;
+		width: 100%;
+		color: #fff;
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		-ms-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	ul.nav .item a:hover, ul.nav .item a:active {
+		background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center;
+		text-decoration: none;
+	}
+
+	.form-group .group-name {
+		text-align: left;
+	}
+
+	.box .box-title .configure,
 .box .box-content .item .configure {
-    visibility: visible;
-  }
-
-  .aside {
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    -ms-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  .aside.aside_feed {
-    padding: 0;
-  }
-  .aside .tree .tree-folder .tree-folder-items .item a {
-    padding: 0.5rem 1rem;
-  }
-
-  .aside .toggle_aside,
+		visibility: visible;
+	}
+
+	.aside {
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		-ms-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	.aside.aside_feed {
+		padding: 0;
+	}
+	.aside .tree .tree-folder .tree-folder-items .item a {
+		padding: 0.5rem 1rem;
+	}
+
+	.aside .toggle_aside,
 #panel .close,
 #close-slider.active {
-    background: #25c;
-    display: block;
-    width: 100%;
-    height: 50px;
-    line-height: 50px;
-    text-align: center;
-  }
-
-  .header {
-    padding: 0.5rem;
-  }
-  .header .item.title {
-    display: none;
-  }
-  .header .item.search {
-    display: block;
-  }
-  .header .item.search .stick {
-    display: flex;
-  }
-  .header .item.search input {
-    width: 90%;
-    height: 3.5rem;
-  }
-  .header .item.search input:focus {
-    width: 100%;
-  }
-  .header .item.search .btn {
-    min-height: 49px;
-    padding: 0.5rem 2rem;
-  }
-  .header .item.configure {
-    display: none;
-  }
-
-  .post {
-    padding-left: 1rem;
-    padding-right: 1rem;
-  }
-
-  .nav_menu .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick {
-    margin: 0.5rem 0.5rem;
-  }
-  .nav_menu .stick .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick .btn.read_all {
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .search {
-    display: none;
-    max-width: 97%;
-  }
-  .nav_menu .search .input {
-    max-width: 97%;
-    width: 90px;
-  }
-  .nav_menu .search .input:focus {
-    width: 400px;
-  }
-
-  #stream .flux .flux_header {
-    padding: 0.5rem 0;
-  }
-
-  .day {
-    text-align: center;
-    padding: 1rem 0;
-  }
-  .day .name {
-    padding: 0;
-    display: block;
-    width: 100%;
-    line-height: 1.5rem;
-    margin-bottom: 1rem;
-  }
-
-  .pagination {
-    margin: 0 0 3.5em;
-  }
-
-  #nav_entries {
-    line-height: 4.5rem;
-  }
-
-  .notification {
-    border-radius: 0;
-  }
-  .notification a.close {
-    background: transparent;
-    display: block;
-    left: 0;
-  }
-  .notification a.close:hover {
-    opacity: 0.5;
-  }
-  .notification a.close .icon {
-    display: none;
-  }
+		background: #25c;
+		display: block;
+		width: 100%;
+		height: 50px;
+		line-height: 50px;
+		text-align: center;
+	}
+
+	.header {
+		padding: 0.5rem;
+	}
+	.header .item.title {
+		display: none;
+	}
+	.header .item.search {
+		display: block;
+	}
+	.header .item.search .stick {
+		display: flex;
+	}
+	.header .item.search input {
+		width: 90%;
+		height: 3.5rem;
+	}
+	.header .item.search input:focus {
+		width: 100%;
+	}
+	.header .item.search .btn {
+		min-height: 49px;
+		padding: 0.5rem 2rem;
+	}
+	.header .item.configure {
+		display: none;
+	}
+
+	.post {
+		padding-left: 1rem;
+		padding-right: 1rem;
+	}
+
+	.nav_menu .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick {
+		margin: 0.5rem 0.5rem;
+	}
+	.nav_menu .stick .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick .btn.read_all {
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .search {
+		display: none;
+		max-width: 97%;
+	}
+	.nav_menu .search .input {
+		max-width: 97%;
+		width: 90px;
+	}
+	.nav_menu .search .input:focus {
+		width: 400px;
+	}
+
+	#stream .flux .flux_header {
+		padding: 0.5rem 0;
+	}
+
+	.day {
+		text-align: center;
+		padding: 1rem 0;
+	}
+	.day .name {
+		padding: 0;
+		display: block;
+		width: 100%;
+		line-height: 1.5rem;
+		margin-bottom: 1rem;
+	}
+
+	.pagination {
+		margin: 0 0 3.5em;
+	}
+
+	#nav_entries {
+		line-height: 4.5rem;
+	}
+
+	.notification {
+		border-radius: 0;
+	}
+	.notification a.close {
+		background: transparent;
+		display: block;
+		left: 0;
+	}
+	.notification a.close:hover {
+		opacity: 0.5;
+	}
+	.notification a.close .icon {
+		display: none;
+	}
 }
 /*=== GENERAL */
 /*============*/
 html, body {
-  background: #eff0f2;
-  height: 100%;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 0.875rem;
+	background: #eff0f2;
+	height: 100%;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 0.875rem;
 }
 
 /*=== Links */
 a, button.as-link {
-  outline: none;
-  color: #36c;
+	outline: none;
+	color: #36c;
 }
 
 /*# sourceMappingURL=mapco.css.map */

+ 907 - 907
p/themes/Mapco/mapco.rtl.css

@@ -1,217 +1,217 @@
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
+	font-family: "lato";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "lato";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
+	font-family: "lato";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 400;
-  src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 400;
+	src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: normal;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
+	font-family: "spectral";
+	font-style: normal;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff");
 }
 @font-face {
-  font-family: "spectral";
-  font-style: italic;
-  font-stretch: normal;
-  font-weight: 700;
-  src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
+	font-family: "spectral";
+	font-style: italic;
+	font-stretch: normal;
+	font-weight: 700;
+	src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff");
 }
 /* stylelint-disable property-no-vendor-prefix */
 /* FUNCTIONS */
 /* btns */
 .btn {
-  margin: 0;
-  padding: 0.5rem 1.5rem;
-  background: #f9fafb;
-  display: inline-block;
-  color: #5b6871;
-  font-size: 1rem;
-  border: none;
-  border-radius: 5px;
-  min-height: 38px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	margin: 0;
+	padding: 0.5rem 1.5rem;
+	background: #f9fafb;
+	display: inline-block;
+	color: #5b6871;
+	font-size: 1rem;
+	border: none;
+	border-radius: 5px;
+	min-height: 38px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .btn.btn-important {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .btn.btn-important:hover, .btn.btn-important:active {
-  background: #25c;
+	background: #25c;
 }
 .btn.btn-attention {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .btn.btn-attention:hover, .btn.btn-attention:active {
-  background: #73341f;
+	background: #73341f;
 }
 .btn:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 a.btn {
-  min-height: 25px;
-  line-height: 25px;
+	min-height: 25px;
+	line-height: 25px;
 }
 
 /*=== Forms */
 legend {
-  margin: 2rem 0 1rem 0;
-  padding: 0;
-  display: inline-block;
-  width: auto;
-  font-size: 1rem;
-  clear: both;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  font-weight: 700;
+	margin: 2rem 0 1rem 0;
+	padding: 0;
+	display: inline-block;
+	width: auto;
+	font-size: 1rem;
+	clear: both;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	font-weight: 700;
 }
 
 label {
-  min-height: 25px;
-  padding: 5px 0;
-  cursor: pointer;
-  color: #5b6871;
+	min-height: 25px;
+	padding: 5px 0;
+	cursor: pointer;
+	color: #5b6871;
 }
 
 textarea {
-  width: 360px;
-  max-width: 100%;
-  height: 100px;
+	width: 360px;
+	max-width: 100%;
+	height: 100px;
 }
 
 input, select, textarea, button {
-  padding: 5px 10px;
-  background: #fff;
-  color: #5b6871;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 1rem;
-  border: 1px solid #eff0f2;
-  border-radius: 2px;
-  min-height: 25px;
-  line-height: 25px;
-  vertical-align: middle;
+	padding: 5px 10px;
+	background: #fff;
+	color: #5b6871;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 1rem;
+	border: 1px solid #eff0f2;
+	border-radius: 2px;
+	min-height: 25px;
+	line-height: 25px;
+	vertical-align: middle;
 }
 
 option {
-  padding: 0 0.5em;
+	padding: 0 0.5em;
 }
 
 input:focus, select:focus, textarea:focus {
-  color: #303136;
-  border-color: #36c;
+	color: #303136;
+	border-color: #36c;
 }
 
 input:invalid, select:invalid {
-  color: #f5633e;
-  border-color: #f5633e;
-  box-shadow: none;
+	color: #f5633e;
+	border-color: #f5633e;
+	box-shadow: none;
 }
 
 input:disabled, select:disabled {
-  background: #eff0f2;
+	background: #eff0f2;
 }
 
 input.extend {
-  transition: width 200ms linear;
+	transition: width 200ms linear;
 }
 
 .form-group {
-  padding: 5px;
-  border-radius: 3px;
+	padding: 5px;
+	border-radius: 3px;
 }
 .form-group::after {
-  content: "";
-  display: block;
-  clear: both;
+	content: "";
+	display: block;
+	clear: both;
 }
 .form-group .group-name {
-  padding: 10px 0;
-  text-align: left;
+	padding: 10px 0;
+	text-align: left;
 }
 .form-group .group-controls {
-  min-height: 25px;
-  padding: 5px 0;
+	min-height: 25px;
+	padding: 5px 0;
 }
 .form-group .group-controls .control {
-  line-height: 2em;
+	line-height: 2em;
 }
 .form-group table {
-  margin: 10px 220px 0 0;
+	margin: 10px 220px 0 0;
 }
 .form-group.form-actions {
-  margin: 15px 0 25px;
-  padding: 5px 0;
+	margin: 15px 0 25px;
+	padding: 5px 0;
 }
 .form-group.form-actions .btn {
-  margin: 0 0 0 0.5rem;
+	margin: 0 0 0 0.5rem;
 }
 
 /*=== Tables */
 table {
-  border-collapse: collapse;
+	border-collapse: collapse;
 }
 
 tr, th, td {
-  padding: 0.5em;
-  border: 1px solid #d5d8db;
+	padding: 0.5em;
+	border: 1px solid #d5d8db;
 }
 
 th {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 
 form td,
 form th {
-  font-weight: normal;
-  text-align: center;
+	font-weight: normal;
+	text-align: center;
 }
 
 /*=== COMPONENTS */
@@ -219,424 +219,424 @@ form th {
 /*=== Forms */
 /*=== Horizontal-list */
 .horizontal-list {
-  margin: 0;
-  padding: 0.1rem 0;
+	margin: 0;
+	padding: 0.1rem 0;
 }
 .horizontal-list .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .horizontal-list .item:first-child {
-  padding-right: 0.5rem;
+	padding-right: 0.5rem;
 }
 
 /*=== Dropdown */
 .dropdown-menu {
-  margin: 0;
-  padding: 0.5rem 0 1rem 0;
-  background: #f9fafb;
-  font-size: 1rem;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
-  text-align: right;
+	margin: 0;
+	padding: 0.5rem 0 1rem 0;
+	background: #f9fafb;
+	font-size: 1rem;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	text-align: right;
 }
 .dropdown-menu::after {
-  background: white;
-  width: 10px;
-  height: 10px;
-  content: "";
-  position: absolute;
-  top: -4px;
-  left: 13px;
-  z-index: -10;
-  transform: rotate(-45deg);
+	background: white;
+	width: 10px;
+	height: 10px;
+	content: "";
+	position: absolute;
+	top: -4px;
+	left: 13px;
+	z-index: -10;
+	transform: rotate(-45deg);
 }
 .dropdown-menu .dropdown-header {
-  margin: 1.75rem 2rem 0.5rem 0;
-  font-weight: bold;
-  text-align: right;
-  color: #5b6871;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	margin: 1.75rem 2rem 0.5rem 0;
+	font-weight: bold;
+	text-align: right;
+	color: #5b6871;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .dropdown-menu .item {
-  -webkit-transition: all 0.075s ease-in-out;
-  -moz-transition: all 0.075s ease-in-out;
-  -o-transition: all 0.075s ease-in-out;
-  -ms-transition: all 0.075s ease-in-out;
-  transition: all 0.075s ease-in-out;
+	-webkit-transition: all 0.075s ease-in-out;
+	-moz-transition: all 0.075s ease-in-out;
+	-o-transition: all 0.075s ease-in-out;
+	-ms-transition: all 0.075s ease-in-out;
+	transition: all 0.075s ease-in-out;
 }
 .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link {
-  padding: 0 2rem;
-  color: #303136;
-  font-size: 1rem;
-  line-height: 2.5em;
+	padding: 0 2rem;
+	color: #303136;
+	font-size: 1rem;
+	line-height: 2.5em;
 }
 .dropdown-menu .item:hover {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .dropdown-menu .item:hover a, .dropdown-menu .item:hover button {
-  text-decoration: none;
-  color: #fff;
+	text-decoration: none;
+	color: #fff;
 }
 .dropdown-menu .item[aria-checked=true] a::before {
-  margin: 0 -14px 0 0;
-  font-weight: bold;
+	margin: 0 -14px 0 0;
+	font-weight: bold;
 }
 .dropdown-menu .input select, .dropdown-menu .input input {
-  margin: 0 auto 5px;
-  padding: 2px 5px;
-  border-radius: 3px;
+	margin: 0 auto 5px;
+	padding: 2px 5px;
+	border-radius: 3px;
 }
 .dropdown-menu .separator {
-  margin: 0.75rem 0;
-  border-bottom: 1px solid #eff0f2;
+	margin: 0.75rem 0;
+	border-bottom: 1px solid #eff0f2;
 }
 
 .tree .tree-folder .tree-folder-items .dropdown-menu .item {
-  padding: 0;
+	padding: 0;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button {
-  color: #303136;
+	color: #303136;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover,
 .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover {
-  background: #36c;
+	background: #36c;
 }
 
 /*=== Alerts */
 .alert {
-  margin: 1rem 0;
-  padding: 1rem;
-  background: #f9fafb;
-  color: #5b6871;
-  font-size: 1rem;
-  border: 1px solid #c5ced3;
-  border-radius: 3px;
-  text-shadow: 0 0 1px #eff0f2;
+	margin: 1rem 0;
+	padding: 1rem;
+	background: #f9fafb;
+	color: #5b6871;
+	font-size: 1rem;
+	border: 1px solid #c5ced3;
+	border-radius: 3px;
+	text-shadow: 0 0 1px #eff0f2;
 }
 
 .alert-head {
-  font-size: 1.15em;
+	font-size: 1.15em;
 }
 
 .alert > a {
-  text-decoration: underline;
-  color: inherit;
+	text-decoration: underline;
+	color: inherit;
 }
 
 .alert-warn {
-  background: #fdfde0;
-  color: #73762f;
-  border: 1px solid #73762f33;
+	background: #fdfde0;
+	color: #73762f;
+	border: 1px solid #73762f33;
 }
 
 .alert-success {
-  background: #cffde7;
-  color: #0c7540;
-  border: 1px solid #0c754033;
+	background: #cffde7;
+	color: #0c7540;
+	border: 1px solid #0c754033;
 }
 
 .alert-error {
-  background: #fde0d8;
-  color: #73341f;
-  border: 1px solid #73341f33;
+	background: #fde0d8;
+	color: #73341f;
+	border: 1px solid #73341f33;
 }
 
 /*=== Pagination */
 .pagination {
-  background: #eff0f2;
-  color: #303136;
-  font-size: 0.8em;
-  text-align: center;
+	background: #eff0f2;
+	color: #303136;
+	font-size: 0.8em;
+	text-align: center;
 }
 .pagination .item.pager-current {
-  background: #303136;
-  color: #eff0f2;
-  font-size: 1.5em;
-  font-weight: bold;
+	background: #303136;
+	color: #eff0f2;
+	font-size: 1.5em;
+	font-weight: bold;
 }
 .pagination .item a {
-  display: block;
-  color: #303136;
-  font-style: italic;
-  line-height: 3em;
-  text-decoration: none;
+	display: block;
+	color: #303136;
+	font-style: italic;
+	line-height: 3em;
+	text-decoration: none;
 }
 .pagination .item a:hover {
-  background: #303136;
-  color: #eff0f2;
+	background: #303136;
+	color: #eff0f2;
 }
 .pagination .loading,
 .pagination a:hover.loading {
-  background: url("loader.gif") center center no-repeat #34495e;
-  font-size: 0;
+	background: url("loader.gif") center center no-repeat #34495e;
+	font-size: 0;
 }
 
 .content .pagination {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 
 /*=== Boxes */
 .box {
-  background: #fff;
-  border: none;
-  border-radius: 3px;
-  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
+	background: #fff;
+	border: none;
+	border-radius: 3px;
+	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
 }
 .box .box-title {
-  margin: 0;
-  padding: 5px 10px;
-  background: #eff0f2;
-  color: #303136;
-  border-radius: 2px 2px 0 0;
+	margin: 0;
+	padding: 5px 10px;
+	background: #eff0f2;
+	color: #303136;
+	border-radius: 2px 2px 0 0;
 }
 .box .box-title img {
-  margin-left: 0.75rem;
+	margin-left: 0.75rem;
 }
 .box .box-title:hover .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: right;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: visible;
-  margin-left: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: right;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: visible;
+	margin-left: 0.5rem;
 }
 .box .box-title:hover .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-title:hover .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
 }
 .box .box-title .configure {
-  visibility: hidden;
+	visibility: hidden;
 }
 .box .box-title form input {
-  width: 85%;
+	width: 85%;
 }
 .box .box-title form .dropdown {
-  float: left;
+	float: left;
 }
 .box .box-title form .dropdown a.dropdown-toggle {
-  padding: 0;
-  border-radius: 0;
-  background-image: url(icons/more.svg);
-  background-repeat: no-repeat;
-  background-position: left 8px;
+	padding: 0;
+	border-radius: 0;
+	background-image: url(icons/more.svg);
+	background-repeat: no-repeat;
+	background-position: left 8px;
 }
 .box .box-title form .dropdown a.dropdown-toggle img {
-  display: none;
+	display: none;
 }
 .box .box-content .item {
-  padding: 0.5rem 0.75rem;
-  color: #303136;
-  font-size: 1rem;
-  border-bottom: 1px solid #eff0f2;
-  line-height: 1.7em;
+	padding: 0.5rem 0.75rem;
+	color: #303136;
+	font-size: 1rem;
+	border-bottom: 1px solid #eff0f2;
+	line-height: 1.7em;
 }
 .box .box-content .item img {
-  margin-left: 0.75rem;
+	margin-left: 0.75rem;
 }
 .box .box-content .item .configure {
-  background: url("icons/cog.svg") no-repeat 4px 4px;
-  display: block;
-  float: right;
-  width: 1.75rem;
-  height: 1.75rem;
-  border-radius: 2px;
-  visibility: hidden;
-  margin-left: 0.5rem;
+	background: url("icons/cog.svg") no-repeat 4px 4px;
+	display: block;
+	float: right;
+	width: 1.75rem;
+	height: 1.75rem;
+	border-radius: 2px;
+	visibility: hidden;
+	margin-left: 0.5rem;
 }
 .box .box-content .item .configure .icon {
-  display: none;
-  border-radius: 3px;
-  vertical-align: middle;
+	display: none;
+	border-radius: 3px;
+	vertical-align: middle;
 }
 .box .box-content .item .configure:hover {
-  background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
+	background: url("icons/cog-white.svg") no-repeat 4px 4px #36c;
 }
 .box .box-content .item:hover .configure {
-  visibility: visible;
+	visibility: visible;
 }
 .box .box-content .item:last-child {
-  border-bottom: none;
+	border-bottom: none;
 }
 
 /*=== "Load more" part */
 #bigMarkAsRead {
-  text-align: center;
-  text-decoration: none;
-  background: #effcfd;
-  color: #36c;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	text-align: center;
+	text-decoration: none;
+	background: #effcfd;
+	color: #36c;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 #bigMarkAsRead:hover {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 #bigMarkAsRead:hover .bigTick {
-  background: url(icons/tick-white.svg) center no-repeat;
+	background: url(icons/tick-white.svg) center no-repeat;
 }
 #bigMarkAsRead .bigTick {
-  margin: 0.5rem 0;
-  background: url(icons/tick-color.svg) center no-repeat;
-  display: inline-block;
-  width: 64px;
-  height: 64px;
-  text-indent: -9999px;
-  white-space: nowrap;
+	margin: 0.5rem 0;
+	background: url(icons/tick-color.svg) center no-repeat;
+	display: inline-block;
+	width: 64px;
+	height: 64px;
+	text-indent: -9999px;
+	white-space: nowrap;
 }
 
 .formLogin {
-  background: #303136;
+	background: #303136;
 }
 .formLogin .header .configure {
-  padding-left: 1rem;
+	padding-left: 1rem;
 }
 .formLogin .header .configure img {
-  margin-left: 0.5rem;
+	margin-left: 0.5rem;
 }
 .formLogin .header .configure a.signin {
-  color: #fff;
+	color: #fff;
 }
 .formLogin h1 {
-  color: #fff;
+	color: #fff;
 }
 .formLogin form#crypto-form div {
-  margin-bottom: 1rem;
+	margin-bottom: 1rem;
 }
 .formLogin form#crypto-form div label {
-  color: #c5ced3;
-  font-size: 1rem;
+	color: #c5ced3;
+	font-size: 1rem;
 }
 .formLogin form#crypto-form div input {
-  background: #1d1e22;
+	background: #1d1e22;
 }
 .formLogin form#crypto-form div input:focus {
-  background: #f9fafb;
-  color: #303136;
+	background: #f9fafb;
+	color: #303136;
 }
 
 /*=== DIVERS */
 /*===========*/
 .aside.aside_feed .nav-form input,
 .aside.aside_feed .nav-form select {
-  width: 140px;
+	width: 140px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu {
-  left: -20px;
+	left: -20px;
 }
 
 .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
-  left: 33px;
+	left: 33px;
 }
 
 /*=== Tree */
 .tree {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 .tree#sidebar {
-  scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
-  scrollbar-color: #fff33 #fff22;
+	scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05);
+	scrollbar-color: #fff33 #fff22;
 }
 .tree .tree-folder {
-  border-bottom: 1px solid #3f3f3f;
+	border-bottom: 1px solid #3f3f3f;
 }
 .tree .tree-folder .tree-folder-title {
-  padding: 12px 16px;
-  background: #303136;
-  position: relative;
-  font-size: 0.85rem;
-  letter-spacing: 1px;
-  font-weight: 700;
-  text-transform: uppercase;
+	padding: 12px 16px;
+	background: #303136;
+	position: relative;
+	font-size: 0.85rem;
+	letter-spacing: 1px;
+	font-weight: 700;
+	text-transform: uppercase;
 }
 .tree .tree-folder .tree-folder-title .title {
-  background: inherit;
-  color: #fff;
+	background: inherit;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-title .title:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 .tree .tree-folder.active .tree-folder-title {
-  background: #303136;
-  font-weight: bold;
+	background: #303136;
+	font-weight: bold;
 }
 .tree .tree-folder .tree-folder-items {
-  background: #26272a;
+	background: #26272a;
 }
 .tree .tree-folder .tree-folder-items .item {
-  padding: 0 1rem;
-  line-height: 2.5rem;
-  font-size: 1rem;
-  font-weight: 400;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 0 1rem;
+	line-height: 2.5rem;
+	font-size: 1rem;
+	font-weight: 400;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .tree .tree-folder .tree-folder-items .item.active {
-  background: #36c;
+	background: #36c;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a {
-  color: #303136;
+	color: #303136;
 }
 .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .item.active a {
-  color: #fff;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .item:hover {
-  background: #17181a;
+	background: #17181a;
 }
 .tree .tree-folder .tree-folder-items .item a {
-  text-decoration: none;
-  color: #fff;
+	text-decoration: none;
+	color: #fff;
 }
 .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before {
-  margin: 11px 4px 0 6px;
-  padding: 3px 4px;
-  background: rgba(0, 0, 0, 0.25);
-  display: block;
-  float: right;
-  font-size: 0.75rem;
-  border-radius: 12px;
-  content: attr(data-unread);
-  text-align: center;
-  line-height: 0.75rem;
+	margin: 11px 4px 0 6px;
+	padding: 3px 4px;
+	background: rgba(0, 0, 0, 0.25);
+	display: block;
+	float: right;
+	font-size: 0.75rem;
+	border-radius: 12px;
+	content: attr(data-unread);
+	text-align: center;
+	line-height: 0.75rem;
 }
 
 /*=== Buttons */
 .stick {
-  vertical-align: middle;
-  font-size: 0;
+	vertical-align: middle;
+	font-size: 0;
 }
 .stick input, .stick .btn {
-  border-radius: 0;
+	border-radius: 0;
 }
 .stick .btn:first-child,
 .stick input:first-child {
-  border-radius: 0 5px 5px 0;
+	border-radius: 0 5px 5px 0;
 }
 .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn {
-  border-radius: 5px 0 0 5px;
+	border-radius: 5px 0 0 5px;
 }
 .stick .btn + .btn,
 .stick .btn + input,
@@ -647,986 +647,986 @@ form th {
 .stick .dropdown + .btn,
 .stick .dropdown + input,
 .stick .dropdown + .dropdown > .btn {
-  border-right: 1px solid #d5d8db;
+	border-right: 1px solid #d5d8db;
 }
 
 .aside {
-  background: #303136;
+	background: #303136;
 }
 .aside.aside_feed {
-  padding: 10px 0;
-  text-align: center;
-  background: #303136;
+	padding: 10px 0;
+	text-align: center;
+	background: #303136;
 }
 .aside.aside_feed .tree {
-  margin: 10px 0 50px;
+	margin: 10px 0 50px;
 }
 
 /* Sidebar des pages de configuration */
 /*=== Navigation */
 .nav-list .nav-header,
 .nav-list .item {
-  height: 2.5em;
-  line-height: 2.5em;
-  font-size: 1rem;
+	height: 2.5em;
+	line-height: 2.5em;
+	font-size: 1rem;
 }
 .nav-list .item {
-  background: #303136;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #303136;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav-list .item a {
-  padding: 0 1rem;
-  color: #fff;
+	padding: 0 1rem;
+	color: #fff;
 }
 .nav-list .item .error a {
-  color: #f5633e;
+	color: #f5633e;
 }
 .nav-list .item:hover {
-  background: #17181a;
-  color: #fff;
+	background: #17181a;
+	color: #fff;
 }
 .nav-list .item:hover .error a {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .nav-list .item:hover .empty a {
-  background: #f4f762;
-  color: #fff;
+	background: #f4f762;
+	color: #fff;
 }
 .nav-list .item:hover a {
-  color: #fff;
-  text-decoration: none;
+	color: #fff;
+	text-decoration: none;
 }
 .nav-list .item.active {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .nav-list .item.active .error a {
-  background: #36c;
-  color: #fff;
+	background: #36c;
+	color: #fff;
 }
 .nav-list .item.active .empty a {
-  background: #f4f762;
-  color: #fff;
+	background: #f4f762;
+	color: #fff;
 }
 .nav-list .item.active a {
-  color: #fff;
-  text-decoration: none;
+	color: #fff;
+	text-decoration: none;
 }
 .nav-list.empty a {
-  color: #f4f762;
+	color: #f4f762;
 }
 .nav-list .disable {
-  text-align: center;
-  background: #f9fafb;
-  color: #a6a7ae;
+	text-align: center;
+	background: #f9fafb;
+	color: #a6a7ae;
 }
 .nav-list .nav-header {
-  padding: 0 10px;
-  font-weight: bold;
-  color: #5b6871;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  margin-top: 1rem;
+	padding: 0 10px;
+	font-weight: bold;
+	color: #5b6871;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	margin-top: 1rem;
 }
 .nav-list .nav-form {
-  padding: 3px;
-  text-align: center;
+	padding: 3px;
+	text-align: center;
 }
 .nav-list .nav-head {
-  margin: 0;
-  text-align: left;
-  color: #fff;
+	margin: 0;
+	text-align: left;
+	color: #fff;
 }
 .nav-list .nav-head a {
-  color: #fff;
+	color: #fff;
 }
 .nav-list .nav-head .item {
-  padding: 5px 10px;
-  font-size: 0.9rem;
-  line-height: 1.5rem;
+	padding: 5px 10px;
+	font-size: 0.9rem;
+	line-height: 1.5rem;
 }
 
 /*=== Aside main page (categories) */
 .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after {
-  margin: -0.5rem 0 0 1rem;
-  padding: 0 0.75rem;
-  background: rgba(0, 0, 0, 0.25);
-  border-radius: 12px;
-  position: absolute;
-  left: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 0 0 1rem;
+	padding: 0 0.75rem;
+	background: rgba(0, 0, 0, 0.25);
+	border-radius: 12px;
+	position: absolute;
+	left: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 
 .feed.item.empty.active {
-  background: #5b6871;
+	background: #5b6871;
 }
 
 .feed.item.error.active {
-  background: #5b6871;
+	background: #5b6871;
 }
 
 .feed.item.empty,
 .feed.item.empty > a {
-  color: #5b6871;
+	color: #5b6871;
 }
 
 .feed.item.error,
 .feed.item.error > a {
-  color: #5b6871;
+	color: #5b6871;
 }
 
 .feed.item.empty.active,
 .feed.item.error.active,
 .feed.item.empty.active > a,
 .feed.item.error.active > a {
-  color: #fff;
+	color: #fff;
 }
 
 .aside_feed .tree-folder-items .dropdown-menu::after {
-  right: 2px;
+	right: 2px;
 }
 
 .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon,
 .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon {
-  border-radius: 3px;
+	border-radius: 3px;
 }
 
 .aside_feed .stick #btn-add {
-  border-right-color: #303136;
+	border-right-color: #303136;
 }
 
 /*=== STRUCTURE */
 /*===============*/
 /*=== Header */
 .header {
-  padding: 0.5rem 1.35rem;
-  background: #303136;
-  display: block;
-  width: auto;
-  table-layout: none;
+	padding: 0.5rem 1.35rem;
+	background: #303136;
+	display: block;
+	width: auto;
+	table-layout: none;
 }
 .header .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .header .item.title {
-  width: 280px;
-  font-weight: 400;
+	width: 280px;
+	font-weight: 400;
 }
 .header .item.title h1 a {
-  text-decoration: none;
-  color: #fff;
-  font-size: 1rem;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	text-decoration: none;
+	color: #fff;
+	font-size: 1rem;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 .header .item.title h1 a img {
-  margin-left: 0.5rem;
+	margin-left: 0.5rem;
 }
 .header .item.search input {
-  width: 230px;
-  color: #fff;
-  border: none;
-  border-radius: 0 2px 2px 0;
-  background-color: #26272a;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	width: 230px;
+	color: #fff;
+	border: none;
+	border-radius: 0 2px 2px 0;
+	background-color: #26272a;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .header .item.search input:hover {
-  background-color: #17181a;
+	background-color: #17181a;
 }
 .header .item.search input:focus {
-  width: 350px;
-  color: #5b6871;
-  background-color: #fff;
+	width: 350px;
+	color: #5b6871;
+	background-color: #fff;
 }
 .header .item.search .btn {
-  width: 3rem;
-  border-radius: 2px 0 0 2px;
-  background-color: #36c;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/magnifier.svg);
-  border-right-width: 0;
-  min-height: 35px;
+	width: 3rem;
+	border-radius: 2px 0 0 2px;
+	background-color: #36c;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/magnifier.svg);
+	border-right-width: 0;
+	min-height: 35px;
 }
 .header .item.search .btn img {
-  display: none;
+	display: none;
 }
 .header .item.search .btn:hover {
-  background-color: #25c;
+	background-color: #25c;
 }
 .header .item.configure {
-  width: 2rem;
-  position: absolute;
-  left: 1rem;
-  top: 1.25rem;
-  text-align: center;
+	width: 2rem;
+	position: absolute;
+	left: 1rem;
+	top: 1.25rem;
+	text-align: center;
 }
 .header .item.configure .btn {
-  padding: 0 0.5rem;
-  background-color: transparent;
-  background-position: center;
-  background-repeat: no-repeat;
-  background-image: url(icons/cog-white.svg);
+	padding: 0 0.5rem;
+	background-color: transparent;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-image: url(icons/cog-white.svg);
 }
 .header .item.configure .btn img {
-  display: none;
+	display: none;
 }
 /*=== Body */
 #global {
-  height: calc(100% - 85px);
+	height: calc(100% - 85px);
 }
 
 /*=== Prompt (centered) */
 .prompt {
-  text-align: center;
+	text-align: center;
 }
 
 .prompt label {
-  text-align: right;
+	text-align: right;
 }
 
 .prompt form {
-  margin: 10px auto 20px auto;
-  width: 200px;
+	margin: 10px auto 20px auto;
+	width: 200px;
 }
 
 .prompt input {
-  margin: 5px auto;
-  width: 100%;
+	margin: 5px auto;
+	width: 100%;
 }
 
 .prompt p {
-  margin: 20px 0;
+	margin: 20px 0;
 }
 
 /*=== New article notification */
 #new-article {
-  background: #36c;
-  font-size: 1rem;
-  text-align: center;
+	background: #36c;
+	font-size: 1rem;
+	text-align: center;
 }
 
 #new-article:hover {
-  background: #25c;
+	background: #25c;
 }
 
 #new-article > a {
-  line-height: 3em;
-  font-weight: bold;
-  color: #fff;
+	line-height: 3em;
+	font-weight: bold;
+	color: #fff;
 }
 
 #new-article > a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 /*=== Day indication */
 .day {
-  padding: 1rem 1.25rem 0 0;
-  color: #5b6871;
-  font-size: 0.875rem;
-  font-weight: 700;
-  line-height: 3em;
-  letter-spacing: 1px;
-  text-transform: uppercase;
+	padding: 1rem 1.25rem 0 0;
+	color: #5b6871;
+	font-size: 0.875rem;
+	font-weight: 700;
+	line-height: 3em;
+	letter-spacing: 1px;
+	text-transform: uppercase;
 }
 .day .name {
-  padding: 0 1rem 0 1rem;
-  color: #303136;
-  font-size: 0.875rem;
-  position: relative;
-  right: 0;
-  text-transform: uppercase;
+	padding: 0 1rem 0 1rem;
+	color: #303136;
+	font-size: 0.875rem;
+	position: relative;
+	right: 0;
+	text-transform: uppercase;
 }
 
 /*=== Index menu */
 .nav_menu {
-  text-align: center;
-  padding: 5px 0;
+	text-align: center;
+	padding: 5px 0;
 }
 .nav_menu .btn {
-  border-right-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #f9fafb;
-  background-position: center;
-  background-repeat: no-repeat;
+	border-right-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #f9fafb;
+	background-position: center;
+	background-repeat: no-repeat;
 }
 .nav_menu .btn:hover {
-  background-color: #eff0f2;
+	background-color: #eff0f2;
 }
 .nav_menu .stick {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 .nav_menu .stick .btn {
-  border-right-width: 0;
-  padding: 0.5rem 1rem;
-  background-color: #f9fafb;
-  background-position: center;
-  background-repeat: no-repeat;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-right-width: 0;
+	padding: 0.5rem 1rem;
+	background-color: #f9fafb;
+	background-position: center;
+	background-repeat: no-repeat;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn:hover {
-  background-color: #d5d8db;
+	background-color: #d5d8db;
 }
 .nav_menu .stick .btn.active {
-  background-color: #36c;
+	background-color: #36c;
 }
 .nav_menu .stick .btn img.icon {
-  display: none;
+	display: none;
 }
 .nav_menu .stick .btn#toggle-read {
-  background-image: url(icons/read.svg);
+	background-image: url(icons/read.svg);
 }
 .nav_menu .stick .btn#toggle-read.active {
-  background-image: url(icons/read-white.svg);
+	background-image: url(icons/read-white.svg);
 }
 .nav_menu .stick .btn#toggle-unread {
-  background-image: url(icons/unread.svg);
+	background-image: url(icons/unread.svg);
 }
 .nav_menu .stick .btn#toggle-unread.active {
-  background-image: url(icons/unread-white.svg);
+	background-image: url(icons/unread-white.svg);
 }
 .nav_menu .stick .btn#toggle-starred {
-  background-image: url(icons/starred.svg);
+	background-image: url(icons/starred.svg);
 }
 .nav_menu .stick .btn#toggle-starred.active {
-  background-image: url(icons/starred-white.svg);
+	background-image: url(icons/starred-white.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred {
-  background-image: url(icons/non-starred.svg);
+	background-image: url(icons/non-starred.svg);
 }
 .nav_menu .stick .btn#toggle-non-starred.active {
-  background-image: url(icons/non-starred-white.svg);
+	background-image: url(icons/non-starred-white.svg);
 }
 .nav_menu .stick .btn.read_all {
-  padding: 5px 16px;
-  color: #303136;
-  background-color: #f9fafb;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	padding: 5px 16px;
+	color: #303136;
+	background-color: #f9fafb;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .nav_menu .stick .btn.read_all:hover {
-  background-color: #d5d8db;
+	background-color: #d5d8db;
 }
 .nav_menu .stick .btn.view-normal {
-  background-image: url(icons/view-list.svg);
+	background-image: url(icons/view-list.svg);
 }
 .nav_menu .stick .btn.view-normal.active {
-  background-image: url(icons/view-list-white.svg);
+	background-image: url(icons/view-list-white.svg);
 }
 .nav_menu .stick .btn.view-global {
-  background-image: url(icons/view-global.svg);
+	background-image: url(icons/view-global.svg);
 }
 .nav_menu .stick .btn.view-global.active {
-  background-image: url(icons/view-global-white.svg);
+	background-image: url(icons/view-global-white.svg);
 }
 .nav_menu .stick .btn.view-reader {
-  background-image: url(icons/view-reader.svg);
+	background-image: url(icons/view-reader.svg);
 }
 .nav_menu .stick .btn.view-reader.active {
-  background-image: url(icons/view-reader-white.svg);
+	background-image: url(icons/view-reader-white.svg);
 }
 .nav_menu .stick .btn.view-rss {
-  background-image: url(icons/rss.svg);
+	background-image: url(icons/rss.svg);
 }
 .nav_menu .stick .dropdown a.dropdown-toggle {
-  border-right-width: 0;
-  background-image: url(icons/more.svg);
+	border-right-width: 0;
+	background-image: url(icons/more.svg);
 }
 
 #dropdown-query ~ .dropdown-menu .dropdown-header .icon {
-  vertical-align: middle;
-  background-color: #a6a7ae;
-  border-radius: 3px;
+	vertical-align: middle;
+	background-color: #a6a7ae;
+	border-radius: 3px;
 }
 
 /*=== Content of feed articles */
 .content, .content.thin {
-  padding: 20px 10px;
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	padding: 20px 10px;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a {
-  color: #303136;
-  font-family: "spectral", serif;
-  font-size: 2rem;
+	color: #303136;
+	font-family: "spectral", serif;
+	font-size: 2rem;
 }
 .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover {
-  color: #36c;
-  text-decoration: none;
+	color: #36c;
+	text-decoration: none;
 }
 .content .author, .content.thin .author {
-  color: #5b6871;
-  font-size: 1.125rem;
+	color: #5b6871;
+	font-size: 1.125rem;
 }
 .content p, .content ul, .content.thin p, .content.thin ul {
-  font-size: 1.125rem;
-  line-height: 1.8rem;
+	font-size: 1.125rem;
+	line-height: 1.8rem;
 }
 .content .content hr, .content.thin .content hr {
-  margin: 30px 10px;
-  background: #d5d8db;
-  height: 1px;
-  border: 0;
-  box-shadow: 0 2px 5px #ccc;
+	margin: 30px 10px;
+	background: #d5d8db;
+	height: 1px;
+	border: 0;
+	box-shadow: 0 2px 5px #ccc;
 }
 .content pre, .content.thin pre {
-  margin: 10px auto;
-  padding: 10px 20px;
-  overflow: auto;
-  background: #1d1e22;
-  color: #fff;
-  font-size: 0.9rem;
-  border-radius: 3px;
+	margin: 10px auto;
+	padding: 10px 20px;
+	overflow: auto;
+	background: #1d1e22;
+	color: #fff;
+	font-size: 0.9rem;
+	border-radius: 3px;
 }
 .content pre code, .content.thin pre code {
-  background: transparent;
-  color: #fff;
-  border: none;
+	background: transparent;
+	color: #fff;
+	border: none;
 }
 .content code, .content.thin code {
-  padding: 2px 5px;
-  background: #f9fafb;
-  color: #eff0f2;
-  border: 1px solid #eff0f2;
-  border-radius: 3px;
+	padding: 2px 5px;
+	background: #f9fafb;
+	color: #eff0f2;
+	border: 1px solid #eff0f2;
+	border-radius: 3px;
 }
 .content blockquote, .content.thin blockquote {
-  margin: 0;
-  padding: 5px 20px;
-  background: #f9fafb;
-  display: block;
-  color: #303136;
-  border-top: 1px solid #d5d8db;
-  border-bottom: 1px solid #d5d8db;
+	margin: 0;
+	padding: 5px 20px;
+	background: #f9fafb;
+	display: block;
+	color: #303136;
+	border-top: 1px solid #d5d8db;
+	border-bottom: 1px solid #d5d8db;
 }
 .content blockquote p, .content.thin blockquote p {
-  margin: 0;
+	margin: 0;
 }
 
 /*=== Notification and actualize notification */
 .notification {
-  padding: 1rem 0;
-  background: #d5d8db;
-  width: 100%;
-  height: 3rem;
-  color: #5b6871;
-  font-size: 1em;
-  border: none;
-  position: fixed;
-  top: auto;
-  bottom: 0;
-  right: 0;
-  left: 0;
-  text-align: center;
-  line-height: 3em;
-  z-index: 10;
-  vertical-align: middle;
+	padding: 1rem 0;
+	background: #d5d8db;
+	width: 100%;
+	height: 3rem;
+	color: #5b6871;
+	font-size: 1em;
+	border: none;
+	position: fixed;
+	top: auto;
+	bottom: 0;
+	right: 0;
+	left: 0;
+	text-align: center;
+	line-height: 3em;
+	z-index: 10;
+	vertical-align: middle;
 }
 .notification .msg {
-  display: inline-block;
-  font-size: 1rem;
+	display: inline-block;
+	font-size: 1rem;
 }
 .notification.good {
-  background: #10f587;
-  color: #fff;
+	background: #10f587;
+	color: #fff;
 }
 .notification.bad {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 .notification a.close {
-  padding: 0 15px;
-  border-radius: 3px 0 0 3px;
-  line-height: 3em;
+	padding: 0 15px;
+	border-radius: 3px 0 0 3px;
+	line-height: 3em;
 }
 .notification.good a.close:hover {
-  background: #0c7540;
+	background: #0c7540;
 }
 .notification.bad a.close:hover {
-  background: #73341f;
+	background: #73341f;
 }
 .notification#actualizeProgress {
-  line-height: 2em;
+	line-height: 2em;
 }
 .notification#actualizeProgress br {
-  display: none;
+	display: none;
 }
 
 /*=== Navigation menu (for articles) */
 #nav_entries {
-  margin: 0;
-  text-align: center;
-  line-height: 3em;
-  table-layout: fixed;
-  background: #303136;
+	margin: 0;
+	text-align: center;
+	line-height: 3em;
+	table-layout: fixed;
+	background: #303136;
 }
 
 /*=== Feed articles */
 .flux {
-  background: #fff;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	background: #fff;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux:hover {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 .flux:hover:not(.current):hover .item.title {
-  background: #f9fafb;
+	background: #f9fafb;
 }
 .flux.current {
-  background: #f9fafb;
-  border-right-color: #36c;
+	background: #f9fafb;
+	border-right-color: #36c;
 }
 .flux.not_read:not(.current) {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read:not(.current):hover .item.title {
-  background: #f2f6f8;
+	background: #f2f6f8;
 }
 .flux.not_read .item.title a {
-  color: #36c;
+	color: #36c;
 }
 .flux.not_read .item.website a {
-  color: #36c;
+	color: #36c;
 }
 .flux.not_read .item.date {
-  color: rgba(51, 102, 204, 0.5);
+	color: rgba(51, 102, 204, 0.5);
 }
 .flux.favorite {
-  border-right-color: #ffc300;
-  -webkit-transition: all 0.15s ease-in-out;
-  -moz-transition: all 0.15s ease-in-out;
-  -o-transition: all 0.15s ease-in-out;
-  -ms-transition: all 0.15s ease-in-out;
-  transition: all 0.15s ease-in-out;
+	border-right-color: #ffc300;
+	-webkit-transition: all 0.15s ease-in-out;
+	-moz-transition: all 0.15s ease-in-out;
+	-o-transition: all 0.15s ease-in-out;
+	-ms-transition: all 0.15s ease-in-out;
+	transition: all 0.15s ease-in-out;
 }
 .flux.favorite:not(.current) {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.favorite:not(.current):hover .item.title {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux .website a {
-  color: #303136;
-  opacity: 0.75;
+	color: #303136;
+	opacity: 0.75;
 }
 .flux .website .favicon {
-  padding: 5px;
+	padding: 5px;
 }
 .flux .item.date {
-  color: rgba(48, 49, 54, 0.5);
-  font-size: 0.85rem;
+	color: rgba(48, 49, 54, 0.5);
+	font-size: 0.85rem;
 }
 .flux .bottom {
-  font-size: 1rem;
-  text-align: center;
+	font-size: 1rem;
+	text-align: center;
 }
 
 .flux_header {
-  font-size: 1rem;
-  cursor: pointer;
-  border-top: 1px solid #eff0f2;
+	font-size: 1rem;
+	cursor: pointer;
+	border-top: 1px solid #eff0f2;
 }
 .flux_header .title {
-  font-size: 1rem;
+	font-size: 1rem;
 }
 
 /*=== GLOBAL VIEW */
 /*================*/
 #stream .box.category:not([data-unread="0"]) .box-title .title {
-  font-weight: bold;
+	font-weight: bold;
 }
 #stream .box.category .box-title {
-  padding: 1.5rem;
-  background: none;
+	padding: 1.5rem;
+	background: none;
 }
 #stream .box.category .box-title a.title {
-  color: #5b6871;
-  font-size: 1rem;
-  font-weight: normal;
-  text-decoration: none;
-  text-align: right;
-  text-transform: uppercase;
-  letter-spacing: 1px;
+	color: #5b6871;
+	font-size: 1rem;
+	font-weight: normal;
+	text-decoration: none;
+	text-align: right;
+	text-transform: uppercase;
+	letter-spacing: 1px;
 }
 #stream .box.category .box-title a.title:not([data-unread="0"])::after {
-  margin: -0.5rem 0 0 1rem;
-  padding: 0 0.75rem;
-  background: #eff0f2;
-  border-radius: 12px;
-  position: absolute;
-  top: 1.75rem;
-  left: 0;
-  line-height: 1.5rem;
-  text-align: center;
+	margin: -0.5rem 0 0 1rem;
+	padding: 0 0.75rem;
+	background: #eff0f2;
+	border-radius: 12px;
+	position: absolute;
+	top: 1.75rem;
+	left: 0;
+	line-height: 1.5rem;
+	text-align: center;
 }
 #stream .box.category .box-title a.title:hover {
-  color: #36c;
+	color: #36c;
 }
 #stream .box.category .box-content {
-  padding-bottom: 0.5rem;
+	padding-bottom: 0.5rem;
 }
 #stream .box.category .box-content .item.feed {
-  padding: 0.5rem 1.5rem;
-  font-size: 1rem;
+	padding: 0.5rem 1.5rem;
+	font-size: 1rem;
 }
 #stream .box.category .box-content .item.feed a {
-  color: #303136;
-  font-weight: 400;
+	color: #303136;
+	font-weight: 400;
 }
 #stream .box.category .box-content .item.feed a:hover {
-  color: #36c;
-  text-decoration: none;
+	color: #36c;
+	text-decoration: none;
 }
 
 #overlay {
-  background: rgba(0, 0, 0, 0.65);
+	background: rgba(0, 0, 0, 0.65);
 }
 
 #panel {
-  top: 3rem;
-  left: 3rem;
-  bottom: 3rem;
-  right: 3rem;
-  border-radius: 3px;
+	top: 3rem;
+	left: 3rem;
+	bottom: 3rem;
+	right: 3rem;
+	border-radius: 3px;
 }
 
 /*=== READER VIEW */
 /*================*/
 #stream.reader .flux {
-  padding: 0 0 50px;
-  background: #eff0f2;
-  color: #303136;
-  border: none;
+	padding: 0 0 50px;
+	background: #eff0f2;
+	color: #303136;
+	border: none;
 }
 
 #stream.reader .flux .author {
-  margin: 0 0 10px;
-  color: #a6a7ae;
-  font-size: 90%;
+	margin: 0 0 10px;
+	color: #a6a7ae;
+	font-size: 90%;
 }
 
 /*=== Configuration pages */
 .post {
-  padding: 1rem 2rem;
-  font-size: 1rem;
+	padding: 1rem 2rem;
+	font-size: 1rem;
 }
 .post form {
-  margin: 1rem 0;
+	margin: 1rem 0;
 }
 .post form .horizontal-list {
-  margin-bottom: 0.5rem;
+	margin-bottom: 0.5rem;
 }
 .post.content {
-  max-width: 550px;
+	max-width: 550px;
 }
 .post h1, .post h2 {
-  color: #303136;
-  font-size: 3rem;
-  margin-top: 1.75rem;
-  font-weight: 300;
-  line-height: 1.2em;
+	color: #303136;
+	font-size: 3rem;
+	margin-top: 1.75rem;
+	font-weight: 300;
+	line-height: 1.2em;
 }
 .post a[href="./"] {
-  margin: 0;
-  padding: 0.75rem 1.5rem;
-  background: #f9fafb;
-  display: inline-block;
-  color: #5b6871;
-  font-size: 1rem;
-  border: 1px solid #d5d8db;
-  border-radius: 5px;
-  min-width: 15px;
-  line-height: 25px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
+	margin: 0;
+	padding: 0.75rem 1.5rem;
+	background: #f9fafb;
+	display: inline-block;
+	color: #5b6871;
+	font-size: 1rem;
+	border: 1px solid #d5d8db;
+	border-radius: 5px;
+	min-width: 15px;
+	line-height: 25px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
 }
 .post a[href="./"]:hover {
-  background: #36c;
-  color: white;
-  border: 1px solid #36c;
-  text-decoration: none;
+	background: #36c;
+	color: white;
+	border: 1px solid #36c;
+	text-decoration: none;
 }
 
 #slider {
-  border-right: none;
-  box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
+	border-right: none;
+	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35);
 }
 
 .slide-container .properties {
-  padding: 1rem;
-  background: rgba(0, 0, 0, 0.75);
-  color: white;
-  border: 0;
+	padding: 1rem;
+	background: rgba(0, 0, 0, 0.75);
+	color: white;
+	border: 0;
 }
 .slide-container .properties .page-number {
-  left: 1rem;
-  top: 1rem;
+	left: 1rem;
+	top: 1rem;
 }
 
 /*=== LOGS */
 /*=========*/
 .loglist {
-  overflow: hidden;
-  border: 1px solid #a6a7ae;
+	overflow: hidden;
+	border: 1px solid #a6a7ae;
 }
 
 .log {
-  margin: 10px 0;
-  padding: 5px 2%;
-  background: #f9fafb;
-  color: #5b6871;
-  font-size: 0.8rem;
-  overflow: auto;
+	margin: 10px 0;
+	padding: 5px 2%;
+	background: #f9fafb;
+	color: #5b6871;
+	font-size: 0.8rem;
+	overflow: auto;
 }
 
 .log > .date {
-  margin: 0 0 0 10px;
-  padding: 5px 10px;
-  border-radius: 20px;
+	margin: 0 0 0 10px;
+	padding: 5px 10px;
+	border-radius: 20px;
 }
 
 .log.error > .date {
-  background: #f5633e;
-  color: #fff;
+	background: #f5633e;
+	color: #fff;
 }
 
 .log.warning > .date {
-  background: #f4f762;
+	background: #f4f762;
 }
 
 .log.notice > .date {
-  background: #eff0f2;
+	background: #eff0f2;
 }
 
 .log.debug > .date {
-  background: #1d1e22;
-  color: #fff;
+	background: #1d1e22;
+	color: #fff;
 }
 
 /*=== STATISTICS */
 /*===============*/
 .stat {
-  margin: 10px 0 20px;
+	margin: 10px 0 20px;
 }
 
 .stat th,
 .stat td,
 .stat tr {
-  border: none;
+	border: none;
 }
 
 .stat > table td,
 .stat > table th {
-  border-bottom: 1px solid #d5d8db;
+	border-bottom: 1px solid #d5d8db;
 }
 
 .stat > .horizontal-list {
-  margin: 0 0 5px;
+	margin: 0 0 5px;
 }
 
 .stat > .horizontal-list .item {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
 }
 
 .stat > .horizontal-list .item:first-child {
-  width: 270px;
+	width: 270px;
 }
 
 /*=== MOBILE */
 /*===========*/
 @media (max-width: 840px) {
-  ul.nav .item {
-    width: 100%;
-  }
-  ul.nav .item img {
-    display: none;
-  }
-  ul.nav .item a {
-    box-sizing: border-box;
-    padding: 1rem 2.5rem 1rem 1rem;
-    background: url("../../themes/icons/logout.svg") no-repeat #17181a 97% center;
-    display: inline-block;
-    width: 100%;
-    color: #fff;
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    -ms-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  ul.nav .item a:hover, ul.nav .item a:active {
-    background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center;
-    text-decoration: none;
-  }
-
-  .form-group .group-name {
-    text-align: right;
-  }
-
-  .box .box-title .configure,
+	ul.nav .item {
+		width: 100%;
+	}
+	ul.nav .item img {
+		display: none;
+	}
+	ul.nav .item a {
+		box-sizing: border-box;
+		padding: 1rem 2.5rem 1rem 1rem;
+		background: url("../../themes/icons/logout.svg") no-repeat #17181a 97% center;
+		display: inline-block;
+		width: 100%;
+		color: #fff;
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		-ms-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	ul.nav .item a:hover, ul.nav .item a:active {
+		background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center;
+		text-decoration: none;
+	}
+
+	.form-group .group-name {
+		text-align: right;
+	}
+
+	.box .box-title .configure,
 .box .box-content .item .configure {
-    visibility: visible;
-  }
-
-  .aside {
-    -webkit-transition: all 0.2s ease-in-out;
-    -moz-transition: all 0.2s ease-in-out;
-    -o-transition: all 0.2s ease-in-out;
-    -ms-transition: all 0.2s ease-in-out;
-    transition: all 0.2s ease-in-out;
-  }
-  .aside.aside_feed {
-    padding: 0;
-  }
-  .aside .tree .tree-folder .tree-folder-items .item a {
-    padding: 0.5rem 1rem;
-  }
-
-  .aside .toggle_aside,
+		visibility: visible;
+	}
+
+	.aside {
+		-webkit-transition: all 0.2s ease-in-out;
+		-moz-transition: all 0.2s ease-in-out;
+		-o-transition: all 0.2s ease-in-out;
+		-ms-transition: all 0.2s ease-in-out;
+		transition: all 0.2s ease-in-out;
+	}
+	.aside.aside_feed {
+		padding: 0;
+	}
+	.aside .tree .tree-folder .tree-folder-items .item a {
+		padding: 0.5rem 1rem;
+	}
+
+	.aside .toggle_aside,
 #panel .close,
 #close-slider.active {
-    background: #25c;
-    display: block;
-    width: 100%;
-    height: 50px;
-    line-height: 50px;
-    text-align: center;
-  }
-
-  .header {
-    padding: 0.5rem;
-  }
-  .header .item.title {
-    display: none;
-  }
-  .header .item.search {
-    display: block;
-  }
-  .header .item.search .stick {
-    display: flex;
-  }
-  .header .item.search input {
-    width: 90%;
-    height: 3.5rem;
-  }
-  .header .item.search input:focus {
-    width: 100%;
-  }
-  .header .item.search .btn {
-    min-height: 49px;
-    padding: 0.5rem 2rem;
-  }
-  .header .item.configure {
-    display: none;
-  }
-
-  .post {
-    padding-right: 1rem;
-    padding-left: 1rem;
-  }
-
-  .nav_menu .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick {
-    margin: 0.5rem 0.5rem;
-  }
-  .nav_menu .stick .btn {
-    margin: 0;
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .stick .btn.read_all {
-    padding: 0.85rem 1.25rem;
-  }
-  .nav_menu .search {
-    display: none;
-    max-width: 97%;
-  }
-  .nav_menu .search .input {
-    max-width: 97%;
-    width: 90px;
-  }
-  .nav_menu .search .input:focus {
-    width: 400px;
-  }
-
-  #stream .flux .flux_header {
-    padding: 0.5rem 0;
-  }
-
-  .day {
-    text-align: center;
-    padding: 1rem 0;
-  }
-  .day .name {
-    padding: 0;
-    display: block;
-    width: 100%;
-    line-height: 1.5rem;
-    margin-bottom: 1rem;
-  }
-
-  .pagination {
-    margin: 0 0 3.5em;
-  }
-
-  #nav_entries {
-    line-height: 4.5rem;
-  }
-
-  .notification {
-    border-radius: 0;
-  }
-  .notification a.close {
-    background: transparent;
-    display: block;
-    right: 0;
-  }
-  .notification a.close:hover {
-    opacity: 0.5;
-  }
-  .notification a.close .icon {
-    display: none;
-  }
+		background: #25c;
+		display: block;
+		width: 100%;
+		height: 50px;
+		line-height: 50px;
+		text-align: center;
+	}
+
+	.header {
+		padding: 0.5rem;
+	}
+	.header .item.title {
+		display: none;
+	}
+	.header .item.search {
+		display: block;
+	}
+	.header .item.search .stick {
+		display: flex;
+	}
+	.header .item.search input {
+		width: 90%;
+		height: 3.5rem;
+	}
+	.header .item.search input:focus {
+		width: 100%;
+	}
+	.header .item.search .btn {
+		min-height: 49px;
+		padding: 0.5rem 2rem;
+	}
+	.header .item.configure {
+		display: none;
+	}
+
+	.post {
+		padding-right: 1rem;
+		padding-left: 1rem;
+	}
+
+	.nav_menu .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick {
+		margin: 0.5rem 0.5rem;
+	}
+	.nav_menu .stick .btn {
+		margin: 0;
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .stick .btn.read_all {
+		padding: 0.85rem 1.25rem;
+	}
+	.nav_menu .search {
+		display: none;
+		max-width: 97%;
+	}
+	.nav_menu .search .input {
+		max-width: 97%;
+		width: 90px;
+	}
+	.nav_menu .search .input:focus {
+		width: 400px;
+	}
+
+	#stream .flux .flux_header {
+		padding: 0.5rem 0;
+	}
+
+	.day {
+		text-align: center;
+		padding: 1rem 0;
+	}
+	.day .name {
+		padding: 0;
+		display: block;
+		width: 100%;
+		line-height: 1.5rem;
+		margin-bottom: 1rem;
+	}
+
+	.pagination {
+		margin: 0 0 3.5em;
+	}
+
+	#nav_entries {
+		line-height: 4.5rem;
+	}
+
+	.notification {
+		border-radius: 0;
+	}
+	.notification a.close {
+		background: transparent;
+		display: block;
+		right: 0;
+	}
+	.notification a.close:hover {
+		opacity: 0.5;
+	}
+	.notification a.close .icon {
+		display: none;
+	}
 }
 /*=== GENERAL */
 /*============*/
 html, body {
-  background: #eff0f2;
-  height: 100%;
-  font-family: "lato", "Helvetica", "Arial", sans-serif;
-  font-size: 0.875rem;
+	background: #eff0f2;
+	height: 100%;
+	font-family: "lato", "Helvetica", "Arial", sans-serif;
+	font-size: 0.875rem;
 }
 
 /*=== Links */
 a, button.as-link {
-  outline: none;
-  color: #36c;
+	outline: none;
+	color: #36c;
 }

+ 1 - 1
p/themes/Origine-compact/origine-compact.rtl.css

@@ -767,7 +767,7 @@ a.btn,
 .prompt .stick,
 .prompt input {
 	width: 100%;
-	box-sizing: border-box;	
+	box-sizing: border-box;
 }
 
 .prompt .btn.btn-important {

+ 1 - 1
p/themes/Origine/origine.rtl.css

@@ -725,7 +725,7 @@ a.btn {
 .prompt .stick,
 .prompt input {
 	width: 100%;
-	box-sizing: border-box;	
+	box-sizing: border-box;
 }
 
 .prompt .btn.btn-important {

+ 1 - 1
p/themes/Pafat/pafat.rtl.css

@@ -732,7 +732,7 @@ a.btn {
 .prompt .stick,
 .prompt input {
 	width: 100%;
-	box-sizing: border-box;	
+	box-sizing: border-box;
 }
 
 .prompt .btn.btn-important {

+ 1 - 1
p/themes/Screwdriver/screwdriver.rtl.css

@@ -793,7 +793,7 @@ a.btn {
 .prompt input {
 	width: 100%;
 	box-sizing: border-box;
-	
+
 }
 
 .prompt input#username,.prompt input#passwordPlain {

+ 637 - 637
p/themes/Swage/swage.css

@@ -1,1183 +1,1183 @@
 input,
 select, textarea {
-  min-height: 25px;
-  margin-top: 4px;
-  line-height: 25px;
-  vertical-align: middle;
-  background: #fcfcfc;
-  border: none;
-  padding-left: 5px;
+	min-height: 25px;
+	margin-top: 4px;
+	line-height: 25px;
+	vertical-align: middle;
+	background: #fcfcfc;
+	border: none;
+	padding-left: 5px;
 }
 
 input:invalid,
 select:invalid {
-  color: #b0425b;
-  border-color: #b0425b;
-  box-shadow: none;
+	color: #b0425b;
+	border-color: #b0425b;
+	box-shadow: none;
 }
 
 .nav-list .item, .nav-list .nav-header {
-  height: 2.5em;
-  line-height: 2.5em;
-  font-size: 0.9rem;
+	height: 2.5em;
+	line-height: 2.5em;
+	font-size: 0.9rem;
 }
 
 .dropdown-menu > .item > a,
 .dropdown-menu > .item > span,
 .dropdown-menu > .item > .as-link,
 .dropdown-menu > .item button, .dropdown-menu > .item {
-  padding: 0 22px;
-  color: #fcfcfc;
-  font-size: 0.8rem;
-  line-height: 2.5em;
+	padding: 0 22px;
+	color: #fcfcfc;
+	font-size: 0.8rem;
+	line-height: 2.5em;
 }
 
 .flux::after, .form-group::after {
-  content: "";
-  display: block;
-  clear: both;
+	content: "";
+	display: block;
+	clear: both;
 }
 
 #nav_entries, .notification, #new-article, .aside, .header > .item.title, .stick.configure-feeds {
-  width: 231px;
+	width: 231px;
 }
 
 html,
 body {
-  height: 100%;
-  font-family: Helvetica, Arial, sans-serif;
+	height: 100%;
+	font-family: Helvetica, Arial, sans-serif;
 }
 
 a {
-  color: #00488b;
-  outline: none;
+	color: #00488b;
+	outline: none;
 }
 a.btn {
-  min-height: 25px;
-  line-height: 25px;
-  text-decoration: none;
+	min-height: 25px;
+	line-height: 25px;
+	text-decoration: none;
 }
 a.btn:hover {
-  background: #00488b;
+	background: #00488b;
 }
 a#btn-subscription {
-  width: 76%;
+	width: 76%;
 }
 a#btn-add {
-  width: 5%;
+	width: 5%;
 }
 
 img.icon:hover {
-  background: none;
+	background: none;
 }
 
 div#stream {
-  margin-top: 35px;
+	margin-top: 35px;
 }
 
 sup {
-  top: -0.3em;
+	top: -0.3em;
 }
 
 legend {
-  margin: 20px 0 5px;
-  padding: 5px 20px;
-  background: #e3e3e3;
-  display: inline-block;
-  width: auto;
-  font-size: 1.4em;
-  clear: both;
+	margin: 20px 0 5px;
+	padding: 5px 20px;
+	background: #e3e3e3;
+	display: inline-block;
+	width: auto;
+	font-size: 1.4em;
+	clear: both;
 }
 
 label {
-  min-height: 25px;
+	min-height: 25px;
 }
 
 textarea {
-  background: #e3e3e3;
-  width: 360px;
-  height: 100px;
+	background: #e3e3e3;
+	width: 360px;
+	height: 100px;
 }
 textarea:focus {
-  border-color: #00488b;
+	border-color: #00488b;
 }
 
 input:focus,
 select:focus {
-  border-color: #00488b;
+	border-color: #00488b;
 }
 input:disabled,
 select:disabled {
-  background: #fcfcfc;
+	background: #fcfcfc;
 }
 
 select {
-  background: #e3e3e3;
+	background: #e3e3e3;
 }
 
 input.extend {
-  transition: width 200ms linear;
+	transition: width 200ms linear;
 }
 
 option {
-  padding: 0 0.5em;
+	padding: 0 0.5em;
 }
 
 table {
-  border-collapse: collapse;
+	border-collapse: collapse;
 }
 
 tr,
 td,
 th {
-  padding: 0.5em;
-  border: 1px solid #e3e3e3;
+	padding: 0.5em;
+	border: 1px solid #e3e3e3;
 }
 
 th {
-  background: #fcfcfc;
+	background: #fcfcfc;
 }
 
 form td,
 form th {
-  font-weight: normal;
-  text-align: center;
+	font-weight: normal;
+	text-align: center;
 }
 
 .category .title.error::before {
-  display: inline-block;
-  padding-right: 7px;
-  width: 16px;
-  content: url(../Swage/icons/error.svg);
+	display: inline-block;
+	padding-right: 7px;
+	width: 16px;
+	content: url(../Swage/icons/error.svg);
 }
 
 .form-group {
-  padding: 5px;
-  border: 1px solid transparent;
+	padding: 5px;
+	border: 1px solid transparent;
 }
 .form-group:hover {
-  background: #fcfcfc;
-  border: 1px solid #fcfcfc;
+	background: #fcfcfc;
+	border: 1px solid #fcfcfc;
 }
 .form-group.form-actions {
-  margin: 15px 0 25px;
-  padding: 5px 0;
-  background: #e3e3e3;
-  border-top: 3px solid #e3e3e3;
+	margin: 15px 0 25px;
+	padding: 5px 0;
+	background: #e3e3e3;
+	border-top: 3px solid #e3e3e3;
 }
 .form-group.form-actions .btn {
-  margin: 0 10px;
+	margin: 0 10px;
 }
 .form-group .group-name {
-  padding: 10px 0;
-  text-align: right;
+	padding: 10px 0;
+	text-align: right;
 }
 .form-group .group-controls {
-  min-height: 25px;
-  padding: 5px 0;
+	min-height: 25px;
+	padding: 5px 0;
 }
 .form-group .group-controls .control {
-  line-height: 2em;
+	line-height: 2em;
 }
 .form-group table {
-  margin: 10px 0 0 220px;
+	margin: 10px 0 0 220px;
 }
 
 .stick {
-  vertical-align: middle;
-  font-size: 0;
+	vertical-align: middle;
+	font-size: 0;
 }
 .btn {
-  margin: 0;
-  padding: 5px 10px;
-  background: #0062be;
-  display: inline-block;
-  color: #fcfcfc;
-  font-size: 0.9rem;
-  border: none;
-  min-height: 35px;
-  min-width: 15px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
+	margin: 0;
+	padding: 5px 10px;
+	background: #0062be;
+	display: inline-block;
+	color: #fcfcfc;
+	font-size: 0.9rem;
+	border: none;
+	min-height: 35px;
+	min-width: 15px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
 }
 .btn.active,
 .btn :active,
 .btn :hover {
-  background: #00488b;
-  text-decoration: none;
+	background: #00488b;
+	text-decoration: none;
 }
 
 .btn-important, .btn-attention {
-  font-weight: normal;
-  background: #fa8052;
-  color: #fcfcfc;
+	font-weight: normal;
+	background: #fa8052;
+	color: #fcfcfc;
 }
 .btn-important:hover,
 .btn-important :active, .btn-attention:hover,
 .btn-attention :active {
-  background: #f95c20 !important;
+	background: #f95c20 !important;
 }
 
 .nav-list .nav-header {
-  padding: 0 10px;
-  font-weight: bold;
-  background: #22303d;
-  color: #fcfcfc;
-  cursor: default;
+	padding: 0 10px;
+	font-weight: bold;
+	background: #22303d;
+	color: #fcfcfc;
+	cursor: default;
 }
 .nav-list .item:hover, .nav-list .item.active {
-  background: #00488b;
-  color: #fcfcfc;
+	background: #00488b;
+	color: #fcfcfc;
 }
 .nav-list .item:hover a, .nav-list .item.active a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .nav-list .item:hover.empty a,
 .nav-list .item:hover .error a, .nav-list .item.active.empty a,
 .nav-list .item.active .error a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .nav-list .item:hover.empty a, .nav-list .item.active.empty a {
-  background: #fa8052;
+	background: #fa8052;
 }
 .nav-list .item:hover.error a, .nav-list .item.active.error a {
-  background: #c46178;
+	background: #c46178;
 }
 .nav-list .item > a {
-  padding: 0 10px;
+	padding: 0 10px;
 }
 .nav-list .item.empty a {
-  color: #fa8052;
+	color: #fa8052;
 }
 .nav-list .item.error a {
-  color: #c46178;
+	color: #c46178;
 }
 .nav-list .disable {
-  text-align: center;
-  background: #fcfcfc;
-  color: #969696;
+	text-align: center;
+	background: #fcfcfc;
+	color: #969696;
 }
 .nav-list .nav-form {
-  padding: 3px;
-  text-align: center;
+	padding: 3px;
+	text-align: center;
 }
 .nav-list a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 .nav-head {
-  margin: 0;
-  text-align: right;
-  background: #22303d;
-  color: #fcfcfc;
+	margin: 0;
+	text-align: right;
+	background: #22303d;
+	color: #fcfcfc;
 }
 .nav-head a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .nav-head .item {
-  padding: 5px 10px;
-  font-size: 0.9rem;
-  line-height: 1.5rem;
+	padding: 5px 10px;
+	font-size: 0.9rem;
+	line-height: 1.5rem;
 }
 
 .horizontal-list {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 .horizontal-list .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 
 .dropdown-menu {
-  padding: 5px 0;
-  font-size: 0.8rem;
-  text-align: left;
-  border: none;
-  background-color: #00488b;
+	padding: 5px 0;
+	font-size: 0.8rem;
+	text-align: left;
+	border: none;
+	background-color: #00488b;
 }
 .dropdown-menu .dropdown-header {
-  cursor: default;
+	cursor: default;
 }
 .dropdown-menu > .item {
-  padding: 0;
-  margin-left: 10px;
+	padding: 0;
+	margin-left: 10px;
 }
 .dropdown-menu > .item > a {
-  min-width: initial;
-  white-space: nowrap;
+	min-width: initial;
+	white-space: nowrap;
 }
 .dropdown-menu > .item:hover {
-  background: #0062be;
-  color: #fcfcfc;
+	background: #0062be;
+	color: #fcfcfc;
 }
 .dropdown-menu > .item:hover > a {
-  text-decoration: none;
-  color: #fcfcfc;
+	text-decoration: none;
+	color: #fcfcfc;
 }
 .dropdown-menu > .item[aria-checked=true] > a::before {
-  font-weight: bold;
-  margin: 0 0 0 -14px;
+	font-weight: bold;
+	margin: 0 0 0 -14px;
 }
 .dropdown-menu .input select,
 .dropdown-menu .input input {
-  margin: 0 auto 5px;
-  padding: 2px 5px;
+	margin: 0 auto 5px;
+	padding: 2px 5px;
 }
 
 .dropdown-header {
-  padding: 0 5px 5px;
-  font-weight: bold;
-  text-align: left;
-  color: #fcfcfc;
+	padding: 0 5px 5px;
+	font-weight: bold;
+	text-align: left;
+	color: #fcfcfc;
 }
 
 .separator {
-  margin: 5px 0;
-  border-bottom: 1px solid #e3e3e3;
-  cursor: default;
+	margin: 5px 0;
+	border-bottom: 1px solid #e3e3e3;
+	cursor: default;
 }
 
 .alert {
-  margin: 5px auto;
-  padding: 10px 15px;
-  background: #fcfcfc;
-  color: #969696;
-  font-size: 0.9em;
-  border: none;
-  text-shadow: 0 0 1px #fcfcfc;
+	margin: 5px auto;
+	padding: 10px 15px;
+	background: #fcfcfc;
+	color: #969696;
+	font-size: 0.9em;
+	border: none;
+	text-shadow: 0 0 1px #fcfcfc;
 }
 .alert > a {
-  color: inherit;
-  text-decoration: underline;
+	color: inherit;
+	text-decoration: underline;
 }
 
 .alert-head {
-  font-size: 1.15em;
+	font-size: 1.15em;
 }
 
 .alert-warn,
 .alert-success,
 .alert-error {
-  border: none;
+	border: none;
 }
 
 .alert-warn {
-  background: #fcfcfc;
-  color: #fa8052;
+	background: #fcfcfc;
+	color: #fa8052;
 }
 
 .alert-success {
-  background: #fcfcfc;
-  color: #5eaabf;
+	background: #fcfcfc;
+	color: #5eaabf;
 }
 
 .alert-error {
-  background: #fcfcfc;
-  color: #b0425b;
+	background: #fcfcfc;
+	color: #b0425b;
 }
 
 .pagination {
-  background: #e3e3e3;
-  color: #181621;
-  font-size: 0.8em;
-  text-align: center;
+	background: #e3e3e3;
+	color: #181621;
+	font-size: 0.8em;
+	text-align: center;
 }
 .pagination .item.pager-current {
-  background: #22303d;
-  color: #e3e3e3;
-  font-size: 1.5em;
-  font-weight: bold;
+	background: #22303d;
+	color: #e3e3e3;
+	font-size: 1.5em;
+	font-weight: bold;
 }
 .pagination .item a {
-  display: block;
-  color: #181621;
-  font-style: italic;
-  line-height: 3em;
-  text-decoration: none;
+	display: block;
+	color: #181621;
+	font-style: italic;
+	line-height: 3em;
+	text-decoration: none;
 }
 .pagination .item a:hover {
-  background: #22303d;
-  color: #e3e3e3;
+	background: #22303d;
+	color: #e3e3e3;
 }
 .pagination .loading,
 .pagination a:hover.loading {
-  background: url(loader.gif) center center no-repeat #22303d;
-  font-size: 0;
+	background: url(loader.gif) center center no-repeat #22303d;
+	font-size: 0;
 }
 
 .content {
-  padding: 20px 10px;
+	padding: 20px 10px;
 }
 .content .pagination {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 .content hr {
-  margin: 30px 10px;
-  background: #e3e3e3;
-  height: 1px;
-  border: 0;
-  box-shadow: 0 2px 5px #e3e3e3;
+	margin: 30px 10px;
+	background: #e3e3e3;
+	height: 1px;
+	border: 0;
+	box-shadow: 0 2px 5px #e3e3e3;
 }
 .content pre {
-  margin: 10px auto;
-  padding: 10px 20px;
-  overflow: auto;
-  background: #181621;
-  color: #fcfcfc;
-  font-size: 0.9rem;
+	margin: 10px auto;
+	padding: 10px 20px;
+	overflow: auto;
+	background: #181621;
+	color: #fcfcfc;
+	font-size: 0.9rem;
 }
 .content pre code {
-  background: transparent;
-  color: #fcfcfc;
-  border: none;
+	background: transparent;
+	color: #fcfcfc;
+	border: none;
 }
 .content code {
-  padding: 2px 5px;
-  background: #fcfcfc;
-  color: #b0425b;
-  border: 1px solid #fcfcfc;
+	padding: 2px 5px;
+	background: #fcfcfc;
+	color: #b0425b;
+	border: 1px solid #fcfcfc;
 }
 .content blockquote {
-  margin: 0;
-  padding: 5px 20px;
-  background: #fcfcfc;
-  display: block;
-  color: #969696;
-  border-top: 1px solid #e3e3e3;
-  border-bottom: 1px solid #e3e3e3;
+	margin: 0;
+	padding: 5px 20px;
+	background: #fcfcfc;
+	display: block;
+	color: #969696;
+	border-top: 1px solid #e3e3e3;
+	border-bottom: 1px solid #e3e3e3;
 }
 .content blockquote p {
-  margin: 0;
+	margin: 0;
 }
 .content > h1.title > a {
-  color: #181621;
+	color: #181621;
 }
 
 .box {
-  border: 1px solid #e3e3e3;
+	border: 1px solid #e3e3e3;
 }
 .box .box-title {
-  margin: 0;
-  padding: 5px 10px;
-  background: #e3e3e3;
-  color: #969696;
-  border-bottom: 1px solid #e3e3e3;
+	margin: 0;
+	padding: 5px 10px;
+	background: #e3e3e3;
+	color: #969696;
+	border-bottom: 1px solid #e3e3e3;
 }
 .box .box-content {
-  max-height: 260px;
+	max-height: 260px;
 }
 .box .box-content .item {
-  padding: 0 10px;
-  font-size: 0.9rem;
-  line-height: 2.5em;
+	padding: 0 10px;
+	font-size: 0.9rem;
+	line-height: 2.5em;
 }
 .box .box-content .item .configure {
-  visibility: hidden;
+	visibility: hidden;
 }
 .box .box-content .item .configure .icon {
-  vertical-align: middle;
-  background-color: #e3e3e3;
+	vertical-align: middle;
+	background-color: #e3e3e3;
 }
 .box .box-content .item:hover .configure {
-  visibility: visible;
+	visibility: visible;
 }
 .box.category .box-title .title {
-  font-weight: normal;
-  text-decoration: none;
-  text-align: left;
+	font-weight: normal;
+	text-decoration: none;
+	text-align: left;
 }
 .box.category:not([data-unread="0"]) .box-title {
-  background: #0062be;
+	background: #0062be;
 }
 .box.category:not([data-unread="0"]) .box-title:active {
-  background: #00488b;
+	background: #00488b;
 }
 .box.category:not([data-unread="0"]) .box-title .title {
-  font-weight: bold;
-  color: #fcfcfc;
+	font-weight: bold;
+	color: #fcfcfc;
 }
 .box.category .title:not([data-unread="0"])::after {
-  background: none;
-  border: 0;
-  box-shadow: none;
-  position: absolute;
-  top: 5px;
-  right: 10px;
-  font-weight: bold;
-  text-shadow: none;
+	background: none;
+	border: 0;
+	box-shadow: none;
+	position: absolute;
+	top: 5px;
+	right: 10px;
+	font-weight: bold;
+	text-shadow: none;
 }
 .box.category .item.feed {
-  padding: 2px 10px;
-  font-size: 0.8rem;
+	padding: 2px 10px;
+	font-size: 0.8rem;
 }
 
 .tree {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 
 .tree-folder-title {
-  padding: 0 10px;
-  background: #22303d;
-  height: 35px;
-  font-size: 1rem;
-  position: relative;
-  line-height: 2.3rem;
+	padding: 0 10px;
+	background: #22303d;
+	height: 35px;
+	font-size: 1rem;
+	position: relative;
+	line-height: 2.3rem;
 }
 .tree-folder-title .title {
-  background: inherit;
-  color: #fcfcfc;
+	background: inherit;
+	color: #fcfcfc;
 }
 .tree-folder-title .title:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 .tree-folder-items {
-  background: #22303d;
+	background: #22303d;
 }
 .tree-folder-items > .item {
-  padding: 0 10px;
-  line-height: 2.5rem;
-  font-size: 0.8rem;
+	padding: 0 10px;
+	line-height: 2.5rem;
+	font-size: 0.8rem;
 }
 .tree-folder-items > .item.active {
-  background: #00488b;
+	background: #00488b;
 }
 .tree-folder-items > .item > a {
-  text-decoration: none;
-  color: #fcfcfc;
+	text-decoration: none;
+	color: #fcfcfc;
 }
 
 @supports (scrollbar-width: thin) {
-  #sidebar {
-    scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0);
-  }
+	#sidebar {
+		scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0);
+	}
 
-  #sidebar:hover {
-    scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0);
-  }
+	#sidebar:hover {
+		scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0);
+	}
 }
 @supports not (scrollbar-width: thin) {
-  #sidebar::-webkit-scrollbar-thumb {
-    background: rgba(255, 255, 255, 0.1);
-  }
+	#sidebar::-webkit-scrollbar-thumb {
+		background: rgba(255, 255, 255, 0.1);
+	}
 
-  #sidebar:hover::-webkit-scrollbar-thumb {
-    background: rgba(255, 255, 255, 0.3);
-  }
+	#sidebar:hover::-webkit-scrollbar-thumb {
+		background: rgba(255, 255, 255, 0.3);
+	}
 }
 .header > .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .header > .item.title {
-  position: absolute;
+	position: absolute;
 }
 .header > .item.title h1 {
-  margin: 0;
-  display: block;
+	margin: 0;
+	display: block;
 }
 .header > .item.title h1 a {
-  text-decoration: none;
-  color: #fcfcfc;
+	text-decoration: none;
+	color: #fcfcfc;
 }
 .header > .item.title .logo {
-  display: inline-block;
-  height: 26px;
-  vertical-align: top;
-  position: relative;
-  top: 5px;
+	display: inline-block;
+	height: 26px;
+	vertical-align: top;
+	position: relative;
+	top: 5px;
 }
 .header > .item.search input {
-  width: 230px;
+	width: 230px;
 }
 .header .item.search input:focus {
-  width: 350px;
+	width: 350px;
 }
 .header .item.search {
-  display: none;
+	display: none;
 }
 .header .item.configure {
-  position: fixed;
-  right: 0px;
-  z-index: 1000;
-  width: 35px;
+	position: fixed;
+	right: 0px;
+	z-index: 1000;
+	width: 35px;
 }
 .header h1 {
-  text-align: center;
-  font-size: 1.5em;
+	text-align: center;
+	font-size: 1.5em;
 }
 
 .aside {
-  padding: 35px 0;
-  background: #22303d;
+	padding: 35px 0;
+	background: #22303d;
 }
 .aside.aside_feed .tree {
-  margin: 0 0 50px;
+	margin: 0 0 50px;
 }
 .aside.aside_feed .nav-form input,
 .aside.aside_feed .nav-form select {
-  width: 140px;
+	width: 140px;
 }
 .aside.aside_feed .nav-form .dropdown .dropdown-menu {
-  right: -20px;
+	right: -20px;
 }
 .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
-  right: 33px;
+	right: 33px;
 }
 
 .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after {
-  margin: 6px 0;
-  padding: 0 10px;
-  background: inherit;
-  font-size: 0.9rem;
-  position: absolute;
-  right: 0;
-  line-height: 1.5rem;
+	margin: 6px 0;
+	padding: 0 10px;
+	background: inherit;
+	font-size: 0.9rem;
+	position: absolute;
+	right: 0;
+	line-height: 1.5rem;
 }
 .aside_feed .tree-folder-items .dropdown-menu::after {
-  left: 2px;
+	left: 2px;
 }
 
 .post {
-  padding: 10px 50px;
-  font-size: 0.9em;
+	padding: 10px 50px;
+	font-size: 0.9em;
 }
 .post input {
-  background: #e3e3e3;
+	background: #e3e3e3;
 }
 .post input.long {
-  height: 33px;
-  margin-top: 0px;
+	height: 33px;
+	margin-top: 0px;
 }
 .post form {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 .post.content {
-  max-width: 550px;
+	max-width: 550px;
 }
 
 .prompt {
-  text-align: center;
+	text-align: center;
 }
 .prompt label {
-  text-align: left;
+	text-align: left;
 }
 .prompt form {
-  margin: 10px auto 20px auto;
-  width: 200px;
+	margin: 10px auto 20px auto;
+	width: 200px;
 }
 .prompt input {
-  margin: 5px auto;
-  width: 100%;
+	margin: 5px auto;
+	width: 100%;
 }
 .prompt p {
-  margin: 20px 0;
+	margin: 20px 0;
 }
 
 #new-article {
-  background: #0062be;
-  font-size: 1em;
-  text-align: center;
-  position: fixed;
-  bottom: 48px;
-  z-index: 900;
-  left: 0;
-  line-height: 1.5em;
+	background: #0062be;
+	font-size: 1em;
+	text-align: center;
+	position: fixed;
+	bottom: 48px;
+	z-index: 900;
+	left: 0;
+	line-height: 1.5em;
 }
 #new-article:hover {
-  background: #00488b;
+	background: #00488b;
 }
 #new-article > a {
-  line-height: 1.5em;
-  font-weight: bold;
-  color: #fcfcfc;
+	line-height: 1.5em;
+	font-weight: bold;
+	color: #fcfcfc;
 }
 #new-article > a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 .day {
-  padding: 0 10px;
-  font-weight: bold;
-  line-height: 3em;
-  text-align: center;
+	padding: 0 10px;
+	font-weight: bold;
+	line-height: 3em;
+	text-align: center;
 }
 .day .name {
-  display: none;
+	display: none;
 }
 
 .nav a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 
 .nav_menu {
-  width: 100%;
-  font-size: 0;
-  background-color: #0062be;
-  position: fixed;
-  z-index: 900;
+	width: 100%;
+	font-size: 0;
+	background-color: #0062be;
+	position: fixed;
+	z-index: 900;
 }
 .nav_menu .item.search {
-  display: inline-block;
-  position: fixed;
-  right: 40px;
+	display: inline-block;
+	position: fixed;
+	right: 40px;
 }
 
 .flux {
-  padding-right: 10px;
-  background: #fcfcfc;
+	padding-right: 10px;
+	background: #fcfcfc;
 }
 .flux::after {
-  margin: 0 auto;
-  width: 90%;
-  border-top: 1px solid #e3e3e3;
+	margin: 0 auto;
+	width: 90%;
+	border-top: 1px solid #e3e3e3;
 }
 .flux:hover,
 .flux .current {
-  background: #fff;
+	background: #fff;
 }
 .flux:hover:not(.current):hover .item.title,
 .flux .current:not(.current):hover .item.title {
-  background: #fff;
+	background: #fff;
 }
 .flux.favorite:not(.current) {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.favorite:not(.current):hover .item.title {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.not_read:not(.current) {
-  background: #fff3ed;
+	background: #fff3ed;
 }
 .flux.not_read:not(.current):hover .item.title {
-  background: #fff3ed;
+	background: #fff3ed;
 }
 .flux .item.date {
-  color: #969696;
-  font-size: 0.7rem;
+	color: #969696;
+	font-size: 0.7rem;
 }
 .flux .bottom {
-  font-size: 0.8rem;
-  text-align: center;
+	font-size: 0.8rem;
+	text-align: center;
 }
 .flux .website .favicon {
-  padding: 5px;
+	padding: 5px;
 }
 .flux label {
-  color: #fcfcfc;
-  cursor: pointer;
+	color: #fcfcfc;
+	cursor: pointer;
 }
 
 .flux_header {
-  font-size: 0.8rem;
-  cursor: pointer;
+	font-size: 0.8rem;
+	cursor: pointer;
 }
 .flux_header .title {
-  font-size: 0.9rem;
+	font-size: 0.9rem;
 }
 
 .notification {
-  padding: 10px 0;
-  background: #e3e3e3;
-  height: auto;
-  color: #969696;
-  font-size: 1em;
-  border: none;
-  text-align: center;
-  font-weight: bold;
-  z-index: 10;
-  vertical-align: middle;
-  position: fixed;
-  bottom: 48px;
-  left: 0;
-  top: auto;
+	padding: 10px 0;
+	background: #e3e3e3;
+	height: auto;
+	color: #969696;
+	font-size: 1em;
+	border: none;
+	text-align: center;
+	font-weight: bold;
+	z-index: 10;
+	vertical-align: middle;
+	position: fixed;
+	bottom: 48px;
+	left: 0;
+	top: auto;
 }
 .notification.good,
 .notification .bad {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .notification.good {
-  background: #5eaabf;
+	background: #5eaabf;
 }
 .notification.good a.close:hover {
-  background: #5eaabf;
+	background: #5eaabf;
 }
 .notification.bad {
-  background: #c46178;
+	background: #c46178;
 }
 .notification.bad a.close:hover {
-  background: #c46178;
+	background: #c46178;
 }
 .notification#actualizeProgress {
-  line-height: 2em;
+	line-height: 2em;
 }
 .notification a.close {
-  display: none;
+	display: none;
 }
 
 #bigMarkAsRead {
-  text-align: center;
-  text-decoration: none;
-  background: #e3e3e3;
+	text-align: center;
+	text-decoration: none;
+	background: #e3e3e3;
 }
 #bigMarkAsRead:hover {
-  background: #22303d;
-  color: #fcfcfc;
+	background: #22303d;
+	color: #fcfcfc;
 }
 
 #nav_entries {
-  margin: 0;
-  text-align: center;
-  line-height: 3em;
-  table-layout: fixed;
-  background: #22303d;
+	margin: 0;
+	text-align: center;
+	line-height: 3em;
+	table-layout: fixed;
+	background: #22303d;
 }
 
 .stat {
-  margin: 10px 0 20px;
+	margin: 10px 0 20px;
 }
 .stat th,
 .stat td,
 .stat tr {
-  border: none;
+	border: none;
 }
 .stat > table td,
 .stat > table th {
-  border-bottom: 1px solid #e3e3e3;
+	border-bottom: 1px solid #e3e3e3;
 }
 .stat > .horizontal-list {
-  margin: 0 0 5px;
+	margin: 0 0 5px;
 }
 .stat > .horizontal-list .item {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
 }
 .stat > .horizontal-list .item:first-child {
-  width: 270px;
+	width: 270px;
 }
 
 .formLogin #global {
-  height: 0;
+	height: 0;
 }
 .formLogin .header {
-  background: #22303d;
-  height: 55px;
+	background: #22303d;
+	height: 55px;
 }
 .formLogin .header > .item.configure {
-  width: 200px;
-  position: unset;
+	width: 200px;
+	position: unset;
 }
 .formLogin .header > .item.title h1 {
-  display: unset;
+	display: unset;
 }
 .formLogin a.signin {
-  color: #fcfcfc;
-  padding-left: 5px;
+	color: #fcfcfc;
+	padding-left: 5px;
 }
 .formLogin input {
-  border-top: 1px #e3e3e3;
-  border-right: 1px #e3e3e3;
-  border-bottom: 1px #e3e3e3;
-  border-left: 5px solid;
+	border-top: 1px #e3e3e3;
+	border-right: 1px #e3e3e3;
+	border-bottom: 1px #e3e3e3;
+	border-left: 5px solid;
 }
 
 .loglist {
-  overflow: hidden;
-  border: 1px solid #969696;
+	overflow: hidden;
+	border: 1px solid #969696;
 }
 
 .log {
-  padding: 5px 2%;
-  background: #fcfcfc;
-  font-size: 0.8rem;
-  overflow: auto;
+	padding: 5px 2%;
+	background: #fcfcfc;
+	font-size: 0.8rem;
+	overflow: auto;
 }
 .log > .date {
-  margin: 0 10px 0 0;
-  padding: 5px 10px;
+	margin: 0 10px 0 0;
+	padding: 5px 10px;
 }
 .log.error > .date {
-  background: #c46178;
-  color: #fcfcfc;
+	background: #c46178;
+	color: #fcfcfc;
 }
 .log.warning > .date {
-  background: #fa8052;
-  color: #fcfcfc;
+	background: #fa8052;
+	color: #fcfcfc;
 }
 .log.notice > .date {
-  background: #e3e3e3;
-  color: #fcfcfc;
+	background: #e3e3e3;
+	color: #fcfcfc;
 }
 .log.debug > .date {
-  background: #181621;
-  color: #fcfcfc;
+	background: #181621;
+	color: #fcfcfc;
 }
 
 @media (max-width: 840px) {
-  .formLogin .header {
-    display: none;
-  }
+	.formLogin .header {
+		display: none;
+	}
 
-  .form-group .group-name {
-    padding-bottom: 0;
-    text-align: left;
-  }
+	.form-group .group-name {
+		padding-bottom: 0;
+		text-align: left;
+	}
 
-  .box .box-title .configure,
+	.box .box-title .configure,
 .box .box-content .item .configure {
-    visibility: visible;
-  }
-
-  .dropdown-header, .dropdown-menu > .item {
-    padding: 12px;
-  }
-
-  #new-article {
-    width: 100%;
-    position: sticky;
-    top: 0;
-  }
-
-  .header {
-    display: table;
-  }
-  .header .item.title .logo {
-    display: none;
-  }
-
-  .header > .item.title h1 a {
-    display: block;
-    position: absolute;
-    top: -35px;
-    left: 10px;
-    font-size: 0.6em;
-  }
-
-  .header .item.configure,
+		visibility: visible;
+	}
+
+	.dropdown-header, .dropdown-menu > .item {
+		padding: 12px;
+	}
+
+	#new-article {
+		width: 100%;
+		position: sticky;
+		top: 0;
+	}
+
+	.header {
+		display: table;
+	}
+	.header .item.title .logo {
+		display: none;
+	}
+
+	.header > .item.title h1 a {
+		display: block;
+		position: absolute;
+		top: -35px;
+		left: 10px;
+		font-size: 0.6em;
+	}
+
+	.header .item.configure,
 button.read_all.btn {
-    display: none;
-  }
+		display: none;
+	}
 
-  .flux .item.manage,
+	.flux .item.manage,
 .flux_header .item.website {
-    width: 35px;
-    text-align: center;
-  }
-
-  .aside {
-    width: 0;
-    transition: width 200ms linear;
-  }
-  .aside .toggle_aside {
-    background: #22303d;
-    display: block;
-    height: 50px;
-    line-height: 50px;
-    text-align: right;
-    padding-right: 10px;
-  }
-  .aside.aside_feed {
-    padding: 0;
-  }
-  .aside.aside_feed .configure-feeds {
-    display: flex;
-    margin-top: 0;
-    margin-left: auto;
-    margin-right: auto;
-  }
-  .aside:target {
-    width: 78%;
-    z-index: 1000;
-  }
-
-  .nav_menu {
-    position: initial;
-    height: 71px;
-  }
-  .nav_menu .btn {
-    margin: 5px 10px;
-  }
-  .nav_menu .stick {
-    margin: 0 10px;
-  }
-  .nav_menu .stick .btn {
-    margin: 5px 0;
-  }
-  .nav_menu .search {
-    position: absolute !important;
-    top: 35px;
-    left: 55px;
-  }
-  .nav_menu .search input {
-    width: 85%;
-  }
-
-  .pagination {
-    margin: 0 0 3.5em;
-  }
-
-  #panel .close {
-    background: #22303d;
-    display: block;
-    height: 50px;
-    line-height: 50px;
-    text-align: right;
-    padding-right: 10px;
-  }
-
-  .day .name {
-    font-size: 1.1rem;
-  }
-
-  .notification {
-    width: 100%;
-  }
-  .notification a.close {
-    background: transparent;
-    display: block;
-    left: 0;
-  }
-  .notification a.close:hover {
-    opacity: 0.5;
-  }
-  .notification a.close .icon {
-    display: none;
-  }
-
-  #nav_entries {
-    width: 100% !important;
-  }
-
-  .post {
-    padding-left: 15px;
-    padding-right: 15px;
-  }
-
-  div#stream {
-    margin-top: 0px;
-  }
-
-  a.btn.toggle_aside {
-    position: absolute;
-    top: 29px;
-  }
-
-  form#mark-read-menu,
+		width: 35px;
+		text-align: center;
+	}
+
+	.aside {
+		width: 0;
+		transition: width 200ms linear;
+	}
+	.aside .toggle_aside {
+		background: #22303d;
+		display: block;
+		height: 50px;
+		line-height: 50px;
+		text-align: right;
+		padding-right: 10px;
+	}
+	.aside.aside_feed {
+		padding: 0;
+	}
+	.aside.aside_feed .configure-feeds {
+		display: flex;
+		margin-top: 0;
+		margin-left: auto;
+		margin-right: auto;
+	}
+	.aside:target {
+		width: 78%;
+		z-index: 1000;
+	}
+
+	.nav_menu {
+		position: initial;
+		height: 71px;
+	}
+	.nav_menu .btn {
+		margin: 5px 10px;
+	}
+	.nav_menu .stick {
+		margin: 0 10px;
+	}
+	.nav_menu .stick .btn {
+		margin: 5px 0;
+	}
+	.nav_menu .search {
+		position: absolute !important;
+		top: 35px;
+		left: 55px;
+	}
+	.nav_menu .search input {
+		width: 85%;
+	}
+
+	.pagination {
+		margin: 0 0 3.5em;
+	}
+
+	#panel .close {
+		background: #22303d;
+		display: block;
+		height: 50px;
+		line-height: 50px;
+		text-align: right;
+		padding-right: 10px;
+	}
+
+	.day .name {
+		font-size: 1.1rem;
+	}
+
+	.notification {
+		width: 100%;
+	}
+	.notification a.close {
+		background: transparent;
+		display: block;
+		left: 0;
+	}
+	.notification a.close:hover {
+		opacity: 0.5;
+	}
+	.notification a.close .icon {
+		display: none;
+	}
+
+	#nav_entries {
+		width: 100% !important;
+	}
+
+	.post {
+		padding-left: 15px;
+		padding-right: 15px;
+	}
+
+	div#stream {
+		margin-top: 0px;
+	}
+
+	a.btn.toggle_aside {
+		position: absolute;
+		top: 29px;
+	}
+
+	form#mark-read-menu,
 a#actualize,
 a#toggle-order,
 div#nav_menu_actions,
 div#nav_menu_views {
-    position: absolute;
-  }
+		position: absolute;
+	}
 
-  form#mark-read-menu {
-    right: 46px;
-    top: 30px;
-    z-index: 1100;
-  }
+	form#mark-read-menu {
+		right: 46px;
+		top: 30px;
+		z-index: 1100;
+	}
 
-  a#actualize,
+	a#actualize,
 a#toggle-order {
-    right: 0px;
-  }
+		right: 0px;
+	}
 
-  a#actualize {
-    top: 29px;
-  }
+	a#actualize {
+		top: 29px;
+	}
 
-  a#toggle-order,
+	a#toggle-order,
 div#nav_menu_actions,
 div#nav_menu_views {
-    top: 65px;
-  }
+		top: 65px;
+	}
 
-  div#nav_menu_actions {
-    left: 0px;
-  }
+	div#nav_menu_actions {
+		left: 0px;
+	}
 
-  div#nav_menu_views {
-    right: 50px;
-  }
+	div#nav_menu_views {
+		right: 50px;
+	}
 }
 @media (max-width: 410px) {
-  .nav_menu .stick {
-    margin: 0;
-  }
+	.nav_menu .stick {
+		margin: 0;
+	}
 }
 @media (max-width: 374px) {
-  #nav_menu_views {
-    display: none;
-  }
+	#nav_menu_views {
+		display: none;
+	}
 }
 button.as-link {
-  color: #fcfcfc;
-  outline: none;
+	color: #fcfcfc;
+	outline: none;
 }
 
 .dropdown-target:target ~ .btn.dropdown-toggle {
-  background: #00488b;
+	background: #00488b;
 }
 
 .tree-folder.active .tree-folder-title {
-  background: #00488b;
-  font-weight: bold;
+	background: #00488b;
+	font-weight: bold;
 }
 
 .feed.item.empty {
-  color: #fa8052;
+	color: #fa8052;
 }
 .feed.item.empty.active {
-  background: #fa8052;
-  color: #fcfcfc;
+	background: #fa8052;
+	color: #fcfcfc;
 }
 .feed.item.empty.active > a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .feed.item.empty > a {
-  color: #fa8052;
+	color: #fa8052;
 }
 .feed.item.error {
-  color: #c46178;
+	color: #c46178;
 }
 .feed.item.error.active {
-  background: #c46178;
-  color: #fcfcfc;
+	background: #c46178;
+	color: #fcfcfc;
 }
 .feed.item.error.active > a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .feed.item.error > a {
-  color: #c46178;
+	color: #c46178;
 }
 
 #dropdown-query ~ .dropdown-menu .dropdown-header .icon {
-  vertical-align: middle;
-  float: right;
+	vertical-align: middle;
+	float: right;
 }
 
 #stream.reader .flux {
-  padding: 0 0 50px;
-  background: #fcfcfc;
-  color: #22303d;
-  border: none;
+	padding: 0 0 50px;
+	background: #fcfcfc;
+	color: #22303d;
+	border: none;
 }
 #stream.reader .flux .author {
-  margin: 0 0 10px;
-  color: #969696;
-  font-size: 90%;
+	margin: 0 0 10px;
+	color: #969696;
+	font-size: 90%;
 }
 
 #nav_menu_actions ul.dropdown-menu, #nav_menu_read_all ul.dropdown-menu {
-  left: 0px;
+	left: 0px;
 }
 
 #slider label {
-  min-height: initial;
+	min-height: initial;
 }
 #slider .form-group:hover {
-  background: inital;
+	background: inital;
 }
 
 /*# sourceMappingURL=swage.css.map */

+ 637 - 637
p/themes/Swage/swage.rtl.css

@@ -1,1181 +1,1181 @@
 input,
 select, textarea {
-  min-height: 25px;
-  margin-top: 4px;
-  line-height: 25px;
-  vertical-align: middle;
-  background: #fcfcfc;
-  border: none;
-  padding-right: 5px;
+	min-height: 25px;
+	margin-top: 4px;
+	line-height: 25px;
+	vertical-align: middle;
+	background: #fcfcfc;
+	border: none;
+	padding-right: 5px;
 }
 
 input:invalid,
 select:invalid {
-  color: #b0425b;
-  border-color: #b0425b;
-  box-shadow: none;
+	color: #b0425b;
+	border-color: #b0425b;
+	box-shadow: none;
 }
 
 .nav-list .item, .nav-list .nav-header {
-  height: 2.5em;
-  line-height: 2.5em;
-  font-size: 0.9rem;
+	height: 2.5em;
+	line-height: 2.5em;
+	font-size: 0.9rem;
 }
 
 .dropdown-menu > .item > a,
 .dropdown-menu > .item > span,
 .dropdown-menu > .item > .as-link,
 .dropdown-menu > .item button, .dropdown-menu > .item {
-  padding: 0 22px;
-  color: #fcfcfc;
-  font-size: 0.8rem;
-  line-height: 2.5em;
+	padding: 0 22px;
+	color: #fcfcfc;
+	font-size: 0.8rem;
+	line-height: 2.5em;
 }
 
 .flux::after, .form-group::after {
-  content: "";
-  display: block;
-  clear: both;
+	content: "";
+	display: block;
+	clear: both;
 }
 
 #nav_entries, .notification, #new-article, .aside, .header > .item.title, .stick.configure-feeds {
-  width: 231px;
+	width: 231px;
 }
 
 html,
 body {
-  height: 100%;
-  font-family: Helvetica, Arial, sans-serif;
+	height: 100%;
+	font-family: Helvetica, Arial, sans-serif;
 }
 
 a {
-  color: #00488b;
-  outline: none;
+	color: #00488b;
+	outline: none;
 }
 a.btn {
-  min-height: 25px;
-  line-height: 25px;
-  text-decoration: none;
+	min-height: 25px;
+	line-height: 25px;
+	text-decoration: none;
 }
 a.btn:hover {
-  background: #00488b;
+	background: #00488b;
 }
 a#btn-subscription {
-  width: 76%;
+	width: 76%;
 }
 a#btn-add {
-  width: 5%;
+	width: 5%;
 }
 
 img.icon:hover {
-  background: none;
+	background: none;
 }
 
 div#stream {
-  margin-top: 35px;
+	margin-top: 35px;
 }
 
 sup {
-  top: -0.3em;
+	top: -0.3em;
 }
 
 legend {
-  margin: 20px 0 5px;
-  padding: 5px 20px;
-  background: #e3e3e3;
-  display: inline-block;
-  width: auto;
-  font-size: 1.4em;
-  clear: both;
+	margin: 20px 0 5px;
+	padding: 5px 20px;
+	background: #e3e3e3;
+	display: inline-block;
+	width: auto;
+	font-size: 1.4em;
+	clear: both;
 }
 
 label {
-  min-height: 25px;
+	min-height: 25px;
 }
 
 textarea {
-  background: #e3e3e3;
-  width: 360px;
-  height: 100px;
+	background: #e3e3e3;
+	width: 360px;
+	height: 100px;
 }
 textarea:focus {
-  border-color: #00488b;
+	border-color: #00488b;
 }
 
 input:focus,
 select:focus {
-  border-color: #00488b;
+	border-color: #00488b;
 }
 input:disabled,
 select:disabled {
-  background: #fcfcfc;
+	background: #fcfcfc;
 }
 
 select {
-  background: #e3e3e3;
+	background: #e3e3e3;
 }
 
 input.extend {
-  transition: width 200ms linear;
+	transition: width 200ms linear;
 }
 
 option {
-  padding: 0 0.5em;
+	padding: 0 0.5em;
 }
 
 table {
-  border-collapse: collapse;
+	border-collapse: collapse;
 }
 
 tr,
 td,
 th {
-  padding: 0.5em;
-  border: 1px solid #e3e3e3;
+	padding: 0.5em;
+	border: 1px solid #e3e3e3;
 }
 
 th {
-  background: #fcfcfc;
+	background: #fcfcfc;
 }
 
 form td,
 form th {
-  font-weight: normal;
-  text-align: center;
+	font-weight: normal;
+	text-align: center;
 }
 
 .category .title.error::before {
-  display: inline-block;
-  padding-left: 7px;
-  width: 16px;
-  content: url(../Swage/icons/error.svg);
+	display: inline-block;
+	padding-left: 7px;
+	width: 16px;
+	content: url(../Swage/icons/error.svg);
 }
 
 .form-group {
-  padding: 5px;
-  border: 1px solid transparent;
+	padding: 5px;
+	border: 1px solid transparent;
 }
 .form-group:hover {
-  background: #fcfcfc;
-  border: 1px solid #fcfcfc;
+	background: #fcfcfc;
+	border: 1px solid #fcfcfc;
 }
 .form-group.form-actions {
-  margin: 15px 0 25px;
-  padding: 5px 0;
-  background: #e3e3e3;
-  border-top: 3px solid #e3e3e3;
+	margin: 15px 0 25px;
+	padding: 5px 0;
+	background: #e3e3e3;
+	border-top: 3px solid #e3e3e3;
 }
 .form-group.form-actions .btn {
-  margin: 0 10px;
+	margin: 0 10px;
 }
 .form-group .group-name {
-  padding: 10px 0;
-  text-align: left;
+	padding: 10px 0;
+	text-align: left;
 }
 .form-group .group-controls {
-  min-height: 25px;
-  padding: 5px 0;
+	min-height: 25px;
+	padding: 5px 0;
 }
 .form-group .group-controls .control {
-  line-height: 2em;
+	line-height: 2em;
 }
 .form-group table {
-  margin: 10px 220px 0 0;
+	margin: 10px 220px 0 0;
 }
 
 .stick {
-  vertical-align: middle;
-  font-size: 0;
+	vertical-align: middle;
+	font-size: 0;
 }
 .btn {
-  margin: 0;
-  padding: 5px 10px;
-  background: #0062be;
-  display: inline-block;
-  color: #fcfcfc;
-  font-size: 0.9rem;
-  border: none;
-  min-height: 35px;
-  min-width: 15px;
-  vertical-align: middle;
-  cursor: pointer;
-  overflow: hidden;
+	margin: 0;
+	padding: 5px 10px;
+	background: #0062be;
+	display: inline-block;
+	color: #fcfcfc;
+	font-size: 0.9rem;
+	border: none;
+	min-height: 35px;
+	min-width: 15px;
+	vertical-align: middle;
+	cursor: pointer;
+	overflow: hidden;
 }
 .btn.active,
 .btn :active,
 .btn :hover {
-  background: #00488b;
-  text-decoration: none;
+	background: #00488b;
+	text-decoration: none;
 }
 
 .btn-important, .btn-attention {
-  font-weight: normal;
-  background: #fa8052;
-  color: #fcfcfc;
+	font-weight: normal;
+	background: #fa8052;
+	color: #fcfcfc;
 }
 .btn-important:hover,
 .btn-important :active, .btn-attention:hover,
 .btn-attention :active {
-  background: #f95c20 !important;
+	background: #f95c20 !important;
 }
 
 .nav-list .nav-header {
-  padding: 0 10px;
-  font-weight: bold;
-  background: #22303d;
-  color: #fcfcfc;
-  cursor: default;
+	padding: 0 10px;
+	font-weight: bold;
+	background: #22303d;
+	color: #fcfcfc;
+	cursor: default;
 }
 .nav-list .item:hover, .nav-list .item.active {
-  background: #00488b;
-  color: #fcfcfc;
+	background: #00488b;
+	color: #fcfcfc;
 }
 .nav-list .item:hover a, .nav-list .item.active a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .nav-list .item:hover.empty a,
 .nav-list .item:hover .error a, .nav-list .item.active.empty a,
 .nav-list .item.active .error a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .nav-list .item:hover.empty a, .nav-list .item.active.empty a {
-  background: #fa8052;
+	background: #fa8052;
 }
 .nav-list .item:hover.error a, .nav-list .item.active.error a {
-  background: #c46178;
+	background: #c46178;
 }
 .nav-list .item > a {
-  padding: 0 10px;
+	padding: 0 10px;
 }
 .nav-list .item.empty a {
-  color: #fa8052;
+	color: #fa8052;
 }
 .nav-list .item.error a {
-  color: #c46178;
+	color: #c46178;
 }
 .nav-list .disable {
-  text-align: center;
-  background: #fcfcfc;
-  color: #969696;
+	text-align: center;
+	background: #fcfcfc;
+	color: #969696;
 }
 .nav-list .nav-form {
-  padding: 3px;
-  text-align: center;
+	padding: 3px;
+	text-align: center;
 }
 .nav-list a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 .nav-head {
-  margin: 0;
-  text-align: left;
-  background: #22303d;
-  color: #fcfcfc;
+	margin: 0;
+	text-align: left;
+	background: #22303d;
+	color: #fcfcfc;
 }
 .nav-head a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .nav-head .item {
-  padding: 5px 10px;
-  font-size: 0.9rem;
-  line-height: 1.5rem;
+	padding: 5px 10px;
+	font-size: 0.9rem;
+	line-height: 1.5rem;
 }
 
 .horizontal-list {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 .horizontal-list .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 
 .dropdown-menu {
-  padding: 5px 0;
-  font-size: 0.8rem;
-  text-align: right;
-  border: none;
-  background-color: #00488b;
+	padding: 5px 0;
+	font-size: 0.8rem;
+	text-align: right;
+	border: none;
+	background-color: #00488b;
 }
 .dropdown-menu .dropdown-header {
-  cursor: default;
+	cursor: default;
 }
 .dropdown-menu > .item {
-  padding: 0;
-  margin-right: 10px;
+	padding: 0;
+	margin-right: 10px;
 }
 .dropdown-menu > .item > a {
-  min-width: initial;
-  white-space: nowrap;
+	min-width: initial;
+	white-space: nowrap;
 }
 .dropdown-menu > .item:hover {
-  background: #0062be;
-  color: #fcfcfc;
+	background: #0062be;
+	color: #fcfcfc;
 }
 .dropdown-menu > .item:hover > a {
-  text-decoration: none;
-  color: #fcfcfc;
+	text-decoration: none;
+	color: #fcfcfc;
 }
 .dropdown-menu > .item[aria-checked=true] > a::before {
-  font-weight: bold;
-  margin: 0 -14px 0 0;
+	font-weight: bold;
+	margin: 0 -14px 0 0;
 }
 .dropdown-menu .input select,
 .dropdown-menu .input input {
-  margin: 0 auto 5px;
-  padding: 2px 5px;
+	margin: 0 auto 5px;
+	padding: 2px 5px;
 }
 
 .dropdown-header {
-  padding: 0 5px 5px;
-  font-weight: bold;
-  text-align: right;
-  color: #fcfcfc;
+	padding: 0 5px 5px;
+	font-weight: bold;
+	text-align: right;
+	color: #fcfcfc;
 }
 
 .separator {
-  margin: 5px 0;
-  border-bottom: 1px solid #e3e3e3;
-  cursor: default;
+	margin: 5px 0;
+	border-bottom: 1px solid #e3e3e3;
+	cursor: default;
 }
 
 .alert {
-  margin: 5px auto;
-  padding: 10px 15px;
-  background: #fcfcfc;
-  color: #969696;
-  font-size: 0.9em;
-  border: none;
-  text-shadow: 0 0 1px #fcfcfc;
+	margin: 5px auto;
+	padding: 10px 15px;
+	background: #fcfcfc;
+	color: #969696;
+	font-size: 0.9em;
+	border: none;
+	text-shadow: 0 0 1px #fcfcfc;
 }
 .alert > a {
-  color: inherit;
-  text-decoration: underline;
+	color: inherit;
+	text-decoration: underline;
 }
 
 .alert-head {
-  font-size: 1.15em;
+	font-size: 1.15em;
 }
 
 .alert-warn,
 .alert-success,
 .alert-error {
-  border: none;
+	border: none;
 }
 
 .alert-warn {
-  background: #fcfcfc;
-  color: #fa8052;
+	background: #fcfcfc;
+	color: #fa8052;
 }
 
 .alert-success {
-  background: #fcfcfc;
-  color: #5eaabf;
+	background: #fcfcfc;
+	color: #5eaabf;
 }
 
 .alert-error {
-  background: #fcfcfc;
-  color: #b0425b;
+	background: #fcfcfc;
+	color: #b0425b;
 }
 
 .pagination {
-  background: #e3e3e3;
-  color: #181621;
-  font-size: 0.8em;
-  text-align: center;
+	background: #e3e3e3;
+	color: #181621;
+	font-size: 0.8em;
+	text-align: center;
 }
 .pagination .item.pager-current {
-  background: #22303d;
-  color: #e3e3e3;
-  font-size: 1.5em;
-  font-weight: bold;
+	background: #22303d;
+	color: #e3e3e3;
+	font-size: 1.5em;
+	font-weight: bold;
 }
 .pagination .item a {
-  display: block;
-  color: #181621;
-  font-style: italic;
-  line-height: 3em;
-  text-decoration: none;
+	display: block;
+	color: #181621;
+	font-style: italic;
+	line-height: 3em;
+	text-decoration: none;
 }
 .pagination .item a:hover {
-  background: #22303d;
-  color: #e3e3e3;
+	background: #22303d;
+	color: #e3e3e3;
 }
 .pagination .loading,
 .pagination a:hover.loading {
-  background: url(loader.gif) center center no-repeat #22303d;
-  font-size: 0;
+	background: url(loader.gif) center center no-repeat #22303d;
+	font-size: 0;
 }
 
 .content {
-  padding: 20px 10px;
+	padding: 20px 10px;
 }
 .content .pagination {
-  margin: 0;
-  padding: 0;
+	margin: 0;
+	padding: 0;
 }
 .content hr {
-  margin: 30px 10px;
-  background: #e3e3e3;
-  height: 1px;
-  border: 0;
-  box-shadow: 0 2px 5px #e3e3e3;
+	margin: 30px 10px;
+	background: #e3e3e3;
+	height: 1px;
+	border: 0;
+	box-shadow: 0 2px 5px #e3e3e3;
 }
 .content pre {
-  margin: 10px auto;
-  padding: 10px 20px;
-  overflow: auto;
-  background: #181621;
-  color: #fcfcfc;
-  font-size: 0.9rem;
+	margin: 10px auto;
+	padding: 10px 20px;
+	overflow: auto;
+	background: #181621;
+	color: #fcfcfc;
+	font-size: 0.9rem;
 }
 .content pre code {
-  background: transparent;
-  color: #fcfcfc;
-  border: none;
+	background: transparent;
+	color: #fcfcfc;
+	border: none;
 }
 .content code {
-  padding: 2px 5px;
-  background: #fcfcfc;
-  color: #b0425b;
-  border: 1px solid #fcfcfc;
+	padding: 2px 5px;
+	background: #fcfcfc;
+	color: #b0425b;
+	border: 1px solid #fcfcfc;
 }
 .content blockquote {
-  margin: 0;
-  padding: 5px 20px;
-  background: #fcfcfc;
-  display: block;
-  color: #969696;
-  border-top: 1px solid #e3e3e3;
-  border-bottom: 1px solid #e3e3e3;
+	margin: 0;
+	padding: 5px 20px;
+	background: #fcfcfc;
+	display: block;
+	color: #969696;
+	border-top: 1px solid #e3e3e3;
+	border-bottom: 1px solid #e3e3e3;
 }
 .content blockquote p {
-  margin: 0;
+	margin: 0;
 }
 .content > h1.title > a {
-  color: #181621;
+	color: #181621;
 }
 
 .box {
-  border: 1px solid #e3e3e3;
+	border: 1px solid #e3e3e3;
 }
 .box .box-title {
-  margin: 0;
-  padding: 5px 10px;
-  background: #e3e3e3;
-  color: #969696;
-  border-bottom: 1px solid #e3e3e3;
+	margin: 0;
+	padding: 5px 10px;
+	background: #e3e3e3;
+	color: #969696;
+	border-bottom: 1px solid #e3e3e3;
 }
 .box .box-content {
-  max-height: 260px;
+	max-height: 260px;
 }
 .box .box-content .item {
-  padding: 0 10px;
-  font-size: 0.9rem;
-  line-height: 2.5em;
+	padding: 0 10px;
+	font-size: 0.9rem;
+	line-height: 2.5em;
 }
 .box .box-content .item .configure {
-  visibility: hidden;
+	visibility: hidden;
 }
 .box .box-content .item .configure .icon {
-  vertical-align: middle;
-  background-color: #e3e3e3;
+	vertical-align: middle;
+	background-color: #e3e3e3;
 }
 .box .box-content .item:hover .configure {
-  visibility: visible;
+	visibility: visible;
 }
 .box.category .box-title .title {
-  font-weight: normal;
-  text-decoration: none;
-  text-align: right;
+	font-weight: normal;
+	text-decoration: none;
+	text-align: right;
 }
 .box.category:not([data-unread="0"]) .box-title {
-  background: #0062be;
+	background: #0062be;
 }
 .box.category:not([data-unread="0"]) .box-title:active {
-  background: #00488b;
+	background: #00488b;
 }
 .box.category:not([data-unread="0"]) .box-title .title {
-  font-weight: bold;
-  color: #fcfcfc;
+	font-weight: bold;
+	color: #fcfcfc;
 }
 .box.category .title:not([data-unread="0"])::after {
-  background: none;
-  border: 0;
-  box-shadow: none;
-  position: absolute;
-  top: 5px;
-  left: 10px;
-  font-weight: bold;
-  text-shadow: none;
+	background: none;
+	border: 0;
+	box-shadow: none;
+	position: absolute;
+	top: 5px;
+	left: 10px;
+	font-weight: bold;
+	text-shadow: none;
 }
 .box.category .item.feed {
-  padding: 2px 10px;
-  font-size: 0.8rem;
+	padding: 2px 10px;
+	font-size: 0.8rem;
 }
 
 .tree {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 
 .tree-folder-title {
-  padding: 0 10px;
-  background: #22303d;
-  height: 35px;
-  font-size: 1rem;
-  position: relative;
-  line-height: 2.3rem;
+	padding: 0 10px;
+	background: #22303d;
+	height: 35px;
+	font-size: 1rem;
+	position: relative;
+	line-height: 2.3rem;
 }
 .tree-folder-title .title {
-  background: inherit;
-  color: #fcfcfc;
+	background: inherit;
+	color: #fcfcfc;
 }
 .tree-folder-title .title:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 .tree-folder-items {
-  background: #22303d;
+	background: #22303d;
 }
 .tree-folder-items > .item {
-  padding: 0 10px;
-  line-height: 2.5rem;
-  font-size: 0.8rem;
+	padding: 0 10px;
+	line-height: 2.5rem;
+	font-size: 0.8rem;
 }
 .tree-folder-items > .item.active {
-  background: #00488b;
+	background: #00488b;
 }
 .tree-folder-items > .item > a {
-  text-decoration: none;
-  color: #fcfcfc;
+	text-decoration: none;
+	color: #fcfcfc;
 }
 
 @supports (scrollbar-width: thin) {
-  #sidebar {
-    scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0);
-  }
+	#sidebar {
+		scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0);
+	}
 
-  #sidebar:hover {
-    scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0);
-  }
+	#sidebar:hover {
+		scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0);
+	}
 }
 @supports not (scrollbar-width: thin) {
-  #sidebar::-webkit-scrollbar-thumb {
-    background: rgba(255, 255, 255, 0.1);
-  }
+	#sidebar::-webkit-scrollbar-thumb {
+		background: rgba(255, 255, 255, 0.1);
+	}
 
-  #sidebar:hover::-webkit-scrollbar-thumb {
-    background: rgba(255, 255, 255, 0.3);
-  }
+	#sidebar:hover::-webkit-scrollbar-thumb {
+		background: rgba(255, 255, 255, 0.3);
+	}
 }
 .header > .item {
-  vertical-align: middle;
+	vertical-align: middle;
 }
 .header > .item.title {
-  position: absolute;
+	position: absolute;
 }
 .header > .item.title h1 {
-  margin: 0;
-  display: block;
+	margin: 0;
+	display: block;
 }
 .header > .item.title h1 a {
-  text-decoration: none;
-  color: #fcfcfc;
+	text-decoration: none;
+	color: #fcfcfc;
 }
 .header > .item.title .logo {
-  display: inline-block;
-  height: 26px;
-  vertical-align: top;
-  position: relative;
-  top: 5px;
+	display: inline-block;
+	height: 26px;
+	vertical-align: top;
+	position: relative;
+	top: 5px;
 }
 .header > .item.search input {
-  width: 230px;
+	width: 230px;
 }
 .header .item.search input:focus {
-  width: 350px;
+	width: 350px;
 }
 .header .item.search {
-  display: none;
+	display: none;
 }
 .header .item.configure {
-  position: fixed;
-  left: 0px;
-  z-index: 1000;
-  width: 35px;
+	position: fixed;
+	left: 0px;
+	z-index: 1000;
+	width: 35px;
 }
 .header h1 {
-  text-align: center;
-  font-size: 1.5em;
+	text-align: center;
+	font-size: 1.5em;
 }
 
 .aside {
-  padding: 35px 0;
-  background: #22303d;
+	padding: 35px 0;
+	background: #22303d;
 }
 .aside.aside_feed .tree {
-  margin: 0 0 50px;
+	margin: 0 0 50px;
 }
 .aside.aside_feed .nav-form input,
 .aside.aside_feed .nav-form select {
-  width: 140px;
+	width: 140px;
 }
 .aside.aside_feed .nav-form .dropdown .dropdown-menu {
-  left: -20px;
+	left: -20px;
 }
 .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
-  left: 33px;
+	left: 33px;
 }
 
 .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after {
-  margin: 6px 0;
-  padding: 0 10px;
-  background: inherit;
-  font-size: 0.9rem;
-  position: absolute;
-  left: 0;
-  line-height: 1.5rem;
+	margin: 6px 0;
+	padding: 0 10px;
+	background: inherit;
+	font-size: 0.9rem;
+	position: absolute;
+	left: 0;
+	line-height: 1.5rem;
 }
 .aside_feed .tree-folder-items .dropdown-menu::after {
-  right: 2px;
+	right: 2px;
 }
 
 .post {
-  padding: 10px 50px;
-  font-size: 0.9em;
+	padding: 10px 50px;
+	font-size: 0.9em;
 }
 .post input {
-  background: #e3e3e3;
+	background: #e3e3e3;
 }
 .post input.long {
-  height: 33px;
-  margin-top: 0px;
+	height: 33px;
+	margin-top: 0px;
 }
 .post form {
-  margin: 10px 0;
+	margin: 10px 0;
 }
 .post.content {
-  max-width: 550px;
+	max-width: 550px;
 }
 
 .prompt {
-  text-align: center;
+	text-align: center;
 }
 .prompt label {
-  text-align: right;
+	text-align: right;
 }
 .prompt form {
-  margin: 10px auto 20px auto;
-  width: 200px;
+	margin: 10px auto 20px auto;
+	width: 200px;
 }
 .prompt input {
-  margin: 5px auto;
-  width: 100%;
+	margin: 5px auto;
+	width: 100%;
 }
 .prompt p {
-  margin: 20px 0;
+	margin: 20px 0;
 }
 
 #new-article {
-  background: #0062be;
-  font-size: 1em;
-  text-align: center;
-  position: fixed;
-  bottom: 48px;
-  z-index: 900;
-  right: 0;
-  line-height: 1.5em;
+	background: #0062be;
+	font-size: 1em;
+	text-align: center;
+	position: fixed;
+	bottom: 48px;
+	z-index: 900;
+	right: 0;
+	line-height: 1.5em;
 }
 #new-article:hover {
-  background: #00488b;
+	background: #00488b;
 }
 #new-article > a {
-  line-height: 1.5em;
-  font-weight: bold;
-  color: #fcfcfc;
+	line-height: 1.5em;
+	font-weight: bold;
+	color: #fcfcfc;
 }
 #new-article > a:hover {
-  text-decoration: none;
+	text-decoration: none;
 }
 
 .day {
-  padding: 0 10px;
-  font-weight: bold;
-  line-height: 3em;
-  text-align: center;
+	padding: 0 10px;
+	font-weight: bold;
+	line-height: 3em;
+	text-align: center;
 }
 .day .name {
-  display: none;
+	display: none;
 }
 
 .nav a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 
 .nav_menu {
-  width: 100%;
-  font-size: 0;
-  background-color: #0062be;
-  position: fixed;
-  z-index: 900;
+	width: 100%;
+	font-size: 0;
+	background-color: #0062be;
+	position: fixed;
+	z-index: 900;
 }
 .nav_menu .item.search {
-  display: inline-block;
-  position: fixed;
-  left: 40px;
+	display: inline-block;
+	position: fixed;
+	left: 40px;
 }
 
 .flux {
-  padding-left: 10px;
-  background: #fcfcfc;
+	padding-left: 10px;
+	background: #fcfcfc;
 }
 .flux::after {
-  margin: 0 auto;
-  width: 90%;
-  border-top: 1px solid #e3e3e3;
+	margin: 0 auto;
+	width: 90%;
+	border-top: 1px solid #e3e3e3;
 }
 .flux:hover,
 .flux .current {
-  background: #fff;
+	background: #fff;
 }
 .flux:hover:not(.current):hover .item.title,
 .flux .current:not(.current):hover .item.title {
-  background: #fff;
+	background: #fff;
 }
 .flux.favorite:not(.current) {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.favorite:not(.current):hover .item.title {
-  background: #fff6da;
+	background: #fff6da;
 }
 .flux.not_read:not(.current) {
-  background: #fff3ed;
+	background: #fff3ed;
 }
 .flux.not_read:not(.current):hover .item.title {
-  background: #fff3ed;
+	background: #fff3ed;
 }
 .flux .item.date {
-  color: #969696;
-  font-size: 0.7rem;
+	color: #969696;
+	font-size: 0.7rem;
 }
 .flux .bottom {
-  font-size: 0.8rem;
-  text-align: center;
+	font-size: 0.8rem;
+	text-align: center;
 }
 .flux .website .favicon {
-  padding: 5px;
+	padding: 5px;
 }
 .flux label {
-  color: #fcfcfc;
-  cursor: pointer;
+	color: #fcfcfc;
+	cursor: pointer;
 }
 
 .flux_header {
-  font-size: 0.8rem;
-  cursor: pointer;
+	font-size: 0.8rem;
+	cursor: pointer;
 }
 .flux_header .title {
-  font-size: 0.9rem;
+	font-size: 0.9rem;
 }
 
 .notification {
-  padding: 10px 0;
-  background: #e3e3e3;
-  height: auto;
-  color: #969696;
-  font-size: 1em;
-  border: none;
-  text-align: center;
-  font-weight: bold;
-  z-index: 10;
-  vertical-align: middle;
-  position: fixed;
-  bottom: 48px;
-  right: 0;
-  top: auto;
+	padding: 10px 0;
+	background: #e3e3e3;
+	height: auto;
+	color: #969696;
+	font-size: 1em;
+	border: none;
+	text-align: center;
+	font-weight: bold;
+	z-index: 10;
+	vertical-align: middle;
+	position: fixed;
+	bottom: 48px;
+	right: 0;
+	top: auto;
 }
 .notification.good,
 .notification .bad {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .notification.good {
-  background: #5eaabf;
+	background: #5eaabf;
 }
 .notification.good a.close:hover {
-  background: #5eaabf;
+	background: #5eaabf;
 }
 .notification.bad {
-  background: #c46178;
+	background: #c46178;
 }
 .notification.bad a.close:hover {
-  background: #c46178;
+	background: #c46178;
 }
 .notification#actualizeProgress {
-  line-height: 2em;
+	line-height: 2em;
 }
 .notification a.close {
-  display: none;
+	display: none;
 }
 
 #bigMarkAsRead {
-  text-align: center;
-  text-decoration: none;
-  background: #e3e3e3;
+	text-align: center;
+	text-decoration: none;
+	background: #e3e3e3;
 }
 #bigMarkAsRead:hover {
-  background: #22303d;
-  color: #fcfcfc;
+	background: #22303d;
+	color: #fcfcfc;
 }
 
 #nav_entries {
-  margin: 0;
-  text-align: center;
-  line-height: 3em;
-  table-layout: fixed;
-  background: #22303d;
+	margin: 0;
+	text-align: center;
+	line-height: 3em;
+	table-layout: fixed;
+	background: #22303d;
 }
 
 .stat {
-  margin: 10px 0 20px;
+	margin: 10px 0 20px;
 }
 .stat th,
 .stat td,
 .stat tr {
-  border: none;
+	border: none;
 }
 .stat > table td,
 .stat > table th {
-  border-bottom: 1px solid #e3e3e3;
+	border-bottom: 1px solid #e3e3e3;
 }
 .stat > .horizontal-list {
-  margin: 0 0 5px;
+	margin: 0 0 5px;
 }
 .stat > .horizontal-list .item {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
 }
 .stat > .horizontal-list .item:first-child {
-  width: 270px;
+	width: 270px;
 }
 
 .formLogin #global {
-  height: 0;
+	height: 0;
 }
 .formLogin .header {
-  background: #22303d;
-  height: 55px;
+	background: #22303d;
+	height: 55px;
 }
 .formLogin .header > .item.configure {
-  width: 200px;
-  position: unset;
+	width: 200px;
+	position: unset;
 }
 .formLogin .header > .item.title h1 {
-  display: unset;
+	display: unset;
 }
 .formLogin a.signin {
-  color: #fcfcfc;
-  padding-right: 5px;
+	color: #fcfcfc;
+	padding-right: 5px;
 }
 .formLogin input {
-  border-top: 1px #e3e3e3;
-  border-left: 1px #e3e3e3;
-  border-bottom: 1px #e3e3e3;
-  border-right: 5px solid;
+	border-top: 1px #e3e3e3;
+	border-left: 1px #e3e3e3;
+	border-bottom: 1px #e3e3e3;
+	border-right: 5px solid;
 }
 
 .loglist {
-  overflow: hidden;
-  border: 1px solid #969696;
+	overflow: hidden;
+	border: 1px solid #969696;
 }
 
 .log {
-  padding: 5px 2%;
-  background: #fcfcfc;
-  font-size: 0.8rem;
-  overflow: auto;
+	padding: 5px 2%;
+	background: #fcfcfc;
+	font-size: 0.8rem;
+	overflow: auto;
 }
 .log > .date {
-  margin: 0 0 0 10px;
-  padding: 5px 10px;
+	margin: 0 0 0 10px;
+	padding: 5px 10px;
 }
 .log.error > .date {
-  background: #c46178;
-  color: #fcfcfc;
+	background: #c46178;
+	color: #fcfcfc;
 }
 .log.warning > .date {
-  background: #fa8052;
-  color: #fcfcfc;
+	background: #fa8052;
+	color: #fcfcfc;
 }
 .log.notice > .date {
-  background: #e3e3e3;
-  color: #fcfcfc;
+	background: #e3e3e3;
+	color: #fcfcfc;
 }
 .log.debug > .date {
-  background: #181621;
-  color: #fcfcfc;
+	background: #181621;
+	color: #fcfcfc;
 }
 
 @media (max-width: 840px) {
-  .formLogin .header {
-    display: none;
-  }
+	.formLogin .header {
+		display: none;
+	}
 
-  .form-group .group-name {
-    padding-bottom: 0;
-    text-align: right;
-  }
+	.form-group .group-name {
+		padding-bottom: 0;
+		text-align: right;
+	}
 
-  .box .box-title .configure,
+	.box .box-title .configure,
 .box .box-content .item .configure {
-    visibility: visible;
-  }
-
-  .dropdown-header, .dropdown-menu > .item {
-    padding: 12px;
-  }
-
-  #new-article {
-    width: 100%;
-    position: sticky;
-    top: 0;
-  }
-
-  .header {
-    display: table;
-  }
-  .header .item.title .logo {
-    display: none;
-  }
-
-  .header > .item.title h1 a {
-    display: block;
-    position: absolute;
-    top: -35px;
-    right: 10px;
-    font-size: 0.6em;
-  }
-
-  .header .item.configure,
+		visibility: visible;
+	}
+
+	.dropdown-header, .dropdown-menu > .item {
+		padding: 12px;
+	}
+
+	#new-article {
+		width: 100%;
+		position: sticky;
+		top: 0;
+	}
+
+	.header {
+		display: table;
+	}
+	.header .item.title .logo {
+		display: none;
+	}
+
+	.header > .item.title h1 a {
+		display: block;
+		position: absolute;
+		top: -35px;
+		right: 10px;
+		font-size: 0.6em;
+	}
+
+	.header .item.configure,
 button.read_all.btn {
-    display: none;
-  }
+		display: none;
+	}
 
-  .flux .item.manage,
+	.flux .item.manage,
 .flux_header .item.website {
-    width: 35px;
-    text-align: center;
-  }
-
-  .aside {
-    width: 0;
-    transition: width 200ms linear;
-  }
-  .aside .toggle_aside {
-    background: #22303d;
-    display: block;
-    height: 50px;
-    line-height: 50px;
-    text-align: left;
-    padding-left: 10px;
-  }
-  .aside.aside_feed {
-    padding: 0;
-  }
-  .aside.aside_feed .configure-feeds {
-    display: flex;
-    margin-top: 0;
-    margin-right: auto;
-    margin-left: auto;
-  }
-  .aside:target {
-    width: 78%;
-    z-index: 1000;
-  }
-
-  .nav_menu {
-    position: initial;
-    height: 71px;
-  }
-  .nav_menu .btn {
-    margin: 5px 10px;
-  }
-  .nav_menu .stick {
-    margin: 0 10px;
-  }
-  .nav_menu .stick .btn {
-    margin: 5px 0;
-  }
-  .nav_menu .search {
-    position: absolute !important;
-    top: 35px;
-    right: 55px;
-  }
-  .nav_menu .search input {
-    width: 85%;
-  }
-
-  .pagination {
-    margin: 0 0 3.5em;
-  }
-
-  #panel .close {
-    background: #22303d;
-    display: block;
-    height: 50px;
-    line-height: 50px;
-    text-align: left;
-    padding-left: 10px;
-  }
-
-  .day .name {
-    font-size: 1.1rem;
-  }
-
-  .notification {
-    width: 100%;
-  }
-  .notification a.close {
-    background: transparent;
-    display: block;
-    right: 0;
-  }
-  .notification a.close:hover {
-    opacity: 0.5;
-  }
-  .notification a.close .icon {
-    display: none;
-  }
-
-  #nav_entries {
-    width: 100% !important;
-  }
-
-  .post {
-    padding-right: 15px;
-    padding-left: 15px;
-  }
-
-  div#stream {
-    margin-top: 0px;
-  }
-
-  a.btn.toggle_aside {
-    position: absolute;
-    top: 29px;
-  }
-
-  form#mark-read-menu,
+		width: 35px;
+		text-align: center;
+	}
+
+	.aside {
+		width: 0;
+		transition: width 200ms linear;
+	}
+	.aside .toggle_aside {
+		background: #22303d;
+		display: block;
+		height: 50px;
+		line-height: 50px;
+		text-align: left;
+		padding-left: 10px;
+	}
+	.aside.aside_feed {
+		padding: 0;
+	}
+	.aside.aside_feed .configure-feeds {
+		display: flex;
+		margin-top: 0;
+		margin-right: auto;
+		margin-left: auto;
+	}
+	.aside:target {
+		width: 78%;
+		z-index: 1000;
+	}
+
+	.nav_menu {
+		position: initial;
+		height: 71px;
+	}
+	.nav_menu .btn {
+		margin: 5px 10px;
+	}
+	.nav_menu .stick {
+		margin: 0 10px;
+	}
+	.nav_menu .stick .btn {
+		margin: 5px 0;
+	}
+	.nav_menu .search {
+		position: absolute !important;
+		top: 35px;
+		right: 55px;
+	}
+	.nav_menu .search input {
+		width: 85%;
+	}
+
+	.pagination {
+		margin: 0 0 3.5em;
+	}
+
+	#panel .close {
+		background: #22303d;
+		display: block;
+		height: 50px;
+		line-height: 50px;
+		text-align: left;
+		padding-left: 10px;
+	}
+
+	.day .name {
+		font-size: 1.1rem;
+	}
+
+	.notification {
+		width: 100%;
+	}
+	.notification a.close {
+		background: transparent;
+		display: block;
+		right: 0;
+	}
+	.notification a.close:hover {
+		opacity: 0.5;
+	}
+	.notification a.close .icon {
+		display: none;
+	}
+
+	#nav_entries {
+		width: 100% !important;
+	}
+
+	.post {
+		padding-right: 15px;
+		padding-left: 15px;
+	}
+
+	div#stream {
+		margin-top: 0px;
+	}
+
+	a.btn.toggle_aside {
+		position: absolute;
+		top: 29px;
+	}
+
+	form#mark-read-menu,
 a#actualize,
 a#toggle-order,
 div#nav_menu_actions,
 div#nav_menu_views {
-    position: absolute;
-  }
+		position: absolute;
+	}
 
-  form#mark-read-menu {
-    left: 46px;
-    top: 30px;
-    z-index: 1100;
-  }
+	form#mark-read-menu {
+		left: 46px;
+		top: 30px;
+		z-index: 1100;
+	}
 
-  a#actualize,
+	a#actualize,
 a#toggle-order {
-    left: 0px;
-  }
+		left: 0px;
+	}
 
-  a#actualize {
-    top: 29px;
-  }
+	a#actualize {
+		top: 29px;
+	}
 
-  a#toggle-order,
+	a#toggle-order,
 div#nav_menu_actions,
 div#nav_menu_views {
-    top: 65px;
-  }
+		top: 65px;
+	}
 
-  div#nav_menu_actions {
-    right: 0px;
-  }
+	div#nav_menu_actions {
+		right: 0px;
+	}
 
-  div#nav_menu_views {
-    left: 50px;
-  }
+	div#nav_menu_views {
+		left: 50px;
+	}
 }
 @media (max-width: 410px) {
-  .nav_menu .stick {
-    margin: 0;
-  }
+	.nav_menu .stick {
+		margin: 0;
+	}
 }
 @media (max-width: 374px) {
-  #nav_menu_views {
-    display: none;
-  }
+	#nav_menu_views {
+		display: none;
+	}
 }
 button.as-link {
-  color: #fcfcfc;
-  outline: none;
+	color: #fcfcfc;
+	outline: none;
 }
 
 .dropdown-target:target ~ .btn.dropdown-toggle {
-  background: #00488b;
+	background: #00488b;
 }
 
 .tree-folder.active .tree-folder-title {
-  background: #00488b;
-  font-weight: bold;
+	background: #00488b;
+	font-weight: bold;
 }
 
 .feed.item.empty {
-  color: #fa8052;
+	color: #fa8052;
 }
 .feed.item.empty.active {
-  background: #fa8052;
-  color: #fcfcfc;
+	background: #fa8052;
+	color: #fcfcfc;
 }
 .feed.item.empty.active > a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .feed.item.empty > a {
-  color: #fa8052;
+	color: #fa8052;
 }
 .feed.item.error {
-  color: #c46178;
+	color: #c46178;
 }
 .feed.item.error.active {
-  background: #c46178;
-  color: #fcfcfc;
+	background: #c46178;
+	color: #fcfcfc;
 }
 .feed.item.error.active > a {
-  color: #fcfcfc;
+	color: #fcfcfc;
 }
 .feed.item.error > a {
-  color: #c46178;
+	color: #c46178;
 }
 
 #dropdown-query ~ .dropdown-menu .dropdown-header .icon {
-  vertical-align: middle;
-  float: left;
+	vertical-align: middle;
+	float: left;
 }
 
 #stream.reader .flux {
-  padding: 0 0 50px;
-  background: #fcfcfc;
-  color: #22303d;
-  border: none;
+	padding: 0 0 50px;
+	background: #fcfcfc;
+	color: #22303d;
+	border: none;
 }
 #stream.reader .flux .author {
-  margin: 0 0 10px;
-  color: #969696;
-  font-size: 90%;
+	margin: 0 0 10px;
+	color: #969696;
+	font-size: 90%;
 }
 
 #nav_menu_actions ul.dropdown-menu, #nav_menu_read_all ul.dropdown-menu {
-  right: 0px;
+	right: 0px;
 }
 
 #slider label {
-  min-height: initial;
+	min-height: initial;
 }
 #slider .form-group:hover {
-  background: inital;
+	background: inital;
 }

+ 26 - 11
phpcs.xml

@@ -1,15 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ruleset name="FreshRSS Ruleset">
 	<description>Created with the PHP Coding Standard Generator. https://edorian.github.com/php-coding-standard-generator/</description>
-	<!-- to circumvent https://github.com/squizlabs/PHP_CodeSniffer/pull/1404 -->
-	<arg name="tab-width" value="40"/>
+	<arg name="extensions" value="php,phtml,css,js"/>
+	<arg name="tab-width" value="4"/>
 	<exclude-pattern>./lib/SimplePie/</exclude-pattern>
 	<exclude-pattern>./lib/PHPMailer/</exclude-pattern>
 	<exclude-pattern>./lib/http-conditional.php</exclude-pattern>
 	<exclude-pattern>./lib/lib_phpQuery.php</exclude-pattern>
+	<exclude-pattern>./node_modules/</exclude-pattern>
 	<exclude-pattern>./data/config.php</exclude-pattern>
 	<exclude-pattern>./data/users/*/config.php</exclude-pattern>
 	<exclude-pattern>./extensions/</exclude-pattern>
+	<exclude-pattern>*.min.js$</exclude-pattern>
 	<!-- Duplicate class names are not allowed -->
 	<rule ref="Generic.Classes.DuplicateClassName"/>
 	<!-- Statements must not be empty -->
@@ -20,19 +22,15 @@
 	<rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
 	<!-- Do not override methods to call their parent -->
 	<rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
-	<!-- One line should not have more than 80 characters -->
-	<!-- One line must never exceed 120 characters -->
+	<!-- Maximum line length -->
 	<rule ref="Generic.Files.LineLength">
 		<!-- For language strings maximum line lengths make little sense. -->
 		<exclude-pattern>./app/i18n/</exclude-pattern>
 		<!-- Don't enforce line length on the HTML; the point is to improve legibility, not reduce it -->
-		<exclude-pattern>./app/install.php</exclude-pattern>
-		<!-- @todo remove test exclusion -->
-		<exclude-pattern>./tests/app/</exclude-pattern>
+		<exclude-pattern>*.phtml$</exclude-pattern>
 		<properties>
-			<property name="lineLimit" value="100"/>
-			<!-- needs to be large to accomodate extra large tab width to circumvent https://github.com/squizlabs/PHP_CodeSniffer/pull/1404 -->
-			<property name="absoluteLineLimit" value="500"/>
+			<property name="lineLimit" value="165"/>
+			<property name="absoluteLineLimit" value="190"/>
 		</properties>
 	</rule>
 	<!-- When calling a function: -->
@@ -92,9 +90,26 @@
 	<!-- Do not add spaces when casting -->
 	<rule ref="Squiz.WhiteSpace.CastSpacing"/>
 	<!-- Operators must have a space around them -->
-	<rule ref="Squiz.WhiteSpace.OperatorSpacing"/>
+	<rule ref="Squiz.WhiteSpace.OperatorSpacing">
+		<properties>
+			<property name="ignoreNewlines" value="true" />
+		</properties>
+	</rule>
 	<!-- Do not add a whitespace before a semicolon -->
 	<rule ref="Squiz.WhiteSpace.SemicolonSpacing"/>
 	<!-- Do not add whitespace at start or end of a file or end of a line -->
 	<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/>
+	<!-- Expected space after closing parenthesis -->
+	<rule ref="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseParenthesis">
+		<exclude-pattern>.phtml$</exclude-pattern>
+	</rule>
+	<!-- Newline required after opening brace -->
+	<rule ref="Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace">
+		<exclude-pattern>.phtml$</exclude-pattern>
+		<exclude-pattern>.js$</exclude-pattern>
+	</rule>
+	<!-- No PHP code was found in this file -->
+	<rule ref="Internal.NoCodeFound">
+		<exclude-pattern>.phtml$</exclude-pattern>
+	</rule>
 </ruleset>

+ 2 - 1
tests/app/Models/CategoryTest.php

@@ -25,7 +25,8 @@ class CategoryTest extends PHPUnit\Framework\TestCase {
 			array('  this string needs trimming on left', 'this string needs trimming on left'),
 			array('this string needs trimming on right  ', 'this string needs trimming on right'),
 			array('  this string needs trimming on both ends  ', 'this string needs trimming on both ends'),
-			array(str_repeat('This string needs to be shortened because its length is way too long. ', 4), str_repeat('This string needs to be shortened because its length is way too long. ', 3) . 'This string needs to be shortened because its'),
+			array(str_repeat('This string needs to be shortened because its length is way too long. ', 4),
+				str_repeat('This string needs to be shortened because its length is way too long. ', 3) . 'This string needs to be shortened because its'),
 		);
 	}
 

+ 2 - 1
tests/app/Models/SearchTest.php

@@ -228,7 +228,8 @@ class SearchTest extends PHPUnit\Framework\TestCase {
 	 * @param array $tags_value
 	 * @param string|null $search_value
 	 */
-	public function test__construct_whenInputContainsMultipleKeywords_setsValues($input, $author_value, $min_date_value, $max_date_value, $intitle_value, $inurl_value, $min_pubdate_value, $max_pubdate_value, $tags_value, $search_value) {
+	public function test__construct_whenInputContainsMultipleKeywords_setsValues($input, $author_value, $min_date_value,
+			$max_date_value, $intitle_value, $inurl_value, $min_pubdate_value, $max_pubdate_value, $tags_value, $search_value) {
 		$search = new FreshRSS_Search($input);
 		$this->assertEquals($author_value, $search->getAuthor());
 		$this->assertEquals($min_date_value, $search->getMinDate());