diff --git a/app/templates/403.html.j2 b/app/templates/403.html.j2
index c70363337952c05ee007438160dbf0cf39d9b7d0..eba64fb301c41552a055ddd6da8c65576bbd6105 100644
--- a/app/templates/403.html.j2
+++ b/app/templates/403.html.j2
@@ -1,10 +1,7 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
-<div class="page-header">
-    <p>This site is forbidden for you.</p>
+<div class="col s12">
+  <p>This site is forbidden for you.</p>
 </div>
 {% endblock %}
diff --git a/app/templates/404.html.j2 b/app/templates/404.html.j2
index d25a448645c35a26530e9782147948a282fa8a5a..b0fdc4fbf7e94581f9fc99e8d4695b06eaefea39 100644
--- a/app/templates/404.html.j2
+++ b/app/templates/404.html.j2
@@ -1,10 +1,7 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
-<div class="page-header">
-    <p>Site has not been found.</p>
+<div class="col s12">
+  <p>Site has not been found.</p>
 </div>
 {% endblock %}
diff --git a/app/templates/500.html.j2 b/app/templates/500.html.j2
index 462492f7a2d72d544638635a03788a8aa3614792..4c9c4a3336af1cc2c58266fa1f2c724152dde442 100644
--- a/app/templates/500.html.j2
+++ b/app/templates/500.html.j2
@@ -1,10 +1,7 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
-<div class="page-header">
-    <p>Internal Server Error. We are Sorry!</p>
+<div class="col s12">
+  <p>Internal Server Error. We are Sorry!</p>
 </div>
 {% endblock %}
diff --git a/app/templates/admin/edit_user.html.j2 b/app/templates/admin/edit_user.html.j2
index 535b2cee033050112492f7dda37f2623b2358648..76e4288109bf1bc7b4adc03b6f01a1bb39cec4d5 100644
--- a/app/templates/admin/edit_user.html.j2
+++ b/app/templates/admin/edit_user.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3 id="title">{{ user.username }}</h3>
diff --git a/app/templates/admin/index.html.j2 b/app/templates/admin/index.html.j2
index e00720795430a7b9e8585c4324406365c5620103..7e538b9cf795a1832a36317652540c0b74cde11c 100644
--- a/app/templates/admin/index.html.j2
+++ b/app/templates/admin/index.html.j2
@@ -1,7 +1,6 @@
 {% extends "nopaque.html.j2" %}
 
 {% set full_width = True %}
-{% set roadmap = False %}
 
 {% block page_content %}
 <div class="col s12">
diff --git a/app/templates/admin/user.html.j2 b/app/templates/admin/user.html.j2
index e4e24b6f55a84b6983756b881b6afb9d31815d0b..9d2f7b059857ad77615b063a33293e2584a9e221 100644
--- a/app/templates/admin/user.html.j2
+++ b/app/templates/admin/user.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3 id="title">{{ user.username }}</h3>
diff --git a/app/templates/auth/register.html.j2 b/app/templates/auth/register.html.j2
index c4f3abc5b52a7450bcb360bdb84a2f8ca8bf663a..0b73ecbe966eb9e78a1462cfe33255dedad4d501 100644
--- a/app/templates/auth/register.html.j2
+++ b/app/templates/auth/register.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3>DSGVO</h3>
diff --git a/app/templates/auth/reset_password.html.j2 b/app/templates/auth/reset_password.html.j2
index 899ba4b2fdfc124d2bc7e2469bd33d6f1bc2b993..1ef3adfa9652630940f25e08adc29b32a307b469 100644
--- a/app/templates/auth/reset_password.html.j2
+++ b/app/templates/auth/reset_password.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3>Lorem ipsum</h3>
diff --git a/app/templates/auth/reset_password_request.html.j2 b/app/templates/auth/reset_password_request.html.j2
index 86282d5095a4516eee60d6f14af2c5f312c7bfff..86c513df9ea6fffb8bd21b596ba84956e591a536 100644
--- a/app/templates/auth/reset_password_request.html.j2
+++ b/app/templates/auth/reset_password_request.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3>Lost password?</h3>
diff --git a/app/templates/auth/unconfirmed.html.j2 b/app/templates/auth/unconfirmed.html.j2
index bac1f380e5fc7e2187a2878ec57e31ed6bd75d49..f3d26dc995ac949db2b1c74f25a43ad216a07f9a 100644
--- a/app/templates/auth/unconfirmed.html.j2
+++ b/app/templates/auth/unconfirmed.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block title %}Opaque - Confirm your account{% endblock %}
 
 {% block page_content %}
