diff --git a/.github/workflows/deploy_website.yml b/.github/workflows/deploy_website.yml
new file mode 100644
index 0000000000000000000000000000000000000000..eb20a728a0d639737934e551d9ea6173ef4dda91
--- /dev/null
+++ b/.github/workflows/deploy_website.yml
@@ -0,0 +1,18 @@
+name: deploy_website
+on:
+  push:
+    branches:
+      - master
+jobs:
+  deploy:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/setup-python@v2
+        with:
+          python-version: 3.x
+      - run: pip install mkdocs-material
+      - run: pip install https://github.com/mitya57/python-markdown-math/archive/master.zip
+      - run: pip install pip install mkdocs-exclude
+      - run: pip install mkdocs-redirects
+      - run: mkdocs gh-deploy --force
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..a5b303276d3d23132237ee671889aaaec4f142cd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+site/*
\ No newline at end of file
diff --git a/doc/en/img/logo_large.svg b/doc/content/logo_large.svg
similarity index 100%
rename from doc/en/img/logo_large.svg
rename to doc/content/logo_large.svg
diff --git a/doc/en/img/img_sm.png b/doc/content/logo_sm.png
similarity index 100%
rename from doc/en/img/img_sm.png
rename to doc/content/logo_sm.png
diff --git a/doc/custom.css b/doc/custom.css
new file mode 100644
index 0000000000000000000000000000000000000000..6cd4066deed86c954428fcc0406d8ef63fb96b62
--- /dev/null
+++ b/doc/custom.css
@@ -0,0 +1,18 @@
+/*Container for footer*/
+.container-flexible {  
+    display: grid;  
+	width:min(700px,100%);
+	margin:auto;
+}
+
+.footerColumn {
+  float: left;
+  width: 33.33%;
+  padding: 10px;
+}
+/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
+@media screen and (max-width: 605px) {
+  .footerColumn {
+    width: 100%;
+  }
+}
\ No newline at end of file
diff --git a/doc/en/About/Logo.md b/doc/en/About/Logo.md
index 88b98123d703ec40d418722c17de046ccf7c3e39..d51d7034c0e1ba43ea1a7f7b85eb4fad699a248f 100644
--- a/doc/en/About/Logo.md
+++ b/doc/en/About/Logo.md
@@ -1,4 +1,4 @@
-# The mathematics of the STACK logo #
+# The mathematics of the STACK logo
 
 The STACK logo is based on the following problem.
 
diff --git a/doc/en/Authoring/Authoring_quick_start.md b/doc/en/Authoring/Authoring_quick_start.md
index 69d5fc83c98b9ad71ebf638d0a7e34c61c6c90e7..9846180250a5062732189c4ce2c82c1f9702916e 100644
--- a/doc/en/Authoring/Authoring_quick_start.md
+++ b/doc/en/Authoring/Authoring_quick_start.md
@@ -2,8 +2,6 @@
 
 1 - First question | [2 - Question variables](Authoring_quick_start_2.md) | [3 - Feedback](Authoring_quick_start_3.md) | [4 - Randomisation](Authoring_quick_start_4.md) | [5 - Question tests](Authoring_quick_start_5.md) | [6 - Multipart questions](Authoring_quick_start_6.md) | [7 - Simplification](Authoring_quick_start_7.md) | [8 - Quizzes](Authoring_quick_start_8.md)
 
-
-
 The authoring quick start guide shows you how to write STACK questions.  Part 1 gets a minimal question working. The following video explains the process:
 
 <iframe width="560" height="315" src="https://www.youtube.com/embed/cpwo-D6EUgA" frameborder="0" allowfullscreen></iframe>
@@ -35,10 +33,8 @@ You must give the question a name, for example `question1`.
 
 Let's focus on the problem of differentiating \((x-1)^3\) with respect to \(x\). We need to write the question text itself. Copy the following into the Question text box:
 
-<textarea readonly="readonly" rows="2" cols="50">
-Differentiate \((x-1)^3\) with respect to x.
-[[input:ans1]] [[validation:ans1]]
-</textarea>
+	Differentiate \((x-1)^3\) with respect to x.
+	[[input:ans1]] [[validation:ans1]]
 
 Notes:
 
