diff --git a/devops/docker/php/Dockerfile b/devops/docker/php/Dockerfile
index b3e66bfed535f476ffaef5d0796eeafda1f069d4..8d87a43e02b5c3e0f0ffa894a068977bc937d62d 100644
--- a/devops/docker/php/Dockerfile
+++ b/devops/docker/php/Dockerfile
@@ -16,7 +16,7 @@
 # @author  Sebastian Kehr <kehr@ub.uni-leipzig.de>
 # @license https://opensource.org/licenses/GPL-3.0 GNU GPLv3
 
-FROM php:7.2.11-fpm-alpine3.8
+FROM php:7.2-fpm-alpine
 RUN apk add --no-cache $PHPIZE_DEPS freetype-dev libxml2-dev icu-dev libxslt-dev \
     && pecl install xdebug-2.9.6 \
     && docker-php-ext-enable xdebug \
diff --git a/local/config/vufind/searchspecs.yaml b/local/config/vufind/searchspecs.yaml
index 9a816e4304db6393be2a2b424ac011580e77b5c3..6c329cc6a2bd5c749a521dcaaead87126c791fee 100644
--- a/local/config/vufind/searchspecs.yaml
+++ b/local/config/vufind/searchspecs.yaml
@@ -237,15 +237,23 @@ Author:
 ISN:
   DismaxFields:
     - isbn
+    - isbn_isn_mv
     - issn
+    - issn_isn_mv
     - ismn
   QueryFields:
     issn:
       - [and, 100]
       - [or, ~]
+    issn_isn_mv:
+      - [ and, 50 ]
+      - [ or, ~ ]
     isbn:
       - [and, 100]
       - [or, ~]
+    isbn_isn_mv:
+      - [and, 50]
+      - [or, ~]
     ismn:
       - [and, 100]
       - [or, ~]
@@ -490,7 +498,9 @@ AllFields:
     - allfields
     - fulltext
     - isbn
+    - isbn_isn_mv
     - issn
+    - issn_isn_mv
     - ismn
 
   QueryFields:
@@ -582,8 +592,12 @@ AllFields:
       - [or, 250]
     isbn:
       - [onephrase, 500]
+    isbn_isn_mv:
+      - [onephrase, 250]
     issn:
       - [onephrase, 500]
+    issn_isn_mv:
+      - [ onephrase, 250 ]
     ismn:
       - [onephrase, 500]
     imprint:
diff --git a/local/languages/de.ini b/local/languages/de.ini
index 43e56bfa00b0e74417949d16562cc638d6d70e5d..f0891c7c7841011ee1b5741c3efde8109f90bb5a 100644
--- a/local/languages/de.ini
+++ b/local/languages/de.ini
@@ -885,7 +885,7 @@ create a new list = "erstellen Sie eine neue Liste"
 page_reload_hint = "Seite wird neu geladen"
 page_reload_on_select_hint = "Seite wird bei Auswahl des Filters '%%filter_name%%' neu geladen"
 page_reload_on_deselect_hint = "Seite wird neu geladen, wenn der Filter '%%filter_name%%' abgewählt wird"
-page_reload_on_xclude_hint = "Seite wird neu geladen, wenn der Filter '%%filter_name%%' aus den Suchergebnissen ausgeschlossen wird"
+page_reload_on_exclude_hint = "Seite wird neu geladen, wenn der Filter '%%filter_name%%' aus den Suchergebnissen ausgeschlossen wird"
 password_too_short = "Zu kurz"
 password_very_weak = "Sehr schwach"
 password_weak = "Schwach"
diff --git a/local/languages/en.ini b/local/languages/en.ini
index d52e85f5cd4ccd89bc9c5507b1c997349dd45f9b..8166c19061fefb0dc980ff42d4859e24786f2eb0 100644
--- a/local/languages/en.ini
+++ b/local/languages/en.ini
@@ -847,7 +847,7 @@ create a new list = "Create a New List"
 page_reload_hint = "Page will refresh immediately"
 page_reload_on_select_hint = "Page will refresh when filter '%%filter_name%%' is selected"
 page_reload_on_deselect_hint = "Page will refresh when filter '%%filter_name%%' is deselected"