diff --git a/app/templates/corpora/add_corpus.html.j2 b/app/templates/corpora/add_corpus.html.j2
index 51a84af7b2f510e7643284b84f366527d7e79880..6ea38aaf5cbe4698dad85b153d15c0e2b2464fcb 100644
--- a/app/templates/corpora/add_corpus.html.j2
+++ b/app/templates/corpora/add_corpus.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = True %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3>...</h3>
diff --git a/app/templates/corpora/add_corpus_file.html.j2 b/app/templates/corpora/add_corpus_file.html.j2
index 67c66191c9a2449abfc1ba04a1f89a9a3fde7147..7cd7d807a6056614bdfa5d7e9d055399bd7cfb18 100644
--- a/app/templates/corpora/add_corpus_file.html.j2
+++ b/app/templates/corpora/add_corpus_file.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3>{{ corpus.title }}</h3>
diff --git a/app/templates/corpora/analyse_corpus.bak.html.j2 b/app/templates/corpora/analyse_corpus.bak.html.j2
deleted file mode 100644
index e5f389829a4a8e96b0af9ea657c9bc2ca59bfd09..0000000000000000000000000000000000000000
--- a/app/templates/corpora/analyse_corpus.bak.html.j2
+++ /dev/null
@@ -1,543 +0,0 @@
-{% extends "full_width.html.j2" %}
-
-{% block page_content %}
-<style>
-  .token.chip.bold {
-    background-color: #48a54b;
-  }
-  .token.bold {
-    font-weight: bolder;
-  }
-  .token.chip:hover {
-    background-color: #9e9e9e;
-    cursor: pointer;
-  }
-  .material-tooltip {
-      padding: 5px 20px 20px;
-      border-radius: 10px;
-      background: rgba(37, 36, 36);
-      overflow: visible;
-  }
-
-  .material-tooltip .backdrop {
-      display: none !important;
-  }
-  .material-tooltip:after {
-    position: absolute;
-    content: "";
-    top: 100%;
-    left: 50%;
-    margin-left: -8px;
-    width: 0;
-    height: 0;
-    border-style: solid;
-    border-width: 15px 13px 0 13px;
-    border-color: rgba(37, 36, 36) transparent transparent transparent;
-}
-</style>
-
-<!-- Query Form -->
-<form id="query-form">
-  <div class="col s12">
-    <ul class="collapsible expandable">
-      <li class="active">
-        <!-- <div class="collapsible-header">
-          <i class="material-icons">search</i>CQP Query
-        </div> -->
-        <!-- Div element above is part of valid materialize collapsible.
-        Commented out to prevent the user from collapsing it and also to save
-        space -->
-        <div class="collapsible-body" style="padding-top: 10px;
-                                             padding-right: 2rem;
-                                             padding-bottom: 0px;
-                                             padding-left: 2rem;">
-          <div class="row">
-            <div class="col s12 m11">
-              <div class="input-field">
-                <i class="material-icons prefix">search</i>
-                {{ query_form.query() }}
-                {{ query_form.query.label }}
-                <span class="helper-text" data-error="wrong" data-success="right">
-                  <a href="http://cwb.sourceforge.net/files/CQP_Tutorial/">
-                    <i class="material-icons" style="font-size: inherit;">help
-                    </i> CQP query language tutorial
-                  </a>
-                </span>
-                {% for error in query_form.query.errors %}
-                  <span class="helper-text red-text">{{ error }}</span>
-                {% endfor %}
-              </div>
-            </div>
-            <div class="col s12 m1">
-              <p class="hide-on-small-only" style="
-      margin: 0px;">&nbsp;</p>
-              <button class="waves-effect waves-light btn-small right"
-                      type="submit">Send
-                <i class="material-icons right">send</i>
-              </button>
-            </div>
-          </div>
-        </div>
-      </li>
-      <li class="hoverable">
-        <div class="collapsible-header">
-          <i class="material-icons">settings</i>Display Options
-        </div>
-        <div class="collapsible-body">
-          <div class="row">
-            <div class="col s6">
-              <div class="input-field">
-                <i class="material-icons prefix">format_list_numbered</i>
-                {{ query_form.hits_per_page() }}
-                {{ query_form.hits_per_page.label }}
-                {% for error in query_form.hits_per_page.errors %}
-                <span class="helper-text red-text">{{ error }}</span>
-                {% endfor %}
-              </div>
-            </div>
-            <div class="col s6">
-              <div class="input-field">
-                <i class="material-icons prefix">short_text</i>
-                {{ query_form.context() }}
-                {{ query_form.context.label }}
-                {% for error in query_form.context.errors %}
-                <span class="helper-text red-text">{{ error }}</span>
-                {% endfor %}
-              </div>
-            </div>
-          </div>
-          <div class="row">
-            <div class="switch">
-              <label>
-                Expert Mode
-                <input type="checkbox" id="expert-mode-switch">
-                <span class="lever"></span>
-              </label>
-            </div>
-          </div>
-        </div>
-      </li>
-    </ul>
-  </div>
-</form>
-
-<!-- Export query results modal -->
-<div id="export-query-results-modal"
-     class="modal modal-fixed-footer no-autoinit">
-  <div class="modal-content">
-    {{ query_download_form.hidden_tag() }}
-    <h4>Download current query Results</h4>
-    <p>The results of the current query can be downlaoded as several files like csv or json. Those files can be used in other software like excel. Also it is easy to publish your results as raw data like this!</p>
-    <table>
-      <tr>
-        <td>JSON</td>
-        <td>
-          <a class="btn waves-effect waves-light" id="download-results">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-      <tr>
-        <td>CSV</td>
-        <td>
-          <a class="btn waves-effect waves-light disabled">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-      <tr>
-        <td>EXCEL</td>
-        <td>
-          <a class="btn waves-effect waves-light disabled">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-      <tr>
-        <td>HTML</td>
-        <td>
-          <a class="btn waves-effect waves-light disabled">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-    </table>
-  </div>
-  <div class="modal-footer">
-    <a href="#!" class="modal-close waves-effect waves-green red btn">Close</a>
-  </div>
-</div>
-
-<!-- Loading animation card when query results are being loaded -->
-<div class="row">
-  <div class="col s12 hide" id="getting-query-results">
-    <div class="card">
-      <div class="card-content">
-        <span class="card-title">Fetching your results!</span>
-        <div>
-          <div class="progress">
-            <div class="indeterminate"></div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-<!-- table showing the query results -->
-<div class="row">
-  <div class="col s12" id="recieved-query-results">
-    <div class="card">
-      <div class="card-content" id="result-list">
-        <span class="card-title">Query Results</span>
-        <p id="query-results-metadata">
-          <button id="export-query-results" class="waves-effect waves-light btn-small right hide" type="submit">Export Results<i class="material-icons right">file_download</i></button>
-        </p>
-        <ul class="pagination paginationTop"></ul>
-        <table class="responsive-table highlight">
-          <thead>
-            <tr>
-              <th style="width: 5%">Title</th>
-              <th style="width: 25%">Left context</th>
-              <th style="width: 45%">Match</th>
-              <th style="width: 25%">Right Context</th>
-            </tr>
-          </thead>
-          <tbody class="list" id="query-results"></tbody>
-        </table>
-        <ul class="pagination paginationBottom"></ul>
-      </div>
-    </div>
-  </div>
-</div>
-
-<!-- Loding animation modal that waits for the CQP server container to be ready
--->
-<div id="loading-modal" class="modal no-autoinit">
-  <div class="modal-content">
-    <h4>Waiting for analysis software</h4>
-    <div class="progress">
-      <div class="indeterminate"></div>
-    </div>
-  </div>
-</div>
-
-<!-- Context modal used for detailed information about one match -->
-<div id="context-modal" class="modal modal-fixed-footer">
-  <div class="modal-content">
-    <h4>Match context and information</h4>
-    <div id="context-modal-loading">
-      <div class="progress">
-        <div class="indeterminate"></div>
-      </div>
-    </div>
-    <div id="context-modal-ready" class="hide">
-      <div id="context-results"></div>
-    </div>
-  </div>
-  <div class="modal-footer">
-    <a href="#!" class="left waves-effect waves-green btn">Export</a>
-    <a href="#!" class="modal-close waves-effect waves-green red btn">Close</a>
-  </div>
-</div>
-
-<script>
-  var contextModal;
-  var loadingModal;
-  var exportModal;
-  document.addEventListener("DOMContentLoaded", function() {
-    contextModal = M.Modal.init(document.getElementById("context-modal"),
-                                {"onCloseEnd": function() {
-                                   document.getElementById("context-modal-loading").classList.remove("hide");
-                                   document.getElementById("context-modal-ready").classList.add("hide");}});
-    loadingModal = M.Modal.init(document.getElementById("loading-modal"),
-                                {"dismissible": false});
-    exportModal = M.Modal.init(document.getElementById("export-query-results-modal"),
-                                {"dismissible": true});
-    M.Collapsible.init(elem, {accordion: false});
-    loadingModal.open();
-    nopaque.socket.emit("request_corpus_analysis", {{ corpus_id }});
-  });
-
-  nopaque.socket.on("request_corpus_analysis", function(msg) {
-    if (msg === "[201]: Created") {loadingModal.close();}
-  });
-
-  var expertModeSwitchElement = document.getElementById("expert-mode-switch");
-  var lookup = {"cpos": null, "s": null, "text": null};
-  var matches = null;
-  var tokenElements = null;
-
-  expertModeSwitchElement.addEventListener('change', function(event) {
-    if (event.target.checked) {
-      tokenElements.forEach(function(tokenElement) {
-        tokenElement.classList.add("chip");
-        token = lookup["cpos"][tokenElement.dataset.cpos];
-        addToolTipToTokenElement(tokenElement, token);
-      });
-    } else {
-      tokenElements.forEach(function(tokenElement) {
-        tokenElement.classList.remove("chip");
-        tokenElement.M_Tooltip.destroy()
-      });
-    }
-  })
-
-  var queryFormElement = document.getElementById("query-form");
-  var queryResultsElement = document.getElementById("query-results");
-  var queryResultsMetadataElement = document.getElementById("query-results-metadata");
-  var exportQueryResults = document.getElementById("export-query-results");
-  exportQueryResults.onclick = function() {
-    exportModal.open();
-  };
-  var contextResultsElement = document.getElementById("context-results");
-  var queryLoadingElement = document.getElementById("getting-query-results");
-  var queryResultsTableElement = document.getElementById("recieved-query-results");
-  var hitsPerPage;
-  queryFormElement.addEventListener("submit", function(event) {
-    event.preventDefault();
-    let formData = new FormData(queryFormElement);
-    let queryData = {"context": formData.get("context"),
-                     "hits_per_page": formData.get("hits_per_page"),
-                     "query": formData.get("query")};
-    hitsPerPage = formData.get("hits_per_page");
-    nopaque.socket.emit("corpus_analysis", queryData);
-    queryLoadingElement.classList.remove("hide");
-    queryResultsTableElement.classList.add("hide");
-    nopaque.toast("Query has been sent!")
-  });
-
-  nopaque.socket.on("corpus_analysis", function(message) {
-    console.log("### corpus_analysis ###");
-    console.log(message);
-    queryLoadingElement.classList.add("hide");
-    queryResultsTableElement.classList.remove("hide");
-    queryResultsElement.innerHTML = "";
-
-    // Reset related global values
-    lookup = {"cpos": null, "s": null, "text": null};
-    matches = null;
-    tokenElements = null;
-
-    if (message === null) {
-      queryResultsTableElement.classList.add("hide");
-      nopaque.toast("No results for this query!")
-      return;
-    } else if (message === "CQI_CQP_ERROR_GENERAL") {
-        queryResultsTableElement.classList.add("hide");
-        nopaque.toast("Invalid query entered!", "red");
-        return;
-      } else {
-        total_nr_matches = message["total_nr_matches"];
-        let count_corpus_files = Object.keys(message["text_lookup"]).length;
-        queryResultsMetadataElement.innerHTML = message["total_nr_matches"] + " matches in " + count_corpus_files + " corpus files.";
-        queryResultsMetadataElement.appendChild(exportQueryResults);
-        exportQueryResults.classList.remove("hide");
-
-        var matchElement;
-        var matchTextTitlesElement;
-        var matchLeftContextElement;
-        var matchHitElement;
-        var matchRightContextElement;
-        var textTitles;
-        var token;
-        var tokenElement;
-
-        // Set related global values
-        lookup["cpos"] = message["cpos_lookup"];
-        lookup["text"] = message["text_lookup"];
-        matches = message["matches"];
-        tokenElements = new Set();
-
-        for (let [index, match] of matches.entries()) {
-          matchElement = document.createElement("tr");
-          matchElement.classList.add("match");
-          matchElement.dataset.index = index;
-          matchTextTitlesElement = document.createElement("td");
-          matchTextTitlesElement.classList.add("text-titles");
-          matchElement.append(matchTextTitlesElement);
-          matchLeftContextElement = document.createElement("td");
-          matchLeftContextElement.classList.add("left-context");
-          for (cpos of match["lc"]) {
-            token = lookup["cpos"][cpos];
-            tokenElement = document.createElement("span");
-            tokenElement.classList.add("token");
-            tokenElement.dataset.cpos = cpos;
-            tokenElement.innerText = token["word"];
-            if (expertModeSwitchElement.checked) {
-              tokenElement.classList.add("chip");
-              addToolTipToTokenElement(tokenElement, token);
-            }
-            matchLeftContextElement.append(tokenElement);
-            matchLeftContextElement.append(document.createTextNode(" "));
-            tokenElements.add(tokenElement);
-          }
-          matchElement.append(matchLeftContextElement);
-          matchHitElement = document.createElement("td");
-          matchHitElement.classList.add("hit");
-          textTitles = new Set();
-          for (cpos of match["hit"]) {
-            token = lookup["cpos"][cpos];
-            tokenElement = document.createElement("span");
-            tokenElement.classList.add("token");
-            tokenElement.dataset.cpos = cpos;
-            tokenElement.innerText = token["word"];
-            if (expertModeSwitchElement.checked) {
-              tokenElement.classList.add("chip");
-              addToolTipToTokenElement(tokenElement, token);
-            }
-            matchHitElement.append(tokenElement);
-            matchHitElement.append(document.createTextNode(" "));
-            tokenElements.add(tokenElement);
-            textTitles.add(lookup["text"][token["text"]]["title"]);
-          }
-          var moreContextBtn = document.createElement("a");
-          moreContextBtn.setAttribute("class", "btn-floating btn waves-effect waves-light teal right inspect");
-          moreContextBtn.innerHTML = '<i class="material-icons">search</i>';
-          matchHitElement.append(document.createElement("br"), document.createElement("br"));
-          matchHitElement.append(moreContextBtn);
-
-          matchTextTitlesElement.innerText = [...textTitles].join(",");
-          matchElement.append(matchHitElement);
-          matchRightContextElement = document.createElement("td");
-          matchRightContextElement.classList.add("right-context");
-          for (cpos of match["rc"]) {
-            token = lookup["cpos"][cpos];
-            tokenElement = document.createElement("span");
-            tokenElement.classList.add("token");
-            tokenElement.dataset.cpos = cpos;
-            tokenElement.innerText = token["word"];
-            if (expertModeSwitchElement.checked) {
-              tokenElement.classList.add("chip");
-              addToolTipToTokenElement(tokenElement, token);
-            }
-            matchRightContextElement.append(tokenElement);
-            matchRightContextElement.append(document.createTextNode(" "));
-            tokenElements.add(tokenElement);
-          }
-          matchElement.append(matchRightContextElement);
-          queryResultsElement.append(matchElement);
-        }
-      }
-      var options = {page: hitsPerPage,
-                     pagination: [{
-                                   name: "paginationTop",
-                                   paginationClass: "paginationTop",
-                                   innerWindow: 8,
-                                   outerWindow: 1
-                                 }, {
-                                   paginationClass: "paginationBottom",
-                                   innerWindow: 8,
-                                   outerWindow: 1
-                                 }],
-                     valueNames: ["text-titles", "left-context", "hit", "right-context"]};
-      var userList = new List('result-list', options);
-
-      var inspectBtns = document.getElementsByClassName("inspect");
-      for(var i = 0; i < inspectBtns.length; i++) {
-        var inspectBtn = inspectBtns[i];
-        var dataIndex = inspectBtn.parentNode.parentNode.getAttribute("data-index");
-        inspectBtn.onclick = function() {
-          contextModal.open();
-          nopaque.socket.emit("inspect_match", {"cpos": matches[dataIndex]["hit"]});
-        };
-      }
-
-    // Function to download data to a file
-    function download(downloadElem, data, filename, type) {
-        var file = new Blob([data], {type: type});
-        if (window.navigator.msSaveOrOpenBlob) // IE10+
-            window.navigator.msSaveOrOpenBlob(file, filename);
-        else { // Others
-            var url = URL.createObjectURL(file);
-            downloadElem.href = url;
-            downloadElem.download = filename;
-        }
-    }
-    // create json filename for download
-    var today = new Date();
-    var currentDate = today.getUTCFullYear() + '-' + (today.getUTCMonth() +1) + '-' + today.getUTCDate();
-    var currentTime = today.getUTCHours() + ":" + today.getUTCMinutes() + ":" + today.getUTCSeconds();
-    var safeFilename = message['query'].replace(/[^a-z0-9_-]/gi, "_");
-    var resultFilename = "UTC-" + currentDate + "_" + currentTime + "_" + safeFilename + ".json";
-    // get a where download is served
-    var downloadResults = document.getElementById("download-results");
-    // stringify JSON object for json download
-    var dataStr = JSON.stringify(message, undefined, 2);
-    downloadResults.onclick = download(downloadResults,
-                                       dataStr,
-                                       resultFilename,
-                                       "text/json");
-  });
-
-
-  function addToolTipToTokenElement(tokenElement, token) {
-    M.Tooltip.init(tokenElement,
-                   {"html": `<table>
-                               <tr>
-                                 <th>Token information</th>
-                                 <th>Source information</th>
-                               </tr>
-                               <tr>
-                                 <td class="left-align">
-                                   Word: ${token["word"]}<br>
-                                   Lemma: ${token["lemma"]}<br>
-                                   POS: ${token["pos"]}<br>
-                                   Simple POS: ${token["simple_pos"]}<br>
-                                   NER: ${token["ner"]}
-                                 </td>
-                                 <td class="left-align">
-                                   Title: ${lookup["text"][token["text"]]["title"]}<br>
-                                   Author: ${lookup["text"][token["text"]]["author"]}<br>
-                                   Publishing year: ${lookup["text"][token["text"]]["publishing_year"]}
-                                 </td>
-                               </tr>
-                             </table>`,
-                   "inDuration": 1500,
-                   "margin": 15,
-                   "position": "top",
-                   "transitionMovement": 0});
-  }
-
-
-  nopaque.socket.on("match_context", function(message) {
-    console.log("### match_context ###");
-    console.log(message);
-    contextResultsElement.innerHTML = "<p>&nbsp;</p>";
-    document.getElementById("context-modal-loading").classList.add("hide");
-    document.getElementById("context-modal-ready").classList.remove("hide");
-
-    var sentenceElement;
-    var token;
-    var tokenElement;
-
-    lookup["cpos"] = {...lookup["cpos"], ...message["cpos_lookup"]};
-    lookup["s"] = message["context_s_cpos"];
-    lookup["text"] = {...lookup["text"], ...message["text_lookup"]};
-
-    for (let [key, value] of Object.entries(message['context_s_cpos'])) {
-      sentenceElement = document.createElement("p");
-      for (cpos of value) {
-        token = lookup["cpos"][cpos];
-        tokenElement = document.createElement("span");
-        tokenElement.classList.add("token");
-        if (message["match_cpos_list"].includes(cpos)) {
-          tokenElement.classList.add("bold");
-        }
-        tokenElement.dataset.cpos = cpos;
-        tokenElement.innerText = token["word"];
-        if (expertModeSwitchElement.checked) {
-          tokenElement.classList.add("chip");
-          addToolTipToTokenElement(tokenElement, token);
-        }
-        tokenElements.add(tokenElement);
-        sentenceElement.append(tokenElement);
-        sentenceElement.append(document.createTextNode(" "));
-      }
-      contextResultsElement.append(sentenceElement);
-    }
-  });
-  // collapsible display options
-  var elem = document.querySelector('.collapsible.expandable');
-</script>
-{% endblock %}
diff --git a/app/templates/corpora/analyse_corpus.html.j2 b/app/templates/corpora/analyse_corpus.html.j2
index ae5d42972a9f64898811caa4af6d55c1bc1d473a..5309249df15a33958e17e3d17aaf8cf8209a840b 100644
--- a/app/templates/corpora/analyse_corpus.html.j2
+++ b/app/templates/corpora/analyse_corpus.html.j2
@@ -1,7 +1,6 @@
 {% extends "nopaque.html.j2" %}
 
 {% set full_width = True %}
