diff --git a/composer.json b/composer.json
index 5f0a1e624e9a58fbb84f48a18f548b4dee58991d..a046fa40f2463a30859b3a9971c31bc3d3eeb449 100644
--- a/composer.json
+++ b/composer.json
@@ -11,7 +11,7 @@
         "drupal/core": "^8.9 || ^9.1",
         "drupal/ui_patterns": "^1.0",
         "drupal/ui_patterns_settings": "^1.0",
-        "openeuropa/oe_bootstrap_theme": "0.281020211203"
+        "openeuropa/oe_bootstrap_theme": "0.031120211510"
     },
     "require-dev": {
         "composer/installers": "^1.11",
diff --git a/modules/oe_whitelabel_helper/README.md b/modules/oe_whitelabel_helper/README.md
index 82b94a61e29892ec2c08ada3b984b742f82c0fcc..70f129d332b098e790d9608d8f7f09708b57d3aa 100644
--- a/modules/oe_whitelabel_helper/README.md
+++ b/modules/oe_whitelabel_helper/README.md
@@ -18,6 +18,23 @@ Enables the [OpenEuropa Authentication](https://github.com/openeuropa/oe_authent
 Enables the [OpenEuropa Multilingual](https://github.com/openeuropa/oe_multilingual) module.
 The language switcher block is themed out of the box.
 
+### Twig helpers
+#### bcl_timeago filter
+Filters a timestamp in "time ago" format, result can be something like "8 hours ago".
+```
+node.getCreatedTime|bcl_timeago
+```
+#### bcl_footer_links function
+Processes oe_corporate_blocks links to make them compatible with BCL formatting.
+```
+bcl_footer_links(links)
+```
+#### bcl_block function
+Builds the render array for a block.
+```
+bcl_block(block)
+```
+
 ## Requirements
 
 To be able to enable this module you will have to provide the dependent modules in your projects composer.json
diff --git a/modules/oe_whitelabel_helper/src/Plugin/better_exposed_filters/sort/FloatEndSortWidget.php b/modules/oe_whitelabel_helper/src/Plugin/better_exposed_filters/sort/FloatEndSortWidget.php
index cdda606a199e635533ae2c818aed1f1feb740242..bd4d89656993ac4b5895346957f73ce8ac56c6e2 100644
--- a/modules/oe_whitelabel_helper/src/Plugin/better_exposed_filters/sort/FloatEndSortWidget.php
+++ b/modules/oe_whitelabel_helper/src/Plugin/better_exposed_filters/sort/FloatEndSortWidget.php
@@ -23,7 +23,9 @@ class FloatEndSortWidget extends DefaultWidget {
   public function exposedFormAlter(array &$form, FormStateInterface $form_state) {
     parent::exposedFormAlter($form, $form_state);
     $form['#attributes']['class'][] = 'float-lg-end';
-    $form['#attributes']['class'][] = 'd-md-block';
+    $form['#attributes']['class'][] = 'd-none';
+    $form['#attributes']['class'][] = 'd-md-flex';
+    $form['#attributes']['class'][] = 'align-items-baseline';
   }
 
 }
diff --git a/modules/oe_whitelabel_helper/src/TwigExtension/TwigExtension.php b/modules/oe_whitelabel_helper/src/TwigExtension/TwigExtension.php
index 532c8071e44a5c99edaf114a5bd36e0363592462..6a6ab8549cf75bb2f8b16405f8d15ab2996de6be 100644
--- a/modules/oe_whitelabel_helper/src/TwigExtension/TwigExtension.php
+++ b/modules/oe_whitelabel_helper/src/TwigExtension/TwigExtension.php
@@ -5,7 +5,9 @@ declare(strict_types = 1);
 namespace Drupal\oe_whitelabel_helper\TwigExtension;
 
 use Drupal\Core\Cache\CacheableDependencyInterface;
+use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
 use Twig\Extension\AbstractExtension;
+use Twig\TwigFilter;
 use Twig\TwigFunction;
 
 /**
@@ -27,6 +29,15 @@ class TwigExtension extends AbstractExtension {
     $this->pluginManagerBlock = $plugin_manager_block;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getFilters(): array {
+    return [
+      new TwigFilter('bcl_timeago', [$this, 'bclTimeAgo']),
+    ];
+  }
+
   /**
    * {@inheritdoc}
    */
@@ -37,6 +48,63 @@ class TwigExtension extends AbstractExtension {
     ];
   }
 
+  /**
+   * Filters a timestamp in "time ago" format.
+   *
+   * @param string $timestamp
+   *   Datetime to be parsed.
+   *
+   * @return \Drupal\Core\StringTranslation\PluralTranslatableMarkup
+   *   The translated time ago string.
+   */
+  public function bclTimeAgo(string $timestamp): PluralTranslatableMarkup {
+    $time = \Drupal::time()->getCurrentTime() - $timestamp;
+    $time_ago = new PluralTranslatableMarkup(0, 'N/A', 'N/A');
+    $units = [
+      31536000 => [
+        'singular' => '@number year ago',
+        'plural' => '@number years ago',
+      ],
+      2592000 => [
+        'singular' => '@number month ago',
+        'plural' => '@number months ago',
+      ],
+      604800 => [
+        'singular' => '@number week ago',
+        'plural' => '@number weeks ago',
+      ],
+      86400 => [
+        'singular' => '@number day ago',
+        'plural' => '@number days ago',
+      ],
+      3600 => [
+        'singular' => '@number hour ago',
+        'plural' => '@number hours ago',
+      ],
+      60 => [
+        'singular' => '@number minute ago',
+        'plural' => '@number minutes ago',
+      ],
+      1 => [
+        'singular' => '@number second ago',
+        'plural' => '@number seconds ago',
+      ],
+    ];
+
+    foreach ($units as $unit => $format) {
+      if ($time < $unit) {
+        continue;
+      }
+
+      $number_of_units = floor($time / $unit);
+      $time_ago = \Drupal::translation()
+        ->formatPlural($number_of_units, $format['singular'], $format['plural'], ['@number' => $number_of_units]);
+      break;
+    }
+
+    return $time_ago;
+  }
+
   /**
    * Processes footer links to make them compatible with BCL formatting.
    *
diff --git a/oe_whitelabel.theme b/oe_whitelabel.theme
index 363986d03d091d52830c85413a94ccba475e4fb2..1941cd054fbb8da2cdf4dd0f6d99349b8425de0b 100644
--- a/oe_whitelabel.theme
+++ b/oe_whitelabel.theme
@@ -72,10 +72,15 @@ function oe_whitelabel_preprocess_links__language_block(&$variables) {
  */
 function oe_whitelabel_form_facets_form_alter(&$form, FormStateInterface $form_state, $form_id) {
   if (isset($form['actions'])) {
-    $form['actions']['#attributes']['class'][] = 'mt-4';
+    $action_classes = ['mt-4', 'd-grid', 'gap-4', 'd-md-block'];
+    foreach ($action_classes as $action_class) {
+      if (!isset($action_class, $form['actions']['#attributes']['class']) || !in_array($action_class, $form['actions']['#attributes']['class'], TRUE)) {
+        $form['actions']['#attributes']['class'][] = $action_class;
+      }
+    }
   }
   if (isset($form['actions']['submit'])) {
-    $submit_classes = ['me-2', 'btn', 'btn-primary'];
+    $submit_classes = ['me-md-3', 'btn', 'btn-primary', 'btn-md'];
     foreach ($submit_classes as $submit_class) {
       if (!isset($submit_class, $form['actions']['submit']['#attributes']['class']) || !in_array($submit_class, $form['actions']['submit']['#attributes']['class'], TRUE)) {
         $form['actions']['submit']['#attributes']['class'][] = $submit_class;
@@ -83,7 +88,7 @@ function oe_whitelabel_form_facets_form_alter(&$form, FormStateInterface $form_s
     }
   }
   if (isset($form['actions']['reset'])) {
-    $reset_classes = ['btn', 'btn-secondary'];
+    $reset_classes = ['btn', 'btn-light', 'btn-md'];
     foreach ($reset_classes as $reset_class) {
       if (!isset($form['actions']['reset']['#attributes']['class']) || !in_array($reset_class, $form['actions']['reset']['#attributes']['class'], TRUE)) {
         $form['actions']['reset']['#attributes']['class'][] = $reset_class;
diff --git a/templates/overrides/navigation/oe-corporate-blocks-ec-footer.html.twig b/templates/overrides/navigation/oe-corporate-blocks-ec-footer.html.twig
index d61ecda3f9e78b1c6ffa7f96d0d9586d6718d8e6..ee165afbfa1a5abf064bcf7d59023316d7c0c035 100644
--- a/templates/overrides/navigation/oe-corporate-blocks-ec-footer.html.twig
+++ b/templates/overrides/navigation/oe-corporate-blocks-ec-footer.html.twig
@@ -108,7 +108,7 @@
     'links': bcl_footer_links(corporate_footer.class_navigation),
   }
 ] %}
-<footer class="ec__footer bcl-footer">
+<footer class="ec__footer bcl-footer mt-4">
   <div class="container">
     {{ pattern('footer', {
       'variant': 'ec',
diff --git a/templates/overrides/navigation/oe-corporate-blocks-eu-footer.html.twig b/templates/overrides/navigation/oe-corporate-blocks-eu-footer.html.twig
index 8e2fcfde9a458aabf7e41097e13bfd6e9585388f..4003bb752a549b78bba4b3e4957fb545dd89d03a 100644
--- a/templates/overrides/navigation/oe-corporate-blocks-eu-footer.html.twig
+++ b/templates/overrides/navigation/oe-corporate-blocks-eu-footer.html.twig
@@ -99,7 +99,7 @@
     'eu_institutions_links': bcl_footer_links(corporate_footer.institution_links)
   }
 ] %}
-<footer class="bcl-footer">
+<footer class="bcl-footer mt-4">
   <div class="container">
     {{ pattern('footer', {
       'variant': 'eu',
diff --git a/templates/overrides/page/page.html.twig b/templates/overrides/page/page.html.twig
index 6a8aabe895b5f2113dd745c5f3ccbb83927140ee..c54e90a088a3b4512954645be054df5150aedb1b 100644
--- a/templates/overrides/page/page.html.twig
+++ b/templates/overrides/page/page.html.twig
@@ -84,10 +84,10 @@
         {% if page.content or page.content_top %}
           <div{{ attributes.addClass(grid_classes) }}>
             {% if page.content_top %}
-            <div class="mb-3 clearfix">
-              {{ page.content_top }}
-            </div>
-            <hr class="d-none d-md-block mb-4">
+              <div class="mb-3 clearfix">
+                {{ page.content_top }}
+              </div>
+              <hr class="d-none d-md-block mt-4 mb-4-75">
             {% endif %}
 
             {{ page.content }}
diff --git a/templates/overrides/search/block--facets-form.html.twig b/templates/overrides/search/block--facets-form.html.twig
index 3e5c4ab43a0cd851b06b2c797721220a8df0967f..749b340ad09473904d60aa997286d17c12eb2a40 100644
--- a/templates/overrides/search/block--facets-form.html.twig
+++ b/templates/overrides/search/block--facets-form.html.twig
@@ -37,7 +37,7 @@
     'url': content.actions['reset']['#url'].toString(),
     'style': 'secondary',
     'attributes': extra_attributes.addClass('ms-2')
-    })
+  })
   %}
   {% set actions = content.actions %}
   {% set actions = actions|merge({('reset'): reset}) %}
@@ -49,7 +49,7 @@
       'label': label,
       'heading': 4,
       'extra_classes': "mb-lg-4",
-     },
+    },
     'attributes': attributes.addClass('bcl-offcanvas'),
     'offcanvas_id': 'bcl-offcanvas',
     'body': content,
@@ -61,6 +61,9 @@
     'extra_classes_header': "p-lg-0",
     'with_trigger': true,
     'toggle_button_label': label,
-    'icon_name': 'sliders'
+    'icon_position': 'before',
+    'icon': {
+      'name': 'filter',
+    },
   }) }}
 {% endblock %}