-page_reload_on_xclude_hint = "Page will refresh when filter '%%filter_name%%' is selected for exclusion from the search results"
+page_reload_on_exclude_hint = "Page will refresh when filter '%%filter_name%%' is selected for exclusion from the search results"
 password_too_short = "Too short"
 password_very_weak = "Very weak"
 password_weak = "Weak"
diff --git a/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php b/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php
index e2ea81b2789d8026d12671753d15391057855f3e..7a102637b149db17253127d5bac9fdbf261ac169 100644
--- a/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php
+++ b/module/VuFind/src/VuFind/Resolver/Driver/Ezb.php
@@ -6,7 +6,7 @@
  * http://services.dnb.de/fize-service/gvr/full.xml
  *
  * API documentation is available at
- * http://www.zeitschriftendatenbank.de/services/journals-online-print
+ * http://www.zeitschriftendatenbank.de/services/schnittstellen/journals-online-print
  *
  * PHP version 7
  *
@@ -136,7 +136,7 @@ class Ezb extends AbstractBase
     public function getResolverUrl($openURL)
     {
         // Unfortunately the EZB-API only allows OpenURL V0.1 and
-        // breaks when sending a non expected parameter.
+        // breaks when sending a non expected parameter (like an ISBN).
         // So we do have to 'downgrade' the OpenURL-String from V1.0 to V0.1
         // and exclude all parameters that are not compliant with the EZB.
 
@@ -216,9 +216,9 @@ class Ezb extends AbstractBase
                 }
                 if ($newKey !== false) {
                     $downgraded[] = "$newKey=$value";
+                }
             }
         }
-        }
 
         return implode('&', $downgraded);
     }
diff --git a/module/finc/src/finc/RecordDriver/SolrDefaultFincTrait.php b/module/finc/src/finc/RecordDriver/SolrDefaultFincTrait.php
index 87da777afd95a23f2bc40dcbb0db6d67bf32a132..3f0c3579b4fce21cc7c92b9e508a071b53f7c2d0 100644
--- a/module/finc/src/finc/RecordDriver/SolrDefaultFincTrait.php
+++ b/module/finc/src/finc/RecordDriver/SolrDefaultFincTrait.php
@@ -1077,6 +1077,16 @@ trait SolrDefaultFincTrait
             $this->fields['imprint'] : '';
     }
 