diff --git a/doc/en/Authoring/Authoring_quick_start_2.md b/doc/en/Authoring/Authoring_quick_start_2.md
index 14270464b0050fd95cd47ae9d60a0f7dde2aba57..4b372c08642313d5c646c94cdbc428f392f11f2b 100644
--- a/doc/en/Authoring/Authoring_quick_start_2.md
+++ b/doc/en/Authoring/Authoring_quick_start_2.md
@@ -35,10 +35,8 @@ Notice we are using the CAS to determine the model answer by calling the `int()`
 
 Now it will be a lot faster to fill out the rest of the question. Add the following to the question text:
 
-<textarea readonly="readonly" rows="3" cols="50">
-Find \(\int{@exp@} \mathrm{d}x\)
-[[input:ans1]] [[validation:ans1]]
-</textarea>
+	Find \(\int{@exp@} \mathrm{d}x\)
+	[[input:ans1]] [[validation:ans1]]
 
 Notice that we have defined a local variable `exp`, and used the value of this in the Question text. There is a difference between mathematics enclosed between `\(..\)` symbols and `{@..@}` symbols. All the text-based fields in the question, including feedback, are [CAS text](CASText.md).  This is HTML into which mathematics can be inserted.  LaTeX is placed between `\(..\)`s, and CAS expressions (including your variables) between matching `{@..@}` symbols.  The CAS expressions are evaluated in the context of the question variables and displayed as LaTeX.
 
diff --git a/doc/en/Authoring/Authoring_quick_start_6.md b/doc/en/Authoring/Authoring_quick_start_6.md
index f8c9642720f78f6ce93f68a3d0642a4822e833be..14d8af41af9b3e7f907d0513b8529a1d223e39a8 100644
--- a/doc/en/Authoring/Authoring_quick_start_6.md
+++ b/doc/en/Authoring/Authoring_quick_start_6.md
@@ -62,12 +62,10 @@ __Question text__
 
 Copy the following text into the editor.
 
-<textarea readonly="readonly" rows="5" cols="120">
-Find the equation of the line tangent to {@exp@} at the point \(x={@pt@}\).
-1. Differentiate {@exp@} with respect to \(x\). [[input:ans1]] [[validation:ans1]] [[feedback:prt1]]
-2. Evaluate your derivative at \(x={@pt@}\). [[input:ans2]] [[validation:ans2]] [[feedback:prt2]]
-3. Hence, find the equation of the tangent line. \(y=\)[[input:ans3]] [[validation:ans3]] [[feedback:prt3]]
-</textarea>
+	Find the equation of the line tangent to {@exp@} at the point \(x={@pt@}\).
+	1. Differentiate {@exp@} with respect to \(x\). [[input:ans1]] [[validation:ans1]] [[feedback:prt1]]
+	2. Evaluate your derivative at \(x={@pt@}\). [[input:ans2]] [[validation:ans2]] [[feedback:prt2]]
+	3. Hence, find the equation of the tangent line. \(y=\)[[input:ans3]] [[validation:ans3]] [[feedback:prt3]]
 
 Fill in the answer for `ans1` (which exists by default) and remove the `feedback` tag from the "specific feedback" section.  We choose to embed feedback within parts of this question, so that relevant feedback is shown directly underneath the relevant part. Notice there is one potential response tree for each "part".
 
@@ -113,9 +111,7 @@ Node 1: did they evaluate their expression in part 1 correctly? If "yes", then g
 
 Node 2: did they get part 1 correct?  if "yes" then this is the ideal situation, full marks.  If "no" then choose marks as suit your taste in this situation, and add some feedback, such as the following:
 
-<textarea readonly="readonly" rows="2" cols="50">
-You have correctly evaluated your answer to part 1 at the given point, but your answer to part 1 is wrong. Please try both parts again.
-</textarea>
+	You have correctly evaluated your answer to part 1 at the given point, but your answer to part 1 is wrong. Please try both parts again.
 
 # Next step #
 