diff --git a/templates/overrides/search/facets-result-item.html.twig b/templates/overrides/search/facets-result-item.html.twig
index d37b19301540b0ff4b959befde21ec09dddd21bc..1ee3de657de9ae5d7af08478ff81a8116e6ae037 100644
--- a/templates/overrides/search/facets-result-item.html.twig
+++ b/templates/overrides/search/facets-result-item.html.twig
@@ -16,8 +16,9 @@
  * @ingroup themeable
  */
 #}
-{% set attributes = create_attribute({'class': ['me-2']}) %}
+{% set attributes = create_attribute({'class': ['me-2', 'fs-6']}) %}
 {{ pattern('badge', {
+  'background': 'light',
   'label': value,
   'assistive_text': assistive_text,
   'dismissible': true,
diff --git a/templates/overrides/search/pager.html.twig b/templates/overrides/search/pager.html.twig
deleted file mode 100755
index aebfe1fff870fbfdc2dc459b162b058aef1084cf..0000000000000000000000000000000000000000
--- a/templates/overrides/search/pager.html.twig
+++ /dev/null
@@ -1,27 +0,0 @@
-{#
-/**
- * @file
- * Template for a full pager.
- */
-#}
-{% if items %}
-  {% set previous =  items.previous ? {'label':  items.previous.text, 'path': items.previous.href } : {} %}
-  {% set next = items.next ? {'label':  items.next.text, 'path': items.next.href } : {} %}
-  {% set pages = {} %}
-  {% for key, item in items.pages %}
-    {% set values = { 'label': key, 'path': item.href } %}
-    {% if current == key %}
-      {% set values = values|merge({ 'active': true }) %}
-    {% endif %}
-    {% set pages = pages|merge([values]) %}
-  {% endfor %}
-  {% block content %}
-    <hr class="mb-5">
-    {{ pattern('pagination', {
-      items: pages,
-      alignment: 'center',
-      prev: previous,
-      next: next
-    }) }}
-  {% endblock %}
-{% endif %}
diff --git a/templates/overrides/search/views-mini-pager.html.twig b/templates/overrides/search/views-mini-pager.html.twig
deleted file mode 100755
index c5600033eb1819819224a0c84a29308863a1cd88..0000000000000000000000000000000000000000
--- a/templates/overrides/search/views-mini-pager.html.twig
+++ /dev/null
@@ -1,21 +0,0 @@
-{#
-/**
- * @file
- * Template for a mini pager.
- */
-#}
-{% if items %}
-  {% set previous =  items.previous ? {'label':  items.previous.text, 'path': items.previous.href } : {} %}
-  {% set next = items.next ? {'label':  items.next.text, 'path': items.next.href } : {} %}
-  {% set pages = {} %}
-  {% set pages = pages|merge([{ 'label': items.current, 'disabled': true }]) %}
-  {% block content %}
-    <hr class="mb-5">
-    {{ pattern('pagination', {
-      items: pages,
-      alignment: 'center',
-      prev: previous,
-      next: next,
-    }) }}
-  {% endblock %}
-{% endif %}
diff --git a/tests/src/Kernel/AuthenticationBlockTest.php b/tests/src/Kernel/AuthenticationBlockTest.php
index eb6514f2b6727126b087a6a749a4ecbe5d25ff4a..3e07981eb407b84eac9f5d6a738ce99c64a94a38 100644
--- a/tests/src/Kernel/AuthenticationBlockTest.php
+++ b/tests/src/Kernel/AuthenticationBlockTest.php
@@ -71,7 +71,7 @@ class AuthenticationBlockTest extends KernelTestBase {
     $actual = $crawler->filter('.oe-authentication');
     $this->assertCount(1, $actual);
     $icon = $actual->filter('svg');
-    $this->assertSame('bi icon--xs', $icon->attr('class'));
+    $this->assertSame('ms-2-5 bi icon--xs', $icon->attr('class'));
     $use = $icon->filter('use');
     $expected = '/themes/contrib/oe_bootstrap_theme/assets/icons/bootstrap-icons.svg#person-fill';
     $this->assertSame($expected, $use->attr('xlink:href'));