+    /**
+     * Get the item's institutions isils.
+     *
+     * @return array
+     */
+    public function getInstitutionIsils()
+    {
+        return $this->fields['institution'] ?? [];
+    }
+
     /**
      * Get the item's place of publication.
      *
diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
index fd921067791bc71bb7c91e914ec67f5ff0c780ee..40b481986aa08dd0ab481261e1f8250a95a8dc6c 100644
--- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
+++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php
@@ -431,6 +431,27 @@ trait SolrMarcFincTrait
         return $this->getFieldArray('590', ['b']);
     }
 
+    /**
+     * Get an array of terms that indicate the instrumental, vocal
+     * and/or other medium of performance.
+     * https://www.loc.gov/marc/bibliographic/bd382.html
+     *
+     * @return array
+     */
+    public function getMediumOfPerformance()
+    {
+        if ($field382 = $this->getMarcRecord()->getField('382')) {
+            return $this->getSubfieldArray(
+                $field382,
+                ['a'],
+                true,
+                ', '
+            );
+        }
+
+        return [];
+    }
+
     /**
      * Get the ISSN from a record. Refs #969
      *
diff --git a/module/finc/src/finc/View/Helper/Root/Record.php b/module/finc/src/finc/View/Helper/Root/Record.php
index cd77fd4975901d436d3f9209ec5411b25a25613f..bc2a88b87acb9096ff33386dbda07565574039b7 100644
--- a/module/finc/src/finc/View/Helper/Root/Record.php
+++ b/module/finc/src/finc/View/Helper/Root/Record.php
@@ -139,7 +139,10 @@ class Record extends \VuFind\View\Helper\Root\Record
                     ->StyleBasedIcons->{$this->iconMappingType}
             ) ? $this->iconConfig
                 ->StyleBasedIcons->{$this->iconMappingType}->toArray() : [];
-            $this->concatKeysForIconMapping = $this->iconConfig
+            $this->concatKeysForIconMapping = isset(
+                $this->iconConfig
+                    ->StyleBasedIcons->concatenateKeys
+            ) && $this->iconConfig
                 ->StyleBasedIcons->concatenateKeys ? true : false;
         }
     }
diff --git a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml
index a83f224bf097e060f369fd988aaba22087c7a2e0..3b8b3c80c928dce382527e349077bfa44ba71a0b 100644
--- a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml
+++ b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml
@@ -83,15 +83,23 @@ Author:
 ISN:
   DismaxFields:
     - isbn
+    - isbn_isn_mv
     - issn
+    - issn_isn_mv
     - ismn
   QueryFields:
     issn:
       - [and, 100]
       - [or, null]
+    issn_isn_mv:
+      - [ and, 50 ]
+      - [ or, ~ ]
     isbn:
       - [and, 100]
       - [or, null]
+    isbn_isn_mv:
+      - [and, 50]
+      - [or, ~]
     ismn:
       - [and, 100]
       - [or, null]
@@ -285,7 +293,9 @@ AllFields:
     - allfields
     - fulltext
     - isbn
+    - isbn_isn_mv
     - issn
+    - issn_isn_mv
     - ismn
   QueryFields:
     0:
@@ -360,8 +370,12 @@ AllFields:
       - [or, 250]
     isbn:
       - [onephrase, 500]
+    isbn_isn_mv:
+      - [onephrase, 250]
     issn:
       - [onephrase, 500]
+    issn_isn_mv:
+      - [ onephrase, 250 ]
     ismn:
       - [onephrase, 500]
     imprint:
diff --git a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml
index a83f224bf097e060f369fd988aaba22087c7a2e0..3b8b3c80c928dce382527e349077bfa44ba71a0b 100644
--- a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml
+++ b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml
@@ -83,15 +83,23 @@ Author:
 ISN:
   DismaxFields:
     - isbn
+    - isbn_isn_mv
     - issn
+    - issn_isn_mv
     - ismn
   QueryFields:
     issn:
       - [and, 100]
       - [or, null]
+    issn_isn_mv:
+      - [ and, 50 ]
+      - [ or, ~ ]
     isbn:
       - [and, 100]
       - [or, null]
+    isbn_isn_mv:
+      - [and, 50]
+      - [or, ~]
     ismn:
       - [and, 100]
       - [or, null]
@@ -285,7 +293,9 @@ AllFields:
     - allfields
     - fulltext
     - isbn
+    - isbn_isn_mv
     - issn
+    - issn_isn_mv
     - ismn
   QueryFields:
     0:
@@ -360,8 +370,12 @@ AllFields:
       - [or, 250]
     isbn:
       - [onephrase, 500]
+    isbn_isn_mv:
+      - [onephrase, 250]
     issn:
       - [onephrase, 500]
+    issn_isn_mv:
+      - [ onephrase, 250 ]
     ismn:
       - [onephrase, 500]
     imprint:
diff --git a/module/finc/tests/fixtures/externallink/testexternallink1.json b/module/finc/tests/fixtures/externallink/testexternallink1.json
index d54c4d9d20cb2076bf46475c9af1f6bc1aab536d..1412291dad1c539198f927270de2713c3a911d26 100644
--- a/module/finc/tests/fixtures/externallink/testexternallink1.json
+++ b/module/finc/tests/fixtures/externallink/testexternallink1.json
@@ -16,7 +16,7 @@
       "pattern": "http://webpac.bibhgb.hgb-leipzig.de/libero/WebopacOpenURL.cls?ACTION=DISPLAY&RID=%s"
     }],
     "DE-D117": [{
-      "pattern": "http://www.hfmdd.de:8060/alipac/-/item-local?VID=%s"
+      "pattern": "https://alephino.hfmdd.de/alipac/-/item-local?VID=%s"
     }]
   },
   "id": {
diff --git a/themes/finc/images/vufind_logo.png b/themes/finc/images/vufind_logo.png
index f293d40fb669e59ec5a7e5d90c62d2c52e22d39b..1d33c4f0770313cfcb72fbe17b4dacf28615bd77 100644
Binary files a/themes/finc/images/vufind_logo.png and b/themes/finc/images/vufind_logo.png differ
diff --git a/themes/finc/scss/_bulkaction-visible-xs.scss b/themes/finc/scss/_bulkaction-visible-xs.scss
new file mode 100644
index 0000000000000000000000000000000000000000..6a5e51b4d1ebed26a10364db65316ded2538500d
--- /dev/null
+++ b/themes/finc/scss/_bulkaction-visible-xs.scss
@@ -0,0 +1,23 @@
+// Bulk Action Buttons and result list checkboxes
+// get hidden on mobile in Bootstrap Theme -- show them again
+// in finc-based themes via this importable SCSS Partial
+@media (max-width: 767px) {
+  .bulkActionButtons,
+  .result .checkbox,
+  .result .record-checkbox,
+  .result .record-number {
+    display: table;
+  }
+
+  .result .checkbox,
+  .result .record-checkbox,
+  .result .record-number {
+    margin-right: .5em;
+  }
+
+  .result,
+  .bulk-action-buttons,
+  .bulkActionButtons {
+    padding-left: 0;
+  }
+}
diff --git a/themes/finc/scss/compiled.scss b/themes/finc/scss/compiled.scss
index 49247edfae1c87f3c8cb1f3bc5b6ccc7a9de28c9..76039d0252fecf7b2c7694f303a9e0ad12b69170 100644
--- a/themes/finc/scss/compiled.scss
+++ b/themes/finc/scss/compiled.scss
@@ -340,6 +340,7 @@ textarea {
 }
 
 .form-control {
+  box-shadow: none;
   height: $navigation-element-default-height;
 
   @media (max-width: $screen-xs-max) {
@@ -356,14 +357,20 @@ fieldset {
     margin-top: $grid-gutter-width;
     padding-bottom: ($grid-gutter-width / 2);
     padding-left: ($grid-gutter-width / 2);
+    padding-right: ($grid-gutter-width / 2);
 
-    // Advanced Search - make fieldsets fit in a row (see margin-right above below)
+    // Advanced Search
     &:nth-of-type(3) {
       margin-left: ($grid-gutter-width / 2);
       margin-right: ($grid-gutter-width / 2);
       width: 30.25%;
+
+      @media (max-width: $screen-sm-max) {
+        width: auto;
+      }
     }
 
+
     &:last-of-type {
       float: right;
       margin-right: 0;
@@ -393,6 +400,7 @@ fieldset {
     float: none;
     padding: 0;
   }
+
   legend {
     font-size: $font-size-base;
     margin-left: -14px;
@@ -424,7 +432,7 @@ label {
   }
 
   // remove padding in advanced search labels
-  #advSearchForm & {
+  #advSearchForm .mainbody & {
     padding-left: 0;
     padding-right: 0;
   }
@@ -435,6 +443,7 @@ label {
     display: block;
   }
 }
+
 //// label
 .text-success,
 .text-danger {
@@ -532,10 +541,6 @@ input[type='text'] {
   }
 }
 
-.form-control {
-  box-shadow: none;
-}
-
 //// Select - for limit and sort-select widths see below
 ////// remove browser styles on select boxes and add custom styles (below)
 select,
@@ -551,7 +556,7 @@ select.form-control {
   border-radius: 0;
   height: $navigation-element-default-height;
   min-width: 5em;
-  padding: .25em .75em .25em .5em;
+  padding: .25em 1.2em .25em .5em;
 
   &.form-control {
     background-color: $select-bg-color;
@@ -1757,16 +1762,28 @@ header,
     display: block;
   }
 
-  // Searchform input field
-  input:not([type='checkbox']) {
+  // Searchform input field + search for media type field
+  input:not([type='checkbox']),
+  select.searchForm_type {
     @media (max-width: $screen-sm-max) {
       display: flex;
-      flex-basis: 50%;
       flex-grow: 2;
       flex-shrink: 2;
     }
   }
 
+  input:not([type='checkbox']) {
+    @media (max-width: $screen-sm-max) {
+      flex-basis: 50%;
+    }
+  }
+
+  select.searchForm_type {
+    @media (max-width: $screen-sm-max) {
+      flex-basis: 20%;
+    }
+  }
+
   // Fixme: Is there a navbar inside searchForm anywhere?
   .navbar {
     @media (max-width: $screen-sm-max) {
@@ -2211,7 +2228,7 @@ footer {
 //// Harmonize behaviour to the edit button
 .result-links .dropdown-toggle {
   &:focus {
-  outline: 1px dotted $black; // FIXME: REPLACE with variable, consider using '$input-border-focus'
+    outline: 1px dotted $black; // FIXME: REPLACE with variable, consider using '$input-border-focus'
   }
 }
 
@@ -3318,6 +3335,7 @@ input {
     outline: 2px $black dotted;
   }
 }
+
 // CHANNELS - END
 
 // ZEND-FORMS
diff --git a/themes/finc/templates/Recommend/SideFacets/single-facet.phtml b/themes/finc/templates/Recommend/SideFacets/single-facet.phtml
index 00a568ce1757f155394f0a9a0dfb49b78b4e6362..19a4e9d85ea922fc6b11fac9da6e4e341c524c68 100644
--- a/themes/finc/templates/Recommend/SideFacets/single-facet.phtml
+++ b/themes/finc/templates/Recommend/SideFacets/single-facet.phtml
@@ -70,10 +70,10 @@
 
   <?php if ($hasSubLinks): ?>
     <?php $excludeURL = $this->urlBase . $this->url->addFacet($this->group, $this->facet['value'], 'NOT'); ?>
-    <a href="<?=$excludeURL ?>" data-lightbox-ignore class="exclude" title="<?= $this->transEsc('exclude_filter', ['%%filter_name%%' => $this->facet['displayText']]) ?>, <?= $this->transEsc('page_reload_on_xclude_hint', ['%%filter_name%%' => $this->facet['displayText']]) ?>">
+    <a href="<?=$excludeURL ?>" data-lightbox-ignore class="exclude" title="<?= $this->transEsc('exclude_filter', ['%%filter_name%%' => $this->facet['displayText']]) ?>, <?= $this->transEsc('page_reload_on_exclude_hint', ['%%filter_name%%' => $this->facet['displayText']]) ?>">
       <i class="fa fa-times" aria-hidden="true"></i>
       <span class="sr-only">
-        <?= $this->transEsc('exclude_filter', ['%%filter_name%%' => $this->facet['displayText']]) ?>, <?= $this->transEsc('page_reload_on_xclude_hint', ['%%filter_name%%' => $this->facet['displayText']]) ?>
+        <?= $this->transEsc('exclude_filter', ['%%filter_name%%' => $this->facet['displayText']]) ?>, <?= $this->transEsc('page_reload_on_exclude_hint', ['%%filter_name%%' => $this->facet['displayText']]) ?>
       </span>
     </a>
   <?php endif; ?>
diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/collection-info.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/collection-info.phtml
index 2b96c5e046628620c370044e9800c874a4346623..92ecdad6b01d42a23dcdaf4ba0f0bcfcbdaae3e8 100644
--- a/themes/finc/templates/RecordDriver/DefaultRecord/collection-info.phtml
+++ b/themes/finc/templates/RecordDriver/DefaultRecord/collection-info.phtml
@@ -14,9 +14,7 @@
 
       <?php /* Display qrcode if appropriate: */ ?>
       <?php if ($QRCode): ?>
