From 82ff68212293f60f7a177f1c691635f06c339945 Mon Sep 17 00:00:00 2001
From: Robert Lange <robert.lange@uni-leipzig.de>
Date: Tue, 3 Sep 2019 15:00:39 +0200
Subject: [PATCH] parent 62e0277292d72b75226f6ba616fd11611f9bc612 author Robert
 Lange <robert.lange@uni-leipzig.de> 1567515639 +0200 committer Dorian Merz
 <merz@ub.uni-leipzig.de> 1569409532 +0200

refs #15785 [fid_adlr] result list

* optimize search option
** show "results per page" in sidebar as adlr template like sort option
** set text uppercase
** improve displayed text in sidebar
** expand margin to sort option
* style range slider label
** use uppercase and bold text
** remove colon
* style sidebar and mainbody
** expand distance between results and sidebar...
** .. and therefore expand mainbody width for xl screens
** add padding for mobile sidebar
** adapt result list more like mockup: remove main border et cetera
* refactor simple display problems in result list
** also open lightbox by clicking saving search
** prevent overlapping facet text
** center text in get-it-box vertically
* change api - set latest adlr api
* implement pagination styling
** as described in mockup
** arrows for previous and next page
** text for current page and link to last page
* remove breadcrumbs
* style links for save search and send search by mail
* set font style for Year Of Publication
* remove gibberish placeholder for formats in result list
* use Englisch text in get-it-box for English AND German
* redefine and translate side facets
** dont show 'finc_class_facet's
** rename Collections in German
** translate 'facet_avail'ables
** expand distance between header filter above result list and result list
* move 'keep-filter-box' from searchbox to side facets
** remove checkbox to keep filter from searchbox (hidden inputs still remain)
** add general link to delete all facet filters in sidebar
** add translation for ALL filters to reset
** => also decreases confusion about format filter in searchbox (which are not going to be reseted)
** actually remove placeholder in result-list
* rename 'clear all filters' for German
* show minus symbol for 'less' button in side facets
* use format_de15
** set indexExtension to de15 to get needed format in SolrDefaultFincTrait ?!
** change format in results to format_de15
* maximize highlighting for all kind of solr fields
* disable highlighting in searches.ini
** set highlighting to false
** set snippets to false
---
 fid_adlr/alpha/config/vufind/searches.ini     |   6 +-
 fid_adlr/config/vufind/facets.ini             |  22 +-
 fid_adlr/config/vufind/searches.ini           |   3 +-
 fid_adlr/languages/de.ini                     |  24 +-
 fid_adlr/languages/en.ini                     |  10 +
 themes/fid_adlr/scss/_customMixins.scss       |   1 +
 themes/fid_adlr/scss/_customVariables.scss    |   6 +
 themes/fid_adlr/scss/compiled.scss            | 245 +++++++++++++++---
 .../templates/Recommend/SideFacets.phtml      |   7 +-
 .../Recommend/SideFacets/cluster-list.phtml   |   2 +-
 .../Recommend/SideFacets/filter-list.phtml    |  73 ++++--
 .../Recommend/SideFacets/range-slider.phtml   |   4 +-
 .../DefaultRecord/result-list.phtml           |   3 -
 .../RecordDriver/SolrAI/result-list.phtml     |   3 -
 themes/fid_adlr/templates/layout/layout.phtml |  26 --
 .../search/controls/limit-offcanvas.phtml     |  18 ++
 .../search/controls/sort-offcanvas.phtml      |  20 +-
 .../templates/search/pagination.phtml         |  49 ++++
 .../fid_adlr/templates/search/results.phtml   |   4 +-
 .../fid_adlr/templates/search/searchbox.phtml |   6 -
 20 files changed, 401 insertions(+), 131 deletions(-)
 create mode 100644 themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml
 create mode 100644 themes/fid_adlr/templates/search/pagination.phtml

diff --git a/fid_adlr/alpha/config/vufind/searches.ini b/fid_adlr/alpha/config/vufind/searches.ini
index 4ba7eeadf1f..94f5a2410cd 100644
--- a/fid_adlr/alpha/config/vufind/searches.ini
+++ b/fid_adlr/alpha/config/vufind/searches.ini
@@ -32,4 +32,8 @@ kxp = index.ub.uni-leipzig.de/kxp/biblio
 [ShardPreferences]
 showCheckboxes = true
 defaultChecked[0] = "ai"
-defaultChecked[1] = "kxp"
\ No newline at end of file
+defaultChecked[1] = "kxp"
+
+[General]
+highlighting = false
+snippets = false
\ No newline at end of file
diff --git a/fid_adlr/config/vufind/facets.ini b/fid_adlr/config/vufind/facets.ini
index f4408780a71..0575323bb66 100644
--- a/fid_adlr/config/vufind/facets.ini
+++ b/fid_adlr/config/vufind/facets.ini
@@ -26,13 +26,21 @@ override_full_sections = "HomePage,Results"
 [Results]
 ; institution        = Institution
 ; use facet_avail instead of access_facet
