diff --git a/build.xml b/build.xml
index cc8e25a306d40c133edf8d53529236df00370ee4..1d3805b9d30c14d6e28a474d3feb2fae528925bc 100644
--- a/build.xml
+++ b/build.xml
@@ -20,6 +20,7 @@
   <property name="pgsqlhost" value="localhost" />
   <property name="pgsqlrootuser" value="postgres" />
   <property name="phpunit_extra_params" value="" />
+  <property name="composer_version" value="1.10.8" />
   <property name="composer_extra_params" value="" />
   <property name="mink_driver" value="selenium" />
   <property name="selenium_browser" value="firefox" />
@@ -228,7 +229,7 @@
   </target>
 
   <target name="composer" description="Install dependencies with Composer">
-    <httpget url="https://getcomposer.org/composer.phar" sslVerifyPeer="false" dir="${srcdir}" />
+    <httpget url="https://getcomposer.org/download/${composer_version}/composer.phar" sslVerifyPeer="false" dir="${srcdir}" />
     <echo message="Installing dependencies..." />
     <exec command="php ${srcdir}/composer.phar install ${composer_extra_params}" passthru="true" checkreturn="true" />
   </target>
diff --git a/languages/ar.ini b/languages/ar.ini
index ef0a72ba12413dae183d4c08dcc6f36fc765b89b..3f0b6d7507a92bb5f0696dea16bd80f68729cebc 100644
--- a/languages/ar.ini
+++ b/languages/ar.ini
@@ -124,6 +124,7 @@ Bookmark = "علامة"
 Books = "الكتب"
 Borrowing Location = "موقع الاستعارة"
 Braille = "برايل"
+Breadcrumbs = "أثر التنقل التفصيلي (فتات الخبز)"
 Brief View = "عرض مختصر"
 Browse = "استعراض"
 Browse Alphabetically = "استعرض أبجدياً"
@@ -404,6 +405,7 @@ fine_limit_patron = "لقد وصلت للحد الأقصى للغرامات ول
 Fines = "الغرامات"
 First = "الأول"
 First Name = "الاسم الأول"
+First Search Result = "نتيجة البحث الأولى"
 fix_metadata = "أجل، قم بإصلاح واصفات البيانات؛سأنتظر"
 for search = "نتيجة بحث عن"
 Forgot Password = "نسيت كلمة المرور"
@@ -574,6 +576,7 @@ large = "كبير"
 Last = "آخر"
 Last Modified = "آخر تعديل"
 Last Name = "الاسم الأخير"
+Last Search Result = "آخر نتيجة بحث"
 less = "أقل"
 libphonenumber_invalid = "رقم الهاتف غير صحيح"
 libphonenumber_invalidcountry = "رمز البلد في المكالمة غير صحيح"
@@ -667,6 +670,7 @@ new_user_welcome_subject = "حسابك الجديد في %%library%%"
 new_user_welcome_text = "مرحبًا بك في %%library%%. تم فتح حساب جديد لـ %%firstname%% %%lastname%%. اسم المستخدم الخاص بك هو %%username%%. يرجى تعيين كلمة مرور في هذه الصفحة: %%url%%"
 Newspaper = "صحيفة"
 Next = "التالي"
+Next Search Result = "نتيجة البحث التالية"
 No citations are available for this record = "لا توجد استشهادات متاحة لهذه التسجيلة"
 No Cover Image = "لا توجد صورة غلاف"
 No dependency problems found = "لم يتم العثور على مشكلات تبعية"
@@ -748,6 +752,12 @@ Other Editions = "طبعات أخرى"
 Other Libraries = "مكتبات أخرى"
 Other Sources = "مصادر أخرى"
 Page not found. = "لم يتم العثور على الصفحة."
+page_first = "اذهب إلى الصفحة الأولى"
+page_last = "اذهب إلى الصفحة الأخيرة"
+page_next = "اذهب إلى الاصفحة التالية"
+page_num = "صفحة %%page%%"
+page_prev = "اذهب إلى الصفحة السابقة"
+pagination_label = "ترقم الصفحات"
 Password = "كلمة المرور"
 Password Again = "كلمة المرور مرة أخرى"
 Password cannot be blank = "لا يمكن أن تكون كلمة المرور خالية"
@@ -782,6 +792,7 @@ Preferred Library = "المكتبة المفضلة"
 Prev = "السابق"
 Preview = "معاينة"
 Preview from = "معاينة من"
+Previous Search Result = "نتيجة البحث السابقة"
 Previous Title = "العنوان السابق"
 Print = "طباعة"
 print_selected = "طباعة المحدد"
diff --git a/languages/bn.ini b/languages/bn.ini
index 13c0381f681e7b2eb86e0b3084ca5f4667100986..b3d578169e6d1ea59a66816050bc2b802f9faf3b 100644
--- a/languages/bn.ini
+++ b/languages/bn.ini
@@ -125,6 +125,7 @@ Bookmark = "গ্রন্থ-চিহ্ন"
 Books = "গ্রন্থ"
 Borrowing Location = "গ্রন্থ প্রদান স্থান"
 Braille = "ব্রেইল"
+Breadcrumbs = "ব্রেডক্রাম্ব"
 Brief View = "সংক্ষিপ্ত রূপ দেখুন"
 Browse = "ব্রাউজ করুন"
 Browse Alphabetically = "বর্ণানুক্রমে ব্রাউজ করুন"
@@ -405,6 +406,7 @@ fine_limit_patron = "আপনি আপনার জরিমানা সী
 Fines = "জরিমানা"
 First = "প্রথম"
 First Name = "প্রথম নাম"
+First Search Result = "প্রথম অনুসন্ধান ফলাফল"
 fix_metadata = "হ্যাঁ, মেটাডাটা ঠিক; আমি অপেক্ষা করব"
 for search = "অনুসন্ধানের জন্য"
 Forgot Password = "পাসওয়ার্ড ভুলে গেছেন"
@@ -575,6 +577,7 @@ large = "বৃহৎ"
 Last = "শেষ"
 Last Modified = "শেষ সংশোধন"
 Last Name = "শেষ নাম"
+Last Search Result = "সর্বশেষ অনুসন্ধান ফলাফল"
 less = "কম"
 libphonenumber_invalid = "ফোন নম্বর অবৈধ"
 libphonenumber_invalidcountry = "অবৈধ দেশর কলিং কোড"
@@ -668,6 +671,7 @@ new_user_welcome_subject = "আপনার নতুন সদস্যপদ (
 new_user_welcome_text = "স্বাগত জানাই  %%library%%. একটি নতুন অ্যাকাউন্ট %%firstname%% %%lastname%% এই নামে খোলা হলো। আপনার ব্যবহারকারী পরিচয় হলো -  %%username%%. অনুগ্রহ করে পাসওয়ার্ডটি ঠিক করুন : %%url%%"
 Newspaper = "সংবাদপত্র"
 Next = "পরবর্তী"
+Next Search Result = "পরবর্তী অনুসন্ধান ফলাফল"
 No citations are available for this record = "এই রেকর্ডের জন্য কোন সাইটেশন নেই"
 No Cover Image = "প্রচ্ছদ নেই"
 No dependency problems found = "কোন নির্ভরতা সমস্যা খুঁজে পাওয়া যায় নি"
@@ -749,6 +753,12 @@ Other Editions = "অন্যান্য সংস্করন"
 Other Libraries = "অন্যান্য গ্রন্থাগার"
 Other Sources = "অন্যান্য সম্পদ"
 Page not found. = "পৃষ্ঠা খুঁজে পাওয়া যাচ্ছে না।"
+page_first = "প্রথম পৃষ্ঠায় যান"
+page_last = "সর্বশেষ পৃষ্ঠায় যান"
+page_next = "পরবর্তী পৃষ্ঠায় যান"
+page_num = "পৃষ্ঠা %%page%%"
+page_prev = "পূর্ববর্তী পৃষ্ঠায় যান"
+pagination_label = "পত্রাঙ্কন"
 Password = "পাসওয়ার্ড"
 Password Again = "আবার পাসওয়ার্ড দিন"
 Password cannot be blank = "পাসওয়ার্ড শূন্য হতে পারে না"
@@ -783,6 +793,7 @@ Preferred Library = "পছন্দের গ্রন্থাগার"
 Prev = "প্রাকদর্শন"
 Preview = "প্রাকদর্শন"
 Preview from = "প্রাকদর্শন থেকে"
+Previous Search Result = "পূর্ববর্তী অনুসন্ধান ফলাফল"
 Previous Title = "পূর্ববর্তী আখ্যা"
 Print = "মুদ্রণ"
 print_selected = "নির্বাচিতটি তালিকাটি মুদ্রিত"
diff --git a/languages/ca.ini b/languages/ca.ini
index 32616e7f2819ea74bbe9ace69303e30d2b8d7841..a9051fb992a4fc0dae67daedd648fd67cfecfdb6 100644
--- a/languages/ca.ini
+++ b/languages/ca.ini
@@ -19,6 +19,7 @@ access_denied = "Accés no autoritzat."
 Accession Number = "Número de registre"
 Account = "Compte"
 account_block_options_missing = "Algunes opcions s'han eliminat a causa d'un bloqueig del compte. Detalls:: %%details%%"
+account_has_alerts = "Teniu avisos pendents"
 Add a Library Card = "Afegir un nou carnet"
 Add a Note = "Afegir una nota"
 Add Tag = "Afegir etiqueta"
@@ -58,6 +59,7 @@ Advanced Search = "Cerca avançada"
 advSearchError_noRights = "Ho sentim, no teniu permisos per editar aquesta cerca. Potser la vostra sessió del navegador ha caducat?"
 advSearchError_notAdvanced = "La cerca que voleu editar no és una cerca avançada."
 advSearchError_notFound = "La cerca sol·licitada no s’ha trobat."
+ajax_load_interrupted = "Carrega no finalitzada"
 ajaxview_label_information = "Informació"
 ajaxview_label_tools = "Utilitats"
 All = "All"
@@ -133,6 +135,7 @@ Bookmark = "Marcador"
 Books = "Llibres"
 Borrowing Location = "Biblioteca origen"
 Braille = "Braille"
+Breadcrumbs = "Breadcrumbs"
 Brief View = "Vista breu"
 Browse = "Explorar"
 Browse Alphabetically = "Explorar alfabèticament"
@@ -245,6 +248,7 @@ confirm_storage_retrieval_request_cancel_selected_text = "Vols canceler la teva
 Contents = "Continguts"
 Contributing Source = "Contributing Source"
 Contributors = "Col·laboradors"
+Coordinates = "Coordenades"
 Copies = "Còpies"
 Copy = "Còpia"
 Copyright = "Copyright"
@@ -375,6 +379,8 @@ external_auth_heading = "Dibuixar quadre de cerca"
 external_auth_login_message = "Accedir per accedir a material amb llicència"
 external_auth_unauthorized = "No tens autorització per accedir a material amb llicència"
 external_auth_unauthorized_desc = "El vostre mètode d'inici de sessió no proporciona accés a material amb llicència. Tanqueu la sessió i, a continuació, inicieu sessió mitjançant un altre mètode."
+facet_list_empty = "No hi ha dades disponibles"
+facet_list_for = "Llista de facetes per %%field%%"
 FAQs = "FAQs"
 fav_delete = "Eliminar favorits seleccionats"
 fav_delete_deleting = "El(s) vostre(s) favorit(s) s’està(-an) eliminant."
@@ -405,10 +411,12 @@ Find More = "Trobar-ne més"
 Find New Items = "Trobar nous ítems"
 Finding Aid = "Buscant ajuda"
 Fine = "Sanció"
+Fine Date = "Data sanció"
 fine_limit_patron = "Heu arribat al límit de sancions i no podeu renovar ítems"
 Fines = "Sancions"
 First = "Primer"
 First Name = "Nom"
+First Search Result = "Primer resultant de cerca"
 fix_metadata = "Si, corregeix les dades, esperaré"
 for search = "per cerca"
 Forgot Password = "S'ha oblidat la contrasenya?"
@@ -424,6 +432,7 @@ Geographic Search = "Cerca geogràfica"
 Geographic Terms = "Termes Geogràfics"
 Geography = "Geografia"
 Get full text = "Obtenir text complet"
+Get more information = "Obteniu més informació"
 Get RSS Feed = "Obtenir subscripció RSS"
 Globe = "Globus"
 Go = "Anar"
@@ -460,6 +469,7 @@ history_saved_searches = "Cerques guardades"
 history_search = "Cerca"
 history_time = "Hora"
 hold_available = "Disponible per recollir"
+hold_available_until = "Disponible per a recollida fins a %%date%%"
 hold_cancel = "Cancel·lar reserva"
 hold_cancel_all = "Cancel·lar totes les reserves"
 hold_cancel_fail = "La petició no es pot cancel·lar. Si us plau, contacteu amb el taulell de préstec."
@@ -523,6 +533,7 @@ ill_request_processed = "Processat"
 ill_request_profile_html = "Per informació sobre la petició de prèstec, si us plau configura la seva <a href="%%url%%">configuració de catàleg de biblioteca</a>."
 ill_request_submit_text = "Demanar"
 Illustrated = "Il·lustrat"
+ils_account_create_error = "El vostre compte no s’ha pogut crear al nostre sistema de gestió de biblioteques. Si el problema continua, poseu-vos en contacte amb la vostra biblioteca."
 ils_action_unavailable = "La funcionalitat solicitada no està activada."
 ils_connection_failed = "El catàleg està fora de servei temporalment per tasques de manteniment"
 ils_offline_holdings_message = "La informació de disponibilitat dels exemplars no està disponible en aquests moments, sentim les inconveniències:"
@@ -576,6 +587,7 @@ large = "Gran"
 Last = "Últim"
 Last Modified = "Última modicació"
 Last Name = "Cognom"
+Last Search Result = "Resultat última cerca"
 less = "menys"
 libphonenumber_invalid = "Telèfon invàlid"
 libphonenumber_invalidcountry = "Prefixe de país invàlid"
@@ -669,6 +681,7 @@ new_user_welcome_subject = "El seu nou compte a %%library%%"
 new_user_welcome_text = "Benvingut a %%library%%. Un nou compte s'ha creat %%firstname%% %%lastname%%. El seu usuari  %%username%%. Si us plau introdueixi la contrasenya: %%url%%"
 Newspaper = "Diari"
 Next = "Següent"
+Next Search Result = "Resultats següent pàgina"
 No citations are available for this record = "No hi ha citacions disponibles per aquest registre"
 No Cover Image = "Sense imatge de portada"
 No dependency problems found = "Sense problemes de dependència"
@@ -750,6 +763,12 @@ Other Editions = "Altres edicions"
 Other Libraries = "Altres biblioteques"
 Other Sources = "Altres fonts"
 Page not found. = "Pàgina no trobada."
+page_first = "Anar a la primera pàgina"
+page_last = "Anar a l' última pàgina"
+page_next = "Anar a la pàgina següent"
+page_num = "Pàgina %%page%%"
+page_prev = "Anar a la pàgina anterior"
+pagination_label = "Paginació"
 Password = "Contrasenya"
 Password Again = "Contrasenya un altre cop"
 Password cannot be blank = "La contrasenya no pot estar en blanc"
@@ -784,6 +803,7 @@ Preferred Library = "Biblioteca de referència"
 Prev = "Prev"
 Preview = "Previsualitzar"
 Preview from = "Previsualitzar desde"
+Previous Search Result = "Resultats cerca anterior"
 Previous Title = "Títol anterior"
 Print = "Imprimir"
 print_selected = "Imprimir seleccionats"
@@ -857,9 +877,11 @@ renew_error = "No podem renovar el(s) ítem(s) - Contacteu amb algú del persona
 renew_fail = "Aquest ítem no es pot renovar"
 renew_item = "Renovar ítem"
 renew_item_due = "Venciment de l’ítem en les properes 24 hores"
+renew_item_due_tooltip = "Venciments de préstecs"
 renew_item_limit = "S’ha arribat al límit de renovacions de l’ítem"
 renew_item_no = "Aquest ítem no es pot renovar"
 renew_item_overdue = "Ítem vençut"
+renew_item_overdue_tooltip = "Préstecs vençuts"
 renew_item_requested = "Aquest ítem ha estat sol·licitat per un altre usuari"
 renew_select_box = "Renovar ítem"
 renew_selected = "Renovar ítems seleccionats"
@@ -908,6 +930,7 @@ search_match = "Coindicència"
 search_NOT = "NO termes"
 search_OR = "QUALSEVOL Terme"
 search_save_success = "Cerca guardada correctament."
+search_terms = "Termes de cerca"
 search_unsave_success = "Cerca guardada eliminada correctament."
 seconds_abbrev = "sec"
 see all = "veure tots"
@@ -1092,6 +1115,7 @@ Video = "Video"
 Video Clips = "Video Clips"
 Videos = "Videos"
 View Book Bag = "Veure la cistella de llibres"
+View Complete Issue = "Registre complet"
 View Full Collection = "Veure col·leccio completa"
 View Full Record = "Veure Registre complet"
 View in EDS = "Veure a EDS"