-        <span class="hidden-xs">
           <br/><img alt="<?=$this->transEsc('QR Code')?>" class="qrcode" src="<?=$this->escapeHtmlAttr($QRCode);?>"/>
-        </span>
       <?php endif; ?>
 
       <?php if ($preview): ?><?=$preview?><?php endif; ?>
diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml
index 2836a86ebbc501adcc00269c6bb04edd71b2765a..9abc699ae869985f0db0ae5a4d0b8cf35fb6c73d 100644
--- a/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml
+++ b/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml
@@ -17,9 +17,7 @@
 
       <?php /* Display qrcode if appropriate: */ ?>
       <?php if ($QRCode): ?>
-        <span class="hidden-xs">
           <br/><img alt="<?= $this->transEsc('QR Code') ?>" class="qrcode" src="<?= $this->escapeHtmlAttr($QRCode); ?>"/>
-        </span>
       <?php endif; ?>
 
       <?php // if you have a preview tab but want to move or remove the preview link
diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml
index b6284f06c352176e5578d77c6f9921858ea8f2f3..5003f3a16be704dd1bb427f2e1f9c28aa09f67ad 100644
--- a/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml
+++ b/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml
@@ -170,7 +170,6 @@ if ($cover):
 // Add JS Variables for QrCode
           $this->jsTranslations()->addStrings(['qrcode_hide' => 'qrcode_hide', 'qrcode_show' => 'qrcode_show']);
         ?>