-{% set roadmap = False %}
 
 {% block page_content %}
 <!-- Query Form -->
diff --git a/app/templates/corpora/analyse_corpus_pjentsch.html.j2 b/app/templates/corpora/analyse_corpus_pjentsch.html.j2
deleted file mode 100644
index 06c24b97006836f7efa1308d09a32972b3f534b1..0000000000000000000000000000000000000000
--- a/app/templates/corpora/analyse_corpus_pjentsch.html.j2
+++ /dev/null
@@ -1,423 +0,0 @@
-{% extends "full_width.html.j2" %}
-
-{% block page_content %}
-
-<!-- Query Form -->
-<div class="col s12">
-  <form id="query-form">
-    {{ query_form.hidden_tag() }}
-    <ul class="collapsible expandable" id="query-form-collapsible">
-      <li class="active">
-        <div class="collapsible-body" style="padding-top: 10px; padding-right: 2rem; padding-bottom: 0px; padding-left: 2rem;">
-          <div class="row">
-            <div class="col s12 m11 input-field">
-              <i class="material-icons prefix">search</i>
-              {{ query_form.query() }}
-              {{ query_form.query.label }}
-              <span class="helper-text">
-                <a href="http://cwb.sourceforge.net/files/CQP_Tutorial/"><i class="material-icons" style="font-size: inherit;">help</i> CQP query language tutorial</a>
-              </span>
-            </div>
-            <div class="col s12 m1 right-align">
-              <p class="hide-on-small-only" style="margin: 0px;">&nbsp;</p>
-              <button class="btn-small waves-effect waves-light" type="submit">Send<i class="material-icons right">send</i></button>
-            </div>
-          </div>
-        </div>
-      </li>
-      <li>
-        <div class="collapsible-header"><i class="material-icons">settings</i>Display Options</div>
-        <div class="collapsible-body">
-          <div class="row">
-            <div class="col s12 m6 input-field">
-              <i class="material-icons prefix">format_list_numbered</i>
-              {{ query_form.hits_per_page() }}
-              {{ query_form.hits_per_page.label }}
-            </div>
-            <div class="col s12 m6 input-field">
-              <i class="material-icons prefix">short_text</i>
-              {{ query_form.context() }}
-              {{ query_form.context.label }}
-            </div>
-          </div>
-          <div class="col s12">
-            <div class="switch">
-              <label>
-                {{ query_form.expert_mode.label.text }}
-                {{ query_form.expert_mode() }}
-                <span class="lever"></span>
-              </label>
-            </div>
-          </div>
-        </div>
-      </li>
-    </ul>
-  </form>
-</div>
-
-
-<!-- Loading animation card when query results are being loaded -->
-<div class="col s12">
-  <div class="card hide" id="query-loading-card">
-    <div class="card-content">
-      <span class="card-title">Fetching your results!</span>
-      <div>
-        <div class="progress">
-          <div class="indeterminate"></div>
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-<div class="col s12">
-  <div class="card" id="query-results-card">
-    <div class="card-content" id="result-list">
-      <span class="card-title">Query Results</span>
-      <p id="query-results-metadata">
-        <button id="export-query-results" class="waves-effect waves-light btn-small right" type="submit">Export Results<i class="material-icons right">file_download</i></button>
-      </p>
-      <ul class="pagination pagination-top"></ul>
-      <table class="responsive-table highlight">
-        <thead>
-          <tr>
-            <th style="width: 5%">Title</th>
-            <th style="width: 25%">Left context</th>
-            <th style="width: 45%">Match</th>
-            <th style="width: 25%">Right Context</th>
-          </tr>
-        </thead>
-        <tbody class="list" id="query-results"></tbody>
-      </table>
-      <ul class="pagination pagination-bottom"></ul>
-    </div>
-  </div>
-</div>
-
-<!-- Context modal used for detailed information about one match -->
-<div class="modal modal-fixed-footer" id="context-modal">
-  <div class="modal-content">
-    <h4>Match context and information</h4>
-    <div id="context-modal-loading">
-      <div class="progress">
-        <div class="indeterminate"></div>
-      </div>
-    </div>
-    <div id="context-modal-ready" class="hide">
-      <div id="context-results"></div>
-    </div>
-  </div>
-  <div class="modal-footer">
-    <a href="#!" class="left waves-effect waves-green btn">Export</a>
-    <a href="#!" class="modal-close waves-effect waves-green red btn">Close</a>
-  </div>
-</div>
-
-<!-- Export query results modal -->
-<div class="modal modal-fixed-footer" id="export-modal">
-  <div class="modal-content">
-    {{ query_download_form.hidden_tag() }}
-    <h4>Download current query Results</h4>
-    <p>The results of the current query can be downlaoded as several files like csv or json. Those files can be used in other software like excel. Also it is easy to publish your results as raw data like this!</p>
-    <table>
-      <tr>
-        <td>JSON</td>
-        <td>
-          <a class="btn waves-effect waves-light" id="download-results">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-      <tr>
-        <td>CSV</td>
-        <td>
-          <a class="btn waves-effect waves-light disabled">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-      <tr>
-        <td>EXCEL</td>
-        <td>
-          <a class="btn waves-effect waves-light disabled">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-      <tr>
-        <td>HTML</td>
-        <td>
-          <a class="btn waves-effect waves-light disabled">Download
-            <i class="material-icons right">file_download</i>
-          </a>
-        </td>
-      </tr>
-    </table>
-  </div>
-  <div class="modal-footer">
-    <a href="#!" class="modal-close waves-effect waves-green red btn">Close</a>
-  </div>
-</div>
-
-<div id="init-modal" class="modal no-autoinit">
-  <div class="modal-content">
-    <h4>Initializing analysis</h4>
-    <div class="progress">
-      <div class="indeterminate"></div>
-    </div>
-  </div>
-</div>
-
-
-<script>
-  // Modal objects (initialized after DOM content is loaded)
-  var contextModal, exportModal, initModal;
-  // Query form elements
-  var queryFormElement = document.getElementById("query-form"),
-      queryElement = document.getElementById("query");
-  // Display option elements
-  var contextElement = document.getElementById("context"),
-      expertModeElement = document.getElementById("expert_mode"),
-      hitsPerPageElement = document.getElementById("hits_per_page");
-  var queryLoadingCardElement = document.getElementById("query-loading-card"),
-      queryResultsCardElement = document.getElementById("query-results-card"),
-      exportQueryResultsElement = document.getElementById("export-query-results"),
-      resultListElement = document.getElementById("resultList"),
-      resultList = new List('result-list',
-                            {"pagination": [{"name": "paginationTop",
-                                             "paginationClass": "pagination-top",
-                                             "innerWindow": 8,
-                                             "outerWindow": 1},
-                                            {"name": "paginationBottom",
-                                             "paginationClass": "pagination-bottom",
-                                             "innerWindow": 8,
-                                             "outerWindow": 1}],
-                             "valueNames": ["titles", "lc", "hit", "rc"],
-                             "item": `<tr>
-                                        <td class="titles"></td>
-                                        <td class="lc"></td>
-                                        <td class="hit"></td>
-                                        <td class="rc"></td>
-                                      </tr>`});
-  // Query result data store
-  var result = {"lookup": {"cpos": {}, "s": {}, "text": {}}, "matches": []};
-  var tokenElements = [];
-
-  document.addEventListener("DOMContentLoaded", function() {
-    contextModal = M.Modal.getInstance(document.getElementById("context-modal"));
-    exportQueryResultsModal = M.Modal.getInstance(document.getElementById("export-modal"));
-    initModal = M.Modal.init(document.getElementById("init-modal"), {"dismissible": false});
-    M.Collapsible.init(document.getElementById("query-form-collapsible"), {"accordion": false});
-    initModal.open();
-    nopaque.socket.emit("corpus_analysis_init", {{ corpus_id }});
-  });
-
-  // close loading modal if container for analysis has started
-  nopaque.socket.on("corpus_analysis_init", function(response) {
-    if (response.code === 201) {
-      initModal.close();
-    } else {
-      console.log("[ERROR] corpus_analysis_init");
-      console.log(response);
-    }
-  });
-
-  expertModeElement.addEventListener("change", function(event) {
-    var tooltip;
-
-    if (expertModeElement.checked) {
-      for (let tokenElement of tokenElements) {
-        tokenElement.classList.add("chip");
-        token = lookup["cpos"][tokenElement.dataset.cpos];
-        addToolTipToTokenElement(tokenElement, token);
-      }
-    } else {
-      for (let tokenElement of tokenElements) {
-        tooltip = M.Tooltip.getInstance(tokenElement);
-        tooltip.destroy();
-        tokenElement.classList.remove("chip");
-      }
-    }
-  });
-
-  exportQueryResultsElement.addEventListener("click", function() {
-    exportModal.open();
-  });
-
-  // Get query form element and save its data on submit and send this data via
-  // socket.io to the CQP server
-  queryFormElement.addEventListener("submit", function(event) {
-    event.preventDefault();
-    let queryData = {"context": contextElement.value,
-                     "hits_per_page": hitsPerPageElement.value,
-                     "query": queryElement.value};
-    nopaque.socket.emit("corpus_analysis", queryData);
-    nopaque.toast("Query has been sent!");
-    // Unhide (show) loading card and hide result card
-    queryLoadingCardElement.classList.remove("hide");
-    queryResultsCardElement.classList.add("hide");
-    resultList.clear();
-    lookup = {"cpos": {}, "s": {}, "text": {}};
-    matches = [];
-    tokenElements = [];
-  });
-
-
-  // socket.on triggered when result chunks are recieved
-  nopaque.socket.on("corpus_analysis", function(chunk) {
-    console.log("### Recieved query results chunk ###");
-    console.log(chunk);
-
-    // Sanity checks
-    if (!chunk) {
-      // No results for this query
-      nopaque.toast("No results!");
-      return;
-    } else if (chunk === "CQI_CQP_ERROR_GENERAL") {
-      // Invalid query
-      queryResultsTableElement.classList.add("hide");
-      nopaque.toast("Invalid query!", "red");
-      return;
-    }
-
-    // Add chunk to the query result data stores
-    matches.push(...chunk["matches"]);
-    lookup["cpos"] = {...lookup["cpos"], ...chunk["cpos_lookup"]};
-    lookup["text"] = {...lookup["text"], ...chunk["text_lookup"]};
-    console.log("### Updated query result data stores ###");
-    console.log(matches);
-    console.log(lookup);
-    // Hide loading card and Unhide (show) result card
-    queryLoadingCardElement.classList.add("hide");
-    queryResultsCardElement.classList.remove("hide");
-
-    // write metadata query information into HTML elements
-    // like nr. of all matches in how many files etc.
-    // TODO: count_corpus_files müssen aus full results genommen werden.
-    let count_corpus_files = Object.keys(lookup["text"]).length;
-    queryResultsMetadataElement.innerHTML = chunk["total_nr_matches"] + " matches in " + count_corpus_files + " corpus files.";
-    queryResultsMetadataElement.appendChild(exportQueryResults);
-
-    var toAdd = [];
-    for (let [index, match] of chunk["matches"].entries()) {
-      lc_tokens = "";
-      for (cpos of match["lc"]) {
-        word = chunk["cpos_lookup"][cpos]["word"];
-        lc_tokens += " " + word;
-      }
-      // console.log(lc_tokens);
-      hit_tokens = "";
-      for (cpos of match["hit"]) {
-        word = chunk["cpos_lookup"][cpos]["word"];
-        hit_tokens += " " + word;
-      }
-      // console.log(hit_tokens);
-      rc_tokens = "";
-      for (cpos of match["rc"]) {
-        word = chunk["cpos_lookup"][cpos]["word"];
-        rc_tokens += " " + word;
-      }
-      // console.log(rc_tokens);
-      item = { titles: "test", lc: lc_tokens, hit: hit_tokens, rc: rc_tokens };
-      toAdd.push(item);
-    }
-    resultList.add(toAdd, function(toAdd) {console.log('All ' + toAdd.length + 'results were added!')});
-      });
-
-    // Function to download data to a file
-    function download(downloadElem, data, filename, type) {
-        var file = new Blob([data], {type: type});
-        if (window.navigator.msSaveOrOpenBlob) // IE10+
-            window.navigator.msSaveOrOpenBlob(file, filename);
-        else { // Others
-            var url = URL.createObjectURL(file);
-            downloadElem.href = url;
-            downloadElem.download = filename;
-        }
-    // create json filename for download
-    var today = new Date();
-    var currentDate = today.getUTCFullYear() + '-' + (today.getUTCMonth() +1) + '-' + today.getUTCDate();
-    var currentTime = today.getUTCHours() + ":" + today.getUTCMinutes() + ":" + today.getUTCSeconds();
-    var safeFilename = message['query'].replace(/[^a-z0-9_-]/gi, "_");
-    var resultFilename = "UTC-" + currentDate + "_" + currentTime + "_" + safeFilename + ".json";
-    // get a where download is served
-    var downloadResults = document.getElementById("download-results");
-    // stringify JSON object for json download
-    var dataStr = JSON.stringify(message, undefined, 2);
-    downloadResults.onclick = download(downloadResults,
-                                       dataStr,
-                                       resultFilename,
-                                       "text/json");
-  };
-
-
-  function addToolTipToTokenElement(tokenElement, token) {
-    M.Tooltip.init(tokenElement,
-                   {"html": `<table>
-                               <tr>
-                                 <th>Token information</th>
-                                 <th>Source information</th>
-                               </tr>
-                               <tr>
-                                 <td class="left-align">
-                                   Word: ${token["word"]}<br>
-                                   Lemma: ${token["lemma"]}<br>
-                                   POS: ${token["pos"]}<br>
-                                   Simple POS: ${token["simple_pos"]}<br>
-                                   NER: ${token["ner"]}
-                                 </td>
-                                 <td class="left-align">
-                                   Title: ${lookup["text"][token["text"]]["title"]}<br>
-                                   Author: ${lookup["text"][token["text"]]["author"]}<br>
-                                   Publishing year: ${lookup["text"][token["text"]]["publishing_year"]}
-                                 </td>
-                               </tr>
-                             </table>`,
-                   "inDuration": 1500,
-                   "margin": 15,
-                   "position": "top",
-                   "transitionMovement": 0});
-  }
-
-
-  nopaque.socket.on("match_context", function(message) {
-    console.log("### match_context ###");
-    console.log(message);
-    contextResultsElement.innerHTML = "<p>&nbsp;</p>";
-    document.getElementById("context-modal-loading").classList.add("hide");
-    document.getElementById("context-modal-ready").classList.remove("hide");
-
-    var sentenceElement;
-    var token;
-    var tokenElement;
-
-    lookup["cpos"] = {...lookup["cpos"], ...message["cpos_lookup"]};
-    lookup["s"] = message["context_s_cpos"];
-    lookup["text"] = {...lookup["text"], ...message["text_lookup"]};
-
-    for (let [key, value] of Object.entries(message['context_s_cpos'])) {
-      sentenceElement = document.createElement("p");
-      for (cpos of value) {
-        token = lookup["cpos"][cpos];
-        tokenElement = document.createElement("span");
-        tokenElement.classList.add("token");
-        if (message["match_cpos_list"].includes(cpos)) {
-          tokenElement.classList.add("bold");
-        }
-        tokenElement.dataset.cpos = cpos;
-        tokenElement.innerText = token["word"];
-        if (expertModeSwitchElement.checked) {
-          tokenElement.classList.add("chip");
-          addToolTipToTokenElement(tokenElement, token);
-        }
-        tokenElements.add(tokenElement);
-        sentenceElement.append(tokenElement);
-        sentenceElement.append(document.createTextNode(" "));
-      }
-      contextResultsElement.append(sentenceElement);
-    }
-  });
-  // collapsible display options
-  var elem = document.querySelector('.collapsible.expandable');
-</script>
-{% endblock %}
diff --git a/app/templates/corpora/corpus.html.j2 b/app/templates/corpora/corpus.html.j2
index b6058be5b78b0bf54d12cb18b2ed30f1c7e3484a..67a3ec29b85d3011f0da1b4ac162133770253899 100644
--- a/app/templates/corpora/corpus.html.j2
+++ b/app/templates/corpora/corpus.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3 id="title">{{ corpus.title }}</h3>
diff --git a/app/templates/corpora/edit_corpus_file.html.j2 b/app/templates/corpora/edit_corpus_file.html.j2
index 4076e280cae4463d2f3aa2045257e97078c2511b..071c91d16e69defe36247cf3f623f4431943e9c5 100644
--- a/app/templates/corpora/edit_corpus_file.html.j2
+++ b/app/templates/corpora/edit_corpus_file.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3 id="title">...</h3>
diff --git a/app/templates/jobs/job.html.j2 b/app/templates/jobs/job.html.j2
index c6ac3ba61a07475e5f69c512b76b63e7c0093733..2d1d97a74bd2463051d3532c5ebd6b7f9af06651 100644
--- a/app/templates/jobs/job.html.j2
+++ b/app/templates/jobs/job.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-<!-- Override title -->
 {% set title = '<i class="material-icons left service" data-service="{service}" style="font-size: inherit;"></i>Job'.format(service=job.service) %}
 
 {% block page_content %}
