doc: Add proper 404 page
diff --git a/doc/requirements.txt b/doc/requirements.txt
index cae89af..aa6547f 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -25,3 +25,6 @@
 #  * https://github.com/sphinx-doc/sphinx/issues/3951
 #  * https://sourceforge.net/p/docutils/bugs/304/
 docutils>=0.14
+
+#Generates a project specific 404 (page not found) page
+sphinx-notfound-page
diff --git a/doc/src/conf.py b/doc/src/conf.py
index a50d72d..491ad5c 100644
--- a/doc/src/conf.py
+++ b/doc/src/conf.py
@@ -55,6 +55,7 @@
 extensions = [
     'sphinx.ext.todo',
     'sphinx.ext.mathjax',
+    'notfound.extension',
     'sphinx_markdown_tables',
     'sdcdomain',
     'archdomain',
@@ -324,6 +325,19 @@
 # If true, do not generate a @detailmenu in the "Top" node's menu.
 #texinfo_no_detailmenu = False
 
+# -- Options for 404 page -------------------------------------------
+
+# sphinx-notfound-page
+# https://github.com/readthedocs/sphinx-notfound-page
+notfound_context = {
+    'title': 'Page Not Found',
+    'body': '''
+<h1>Page Not Found</h1>
+<p>Sorry, we couldn't find that page.</p>
+<p>Try using the search box or go to the homepage.</p>
+''',
+}
+
 def setup(app):
     github_code_repo = 'https://github.com/verilog-to-routing/vtr-verilog-to-routing/'
     github_code_branch = 'blob/master/'