-        <span class="hidden-xs">
             <i class="fa fa-fw fa-qrcode" aria-hidden="true"></i> <a href="<?=$this->escapeHtmlAttr($QRCode);?>" class="qrcodeLink"><?=$this->transEsc('qrcode_show')?></a>
           <div class="qrcode hidden">
             <script type="text/template" class="qrCodeImgTag">
@@ -178,7 +177,6 @@ if ($cover):
             </script>
           </div>
           <br/>
-        </span>
       <?php endif; ?>
 
       <?php if ($this->cart()->isActiveInSearch() && $this->params->getOptions()->supportsCart() && $this->cart()->isActive()): ?>
diff --git a/themes/finc/templates/RecordDriver/SolrAI/core.phtml b/themes/finc/templates/RecordDriver/SolrAI/core.phtml
index e6f20eacbfafa42e4e86a6979fed34b52fe56dcb..359a61233d04241c69c4871c4a512a080a7aac9e 100644
--- a/themes/finc/templates/RecordDriver/SolrAI/core.phtml
+++ b/themes/finc/templates/RecordDriver/SolrAI/core.phtml
@@ -18,9 +18,7 @@
 
       <?php /* Display qrcode if appropriate: */ ?>
       <?php if ($QRCode): ?>
-        <span class="hidden-xs">
           <br/><img alt="<?= $this->transEsc('QR Code') ?>" class="qrcode" src="<?= $this->escapeHtmlAttr($QRCode); ?>"/>