-facet_avail	   = Access
-format_finc        = Medientyp
-finc_class_facet   = Fachgebiet
-mega_collection    = Collection
-language           = Language
-author_facet	   = Author
-publishDateSort    = "adv_search_year"
+facet_avail	      = Access
+format_de15       = Medientyp
+mega_collection   = Collection
+language          = Language
+author_facet	    = Author
+publishDateSort   = "adv_search_year"
 
 [Results_Settings]
 collapsedFacets = language,finc_class_facet,mega_collection,author_facet
+
+[Advanced_Settings]
+translated_facets[]   = institution
+translated_facets[]   = language
+translated_facets[]   = access_facet
+translated_facets[]   = finc_class_facet
+translated_facets[]   = format_de15
+translated_facets[]   = mega_collection
+translated_facets[]   = facet_avail
diff --git a/fid_adlr/config/vufind/searches.ini b/fid_adlr/config/vufind/searches.ini
index 802698ff878..50667255303 100644
--- a/fid_adlr/config/vufind/searches.ini
+++ b/fid_adlr/config/vufind/searches.ini
@@ -47,4 +47,5 @@ ISN                 = "ISBN/ISSN/ISMN"
 side[] = "SideFacets:Results:CheckboxFacets"
 
 [General]
-highlighting_fields = topic, topic_ref, title_alt, title_new, title_old, series2, contents, fulltext, rvk_label, author_ref, author_corp_ref, author_variant, author2_variant, author_orig, author2_orig, author_corporate_orig, author_corporate2_orig
+highlighting = false
+snippets = false
\ No newline at end of file
diff --git a/fid_adlr/languages/de.ini b/fid_adlr/languages/de.ini
index 1b7b7de2eeb..65fe8979764 100644
--- a/fid_adlr/languages/de.ini
+++ b/fid_adlr/languages/de.ini
@@ -20,21 +20,35 @@ LibraryName = "adlr.link - Literatur für Kommunikations- und Medienwissenschaft
 
 enter-search-term = "Suchbegriff eingeben ..."
 
-About Us = Über uns
-Blog = Blog
+About Us = "Über uns"
+Blog = "Blog"
+Collection = "Kollektion"
 Create New Account = "Registrieren"
 Find = "Suchen"
 Login = "Login"
 Menu = "Menü"
 New Items = Neuerscheinungen
-Press Databases = Pressedatenbanken, E-Books
-Specific Databases = Fachspezifische Datenbanken
+Press Databases = "Pressedatenbanken, E-Books"
+Specific Databases = "Fachspezifische Datenbanken"
 header_text = "Ressourcen für die Kommunikations-, Medien- und Filmwissenschaft"
 prefacet_all = "Alles"
 prefacet_books_and_more = "Bücher & mehr"
 open_search_box = "Suche öffnen"
 Refine Results = "Filter"
-get_it = "Anfordern"
+clear_tag_filter_all = "alle Filter zurücksetzen"
+get_it = "Get it"
+
+# facet_avail
+Availability  = "Zugang"
+Free          = "Open Access"
+Local         = "Physische Ressourcen"
+Microform     = "Mikroform"
+Online        = "Online-Ressourcen"
+Visual Media  = "Bildmaterial"
+
+# Pagination
+Page = "Seite"
+of = "von"
 
 # SearchTabs
 All = "Alle"
diff --git a/fid_adlr/languages/en.ini b/fid_adlr/languages/en.ini
index 5b92308ecab..7c1087a57bd 100644
--- a/fid_adlr/languages/en.ini
+++ b/fid_adlr/languages/en.ini
@@ -34,8 +34,18 @@ prefacet_all = "All"
 prefacet_books_and_more = "Books & more"
 open_search_box = "Open Search Box"
 Refine Results = "Filter"
+clear_tag_filter_all = "Clear all Filters"
 get_it = "Get it"
 
+# facet_avail
+Availability = "Access"
+Free    = "Open Access"
+Local   = "Physical Resources"
+Online  = "Online Resources"
+
+# Pagination
+Page = "Page"
+of = "of"
 
 # SearchTabs
 All = "All"
diff --git a/themes/fid_adlr/scss/_customMixins.scss b/themes/fid_adlr/scss/_customMixins.scss
index 1c0e08adec8..c4765d0c0f3 100644
--- a/themes/fid_adlr/scss/_customMixins.scss
+++ b/themes/fid_adlr/scss/_customMixins.scss
@@ -567,6 +567,7 @@
 
 @mixin result-list-btn-getitbox {
   @include btn;
+  vertical-align: text-bottom;
   width: 152px;
 }
 
diff --git a/themes/fid_adlr/scss/_customVariables.scss b/themes/fid_adlr/scss/_customVariables.scss
index fe6971cf74c..be699654d4a 100644
--- a/themes/fid_adlr/scss/_customVariables.scss
+++ b/themes/fid_adlr/scss/_customVariables.scss
@@ -319,6 +319,11 @@ $search-toggle-padding-bottom-top: 40px;
 //// which gives you the left or right gutter width; this can be taken further by using '$grid-gutter-width / 1.5' etc
 $grid-gutter-width: 30px !default;
 
+//// define standard main content minimum width
+$main-content-container-min-width-lg: 1170px;
+//// increase main content width for really wide screens
+$main-content-container-max-width-xl: 1250px;
+
 //// Navbar gets a minimum-height of 50px by default, activate and change here!
 //   For fixed navbars ('navbar-fixed-top' in 'header.phtml'),
 //   the body requires a padding-bottom of the same height