diff --git a/app/templates/main/dashboard.html.j2 b/app/templates/main/dashboard.html.j2
index c910bbcfc2d708c761d01aee7f391151946b1080..50dfdf04a9ededca0f75067a2393b41a64510bbd 100644
--- a/app/templates/main/dashboard.html.j2
+++ b/app/templates/main/dashboard.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12" id="corpora">
   <h3>My Corpora</h3>
diff --git a/app/templates/main/index.html.j2 b/app/templates/main/index.html.j2
index 89bdd77fb327555ca3c3d95cca349b8f2047cd31..923876f8e8f9d98d1f8ee00473169078748e18af 100644
--- a/app/templates/main/index.html.j2
+++ b/app/templates/main/index.html.j2
@@ -4,6 +4,23 @@
 
 {% block page_content %}
 {% if current_user.is_anonymous %}
+<script>
+  document.getElementById("sidenav-main").classList.add("hide");
+</script>
+<style>
+  header, main, footer {
+    padding-left: 0;
+  }
+
+  .modal:not(.bottom-sheet) {
+    left: 0;
+  }
+
+  .navbar-fixed > nav {
+    width: 100%;
+  }
+</style>
+
 <div class="parallax-container">
   <div class="parallax">
     <img src="{{ url_for('static', filename='images/bible_text.jpg') }}" alt="">