-        </span>
       <?php endif; ?>
 
     <?php // if you have a preview tab but want to move or remove the preview link
diff --git a/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml b/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml
index 5ca3d5c4e020227aaf00fd7f0b220944ae389778..6b0dbed4c441bd562fde9d656299f5d376218826 100644
--- a/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml
+++ b/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml
@@ -181,7 +181,6 @@ if ($cover):
 // Add JS Variables for QrCode
           $this->jsTranslations()->addStrings(['qrcode_hide' => 'qrcode_hide', 'qrcode_show' => 'qrcode_show']);
         ?>
-        <span class="hidden-xs">
             <i class="fa fa-fw fa-qrcode" aria-hidden="true"></i> <a href="<?=$this->escapeHtmlAttr($QRCode);?>" class="qrcodeLink"><?=$this->transEsc('qrcode_show')?></a>
           <span class="qrcode hidden">
             <script type="text/template" class="qrCodeImgTag">
@@ -189,7 +188,6 @@ if ($cover):
             </script>
           </span>
           <br/>
-        </span>
       <?php endif; ?>
 
       <?php if ($this->cart()->isActiveInSearch() && $this->params->getOptions()->supportsCart() && $this->cart()->isActive()): ?>
diff --git a/themes/finc/templates/RecordDriver/SolrLido/core.phtml b/themes/finc/templates/RecordDriver/SolrLido/core.phtml
index 9a8cdb17928ba940f656a029fbdddbe1faf5c779..c9be4f471cf0df95583da70f102eb81fd170a4a2 100644
--- a/themes/finc/templates/RecordDriver/SolrLido/core.phtml
+++ b/themes/finc/templates/RecordDriver/SolrLido/core.phtml
@@ -42,9 +42,7 @@
 
       <?php /* Display qrcode if appropriate: */ ?>
       <?php if ($QRCode): ?>
-        <span class="hidden-xs">
             <br/><img alt="<?=$this->transEsc('QR Code')?>" class="qrcode" src="<?=$this->escapeHtmlAttr($QRCode);?>"/>
-          </span>
       <?php endif; ?>
 
       <?php // if you have a preview tab but want to move or remove the preview link