diff --git a/languages/cs.ini b/languages/cs.ini
index 9070c0fa8f97c605c88b8970fa0deaa88adefac9..9988c3633ea5110bb5d817dd0abc79f58ea0e443 100644
--- a/languages/cs.ini
+++ b/languages/cs.ini
@@ -122,6 +122,7 @@ Bookmark = "Záložka"
 Books = "Knihy"
 Borrowing Location = "Půjčeno na oddělení"
 Braille = "Braillovo písmo"
+Breadcrumbs = "Drobečková navigace"
 Brief View = "Seznam"
 Browse = "Procházet"
 Browse Alphabetically = "Abecední procházení"
@@ -402,6 +403,7 @@ fine_limit_patron = "Dosáhli jste Vašeho limitu upomínek, vaše výpůjčky p
 Fines = "Upomínky"
 First = "První"
 First Name = "Jméno"
+First Search Result = "První výsledek vyhledávání"
 fix_metadata = "Ano, opravit metadata."
 for search = "pro vyhledávání"
 Forgot Password = "Zapomenuté heslo"
@@ -572,6 +574,7 @@ large = "Velký"
 Last = "Poslední"
 Last Modified = "Naposledy změněno"
 Last Name = "Příjmení"
+Last Search Result = "Poslední výsledek vyhledávání"
 less = "méně"
 libphonenumber_invalid = "Telefonní číslo je zadáno chybně"
 libphonenumber_invalidcountry = "Chybné předčíslí země"
@@ -665,6 +668,7 @@ new_user_welcome_subject = "Váš nový účet v knihovně: %%library%%"
 new_user_welcome_text = "Vítejte v knihovně: %%library%%. Právě se Vám podařilo založit účet na jméno %%firstname%% %%lastname%%. Vaše přihlašovací jméno je %%username%%. Heslo si můžete nastavit na této stránce: %%url%%"
 Newspaper = "Noviny"
 Next = "Další"
+Next Search Result = "Další výsledek vyhledávání"
 No citations are available for this record = "Pro tento záznam nejsou dostupné žádné citace"
 No Cover Image = "Obálka není k dispozici"
 No dependency problems found = "Žádné problémy se závislostmi"
@@ -746,6 +750,12 @@ Other Editions = "Další vydání"
 Other Libraries = "Další knihovny"
 Other Sources = "Další zdroje"
 Page not found. = "Stránka nenalezena"
+page_first = "Přejít na první stránku"
+page_last = "Přejít na poslední stránku"
+page_next = "Přejít na další stránku"
+page_num = "Stránka číslo %%page%%"
+page_prev = "Přejít na předchozí stránku"
+pagination_label = "Stránkování"
 Password = "Heslo"
 Password Again = "Heslo (pro kontrolu)"
 Password cannot be blank = "Heslo nesmí být prázdné"
@@ -780,6 +790,7 @@ Preferred Library = "Preferovaná knihovna"
 Prev = "Předchozí"
 Preview = "Náhled"
 Preview from = "Náhled od"
+Previous Search Result = "Předchozí výsledek vyhledávání"
 Previous Title = "Předchozí název"
 Print = "Vytisknout"
 print_selected = "Tisknout vybrané"
diff --git a/languages/de.ini b/languages/de.ini
index 08c7861784d4d73da7a6f07f0a3d6ffa113cde98..8a873065ca584a463b6e46a054ce8983777a98a6 100644
--- a/languages/de.ini
+++ b/languages/de.ini
@@ -123,6 +123,7 @@ Bookmark = "Lesezeichen"
 Books = "Bücher"
 Borrowing Location = "Ausleihstelle"
 Braille = "Blindenschrift"
+Breadcrumbs = "Navigation"
 Brief View = "Ãœbersicht"
 Browse = "Durchstöbern"
 Browse Alphabetically = "Alphabetisch durchstöbern"
@@ -403,6 +404,7 @@ fine_limit_patron = "Sie haben den Grenzwert für Mahnungen erreicht. Sie könne
 Fines = "Gebühren"
 First = "Erste"
 First Name = "Vorname"
+First Search Result = "Erster Treffer"
 fix_metadata = "Ja, Metadaten reparieren; Ich warte ab"
 for search = "für Suche"
 Forgot Password = "Passwort vergessen"
@@ -573,6 +575,7 @@ large = "Gross"
 Last = "Letzte"
 Last Modified = "Letzte Änderung"
 Last Name = "Nachname"
+Last Search Result = "Letzter Treffer"
 less = "weniger"
 libphonenumber_invalid = "Ungültige Telefonnummer"
 libphonenumber_invalidcountry = "Ungültige Landesvorwahl"
@@ -666,6 +669,7 @@ new_user_welcome_subject = "Ihr neuer Account bei %%library%%"
 new_user_welcome_text = "Willommen bei %%library%%. Für %%firstname%% %%lastname%% wurde ein neues Konto eröffnet. Ihr Benutzername lautet %%username%%. Bitte setzen Sie ein Passwort auf folgender Seite: %%url%%"
 Newspaper = "Zeitung"
 Next = "Nächster"
+Next Search Result = "Nächster Treffer"
 No citations are available for this record = "Für diesen Datensatz kann kein Zitat erstellt werden"
 No Cover Image = "Kein Bild verfügbar"
 No dependency problems found = "Keine Abhängigkeitsprobleme festgestellt"
@@ -747,6 +751,12 @@ Other Editions = "Weitere Ausgaben"
 Other Libraries = "Weitere Bibliotheken"
 Other Sources = "Weitere Quellen"
 Page not found. = "Seite nicht gefunden."
+page_first = "Zur ersten Seite springen"
+page_last = "Zur letzten Seite springen"
+page_next = "Zur nächsten Seite"
+page_num = "Seite %%page%%"
+page_prev = "Zur vorherigen Seite"
+pagination_label = "Seitenzahlen"
 Password = "Passwort"
 Password Again = "Passwort wiederholen"
 Password cannot be blank = "Das Passwort darf nicht leer sein"
@@ -781,6 +791,7 @@ Preferred Library = "Stammbibliothek"
 Prev = "Vorheriger"
 Preview = "Voransicht"
 Preview from = "Voransicht ab"
+Previous Search Result = "Vorheriger Treffer"
 Previous Title = "Vorheriger Titel"
 Print = "Drucken"
 print_selected = "Auswahl drucken"
diff --git a/languages/el.ini b/languages/el.ini
index 087e67463c455aec7c1f4aeee25619fca100ba32..760d6448a275fba6a207174ef1d230c48635b703 100644
--- a/languages/el.ini
+++ b/languages/el.ini
@@ -59,7 +59,7 @@ alphabrowse_matches = "Αποτελέσματα"
 alphabrowselink_html = "Περιήγηση σε %%index%% ξεκινώντας από <a href="%%url%%">%%from%%</a>."
 An error has occurred = "Παρουσιάστηκε σφάλμα"
 An error occurred during execution; please try again later. = "Παρουσιάστηκε σφάλμα κατά την εκτέλεση. Ξαναδοκιμάστε αργότερα."
-AND = "AND"
+AND = "KAI"
 anonymous_tags = "Ανώνυμες ετικέτες"
 APA Citation = "Παραπομπή APA"
 applied_filter = "Εφαρμοσμένο φίλτρο"
@@ -124,6 +124,7 @@ Bookmark = "Σελιδοδείκτης"
 Books = "Βιβλία"
 Borrowing Location = "Βιβλιοθήκη δανεισμού"
 Braille = "Μπράιγ"
+Breadcrumbs = "Breadcrumbs"
 Brief View = "Συνοπτική προβολή"
 Browse = "Περιήγηση"
 Browse Alphabetically = "Περιήγηση αλφαβητικά"
@@ -318,7 +319,7 @@ eds_mode_bool = "Αναζήτηση με λογικούς τελεστές ή φ
 eds_mode_smart = "Αναζήτηση SmartText"
 eds_modes_and_expanders = "Επιλογές αναζήτησης"
 Electronic = "Ηλεκτρονική πηγή"
-Email = "Ηλεκτρονικό ταχυδρομείο"
+Email = "Email"
 Email Address = "διεύθυνση Email"
 Email address is invalid = "Η διεύθυνση email δεν είναι έγκυρη"
 Email Record = "αρχείο Email"
@@ -404,6 +405,7 @@ fine_limit_patron = "Δεν μπορείτε να κάνεντε ανανέωσ
 Fines = "Πρόστιμα"
 First = "Πρώτη"
 First Name = "Όνομα"
+First Search Result = "Πρώτο Αποτέλεσμα Αναζήτησης"
 fix_metadata = "Έναρξη επιδιόρθωσης μεταδεδομένων, θα περιμένω"
 for search = "για την αναζήτηση"
 Forgot Password = "Ανάκτηση κωδικού"
@@ -462,7 +464,7 @@ hold_cancel_all = "Ακύρωση όλων των κρατήσεων"
 hold_cancel_fail = "Το αίτημά σας δεν ακυρώθηκε. Απευθυνθείτε στην εξυπηρέτηση για βοήθεια"
 hold_cancel_selected = "Ακύρωση επιλεγμένων κρατήσεων"
 hold_cancel_success = "Το αίτημά σας ακυρώθηκε με επιτυχία"
-hold_cancel_success_items = "%%count%% Τα αιτήματά σας ακυρώθηκαν με επιτυχία"
+hold_cancel_success_items = "%%count%% αιτήματά σας ακυρώθηκαν με επιτυχία"
 hold_date_invalid = "Παρακαλώ εισάγετε έγκυρη ημερομηνία"
 hold_date_past = "Παρακαλώ εισάγετε μελλοντική ημερομηνία"
 hold_empty_selection = "Δεν επιλέχτηκαν κρατήσεις"
@@ -533,7 +535,7 @@ Import Record = "Εισαγωγή εγγραφής"
 in = "σε"
 In This Collection = "Σε αυτή τη συλλογή"
 in_collection_label = "Στη συλλογή:"
-include_synonyms = "Συμπερίληψη αποτελεσμάτων από συνώνυμα"
+include_synonyms = "Να περιλαμβάνονται αποτελέσματα από συνώνυμα"
 Index Terms = "Όροι ευρετηρίου"
 Indexes = "Ευρετήρια"
 information = "Πληροφορίες"
@@ -574,6 +576,7 @@ large = "Μεγάλο μέγεθος"
 Last = "Τελευταία"
 Last Modified = "Τελευταία τροποποίηση"
 Last Name = "Επώνυμο"
+Last Search Result = "Τελευταίο Αποτέλεσμα Αναζήτησης"
 less = "λιγότερα"
 libphonenumber_invalid = "Άκυρος τηλεφωνικός αριθμός"
 libphonenumber_invalidcountry = "Άκυρο πρόθεμα χώρας"
@@ -629,7 +632,7 @@ Media Format = "Μορφή Μέσου"
 medium = "Μέτριο μέγεθος"
 MeSH Terms = "Ιατρικοί όροι (MeSH)"
 Message = "Μήνυμα"
-Message From Sender = "Μήνυμα από αποστολέα"
+Message From Sender = "Μήνυμα αποστολέα"
 Metadata Prefix = "Πρόθεμα μεταδεδομένων"
 Microfilm = "Μικροφίλμ"
 MLA Citation = "Παραπομπή MLA"
@@ -644,7 +647,7 @@ More Topics = "Περισσότερα θέματα"
 more_authors_abbrev = "κ.ά."
 more_info_toggle = "Εμφάνιση/απόκρυψη περισσότερων πληροφοριών."
 more_topics = "%%count%% περισσότερα θέματα"
-Most Recent Received Issues = "πιο πρόσφατα τεύχη"
+Most Recent Received Issues = "Προσφάτως παραληφθέντα τεύχη"
 Multiple Call Numbers = "Πολλαπλοί ταξιθετικοί αριθμοί"
 Multiple Locations = "Πολλαπλές τοποθεσίες"
 Musical Score = "Παρτιτούρα"
@@ -667,6 +670,7 @@ new_user_welcome_subject = "Ο νέος λογαριασμός σας στη %%l
 new_user_welcome_text = "Καλωσήρθατε στη %%library%%. Δημιουργήσατε νέο λογαριασμό για το ονοματεπώνυμο %%firstname%% %%lastname%%, με όνομα χρήστη  %%username%%. Για να ορίσετε τον κωδικό πρόσβασης μεταβείτε στη σελίδα: %%url%%"
 Newspaper = "Εφημερίδα"
 Next = "Επόμενα"
+Next Search Result = "Επόμενο Αποτέλεσμα Αναζήτησης"
 No citations are available for this record = "Δεν υπάρχουν αναφορές για αυτή την εγγραφή"
 No Cover Image = "Χωρίς εξώφυλλο"
 No dependency problems found = "Δεν βρέθηκαν προβλήματα εξαρτήσεων"
@@ -736,7 +740,7 @@ on_reserve = "Δεσμευμένο - Απευθυνθείτε στο τμήμα
 on_topic = "%%count%% τεκμήριο(α) για αυτό το θέμα"
 Online Access = "Διαθέσιμο Online"
 online_resources = "Πλήρες κείμενο"
-open_access_limit = "Περιορισμός σε περιεχόμενο ανοιχτής πρόσβασης"
+open_access_limit = "Μόνο περιεχόμενο ανοιχτής πρόσβασης"
 operator_contains = "περιλαμβάνει"
 operator_exact = "είναι (ακριβώς)"
 OR = "OR"
@@ -748,6 +752,12 @@ Other Editions = "Άλλες εκδόσεις"
 Other Libraries = "Άλλες βιβλιοθήκες"
 Other Sources = "Άλλες πηγές"
 Page not found. = "Η σελίδα δεν βρέθηκε."
+page_first = "Μετάβαση στην Πρώτη Σελίδα"
+page_last = "Μετάβαση στην Τελευταία Σελίδα"
+page_next = "Μετάβαση στην Επόμενη Σελίδα"
+page_num = "Σελίδα %%page%%"
+page_prev = "Μετάβαση στην Προηγούμενη Σελίδα"
+pagination_label = "Σελιδοποίηση"
 Password = "Κωδικός"
 Password Again = "Κωδικός ξανά"
 Password cannot be blank = "Ο κωδικός δεν μπορεί να είναι κενός"
@@ -758,7 +768,7 @@ password_minimum_length = "Ο ελάχιστος αριθμός χαρακτήρ
 password_only_alphanumeric = "Αριθμοί και γράμματα A-Z μόνο"
 password_only_numeric = "Αριθμοί μόνο"
 Passwords do not match = "Οι κωδικοί δε συμφωνούν"
-past_days = "Προηγούμενες %%range%% Ημέρες"
+past_days = "Τελευταίες %%range%% Ημέρες"
 PDF Full Text = "Πλήρες κείμενο PDF"
 peer_reviewed = "με αξιολόγηση από κριτές"
 peer_reviewed_limit = "Περιορισμός σε άρθρα από έγκριτα περιοδικά"
@@ -782,6 +792,7 @@ Preferred Library = "Προεπιλεγμένη βιβλιοθήκη"
 Prev = "Προηγούμενα"
 Preview = "Προεπισκόπηση"
 Preview from = "Προεπισκόπηση από"
+Previous Search Result = "Προηγούμενο Αποτέλεσμα Αναζήτησης"
 Previous Title = "Προηγούμενος τίτλος"
 Print = "Εκτύπωση"
 print_selected = "Εκτύπωση επιλεγμένων"
@@ -888,7 +899,7 @@ Save Comment = "Αποθήκευση σχολίου"
 save_search = "Αποθήκευση αναζήτησης"
 save_search_remove = "Κατάργηση αποθηκευμένης αναζήτησης"
 Saved in = "Αποθηκεύτηκε σε"
-scholarly_limit = "Περιορισμός σε άρθρα επιστημονικών περιοδικών"
+scholarly_limit = "Μόνο άρθρα επιστημονικών περιοδικών"
 Scroll to Load More = "Εμφάνιση περισσοτέρων προς τα κάτω"
 Search = "Αναζήτηση"
 Search For = "Αναζήτηση για"
@@ -1049,7 +1060,7 @@ The record you selected is not part of any of your lists. = "Η εγγραφή 
 The record you selected is not part of the selected list. = "Το τεκμήριο που επιλέξατε δεν υπάρχει σε κάποια από τις λίστες σας"
 The system is currently unavailable due to system maintenance = "Το σύστημα δεν είναι διαθέσιμο για λόγους συντήρησης"
 Theme = "Θέμα"
-This email was sent from = "Το email στάλθηκε από:"
+This email was sent from = "Το email στάλθηκε από"
 This field is required = "Αυτό το πεδίο είναι απαραίτητο"
 This item is already part of the following list/lists = "Αυτό το τεκμήριο υπάρχει ήδη σε λίστα(-ες) σας:"
 This result not is displayed to guests = "Αυτό το αποτέλεσμα δεν εμφανίζεται στους επισκέπτες."
@@ -1057,7 +1068,7 @@ Title = "Τίτλος"
 Title not available = "Ο τίτλος δεν είναι διαθέσιμος"
 Title View = "Προβολή τίτλων"
 title_hold_place = "Ζητήστε κράτηση σε επίπεδο τίτλου"