@@ -390,6 +395,7 @@ $content-l-r-padding: $grid-gutter-width / 2 !default; // default = 30px / 2 = 1
 //// Pagination (Search results) AND searchtools (Search results)
 //// Default is left, we use centered alignment. If left is desired,
 //// comment out next mixing and '.pagination ...'  and 'searchtools ...' in compiled.scss
+$pagination-flexbox-basis-20-percent: 20%;
 // ALIGNMENTS - END
 
 //// Z-Index
diff --git a/themes/fid_adlr/scss/compiled.scss b/themes/fid_adlr/scss/compiled.scss
index 4278f10c2ac..e52a7ece1bf 100644
--- a/themes/fid_adlr/scss/compiled.scss
+++ b/themes/fid_adlr/scss/compiled.scss
@@ -161,11 +161,6 @@ table {
 // ++ Fieldsets
 // ++ Legend elements
 // ++ label {}
-.sort label,
-.limit label {
-  font-weight: 700;
-}
-
 // ++ input {}
 // ++ Select {}
 select {
@@ -205,6 +200,33 @@ a {
 // em {}
 // TEXT DECORATION - END
 
+// Sizing
+.flex-box-20 {
+  flex-basis: $pagination-flexbox-basis-20-percent;
+}
+.flex-box-40 {
+  flex-basis: calc(2 * #{$pagination-flexbox-basis-20-percent});
+}
+.flex-box-60 {
+  flex-basis: calc(3 * #{$pagination-flexbox-basis-20-percent});
+}
+.flex-box-80 {
+  flex-basis: calc(4 * #{$pagination-flexbox-basis-20-percent});
+}
+.flex-column-default {
+  display: -webkit-flex;
+  -webkit-flex-direction: column;
+  display: flex;
+  flex-direction: column;
+}
+.flex-column-reverse {
+  display: -webkit-flex;
+  -webkit-flex-direction: column-reverse;
+  display: flex;
+  flex-direction: column-reverse;
+}
+// Sizing - END
+
 
 // CLASSES (Elements that are used in several places)
 // ++ HELPER Classes
@@ -262,6 +284,7 @@ a {
 
 .btn-getitbox {
   @include result-list-btn-getitbox;
+  padding: 17px;
 
   @media screen and (max-width: $screen-xs-max) {
 
@@ -852,24 +875,6 @@ body:not(.template-name-home) {
 }
 
 
-/*
-display: block;
-padding: 3px 20px;
-clear: both;
-font-weight: 400;
-line-height: @line-height-base;
-color: @dropdown-link-color;
-white-space: nowrap; // prevent links from randomly breaking onto new lines
-
-&:hover,
-&:focus {
-  color: @dropdown-link-hover-color;
-  text-decoration: none;
-  background-color: @dropdown-link-hover-bg;
-}
-}
-*/
-
 // search (box) and elements in affix mode (on scrolling)
 .search.affix {
   @include fixed-navbar-search;
@@ -1045,11 +1050,14 @@ input.searchForm_lookfor {
 
 .container .sidebar.right {
   @media screen and (max-width: $screen-xs-max) {
-    padding: 0;
+    padding: 10px;
     select {
       max-width: none;
     }
   }
+  @media screen and (min-width: $screen-sm-min) {
+    padding-left: 20px;
+  }
   select {
     @include result-list-border($black);
     background-color: $white;
@@ -1065,15 +1073,11 @@ input.searchForm_lookfor {
 }
 
 .search-header {
-  margin-bottom: 4em;
+  margin-bottom: 5em;
   margin-top: 2em;
   width: $search-panel-width-xs;
 }
 
-.result-body, .author {
-  color: $asphalt;
-}
-
 .search-stats {
   .offcanvas-toogler {
     float: none;
@@ -1096,25 +1100,63 @@ input.searchForm_lookfor {
 }
 
 .search-controls {
+  font-family: $font-family-monospace;
+  &.hidden-lg {
+    form {
+      min-width: 100%;
+    }
+    select {
+      font-size: calc(#{$font-size-base} * 0.9);
+      font-weight: 600;
+      text-transform: uppercase;
+    }
+  }
+
   select {
     @include result-list-border($black);
     background-color: $white;
+    font-family: $font-family-sans-serif;
+    max-width: unset;
+    padding-right: 20px;
+    &.hidden-xs {
+      font-weight: 600;
+    }
   }
   label {
-    position: absolute;
+    font-weight: 700;
+    letter-spacing: 1.5px;
     margin-top: -2em;
+    position: absolute;
+    text-transform: uppercase;
   }
   .limit {
+    @media screen and (min-width: $screen-sm-min) {
+      margin-right: 30px;
+    }
+
+    @media screen and (min-width: $screen-lg-min) {
+      margin-right: 50px;
+    }
+
     label {
       padding-top: 6px;
     }
     select {
-      min-width: 8em;
+      min-width: 10em;
+    }
+  }
+  .sort {
+    select {
+      max-width: unset;
     }
   }
   .mailsave {
     span {
       margin-left: 1em;
+      @media screen and (min-width: $screen-sm-min) {
+        position: relative;
+        top: 15px;
+      }
     }
   }
 }
@@ -1146,14 +1188,26 @@ input.searchForm_lookfor {
   margin-top: 3em;
 }
 
+.result-body {
+  color: $asphalt;
+  @media screen and (min-width: $screen-xl-min) {
+    width: 80%;
+  }
+}
+
 .result-links {
   .save-record, #toolbar-menu {
     color: $violet;
   }
   // move favorites and other icons to the right
   text-align: right;
+
+  @media screen and (min-width: $screen-xl-min) {
+      width: 20%;
+  }
 }
 
+
 .result:nth-of-type(2n) {
   background-color: transparent;
 }
@@ -1167,19 +1221,45 @@ input.searchForm_lookfor {
   // set colors for selected filters in sidebar
   .active-filters, .facet-group {
     .facet {
+      -webkit-hyphens: auto;
+      -moz-hyphens: auto;
+      -ms-hyphens: auto;
+      -o-hyphens: auto;
+      hyphens: auto;
+      word-break: break-all; // fallback for hyphens: auto (Chrome on Desktop and bug on Mozilla for capitalized words)
       &:hover {
         background-color: transparent;
       }
-      .text {
+      &.all-filters {
+          border-bottom: 2px solid $violet;
+      }
+      .date-fields {
+        label {
+          font-family: $font-family-monospace;
+          font-weight: 700;
+          text-transform: uppercase;
+        }
+      }
+      .text{
         display: -webkit-inline-flex;
         display: -ms-inline-flexbox;
         display: -webkit-box;
         display: flex;
+        -ms-word-break: break-word;
+        word-break: break-word;
         & > span {
           display: inline-block;
         }
       }
     }
+
+    .title {
+      display: -webkit-inline-flex;
+      display: -ms-inline-flexbox;
+      display: -webkit-box;
+      -ms-word-break: break-word;
+      word-break: break-word;
+    }
   }
   .active-filters {
     @include result-list-border($violet !important);
@@ -1189,6 +1269,11 @@ input.searchForm_lookfor {
       color: $violet;
     }
   }
+  .btn-default {
+    font-family: $font-family-monospace;
+    font-weight: bold;
+    text-transform: uppercase;
+  }
   .facet-group {
     @include accordeon;
   }
@@ -1233,6 +1318,7 @@ input.searchForm_lookfor {
 // ++ GENERAL CONTENT PAGE
 .main {
   min-height: 1000px;
+
   &.collapsing {
     height: 0;
     min-height: 0;
@@ -1272,6 +1358,20 @@ input.searchForm_lookfor {
       }
     }
   }
+
+  .container {
+    border: 0;
+    @media screen and (min-width: $screen-lg-min) {
+      min-width: $main-content-container-min-width-lg;
+      .mainbody {
+        padding-right: 80px;
+      }
+    }
+    @media screen and (min-width: $screen-xl-min) {
+      max-width: $main-content-container-max-width-xl;
+      width: 70%;
+    }
+  }
 }
 // ++ GENERAL CONTENT PAGE - END
 
@@ -1373,6 +1473,87 @@ div[class$="-tab"] {
 // ++ ADVANCED SEARCH
 // ++ ADVANCED SEARCH - END
 
+//
+// Pagination (multiple pages)
+// --------------------------------------------------
+ul.pagination {
+  display: flex;
+  font-family: $font-family-monospace;
+  font-weight: bold;
+  letter-spacing: 2px;
+  margin: 0;
+  text-transform: uppercase;
+
+  > li {
+    display: inline; // Remove list-style and block-level defaults
+    > a,
+    > span {
+      border: 0;
+      color: $black;
+      float: left; // Collapse white-space
+      text-decoration: none;
+
+      &:hover,
+      &:focus {
+        background: transparent;
+        color: inherit;
+        z-index: 2;
+      }
+    }
+  }
+
+  > .active > a,
+  > .active > span {
+    &,
+    &:hover,
+    &:focus {
+      background-color: transparent;
+      border: 0;
+      color: $black;
+      cursor: default;
+      //margin-top: 22px;
+      z-index: 3;
+    }
+  }
+
+  > .last > a {
+    //margin-top: 22px;
+  }
+
+  > .disabled {
+    > span,
+    > span:hover,
+    > span:focus,
+    > a,
+    > a:hover,
+    > a:focus {
+
+    }
+  }
+
+  .page-curr {
+    margin-top: 25px;
+  }
+
+  .page-next {
+    display: flex;
+    flex-direction: row-reverse;
+    .icon {
+      font-size: 30px;
+    }
+    > a {
+      margin-top: 15px;
+    }
+  }
+
+  .page-prev {
+    margin-top: 10px;
+    .icon {
+      font-size: 40px;
+    }
+  }
+}
+// Pagination (multiple pages) - END
 // PAGE ELEMENTS (Top --> Down) - END
 
 // +++++ Footer - START
diff --git a/themes/fid_adlr/templates/Recommend/SideFacets.phtml b/themes/fid_adlr/templates/Recommend/SideFacets.phtml
index 0e1ffde3e8c..bb1f7c75f79 100644
--- a/themes/fid_adlr/templates/Recommend/SideFacets.phtml
+++ b/themes/fid_adlr/templates/Recommend/SideFacets.phtml
@@ -73,9 +73,8 @@ if ($hierarchicalFacets) {
     </div>
   <?php endforeach; ?>
 <?php endif; ?>
-<div class="hidden-lg">
-  <span class="sort">
-      <?=$this->render('search/controls/sort-offcanvas.phtml')?>
-  </span>
+<div class="hidden-lg search-controls">
+    <?= $this->render('search/controls/sort-offcanvas.phtml') ?>
+    <?= $this->render('search/controls/limit-offcanvas.phtml') ?>
 </div>
 <!-- fid_adlr: recommend - sidefacets - END -->
diff --git a/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml b/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml
index 5ff73fef360..adebd55c12a 100644
--- a/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml
+++ b/themes/fid_adlr/templates/Recommend/SideFacets/cluster-list.phtml
@@ -44,6 +44,6 @@
     </a>
   <?php endif; ?>
   <a class="facet narrow-toggle <?=$moreClass ?>" href="#" onclick="return lessFacets('narrowGroupHidden-<?=$this->escapeHtmlAttr($this->title) ?>')">
-    <span class="text"><?=$this->transEsc('less')?></span>
+    <i class="icon icon-minus-circle" aria-hidden="true"></i>&nbsp;&nbsp;<span class="text"><?=$this->transEsc('less')?></span>
   </a>
 <?php endif; ?>
diff --git a/themes/fid_adlr/templates/Recommend/SideFacets/filter-list.phtml b/themes/fid_adlr/templates/Recommend/SideFacets/filter-list.phtml
index ea20f83154e..80a3ff1db14 100644
--- a/themes/fid_adlr/templates/Recommend/SideFacets/filter-list.phtml
+++ b/themes/fid_adlr/templates/Recommend/SideFacets/filter-list.phtml
@@ -1,32 +1,49 @@
 <!-- fid_adlr: Recommend - SideFacets - filter-list -->
-<div class="facet-group active-filters">
-  <?php foreach ($filterList as $field => $filters): ?>
-    <?php foreach ($filters as $i => $filter): ?>
-      <?php
-        $index = isset($filter['field']) ? array_search($filter['field'], $collapsedFacets) : false;
-        if ($index !== false) {
-          unset($collapsedFacets[$index]); // Open if we have a match
-        }
-        if (isset($filter['specialType']) && $filter['specialType'] == 'keyword') {
-          $removeLink = $this->currentPath() . $results->getUrlQuery()->replaceTerm($filter['value'], '');
-        } else {
-          $removeLink = $this->currentPath() . $results->getUrlQuery()->removeFacet($filter['field'], $filter['value'], $filter['operator']);
-        }
-        if ($filter['displayText'] == '[* TO *]') {
-          $filter['displayText'] = $this->translate('filter_wildcard');
-        }
-      ?>
-      <a class="facet" href="<?=$removeLink ?>" title="<?=$this->transEsc('clear_tag_filter') ?>">
-        <span class="text">
-            <i class="icon icon-close" aria-hidden="true"></i>&nbsp;
-            <?php if ($filter['operator'] == 'NOT'): ?><?=$this->transEsc('NOT') ?><?php endif; ?>
-            <?php if ($filter['operator'] == 'OR' && $i > 0): ?><?=$this->transEsc('OR') ?><?php endif; ?>
-            <?=$this->transEsc($field) ?>: <?=$this->escapeHtml($filter['displayText']) ?>
-        </span>
-        <?php /* fid_adlr: Move icon refs #15646 - GG */ ?>
-        <?php /* */ ?>
-      </a>
+<div class="facet-group active-filters flex-column-reverse">
+  <span class="flex-column-default">
+    <?php $filterCount = 0; ?>
+    <?php foreach ($filterList as $field => $filters): ?>
+      <?php foreach ($filters as $i => $filter): ?>
+        <?php
+          $filterCount++;
+          $index = isset($filter['field']) ? array_search($filter['field'], $collapsedFacets) : false;
+          if ($index !== false) {
+            unset($collapsedFacets[$index]); // Open if we have a match
+          }
+          if (!isset($removeAllLinkQuery)) {
+              $removeAllLinkQuery = $results->getUrlQuery();
+          }
+          if (isset($filter['specialType']) && $filter['specialType'] == 'keyword') {
+            $removeLink = $this->currentPath() . $results->getUrlQuery()->replaceTerm($filter['value'], '');
+            $removeAllLinkQuery = $removeAllLinkQuery->replaceTerm($filter['value'], '');
+          } else {
+            $removeLink = $this->currentPath() . $results->getUrlQuery()->removeFacet($filter['field'], $filter['value'], $filter['operator']);
+            $removeAllLinkQuery = $removeAllLinkQuery->removeFacet($filter['field'], $filter['value'], $filter['operator']);
+          }
+          if ($filter['displayText'] == '[* TO *]') {
+            $filter['displayText'] = $this->translate('filter_wildcard');
+          }
+        ?>
+        <a class="facet" href="<?=$removeLink ?>" title="<?=$this->transEsc('clear_tag_filter') ?>">
+          <span class="text">
+              <i class="icon icon-close" aria-hidden="true"></i>&nbsp;
+              <?php if ($filter['operator'] == 'NOT'): ?><?=$this->transEsc('NOT') ?><?php endif; ?>
+              <?php if ($filter['operator'] == 'OR' && $i > 0): ?><?=$this->transEsc('OR') ?><?php endif; ?>
+              <?=$this->transEsc($field) ?>: <?=$this->escapeHtml($filter['displayText']) ?>
+          </span>
+          <?php /* fid_adlr: Move icon refs #15646 - GG */ ?>
+          <?php /* */ ?>
+        </a>
+      <?php endforeach; ?>
     <?php endforeach; ?>
-  <?php endforeach; ?>
+  </span>
+  <?php if ($filterCount > 1 && !empty($removeAllLinkQuery)): ?>
+    <a class="facet all-filters" href="<?= $this->currentPath() . $removeAllLinkQuery ?>" title="<?= $this->transEsc('clear_tag_filter_all') ?>">
+      <span class="text">
+        <i class="icon icon-trash-2" aria-hidden="true"></i>&nbsp;
+        <?= $this->transEsc('clear_tag_filter_all') ?>
+      </span>
+    </a>
+  <?php endif; ?>
 </div>
 <!-- fid_adlr: Recommend - SideFacets - filter-list - END -->
\ No newline at end of file
diff --git a/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml b/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml
index a4d803a2393..51c57800bfb 100644
--- a/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml
+++ b/themes/fid_adlr/templates/Recommend/SideFacets/range-slider.phtml
@@ -10,13 +10,13 @@
       <?php $extraInputAttribs = ($this->facet['type'] == 'date') ? 'maxlength="4" ' : ''; ?>
       <div class="date-from">
         <label for="<?=$this->escapeHtmlAttr($this->title)?>from">
-          <?=$this->transEsc('date_from')?>:
+          <?=$this->transEsc('date_from')?>
         </label>
         <input type="text" class="form-control" name="<?=$this->escapeHtmlAttr($this->title)?>from" id="<?=$this->escapeHtmlAttr($this->title)?>from" value="<?=isset($this->facet['values'][0])?$this->escapeHtmlAttr($this->facet['values'][0]):''?>" <?=$extraInputAttribs?>/>
       </div>
       <div class="date-to">
         <label for="<?=$this->escapeHtmlAttr($this->title)?>to">
-          <?=$this->transEsc('date_to')?>:
+          <?=$this->transEsc('date_to')?>
         </label>
         <input type="text" class="form-control" name="<?=$this->escapeHtmlAttr($this->title)?>to" id="<?=$this->escapeHtmlAttr($this->title)?>to" value="<?=isset($this->facet['values'][1])?$this->escapeHtmlAttr($this->facet['values'][1]):''?>" <?=$extraInputAttribs?>/>
       </div>
diff --git a/themes/fid_adlr/templates/RecordDriver/DefaultRecord/result-list.phtml b/themes/fid_adlr/templates/RecordDriver/DefaultRecord/result-list.phtml
index cddc6162d3d..2151f54393b 100644
--- a/themes/fid_adlr/templates/RecordDriver/DefaultRecord/result-list.phtml
+++ b/themes/fid_adlr/templates/RecordDriver/DefaultRecord/result-list.phtml
@@ -143,9 +143,6 @@ $i = 0;
         <span class="left">
           <?=$this->record($this->driver)->getFormatList()?>
         </span>
-        <span class="right">
-          askldflsahd
-        </span>
       </div>
       <div class="result-getitbox">
         <a class="btn btn-primary btn-getitbox" href="<?=$this->url('search-email')?>" data-lightbox rel="nofollow"><?=$this->transEsc("get_it")?></a>
diff --git a/themes/fid_adlr/templates/RecordDriver/SolrAI/result-list.phtml b/themes/fid_adlr/templates/RecordDriver/SolrAI/result-list.phtml
index 21f210ff2f8..466c7b44a49 100644
--- a/themes/fid_adlr/templates/RecordDriver/SolrAI/result-list.phtml
+++ b/themes/fid_adlr/templates/RecordDriver/SolrAI/result-list.phtml
@@ -134,9 +134,6 @@ if ($cover):
         <span class="left">
           <?=$this->record($this->driver)->getFormatList()?>
         </span>
-        <span class="right">
-          askldflsahd
-        </span>
         <?php /* WISO Label - finc-specific - CK */ ?>
         <?php $sourceID = $this->driver->getSourceID(); ?>
         <span class="branding label SID<?=($sourceID)?>" title="<?=$this->transEsc("SID$sourceID")?>"></span>
diff --git a/themes/fid_adlr/templates/layout/layout.phtml b/themes/fid_adlr/templates/layout/layout.phtml
index d3eab1458cc..1d4d7c46493 100644
--- a/themes/fid_adlr/templates/layout/layout.phtml
+++ b/themes/fid_adlr/templates/layout/layout.phtml
@@ -163,32 +163,6 @@ if (!isset($this->layout()->searchbox)) {
 <header class="hidden-print collapse in">
   <?=$this->render('header.phtml')?>
 </header>
-<nav class="breadcrumbs">
-  <?php /* finc: DON'T use .container here or the breadcrumbs will get a left+right padding - CK */ ?>
-  <?php if ((!isset($this->layout()->showBreadcrumbs) || $this->layout()->showBreadcrumbs == true)
-    && !empty($this->layout()->breadcrumbs)
-    && $this->layout()->breadcrumbs !== false
-  ): ?>
-    <ul class="breadcrumb large-centered hidden-xs hidden-print">
-      <?php if (is_array($this->layout()->breadcrumbs)): ?>
-        <?php if (count($this->layout()->breadcrumbs) > 1): ?>
-          <?=$this->render('breadcrumbs/multi.phtml', [
-            'parents' => $this->layout()->breadcrumbs,
-            'title' => $this->layout()->title,
-            'from' => $this->layout()->from
-          ])?>
-        <?php else: ?>
-          <?=$this->render('breadcrumbs/default.phtml', [
-            'parents' => $this->layout()->breadcrumbs,
-            'title' => $this->layout()->title
-          ])?>
-        <?php endif; ?>
-      <?php else: ?>
-        <?=$this->layout()->breadcrumbs?>
-      <?php endif; ?>
-    </ul>
-  <?php endif; ?>
-</nav>
 <div role="main" class="main collapse in" id="main">
   <div id="content" class="container">
     <?=$this->layout()->content?>
diff --git a/themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml b/themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml
new file mode 100644
index 00000000000..5056040f553
--- /dev/null
+++ b/themes/fid_adlr/templates/search/controls/limit-offcanvas.phtml
@@ -0,0 +1,18 @@
+<!-- fid_adlr: search - controls - limit -->
+<?php $limitList = $this->params->getLimitList(); ?>
+<?php if (count($limitList) > 1): ?>
+  <?php /* finc: DO NOT use class 'form-inline' as it messes up the select box */ ?>
+  <form action="<?=$this->currentPath() . $this->results->getUrlQuery()->setLimit(null)?>" method="post">
+    <?php /* finc: DO NOT use class 'form-control' as it messes up the select box */ ?>
+    <select id="limit" name="limit" class="margin-t limit jumpMenu">
+      <option disabled selected><?=$this->transEsc('Results per page')?></option>
+      <?php foreach ($limitList as $limitVal => $limitData): ?>
+        <option value="<?=$this->escapeHtmlAttr($limitVal)?>" <?=$limitData['selected']? ' selected="selected" ':'' ?>>
+            <?=$this->escapeHtml($limitData['desc'])?> <?=$this->transEsc('Results per page')?>
+        </option>
+      <?php endforeach; ?>
+    </select>
+    <noscript><input type="submit" value="<?=$this->transEsc("Set")?>" /></noscript>
+  </form>
+<?php endif; ?>
+<!-- fid_adlr: search - controls - limit - END -->
diff --git a/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml b/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml
index 27016097913..7afb2632c89 100644
--- a/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml
+++ b/themes/fid_adlr/templates/search/controls/sort-offcanvas.phtml
@@ -1,17 +1,17 @@
 <!-- fid_adlr: search - controls - sort -->
-<?php $list = $this->params->getSortList(); if (!empty($list)): ?>
-    <?php /* finc: we use class 'text-right' */ ?>
-  <label for="sort_options_1"><?/* =$this->transEsc('Sort')*/?></label>
-  <form class="search-sort text-right" action="<?=$this->currentPath()?>" method="get" name="sort">
-    <?=$this->results->getUrlQuery()->asHiddenFields(['sort' => '/.*/']);?>
+<?php $list = $this->params->getSortList();
+if (!empty($list)): ?>
+  <?php /* finc: we use class 'text-right' */ ?>
+  <form class="sort search-sort text-right" action="<?= $this->currentPath() ?>" method="get" name="sort">
+    <?= $this->results->getUrlQuery()->asHiddenFields(['sort' => '/.*/']); ?>
     <?php /* finc: DO NOT use class 'form-control' as it messes up the select box */ ?>
     <select id="sort_options_1" name="sort" class="jumpMenu">
-      <option value="" disabled selected><?=$this->transEsc('Sort')?></option>
-      <?php foreach ($list as $sortType => $sortData): ?>
-        <option value="<?=$this->escapeHtmlAttr($sortType)?>" <?=$sortData['selected']?' selected="selected"':''?>><?=$this->transEsc($sortData['desc'])?></option>
-      <?php endforeach; ?>
+      <option disabled selected><?= $this->transEsc('Sort') ?></option>
+        <?php foreach ($list as $sortType => $sortData): ?>
+          <option value="<?= $this->escapeHtmlAttr($sortType) ?>" <?= $sortData['selected'] ? ' selected="selected"' : '' ?>><?= $this->transEsc($sortData['desc']) ?></option>
+        <?php endforeach; ?>
     </select>
-    <noscript><input type="submit" class="btn btn-primary" value="<?=$this->transEsc("Set")?>" /></noscript>
+    <noscript><input type="submit" class="btn btn-primary" value="<?= $this->transEsc("Set") ?>"/></noscript>
   </form>
 <?php endif; ?>
 <!-- fid_adlr: search - controls - sort - END -->
diff --git a/themes/fid_adlr/templates/search/pagination.phtml b/themes/fid_adlr/templates/search/pagination.phtml
new file mode 100644
index 00000000000..2b946c8c000
--- /dev/null
+++ b/themes/fid_adlr/templates/search/pagination.phtml
@@ -0,0 +1,49 @@
+<!-- fid_adlr: search - pagination -->
+<?php if ($this->pageCount): ?>
+  <ul class="pagination flex">
+      <?php if (isset($this->previous)): ?>
+        <li class="page-prev flex-box-20">
+          <a href="<?= $this->currentPath() . $this->results->getUrlQuery()->setPage($this->previous) ?>">
+        <span>
+          <i class="icon icon-arrow-left" aria-hidden="true"></i>
+        </span></a>
+        </li>
+      <?php endif; ?>
+
+      <?php if (count($this->pagesInRange) > 1): ?>
+        <li class="page-curr <?php if (isset($this->previous)): ?>flex-box-60<?php else: ?>flex-box-80<?php endif; ?>">
+          <div <?php if (isset($this->previous)): ?>class="text-center"<?php endif; ?>>
+          <?php foreach ($this->pagesInRange as $page): ?>
+            <?php if ($page == $this->current): ?>
+              <span class="active">
+                <?= $this->transEsc('Page') ?>
+              </span>
+              <span class="active">
+                <?= $this->current ?>
+              </span>
+            <?php endif; ?>
+          <?php endforeach; ?>
+          <?php if (isset($this->next) && !isset($this->options['disableLast']) || !$this->options['disableLast']): ?>
+            <span class="active">
+              <?= $this->transEsc('of') ?>
+            </span>
+            <span class="last">
+              <a href="<?= $this->currentPath() . $this->results->getUrlQuery()->setPage($this->pageCount) ?>">
+                  <?= $this->pageCount ?>
+              </a>
+            </span>
+          <?php endif; ?>
+          </div>
+        </li>
+      <?php endif; ?>
+
+      <?php if (isset($this->next)): ?>
+        <li class="page-next flex-box-20">
+          <a href="<?= $this->currentPath() . $this->results->getUrlQuery()->setPage($this->next) ?>">
+            <i class="icon icon-arrow-right" aria-hidden="true"></i>
+          </a>
+        </li>
+      <?php endif; ?>
+  </ul>
+<?php endif; ?>
+<!-- fid_adlr: search - pagination - END -->
diff --git a/themes/fid_adlr/templates/search/results.phtml b/themes/fid_adlr/templates/search/results.phtml
index 023ad266792..3a5a65c8c9d 100644
--- a/themes/fid_adlr/templates/search/results.phtml
+++ b/themes/fid_adlr/templates/search/results.phtml
@@ -98,9 +98,9 @@ $this->headScript()->appendFile("check_save_statuses.js");
             <?php if ($this->accountCapabilities()->getSavedSearchSetting() === 'enabled'): ?>
                 <?php if (is_numeric($this->results->getSearchId())): ?>
                     <?php if ($this->results->isSavedSearch()): ?>
-                  <a href="<?=$this->url('myresearch-savesearch')?>?delete=<?=urlencode($this->results->getSearchId())?>"><i class="fa fa-remove" aria-hidden="true"></i></a>
+                  <a data-lightbox href="<?=$this->url('myresearch-savesearch')?>?delete=<?=urlencode($this->results->getSearchId())?>"><i class="fa fa-remove" aria-hidden="true"></i></a>
                     <?php else: ?>
-                  <a href="<?=$this->url('myresearch-savesearch')?>?save=<?=urlencode($this->results->getSearchId())?>"><i class="icon icon-download icon-1.5x" aria-hidden="true"></i></a>
+                  <a data-lightbox href="<?=$this->url('myresearch-savesearch')?>?save=<?=urlencode($this->results->getSearchId())?>"><i class="icon icon-download icon-1.5x" aria-hidden="true"></i></a>
                     <?php endif; ?>
                 <?php endif; ?>
             <?php endif; ?>
diff --git a/themes/fid_adlr/templates/search/searchbox.phtml b/themes/fid_adlr/templates/search/searchbox.phtml
index 466da037f85..dd5cc7f571b 100644
--- a/themes/fid_adlr/templates/search/searchbox.phtml
+++ b/themes/fid_adlr/templates/search/searchbox.phtml
@@ -116,12 +116,6 @@ $hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->s
     ?>
     <?php if ((isset($hasDefaultsApplied) && $hasDefaultsApplied) || !empty($filterDetails)): ?>
       <?php $defaultFilterState = $options->getRetainFilterSetting() ? ' checked="checked"' : ''; ?>
-      <div class="checkbox">
-        <label>
-          <input type="checkbox"<?=$defaultFilterState?> class="searchFormKeepFilters"/>
-          <?=$this->transEsc("basic_search_keep_filters")?>
-        </label>
-      </div>
       <div class="hidden">
         <?php foreach ($filterDetails as $current): ?>
           <input class="applied-filter" id="<?=$this->escapeHtmlAttr($current['id'])?>" type="checkbox"<?=$defaultFilterState?> name="filter[]" value="<?=$this->escapeHtmlAttr($current['value'])?>"/>
-- 
GitLab