diff --git a/assets/img/favicons/android-chrome-192x192.png b/assets/img/favicons/android-chrome-192x192.png
new file mode 100644
index 0000000..4e50834
Binary files /dev/null and b/assets/img/favicons/android-chrome-192x192.png differ
diff --git a/assets/img/favicons/android-chrome-512x512.png b/assets/img/favicons/android-chrome-512x512.png
new file mode 100644
index 0000000..8971ff0
Binary files /dev/null and b/assets/img/favicons/android-chrome-512x512.png differ
diff --git a/assets/img/favicons/apple-touch-icon.png b/assets/img/favicons/apple-touch-icon.png
new file mode 100644
index 0000000..c173316
Binary files /dev/null and b/assets/img/favicons/apple-touch-icon.png differ
diff --git a/assets/img/favicons/favicon-16x16.png b/assets/img/favicons/favicon-16x16.png
new file mode 100644
index 0000000..ca78139
Binary files /dev/null and b/assets/img/favicons/favicon-16x16.png differ
diff --git a/assets/img/favicons/favicon-32x32.png b/assets/img/favicons/favicon-32x32.png
new file mode 100644
index 0000000..a9f3754
Binary files /dev/null and b/assets/img/favicons/favicon-32x32.png differ
diff --git a/assets/img/favicons/favicon.ico b/assets/img/favicons/favicon.ico
new file mode 100644
index 0000000..5c47840
Binary files /dev/null and b/assets/img/favicons/favicon.ico differ
diff --git a/public/404.html b/public/404.html
index c41e858..3f6f8a4 100644
--- a/public/404.html
+++ b/public/404.html
@@ -1,49 +1,883 @@
-
404: Page not found
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 404 Page not found |
+
+ Comprofix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 404 Page not found
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+404: Page not found
+
+
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+ `;
+ }).join('');
+
+ this.resultsContainer.innerHTML = searchItems;
+ }
+
+
+ checkFieldsForMatch(item, term) {
+ const matches = {
+ inTitle: false,
+ inDesc: false,
+ inSection: false,
+ inContents: false
+ };
+
+
+ if (DEFAULT_CONFIG.search.fields.title && this.containsTerm(item.searchableTitle, term)) {
+ matches.inTitle = true;
+ }
+
+ if (DEFAULT_CONFIG.search.fields.description && this.containsTerm(item.searchableDesc, term)) {
+ matches.inDesc = true;
+ }
+
+ if (DEFAULT_CONFIG.search.fields.section && this.containsTerm(item.searchableSection, term)) {
+ matches.inSection = true;
+ }
+
+ if (DEFAULT_CONFIG.search.fields.contents && this.containsTerm(item.searchableContents, term)) {
+ matches.inContents = true;
+ }
+
+
+ if (matches.inTitle || matches.inDesc || matches.inSection || matches.inContents) {
+ return matches;
+ }
+
+
+ return false;
+ }
+ }
+
+ const search = new FastSearch({
+ searchInput: document.getElementById('search-input'),
+ resultsContainer: document.getElementById('search-results'),
+ json: `\/index.json`
+ });
+
+
+
+
+
+
+
+