-To = "σε"
+To = "προς"
 Too Many Email Recipients = "Πάρα πολλοί παραλήπτες email"
 too_many_favorites = "Η λίστα είναι πολύ μεγάλη για να προβληθεί. κάντε ανακατανομή των αγαπημένων σας σε περισσότερες λίστες ή βάλτε περιορισμούς χρησιμοποιώντας ετικέτες."
 too_many_new_items = "Τα τεκμήρια είναι πάρα πολλά για να εμφανιστούν σε μια λίστα. Περιορίστε την αναζήτησή σας."
diff --git a/languages/es.ini b/languages/es.ini
index 9b5c9c091ebd7c24c9da3270f60924751a405604..a5cfc97bc0977c48a578fc18337a190e7d8e6125 100644
--- a/languages/es.ini
+++ b/languages/es.ini
@@ -124,6 +124,7 @@ Bookmark = "Marcador"
 Books = "Libros"
 Borrowing Location = "Ubicación de Préstamo"
 Braille = "Braille"
+Breadcrumbs = "Ruta de Exploración"
 Brief View = "Vista Breve"
 Browse = "Revisar"
 Browse Alphabetically = "Lista Alfabética"
@@ -404,6 +405,7 @@ fine_limit_patron = "Ha llegado al límite de multas, no puede renovar"
 Fines = "Multas"
 First = "Primero"
 First Name = "Nombre"
+First Search Result = "Primer Resultado de Búsqueda"
 fix_metadata = "Si, fijar metadato; voy a esperar"
 for search = "Para Buscar"
 Forgot Password = "Ha olvidado su contraseña"
@@ -574,6 +576,7 @@ large = "Largo"
 Last = "Ultimo"
 Last Modified = "Ultima modificación"
 Last Name = "Apellido"
+Last Search Result = "Ultimo Resultado de Búsqueda"
 less = "menos"
 libphonenumber_invalid = "Número de teléfono no válido"
 libphonenumber_invalidcountry = "Código de país no válido"
@@ -667,6 +670,7 @@ new_user_welcome_subject = "Su nueva cuenta en %%library%%"
 new_user_welcome_text = "Bienvenido a %%library%%. Se ha abierto una nueva cuenta para %%firstname%% %%lastname%%. Tu nombre de usuario es %%username%%. Establezca una contraseña en esta página: %%url%%"
 Newspaper = "Periódico"
 Next = "Siguiente"
+Next Search Result = "Siguiente Resultado de Búsqueda"
 No citations are available for this record = "No hay citas disponibles para este registro"
 No Cover Image = "Sin imagen de la cubierta"
 No dependency problems found = "No se encontraron problemas de dependencias"
@@ -748,6 +752,12 @@ Other Editions = "Otras Ediciones"
 Other Libraries = "Otras Bibliotecas"
 Other Sources = "Otras Fuentes"
 Page not found. = "Página no encontrada"
+page_first = "Ir a la Primera Página"
+page_last = "Ir a la Ultima Página"
+page_next = "Ir a la Siguiente Página"
+page_num = "Página %%page%%"
+page_prev = "Regresar a la Página Anterior"
+pagination_label = "Paginación"
 Password = "Contraseña"
 Password Again = "Nuevamente contraseña"
 Password cannot be blank = "La contraseña no puede quedar en blanco"
@@ -782,6 +792,7 @@ Preferred Library = "Biblioteca principal"
 Prev = "Anterior"
 Preview = "Vista preliminar"
 Preview from = "Vista preliminar de"
+Previous Search Result = "Resultado de Búsqueda Anterior"
 Previous Title = "Título anterior"
 Print = "Imprimir"
 print_selected = "Imprimir los seleccionados"
diff --git a/languages/fi.ini b/languages/fi.ini
index 20c1fcfd8ab0cba1c6b64b562fdc14c3363bc031..cd22dcf332a953b934e5a487d6cad6b8b0e3bb50 100644
--- a/languages/fi.ini
+++ b/languages/fi.ini
@@ -122,6 +122,7 @@ Bookmark = "Kirjanmerkki"
 Books = "Kirjat"
 Borrowing Location = "Lainauspaikka"
 Braille = "Braille"
+Breadcrumbs = "Murupolku"
 Brief View = "Lyhyet tiedot"
 Browse = "Selaa"
 Browse Alphabetically = "Selaa aakkosittain"
@@ -408,6 +409,7 @@ fine_limit_patron = "Lainojen uusiminen ei onnistu, koska maksamattomia maksuja
 Fines = "Maksut"
 First = "Ensimmäinen"
 First Name = "Etunimi"
+First Search Result = "Ensimmäinen hakutulos"
 fix_metadata = "Kyllä, korjaa metadata -- minä odotan"
 for search = "osumasta haulle"
 Forgot Password = "Salasana unohtunut"
@@ -578,6 +580,7 @@ large = "Suuri"
 Last = "Viimeinen"
 Last Modified = "Viimeksi muokattu"
 Last Name = "Sukunimi"
+Last Search Result = "Viimeinen hakutulos"
 less = "vähemmän"
 libphonenumber_invalid = "Virheellinen puhelinnumero"
 libphonenumber_invalidcountry = "Virheellinen maakoodi"
@@ -671,6 +674,7 @@ new_user_welcome_subject = "Uusi tili organisaatiossa %%library%%"
 new_user_welcome_text = "Tervetuloa käyttäjäksi organisaatioon %%library%%. Uusi tili on luotu nimellä %%firstname%% %%lastname%%. Käyttäjätunnuksesi on %%username%%. Aseta salasana seuraavalla sivulla: %%url%%"
 Newspaper = "Sanomalehti"
 Next = "Seuraava"
+Next Search Result = "Seuraava hakutulos"
 No citations are available for this record = "Ei lainauksia saatavissa tälle tietueelle"
 No Cover Image = "Ei kansikuvaa"
 No dependency problems found = "Riippuvuussuhteissa ei havaittu ongelmia"
@@ -752,6 +756,12 @@ Other Editions = "Muut painokset"
 Other Libraries = "Muut kirjastot"
 Other Sources = "Muut lähteet"
 Page not found. = "Sivua ei löytynyt."
+page_first = "Siirry ensimmäiselle sivulle"
+page_last = "Siirry viimeiselle sivulle"
+page_next = "Siirry seuraavalle sivulle"
+page_num = "Sivu %%page%%"
+page_prev = "Siirry edelliselle sivulle"
+pagination_label = "Sivutus"
 Password = "Salasana / PIN*"
 Password Again = "Salasana uudelleen"
 Password cannot be blank = "Salasana ei voi olla tyhjä"
@@ -786,6 +796,7 @@ Preferred Library = "Ensisijainen kirjasto"
 Prev = "Edellinen"
 Preview = "Esikatselu"
 Preview from = "Esikatselu lähteestä"
+Previous Search Result = "Edellinen hakutulos"
 Previous Title = "Edellinen nimeke"
 Print = "Tulosta"
 print_selected = "Tulosta valitut"
diff --git a/languages/fr.ini b/languages/fr.ini
index 009ad3473ae61ceb5048fec03955949e382c71b8..33d479dc57d0673afed58c375ec199fe15a37a6b 100644
--- a/languages/fr.ini
+++ b/languages/fr.ini
@@ -44,7 +44,7 @@ adv_search_toc = "Table des matières"
 adv_search_year = "Année de publication"
 Advanced = "Recherche avancée"
 Advanced Search = "Recherche avancée"
-advSearchError_noRights = "Désolé, mais vous n'avez pas le droit de changer cette recherche. Peut-être que la session n'est plus valable ?"
+advSearchError_noRights = "Hélas, vous n'avez pas le droit de modifier cette recherche. Peut-être la session n'est-elle plus valide ?"
 advSearchError_notAdvanced = "La recherche choisie ne peut pas être éditée."
 advSearchError_notFound = "La recherche demandée n'existe pas."
 ajax_load_interrupted = "Chargement interrompu"
@@ -70,7 +70,7 @@ Audio = "Audio"
 authentication_error_admin = "Vous ne pouvez pas vous connecter en ce moment. Veuillez contacter votre administrateur pour obtenir de l'aide"
 authentication_error_blank = "Ces champs ne peuvent être vides."
 authentication_error_creation_blocked = "Vous n'avez pas les autorisations nécessaires pour créer un compte."
-authentication_error_denied = "Accès refusé"
+authentication_error_denied = "Les informations de connexion ne sont pas valides ! Accès refusé."
 authentication_error_invalid = "Erreur de connexion -- veuillez réessayer."
 authentication_error_loggedout = "Vous êtes maintenant déconnecté."
 authentication_error_technical = "Connexion impossible pour le moment. Veuillez réessayer plus tard."
@@ -123,6 +123,7 @@ Bookmark = "Signet"
 Books = "Livres"
 Borrowing Location = "Lieu d'emprunt"
 Braille = "Braille"
+Breadcrumbs = "Fil d'Ariane"
 Brief View = "Vue abrégée"
 Browse = "Parcourir"
 Browse Alphabetically = "Parcours alphabétique"
@@ -403,6 +404,7 @@ fine_limit_patron = "Vous avez atteint la limite des amendes et ne pouvez plus r
 Fines = "Amendes"
 First = "Premier"
 First Name = "Prénom"
+First Search Result = "Premier résultat de la recherche"
 fix_metadata = "Oui, corriger les métadonnées ; J'attendrai"
 for search = "pour la recherche"
 Forgot Password = "Mot de passe oublié"
@@ -573,6 +575,7 @@ large = "Grand"
 Last = "Dernier"
 Last Modified = "Dernière modification"
 Last Name = "Nom"
+Last Search Result = "Dernier résultat de la recherche"
 less = "moins"
 libphonenumber_invalid = "Numéro de téléphone invalide"
 libphonenumber_invalidcountry = "Code pays invalide"
@@ -666,6 +669,7 @@ new_user_welcome_subject = "Votre nouveau compte à la %%library%%"
 new_user_welcome_text = "Bienvenue à %%library%%. Un nouveau compte a été ouvert pour %%firstname%% %%lastname%%. Votre nom d'utilisateur est %%username%%. Merci de créer un mot de passe sur cette page: %%url%%"
 Newspaper = "Journal"
 Next = "Suivant"
+Next Search Result = "Résultat de recherche suivant"
 No citations are available for this record = "Pas de citation disponible pour cette notice"
 No Cover Image = "Pas d'image"
 No dependency problems found = "Pas de problème de dépendances"
@@ -747,6 +751,12 @@ Other Editions = "Autres éditions"
 Other Libraries = "Autres bibliothèques"
 Other Sources = "Autres sources"
 Page not found. = "Page introuvable."
+page_first = "Aller à la première page"
+page_last = "Aller à la dernière page"
+page_next = "Aller à la page suivante"
+page_num = "Page %%page%%"
+page_prev = "Aller à la page précédente"
+pagination_label = "Pagination"
 Password = "Mot de passe"
 Password Again = "Confirmer le mot de passe"
 Password cannot be blank = "Veuillez saisir un mot de passe"
@@ -781,6 +791,7 @@ Preferred Library = "Bibliothèque favorite"
 Prev = "Précédent"
 Preview = "Prévisualiser"
 Preview from = "Prévisualiser depuis"
+Previous Search Result = "Résultat de recherche précédent"
 Previous Title = "Titre précédent"
 Print = "Imprimer"
 print_selected = "Imprimer la sélection"
diff --git a/languages/ja.ini b/languages/ja.ini
index 1040e5fa9d72960c477879172a3db356c465277d..04276f9db9f725e77e68242b60da46f12f71846d 100644
--- a/languages/ja.ini
+++ b/languages/ja.ini
@@ -124,6 +124,7 @@ Bookmark = "ブックマーク"
 Books = "図書"
 Borrowing Location = "貸出館"
 Braille = "点字資料"
+Breadcrumbs = "パンくずリスト"
 Brief View = "簡略表示"
 Browse = "ブラウズ"
 Browse Alphabetically = "アルファベット順ブラウズ"
@@ -404,6 +405,7 @@ fine_limit_patron = "延滞金限度額に達しました。資料の更新は
 Fines = "延滞金"
 First = "最初"
 First Name = "名"
+First Search Result = "先頭"
 fix_metadata = "はい、メタデータを修正してください。待ちます。"
 for search = "検索語"
 Forgot Password = "パスワードを忘れた方"
@@ -574,6 +576,7 @@ large = "大"
 Last = "最後"
 Last Modified = "最終更新日"
 Last Name = "姓"
+Last Search Result = "末尾"
 less = "隠す"
 libphonenumber_invalid = "不正な電話番号"
 libphonenumber_invalidcountry = "不正な国番号"
@@ -667,6 +670,7 @@ new_user_welcome_subject = "%%library%%における新しいアカウント"
 new_user_welcome_text = "%%library%%にようこそ。%%lastname%%%%firstname%%さんの新しいアカウントを作成しました。ユーザ名は%%username%%です。%%url%%でパスワードを設定してください。"
 Newspaper = "新聞"
 Next = "次ページ"
+Next Search Result = "次"
 No citations are available for this record = "このレコードには引用がありません。"
 No Cover Image = "カバー画像なし"
 No dependency problems found = "依存性の問題はありません"
@@ -748,6 +752,12 @@ Other Editions = "その他の版"
 Other Libraries = "他の図書館"
 Other Sources = "他のソース"
 Page not found. = "ページが存在しません。"
+page_first = "最初のページへ"
+page_last = "最後のページへ"
+page_next = "次のページへ"
+page_num = "%%page%%ページ"
+page_prev = "前のページへ"
+pagination_label = "ページ"
 Password = "パスワード"
 Password Again = "もう一度パスワード"
 Password cannot be blank = "パスワードを入力してください"
@@ -782,6 +792,7 @@ Preferred Library = "ホーム図書館"
 Prev = "前ページ"
 Preview = "プレビュー"
 Preview from = "プレビュー: "
+Previous Search Result = "前"
 Previous Title = "前タイトル"
 Print = "印刷"
 print_selected = "選択資料を印刷"
diff --git a/languages/nl.ini b/languages/nl.ini
index ed3286e4f0ac82a5628fe2038d9b838f927c4d4a..063ae974b5ff4c11d29ba84e5ec7151162fd15cf 100644
--- a/languages/nl.ini
+++ b/languages/nl.ini
@@ -124,6 +124,7 @@ Bookmark = "Favoriet"
 Books = "Boeken"
 Borrowing Location = "Plaats van ontlening"
 Braille = "Braille"
+Breadcrumbs = "Navigatiepad"
 Brief View = "Beknopte weergave"
 Browse = "Bladeren"
 Browse Alphabetically = "Blader alfabetisch"
@@ -404,6 +405,7 @@ fine_limit_patron = "Je hebt jouw boete limieten overschreden en kunt geen items
 Fines = "Boetes"
 First = "Eerst(e)"
 First Name = "Voornaam"
+First Search Result = "Eerste zoekresultaat"
 fix_metadata = "Ja, repareer de metadata, ik wacht wel"
 for search = "Voor zoekopdracht"
 Forgot Password = "Wachtwoord vergeten"
@@ -574,6 +576,7 @@ large = "Groot"
 Last = "Laatst(e)"
 Last Modified = "Laatste aanpassing"
 Last Name = "Achternaam"
+Last Search Result = "Laatste zoekresultaat"
 less = "minder"
 libphonenumber_invalid = "Ongeldig telefoonnummer"
 libphonenumber_invalidcountry = "Ongeldige landcode"
@@ -667,6 +670,7 @@ new_user_welcome_subject = "Uw nieuwe account in de %%library%%"
 new_user_welcome_text = "Welkom in de %%library%%. Er werd een nieuw account geopend voor %%firstname%% %%lastname%%. Je gebruikersnaam is %%username%%. Maak een paswoord aan op deze pagina: %%url%%"
 Newspaper = "Dagblad"
 Next = "Volgende"
+Next Search Result = "Volgend zoekresultaat"
 No citations are available for this record = "Er zijn geen citaties beschikbaar voor dit record."
 No Cover Image = "Geen boekomslag"
 No dependency problems found = "Geen afhankelijkheidsproblemen gevonden"
@@ -748,6 +752,12 @@ Other Editions = "Andere edities"
 Other Libraries = "Andere bibliotheken"
 Other Sources = "Andere bronnen"
 Page not found. = "De pagina werd niet gevonden"
+page_first = "Gan naar de eerste pagina"
+page_last = "Ga naar de laatste pagina"
+page_next = "Ga naar de volgende pagina"
+page_num = "Pagina %%page%%"
+page_prev = "Ga naar de vorige pagina"
+pagination_label = "Paginering"
 Password = "Wachtwoord"
 Password Again = "Nog eens jouw wachtwoord"
 Password cannot be blank = "Wachtwoord kan niet blanco zijn"
@@ -782,6 +792,7 @@ Preferred Library = "Voorkeurs bibliotheek"
 Prev = "Vorige"
 Preview = "Bekijk"
 Preview from = "Bekijk vanaf"
+Previous Search Result = "Vorig zoekresultaat"
 Previous Title = "Vorige titel"
 Print = "Afdrukken"
 print_selected = "Print Selectie"
diff --git a/languages/pl.ini b/languages/pl.ini
index 9e70c252a1e9cea7ce07e406e965241d3e3a26b8..306c809a4174b4e2ba5c08cb414bbbfb5d4beacd 100644
--- a/languages/pl.ini
+++ b/languages/pl.ini
@@ -185,6 +185,7 @@ Bookmark = "Zakładka"
 Books = "Książki"
 Borrowing Location = "Biblioteka wypożyczająca"
 Braille = "Brajl"
