diff --git a/.all-contributorsrc b/.all-contributorsrc
new file mode 100644
index 00000000..279eee3f
--- /dev/null
+++ b/.all-contributorsrc
@@ -0,0 +1,396 @@
+{
+  "projectName": "authelia",
+  "projectOwner": "authelia",
+  "repoType": "github",
+  "repoHost": "https://github.com",
+  "skipCi": "false",
+  "files": [
+    "README.md"
+  ],
+  "imageSize": 100,
+  "commit": false,
+  "commitConvention": "none",
+  "contributors": [
+    {
+      "login": "clems4ever",
+      "name": "ClΓ©ment Michaud",
+      "avatar_url": "https://avatars.githubusercontent.com/u/3193257?v=4",
+      "profile": "https://github.com/clems4ever",
+      "contributions": [
+        "code",
+        "doc",
+        "ideas",
+        "maintenance",
+        "question",
+        "review",
+        "test"
+      ]
+    },
+    {
+      "login": "nightah",
+      "name": "Amir Zarrinkafsh",
+      "avatar_url": "https://avatars.githubusercontent.com/u/3339418?v=4",
+      "profile": "https://github.com/nightah",
+      "contributions": [
+        "code",
+        "doc",
+        "ideas",
+        "maintenance",
+        "question",
+        "review",
+        "test"
+      ]
+    },
+    {
+      "login": "james-d-elliott",
+      "name": "James Elliott",
+      "avatar_url": "https://avatars.githubusercontent.com/u/3903683?v=4",
+      "profile": "https://github.com/james-d-elliott",
+      "contributions": [
+        "code",
+        "doc",
+        "ideas",
+        "maintenance",
+        "question",
+        "review",
+        "test"
+      ]
+    },
+    {
+      "login": "n4kre",
+      "name": "Antoine Favre",
+      "avatar_url": "https://avatars.githubusercontent.com/u/14371127?v=4",
+      "profile": "https://github.com/n4kre",
+      "contributions": [
+        "bug",
+        "ideas"
+      ]
+    },
+    {
+      "login": "BankaiNoJutsu",
+      "name": "BankaiNoJutsu",
+      "avatar_url": "https://avatars.githubusercontent.com/u/2241519?v=4",
+      "profile": "https://github.com/BankaiNoJutsu",
+      "contributions": [
+        "code",
+        "design"
+      ]
+    },
+    {
+      "login": "p-rintz",
+      "name": "Philipp Rintz",
+      "avatar_url": "https://avatars.githubusercontent.com/u/13933258?v=4",
+      "profile": "https://github.com/p-rintz",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "naggie",
+      "name": "Callan Bryant",
+      "avatar_url": "https://avatars.githubusercontent.com/u/208440?v=4",
+      "profile": "http://callanbryant.co.uk/",
+      "contributions": [
+        "code",
+        "doc"
+      ]
+    },
+    {
+      "login": "ViViDboarder",
+      "name": "Ian",
+      "avatar_url": "https://avatars.githubusercontent.com/u/137025?v=4",
+      "profile": "https://github.com/ViViDboarder",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "FrozenDragoon",
+      "name": "FrozenDragoon",
+      "avatar_url": "https://avatars.githubusercontent.com/u/5301673?v=4",
+      "profile": "https://github.com/FrozenDragoon",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "vdot0x23",
+      "name": "vdot0x23",
+      "avatar_url": "https://avatars.githubusercontent.com/u/40716069?v=4",
+      "profile": "https://github.com/vdot0x23",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "alexw1982",
+      "name": "alexw1982",
+      "avatar_url": "https://avatars.githubusercontent.com/u/11628284?v=4",
+      "profile": "https://github.com/alexw1982",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "Sohalt",
+      "name": "Sohalt",
+      "avatar_url": "https://avatars.githubusercontent.com/u/2157287?v=4",
+      "profile": "https://github.com/Sohalt",
+      "contributions": [
+        "code",
+        "doc"
+      ]
+    },
+    {
+      "login": "Tedyst",
+      "name": "Stoica Tedy",
+      "avatar_url": "https://avatars.githubusercontent.com/u/13637623?v=4",
+      "profile": "https://github.com/Tedyst",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "Chemsmith",
+      "name": "Dylan Smith",
+      "avatar_url": "https://avatars.githubusercontent.com/u/9061024?v=4",
+      "profile": "https://github.com/Chemsmith",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "LukasK13",
+      "name": "Lukas Klass",
+      "avatar_url": "https://avatars.githubusercontent.com/u/24586740?v=4",
+      "profile": "https://github.com/LukasK13",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "lippl",
+      "name": "Philipp Staiger",
+      "avatar_url": "https://avatars.githubusercontent.com/u/9325003?v=4",
+      "profile": "https://staiger.it/",
+      "contributions": [
+        "code",
+        "doc",
+        "test"
+      ]
+    },
+    {
+      "login": "yaleman",
+      "name": "James Hodgkinson",
+      "avatar_url": "https://avatars.githubusercontent.com/u/168188?v=4",
+      "profile": "https://yaleman.org/",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "chris13524",
+      "name": "Chris Smith",
+      "avatar_url": "https://avatars.githubusercontent.com/u/1979423?v=4",
+      "profile": "https://chris.smith.xyz/",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "mqmq0",
+      "name": "MihΓ‘ly",
+      "avatar_url": "https://avatars.githubusercontent.com/u/13240971?v=4",
+      "profile": "https://github.com/mqmq0",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "SilverBut",
+      "name": "Silver Bullet",
+      "avatar_url": "https://avatars.githubusercontent.com/u/6560655?v=4",
+      "profile": "https://iret.xyz/",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "skenmy",
+      "name": "Paul Williams",
+      "avatar_url": "https://avatars.githubusercontent.com/u/1454505?v=4",
+      "profile": "https://github.com/skenmy",
+      "contributions": [
+        "code",
+        "test"
+      ]
+    },
+    {
+      "login": "ntimo",
+      "name": "Timo",
+      "avatar_url": "https://avatars.githubusercontent.com/u/6145026?v=4",
+      "profile": "https://github.com/ntimo",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "andrewkliskey",
+      "name": "Andrew Kliskey",
+      "avatar_url": "https://avatars.githubusercontent.com/u/44645768?v=4",
+      "profile": "https://github.com/andrewkliskey",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "Kristof-Mattei",
+      "name": "Kristof Mattei",
+      "avatar_url": "https://avatars.githubusercontent.com/u/864376?v=4",
+      "profile": "http://kristofmattei.be/",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "zmiguel",
+      "name": "ZMiguel Valdiviesso",
+      "avatar_url": "https://avatars.githubusercontent.com/u/4400540?v=4",
+      "profile": "https://www.zmiguel.me/",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "akusei",
+      "name": "akusei",
+      "avatar_url": "https://avatars.githubusercontent.com/u/12972900?v=4",
+      "profile": "https://github.com/akusei",
+      "contributions": [
+        "code",
+        "doc"
+      ]
+    },
+    {
+      "login": "Peaches491",
+      "name": "Daniel Miller",
+      "avatar_url": "https://avatars.githubusercontent.com/u/494334?v=4",
+      "profile": "https://github.com/Peaches491",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "dustins",
+      "name": "Dustin Sweigart",
+      "avatar_url": "https://avatars.githubusercontent.com/u/14645?v=4",
+      "profile": "https://github.com/dustins",
+      "contributions": [
+        "code",
+        "doc",
+        "test"
+      ]
+    },
+    {
+      "login": "rogue780",
+      "name": "Shawn Haggard",
+      "avatar_url": "https://avatars.githubusercontent.com/u/247716?v=4",
+      "profile": "https://github.com/rogue780",
+      "contributions": [
+        "code",
+        "test"
+      ]
+    },
+    {
+      "login": "kevynb",
+      "name": "Kevyn Bruyere",
+      "avatar_url": "https://avatars.githubusercontent.com/u/4941215?v=4",
+      "profile": "https://github.com/kevynb",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "ducksecops",
+      "name": "Daniel Sutton",
+      "avatar_url": "https://avatars.githubusercontent.com/u/25612094?v=4",
+      "profile": "https://github.com/ducksecops",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "xenuser",
+      "name": "Valentin HΓΆbel",
+      "avatar_url": "https://avatars.githubusercontent.com/u/2216868?v=4",
+      "profile": "http://www.xenuser.org/",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "thehedgefrog",
+      "name": "thehedgefrog",
+      "avatar_url": "https://avatars.githubusercontent.com/u/38590447?v=4",
+      "profile": "https://github.com/thehedgefrog",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "ViRb3",
+      "name": "Victor",
+      "avatar_url": "https://avatars.githubusercontent.com/u/2650170?v=4",
+      "profile": "https://github.com/ViRb3",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "whiskerch",
+      "name": "Chris Whisker",
+      "avatar_url": "https://avatars.githubusercontent.com/u/35109315?v=4",
+      "profile": "https://github.com/whiskerch",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "nasatome",
+      "name": "nasatome",
+      "avatar_url": "https://avatars.githubusercontent.com/u/18271791?v=4",
+      "profile": "https://github.com/nasatome",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "bbros-dev",
+      "name": "Begley Brothers (Development)",
+      "avatar_url": "https://avatars.githubusercontent.com/u/60454087?v=4",
+      "profile": "https://github.com/bbros-dev",
+      "contributions": [
+        "doc"
+      ]
+    },
+    {
+      "login": "kusold",
+      "name": "Mike Kusold",
+      "avatar_url": "https://avatars.githubusercontent.com/u/509966?v=4",
+      "profile": "http://mikekusold.com/",
+      "contributions": [
+        "code"
+      ]
+    },
+    {
+      "login": "dzervas",
+      "name": "Dimitris Zervas",
+      "avatar_url": "https://avatars.githubusercontent.com/u/1029195?v=4",
+      "profile": "https://dzervas.gr/",
+      "contributions": [
+        "doc"
+      ]
+    }
+  ],
+  "contributorsPerLine": 7
+}
diff --git a/README.md b/README.md
index 4641d41b..0595969b 100644
--- a/README.md
+++ b/README.md
@@ -156,16 +156,81 @@ If you want to contribute to Authelia, check the documentation available
 [here](https://docs.authelia.com/contributing/).
 
 Authelia exists thanks to all the people who contribute so don't be shy,
-come chat with us on [Matrix](#matrix) and start contributing too. [[Contribute](./CONTRIBUTING.md)].
-<a href="https://github.com/authelia/authelia/graphs/contributors"><img src="https://opencollective.com/authelia-sponsors/contributors.svg?width=890" /></a>
+come chat with us on [Matrix](#matrix) and start [contributing](./CONTRIBUTING.md) too.
 
-## Backers
+Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
+
+<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
+<!-- prettier-ignore-start -->
+<!-- markdownlint-disable -->
+<table>
+  <tr>
+    <td align="center"><a href="https://github.com/clems4ever"><img src="https://avatars.githubusercontent.com/u/3193257?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ClΓ©ment Michaud</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=clems4ever" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=clems4ever" title="Documentation">πŸ“–</a> <a href="#ideas-clems4ever" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-clems4ever" title="Maintenance">🚧</a> <a href="#question-clems4ever" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/authelia/authelia/pulls?q=is%3Apr+reviewed-by%3Aclems4ever" title="Reviewed Pull Requests">πŸ‘€</a> <a href="https://github.com/authelia/authelia/commits?author=clems4ever" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://github.com/nightah"><img src="https://avatars.githubusercontent.com/u/3339418?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Amir Zarrinkafsh</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=nightah" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=nightah" title="Documentation">πŸ“–</a> <a href="#ideas-nightah" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-nightah" title="Maintenance">🚧</a> <a href="#question-nightah" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/authelia/authelia/pulls?q=is%3Apr+reviewed-by%3Anightah" title="Reviewed Pull Requests">πŸ‘€</a> <a href="https://github.com/authelia/authelia/commits?author=nightah" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://github.com/james-d-elliott"><img src="https://avatars.githubusercontent.com/u/3903683?v=4?s=100" width="100px;" alt=""/><br /><sub><b>James Elliott</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=james-d-elliott" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=james-d-elliott" title="Documentation">πŸ“–</a> <a href="#ideas-james-d-elliott" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-james-d-elliott" title="Maintenance">🚧</a> <a href="#question-james-d-elliott" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/authelia/authelia/pulls?q=is%3Apr+reviewed-by%3Ajames-d-elliott" title="Reviewed Pull Requests">πŸ‘€</a> <a href="https://github.com/authelia/authelia/commits?author=james-d-elliott" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://github.com/BankaiNoJutsu"><img src="https://avatars.githubusercontent.com/u/2241519?v=4?s=100" width="100px;" alt=""/><br /><sub><b>BankaiNoJutsu</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=BankaiNoJutsu" title="Code">πŸ’»</a> <a href="#design-BankaiNoJutsu" title="Design">🎨</a></td>
+    <td align="center"><a href="https://github.com/p-rintz"><img src="https://avatars.githubusercontent.com/u/13933258?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Philipp Rintz</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=p-rintz" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="http://callanbryant.co.uk/"><img src="https://avatars.githubusercontent.com/u/208440?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Callan Bryant</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=naggie" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=naggie" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/ViViDboarder"><img src="https://avatars.githubusercontent.com/u/137025?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ian</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=ViViDboarder" title="Code">πŸ’»</a></td>
+  </tr>
+  <tr>
+    <td align="center"><a href="https://github.com/FrozenDragoon"><img src="https://avatars.githubusercontent.com/u/5301673?v=4?s=100" width="100px;" alt=""/><br /><sub><b>FrozenDragoon</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=FrozenDragoon" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/vdot0x23"><img src="https://avatars.githubusercontent.com/u/40716069?v=4?s=100" width="100px;" alt=""/><br /><sub><b>vdot0x23</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=vdot0x23" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/alexw1982"><img src="https://avatars.githubusercontent.com/u/11628284?v=4?s=100" width="100px;" alt=""/><br /><sub><b>alexw1982</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=alexw1982" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/Sohalt"><img src="https://avatars.githubusercontent.com/u/2157287?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sohalt</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=Sohalt" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=Sohalt" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/Tedyst"><img src="https://avatars.githubusercontent.com/u/13637623?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stoica Tedy</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=Tedyst" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/Chemsmith"><img src="https://avatars.githubusercontent.com/u/9061024?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dylan Smith</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=Chemsmith" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/LukasK13"><img src="https://avatars.githubusercontent.com/u/24586740?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Lukas Klass</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=LukasK13" title="Documentation">πŸ“–</a></td>
+  </tr>
+  <tr>
+    <td align="center"><a href="https://staiger.it/"><img src="https://avatars.githubusercontent.com/u/9325003?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Philipp Staiger</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=lippl" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=lippl" title="Documentation">πŸ“–</a> <a href="https://github.com/authelia/authelia/commits?author=lippl" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://yaleman.org/"><img src="https://avatars.githubusercontent.com/u/168188?v=4?s=100" width="100px;" alt=""/><br /><sub><b>James Hodgkinson</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=yaleman" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://chris.smith.xyz/"><img src="https://avatars.githubusercontent.com/u/1979423?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Smith</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=chris13524" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/mqmq0"><img src="https://avatars.githubusercontent.com/u/13240971?v=4?s=100" width="100px;" alt=""/><br /><sub><b>MihΓ‘ly</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=mqmq0" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://iret.xyz/"><img src="https://avatars.githubusercontent.com/u/6560655?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Silver Bullet</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=SilverBut" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/skenmy"><img src="https://avatars.githubusercontent.com/u/1454505?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Paul Williams</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=skenmy" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=skenmy" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://github.com/ntimo"><img src="https://avatars.githubusercontent.com/u/6145026?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Timo</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=ntimo" title="Documentation">πŸ“–</a></td>
+  </tr>
+  <tr>
+    <td align="center"><a href="https://github.com/andrewkliskey"><img src="https://avatars.githubusercontent.com/u/44645768?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Andrew Kliskey</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=andrewkliskey" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="http://kristofmattei.be/"><img src="https://avatars.githubusercontent.com/u/864376?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kristof Mattei</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=Kristof-Mattei" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://www.zmiguel.me/"><img src="https://avatars.githubusercontent.com/u/4400540?v=4?s=100" width="100px;" alt=""/><br /><sub><b>ZMiguel Valdiviesso</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=zmiguel" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/akusei"><img src="https://avatars.githubusercontent.com/u/12972900?v=4?s=100" width="100px;" alt=""/><br /><sub><b>akusei</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=akusei" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=akusei" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/Peaches491"><img src="https://avatars.githubusercontent.com/u/494334?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Daniel Miller</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=Peaches491" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/dustins"><img src="https://avatars.githubusercontent.com/u/14645?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dustin Sweigart</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=dustins" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=dustins" title="Documentation">πŸ“–</a> <a href="https://github.com/authelia/authelia/commits?author=dustins" title="Tests">⚠️</a></td>
+    <td align="center"><a href="https://github.com/rogue780"><img src="https://avatars.githubusercontent.com/u/247716?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Shawn Haggard</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=rogue780" title="Code">πŸ’»</a> <a href="https://github.com/authelia/authelia/commits?author=rogue780" title="Tests">⚠️</a></td>
+  </tr>
+  <tr>
+    <td align="center"><a href="https://github.com/kevynb"><img src="https://avatars.githubusercontent.com/u/4941215?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kevyn Bruyere</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=kevynb" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/ducksecops"><img src="https://avatars.githubusercontent.com/u/25612094?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Daniel Sutton</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=ducksecops" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="http://www.xenuser.org/"><img src="https://avatars.githubusercontent.com/u/2216868?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Valentin HΓΆbel</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=xenuser" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://github.com/thehedgefrog"><img src="https://avatars.githubusercontent.com/u/38590447?v=4?s=100" width="100px;" alt=""/><br /><sub><b>thehedgefrog</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=thehedgefrog" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/ViRb3"><img src="https://avatars.githubusercontent.com/u/2650170?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Victor</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=ViRb3" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/whiskerch"><img src="https://avatars.githubusercontent.com/u/35109315?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Whisker</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=whiskerch" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/nasatome"><img src="https://avatars.githubusercontent.com/u/18271791?v=4?s=100" width="100px;" alt=""/><br /><sub><b>nasatome</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=nasatome" title="Documentation">πŸ“–</a></td>
+  </tr>
+  <tr>
+    <td align="center"><a href="https://github.com/bbros-dev"><img src="https://avatars.githubusercontent.com/u/60454087?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Begley Brothers (Development)</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=bbros-dev" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="http://mikekusold.com/"><img src="https://avatars.githubusercontent.com/u/509966?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mike Kusold</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=kusold" title="Code">πŸ’»</a></td>
+    <td align="center"><a href="https://dzervas.gr/"><img src="https://avatars.githubusercontent.com/u/1029195?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dimitris Zervas</b></sub></a><br /><a href="https://github.com/authelia/authelia/commits?author=dzervas" title="Documentation">πŸ“–</a></td>
+    <td align="center"><a href="https://github.com/n4kre"><img src="https://avatars.githubusercontent.com/u/14371127?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Antoine Favre</b></sub></a><br /><a href="https://github.com/authelia/authelia/issues?q=author%3An4kre" title="Bug reports">πŸ›</a> <a href="#ideas-n4kre" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
+  </tr>
+</table>
+
+<!-- markdownlint-restore -->
+<!-- prettier-ignore-end -->
+
+<!-- ALL-CONTRIBUTORS-LIST:END -->
+
+This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
+
+### Backers
 
 Thank you to all our backers! πŸ™ [[Become a backer](https://opencollective.com/authelia-sponsors/contribute)] and help us sustain our community.
 The money we currently receive is dedicated to bootstrap a bug bounty program to give us as many eyes as we can to detect potential vulnerabilities.
 <a href="https://opencollective.com/authelia-sponsors#backers"><img src="https://opencollective.com/authelia-sponsors/backers.svg?width=890"></a>
 
-## Sponsors
+### Sponsors
 
 Support Authelia by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/authelia-sponsors#sponsor)]
 
@@ -180,6 +245,14 @@ Support Authelia by becoming a sponsor. Your logo will show up here with a link
 <a href="https://opencollective.com/authelia-sponsors/sponsor/8/website"><img src="https://opencollective.com/authelia-sponsors/sponsor/8/avatar.svg"></a>
 <a href="https://opencollective.com/authelia-sponsors/sponsor/9/website"><img src="https://opencollective.com/authelia-sponsors/sponsor/9/avatar.svg"></a>
 
+### Jetbrains
+
+Thank you to [<img src="./docs/images/logos/jetbrains.svg" alt="JetBrains" width="32"> JetBrains](https://www.jetbrains.com/?from=Authelia) for providing us with free licenses to their great tools
+
+* [<img src="./docs/images/logos/intellij-idea.svg" alt="IDEA" width="32"> IDEA](http://www.jetbrains.com/idea/)
+* [<img src="./docs/images/logos/goland.svg" alt="GoLand" width="32"> GoLand](http://www.jetbrains.com/go/)
+* [<img src="./docs/images/logos/webstorm.svg" alt="WebStorm" width="32"> WebStorm](http://www.jetbrains.com/webstorm/)
+
 ## License
 
 **Authelia** is **licensed** under the **[Apache 2.0]** license. The terms of the license are detailed
diff --git a/docs/images/logos/goland.svg b/docs/images/logos/goland.svg
new file mode 100644
index 00000000..90fca253
--- /dev/null
+++ b/docs/images/logos/goland.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 17.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="70px" height="70px" viewBox="0 0 70 70" enable-background="new 0 0 70 70" xml:space="preserve">
+<g>
+	
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="218.3101" y1="276.7307" x2="206.3359" y2="294.9885" gradientTransform="matrix(1.5625 0 0 1.5625 -286.9062 -405.0312)">
+		<stop  offset="0.1745" style="stop-color:#078EFC"/>
+		<stop  offset="0.2044" style="stop-color:#118AFC"/>
+		<stop  offset="0.4353" style="stop-color:#5971FC"/>
+		<stop  offset="0.6271" style="stop-color:#8E5EFC"/>
+		<stop  offset="0.7705" style="stop-color:#AF52FC"/>
+		<stop  offset="0.8491" style="stop-color:#BB4EFC"/>
+	</linearGradient>
+	<path fill="url(#SVGID_1_)" d="M57.274,22.361l9.541,21.197l-13.49,23.045L20.922,40.202L37.493,24.23L57.274,22.361z"/>
+	<path fill="#BB4EFC" d="M43.499,42.747l9.826,23.857L23.39,56.314l-2.468-16.111L43.499,42.747z"/>
+	<path fill="#078EFC" d="M24.281,9.433l13.776,7.06l-12.398,37.54L0.69,53.773l5.364-11.895L0.69,26.677L24.281,9.433z"/>
+	
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="188.2502" y1="278.5064" x2="212.5334" y2="260.2373" gradientTransform="matrix(1.5625 0 0 1.5625 -286.9062 -405.0312)">
+		<stop  offset="0.1745" style="stop-color:#078EFC"/>
+		<stop  offset="0.2044" style="stop-color:#118AFC"/>
+		<stop  offset="0.4353" style="stop-color:#5971FC"/>
+		<stop  offset="0.6271" style="stop-color:#8E5EFC"/>
+		<stop  offset="0.7705" style="stop-color:#AF52FC"/>
+		<stop  offset="0.8491" style="stop-color:#BB4EFC"/>
+	</linearGradient>
+	<path fill="url(#SVGID_2_)" d="M41.563,0.479l6.515,22.17L0.69,26.677L15.761,0.479H41.563z"/>
+	
+		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="189.941" y1="296.4963" x2="220.4687" y2="276.8792" gradientTransform="matrix(1.5625 0 0 1.5625 -286.9062 -405.0312)">
+		<stop  offset="0" style="stop-color:#078EFC"/>
+		<stop  offset="0.1062" style="stop-color:#15A7D3"/>
+		<stop  offset="0.228" style="stop-color:#23BFAA"/>
+		<stop  offset="0.3478" style="stop-color:#2DD28B"/>
+		<stop  offset="0.4634" style="stop-color:#35DF74"/>
+		<stop  offset="0.573" style="stop-color:#39E767"/>
+		<stop  offset="0.6701" style="stop-color:#3BEA62"/>
+	</linearGradient>
+	<polygon fill="url(#SVGID_3_)" points="66.815,14.519 39.091,21.099 0.69,53.773 25.458,66.604 46.973,44.423 	"/>
+</g>
+<g>
+	<rect x="11.711" y="11.5" width="44.083" height="44.083"/>
+	<rect x="16.119" y="48.309" fill="#FFFFFF" width="16.531" height="2.645"/>
+	<g>
+		<path fill="#FFFFFF" d="M14.607,25.88v-0.054c-0.18-5.295,3.967-9.734,9.262-9.913c0.09-0.003,0.179-0.005,0.269-0.005
+			c2.64-0.135,5.22,0.815,7.142,2.63l-2.52,3.206c-1.251-1.272-2.969-1.975-4.753-1.945c-3.083,0.226-5.41,2.889-5.22,5.974v0.054
+			c-0.258,3.091,2.039,5.805,5.13,6.063c0.125,0.01,0.251,0.017,0.377,0.019c1.347,0.04,2.67-0.365,3.765-1.151v-2.74h-4.025v-3.643
+			h7.895v8.328c-2.113,1.955-4.886,3.041-7.765,3.043c-5.162,0.123-9.446-3.963-9.569-9.125c0,0,0,0,0,0
+			C14.59,26.374,14.594,26.127,14.607,25.88z"/>
+		<path fill="#FFFFFF" d="M33.609,25.88v-0.054c-0.141-5.335,4.069-9.774,9.405-9.915s9.774,4.069,9.915,9.405
+			c0.004,0.152,0.004,0.305,0.001,0.457v0.054c0.141,5.335-4.069,9.774-9.405,9.915c-5.335,0.141-9.774-4.069-9.915-9.405l0,0
+			C33.606,26.185,33.606,26.033,33.609,25.88z M48.75,25.88v-0.054c0.186-3.14-2.209-5.835-5.349-6.021
+			c-0.053-0.003-0.105-0.005-0.158-0.007c-3.096,0.078-5.542,2.65-5.464,5.746c0,0,0,0,0,0c0.002,0.076,0.005,0.152,0.01,0.229
+			v0.054c-0.186,3.14,2.209,5.835,5.349,6.021c0.053,0.003,0.105,0.005,0.158,0.007c3.096-0.078,5.542-2.65,5.464-5.746c0,0,0,0,0,0
+			C48.758,26.033,48.755,25.956,48.75,25.88z"/>
+	</g>
+</g>
+</svg>
diff --git a/docs/images/logos/intellij-idea.svg b/docs/images/logos/intellij-idea.svg
new file mode 100644
index 00000000..455ae214
--- /dev/null
+++ b/docs/images/logos/intellij-idea.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="70px" height="70px" viewBox="0 0 70 70" style="enable-background:new 0 0 70 70;" xml:space="preserve">
+<g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="0.7898" y1="40.0893" x2="33.3172" y2="40.0893">
+			<stop  offset="0.2581" style="stop-color:#F97A12"/>
+			<stop  offset="0.4591" style="stop-color:#B07B58"/>
+			<stop  offset="0.7241" style="stop-color:#577BAE"/>
+			<stop  offset="0.9105" style="stop-color:#1E7CE5"/>
+			<stop  offset="1" style="stop-color:#087CFA"/>
+		</linearGradient>
+		<polygon style="fill:url(#SVGID_1_);" points="17.7,54.6 0.8,41.2 9.2,25.6 33.3,35 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="25.7674" y1="24.88" x2="79.424" y2="54.57">
+			<stop  offset="0" style="stop-color:#F97A12"/>
+			<stop  offset="7.179946e-002" style="stop-color:#CB7A3E"/>
+			<stop  offset="0.1541" style="stop-color:#9E7B6A"/>
+			<stop  offset="0.242" style="stop-color:#757B91"/>
+			<stop  offset="0.3344" style="stop-color:#537BB1"/>
+			<stop  offset="0.4324" style="stop-color:#387CCC"/>
+			<stop  offset="0.5381" style="stop-color:#237CE0"/>
+			<stop  offset="0.6552" style="stop-color:#147CEF"/>
+			<stop  offset="0.7925" style="stop-color:#0B7CF7"/>
+			<stop  offset="1" style="stop-color:#087CFA"/>
+		</linearGradient>
+		<polygon style="fill:url(#SVGID_2_);" points="70,18.7 68.7,59.2 41.8,70 25.6,59.6 49.3,35 38.9,12.3 48.2,1.1 		"/>
+		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="63.2277" y1="42.9153" x2="48.2903" y2="-1.7191">
+			<stop  offset="0" style="stop-color:#FE315D"/>
+			<stop  offset="7.840246e-002" style="stop-color:#CB417E"/>
+			<stop  offset="0.1601" style="stop-color:#9E4E9B"/>
+			<stop  offset="0.2474" style="stop-color:#755BB4"/>
+			<stop  offset="0.3392" style="stop-color:#5365CA"/>
+			<stop  offset="0.4365" style="stop-color:#386DDB"/>
+			<stop  offset="0.5414" style="stop-color:#2374E9"/>
+			<stop  offset="0.6576" style="stop-color:#1478F3"/>
+			<stop  offset="0.794" style="stop-color:#0B7BF8"/>
+			<stop  offset="1" style="stop-color:#087CFA"/>
+		</linearGradient>
+		<polygon style="fill:url(#SVGID_3_);" points="70,18.7 48.7,43.9 38.9,12.3 48.2,1.1 		"/>
+		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="10.7204" y1="16.473" x2="55.5237" y2="90.58">
+			<stop  offset="0" style="stop-color:#FE315D"/>
+			<stop  offset="4.023279e-002" style="stop-color:#F63462"/>
+			<stop  offset="0.1037" style="stop-color:#DF3A71"/>
+			<stop  offset="0.1667" style="stop-color:#C24383"/>
+			<stop  offset="0.2912" style="stop-color:#AD4A91"/>
+			<stop  offset="0.5498" style="stop-color:#755BB4"/>
+			<stop  offset="0.9175" style="stop-color:#1D76ED"/>
+			<stop  offset="1" style="stop-color:#087CFA"/>
+		</linearGradient>
+		<polygon style="fill:url(#SVGID_4_);" points="33.7,58.1 5.6,68.3 10.1,52.5 16,33.1 0,27.7 10.1,0 32.1,2.7 53.7,27.4 		"/>
+	</g>
+	<g>
+		<rect x="13.7" y="13.5" style="fill:#000000;" width="43.2" height="43.2"/>
+		<rect x="17.7" y="48.6" style="fill:#FFFFFF;" width="16.2" height="2.7"/>
+		<polygon style="fill:#FFFFFF;" points="29.4,22.4 29.4,19.1 20.4,19.1 20.4,22.4 23,22.4 23,33.7 20.4,33.7 20.4,37 29.4,37 
+			29.4,33.7 26.9,33.7 26.9,22.4 		"/>
+		<path style="fill:#FFFFFF;" d="M38,37.3c-1.4,0-2.6-0.3-3.5-0.8c-0.9-0.5-1.7-1.2-2.3-1.9l2.5-2.8c0.5,0.6,1,1,1.5,1.3
+			c0.5,0.3,1.1,0.5,1.7,0.5c0.7,0,1.3-0.2,1.8-0.7c0.4-0.5,0.6-1.2,0.6-2.3V19.1h4v11.7c0,1.1-0.1,2-0.4,2.8c-0.3,0.8-0.7,1.4-1.3,2
+			c-0.5,0.5-1.2,1-2,1.2C39.8,37.1,39,37.3,38,37.3"/>
+	</g>
+</g>
+</svg>
diff --git a/docs/images/logos/jetbrains.svg b/docs/images/logos/jetbrains.svg
new file mode 100644
index 00000000..75d4d217
--- /dev/null
+++ b/docs/images/logos/jetbrains.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="120.1px" height="130.2px" viewBox="0 0 120.1 130.2" style="enable-background:new 0 0 120.1 130.2;" xml:space="preserve"
+	>
+<g>
+	<linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="31.8412" y1="120.5578" x2="110.2402" y2="73.24">
+		<stop  offset="0" style="stop-color:#FCEE39"/>
+		<stop  offset="1" style="stop-color:#F37B3D"/>
+	</linearGradient>
+	<path id="XMLID_3041_" style="fill:url(#XMLID_2_);" d="M118.6,71.8c0.9-0.8,1.4-1.9,1.5-3.2c0.1-2.6-1.8-4.7-4.4-4.9
+		c-1.2-0.1-2.4,0.4-3.3,1.1l0,0l-83.8,45.9c-1.9,0.8-3.6,2.2-4.7,4.1c-2.9,4.8-1.3,11,3.6,13.9c3.4,2,7.5,1.8,10.7-0.2l0,0l0,0
+		c0.2-0.2,0.5-0.3,0.7-0.5l78-54.8C117.3,72.9,118.4,72.1,118.6,71.8L118.6,71.8L118.6,71.8z"/>
+	<linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="48.3607" y1="6.9083" x2="119.9179" y2="69.5546">
+		<stop  offset="0" style="stop-color:#EF5A6B"/>
+		<stop  offset="0.57" style="stop-color:#F26F4E"/>
+		<stop  offset="1" style="stop-color:#F37B3D"/>
+	</linearGradient>
+	<path id="XMLID_3049_" style="fill:url(#XMLID_3_);" d="M118.8,65.1L118.8,65.1L55,2.5C53.6,1,51.6,0,49.3,0
+		c-4.3,0-7.7,3.5-7.7,7.7v0c0,2.1,0.8,3.9,2.1,5.3l0,0l0,0c0.4,0.4,0.8,0.7,1.2,1l67.4,57.7l0,0c0.8,0.7,1.8,1.2,3,1.3
+		c2.6,0.1,4.7-1.8,4.9-4.4C120.2,67.3,119.7,66,118.8,65.1z"/>
+	<linearGradient id="XMLID_4_" gradientUnits="userSpaceOnUse" x1="52.9467" y1="63.6407" x2="10.5379" y2="37.1562">
+		<stop  offset="0" style="stop-color:#7C59A4"/>
+		<stop  offset="0.3852" style="stop-color:#AF4C92"/>
+		<stop  offset="0.7654" style="stop-color:#DC4183"/>
+		<stop  offset="0.957" style="stop-color:#ED3D7D"/>
+	</linearGradient>
+	<path id="XMLID_3042_" style="fill:url(#XMLID_4_);" d="M57.1,59.5C57,59.5,17.7,28.5,16.9,28l0,0l0,0c-0.6-0.3-1.2-0.6-1.8-0.9
+		c-5.8-2.2-12.2,0.8-14.4,6.6c-1.9,5.1,0.2,10.7,4.6,13.4l0,0l0,0C6,47.5,6.6,47.8,7.3,48c0.4,0.2,45.4,18.8,45.4,18.8l0,0
+		c1.8,0.8,3.9,0.3,5.1-1.2C59.3,63.7,59,61,57.1,59.5z"/>
+	<linearGradient id="XMLID_5_" gradientUnits="userSpaceOnUse" x1="52.1736" y1="3.7019" x2="10.7706" y2="37.8971">
+		<stop  offset="0" style="stop-color:#EF5A6B"/>
+		<stop  offset="0.364" style="stop-color:#EE4E72"/>
+		<stop  offset="1" style="stop-color:#ED3D7D"/>
+	</linearGradient>
+	<path id="XMLID_3057_" style="fill:url(#XMLID_5_);" d="M49.3,0c-1.7,0-3.3,0.6-4.6,1.5L4.9,28.3c-0.1,0.1-0.2,0.1-0.2,0.2l-0.1,0
+		l0,0c-1.7,1.2-3.1,3-3.9,5.1C-1.5,39.4,1.5,45.9,7.3,48c3.6,1.4,7.5,0.7,10.4-1.4l0,0l0,0c0.7-0.5,1.3-1,1.8-1.6l34.6-31.2l0,0
+		c1.8-1.4,3-3.6,3-6.1v0C57.1,3.5,53.6,0,49.3,0z"/>
+	<g id="XMLID_3008_">
+		<rect id="XMLID_3033_" x="34.6" y="37.4" style="fill:#000000;" width="51" height="51"/>
+		<rect id="XMLID_3032_" x="39" y="78.8" style="fill:#FFFFFF;" width="19.1" height="3.2"/>
+		<g id="XMLID_3009_">
+			<path id="XMLID_3030_" style="fill:#FFFFFF;" d="M38.8,50.8l1.5-1.4c0.4,0.5,0.8,0.8,1.3,0.8c0.6,0,0.9-0.4,0.9-1.2l0-5.3l2.3,0
+				l0,5.3c0,1-0.3,1.8-0.8,2.3c-0.5,0.5-1.3,0.8-2.3,0.8C40.2,52.2,39.4,51.6,38.8,50.8z"/>
+			<path id="XMLID_3028_" style="fill:#FFFFFF;" d="M45.3,43.8l6.7,0v1.9l-4.4,0V47l4,0l0,1.8l-4,0l0,1.3l4.5,0l0,2l-6.7,0
+				L45.3,43.8z"/>
+			<path id="XMLID_3026_" style="fill:#FFFFFF;" d="M55,45.8l-2.5,0l0-2l7.3,0l0,2l-2.5,0l0,6.3l-2.3,0L55,45.8z"/>
+			<path id="XMLID_3022_" style="fill:#FFFFFF;" d="M39,54l4.3,0c1,0,1.8,0.3,2.3,0.7c0.3,0.3,0.5,0.8,0.5,1.4v0
+				c0,1-0.5,1.5-1.3,1.9c1,0.3,1.6,0.9,1.6,2v0c0,1.4-1.2,2.3-3.1,2.3l-4.3,0L39,54z M43.8,56.6c0-0.5-0.4-0.7-1-0.7l-1.5,0l0,1.5
+				l1.4,0C43.4,57.3,43.8,57.1,43.8,56.6L43.8,56.6z M43,59l-1.8,0l0,1.5H43c0.7,0,1.1-0.3,1.1-0.8v0C44.1,59.2,43.7,59,43,59z"/>
+			<path id="XMLID_3019_" style="fill:#FFFFFF;" d="M46.8,54l3.9,0c1.3,0,2.1,0.3,2.7,0.9c0.5,0.5,0.7,1.1,0.7,1.9v0
+				c0,1.3-0.7,2.1-1.7,2.6l2,2.9l-2.6,0l-1.7-2.5h-1l0,2.5l-2.3,0L46.8,54z M50.6,58c0.8,0,1.2-0.4,1.2-1v0c0-0.7-0.5-1-1.2-1
+				l-1.5,0v2H50.6z"/>
+			<path id="XMLID_3016_" style="fill:#FFFFFF;" d="M56.8,54l2.2,0l3.5,8.4l-2.5,0l-0.6-1.5l-3.2,0l-0.6,1.5l-2.4,0L56.8,54z
+				 M58.8,59l-0.9-2.3L57,59L58.8,59z"/>
+			<path id="XMLID_3014_" style="fill:#FFFFFF;" d="M62.8,54l2.3,0l0,8.3l-2.3,0L62.8,54z"/>
+			<path id="XMLID_3012_" style="fill:#FFFFFF;" d="M65.7,54l2.1,0l3.4,4.4l0-4.4l2.3,0l0,8.3l-2,0L68,57.8l0,4.6l-2.3,0L65.7,54z"
+				/>
+			<path id="XMLID_3010_" style="fill:#FFFFFF;" d="M73.7,61.1l1.3-1.5c0.8,0.7,1.7,1,2.7,1c0.6,0,1-0.2,1-0.6v0
+				c0-0.4-0.3-0.5-1.4-0.8c-1.8-0.4-3.1-0.9-3.1-2.6v0c0-1.5,1.2-2.7,3.2-2.7c1.4,0,2.5,0.4,3.4,1.1l-1.2,1.6
+				c-0.8-0.5-1.6-0.8-2.3-0.8c-0.6,0-0.8,0.2-0.8,0.5v0c0,0.4,0.3,0.5,1.4,0.8c1.9,0.4,3.1,1,3.1,2.6v0c0,1.7-1.3,2.7-3.4,2.7
+				C76.1,62.5,74.7,62,73.7,61.1z"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/docs/images/logos/webstorm.svg b/docs/images/logos/webstorm.svg
new file mode 100644
index 00000000..39ab7eb9
--- /dev/null
+++ b/docs/images/logos/webstorm.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="70px" height="70px" viewBox="0 0 70 70" style="enable-background:new 0 0 70 70;" xml:space="preserve">
+<g>
+	<g>
+		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0676" y1="1.4599" x2="43.1829" y2="66.675">
+			<stop  offset="0.2849" style="stop-color:#00CDD7"/>
+			<stop  offset="0.9409" style="stop-color:#2086D7"/>
+		</linearGradient>
+		<polygon style="fill:url(#SVGID_1_);" points="9.4,63.3 0,7.3 17.5,0.1 28.6,6.7 38.8,1.2 60.1,9.4 48.1,70 		"/>
+		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="30.7199" y1="9.7343" x2="61.365" y2="54.6713">
+			<stop  offset="0.1398" style="stop-color:#FFF045"/>
+			<stop  offset="0.3656" style="stop-color:#00CDD7"/>
+		</linearGradient>
+		<polygon style="fill:url(#SVGID_2_);" points="70,23.7 61,1.4 44.6,0 19.3,24.3 26.1,55.6 38.8,64.6 70,46 62.3,31.7 		"/>
+		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="61.0819" y1="15.2899" x2="65.1065" y2="29.5436">
+			<stop  offset="0.2849" style="stop-color:#00CDD7"/>
+			<stop  offset="0.9409" style="stop-color:#2086D7"/>
+		</linearGradient>
+		<polygon style="fill:url(#SVGID_3_);" points="56,20.4 62.3,31.7 70,23.7 64.4,9.8 		"/>
+	</g>
+	<g>
+		<g>
+			<rect x="13.4" y="13.4" style="fill:#000000;" width="43.2" height="43.2"/>
+			<rect x="17.5" y="48.5" style="fill:#FFFFFF;" width="16.2" height="2.7"/>
+			<path style="fill:#FFFFFF;" d="M38.7,34.3l2.3-2.8c1.6,1.3,3.3,2.2,5.3,2.2c1.6,0,2.5-0.6,2.5-1.7v-0.1c0-1-0.6-1.5-3.6-2.3
+				c-3.6-0.9-5.8-1.9-5.8-5.5v-0.1c0-3.3,2.6-5.4,6.2-5.4c2.6,0,4.8,0.8,6.6,2.3l-2,3c-1.6-1.1-3.1-1.8-4.6-1.8
+				c-1.5,0-2.3,0.7-2.3,1.6v0.1c0,1.2,0.8,1.6,3.8,2.4c3.6,1,5.6,2.3,5.6,5.4v0.1c0,3.6-2.7,5.6-6.5,5.6
+				C43.5,37.2,40.8,36.2,38.7,34.3"/>
+		</g>
+		<polygon style="fill:#FFFFFF;" points="35.2,19 32.5,29.4 29.5,19 26.5,19 23.4,29.4 20.7,19 16.6,19 21.7,36.9 25,36.9 28,26.5 
+			30.9,36.9 34.3,36.9 39.4,19 		"/>
+	</g>
+</g>
+</svg>