diff --git a/app/templates/main/poster.html.j2 b/app/templates/main/poster.html.j2
index ee3c6a81f7ed5c1426c1fcb1709fc59c832e788a..a5389a0efec8050bac3c670f32a3fffce6ed7130 100644
--- a/app/templates/main/poster.html.j2
+++ b/app/templates/main/poster.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <style>
   input::placeholder {
diff --git a/app/templates/main/poster2.html.j2 b/app/templates/main/poster2.html.j2
deleted file mode 100644
index 3f0cbd2342d73371267146bf590aed9493b48c20..0000000000000000000000000000000000000000
--- a/app/templates/main/poster2.html.j2
+++ /dev/null
@@ -1,68 +0,0 @@
-{% extends "nopaque.html.j2" %}
-
-{% set full_width = False %}
-{% set roadmap = False %}
-
-{% block page_content %}
-<div class="col s6">
-  <div class="card">
-    <div class="card-content">
-      <span class="card-title"><i class="material-icons left">burst_mode</i>Setup files</span>
-      <p>
-        Häufig liegen Datenbestände in verschiedenen Formaten und verstreut
-        vor. Da eine Verarbeitung via nopaque ein einheitliches Datenformat
-        vorsieht, wird dieser Dienst zur Verfügung gestellt, um etwaig
-        anfallende Konvertierungsprozesse durchzuführen.
-      </p>
-      <blockquote>Umgesetzt mit <i>ImageMagick</i></blockquote>
-    </div>
-  </div>
-</div>
-
-<div class="col s6">
-  <div class="card">
-    <div class="card-content">
-      <span class="card-title"><i class="material-icons left">find_in_page</i>Optical Character Recognition</span>
-      <p>
-        Durch optische Analysemethoden mit werden aus Bilddaten, wie Fotos
-        oder Scans, Textdaten erzeugt. Erst dieser Vorverarbeitungsschritt
-        ermöglicht eine weitere computergestützte Verarbeitung von Dokumenten.
-        <br><br>
-      </p>
-      <blockquote>Umgesetzt mit <i>Tesseract OCR</i></blockquote>
-    </div>
-  </div>
-</div>
-
-<div class="col s12"></div>
-
-<div class="col s6">
-  <div class="card">
-    <div class="card-content">
-      <span class="card-title"><i class="material-icons left">format_textdirection_l_to_r</i>Natural Language Processing</span>
-      <p>
-        Mit Hilfe computergestützter linguistischer
-        Datenverarbeitungsmethoden (Tokenisierung, Lemmatisierung,
-        Part-of-speech-Tagging und Eigennamenerkennung) werden Textdateien
-        mit weiteren Informationen angereichert.
-      </p>
-      <blockquote>Umgesetzt mit <i>spaCy</i></blockquote>
-    </div>
-  </div>
-</div>
-
-<div class="col s6">
-  <div class="card">
-    <div class="card-content">
-      <span class="card-title"><i class="material-icons left">search</i>Corpus Analysis</span>
-      <p>
-        Mittels CQP Query Language als Abfragesprache können komplexe
-        Suchanfragen unter Zu­hil­fe­nah­me von Metadaten und NLP-Auszeichnungen
-        ausgeführt werden. Ergebnisse können als Text oder in abstrakter
-        Darstellung ausgewertet werden.
-      </p>
-      <blockquote>Umgesetzt mit <i>IMS Open Corpus Workbench</i></blockquote>
-    </div>
-  </div>
-</div>
-{% endblock %}
diff --git a/app/templates/nopaque.html.j2 b/app/templates/nopaque.html.j2
index 9b08695d89330aaf50fd619c69a1e55bbd4ded85..88edbe47a091cd721050f5efeb9a46d266d58239 100644
--- a/app/templates/nopaque.html.j2
+++ b/app/templates/nopaque.html.j2
@@ -154,23 +154,5 @@
         {% endfor %}
       });
     </script>