+Breadcrumbs = "Nawigacja okruszkowa"
 Brief View = "Ograniczony widok"
 Browse = "PrzeglÄ…daj"
 Browse Alphabetically = "PrzeglÄ…daj alfabetycznie"
@@ -465,6 +466,7 @@ fine_limit_patron = "Osiągnąłeś limit opłat. Nie możesz prolongować tej k
 Fines = "Opłaty"
 First = "Pierwsza"
 First Name = "ImiÄ™"
+First Search Result = "Pierwszy wynik"
 fix_metadata = "Tak, napraw metadane."
 for search = "Dla wyszukiwania"
 Forgot Password = "Zapomniałeś hasła?"
@@ -635,6 +637,7 @@ large = "Duże"
 Last = "Ostatnia"
 Last Modified = "Ostatnia zmiana"
 Last Name = "Nazwisko"
+Last Search Result = "Ostatni wynik"
 less = "Mniej"
 libphonenumber_invalid = "Numer telefonu nieważny"
 libphonenumber_invalidcountry = "Numer kierunkowy kraju nieważny"
@@ -728,6 +731,7 @@ new_user_welcome_subject = "Twoje konto czytelnika w %%library%%"
 new_user_welcome_text = "Witamy w %%library%%. Utworzyliśmy nowe konto czytelnika dla %%firstname%% %%lastname%%. Twoja nazwa użytkownika jest %%username%%. Utwórz hasło na tej stronie: %%url%%"
 Newspaper = "Gazeta"
 Next = "Następna"
+Next Search Result = "Następny wynik"
 No citations are available for this record = "Dla tego zapisu nie można stworzyć cytatu."
 No Cover Image = "Nie ma okładki"
 No dependency problems found = "Nie stwierdzono problemów zależnośći."
@@ -809,6 +813,12 @@ Other Editions = "Kolejne wydania"
 Other Libraries = "Kolejne biblioteki"
 Other Sources = "Inne źródła"
 Page not found. = "Strona nie istnieje."
+page_first = "Idź do pierwszej strony"
+page_last = "Idź do ostatniej strony"
+page_next = "Idź do następnej strony"
+page_num = "Strona %%page%%"
+page_prev = "Idź do poprzedniej strony"
+pagination_label = "Paginacja"
 Password = "Hasło"
 Password Again = "Powtórz hasło"
 Password cannot be blank = "Hasło nie może być spacją"
@@ -843,6 +853,7 @@ Preferred Library = "Preferencyjna biblioteka"
 Prev = "Poprzedni"
 Preview = "PrzeglÄ…d"
 Preview from = "PrzeglÄ…d od"
+Previous Search Result = "Poprzednie wyniki"
 Previous Title = "Poprzedni tytuł"
 Print = "Drukuj"
 print_selected = "Drukuj zaznaczone elementy"
diff --git a/languages/pt-br.ini b/languages/pt-br.ini
index 6de0bb8856c9cd4e7102f2b410275926753b54ef..dd4f91057ed21350752ae0264d7dd00d69b64c37 100644
--- a/languages/pt-br.ini
+++ b/languages/pt-br.ini
@@ -123,6 +123,7 @@ Bookmark = "Salvar/Partilhar"
 Books = "Livros"
 Borrowing Location = "Local Empréstimo"
 Braille = "Braille"
+Breadcrumbs = "Trilhas de Navegação"
 Brief View = "Visão Breve"
 Browse = "Navegar"
 Browse Alphabetically = "Navegar por ordem alfabética"
@@ -403,6 +404,7 @@ fine_limit_patron = "Não lhe é permitido renovar o empréstimo por ter atingid
 Fines = "Multas"
 First = "Primeiro"
 First Name = "Primeiro nome"
+First Search Result = "Primeiro resultado da busca"
 fix_metadata = "Sim, corrigir os metadados, eu espero"
 for search = "para a busca"
 Forgot Password = "Esqueci minha senha"
@@ -573,6 +575,7 @@ large = "Grande"
 Last = "Último"
 Last Modified = "Última modificação"
 Last Name = "Sobrenome"
+Last Search Result = "Último resultado da busca"
 less = "menos"
 libphonenumber_invalid = "Número de telefone inválido"
 libphonenumber_invalidcountry = "Código telefônico de país inválido"
@@ -666,6 +669,7 @@ new_user_welcome_subject = "Sua nova conta na %%library%%"
 new_user_welcome_text = "Bem vindo a %%library%%. Uma nova conta foi criada para %%firstname%% %%lastname%%. sua identificação é %%username%%. Por favor, coloque uma senha nesta páginga: %%url%%"
 Newspaper = "Jornal"
 Next = "Seguinte"
+Next Search Result = "Próximo resultado da busca"
 No citations are available for this record = "Não há citações disponíveis para este registro"
 No Cover Image = "Imagem de Sem Capa"
 No dependency problems found = "Não há problemas de dependência"
@@ -747,6 +751,12 @@ Other Editions = "Outras Edições"
 Other Libraries = "Outras Bibliotecas"
 Other Sources = "Outras Fontes"
 Page not found. = "Página não encontrada."
+page_first = "Ir para a primeira página"
+page_last = "Ir para a última página"
+page_next = "Ir para a próxima página"
+page_num = "Página %%page%%"
+page_prev = "Ir para a página anterior"
+pagination_label = "Paginação"
 Password = "Senha"
 Password Again = "Senha, novamente"
 Password cannot be blank = "A senha não pode estar em branco"
@@ -781,6 +791,7 @@ Preferred Library = "Biblioteca Preferida"
 Prev = "Anterior"
 Preview = "Previsualização"
 Preview from = "Previsualização de"
+Previous Search Result = "Resultado da busca anterior"
 Previous Title = "Título anterior"
 Print = "Imprimir"
 print_selected = "Imprimir os selecionados"
diff --git a/languages/sv.ini b/languages/sv.ini
index 36f79af8c0ec9c9dcfdab57c75edfebe1b451c78..1bff70336945092ad1d35c74707a66293d8ce3d2 100644
--- a/languages/sv.ini
+++ b/languages/sv.ini
@@ -122,6 +122,7 @@ Bookmark = "Bokmärke"
 Books = "Böcker"
 Borrowing Location = "Utlåningsställe"
 Braille = "Punktskrift"
+Breadcrumbs = "Synlig sökväg"
 Brief View = "Kort vy"
 Browse = "Bläddra"
 Browse Alphabetically = "Bläddra alfabetiskt"
@@ -403,6 +404,7 @@ fine_limit_patron = "Lån kan inte förnyas p.g.a. mängden obetalda avgifter"
 Fines = "Avgifter"
 First = "Först"
 First Name = "Förnamn"
+First Search Result = "Första sökresultat"
 fix_metadata = "Yes, fix the metadata; I'll wait"
 for search = "för sökning"
 Forgot Password = "Glömt lösenord"
@@ -573,6 +575,7 @@ large = "Large"
 Last = "Sista"
 Last Modified = "Sist ändrad"
 Last Name = "Efternamn"
+Last Search Result = "Sista sökresultat"
 less = "mindre"
 libphonenumber_invalid = "Telefonnummer ogiltigt"
 libphonenumber_invalidcountry = "Ogiltig landkod"
@@ -666,6 +669,7 @@ new_user_welcome_subject = "Ditt nytt konto i %%library%%"
 new_user_welcome_text = "Välkommen till %%library%%. En ny konto har skapats för %%firstname%% %%lastname%%. Ditt användarnamn är %%username%%. Vänligen lägg till ett lösenord på denna sidan: %%url%%"
 Newspaper = "Tidning"
 Next = "Nästa"
+Next Search Result = "Nästa sökresultat"
 No citations are available for this record = "Inga hänvisningar tillgängliga för denna post"
 No Cover Image = "Ingen omslagsbild"
 No dependency problems found = "No dependency problems found"
@@ -747,6 +751,12 @@ Other Editions = "Andra upplagor"
 Other Libraries = "Andra bibliotek"
 Other Sources = "Andra källor"
 Page not found. = "Sidan hittades inte."
+page_first = "Gå till första sida"
+page_last = "GÃ¥ till sista sida"
+page_next = "Gå till nästa sida"
+page_num = "Sida %%page%%"
+page_prev = "Gå till föregående sida"
+pagination_label = "Paginering"
 Password = "Lösenord / PIN *"
 Password Again = "Upprepa lösenordet"
 Password cannot be blank = "Lösenordet kan inte vara tomt"
@@ -781,6 +791,7 @@ Preferred Library = "Föredraget bibliotek"
 Prev = "Föregående"
 Preview = "Förhandsvisning"
 Preview from = "Förhandsvisning från"
+Previous Search Result = "Föregående sökresultat"
 Previous Title = "Föregående titel"
 Print = "Skriv ut"
 print_selected = "Skriv ut valda"
diff --git a/languages/tr.ini b/languages/tr.ini
index 0e4d4fb74be0ff679b33aed455185b7464068c77..0fce69ff68a08ce241453f7f905423fb14779c97 100644
--- a/languages/tr.ini
+++ b/languages/tr.ini
@@ -134,6 +134,7 @@ Bookmark = "Yer Ä°mi"
 Books = "Kitaplar"
 Borrowing Location = "Ödünç Alma Yeri"
 Braille = "Braille"
+Breadcrumbs = "Breadcrumbs"
 Brief View = "Kısa Görünüm"
 Browse = "Listele"
 Browse Alphabetically = "Alfabetik Listele"
@@ -414,6 +415,7 @@ fine_limit_patron = "Ceza limitiniz dolmuştur, kayıtları uzatamazsınız."
 Fines = "Cezalar"
 First = "Ýlk"
 First Name = "Ad"
+First Search Result = "Ä°lk Arama Sonucu"
 fix_metadata = "Evet, Metadatayı düzelt; Bekleyeceğim"
 for search = "sonuç. Aranan kelime"
 Forgot Password = "Åžifrenizi mi unuttunuz"
@@ -584,6 +586,7 @@ large = "Büyük"
 Last = "Son"
 Last Modified = "Son DeÄŸiÅŸiklik"
 Last Name = "Soyad"
+Last Search Result = "Son Arama Sonucu"
 less = "daha az"
 libphonenumber_invalid = "Telefon numarası hatalı"
 libphonenumber_invalidcountry = "Ülke kodu hatalı"
@@ -677,6 +680,7 @@ new_user_welcome_subject = "%%library%% deki yeni hesabınız"
 new_user_welcome_text = "%%library%% ye Hoş Geldiniz. %%firstname%% %%lastname%% için yeni hesabınız açılmıştır. Kullanıcı adınız %%username%%. %%url%% bu bağlantıya tıklayarak şifrenizi oluşturunuz"
 Newspaper = "Gazete"
 Next = "Sonraki"
+Next Search Result = "Sonraki Arama Sonucu"
 No citations are available for this record = "Bu kayıt için alıntı yapılmamış"
 No Cover Image = "Kapak Resmi Yok"
 No dependency problems found = "Bağlantılı problem bulunmadı"
@@ -758,6 +762,12 @@ Other Editions = "DiÄŸer Edisyonlar"
 Other Libraries = "Diğer Kütüphaneler"
 Other Sources = "DiÄŸer Kaynaklar"
 Page not found. = "Sayfa bulunamadı."
+page_first = "Ä°lk Sayfaya Git"
+page_last = "Son Sayfaya Git"
+page_next = "Sonraki Sayfaya Git"
+page_num = "Sayfa %%sayfa%%"
+page_prev = "Önceki Sayfaya Git"
+pagination_label = "Sayfa Numaralandırma"
 Password = "Parola"
 Password Again = "Åžifrenizi tekrar girin"
 Password cannot be blank = "Åžifre boÅŸ olamaz"
@@ -792,6 +802,7 @@ Preferred Library = "Tercih Edilen Kütüphane"
 Prev = "Önceki"
 Preview = "Önizleme"
 Preview from = "Önizleme"
+Previous Search Result = "Önceki Arama Sonucu"
 Previous Title = "Önceki Başlık"
 Print = "Yazdır"
 print_selected = "Seçilmişleri yazdır"
diff --git a/languages/vi.ini b/languages/vi.ini
index 750f34e0e7168e7a14bf439c1ca2afd538470887..6013d40c55dedf6dd775e6d0694c8c9c77760db2 100644
--- a/languages/vi.ini
+++ b/languages/vi.ini
@@ -123,6 +123,7 @@ Bookmark = "Đánh dấu"
 Books = "Sách"
 Borrowing Location = "Khu vực mượn"
 Braille = "Chữ nổi"
+Breadcrumbs = "Thẻ điều hướng phụ"
 Brief View = "Góc nhìn ngắn"
 Browse = "Duyệt nhanh"
 Browse Alphabetically = "Tìm theo thứ tự ABC"
@@ -403,6 +404,7 @@ fine_limit_patron = "Bạn đã đạt đến giới hạn tiền phạt của m
 Fines = "Tiền phạt"
 First = "Đầu tiên"
 First Name = "Tên"
+First Search Result = "Kết quả tìm kiếm đầu tiên"
 fix_metadata = "Có, sửa siêu dữ liệu; tôi sẽ đợi"
 for search = "Tìm kiếm"
 Forgot Password = "Quên mật khẩu"
@@ -573,6 +575,7 @@ large = "Lá»›n"
 Last = "Cuối"
 Last Modified = "Sửa đổi lần cuối"
 Last Name = "Họ"
+Last Search Result = "Kết quả tìm kiếm cuối"
 less = "ít hơn"
 libphonenumber_invalid = "Số điện thoại không hợp lệ"
 libphonenumber_invalidcountry = "Mã gọi quốc gia không hợp lệ"
@@ -666,6 +669,7 @@ new_user_welcome_subject = "Tài khoản mới của bạn tại %%library%%"
 new_user_welcome_text = "Xin chào tới %%library%%. Một tài khoản mới đã được mở cho %%firstname%% %%lastname%%. Tài khoản của bạn là %%username%%. Vui lòng đặt mật khẩu trên trang này: %%url%%"
 Newspaper = "Báo chí"
 Next = "Tiếp theo"
+Next Search Result = "Kết quả tìm kiếm tiếp theo"
 No citations are available for this record = "Không có trích dẫn nào cho hồ sơ này"
 No Cover Image = "Không có hình ảnh bìa"
 No dependency problems found = "Không tìm thấy vấn đề phụ thuộc"
@@ -747,6 +751,12 @@ Other Editions = "Các ấn bản khác"
 Other Libraries = "Thư viện khác"
 Other Sources = "Những nguồn khác"
 Page not found. = "Không tìm thấy trang."
+page_first = "Chuyển đến trang đầu tiên"
+page_last = "Chuyển đến trang cuối"
+page_next = "Chuyển đến trang tiếp theo"
+page_num = "Trang %%page%%"
+page_prev = "Chuyển đến trang trước"
+pagination_label = "Phân trang"
 Password = "Mật khẩu"
 Password Again = "Nhập lại mật khẩu"
 Password cannot be blank = "Không được để trống mật khẩu"
@@ -781,6 +791,7 @@ Preferred Library = "Thư viện ưu tiên"
 Prev = "TrÆ°á»›c"
 Preview = "Xem trÆ°á»›c"
 Preview from = "Xem trước từ"
+Previous Search Result = "Kết quả tìm kiếm trước đó"
 Previous Title = "Tiêu đề trước"
 Print = "In"
 print_selected = "In đã chọn"
diff --git a/local/alpha/config/vufind/config.ini b/local/alpha/config/vufind/config.ini
index eb8563c323db3cb8bc8e4962761b0493749d3d9a..e3c8dae6a0795d39d7b2fea6e0654e2ee4ee64f9 100644
--- a/local/alpha/config/vufind/config.ini
+++ b/local/alpha/config/vufind/config.ini
@@ -26,6 +26,7 @@ driver=Demo
 library_cards=true
 [Site]
 showBookBag=true
+offcanvas=true
 [Browse]
 tag=true
 [Social]
diff --git a/local/config/vufind/config.ini b/local/config/vufind/config.ini
index b37242be590372b08e457aab190fc7b2afd2cba8..be6fd603ce9b01c28bcdd32c6fb084df72461362 100644
--- a/local/config/vufind/config.ini
+++ b/local/config/vufind/config.ini
@@ -93,9 +93,9 @@ sidebarOnLeft = false
 ; Invert the sidebarOnLeft setting for right-to-left languages?
 mirrorSidebarInRTL = true
 ; Handle menu as an offcanvas slider at mobile sizes (in bootstrap3-based themes)
-offcanvas = false
+offcanvas = true
 ; Show (true) / Hide (false) Book Bag - Default is Hide.
-showBookBag = false
+showBookBag = true
 ; Set the maximum amount of items allowed in the Book Bag - Default is 100
 bookBagMaxSize = 20
 ; Display bulk items (export, save, etc.) and checkboxes on search result screens?
diff --git a/local/languages/de.ini b/local/languages/de.ini
index b2a372c2da3c276fd4ea5373dcefb23bccdf1446..b9ce710d22e612e56cbf143f87cb22df229c2840 100644
--- a/local/languages/de.ini
+++ b/local/languages/de.ini
@@ -2038,3 +2038,6 @@ Range-from-to = "Bereich von/bis"
 ; #17833
 form-legend = "Bitte füllen Sie alle Felder aus"
 form-button-submit = "Ausgefülltes Formular abschicken"
