diff --git a/README.md b/README.md
index f1a4a5e..ef44911 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,61 @@
-# lizmap-menus
+# Lizmap Map Menus
+
+Add a drop-down, accordian, or tree menu for Lizmap.
+
+## Installation:
+
+Installation of all three menu types is identical.
+
+1. Create a custom theme directory for testing:
+
+```console
+mkdir /var/www/lizmap-web-client-3.5.5/lizmap/var/themes/default/view
+```
+2. Copy the view.tpl file to the new directory
+```console
+ cp -a lizmap/modules/view/templates/view.tpl lizmap/var/themes/default/view/view.tpl
+```
+
+3. Add the contents of the [menu.tpl](https://github.com/AcuGIS/lizmap-menus/blob/main/menu.tpl) to your view.tpl file, inserting just below {meta_html csstheme 'css/media.css'}
+
+4. Add the contents of the [menu.css](https://github.com/AcuGIS/lizmap-menus/blob/main/menu.css) via Lizmap admin Theme CSS UI.
+
+5. Remove the menu types you do not wish to use.
+
+6. Drop-Down Map Only: Add the contents of drop-down.js to your view.js file.
+
+
+
+## Screenshots
+
+### Drop-Down Menu:
+
+Your Lizmap homepage should now look as below:
+
+![alt text](images/Lizmap-Verify-Menu.png)
+
+
+### Accordian Menu:
+
+Your Lizmap homepage should now look as below:
+![alt text](images/Lizmap-Accordian-Menu.png)
+
+
+### Tree Menu:
+
+Your Lizmap homepage should now look as below:
+![alt text](images/Lizmap-Tree-Menu.png)
+
+
+Drop Down Selector built with [select2](https://select2.org)
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.readthedocs.yaml b/docs/.readthedocs.yaml
new file mode 100644
index 0000000..36dfe3b
--- /dev/null
+++ b/docs/.readthedocs.yaml
@@ -0,0 +1,32 @@
+# .readthedocs.yaml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the OS, Python version and other tools you might need
+build:
+ os: ubuntu-22.04
+ tools:
+ php: "8.x"
+ # You can also specify other tool versions:
+ postgresql: "15"
+ # rust: "1.64"
+ # golang: "1.19"
+
+# Build documentation in the "docs/" directory with Sphinx
+sphinx:
+ configuration: docs/conf.py
+
+# Optionally build your docs in additional formats such as PDF and ePub
+# formats:
+ - pdf
+ - epub
+
+# Optional but recommended, declare the Python requirements required
+# to build your documentation
+# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
+# python:
+# install:
+# - requirements: docs/requirements.txt
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..ea88050
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+SPHINXPROJ = ReadtheDocsSphinxTheme
+SOURCEDIR = .
+BUILDDIR = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/_static/Add-Report.png b/docs/_static/Add-Report.png
new file mode 100644
index 0000000..d51ec5e
Binary files /dev/null and b/docs/_static/Add-Report.png differ
diff --git a/docs/_static/Context-1.png b/docs/_static/Context-1.png
new file mode 100644
index 0000000..213817e
Binary files /dev/null and b/docs/_static/Context-1.png differ
diff --git a/docs/_static/Context-2.png b/docs/_static/Context-2.png
new file mode 100644
index 0000000..d870826
Binary files /dev/null and b/docs/_static/Context-2.png differ
diff --git a/docs/_static/Edit-Report.png b/docs/_static/Edit-Report.png
new file mode 100644
index 0000000..109febd
Binary files /dev/null and b/docs/_static/Edit-Report.png differ
diff --git a/docs/_static/Grouped-Reports.png b/docs/_static/Grouped-Reports.png
new file mode 100644
index 0000000..799810e
Binary files /dev/null and b/docs/_static/Grouped-Reports.png differ
diff --git a/docs/_static/Groups-1.png b/docs/_static/Groups-1.png
new file mode 100644
index 0000000..a6f2641
Binary files /dev/null and b/docs/_static/Groups-1.png differ
diff --git a/docs/_static/Installer.png b/docs/_static/Installer.png
new file mode 100644
index 0000000..1fe9cc2
Binary files /dev/null and b/docs/_static/Installer.png differ
diff --git a/docs/_static/Installer2.png b/docs/_static/Installer2.png
new file mode 100644
index 0000000..6a49858
Binary files /dev/null and b/docs/_static/Installer2.png differ
diff --git a/docs/_static/Installer3.png b/docs/_static/Installer3.png
new file mode 100644
index 0000000..f1ffc6f
Binary files /dev/null and b/docs/_static/Installer3.png differ
diff --git a/docs/_static/JRI-Viewer-Admin.png b/docs/_static/JRI-Viewer-Admin.png
new file mode 100644
index 0000000..69f73dd
Binary files /dev/null and b/docs/_static/JRI-Viewer-Admin.png differ
diff --git a/docs/_static/JRI-Viewer-Param.png b/docs/_static/JRI-Viewer-Param.png
new file mode 100644
index 0000000..cc23c6f
Binary files /dev/null and b/docs/_static/JRI-Viewer-Param.png differ
diff --git a/docs/_static/JRI-Viewer-Reports.png b/docs/_static/JRI-Viewer-Reports.png
new file mode 100644
index 0000000..c66dfd5
Binary files /dev/null and b/docs/_static/JRI-Viewer-Reports.png differ
diff --git a/docs/_static/JRIViewer-Main.png b/docs/_static/JRIViewer-Main.png
new file mode 100644
index 0000000..85fc81f
Binary files /dev/null and b/docs/_static/JRIViewer-Main.png differ
diff --git a/docs/_static/Parameter-1.png b/docs/_static/Parameter-1.png
new file mode 100644
index 0000000..e4f77e6
Binary files /dev/null and b/docs/_static/Parameter-1.png differ
diff --git a/docs/_static/Set-Context.png b/docs/_static/Set-Context.png
new file mode 100644
index 0000000..e9f262e
Binary files /dev/null and b/docs/_static/Set-Context.png differ
diff --git a/docs/_static/Set-Group-Owner.png b/docs/_static/Set-Group-Owner.png
new file mode 100644
index 0000000..7d25b85
Binary files /dev/null and b/docs/_static/Set-Group-Owner.png differ
diff --git a/docs/_static/jri-logo-white.png b/docs/_static/jri-logo-white.png
new file mode 100644
index 0000000..0b70364
Binary files /dev/null and b/docs/_static/jri-logo-white.png differ
diff --git a/docs/_static/pg_layers-Main.png b/docs/_static/pg_layers-Main.png
new file mode 100644
index 0000000..4aaf33a
Binary files /dev/null and b/docs/_static/pg_layers-Main.png differ
diff --git a/docs/_static/spacer.png b/docs/_static/spacer.png
new file mode 100644
index 0000000..68ace9d
Binary files /dev/null and b/docs/_static/spacer.png differ
diff --git a/docs/_themes/sphinx_rtd_theme/__init__.py b/docs/_themes/sphinx_rtd_theme/__init__.py
new file mode 100644
index 0000000..32c87c3
--- /dev/null
+++ b/docs/_themes/sphinx_rtd_theme/__init__.py
@@ -0,0 +1,30 @@
+"""
+Sphinx Read the Docs theme.
+
+From https://github.com/ryan-roemer/sphinx-bootstrap-theme.
+"""
+
+from os import path
+
+import sphinx
+
+
+__version__ = '0.4.3.dev0'
+__version_full__ = __version__
+
+
+def get_html_theme_path():
+ """Return list of HTML theme paths."""
+ cur_dir = path.abspath(path.dirname(path.dirname(__file__)))
+ return cur_dir
+
+
+# See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package
+def setup(app):
+ app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__)))
+
+ if sphinx.version_info >= (1, 8, 0):
+ # Add Sphinx message catalog for newer versions of Sphinx
+ # See http://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_message_catalog
+ rtd_locale_path = path.join(path.abspath(path.dirname(__file__)), 'locale')
+ app.add_message_catalog('sphinx', rtd_locale_path)
diff --git a/docs/_themes/sphinx_rtd_theme/breadcrumbs.html b/docs/_themes/sphinx_rtd_theme/breadcrumbs.html
new file mode 100644
index 0000000..90cb0ff
--- /dev/null
+++ b/docs/_themes/sphinx_rtd_theme/breadcrumbs.html
@@ -0,0 +1,82 @@
+{# Support for Sphinx 1.3+ page_source_suffix, but don't break old builds. #}
+
+{% if page_source_suffix %}
+{% set suffix = page_source_suffix %}
+{% else %}
+{% set suffix = source_suffix %}
+{% endif %}
+
+{% if meta is defined and meta is not none %}
+{% set check_meta = True %}
+{% else %}
+{% set check_meta = False %}
+{% endif %}
+
+{% if check_meta and 'github_url' in meta %}
+{% set display_github = True %}
+{% endif %}
+
+{% if check_meta and 'bitbucket_url' in meta %}
+{% set display_bitbucket = True %}
+{% endif %}
+
+{% if check_meta and 'gitlab_url' in meta %}
+{% set display_gitlab = True %}
+{% endif %}
+
+
{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}
+ {% endif %} + {% endif %} +{{ context|e }}
+