diff --git a/themes/finc/templates/RecordDriver/SolrMarc/core.phtml b/themes/finc/templates/RecordDriver/SolrMarc/core.phtml
index 37fd560fc0623732c1132bc1770acf6d5f7118d9..84d81c2f2238955e2edfb43de1fcd7e4e4098146 100644
--- a/themes/finc/templates/RecordDriver/SolrMarc/core.phtml
+++ b/themes/finc/templates/RecordDriver/SolrMarc/core.phtml
@@ -18,9 +18,7 @@
 
       <?php /* Display qrcode if appropriate: */ ?>
       <?php if ($QRCode): ?>
-        <span class="hidden-xs">
           <br/><img alt="<?= $this->transEsc('QR Code') ?>" class="qrcode" src="<?= $this->escapeHtmlAttr($QRCode); ?>"/>
-        </span>
       <?php endif; ?>
 
     <?php // if you have a preview tab but want to move or remove the preview link
diff --git a/themes/finc/templates/header.phtml b/themes/finc/templates/header.phtml
index 67b8f3acd01568715ac098fdb5c6741fe52f82d9..ba055a507ea2753d3d7b3a6ffb88376a34b24bbe 100644
--- a/themes/finc/templates/header.phtml
+++ b/themes/finc/templates/header.phtml
@@ -38,8 +38,11 @@
           if ($cart->isActive()): ?>
             <li id="cartSummary">
               <a id="cartItems" class="btn" data-lightbox title="<?=$this->transEsc('View Book Bag')?>" href="<?=$this->url('cart-home')?>">
-                <i class="fa fa-clipboard" aria-hidden="true"></i> <span role="status"><span class="sr-only"><?=$this->transEsc('Book Bag')?>:</span> <strong><?=count($cart->getItems())?></strong> <span class="cart-label"><?=$this->transEsc('items')?></span></span>
-                <span class="sr-only full<?=!$cart->isFull() ? ' hidden' : ''?>">(<?=$this->transEsc('bookbag_full')?>)</span>
+                <i class="fa fa-clipboard" aria-hidden="true"></i>
+                <span role="status">
+                  <span class="sr-only"><?=$this->transEsc('Book Bag')?>:</span> <strong><?=count($cart->getItems())?></strong> <span class="cart-label"><?=$this->transEsc('items')?></span>
+                  <span class="sr-only full<?=!$cart->isFull() ? ' hidden' : ''?>">(<?=$this->transEsc('bookbag_full_msg')?>)</span>
+                </span>
               </a>
             </li>
           <?php endif; ?>