+
+; #17601
+offcanvas-toggler-search-tips = "Suchtipps einblenden"
diff --git a/local/languages/en.ini b/local/languages/en.ini
index b40a155ef597688a9f3d7dcec6fa4043352604a1..791449b2a2f9be5e9712e720fd81d4a2aee980e5 100644
--- a/local/languages/en.ini
+++ b/local/languages/en.ini
@@ -2126,3 +2126,6 @@ Range-from-to = "Range from/to"
 ; #17833
 form-legend = "Please fill in all fields to create an account"
 form-button-submit = "Submit the completed form"
+
+; #17601
+offcanvas-toggler-search-tips = "Show search help"
diff --git a/themes/bootprint3/scss/bootprint.scss b/themes/bootprint3/scss/bootprint.scss
index e7b204be19ae906062260cad3a0f0f5b17cf726a..c7463c8bdd1863993ed159a4633a2c250ed67617 100644
--- a/themes/bootprint3/scss/bootprint.scss
+++ b/themes/bootprint3/scss/bootprint.scss
@@ -10,8 +10,8 @@
 @import "search";
 @import "forms";
 
-$brand-primary: #619144 !default; /* a11y overrides $brand-primary in sass */
-$active-orange: #E70 !default;
+$brand-primary: #619144; /* a11y overrides $brand-primary in sass */
+$active-orange: #E70;
 
 /* --- Bootstrap MODS ---*/
 @import "common";
