diff --git a/themes/fid_bbi/js/theme.js b/themes/fid_bbi/js/theme.js
index 76111a94f9e7b430b0f661150ecab6f52e3553e1..3f131cbf59ab1a206a53cd55fd27d574bab73f72 100644
--- a/themes/fid_bbi/js/theme.js
+++ b/themes/fid_bbi/js/theme.js
@@ -69,8 +69,13 @@ const theme = {
         continue
       }
 
-      // eslint-disable-next-line no-new
-      new SlimSelect({
+      // Exclude type select in advanced search: These fields are cloned an
+      // extra handling for re-initializing SlimSelect would be required
+      if (select.classList.contains('adv-term-type')) {
+        continue
+      }
+
+      new SlimSelect({ // eslint-disable-line no-new
         select,
         closeOnSelect: !isMultiSelect,
         placeholder: 'Auswahl',
diff --git a/themes/fid_bbi/languages/de.ini b/themes/fid_bbi/languages/de.ini
index abe90783a971528c4251cf43a4190984612cd176..5ad29ff59a3c50b9039182f1727904cca81d6995 100644
--- a/themes/fid_bbi/languages/de.ini
+++ b/themes/fid_bbi/languages/de.ini
@@ -41,3 +41,5 @@ home_step_3 = <p>Registrieren Sie sich kostenlos für die Nutzung weiterer Funkt
 home_tagline = Das Nachweisportal für die <br>Buch-, Biblio­theks- und Informa­tions­wissen­schaft
 
 licenses_BookHistoryOnline = Bibliographie "Book History Online" bei brill.com
+
+offcanvas-toggler-search-tips = Suchtipps anzeigen
diff --git a/themes/fid_bbi/scss/blocks/advanced-search.scss b/themes/fid_bbi/scss/blocks/advanced-search.scss
index 02f1d457155fb351558df63b5c7f704656b9786d..a07bd99b2a3fdc6be727f0a71858fcb538a0c8e4 100644
--- a/themes/fid_bbi/scss/blocks/advanced-search.scss
+++ b/themes/fid_bbi/scss/blocks/advanced-search.scss
@@ -1,116 +1,219 @@
-.advanced-search {
-  width: 100%;
-}
+// Styling the original Bootstrap 3 template, thus not following fid_bbi theme
+// naming rules
 
-.advanced-search_actions {
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: space-between;
-  margin: g(-.5);
-  margin-top: g(-.75);
+#advSearchForm {
+  .add_search_link {
+    margin-top: g();
+  }
 
-  > * {
-    margin: g(.5);
+  // Group of multiple searches
+  .adv-group {
+    @extend .border;
+    margin: g() auto !important; // Override .border margin
+    position: relative;
   }
 
-  > button {
-    width: 100%;
+  .adv-group-close {
+    display: inline-block;
+    margin-top: g();
 
-    @media #{$bp2} {
-      width: auto;
+    @media #{$bp3} {
+      position: absolute;
+      right: g();
+      bottom: g(1.5);
     }
   }
-}
 
-.advanced-search_conditions {
-  padding: 0;
-}
+  .adv-group-label {
+    margin-bottom: g(.5);
+  }
 
-.advanced-search_condition {
-  display: flex;
-  flex-wrap: wrap;
-  margin: g(-.25) g(-.25) g(-.25 + 1);
+  .adv-group-match {
+    border-top: 2px solid;
+    padding-top: g() - 2px;
+    margin-top: g(.5);
 
-  &::before {
-    content: none;
+    label + select {
+      margin-left: 0;
+    }
   }
 
-  > button,
-  label {
-    align-items: center;
-    margin: g(.25);
+  .adv-group-terms {
+    margin-bottom: g();
+
+    @media #{$bp3} {
+      flex: 1;
+      margin-bottom: 0;
+    }
+  }
+
+  // Container of "Results per Page" and "Year of Publication"
+  .adv-submit + .clearfix {
+    display: flex;
+    flex-direction: column;
+    margin: g(-.5);
     max-width: 100%;
+
+    @media #{$bp2} {
+      flex-wrap: wrap;
+      flex-direction: row;
+      max-width: none;
+    }
   }
 
-  label,
-  input,
-  select {
-    width: 100%;
+  .adv-term-input {
+    flex: 1;
+    margin-bottom: g(.5);
+    width: calc(100% - #{g(2.5)}); // Space for "x" button
 
     @media #{$bp3} {
+      margin-right: g(.5);
       width: auto;
     }
   }
 
-  > label {
-    width: calc(100% - #{g(3)});
+  .adv-search:only-of-type .adv-term-input {
+    width: 100%;
 
     @media #{$bp3} {
       width: auto;
     }
   }
-}
 
-.advanced-search_options {
-  border: 0;
-  box-shadow: none;
-  display: flex;
-  flex: 1;
-  flex-wrap: wrap;
-  margin: 0;
-  padding: 0;
+  .adv-term-remove {
+    box-shadow: 0 0 0 2px inset;
+    display: inline-block;
+    flex: 0 0 g(2);
+    font-size: g();
+    align-self: flex-start;
+    line-height: g(2);
+    margin: 0 g(.5) 0 0;
+    order: -1;
+    text-align: center;
+
+    @media #{$bp3} {
+      margin: 0 0 0 g(.5);
+      order: 0;
+    }
+
+    @include hover {
+      background: $button-hover-bg;
+    }
 
-  &.-year {
-    [type=number] {
-      margin-left: g(.5);
-      max-width: 5em;
-      min-width: 5em;
+    &::after {
+      content: '×';
     }
   }
-}
 
-.advanced-search_more {
-  @include button-icon-bg(big);
+  .adv-search {
+    display: flex;
+    flex-wrap: wrap;
+    margin-bottom: g();
+
+    @media #{$bp3} {
+      margin-bottom: 0;
+    }
 
-  .icon {
-    color: #fff;
+    .input-group {
+      width: 100%;
+    }
   }
-}
 
-.advanced-search_remove {
-  align-self: flex-end;
-  order: -1;
-  padding: g(.5) - 2px;
+  .adv-submit {
+    display: flex;
+    flex-direction: row-reverse;
+    justify-content: space-between;
+    margin: g() 0;
+
+    .clear-btn {
+      @extend a;
+      align-self: flex-end;
+      border: 0;
+      height: auto;
+      margin-bottom: g(.5);
+      padding: 0;
+    }
+  }
 
-  @media #{$bp3} {
-    order: 0;
+  .adv-term-type {
+    width: 100%;
+
+    @media #{$bp3} {
+      margin-bottom: g(.5);
+      max-width: 33.333%;
+    }
   }
-}
 
-.advanced-search_submit {
-  @include button-icon-bg(big);
-}
+  // "Back" link
+  .close-offcanvas {
+    display: none;
+  }
+
+  .date-fields {
+    clear: both;
+    display: flex;
+
+    label + [type=text] {
+      margin-left: 0;
+    }
 
-.advanced-search_term {
-  display: flex;
-  flex: 1;
+    input {
+      width: 4.5rem; // Fit 4 digits
+    }
+  }
 
-  [data-type=year] & {
-    flex: 0;
+  .date-to {
+    margin-left: .5em;
   }
 
-  input,
-  select { /* stylelint-disable-line */
+  // "Results per Page" and "Year of Publication"
+  .limits,
+  .range.left {
     flex: 1;
+    margin: g(.5);
+    width: 100%;
+
+    @media #{$bp2} {
+      width: auto;
+    }
   }
+
+  // Header
+  .mainbody.left > .clearfix:first-child {
+    display: flex;
+    flex-direction: column;
+  }
+
+  // "Show search help" link\
+  .offcanvas-toggler {
+    order: 1;
+    text-align: center;
+  }
+
+  // "Search Tips"
+  .sidebar {
+    margin: 0;
+    max-width: none;
+  }
+
+  .slider-container {
+    display: none;
+  }
+
+  .solr-adv-facet {
+    + .solr-adv-facet {
+      margin-top: g(.5);
+    }
+  }
+
+  .solr-facets {
+    margin: g(.5);
+    width: 100%;
+  }
+}
+
+#groupJoin {
+  margin-top: g();
+  order: 2;
+  text-align: center;
 }
diff --git a/themes/fid_bbi/scss/blocks/border.scss b/themes/fid_bbi/scss/blocks/border.scss
index 8892cc8ad7127ca8e634d2d5afd034825415ea1f..a126d029abaf15d110d250f3b4d275bfba8ed918 100644
--- a/themes/fid_bbi/scss/blocks/border.scss
+++ b/themes/fid_bbi/scss/blocks/border.scss
@@ -1,4 +1,6 @@
 .border {
   border: 2px solid $text-color;
+  margin: 0 auto;
+  max-width: $line-width;
   padding: g() - 2px;
 }
diff --git a/themes/fid_bbi/scss/blocks/results.scss b/themes/fid_bbi/scss/blocks/results.scss
index 52a9d021c9d51f448510edf913dcc4c8027e9c5e..ed3d2197be4dc2060747ccef19d0e05f5253fba7 100644
--- a/themes/fid_bbi/scss/blocks/results.scss
+++ b/themes/fid_bbi/scss/blocks/results.scss
@@ -28,6 +28,17 @@
   }
 }
 
+.results_advanced-search-info {
+  @extend .alert;
+  color: $text-muted-color;
+  margin: g(.25) g(.25) g(.25 + .5);
+  width: 100%;
+
+  h3 {
+    margin: 0 0 g(.5);
+  }
+}
+
 .results_count {
   margin: g(.25);
 }
diff --git a/themes/fid_bbi/templates/layout/layout.phtml b/themes/fid_bbi/templates/layout/layout.phtml
index 67bef23384f760b393b1678f32cfaab5f2de6175..0a21b508a4eb29989b9f0758444e14945df53970 100644
--- a/themes/fid_bbi/templates/layout/layout.phtml
+++ b/themes/fid_bbi/templates/layout/layout.phtml
@@ -3,19 +3,9 @@
 
 <!-- fid_bbi: layout - layout -->
 <body class="layout <?=$this->templateName === 'home' ? '-home' : '-default'?>">
-  <?php
-  // Set up the search box -- there are three possible cases:
-  // 1. No search box was set; we should default to the normal box
-  // 2. It was set to false; we should display nothing
-  // 3. It is set to a custom string; we should display the provided version
-  // Set up default search box if no data was provided from the template;
-  // this covers case 1.  Cases 2 and 3 are then covered by logic below.
-  if (!isset($this->layout()->searchbox)) {
-    $this->layout()->searchbox = $this->render('search/searchbox.phtml');
-  }
-  ?>
+  <?php $this->layout()->searchbox = $this->render('search/searchbox.phtml'); ?>
 
-  <?php /* Add landmark role to avoid 'all content must be inside landmarks error', CK */ ?>
+  <?php // Add landmark role to avoid 'all content must be inside landmarks error', CK ?>
   <div role="navigation" aria-label="Skip_navigation_links">
     <?php if (isset($this->layout()->srmessage)): ?>
       <span class="sr-only"><?=$this->layout()->srmessage?></span>
@@ -27,7 +17,8 @@
 
   <?=$this->render('header.phtml')?>
 
-  <main class="main">
+  <?php // NOTE: `role="main` is obsolete, but several scripts stop working when it is removed ?>
+  <main class="main" role="main">
     <div class="main_wrap">
       <?=$this->layout()->content?>
     </div>
@@ -49,14 +40,14 @@
     aria-labelledby="modal-title"
     aria-modal="true"
   >
-    <div class="modal_content">
+    <section class="modal_content">
       <button class="-icon-only -small close" data-dismiss="modal" tabindex="0">
         <?=$this->icon('small/x')?>
         <span class="sr-only"><?=$this->transEsc('Close')?></span>
       </button>
       <div class="sr-only" id="modal-description"><?=$this->transEsc('Modal_description')?></div>
       <div class="modal_main modal-body"><?=$this->transEsc('Loading')?>&nbsp;&hellip;</div>
-    </div>
+    </section>
   </div>
 
   <?=$this->googleanalytics()?>
diff --git a/themes/fid_bbi/templates/search/advanced-search-info.phtml b/themes/fid_bbi/templates/search/advanced-search-info.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a021b153178d9e06958d2d8a6483c68501ec58cf
--- /dev/null
+++ b/themes/fid_bbi/templates/search/advanced-search-info.phtml
@@ -0,0 +1,39 @@
+<!-- fid_bbi - templates - search - advanced-search-info -->
+<?php
+// Following section adaption from themes/finc/templates/search/results.phtml
+$searchType = $this->params->getSearchType();
+$searchId = $this->results->getSearchId();
+$searchClassId = $this->params->getSearchClassId();
+$lookfor = $this->results->getUrlQuery()->isQuerySuppressed() ? '' : $this->params->getDisplayQuery();
+
+// following section adaption from themes/finc/templates/search/searchbox.phtml
+
+// Set default value if necessary
+if (!isset($this->searchClassId)) {
+    $this->searchClassId = 'Solr';
+}
+
+// Load search actions and settings (if any)
+$options = $this->searchOptions($this->searchClassId);
+$advSearch = $options->getAdvancedSearchAction();
+?>
+
+<?php if ($searchType == 'advanced'): ?>
+  <div class="results_advanced-search-info">
+    <?=$this->icon('small/magnifier')?>
+
+    <h3><?=$this->translate('Advanced Search')?></h3>
+
+    <p>
+      <?=$this->translate('Your search terms')?>:
+      <strong><?=$this->escapeHtml($lookfor)?></strong>
+    </p>
+
+    <p>
+      <a href="<?=$this->url($advSearch)?>?edit=<?=$this->escapeHtmlAttr($searchId)?>">
+        <?=$this->transEsc('Edit this Advanced Search')?>
+      </a>
+    </p>
+  </div>
+<?php endif; ?>
+<!-- fid_bbi - templates - search - advanced-search-info - END -->
diff --git a/themes/fid_bbi/templates/search/results.phtml b/themes/fid_bbi/templates/search/results.phtml
index 22cbe3ed9af23f3e262abc23511ae6b7b772e785..17aa1814e7800a3cc2146d04cc4e8bedb2a765e1 100644
--- a/themes/fid_bbi/templates/search/results.phtml
+++ b/themes/fid_bbi/templates/search/results.phtml
@@ -64,6 +64,8 @@ $this->headScript()->appendFile("check_save_statuses.js");
     <?=$this->flashmessages()?>
 
     <div class="results_header">
+      <?=$this->render('search/advanced-search-info.phtml');?>
+
       <div class="results_count">
         <?=$this->translate('%%count%% results', ['%%count%%' => $this->localizedNumber($recordTotal)])?>
       </div>