diff --git a/doc/en/Authoring/Deploying.md b/doc/en/Authoring/Deploying.md
index 2c28e4eec0166eb62a41fd956ad4e7a8674d2df9..86e4f1b9b80ad4534855d556be5dc9d8d5171fac 100644
--- a/doc/en/Authoring/Deploying.md
+++ b/doc/en/Authoring/Deploying.md
@@ -27,6 +27,6 @@ Notes:
 2. When you deploy new variants STACK will run all the question tests.  If a test fails, the generation process will stop with an error message, showing the failing test.
 
 
-## Limitations ## 
+## Limitations ##
 
 There is currently no way to loop systematically over all variants and deploy them all.
diff --git a/doc/en/Authoring/Equivalence_reasoning.md b/doc/en/Authoring/Equivalence_reasoning.md
index d609d17ca41541451674f8235c6789735658ea47..826c54fd73b0a93625cf87bd98c65d6146e1d1f1 100644
--- a/doc/en/Authoring/Equivalence_reasoning.md
+++ b/doc/en/Authoring/Equivalence_reasoning.md
@@ -43,10 +43,8 @@ In this context the teacher's answer and the student's answer is a list.  The wh
 
 Copy the following text into the Question text box:
 
-<textarea readonly="readonly" rows="2" cols="50">
-Expand {@p@}, remembering to show your working.
-[[input:ans1]] [[validation:ans1]]
-</textarea>
+	Expand {@p@}, remembering to show your working.
+	[[input:ans1]] [[validation:ans1]]
 
 ### Setting the input options ###
 
diff --git a/doc/en/Authoring/Feedback.md b/doc/en/Authoring/Feedback.md
index f1486c2b0b10f80dd65548806976961ecfa08631..cdba6514fbc7527b9e03b129abc792c3181fb9ee 100644
--- a/doc/en/Authoring/Feedback.md
+++ b/doc/en/Authoring/Feedback.md
@@ -1,4 +1,4 @@
-# Feedback #
+# Feedback
 
 The purpose of STACK is to assess students' answers to mathematical questions,
 and on the basis of the properties we establish to assign _feedback_.
diff --git a/doc/en/CAS/Buggy_rules.md b/doc/en/CAS/Buggy_rules.md
index 20bb73cdc418a769562a5b1eec52a7e4d99468ec..a146210f44b916fd4896f792ffaeed5b1bf1cd0e 100644
--- a/doc/en/CAS/Buggy_rules.md
+++ b/doc/en/CAS/Buggy_rules.md
@@ -1,4 +1,4 @@
-# Buggy rules #
+# Buggy rules
 
 In order to establish that the student has done something
 particular but wrong, it is useful for us to be able to apply
diff --git a/doc/en/CAS/Inequalities.md b/doc/en/CAS/Inequalities.md
index 53f33352db68b9c3a35ffcf0aabbaf13f08efe18..7c457a9f321ba316742a9d0d584cd32d2ec49ba2 100644
--- a/doc/en/CAS/Inequalities.md
+++ b/doc/en/CAS/Inequalities.md
@@ -1,4 +1,4 @@
-# Inequalities #
+# Inequalities
 
 The non-strict inequalities \(\geq\) and \(\leq\) are created as infix operators with the respective syntax
 
diff --git a/doc/en/CAS/Numbers.md b/doc/en/CAS/Numbers.md
index 2b52addb4b4d28440b930355ad08aef5e1210a52..daca910ef5661ef72413972d60240f7f233b55ab 100644
--- a/doc/en/CAS/Numbers.md
+++ b/doc/en/CAS/Numbers.md
@@ -1,4 +1,4 @@
-# Numbers in STACK #
+# Numbers in STACK
 
 Numerical answer tests are documented in a page dedicated to [numerical answer tests](../Authoring/Answer_tests_numerical.md).
 
diff --git a/doc/en/CAS/Permutations.md b/doc/en/CAS/Permutations.md
index edcbece35def192fea123bc7580703504c7807a4..2f18a6f707c1872bd29e9ba92501e88274e98cd1 100644
--- a/doc/en/CAS/Permutations.md
+++ b/doc/en/CAS/Permutations.md
@@ -1,6 +1,6 @@
 # Writing a permutation as a product of disjoint cycles
 