-    {% if not current_user.is_authenticated %}
-    <script>
-      document.getElementById("slide-out").classList.add("hide");
-    </script>
-    <style>
-      header, main, footer {
-        padding-left: 0;
-      }
-
-      .modal:not(.bottom-sheet) {
-        left: 0;
-      }
-
-      .navbar-fixed > nav {
-        width: 100%;
-      }
-    </style>
-    {% endif %}
   </body>
 </html>
diff --git a/app/templates/profile/index.html.j2 b/app/templates/profile/index.html.j2
index 6a26317b7832db13ee4184bf74612f6aa104fa5b..da47e065818997e2351edb4c7e5b2ee7f142cf08 100644
--- a/app/templates/profile/index.html.j2
+++ b/app/templates/profile/index.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = False %}
-
 {% block page_content %}
 <div class="col s12 m4">
   <h3>Dark Mode</h3>
diff --git a/app/templates/services/corpus_analysis.html.j2 b/app/templates/services/corpus_analysis.html.j2
index 06497d7a5e282d0f38615446666f55321d676dc8..7073bc5c7bf986079da1e83de19c3be097395274 100644
--- a/app/templates/services/corpus_analysis.html.j2
+++ b/app/templates/services/corpus_analysis.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = True %}
-
 {% block page_content %}
 <div class="col s12 m9 l10">
   <div class="col s12">