diff --git a/themes/finc/templates/layout/layout.phtml b/themes/finc/templates/layout/layout.phtml
index 8f4a34ab4c74a4cf5262f19e35e5843b65ff16ab..3c84bfdf682013902493142c019bb37779f8555e 100644
--- a/themes/finc/templates/layout/layout.phtml
+++ b/themes/finc/templates/layout/layout.phtml
@@ -205,13 +205,13 @@ if (!isset($this->layout()->searchbox)) {
         <?php foreach ($applied as $appliedId => $appliedText): ?>
           <?php if ($appliedId && $appliedText): ?>
             <?php /* use css class 'skip-to' to jump to landmark - RL */?>
-            <a class="sr-only hidden-xs skip-to" href="#<?=$appliedId?>"><?=$appliedText?></a>
+            <a class="sr-only skip-to" href="#<?=$appliedId?>"><?=$appliedText?></a>
           <?php endif; ?>
         <?php endforeach; ?>
       <?php elseif (strcmp($this->layout()->userLang, 'de') == 0): ?>
-        <a class="sr-only hidden-xs skip-to" href="#myresearch-sidebar"><?=$this->transEsc(isset($this->overrideSideFacetCaption) ? $this->overrideSideFacetCaption : 'Narrow Search')?></a>
+        <a class="sr-only skip-to" href="#myresearch-sidebar"><?=$this->transEsc(isset($this->overrideSideFacetCaption) ? $this->overrideSideFacetCaption : 'Narrow Search')?></a>
       <?php else: ?>
-        <a class="sr-only hidden-xs skip-to" href="#myresearch-sidebar"><?=$this->transEsc('skip-to')?><?=strtolower($this->transEsc(isset($this->overrideSideFacetCaption) ? $this->overrideSideFacetCaption : 'Narrow Search'))?></a>
+        <a class="sr-only skip-to" href="#myresearch-sidebar"><?=$this->transEsc('skip-to')?><?=strtolower($this->transEsc(isset($this->overrideSideFacetCaption) ? $this->overrideSideFacetCaption : 'Narrow Search'))?></a>
       <?php endif; ?>
     <?php endif; ?>
   </div>
diff --git a/themes/finc/templates/record/cover.phtml b/themes/finc/templates/record/cover.phtml
index 3d0b10c5e0f9e40e472b9ab06193ed40ef5ca547..c52afc99b43bb49d501289e6ce5c8a2b4ff6983c 100644
--- a/themes/finc/templates/record/cover.phtml
+++ b/themes/finc/templates/record/cover.phtml
@@ -26,7 +26,7 @@
       <div class="spinner"><i class="fa fa-spinner fa-spin"></i></div>
       <div class="cover-container">
         <?=$this->render('record/coverReplacement')?>
-        <a class="coverlink hidden" aria-hidden="true" tabindex="-1">
+        <a class="coverlink hidden" href="javascript:" aria-hidden="true" tabindex="-1">
           <img <?php if ($linkPreview): ?>data-linkpreview="true" <?php endif; ?> class="recordcover ajax" src="<?=$this->imageLink('noCover2.gif')?>" alt="<?=$this->escapeHtmlAttr($alt); ?>" />
         </a>
         <script>
diff --git a/themes/finc/templates/search/results.phtml b/themes/finc/templates/search/results.phtml
index 8bac2e91e997dee739e6556a1349061de5c306b5..ac1463ded86c138a15cb829b1375f04ab491f445 100644
--- a/themes/finc/templates/search/results.phtml
+++ b/themes/finc/templates/search/results.phtml
@@ -69,7 +69,7 @@ $this->headScript()->appendFile("check_save_statuses.js");
       <div class="search-stats">
         <?php /* finc: use spans for easier to show/hide choices - CK */ ?>
         <?php if ($recordTotal > 0): ?>
-        <span class="hit-stats hidden-xs hidden-sm">
+        <span class="hit-stats">
         <?=$this->context()->renderInContext('search/controls/showing.phtml', ['lookfor' => $lookfor, 'recordTotal' => $recordTotal]) ?>
         </span>
         <span class="offcanvas-toggler">
diff --git a/themes/finc/templates/search/searchbox.phtml b/themes/finc/templates/search/searchbox.phtml
index 7821f78003dd9af01c916e4dbdd60f7fb8b5e871..cdb76e9a279dd64388400876968af0765c2270d7 100644
--- a/themes/finc/templates/search/searchbox.phtml
+++ b/themes/finc/templates/search/searchbox.phtml
@@ -51,7 +51,7 @@ $hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->s
     <?php /* finc: keep "required" */ ?>
     <input id="searchForm_lookfor" class="searchForm_lookfor form-control search-query<?php if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><?=$this->searchbox()->autocompleteAutoSubmit($this->searchClassId) ? ' ac-auto-submit' : '' ?><?php endif ?>" type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"<?php if ($placeholder): ?> placeholder="<?=$this->transEsc($placeholder) ?>"<?php endif ?> aria-label="<?=$this->transEsc("search_terms")?>" required="required" />
     <?php if ($handlerCount > 1): ?>
-      <select id="searchForm_type" class="searchForm_type form-control hidden-xs" name="type" data-native-menu="false" aria-label="<?=$this->transEsc("Search type")?>">
+      <select id="searchForm_type" class="searchForm_type form-control" name="type" data-native-menu="false" aria-label="<?=$this->transEsc("Search type")?>">
         <?php foreach ($handlers as $handler): ?>
           <option value="<?=$this->escapeHtmlAttr($handler['value'])?>"<?=$handler['selected'] ? ' selected="selected"' : ''?>><?=$handler['indent'] ? '-- ' : ''?><?=$this->transEsc($handler['label'])?></option>
         <?php endforeach; ?>