-Let \(f= \left(\begin{matrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ 3 & 1 & 5 & 7 & 2 & 6 & 4 \end{matrix}\right)\)
+Let \[f= \left( \begin{array}{ccccccc} 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ 3 & 1 & 5 & 7 & 2 & 6 & 4 \end{array}\right)\]
  
 In pure mathematics we might ask students to write a permutation such as this as a product of disjoint cycles.
 
diff --git a/doc/en/CAS/Random.md b/doc/en/CAS/Random.md
index f8fb9817c5ab6864110e621e8e5245e0e86128d5..41786571594743ed55c5798b66e14205232e6aa0 100644
--- a/doc/en/CAS/Random.md
+++ b/doc/en/CAS/Random.md
@@ -1,4 +1,4 @@
-# Random objects #
+# Random objects
 
 STACK can generate structured random objects.  STACK provides a [Maxima](Maxima.md) function `rand()` which can be used in the question and answer variables.
 
diff --git a/doc/en/Installation/Mathjax.md b/doc/en/Installation/Mathjax.md
index 28247546be2a827dec9f44b1d3b0a3cff1040251..5db1e4d55590d40d626d1fff76068bf84b6f5f0c 100644
--- a/doc/en/Installation/Mathjax.md
+++ b/doc/en/Installation/Mathjax.md
@@ -1,4 +1,4 @@
-# Displaying mathematics for STACK in Moodle #
+# Displaying mathematics for STACK in Moodle
 
 STACK generates LaTeX code on the fly and expects to use a Moodle filter to convert this into something the user's browser will display.  For Moodle 2.7 or later, MathJax is distributed as a filter.  We strongly recommend using the Moodle MathJax filter.  One reason for adopting MathJax is that it aids [accessibility](../Students/Accessibility.md).
 
diff --git a/doc/en/Students/Answer_input.md b/doc/en/Students/Answer_input.md
index 1b49aea845b4737cb23c0b77ad3fae4da2ef1af3..4151f2f8c4eea084704a896c1fb59befb28a2b2a 100644
--- a/doc/en/Students/Answer_input.md
+++ b/doc/en/Students/Answer_input.md
@@ -112,7 +112,7 @@ Use the underscore character to denote a subscript.  For example, \(a_b\) should
 * **Modulus function**: The modulus function, sometimes called the absolute value of _x_,
   is written as |_x_| in traditional notation. This must be entered as `abs(x)`.
 
-### **Trigonometrical functions**  ###
+### Trigonometrical functions  ###
 
 Things to remember:
 
@@ -126,7 +126,7 @@ Things to remember:
   This traditional notation is really rather unfortunate and is not used by the CAS; instead,
   \(\sin^{-1}(x)\) should be entered as `asin(x)`. Similarly, \(\tan^{-1}(x)\) should be entered as `atan(x)` and so on.
 
-### **Exponentials** and **Logarithms** ###
+### Exponentials and Logarithms ###
 
 * To enter the exponential function type `exp(x)`. Typing `e^x` should work in STACK, but gets you into bad habits when using a CAS later!
 * Type `ln(x)` or `log(x)` to enter the _natural logarithm_ of \(x\) with base \(e\approx 2.71\cdots\). Note that both of these start with a lower case l for logarithm, not a capital I (`i`).
diff --git a/doc/en/Students/FAQ.md b/doc/en/Students/FAQ.md
index e72aaf691c5adadafcc0e6cd95992533b66cb018..1a2f228d9883882b87b086ec3d8ae24beaba1d80 100644
--- a/doc/en/Students/FAQ.md
+++ b/doc/en/Students/FAQ.md
@@ -1,4 +1,4 @@
-# Frequently asked questions #
+# Frequently asked questions
 
 This page is designed to help student users of STACK, rather than question authors.
 
diff --git a/doc/en/img/CATE.png b/doc/en/img/CATE.png
deleted file mode 100644
index c55f3ab9e0982eefaa7d94d2813aec1d2de4645b..0000000000000000000000000000000000000000
Binary files a/doc/en/img/CATE.png and /dev/null differ
diff --git a/doc/en/img/ILIAS_web.png b/doc/en/img/ILIAS_web.png
deleted file mode 100644
index ba682a07f31cca162ca05f4082250728d6a49f69..0000000000000000000000000000000000000000
Binary files a/doc/en/img/ILIAS_web.png and /dev/null differ
diff --git a/doc/en/img/STACK-screenshot.png b/doc/en/img/STACK-screenshot.png
deleted file mode 100644
index 132c6e5a87b8fab8f3e444d16d5a065b35d2f8a8..0000000000000000000000000000000000000000
Binary files a/doc/en/img/STACK-screenshot.png and /dev/null differ
diff --git a/doc/en/img/logo.png b/doc/en/img/logo.png
deleted file mode 100644
index 2a3d1637298136adb7ca18b9e228a73924071ca5..0000000000000000000000000000000000000000
Binary files a/doc/en/img/logo.png and /dev/null differ
diff --git a/doc/en/img/logo_large.png b/doc/en/img/logo_large.png
deleted file mode 100644
index 1981cebe622f1df57b4f56351677900ccba26d36..0000000000000000000000000000000000000000
Binary files a/doc/en/img/logo_large.png and /dev/null differ
diff --git a/doc/en/img/moodle_white.png b/doc/en/img/moodle_white.png
deleted file mode 100644
index b700f167374ef3ebd90b14a05931942a293cebaa..0000000000000000000000000000000000000000
Binary files a/doc/en/img/moodle_white.png and /dev/null differ
diff --git a/mkdocs.yml b/mkdocs.yml
index e7ca43f1f4b94f6af1189d2e55603ee9e7477b94..4d45ba65996b268356175ce29582c73c9c02c516 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,14 +1,28 @@
-site_name: STACK Documentation
+site_name: STACK Docs
 extra_javascript: 
-    - https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML
+    - 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
+
+
 theme:
-    name: bootstrap
-    #name: readthedocs
-    custom_dir: overrides
-    logo: img/logo_large.svg
-    nav_style: light
-docs_dir: 'doc/en'
-#extra_css:
-#    - custom.css
+    name: material
+    logo: content/logo_large.png
+    favicon: ../content/logo_sm.png
+    custom_dir: site_overrides
+    highlightjs: false
+    palette:
+        primary: white
+docs_dir: 'doc'
+extra_css:
+    - custom.css
 markdown_extensions:
-    - mdx_math
\ No newline at end of file
+    - mdx_math
+    - extra
+plugins:
+    - search
+    - exclude:
+        glob:
+            - de/*
+            - en/sitemap.md
+    - redirects:
+        redirect_maps:
+            'index.md': 'en/index.md'
\ No newline at end of file
diff --git a/overrides/img/favicon.ico b/overrides/img/favicon.ico
deleted file mode 100644
index 2b71ffedf3396f85587b21355cb0ae1779637aa7..0000000000000000000000000000000000000000
Binary files a/overrides/img/favicon.ico and /dev/null differ
diff --git a/overrides/main.html b/overrides/main.html
deleted file mode 100644
index 92f4da7bb32cb1ee8e9e0aaf7a3bf46ee59e5722..0000000000000000000000000000000000000000
--- a/overrides/main.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!-- Ensures this only extends, not overrides, the theme. -->
-{% extends "base.html" %}
-
-<!-- Removes the sidebar. -->
-{% block content %}
-    <div class="col-md-12" role="main">{% include "content.html" %}</div>
-{% endblock %}
-
-
-{% block next_prev %}
-
-{% endblock %}
-
-{%block site_nav%}
-<!--Actual navigation bar-->
-        <div class="navbar fixed-top navbar-expand-lg navbar-{% if config.theme.nav_style == "light" %}light{% else %}dark{% endif %} bg-{{ config.theme.nav_style }}" style="position:fixed;top:55px;">
-            <div class="container">
-				
-				<!-- Adds logo to navigation bar. -->
-				{% block site_name %}
-				<a class="navbar-brand" href="/../"><img style="vertical-align:baseline" src="/img/logo_large.png" alt="STACK logo" height="20"><b>STACK</b></a><b> <a class="navbar-brand">></a> </b> <a class="navbar-brand" href="/"><b>Documentation</b></a>
-
-				{% endblock %}
-
-                {%- if nav|length>1 or (page and (page.next_page or page.previous_page)) or config.repo_url %}
-                <!-- Expander button -->
-                <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
-                    <span class="navbar-toggler-icon"></span>
-                </button>
-                {%- endif %}				
-
-                    {%- if nav|length>1 %}
-                        <!-- Main navigation -->
-						<div class="navbar-collapse collapse">
-                        <ul class="nav navbar-nav">
-                        {%- for nav_item in nav %}
-                        {%- if nav_item.children %}
-                            <li class="dropdown{% if nav_item.active %} active{% endif %}">
-                                <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">{{ nav_item.title }} <b class="caret"></b></a>
-                                <ul class="dropdown-menu">
-                                {%- for nav_item in nav_item.children %}
-                                    {% include "nav-sub.html" %}
-                                {%- endfor %}
-                                </ul>
-                            </li>
-                        {%- else %}
-                            <li class="navitem{% if nav_item.active %} active{% endif %}">
-                                <a href="{{ nav_item.url|url }}" class="nav-link">{{ nav_item.title }}</a>
-                            </li>
-                        {%- endif %}
-                        {%- endfor %}
-                        </ul></div>
-                    {%- endif %}
-					
-					                    <ul class="nav navbar-nav ml-auto">
-                      {%- block search_button %}
-                        {%- if 'search' in config['plugins'] %}
-                        <li class="nav-item">
-                            <a href="#" class="nav-link" data-toggle="modal" data-target="#mkdocs_search_modal">
-                                <i class="fa fa-search"></i> Search
-                            </a>
-                        </li>
-                        {%- endif %}
-                      {%- endblock %}
-</div></div>
-{%endblock%}
-
-<!-- Specifies styles for columns and rows. -->
-{% block extrahead %}
-
-<style>
-div.footerColumn {
-  max-width:350px;
-  margin: auto;
-  text-align:left;
-  vertical-align:top;
-}
-
-div.bodyColumn {
-  max-width:300px;
-  margin: auto;
-  text-align:left;
-  vertical-align:top;
-}
-
-div.row {
-  max-width:1000px;
-  margin: auto;
-  vertical-align:top;
-}
-<!--Set table settings-->
-table {
-  table-layout: fixed;
-  width: 1000px;
-}
-
-th,
-td {
-  width: 300px;
-  overflow: hidden;
-}
-
-</style>
-{% endblock %}
-
-<!-- Sets footer of pages. -->
-{% block footer %}
-<hr>
-
-<div class="row ">
-  <div class="footerColumn">
-  <h5>About STACK</h5>
-  <p>STACK is the world-leading open-source automatic assessment system for mathematics and STEM. It is available for Moodle, ILIAS and other systems through LTI.
-  <br>
-  <br><a href="%CONTENT/2018-STACK.pdf">A flyer about the STACK project</a>
-  <br><a href="%CONTENT/2019-cate-case-studies.pdf">A collection of case studies</a> 
-  <br>A self-contained <a href="%CONTENT/2019-STACK-Guide.pdf">"Getting started with STACK" guide</a>
-  </p>
-  </div>
-  <div class="footerColumn">
-  <h5>Contact Us</h5>
-  <p>
-  We welcome questions and discussion about the STACK project. Please contact Prof Chris Sangwin, <a href="mailto:C.J.Sangwin@ed.ac.uk">C.J.Sangwin@ed.ac.uk</a>.
-  </p>
-  <p><a href="../FAQ">STACK FAQ</a>
-  <br><a href="https://github.com/maths/moodle-qtype_stack">STACK git repository</a>
-  <br><a href="https://moodle.org/mod/forum/view.php?id=752">Moodle's "Mathematics tools" forum</a>
-  <br><a href ="https://www.wiki.ed.ac.uk/display/STACK/">UoE STACK wiki</a> (for University of Edinburgh STACK users and collaborators)
-  </p>
-  </div>
-  <div class="footerColumn">
-  <img src="/img/logo_large.png" alt="STACK logo" height="60">&emsp; <img src="/img/ILIAS_web.png" alt="ILIAS logo" height="60">
-  <br>
-  <br>
-  <br><img src="/img/moodle_white.png" alt="Moodle logo" height="40">
-  <br>
-  <br>
-  <br>Legal notice | Data privacy
-  </div>
-</div>
-{% endblock %}
-
diff --git a/doc/en/img/favicon.ico b/site_overrides/img/favicon.ico
similarity index 100%
rename from doc/en/img/favicon.ico
rename to site_overrides/img/favicon.ico
diff --git a/overrides/img/img_sm.png b/site_overrides/img/img_sm.png
similarity index 100%
rename from overrides/img/img_sm.png
rename to site_overrides/img/img_sm.png
diff --git a/site_overrides/main.html b/site_overrides/main.html
new file mode 100644
index 0000000000000000000000000000000000000000..34717d4ba163ec093581581fa17988ab299ccf17
--- /dev/null
+++ b/site_overrides/main.html
@@ -0,0 +1,68 @@
+<!-- Ensures this only extends, not overrides, the theme. -->
+{% extends "base.html" %}
+
+<!--Sets search to basic MkDocs search-->
+{% block config %}
+  <script>
+    var search = {
+      transform: function(query) {
+        return query
+      }
+    }
+  </script>
+{% endblock %}
+
+{% block header %}
+<header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid" aria-label="{{ lang.t('header.title') }}">
+    <a href="{{ config.site_url | default(nav.homepage.url, true) | url }}" title="{{ config.site_name }}" class="md-header-nav__button md-logo" style="width:1.7rem;" aria-label="{{ config.site_name }}">
+      {% include "partials/logo.html" %}
+    </a>
+    <label class="md-header-nav__button md-icon" for="__drawer">
+      {% include ".icons/material/menu" ~ ".svg" %}
+    </label>
+	<!--Make site title permament-->
+    <div class="md-header-nav__title" data-md-component="header-title">
+      <div class="md-header-nav__ellipsis md-ellipsis">
+        {{ config.site_name }}
+      </div>
+    </div>
+    {% if "search" in config["plugins"] %}
+      <label class="md-header-nav__button md-icon" for="__search">
+        {% include ".icons/material/magnify.svg" %}
+      </label>
+      {% include "partials/search.html" %}
+    {% endif %}
+    {% if config.repo_url %}
+      <div class="md-header-nav__source">
+        {% include "partials/source.html" %}
+      </div>
+    {% endif %}
+  </nav>
+</header>
+
+{% endblock %}
+
+{% block footer %}
+<main class="md-main">
+<div class ="md-main__inner md-grid">
+<div class="md-sidebar md-sidebar--primary">
+
+</div>
+
+<div class ="md-sidebar md-sidebar--secondary">
+</div>
+
+<div class="md-content" style="border-top: 1px solid lightgrey;">
+<div class="md-content__inner md-typeset">
+    <div class="row">
+		<div class="footerColumn"><a href=""><img src="{{homepage_url}}/content/logo_large.png" width="70px" style="margin-top:1.3em;float:left;"><h2 style="color:black;margin-top:1.1em!important;"><b>STACK</b></h2></a></div>
+		<div class="footerColumn"><h3>About STACK</h3><h3>Training and Events</h3><h3>Case Studies</h3><h3>Demonstration site</h3></div>
+		<div class="footerColumn"><h3>Privacy statement</h3><h3>Licenses</h3><h3>Accessibility</h3></div>
+	</div>
+</div>
+</div>
+
+</div>
+</main>
+{% endblock %}
\ No newline at end of file
diff --git a/site_overrides/partials/logo.html b/site_overrides/partials/logo.html
new file mode 100644
index 0000000000000000000000000000000000000000..4233d289bdf677fdb1684562ea9093df13a48c8e
--- /dev/null
+++ b/site_overrides/partials/logo.html
@@ -0,0 +1,6 @@
+{% if config.theme.logo %}
+  <img src="{{ config.theme.logo | url }}" alt="logo" style="width:2rem;height:0.95rem;">
+{% else %}
+  {% set icon = config.theme.icon.logo or "material/library" %}
+  {% include ".icons/" ~ icon ~ ".svg" %}
+{% endif %}
\ No newline at end of file
diff --git a/site_overrides/partials/nav-item.html b/site_overrides/partials/nav-item.html
new file mode 100644
index 0000000000000000000000000000000000000000..027021a79375866a8c0797939a172d3f8abcc92a
--- /dev/null
+++ b/site_overrides/partials/nav-item.html
@@ -0,0 +1,76 @@
+{#-
+  This file was automatically generated - do not edit
+-#}
+{% set class = "md-nav__item" %}
+{% if nav_item.active %}
+  {% set class = "md-nav__item md-nav__item--active" %}
+{% endif %}
+
+<!--Skip first level in the navigation bar, i.e. the "En" level-->
+{%if nav_item.title == "En"%}
+        {% set base = path %}
+        {% for nav_item in nav_item.children %}
+          {% set path = base + "-" + loop.index | string %}
+          {% set level = level + 1 %}
+          {% include "partials/nav-item.html"  %}
+        {% endfor %}
+
+{% elif nav_item.children %}
+  <li class="{{ class }} md-nav__item--nested">
+    {% if nav_item.active %}
+      <input class="md-nav__toggle md-toggle" data-md-toggle="{{ path }}" type="checkbox" id="{{ path }}" checked>
+    {% else %}
+      <input class="md-nav__toggle md-toggle" data-md-toggle="{{ path }}" type="checkbox" id="{{ path }}">
+    {% endif %}
+    <label class="md-nav__link" for="{{ path }}">
+      {{ nav_item.title }}
+      <span class="md-nav__icon md-icon">
+        {% include ".icons/material/chevron-right.svg" %}
+      </span>
+    </label>
+    <nav class="md-nav" aria-label="{{ nav_item.title }}" data-md-level="{{ level }}">
+      <label class="md-nav__title" for="{{ path }}">
+        <span class="md-nav__icon md-icon">
+          {% include ".icons/material/arrow-left.svg" %}
+        </span>
+        {{ nav_item.title }}
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        {% set base = path %}
+        {% for nav_item in nav_item.children %}
+          {% set path = base + "-" + loop.index | string %}
+          {% set level = level + 1 %}
+          {% include "partials/nav-item.html"  %}
+        {% endfor %}
+      </ul>
+    </nav>
+  </li>
+{% elif nav_item == page %}
+  <li class="{{ class }}">
+    {% set toc = page.toc %}
+    <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
+    {% if toc | first is defined and "\x3ch1 id=" in page.content %}
+      {% set toc = (toc | first).children %}
+    {% endif %}
+    {% if toc | first is defined %}
+      <label class="md-nav__link md-nav__link--active" for="__toc">
+        {{ nav_item.title }}
+        <span class="md-nav__icon md-icon">
+          {% include ".icons/material/table-of-contents.svg" %}
+        </span>
+      </label>
+    {% endif %}
+    <a href="{{ nav_item.url | url }}" title="{{ nav_item.title | striptags }}" class="md-nav__link md-nav__link--active">
+      {{ nav_item.title }}
+    </a>
+    {% if toc | first is defined %}
+      {% include "partials/toc.html" %}
+    {% endif %}
+  </li>
+{% else %}
+  <li class="{{ class }}">
+    <a href="{{ nav_item.url | url }}" title="{{ nav_item.title | striptags }}" class="md-nav__link">
+      {{ nav_item.title }}
+    </a>
+  </li>
+{% endif %}
\ No newline at end of file
diff --git a/site_overrides/partials/nav.html b/site_overrides/partials/nav.html
new file mode 100644
index 0000000000000000000000000000000000000000..d54409c456b02e1feef4b264b74e85c20e337bd3
--- /dev/null
+++ b/site_overrides/partials/nav.html
@@ -0,0 +1,22 @@
+{#-
+  This file was automatically generated - do not edit
+-#}
+<nav class="md-nav md-nav--primary" aria-label="{{ lang.t('nav.title') }}" data-md-level="0">
+  <label class="md-nav__title" for="__drawer">
+    <a href="{{ config.site_url | default(nav.homepage.url, true) | url }}" title="{{ config.site_name }}" class="md-nav__button md-logo" aria-label="{{ config.site_name }}">
+      {% include "partials/logo.html" %}
+    </a>
+  </label>
+  {% if config.repo_url %}
+    <div class="md-nav__source">
+      {% include "partials/source.html" %}
+    </div>
+  {% endif %}
+  <ul class="md-nav__list" data-md-scrollfix>
+	{% for nav_item in nav %}
+        {% set path = "nav-" + loop.index | string %}
+        {% set level = 1 %}
+        {% include "partials/nav-item.html" %}
+    {% endfor %}
+  </ul>
+</nav>
\ No newline at end of file