diff --git a/app/templates/services/nlp.html.j2 b/app/templates/services/nlp.html.j2
index 1e1de9f829c9fb7fbd6bb2819b0a6ce126e43b1f..3d813c3de8699fd9658c2ef3caeda1867b793e9f 100644
--- a/app/templates/services/nlp.html.j2
+++ b/app/templates/services/nlp.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = True %}
-
 {% block page_content %}
 <div class="col s12 m9 l10">
   <div class="col s12">
diff --git a/app/templates/services/ocr.html.j2 b/app/templates/services/ocr.html.j2
index 845c5368ac2506454d20689fda7a8219c2bf84f4..7f55a72506b7b30c1a3cec05afe173b5b7a00c68 100644
--- a/app/templates/services/ocr.html.j2
+++ b/app/templates/services/ocr.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = True %}
-
 {% block page_content %}
 <div class="col s12 m9 l10">
   <div class="col s12">
diff --git a/app/templates/services/setup_files.html.j2 b/app/templates/services/setup_files.html.j2
index e06af5c6482b9f20dc3181e13e6dcb9fd66d343c..4b62f3ade870b48d5181d8f15dd827a8773e7d08 100644
--- a/app/templates/services/setup_files.html.j2
+++ b/app/templates/services/setup_files.html.j2
@@ -1,8 +1,5 @@
 {% extends "nopaque.html.j2" %}
 