diff --git a/themes/bootprint3/scss/icons.scss b/themes/bootprint3/scss/icons.scss
index 8c2885d47543ad68e0a680c0964e53353b6f8ec9..48823e0f51b1c30be1167f84658954a214a303a9 100644
--- a/themes/bootprint3/scss/icons.scss
+++ b/themes/bootprint3/scss/icons.scss
@@ -1,4 +1,4 @@
-$bp3-icon-path: '../../bootprint3/images/icons' !default;
+$bp3-icon-path: '../../bootprint3/images/icons';
 .doi-icon { width: 16px; }
 .bp-icon {
   background-position: center center;
diff --git a/themes/bootprint3/scss/variables.scss b/themes/bootprint3/scss/variables.scss
index 45a408d1e859b7f168c9ec595cbe47ab4472e5c1..dd2080deb69b44154cd96dc9b2a0223bb9bbac16 100644
--- a/themes/bootprint3/scss/variables.scss
+++ b/themes/bootprint3/scss/variables.scss
@@ -1,39 +1,39 @@
-$brand-primary: #619144 !default;
+$brand-primary: #619144;
 
-$font-size-base: 13px !default;
+$font-size-base: 13px;
 
-$padding-base-vertical   : 3px !default;
-$padding-base-horizontal : 5px !default;
-$padding-large-vertical  : 8px !default;
-$padding-large-horizontal: 5px !default;
-$padding-small-vertical  : 1px !default;
-$padding-small-horizontal: 2px !default;
-$padding-xs-horizontal   : 1px !default;
+$padding-base-vertical   : 3px;
+$padding-base-horizontal : 5px;
+$padding-large-vertical  : 8px;
+$padding-large-horizontal: 5px;
+$padding-small-vertical  : 1px;
+$padding-small-horizontal: 2px;
+$padding-xs-horizontal   : 1px;
 
-$border-radius-base : 3px !default;
-$border-radius-large: 5px !default;
-$border-radius-small: 2px !default;
+$border-radius-base : 3px;
+$border-radius-large: 5px;
+$border-radius-small: 2px;
 
-$input-border-focus: $brand-primary !default;
+$input-border-focus: $brand-primary;
 
-$legend-border-color: #777 !default; // $gray-light
+$legend-border-color: #777; // $gray-light
 
-$grid-gutter-width: 14px !default;
+$grid-gutter-width: 14px;
 
-$container-desktop      : 952px !default;
-$container-large-desktop: 952px !default;
+$container-desktop      : 952px;
+$container-large-desktop: 952px;
 
-$navbar-height       : 65px !default;
-$navbar-margin-bottom: 0px !default;
-$nav-link-padding    : 5px !default;
+$navbar-height       : 65px;
+$navbar-margin-bottom: 0px;
+$nav-link-padding    : 5px;
 
-$pagination-active-bg    : #5bc0de !default; // $brand-info
-$pagination-active-border: #5bc0de !default; // $brand-info
+$pagination-active-bg    : #5bc0de; // $brand-info
+$pagination-active-border: #5bc0de; // $brand-info
 
-$panel-body-padding: 5px !default;
+$panel-body-padding: 5px;
 
-$breadcrumb-padding-vertical  : 6px !default;
-$breadcrumb-padding-horizontal: 20px !default;
-$breadcrumb-bg                : #FFF !default;
-$breadcrumb-color             : #777 !default; // $gray-light
-$breadcrumb-active-color      : #333 !default; // $gray-dark
\ No newline at end of file
+$breadcrumb-padding-vertical  : 6px;
+$breadcrumb-padding-horizontal: 20px;
+$breadcrumb-bg                : #FFF;
+$breadcrumb-color             : #777; // $gray-light
+$breadcrumb-active-color      : #333; // $gray-dark
\ No newline at end of file
diff --git a/themes/bootstrap3/js/lightbox.js b/themes/bootstrap3/js/lightbox.js
index ed69c3af3c4339f017d2e2837b96ec3a259dcc53..4f324c9180886a15f5b06c9b183dd7a24a38bf72 100644
--- a/themes/bootstrap3/js/lightbox.js
+++ b/themes/bootstrap3/js/lightbox.js
@@ -7,7 +7,7 @@ VuFind.register('lightbox', function Lightbox() {
   var refreshOnClose = false;
   var _modalParams = {};
   // Elements
-  var _modal, _modalBody, _modalTitle, _clickedButton = null;
+  var _modal, _modalBody, _clickedButton = null;
   // Utilities
   function _storeClickedStatus() {
     _clickedButton = this;
@@ -15,10 +15,11 @@ VuFind.register('lightbox', function Lightbox() {
   function _html(content) {
     _modalBody.html(content);
     // Set or update title if we have one
-    if (_lightboxTitle) {
-      _modalTitle.text(_lightboxTitle);
-      _lightboxTitle = false;
+    var $h2 = _modalBody.find("h2:first-of-type");
+    if (_lightboxTitle && $h2) {
+      $h2.text(_lightboxTitle);
     }
+    _lightboxTitle = false;
     _modal.modal('handleUpdate');
   }
   function _emit(msg, _details) {
@@ -243,7 +244,7 @@ VuFind.register('lightbox', function Lightbox() {
         obj.type = 'POST';
         obj.data = $(this).data('lightbox-post');
       }
-      _lightboxTitle = $(this).data('lightbox-title') || '';
+      _lightboxTitle = $(this).data('lightbox-title') || false;
       _modalParams = $(this).data();
       VuFind.modal('show');
       ajax(obj);
@@ -318,7 +319,7 @@ VuFind.register('lightbox', function Lightbox() {
       submit.attr('disabled', 'disabled');
     }
     // Store custom title
-    _lightboxTitle = submit.data('lightbox-title') || $(form).data('lightbox-title') || '';
+    _lightboxTitle = submit.data('lightbox-title') || $(form).data('lightbox-title') || false;
     // Get Lightbox content
     ajax({
       url: $(form).attr('action') || _currentUrl,
@@ -378,13 +379,12 @@ VuFind.register('lightbox', function Lightbox() {
     _html(VuFind.translate('loading') + '...');
     _originalUrl = false;
     _currentUrl = false;
-    _lightboxTitle = '';
+    _lightboxTitle = false;
     _modalParams = {};
   }
   function init() {
     _modal = $('#modal');
     _modalBody = _modal.find('.modal-body');
-    _modalTitle = _modal.find('#modal-title');
     _modal.on('hide.bs.modal', function lightboxHide() {
       if (VuFind.lightbox.refreshOnClose) {
         VuFind.refreshPage();
diff --git a/themes/bootstrap3/less/components/accessibility.less b/themes/bootstrap3/less/components/accessibility.less
index bf8301521e138e7724e76cd3c426063cd8030156..3fc07c552777af6778962dde5079c43de9e2fe69 100644
--- a/themes/bootstrap3/less/components/accessibility.less
+++ b/themes/bootstrap3/less/components/accessibility.less
@@ -17,37 +17,10 @@ a {
 .alert-danger,
 .alert-danger a {
   color: @state-danger-text;
-}
-
-/**
- * OVERRIDE BS3 COLLAPSE MENU HIDDEN
- *
- * instead of display: none, keep things sr accessible
- * https://tailwindcss.com/docs/screen-readers/
- */
-.collapse.collapse:not(.in) {
-  position: absolute;
-  display: block;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  margin: -1px;
-  color: #000;
-  background-color: #fff;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  white-space: nowrap;
-  border-width: 0;
-}
-@media (min-width: 768px) {
-  .navbar-collapse.collapse:not(.in) {
-    position: static;
-    width: auto;
-    height: auto;
-    padding: 0;
-    margin: 0;
-    overflow: visible;
-    clip: auto;
-    white-space: normal;
+  .btn-danger {
+    color: white;
+  }
+  .btn-danger:hover {
+    color: @state-danger-text;
   }
 }
diff --git a/themes/bootstrap3/less/components/lightbox.less b/themes/bootstrap3/less/components/lightbox.less
index b1af70eb615c7d225ff774bfd69525af9c104d0c..207faecbca45b2282c561caa5832f033934d31a0 100644
--- a/themes/bootstrap3/less/components/lightbox.less
+++ b/themes/bootstrap3/less/components/lightbox.less
@@ -48,4 +48,4 @@ body.rtl .modal-loading { float: left; }
 #modal .lightbox-only { display: initial; }
 
 // Image display
-.lightbox-image { text-align: center; }
\ No newline at end of file
+.lightbox-image { text-align: center; }
diff --git a/themes/bootstrap3/scss/bootstrap.scss b/themes/bootstrap3/scss/bootstrap.scss
index 598ade7062a67de7955d2ae418020a5d82fa35b7..3b1ccd9bdbc096829e3dd854add7783fcd8b94f5 100644
--- a/themes/bootstrap3/scss/bootstrap.scss
+++ b/themes/bootstrap3/scss/bootstrap.scss
@@ -3,14 +3,12 @@
 @import "vendor/font-awesome/font-awesome";
 <#LESS */
 /* #SCSS> */
-$fa-font-path: "../../bootstrap3/css/fonts" !default;
+$fa-font-path: "../../bootstrap3/css/fonts";
 @import "vendor/bootstrap";
 @import "vendor/font-awesome/font-awesome";
 /* <#SCSS */
 
-@import "vendor/bootstrap-accessibility/bootstrap-accessibility";
-@import "vendor/a11y";
-
+@import "components/accessibility";
 @import "components/variables";
 
 @import "components/advanced-search";
diff --git a/themes/bootstrap3/scss/components/accessibility.scss b/themes/bootstrap3/scss/components/accessibility.scss
new file mode 100644
index 0000000000000000000000000000000000000000..a987269a49d2b6b67d5b32480ed54e4664283f8b
--- /dev/null
+++ b/themes/bootstrap3/scss/components/accessibility.scss
@@ -0,0 +1,26 @@
+@import "../vendor/bootstrap-accessibility/bootstrap-accessibility";
+@import "../vendor/a11y";
+
+/* ACCESSIBILITY IMPROVEMENTS */
+
+a {
+  text-decoration: underline;
+}
+
+/* AAA Color Contrasts */
+$badge-bg: #595959;
+
+$breadcrumb-color: #535353;
+$breadcrumb-active-color: #444;
+
+$state-danger-text: #8a211e;
+.alert-danger,
+.alert-danger a {
+  color: $state-danger-text;
+  .btn-danger {
+    color: white;
+  }
+  .btn-danger:hover {
+    color: $state-danger-text;
+  }
+}
diff --git a/themes/bootstrap3/scss/components/autocomplete.scss b/themes/bootstrap3/scss/components/autocomplete.scss
index 4d72a36ed4f8ea1d37a9e7fef895ba6db69a066c..78714f48835ccdce3e47dffde3205bfe7c85abd4 100644
--- a/themes/bootstrap3/scss/components/autocomplete.scss
+++ b/themes/bootstrap3/scss/components/autocomplete.scss
@@ -1,9 +1,9 @@
 /* https://github.com/vufind-org/autocomplete.js 1.0b */
-$autocomplete-item-bg   : #fff !default;
-$autocomplete-active-bg : $brand-primary !default;
-$autocomplete-hover-bg  : lighten($brand-primary, 40%) !default;
-$autocomplete-border    : lightgray !default;
-$autocomplete-secondary : darkgray !default; // item description
+$autocomplete-item-bg   : #fff;
+$autocomplete-active-bg : $brand-primary;
+$autocomplete-hover-bg  : lighten($brand-primary, 40%);
+$autocomplete-border    : lightgray;
+$autocomplete-secondary : darkgray; // item description
 
 .autocomplete-results {
   position: absolute;
diff --git a/themes/bootstrap3/scss/components/lightbox.scss b/themes/bootstrap3/scss/components/lightbox.scss
index d7adf7a0bfd9a6bc76819e5e0af496c9ebb7130f..207faecbca45b2282c561caa5832f033934d31a0 100644
--- a/themes/bootstrap3/scss/components/lightbox.scss
+++ b/themes/bootstrap3/scss/components/lightbox.scss
@@ -6,7 +6,7 @@
   right: 0;
   z-index: 2;
   padding: .5rem 1rem;
-  opacity: .7;
+  opacity: 1;
 
   body.rtl & {
     left: 0;
@@ -15,17 +15,19 @@
 }
 @media (min-width: 768px) {
   #modal .modal-content > .close { // Fancy side X button
-    right: -50px;
+    right: -60px;
     font-size: 32pt;
     color: #fff;
+    background-color: rgba(0,0,0,0);
+    border-radius: 6px;
     body.rtl & {
-      left: -50px;
+      left: -60px;
       right: auto;
     }
   }
 }
 
-#modal .modal-content > .close:hover { opacity: 1; }
+#modal .modal-content > .close:hover { background-color: #000; }
 #modal .modal-body h1,
 #modal .modal-body h2 {
   margin-top: 0.3rem;
@@ -46,4 +48,4 @@ body.rtl .modal-loading { float: left; }
 #modal .lightbox-only { display: initial; }
 
 // Image display
-.lightbox-image { text-align: center; }
\ No newline at end of file
+.lightbox-image { text-align: center; }
diff --git a/themes/bootstrap3/scss/components/offcanvas.scss b/themes/bootstrap3/scss/components/offcanvas.scss
index 8d39bd481bda35621e5aad3e7bd2cf265f90963a..39097702eb53caf457f519827025c7c80f6f731c 100644
--- a/themes/bootstrap3/scss/components/offcanvas.scss
+++ b/themes/bootstrap3/scss/components/offcanvas.scss
@@ -1,4 +1,4 @@
-$offcanvas-offset: 80vw !default;  // Width of open menu
+$offcanvas-offset: 80vw;  // Width of open menu
 
 .offcanvas-overlay { display: none; }
 
diff --git a/themes/bootstrap3/scss/components/search.scss b/themes/bootstrap3/scss/components/search.scss
index 278bf276be9a957f75bb825b5dd8bf8fea9e326d..cb9dc7aa975a3fd3619ececec78e83a0b31f9ecf 100644
--- a/themes/bootstrap3/scss/components/search.scss
+++ b/themes/bootstrap3/scss/components/search.scss
@@ -1,7 +1,7 @@
 // Thumbnail sizes for media items: search results, list entries, record views
-$thumbnail-width-small:   60px !default;
-$thumbnail-width-medium: 100px !default;
-$thumbnail-width-large:  160px !default;
+$thumbnail-width-small:   60px;
+$thumbnail-width-medium: 100px;
+$thumbnail-width-large:  160px;
 
 // Hide these on mobile
 @media (max-width: 767px) {
diff --git a/themes/bootstrap3/scss/components/variables.scss b/themes/bootstrap3/scss/components/variables.scss
index da161c60fe9cf4e284a28384bc658635ef2ca245..5603a0c582641c28344123d09f559101f2fe76cd 100644
--- a/themes/bootstrap3/scss/components/variables.scss
+++ b/themes/bootstrap3/scss/components/variables.scss
@@ -1,6 +1,6 @@
 // Make sure Font Awesome icons are loaded properly
 /* #LESS>
-$fa-font-path: "../../../../../../themes/bootstrap3/css/fonts" !default;
+$fa-font-path: "../../../../../../themes/bootstrap3/css/fonts";
 <#LESS */
 
 /**
@@ -8,47 +8,47 @@ $fa-font-path: "../../../../../../themes/bootstrap3/css/fonts" !default;
  * with comments and their defaults. See /themes/bootstrap3/less/vendor/bootstrap/variables.less for more.
  */
 
-// $padding-base-vertical:   6px !default;  // Buttons, tabs, and other padding
-// $padding-base-horizontal: 12px !default;
+// $padding-base-vertical:   6px;  // Buttons, tabs, and other padding
+// $padding-base-horizontal: 12px;
 
-// $navbar-height:                    50px !default;
+// $navbar-height:                    50px;
 
-// $border-radius-base: 4px !default;
+// $border-radius-base: 4px;
 
 /* ------ COLORS ------ */
 
-// $gray-base:    #000 !default;
-// $gray-darker:  lighten($gray-base, 13.5%) !default; // #222
-// $gray-dark:    lighten($gray-base, 20.0%) !default; // #333
-// $gray:         lighten($gray-base, 33.5%) !default; // #555
-// $gray-light:   lighten($gray-base, 46.7%) !default; // #777
-// $gray-lighter: lighten($gray-base, 93.5%) !default; // #eee
+// $gray-base:    #000;
+// $gray-darker:  lighten($gray-base, 13.5%); // #222
+// $gray-dark:    lighten($gray-base, 20.0%); // #333
+// $gray:         lighten($gray-base, 33.5%); // #555
+// $gray-light:   lighten($gray-base, 46.7%); // #777
+// $gray-lighter: lighten($gray-base, 93.5%); // #eee
 //
-// $brand-primary: darken(#428bca, 6.5%) !default; // #337ab7 (primary buttons, links, and active elements)
-// $brand-success: #5cb85c !default;
-// $brand-info:    #5bc0de !default;
-// $brand-warning: #f0ad4e !default;
-// $brand-danger:  #d9534f !default;
+// $brand-primary: darken(#428bca, 6.5%); // #337ab7 (primary buttons, links, and active elements)
+// $brand-success: #5cb85c;
+// $brand-info:    #5bc0de;
+// $brand-warning: #f0ad4e;
+// $brand-danger:  #d9534f;
 
-// $list-group-border:  #ddd !default; // Borders on menus and sidebars
+// $list-group-border:  #ddd; // Borders on menus and sidebars
 
-// $text-color:            $gray-dark !default;
-// $link-color:            $brand-primary !default;
-// $link-hover-color:      darken($link-color, 15%) !default;
+// $text-color:            $gray-dark;
+// $link-color:            $brand-primary;
+// $link-hover-color:      darken($link-color, 15%);
 
 // Define colors for form feedback states and, by default, alerts.
-// $state-success-text:             #3c763d !default;
-// $state-success-bg:               #dff0d8 !default;
-// $state-success-border:           darken(adjust-hue($state-success-bg, -10), 5%) !default;
+// $state-success-text:             #3c763d;
+// $state-success-bg:               #dff0d8;
+// $state-success-border:           darken(adjust-hue($state-success-bg, -10), 5%);
 //
-// $state-info-text:                #31708f !default;
-// $state-info-bg:                  #d9edf7 !default;
-// $state-info-border:              darken(adjust-hue($state-info-bg, -10), 7%) !default;
+// $state-info-text:                #31708f;
+// $state-info-bg:                  #d9edf7;
+// $state-info-border:              darken(adjust-hue($state-info-bg, -10), 7%);
 //
-// $state-warning-text:             #8a6d3b !default;
-// $state-warning-bg:               #fcf8e3 !default;
-// $state-warning-border:           darken(adjust-hue($state-warning-bg, -10), 5%) !default;
+// $state-warning-text:             #8a6d3b;
+// $state-warning-bg:               #fcf8e3;
+// $state-warning-border:           darken(adjust-hue($state-warning-bg, -10), 5%);
 //
-// $state-danger-text:              #a94442 !default;
-// $state-danger-bg:                #f2dede !default;
-// $state-danger-border:            darken(adjust-hue($state-danger-bg, -10), 5%) !default;
+// $state-danger-text:              #a94442;
+// $state-danger-bg:                #f2dede;
+// $state-danger-border:            darken(adjust-hue($state-danger-bg, -10), 5%);
diff --git a/themes/bootstrap3/templates/layout/layout.phtml b/themes/bootstrap3/templates/layout/layout.phtml
index f7fb42299a7fb39e000da2cd921c7c849e10926d..ee5253463a2ce598458957b81545c88dd9640793 100644
--- a/themes/bootstrap3/templates/layout/layout.phtml
+++ b/themes/bootstrap3/templates/layout/layout.phtml
@@ -194,9 +194,7 @@ JS;
       <div class="modal-dialog">
         <div class="modal-content">
           <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-          <div class="modal-body">
-            <span id="modal-title"><?=$this->transEsc('Loading') ?>...</span>
-          </div>
+          <div class="modal-body"><?=$this->transEsc('Loading') ?>...</div>
         </div>
       </div>
     </div>
diff --git a/themes/bootstrap3/templates/layout/lightbox.phtml b/themes/bootstrap3/templates/layout/lightbox.phtml
index d54f7effce886e93ffcde3b562e71d29737df419..dbde8d57ff6f31fed0d44eb4995f0f334f921ac6 100644
--- a/themes/bootstrap3/templates/layout/lightbox.phtml
+++ b/themes/bootstrap3/templates/layout/lightbox.phtml
@@ -1,4 +1,3 @@
-<span id="modal-title" hidden><?=$this->headTitle()->renderTitle() ?></span>
 <?=$this->layout()->content?>
 <?=$this->piwik(['lightbox' => true])?>
 <?=$this->googleanalytics($this->serverUrl(true))?>
diff --git a/themes/finc/js/common-finc.js b/themes/finc/js/common-finc.js
new file mode 100644
index 0000000000000000000000000000000000000000..06e842b6b637e2da0e189de402954561295f1408
--- /dev/null
+++ b/themes/finc/js/common-finc.js
@@ -0,0 +1,26 @@
+/* #17601 - set focus on sidebar back button - HR */
+
+function setupOffcanvas() {
+  if ($('.sidebar').length > 0 && $(document.body).hasClass("offcanvas")) {
+    $('[data-toggle="offcanvas"]').click(function offcanvasClick(e) {
+      e.preventDefault();
+      $('body.offcanvas').toggleClass('active');
+      $('.close-offcanvas').focus(); // Set focus to the back button of the sidebar
+      $('.sidebar .active').focus(); // Special case: account sidebar: set focus on the active element
+    });
+  }
+  // Handle sidebar in case of config.ini [Site] offcanvas=false configuration
+  if ($('.sidebar').length > 0 && !($(document.body).hasClass("offcanvas"))) {
+    $('[data-toggle="offcanvas"]').click(function offcanvasClick(e) {
+      e.preventDefault();
+      window.location.href = '#myresearch-sidebar';
+      $('.close-offcanvas').focus(); // Set focus to the back button of the sidebar
+      $('.sidebar .active').focus(); // Special case: account sidebar: set focus on the active element
+    });
+    $('.close-offcanvas').click(function offcanvasClick(e) {
+      e.preventDefault();
+      window.location.href = '#content';
+      $('.search-filter-toggle').focus(); // Set focus on the toggle button
+    });
+  }
+}
diff --git a/themes/finc/scss/_customVariables.scss b/themes/finc/scss/_customVariables.scss
index 25604076d843fc1ae658eaeeffe5f8fcd6da2718..cb7f32ab30c1c220212a4dee737dbae29296bf87 100644
--- a/themes/finc/scss/_customVariables.scss
+++ b/themes/finc/scss/_customVariables.scss
@@ -49,6 +49,17 @@ $oil: #333;
 $jet: #222;
 $black: #000;
 
+$btn-default-color: $oil !default;
+
+// Close modal and adv search buttons
+$modal-close-bg: $white !default;
+$modal-close-bg-hover: $white !default;
+$modal-close-color: $btn-default-color !default;
+$modal-close-color-hover: $brand-danger !default;
+
+//// Anchor/Link text decoration
+$textdecoration-anchor: none !default;
+
 //// FORM FEEDBACK states colors and, by default, alerts colors (i.e. alerts are
 //// defined like so '$alert-success-bg: $state-success-bg;')
 $state-light-text-on-dark: $white !default;
@@ -251,6 +262,8 @@ $pager-border-radius: 0 !default;
 
 $badge-border-radius: 0 !default;
 
+$modal-close-br: 0 !default;
+
 //// labels.scss uses no variable! Therefore it will be necessary
 //// to overwite in compiled.scss!!, Fixme when done more elegantly in BS
 $label-radius: 0 !default;
diff --git a/themes/finc/scss/compiled.scss b/themes/finc/scss/compiled.scss
index 4002602036c026a1ebbed2c644858620fd086f39..5c153ecaaef943a9932ed4c81a5b2bf78bc2db71 100644
--- a/themes/finc/scss/compiled.scss
+++ b/themes/finc/scss/compiled.scss
@@ -94,13 +94,6 @@ body {
   // for mobile
   padding-top: $navbar-height-xs;
 
-  // make xception for adv. search home
-  &.template-name-advanced {
-    @media (max-width: $screen-xs-max) {
-      padding-top: 3.25rem;
-    }
-  }
-
   // make exception for adv. search results
   &.template-name-advanced {
     @media (max-width: $screen-xs-max) {
@@ -197,8 +190,12 @@ h4 {
 .sidebar h4 {
   margin-top: 0;
 
+  @media (max-width: $screen-sm-max) {
+    text-align: center;
+  }
+
   // keep level with left-hand content
-  @media only screen and (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
+  @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
     font-size: $font-size-base + 2px;
     margin-top: ($grid-gutter-width / 2);
   }
@@ -234,10 +231,8 @@ h4 {
   border: 1px solid $brand-secondary;
   // make columns adapt to content
   table-layout: auto;
-}
 
-// Remove top borders (_tables.scss)
-.table {
+  // Remove top borders (_tables.scss)
   thead,
   tbody,
   tfoot {
@@ -251,8 +246,10 @@ h4 {
 }
 
 //// Tables in Tabs, Record View etc
-.tab-content table {
-  width: 100%;
+table {
+  .tab-content & {
+    width: 100%;
+  }
 }
 
 //// Responsive data tables for small (xs) resolution (e.g. search history table)
@@ -294,6 +291,28 @@ form {
   label {
     font-weight: normal;
   }
+
+  // red-bordered input field, when empty, requires "form" for specifity, CK
+  // create enough space for red border
+  input:invalid,
+  textarea:invalid {
+    margin-right: 2px;
+  }
+
+  input {
+    // show red border only when submitted empty or when in focus
+    &:invalid {
+      box-shadow: inherit;
+    }
+
+    &:focus {
+      &:invalid,
+      &:required:invalid {
+        border-color: $brand-danger-transparent;
+        box-shadow: 0 0 2px 1px $brand-danger-transparent;
+      }
+    }
+  }
 }
 
 //// Set max-width to make sure boxes don't bleed over the edge on XS (e.g. acquisitionpda, source_id:3
@@ -406,30 +425,6 @@ input[type='text'] {
   }
 }
 
-// red-bordered input field, when empty, requires "form" for specifity, CK
-form {
-  // create enough space for red border
-  input:invalid,
-  textarea:invalid {
-    margin-right: 2px;
-  }
-
-  input {
-    // show red border only when submitted empty or when in focus
-    &:invalid {
-      box-shadow: inherit;
-    }
-
-    &:focus {
-      &:invalid,
-      &:required:invalid {
-        border-color: $brand-danger-transparent;
-        box-shadow: 0 0 2px 1px $brand-danger-transparent;
-      }
-    }
-  }
-}
-
 .form-control {
   box-shadow: none;
 }
@@ -438,15 +433,15 @@ form {
 ////// remove browser styles on select boxes and add custom styles (below)
 select,
 select.form-control {
-  -webkit-appearance: none !important;
   -moz-appearance: none !important;
+  -webkit-appearance: none !important;
   background-color: $select-bg-color;
   // This is the litte down arrow
   background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
   background-position: 100% center;
   background-repeat: no-repeat;
-  border-radius: 0;
   border: $border-default-styles;
+  border-radius: 0;
   height: $navigation-element-default-height;
   min-width: 5em;
   padding: .25em .75em .25em .5em;
@@ -507,9 +502,10 @@ select {
 
 // IMAGES - END
 
-// LINKS
-
-// a {}
+// LINKS // ANCHORS
+a {
+  text-decoration: $textdecoration-anchor;
+}
 
 // LINKS - END
 
@@ -534,6 +530,81 @@ select {
   &:focus {
     color: lighten($btn-transparent-color, 80%);
   }
+
+  &.active {
+    color: $btn-transparent-active-color;
+
+    &:focus,
+    &:hover {
+      background-color: $btn-transparent-active-color;
+      color: $black;
+    }
+  }
+}
+
+.btn-default.active,
+.btn-secondary.active {
+  &:focus,
+  &:hover {
+    background-color: $btn-active-hover-bg;
+  }
+}
+
+.btn-info {
+  &:focus,
+  &:hover {
+    background-color: $btn-info-hover-bg;
+  }
+
+  &.active {
+    &:focus,
+    &:hover {
+      background-color: $btn-info-active-hover-bg;
+    }
+  }
+}
+
+.btn-primary,
+.btn-primary.active {
+  &:focus,
+  &:hover {
+    background-color: $btn-primary-hover-bg;
+    color: $btn-primary-hover-color;
+  }
+
+  // On datalightbox:
+  &[disabled="disabled"] {
+    color: $btn-primary-disabled-color;
+  }
+}
+
+.btn-secondary {
+  &:focus,
+  &:hover {
+    border: 1px solid $btn-secondary-border-color;
+  }
+}
+
+.btn-success.active {
+  &:focus,
+  &:hover {
+    background-color: $btn-success-active-hover-bg;
+  }
+}
+
+.btn-primary.disabled {
+  &:focus,
+  &:hover {
+    background-color: $btn-primary-disabled-hover-bg;
+    color: $btn-primary-disabled-hover-color;
+  }
+}
+
+.has-error .control-label,
+.has-error .help-block,
+.sms-error .control-label,
+.sms-error .help-block {
+  color: $brand-danger;
 }
 
 ////// Bookbag Toggler
@@ -595,14 +666,15 @@ a.toggle {
   }
 
   &::after {
-    font-family: 'FontAwesome';
     content: $fa-var-angle-down;
+    font-family: 'FontAwesome', sans-serif;
     padding-left: 2px;
   }
 }
 
 span.notation ul {
   padding-inline-start: 1.5em;
+
   @media (max-width: $screen-md-min) {
     padding-inline-start: 0;
   }
@@ -611,10 +683,10 @@ span.notation ul {
     list-style-type: none;
   }
 
-  li:before {
-    margin-right: 0.5em;
-    font-family: 'FontAwesome';
+  li::before {
     content: $fa-var-level-down;
+    font-family: 'FontAwesome', sans-serif;
+    margin-right: .5em;
   }
 }
 
@@ -644,10 +716,6 @@ span.notation ul {
   }
 }
 
-.text-danger {
-  background-color: $brand-danger;
-}
-
 //// DATE-RANGE slider (CSS is included in bootstrap-slider.min.css - currently no SCSS version!)
 ////// Keep enough room for slider handles; PLS note: there are sliders in sidefacets and adv. search
 .slider-container {
@@ -1024,7 +1092,7 @@ table.collapse.in {
 
 ////// NO margin bottom
 .no-margin-btm {
-  margin-btm: 0;
+  margin-bottom: 0;
 }
 
 ////// NO margin left
@@ -1324,11 +1392,11 @@ header,
   @media (min-width: $screen-sm-min) {
     // position to the right!
     order: 3;
-    padding-top: .5em;
+    padding-top: 6px;
   }
 
   // Make smaller to fit searchbox and right-hand nav-elements
-  @media only screen and (min-width: $screen-sm-min) {
+  @media (min-width: $screen-sm-min) {
     flex: 1 0 30%;
   }
 
@@ -1338,25 +1406,26 @@ header,
       flex: 0 1 100%;
     }
   }
-}
 
-//// Define header navbar on mobile
-#header-collapse.collapse.in {
-  @media (max-width: $screen-sm-max) {
-    background-color: $header-bg-color;
-    // margin-top: -($navbar-height-xs) - 10px; // pull over searchbox
+  //// Define header navbar on mobile
+  &.collapse.in {
+    @media (max-width: $screen-sm-max) {
+      background-color: $header-bg-color;
+      // margin-top: -($navbar-height-xs) - 10px; // pull over searchbox
 
-    li > a.btn {
-      text-align: left;
-    }
+      li > a.btn {
+        text-align: left;
+      }
 
-    #langmenu {
-      padding-left: ($grid-gutter-width / 2);
-      width: 100%;
+      #langmenu {
+        padding-left: ($grid-gutter-width / 2);
+        width: 100%;
+      }
     }
   }
 }
 
+
 // Remove cart text to make searchbox fit on intermediate tablets
 .cart-label {
   @media only screen and (min-width: $screen-sm-min) and (max-width: 994px) {
@@ -1369,6 +1438,13 @@ header,
   float: left;
   padding: ($grid-gutter-width / 4) ($grid-gutter-width / 2) ($grid-gutter-width / 4) 0;
 
+  img {
+    @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
+      height: $navigation-element-default-height;
+      max-width: inherit;
+    }
+  }
+
   &:hover {
     @include outline(1px);
     outline-offset: -2px;
@@ -1377,6 +1453,10 @@ header,
   @media (max-width: $screen-xs-max) {
     height: auto;
   }
+
+  @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
+    padding-right: ($grid-gutter-width / 4);
+  }
 }
 
 //// Menu toggler for small
@@ -1393,7 +1473,7 @@ header,
   &:hover,
   &:focus {
     background-color: $navbar-default-toggle-hover-bg;
-    
+
   }
 }
 
@@ -1439,6 +1519,7 @@ header,
       input {
         flex-grow: 2;
         flex-shrink: 2;
+        max-width: 43%;
       }
 
       .navbar {
@@ -1454,6 +1535,28 @@ header,
     }
   }
 
+  @media only screen and (max-width: $screen-xs-max) {
+    .searchForm_lookfor {
+      max-width: 80%;
+    }
+  }
+
+  @media only screen and (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
+    flex: content;
+
+    .btn,
+    .form-control {
+      float: left;
+    }
+
+    .searchForm {
+      display: block;
+
+      .checkbox {
+        position: static;
+      }
+    }
+  }
 }
 
 //// this will get search box and buttons in line
@@ -1553,7 +1656,7 @@ header,
   margin: 0;
   padding: 0;
 
-  li {
+  a {
     border-top: 0;
     display: inline;
     padding-left: .5em;
@@ -1565,7 +1668,7 @@ header,
 
   // 786px and above as inline list
   @media only screen and (min-width: $screen-sm-min) {
-    li {
+    a {
       border-bottom: 0;
       border-right: 1px solid $brand-primary;
       display: inline;
@@ -1589,22 +1692,18 @@ header,
   padding-left: ($grid-gutter-width / 2 - 2px); // take 2 px off for borders
   padding-top: 10px;
 
-  // Divider:
+  // Divider (li + li::before) + Last element (li):
+  > li,
   > li + li::before {
     color: $white;
   }
 
-  // Last element
-  > li {
-    color: $white;
-  }
-
   //// color of links in breadcrumbs
   a,
   > .active a {
     color: darken($breadcrumb-active-color, 10%);
   }
-  
+
   //// more contrast: switch the colors
   a:focus,
   a:hover {
@@ -1614,7 +1713,7 @@ header,
 }
 
 ////// Prevent overlapping of header on breadcrumb on 100% zoom on advanced search result list
-////// (works only correctly for one line in cell "Your search terms") 
+////// (works only correctly for one line in cell "Your search terms")
 .template-dir-search.template-name-results .search .navbar-form {
   margin-bottom: 5px;
 }
@@ -1703,6 +1802,10 @@ footer {
 
 //// Off-Canvas
 @media only screen and (max-width: $screen-sm-max) {
+  .close-offcanvas {
+    display: block;
+  }
+
   // Define position of VF5.1 offcanvas toggler
   // FIXME: CHECK THIS! CK
   .search-stats,
@@ -1720,8 +1823,15 @@ footer {
   .search-filter-toggle::before {
     content: '\f100\00a0';
   }
+
+  .media-left {
+    @media (min-width: $screen-sm-min) {
+      float: right;
+    }
+  }
 }
 
+// push record view icon to right (Desktop) on left-aligned sidebars -- pls NOTE: required offcanvas = true
 .offcanvas-right {
   .close-offcanvas::before {
     content: '\f104\00a0';
@@ -2038,11 +2148,11 @@ footer {
     padding-left: $jstree-li-left-padding;
   }
 
-  li li:before {
+  li li::before {
     // FontAwesome Unicode fa-file-o
-    content: "\f016";
-    font-family: FontAwesome;
+    content: '\f016';
     display: inline-block;
+    font-family: FontAwesome;
     // same as padding-left set on li, above
     margin-left: -$jstree-li-left-padding;
     //same as padding-left set on li, above
@@ -2199,10 +2309,9 @@ footer {
 // MAIN CONTENT - END
 
 // SIDEBAR
-@media only screen and (max-width: $screen-sm-max) {
-  .sidebar h4 {
-    text-align: center;
-  }
+// Width when offcanvas if off
+body:not(.offcanvas) .sidebar {
+  width: 100%;
 }
 
 //// pull content to right border for sidebar right
@@ -2325,10 +2434,10 @@ footer {
 
 // #13625 avoid ugly linebreaks with overlong words, RL
 .sidebar {
-  -webkit-hyphens: auto;
   -moz-hyphens: auto;
   -ms-hyphens: auto;
   -o-hyphens: auto;
+  -webkit-hyphens: auto;
   hyphens: auto;
 
   .facet {
@@ -2368,13 +2477,24 @@ footer {
   font-size: 1em;
   // remove right padding to align with accordion arrows
   padding-right: 2px;
-}
 
-////// light color on dark, when active (Facets + My Account) - we need the parent for specificity
-.facet.active > .badge,
-.sidebar a.active > .badge {
-  background-color: transparent;
-  color: $btn-primary-color;
+  &.btn-danger,
+  &.btn-info,
+  &.btn-success,
+  &.btn-transparent,
+  &.btn-warning {
+    &:focus,
+    &:hover {
+      color: $btn-badge-hover-color;
+    }
+  }
+
+  ////// light color on dark, when active (Facets + My Account) - we need the parent for specificity
+  .facet.active > &,
+  .sidebar a.active > & {
+    background-color: transparent;
+    color: $btn-primary-color;
+  }
 }
 
 //// OR- and AND-Facets, item counts - END
@@ -2495,9 +2615,10 @@ footer ul {
 // Modal close button (Needs to be as fancy to override BS styles)
 #modal .modal-content > .close,
 #modal .modal-content > .adv-term-remove {
-  background: $white;
+  background: $modal-close-bg;
   border: 0;
-  color: $btn-default-color;
+  border-radius: $modal-close-br;
+  color: $modal-close-color;
   left: auto;
   opacity: unset;
   right: 0;
@@ -2512,11 +2633,10 @@ footer ul {
 
   &:focus,
   &:hover {
-    background-color: $black;
-    color: $white;
+    background-color: $modal-close-bg-hover;
+    color: $modal-close-color-hover;
     opacity: unset;
   }
-
 }
 
 // MODALS - END
@@ -2598,38 +2718,33 @@ footer ul {
 .sorting_asc,
 .sorting_desc {
   cursor: pointer;
-}
-
-.sorting {
-  color: lighten($charcoal, 5%);
-}
 
-.sorting_asc,
-.sorting_desc {
-  color: $brand-primary;
-}
-
-.sorting .fa-fw {
-  position: relative;
-}
-
-.sorting,
-.sorting_asc,
-.sorting_desc {
   .fa-fw::before {
     display: inline;
   }
 }
 
+
 .sorting_asc,
 .sorting_desc {
+  color: $brand-primary;
+
   .fa-fw::before {
     color: inherit;
   }
 }
 
-.sorting .fa-fw::before {
-  content: '\f0dc';
+
+.sorting {
+  color: lighten($charcoal, 5%);
+
+  .fa-fw {
+    position: relative;
+
+    &::before {
+      content: '\f0dc';
+    }
+  }
 }
 
 .sorting_asc .fa-fw::before {
@@ -2640,15 +2755,14 @@ footer ul {
   content: '\f0dd';
 }
 
-
 // Accessibility
 
 a.exclude {
   &:hover,
   &:focus {
-    color: $badge-link-hover-color;
-
     @include outline(1px);
+
+    color: $badge-link-hover-color;
     outline-offset: -2px;
   }
 
@@ -2676,96 +2790,10 @@ input {
   }
 }
 
-.btn-danger.badge,
-.btn-info.badge,
-.btn-success.badge,
-.btn-transparent.badge,
-.btn-warning.badge {
-  &:focus,
-  &:hover {
-    color: $btn-badge-hover-color;
-  }
-}
-
-.btn-default.active,
-.btn-secondary.active {
-  &:focus,
-  &:hover {
-    background-color: $btn-active-hover-bg;
-  }
-}
-
-.btn-info {
-  &:focus,
-  &:hover {
-    background-color: $btn-info-hover-bg;
-  }
-}
-
-.btn-info.active {
-  &:focus,
-  &:hover {
-    background-color: $btn-info-active-hover-bg;
-  }
-}
-
-.btn-primary,
-.btn-primary.active {
-  &:focus,
-  &:hover {
-    background-color: $btn-primary-hover-bg;
-    color: $btn-primary-hover-color;
-  }
-
-  // On datalightbox:
-  &[disabled="disabled"] {
-    color: $btn-primary-disabled-color;
-  }
-}
-
-.btn-secondary {
-  &:focus,
-  &:hover {
-    border: 1px solid $btn-secondary-border-color;
-  }
-}
-
-.btn-success.active {
-  &:focus,
-  &:hover {
-    background-color: $btn-success-active-hover-bg;
-  }
-}
-
-.btn-transparent.active {
-  color: $btn-transparent-active-color;
-
-  &:focus,
-  &:hover {
-    background-color: $btn-transparent-active-color;
-    color: $black;
-  }
-}
-
 // Accessibility - END
 
 // Account
 
-.btn-primary.disabled {
-  &:focus,
-  &:hover {
-    background-color: $btn-primary-disabled-hover-bg;
-    color: $btn-primary-disabled-hover-color;
-  }
-}
-
-.has-error .control-label,
-.has-error .help-block,
-.sms-error .control-label,
-.sms-error .help-block {
-  color: $brand-danger;
-}
-
 .has-error .form-control,
 .sms-error .form-control {
   border: 1px solid $brand-danger;
@@ -2802,7 +2830,6 @@ input {
   }
 }
 
-
 // AMSL
 
 .template-dir-amsl.template-name-sources-list {
diff --git a/themes/finc/templates/Recommend/ExpandFacets.phtml b/themes/finc/templates/Recommend/ExpandFacets.phtml
index b25b7223f8fe837b8be816aa42f39e27731c1cfc..1b0ee79dd003b3ec602a3f0ae3b6fb8473e6d2aa 100644
--- a/themes/finc/templates/Recommend/ExpandFacets.phtml
+++ b/themes/finc/templates/Recommend/ExpandFacets.phtml
@@ -1,11 +1,13 @@
 <!-- finc - templates - Recommend - ExpandFacets -->
 <?php /* copied from bootstrap3 - h4 becomes h2 - #17607 - HR */?>
+<?php /* add a back button #17601 - HR */?>
 
 <?php
   $expandFacetSet = $this->recommend->getExpandedSet();
   // Get empty search object to use as basis for parameter generation below:
   $blankResults = $this->recommend->getEmptyResults();
 ?>
+<button class="close-offcanvas btn btn-primary" data-toggle="offcanvas"><?=$this->transEsc('navigate_back') ?></button>
 <?php if ($expandFacetSet): ?>
   <div class="sidegroup">
  <?php foreach ($expandFacetSet as $title => $cluster): ?>
diff --git a/themes/finc/templates/layout/layout.phtml b/themes/finc/templates/layout/layout.phtml
index 8673edfdd49f7a0e2f7f269a9d8baaaa8d3fcd9f..2993ffd55b4da7907a2a64ae0fc8096f3329df2d 100644
--- a/themes/finc/templates/layout/layout.phtml
+++ b/themes/finc/templates/layout/layout.phtml
@@ -227,7 +227,7 @@ if (!isset($this->layout()->searchbox)) {
         <?=$this->transEsc('Modal_description')?>
       </div>
       <div class="modal-body">
-        <span id="modal-title"><?=$this->transEsc('Loading')?>&nbsp;...</span>
+        <?=$this->transEsc('Loading')?>&nbsp;...
       </div>
     </div>
   </div>
diff --git a/themes/finc/templates/librarycards/home.phtml b/themes/finc/templates/librarycards/home.phtml
index aa272f988dfcc902786529b75be77e73e4fd6931..3e952a5f02ed0e5a20263aecef1537e8933e3e78 100644
--- a/themes/finc/templates/librarycards/home.phtml
+++ b/themes/finc/templates/librarycards/home.phtml
@@ -1,4 +1,4 @@
-<!-- find: librarycards - home -->
+<!-- finc: librarycards - home -->
 <?php
     // Set up page title:
     $this->headTitle($this->translate('Library Cards'));
@@ -6,6 +6,11 @@
     // Set up breadcrumbs:
     $this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li> <li class="active">' . $this->transEsc('Library Cards') . '</li>';
 ?>
+
+  <a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
+      <?=$this->transEsc('Your Account') ?>
+  </a>
+
   <div class="<?=$this->layoutClass('mainbody')?>">
 
     <?=$this->flashmessages()?>
@@ -63,4 +68,4 @@
   <div class="<?=$this->layoutClass('sidebar')?>" id="myresearch-sidebar">
   <?=$this->context($this)->renderInContext("myresearch/menu.phtml", ['active' => 'librarycards'])?>
   </div>
-<!-- find: librarycards - home - END -->
+<!-- finc: librarycards - home - END -->
diff --git a/themes/finc/templates/myresearch/acquisition.phtml b/themes/finc/templates/myresearch/acquisition.phtml
index ec13fd1bfc84894c2ffde5ab1dab069025486e3f..62d81badc6f0194afb2e0de9effce3391e3e3ab6 100644
--- a/themes/finc/templates/myresearch/acquisition.phtml
+++ b/themes/finc/templates/myresearch/acquisition.phtml
@@ -7,7 +7,7 @@ $this->headTitle($this->translate('PDA::pda_form_title'));
 $this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li> <li class="active">' . $this->transEsc('PDA::pda_form_title') . '</li>';
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
     <?= $this->transEsc('Your Account') ?>
 </a>
 
diff --git a/themes/finc/templates/myresearch/checkedout.phtml b/themes/finc/templates/myresearch/checkedout.phtml
index 8f19100634f8ce669f73c8eb302b6b34e8655702..a004ba5b0b99714875ad6e6b5e7f3c37da1807ee 100644
--- a/themes/finc/templates/myresearch/checkedout.phtml
+++ b/themes/finc/templates/myresearch/checkedout.phtml
@@ -10,7 +10,7 @@
   $renewAll = !$this->ilsPaging || !$paginator;
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
   <?=$this->transEsc('Your Account') ?>
 </a>
 
diff --git a/themes/finc/templates/myresearch/fines.phtml b/themes/finc/templates/myresearch/fines.phtml
index 5c840caf85cd396a82dc7183744c506f182eeb14..32080215e7fcfcda8546320329019bd96d9514d2 100644
--- a/themes/finc/templates/myresearch/fines.phtml
+++ b/themes/finc/templates/myresearch/fines.phtml
@@ -7,7 +7,7 @@
     $this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li> <li class="active">' . $this->transEsc('Fines') . '</li>';
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
   <?=$this->transEsc('Your Account') ?>
 </a>
 
diff --git a/themes/finc/templates/myresearch/historicloans.phtml b/themes/finc/templates/myresearch/historicloans.phtml
index 12466e0632ff5324631e42a678d22c7ee839cbce..539b4d1c5ab4878173430e7fff43d7ca3a94322d 100644
--- a/themes/finc/templates/myresearch/historicloans.phtml
+++ b/themes/finc/templates/myresearch/historicloans.phtml
@@ -7,7 +7,7 @@
   $this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li> <li class="active">' . $this->transEsc('Loan History') . '</li>';
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
   <?=$this->transEsc('Your Account') ?>
 </a>
 
diff --git a/themes/finc/templates/myresearch/holds.phtml b/themes/finc/templates/myresearch/holds.phtml
index 3411313aa62811d8999cebf9d09b93192a7b48d5..a56c24f8d94134a858957ccd987aff1025b45a7e 100644
--- a/themes/finc/templates/myresearch/holds.phtml
+++ b/themes/finc/templates/myresearch/holds.phtml
@@ -7,7 +7,7 @@
   $this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li> <li class="active">' . $this->transEsc('My Holds') . '</li>';
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
   <?=$this->transEsc('Your Account') ?>
 </a>
 
diff --git a/themes/finc/templates/myresearch/illrequests.phtml b/themes/finc/templates/myresearch/illrequests.phtml
index eab38c18839cd61ac5fd6f9436fe4916aa234760..4fbba305d4d0dede164fcfc960c15ffe3152a89a 100644
--- a/themes/finc/templates/myresearch/illrequests.phtml
+++ b/themes/finc/templates/myresearch/illrequests.phtml
@@ -8,7 +8,7 @@
         . '<li class="active">' . $this->transEsc('Interlibrary Loan Requests') . '</li>';
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
   <?=$this->transEsc('Your Account') ?>
 </a>
 
diff --git a/themes/finc/templates/myresearch/mylist.phtml b/themes/finc/templates/myresearch/mylist.phtml
index 03e2f86889e32d9302a1ee2c3b08dd74a015ba3d..06cadc0e3a8fbad626b5ae56a3f28b288105fda0 100644
--- a/themes/finc/templates/myresearch/mylist.phtml
+++ b/themes/finc/templates/myresearch/mylist.phtml
@@ -26,7 +26,7 @@ $account = $this->auth()->getManager();
 $user = $this->auth()->isLoggedIn();
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
     <?=$this->transEsc('Your Account') ?>
 </a>
 <div class="<?=$this->layoutClass('mainbody')?>">
diff --git a/themes/finc/templates/myresearch/newpassword.phtml b/themes/finc/templates/myresearch/newpassword.phtml
index 5757cd2a1d2068eaff80450bc60327747648a437..b2102e7315a77aac2af970fed31039ebc427488a 100644
--- a/themes/finc/templates/myresearch/newpassword.phtml
+++ b/themes/finc/templates/myresearch/newpassword.phtml
@@ -8,6 +8,9 @@
         . '<li class="active">' . $this->transEsc('Create New Password') . '</li>';
 ?>
 <?php if ($this->auth()->isLoggedIn()): ?>
+  <a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
+      <?=$this->transEsc('Your Account') ?>
+  </a>
   <div class="<?=$this->layoutClass('mainbody')?>">
 <?php endif; ?>
 
diff --git a/themes/finc/templates/myresearch/profile.phtml b/themes/finc/templates/myresearch/profile.phtml
index 17be7a17faa1fe2e38c4ef5ecec0d36721fe74ee..c5be5678f25c4b72e5504658f67ba08856ea784b 100644
--- a/themes/finc/templates/myresearch/profile.phtml
+++ b/themes/finc/templates/myresearch/profile.phtml
@@ -10,7 +10,7 @@
     $arrTemplate = '<tr><th>%%LABEL%%:</th><td> %%VALUE%%</td></tr>';
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
   <?=$this->transEsc('Your Account') ?>
 </a>
 
@@ -47,7 +47,7 @@
           <input class="btn btn-default" type="submit" value="<?= $this->transEsc('Save') ?>"/>
         </form>
       </td>
-        <?php endif; ?>
+    <?php endif; ?>
   </table>
 
   <div id="account-actions">
diff --git a/themes/finc/templates/myresearch/storageretrievalrequests.phtml b/themes/finc/templates/myresearch/storageretrievalrequests.phtml
index e01f8e1d7d2243e8d0170c9b08fe5a9d159b3cb9..115894920ccac17fe5a8bedf77c573d44f45e51a 100644
--- a/themes/finc/templates/myresearch/storageretrievalrequests.phtml
+++ b/themes/finc/templates/myresearch/storageretrievalrequests.phtml
@@ -7,7 +7,7 @@
   $this->layout()->breadcrumbs = '<li><a href="' . $this->url('myresearch-home') . '">' . $this->transEsc('Your Account') . '</a></li> <li class="active">' . $this->transEsc('Storage Retrieval Requests') . '</li>';
 ?>
 
-<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+<a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
   <?=$this->transEsc('Your Account') ?>
 </a>
 
diff --git a/themes/finc/templates/search/advanced/layout.phtml b/themes/finc/templates/search/advanced/layout.phtml
index a2b6a6e2f4120eb483f1d7e568681f642b8a6816..9298d19437392defad3a3205ad534266e2fe72b1 100644
--- a/themes/finc/templates/search/advanced/layout.phtml
+++ b/themes/finc/templates/search/advanced/layout.phtml
@@ -76,6 +76,12 @@ if (isset($searchDetails) && is_object($searchDetails)) {
         <input type="hidden" name="sort" value="<?=$this->escapeHtmlAttr($lastSort)?>" />
       <?php endif; ?>
       <div class="clearfix">
+          <?php ?>
+        <span class="offcanvas-toggler">
+          <a class="search-filter-toggle btn btn-primary visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="<?=$this->transEsc('sidebar_expand')?>">
+            <?=$this->transEsc('offcanvas-toggler-search-tips')?>
+          </a>
+        </span>
         <h1 class="pull-left flip"><?=$this->transEsc('Advanced Search')?></h1>
         <div id="groupJoin" class="form-inline pull-right flip">
           <label for="groupJoinOptions"><?=$this->transEsc("search_match")?>:</label>
@@ -152,7 +158,7 @@ if (isset($searchDetails) && is_object($searchDetails)) {
         <div class="clearfix">
           <?=$this->extraAdvancedControls ?>
         </div>
-        <div class="adv-submit margin-t">
+        <div class="adv-submit margin-t margin-btm">
           <input class="clear-btn btn btn-transparent" type="button" value="<?=$this->transEsc('Clear')?>">
           <input class="fnd-btn btn btn-primary" type="submit" value="<?= $this->transEsc('Find')?>">
         </div>
@@ -160,6 +166,7 @@ if (isset($searchDetails) && is_object($searchDetails)) {
     </div>
 
     <div class="<?=$this->layoutClass('sidebar')?>" id="myresearch-sidebar">
+      <button class="close-offcanvas btn btn-primary" data-toggle="offcanvas"><?=$this->transEsc('navigate_back') ?></button>
       <?php if ($hasDefaultsApplied): ?>
         <input type="hidden" name="dfApplied" value="1" />
       <?php endif ?>
diff --git a/themes/finc/templates/search/history.phtml b/themes/finc/templates/search/history.phtml
index c02bed89bc87cb8b513a8f680693f0a4a70e7e34..ae21fffccbc1f474d1f9ec26e5cab4617dd76a30 100644
--- a/themes/finc/templates/search/history.phtml
+++ b/themes/finc/templates/search/history.phtml
@@ -13,7 +13,7 @@
 ?>
 
 <?php if ($saveSupported): ?>
-  <a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" title="Expand Sidebar">
+  <a class="search-filter-toggle visible-xs" href="#myresearch-sidebar" data-toggle="offcanvas" aria-label="<?=$this->transEsc('sidebar_expand')?>">
     <?=$this->transEsc('Your Account') ?>
   </a>
 <?php endif; ?>
diff --git a/themes/finc/templates/search/searchbox.phtml b/themes/finc/templates/search/searchbox.phtml
index 33b1f02eab462b2d11d361236fd4347a887886b2..65f67b3019798d98b1547c5a727e735da9afb250 100644
--- a/themes/finc/templates/search/searchbox.phtml
+++ b/themes/finc/templates/search/searchbox.phtml
@@ -36,12 +36,11 @@ $hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->s
     <?php if (!empty($tabs)): ?><?=$tabs?>
     <div class="tab-content clearfix no-gutter-all"><?php endif; ?>
       <p class="adv_search_terms"><?=$this->transEsc("Your search terms")?> : "<strong><?=$this->escapeHtml($this->lookfor)?></strong>"</p>
-      <?php /* finc: we use an ul li list, CK */ ?>
-      <ul class="adv_search_links">
-        <li><a href="<?=$this->url($advSearch)?>?edit=<?=$this->escapeHtmlAttr($this->searchId)?>"><?=$this->transEsc("Edit this Advanced Search")?></a></li>
-        <li><a href="<?=$this->url($advSearch) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Advanced Search")?></a></li>
-        <li><a href="<?=$this->url($searchHome) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Basic Search")?></a></li>
-      </ul>
+      <p class="adv_search_links">
+        <a href="<?=$this->url($advSearch)?>?edit=<?=$this->escapeHtmlAttr($this->searchId)?>"><?=$this->transEsc("Edit this Advanced Search")?></a>
+        <a href="<?=$this->url($advSearch) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Advanced Search")?></a>
+        <a href="<?=$this->url($searchHome) . $hiddenFilterParams?>"><?=$this->transEsc("Start a new Basic Search")?></a>
+      </p>
       <?php if (!empty($tabs)): ?></div><?php endif; ?>
   </div>
 <?php else: ?>
@@ -50,33 +49,22 @@ $hiddenFilterParams = $this->searchTabs()->getCurrentHiddenFilterParams($this->s
     <?php $placeholder = $this->searchbox()->getPlaceholderText($tabConfig['selected']['id'] ?? null); ?>
     <?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 /* finc: We use a list here, CK */ ?>
-    <ul class="navbar-left list-unstyled">
-      <?php if ($handlerCount > 1): ?>
-        <li class="hidden-xs">
-          <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; ?>
-          </select>
-        </li>
-      <?php elseif ($handlerCount == 1): ?>
-        <input type="hidden" name="type" value="<?=$this->escapeHtmlAttr($handlers[0]['value'])?>"/>
-      <?php endif; ?>
-      <li>
-        <button type="submit" class="btn btn-primary"><i class="fa fa-search" aria-hidden="true"></i> <span class="find-label sr-only"><?=$this->transEsc("Find")?></span></button>
-      </li>
-      <?php if ($advSearch): ?>
-        <li>
-          <a href="<?=$this->url($advSearch) . ((isset($this->searchId) && $this->searchId) ? '?edit=' . $this->escapeHtmlAttr($this->searchId) : $hiddenFilterParams)?>" class="btn btn-transparent" role="button" rel="nofollow"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md"><?=$this->transEsc("Advanced")?></span></a>
-        </li>
-      <?php endif; ?>
-      <li>
-        <?php if ($geoUrl = $this->geocoords()->getSearchUrl($options)) : ?>
-          <a href="<?=$geoUrl?>" class="btn btn-link"><?=$this->transEsc('Geographic Search')?></a>
-        <?php endif; ?>
-      </li>
-    </ul>
+    <?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")?>">
+        <?php foreach ($handlers as $handler): ?>
+          <option value="<?=$this->escapeHtmlAttr($handler['value'])?>"<?=$handler['selected'] ? ' selected="selected"' : ''?>><?=$handler['indent'] ? '-- ' : ''?><?=$this->transEsc($handler['label'])?></option>
+        <?php endforeach; ?>
+      </select>
+    <?php elseif ($handlerCount == 1): ?>
+      <input type="hidden" name="type" value="<?=$this->escapeHtmlAttr($handlers[0]['value'])?>"/>
+    <?php endif; ?>
+    <button type="submit" class="btn btn-primary"><i class="fa fa-search" aria-hidden="true"></i> <span class="find-label sr-only"><?=$this->transEsc("Find")?></span></button>
+    <?php if ($advSearch): ?>
+      <a href="<?=$this->url($advSearch) . ((isset($this->searchId) && $this->searchId) ? '?edit=' . $this->escapeHtmlAttr($this->searchId) : $hiddenFilterParams)?>" class="btn btn-transparent" role="button" rel="nofollow"><i class="fa fa-cog"></i> <span class="hidden-xs hidden-sm hidden-md"><?=$this->transEsc("Advanced")?></span></a>
+    <?php endif; ?>
+    <?php if ($geoUrl = $this->geocoords()->getSearchUrl($options)) : ?>
+      <a href="<?=$geoUrl?>" class="btn btn-link"><?=$this->transEsc('Geographic Search')?></a>
+    <?php endif; ?>
 
     <?php /* finc: We hide this for small and keep the solution using labels, same below - CK */ ?>
     <div class="checkbox hidden-xs">
diff --git a/themes/finc/theme.config.php b/themes/finc/theme.config.php
index bf5726986a17fb9ec87eebcbed702bc10d8a40bb..d8ccfb67f974a065e14c9f4d74a4d34155223633 100644
--- a/themes/finc/theme.config.php
+++ b/themes/finc/theme.config.php
@@ -4,7 +4,8 @@ return [
     'js' => [
         'check_item_statuses.js',
         'lightbox_form_cache.js',
-        'covers.js'
+        'covers.js',
+        'common-finc.js'
     ],
     'helpers' => [
         'aliases' => [
diff --git a/themes/sandal/scss/colors.scss b/themes/sandal/scss/colors.scss
index 17de5ebb4071c141126be6e58c2118a3e792152d..6eb6c5f569d3cf1ec4551487b3317564e388c54d 100644
--- a/themes/sandal/scss/colors.scss
+++ b/themes/sandal/scss/colors.scss
@@ -1,50 +1,50 @@
 @import 'vendor/tachyons-colors'; // Import colors from the tachyons library
 
 /* Material Colors can be found here: https://material.io/guidelines/style/color.html */
-$brand-primary: #1976d2 !default; /* Material Blue 700 */
-$brand-secondary: #ff6d00 !default; /* Material Orange A700 */
-
-$header-bg: #607d8b !default; /* Material Blue Grey 500 */
-$header-light: #cfd8dc !default; /* Material Blue Grey 100 */
-
-$action-color: $brand-primary !default;
-$action-hover-bg: $white !default;
-$action-hover-color: $black !default;
-$passive-icon-color: $gray !default;
-$highlighter-color: lighten(#FF0, 20%) !default;
-
-$search-row-bg: $white !default;
-$search-row-bg-alt: $light-gray !default;
-$search-row-bg-hover: $lightest-blue !default;
-$search-row-selected-bg: $brand-primary !default;
-$search-row-selected-color: $white !default;
-
-$sidebar-title-bg: $white !default;
-$sidebar-title-color: $near-black !default;
-$sidebar-title-icon-color: $light-gray !default;
-$sidebar-item-bg: $white !default;
-$sidebar-item-color: $black !default;
-$sidebar-item-hover-bg: $lightest-blue !default;
-$sidebar-item-badge: $gray !default;
-$sidebar-active-bg: $brand-secondary !default;
-$sidebar-active-color: $white !default;
+$brand-primary: #1976d2; /* Material Blue 700 */
+$brand-secondary: #ff6d00; /* Material Orange A700 */
+
+$header-bg: #607d8b; /* Material Blue Grey 500 */
+$header-light: #cfd8dc; /* Material Blue Grey 100 */
+
+$action-color: $brand-primary;
+$action-hover-bg: $white;
+$action-hover-color: $black;
+$passive-icon-color: $gray;
+$highlighter-color: lighten(#FF0, 20%);
+
+$search-row-bg: $white;
+$search-row-bg-alt: $light-gray;
+$search-row-bg-hover: $lightest-blue;
+$search-row-selected-bg: $brand-primary;
+$search-row-selected-color: $white;
+
+$sidebar-title-bg: $white;
+$sidebar-title-color: $near-black;
+$sidebar-title-icon-color: $light-gray;
+$sidebar-item-bg: $white;
+$sidebar-item-color: $black;
+$sidebar-item-hover-bg: $lightest-blue;
+$sidebar-item-badge: $gray;
+$sidebar-active-bg: $brand-secondary;
+$sidebar-active-color: $white;
 
 /* Bootstrap variable changes */
 
-$link-color: #1565c0 !default; /* Material Blue 800 */
-$link-color-hover: #0d47a1 !default; /* Material Blue 900 */
+$link-color: #1565c0; /* Material Blue 800 */
+$link-color-hover: #0d47a1; /* Material Blue 900 */
 
-$input-border:              $light-silver !default;
-$input-color:               $dark-gray !default;
-$btn-default-bg:            $light-gray !default;
-$btn-default-color:         $near-black !default;
-$btn-primary-bg:            $action-color !default;
+$input-border:              $light-silver;
+$input-color:               $dark-gray;
+$btn-default-bg:            $light-gray;
+$btn-default-color:         $near-black;
+$btn-primary-bg:            $action-color;
 
-$input-border-radius:         .25rem !default;
+$input-border-radius:         .25rem;
 
-$autocomplete-hover-bg:     $header-light !default;
-$dropdown-link-hover-bg:    $header-light !default;
-$dropdown-link-hover-color: $black !default;
-$list-group-active-bg:      $brand-secondary !default;
-$table-bg-hover:            $header-light !default;
-$pagination-color:          $header-bg !default;
+$autocomplete-hover-bg:     $header-light;
+$dropdown-link-hover-bg:    $header-light;
+$dropdown-link-hover-color: $black;
+$list-group-active-bg:      $brand-secondary;
+$table-bg-hover:            $header-light;
+$pagination-color:          $header-bg;
diff --git a/themes/sandal/scss/common.scss b/themes/sandal/scss/common.scss
index f835a95b6db203c302fcfe5627b3ead5159e8153..0ed8798050c0a4003f1c1e0271e0ad2a0da9b03c 100644
--- a/themes/sandal/scss/common.scss
+++ b/themes/sandal/scss/common.scss
@@ -1,6 +1,6 @@
 /* ------ Border radius changes ------ */
-$list-group-border-radius: 0 !default;
-$border-radius-large: 0 !default; // modal
+$list-group-border-radius: 0;
+$border-radius-large: 0; // modal
 
 /* ------ Common element changes ------ */
 .help-block {
@@ -99,8 +99,8 @@ select.form-control {
 
 .label { font-weight: 400; }
 
-$pagination-border: transparent !default;
-$pagination-hover-border: transparent !default;
+$pagination-border: transparent;
+$pagination-hover-border: transparent;
 .pagination {
   @include clearfix();
   display: table;
diff --git a/themes/sandal/scss/variables.scss b/themes/sandal/scss/variables.scss
index 8e18e8bbbd73663bc9fa2cb937470343265b8f3c..294c2fcb7b78c296d79ef80d2431047eeddc5ab2 100644
--- a/themes/sandal/scss/variables.scss
+++ b/themes/sandal/scss/variables.scss
@@ -1,13 +1,13 @@
-$reduced-font-size: 14px !default;
-$img-path: "../../sandal/images/" !default;
+$reduced-font-size: 14px;
+$img-path: "../../sandal/images/";
 
-$banner-height: 60px !default;
-$banner-height-sm: 40px !default;
-$search-tab-height: 2rem !default;
+$banner-height: 60px;
+$banner-height-sm: 40px;
+$search-tab-height: 2rem;
 
-$result-checkbox-width: 28px !default;
-$result-checkbox-height: 80px !default;
-$result-sm-icon-size: 1.5rem !default;
+$result-checkbox-width: 28px;
+$result-checkbox-height: 80px;
+$result-sm-icon-size: 1.5rem;
 
 /* ------ Mixins ------ */
 @mixin full-width(){ // Break out of the container