-{% set full_width = False %}
-{% set roadmap = True %}
-
 {% block page_content %}
 <div class="col s12 m9 l10">
   <div class="col s12">
diff --git a/app/templates/test/index.html.j2 b/app/templates/test/index.html.j2
deleted file mode 100644
index 3fb77913e30fa6ec3dc1371e61162845e3c43790..0000000000000000000000000000000000000000
--- a/app/templates/test/index.html.j2
+++ /dev/null
@@ -1,80 +0,0 @@
-{% extends "limited_width.html.j2" %}
-
-{% block page_content %}
-<div class="col s12">
-  <h3>Submit a Test</h3>
-</div>
-
-<div class="col s12">
-  <div class="card">
-    <form class="nopaque-form" data-loading-modal="test-progress-modal" id="test-form">
-      {{ test_form.hidden_tag() }}
-      <div class="card-content">
-        <div class="row">
-          <div class="col s12 m4">
-            <div class="input-field">
-              <i class="material-icons prefix">title</i>
-              {{ test_form.title(class='validate', data_length='32') }}
-              {{ test_form.title.label }}
-            </div>
-          </div>
-          <div class="col s12 m8">
-            <div class="input-field">
-              <i class="material-icons prefix">description</i>
-              {{ test_form.description(class='validate', data_length='255') }}
-              {{ test_form.description.label }}
-            </div>
-          </div>
-          <div class="col s12">
-            <div class="file-field input-field">
-              <div class="btn">
-                <span>{{ test_form.file.label.text }}</span>
-                {{ test_form.file() }}
-              </div>
-              <div class="file-path-wrapper">
-                <input class="file-path validate" type="text">
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="card-action right-align">
-        <button class="btn waves-effect waves-light" name="submit" type="submit">Submit<i class="material-icons right">send</i></button>
-      </div>
-    </form>
-  </div>
-</div>
-
-<div class="modal" id="test-progress-modal">
-  <div class="modal-content">
-    <h4>Waiting for data transfer</h4>
-    <div class="progress">
-      <div class="indeterminate"></div>
-    </div>
-  </div>
-</div>
-
-<script>
-var testFormElement = document.forms.namedItem("test-form");
-
-nopaque.socket.on("submit-test-form", function(response) {
-  let loadingModalElement = document.getElementById(testFormElement.dataset.loadingModal);
-  if (response.status === 201) {
-    testFormElement.reset();
-    for (let helperText of testFormElement.querySelectorAll(".helper-text")) {
-      helperText.remove();
-    }
-    nopaque.toast("Success!");
-  } else if (response.status === 400) {
-    let errorElement;
-    for (let [field, error] of Object.entries(response.msg)) {
-      errorElement = document.createElement("span");
-      errorElement.classList.add("helper-text", "red-text");
-      errorElement.innerText = error;
-      testFormElement.querySelector(`input[name="${field}"]`).closest(".input-field").appendChild(errorElement);
-    }
-  }
-  M.Modal.getInstance(loadingModalElement).close();
-});
-</script>
-{% endblock %}