diff --git a/app/assets/javascripts/breadcrumb.js b/app/assets/javascripts/breadcrumb.js
index 113840dbc52a31dae1eac36ad336c89c7147c7e9..0dacd5af5cc2d5dda5d5cdc27fe9d48539a9f76d 100644
--- a/app/assets/javascripts/breadcrumb.js
+++ b/app/assets/javascripts/breadcrumb.js
@@ -23,11 +23,11 @@ export default () => {
     topLevelLinks.forEach((el) => addTooltipToEl(el));
 
     $expanderBtn.on('click', () => {
-      const detailItems = $('.breadcrumbs-detail-item');
+      const detailItems = $('.gl-breadcrumb-item');
       const hiddenClass = 'gl-display-none!';
 
       $.each(detailItems, (_key, item) => {
-        $(item).toggleClass(hiddenClass);
+        $(item).removeClass(hiddenClass);
       });
 
       // remove the ellipsis
diff --git a/app/assets/stylesheets/framework/header.scss b/app/assets/stylesheets/framework/header.scss
index 3e97343c3fe4e06f955e1c86cd07d2d28cf2eb2d..ce2296e319a66147e8289e865aa48f4e5442c92a 100644
--- a/app/assets/stylesheets/framework/header.scss
+++ b/app/assets/stylesheets/framework/header.scss
@@ -260,12 +260,6 @@
   @media (prefers-reduced-motion: no-preference) {
     transition: left $gl-transition-duration-medium, right $gl-transition-duration-medium;
   }
-
-  .breadcrumbs-list {
-    @include media-breakpoint-down(xs) {
-      flex-wrap: nowrap;
-    }
-  }
 }
 
 .breadcrumbs {
@@ -280,59 +274,6 @@
     border-radius: 50%;
     vertical-align: sub;
   }
-
-  .text-expander {
-    margin-left: 0;
-    margin-right: 2px;
-
-    > i {
-      position: relative;
-      top: 1px;
-    }
-  }
-}
-
-.breadcrumbs-list {
-  display: flex;
-  margin-bottom: 0;
-  line-height: 16px;
-
-  @include media-breakpoint-down(xs) {
-    flex-wrap: wrap;
-  }
-
-  > li {
-    display: flex;
-    align-items: center;
-    position: relative;
-    min-width: 0;
-    padding: 2px 0;
-
-    &:not(:last-child) {
-      padding-right: 20px;
-    }
-
-    &:last-child {
-      > a {
-        font-weight: 600;
-        line-height: 16px;
-        color: $gl-text-color;
-      }
-    }
-
-    > a {
-      font-size: 12px;
-      color: currentColor;
-      white-space: nowrap;
-      overflow: hidden;
-      text-overflow: ellipsis;
-      flex: 0 1 auto;
-    }
-
-    &:last-of-type > .breadcrumbs-list-angle {
-      display: none;
-    }
-  }
 }
 
 .breadcrumb-item-text {
@@ -343,20 +284,6 @@
   }
 }
 
-.breadcrumbs-list-angle {
-  position: absolute;
-  right: 7px;
-  top: 50%;
-  color: $gl-text-color-tertiary;
-  transform: translateY(-50%);
-}
-
-.breadcrumbs-extra {
-  display: flex;
-  flex: 0 0 auto;
-  margin-left: auto;
-}
-
 @include media-breakpoint-down(xs) {
   .navbar-gitlab.legacy-top-bar .container-fluid {
     font-size: 18px;
diff --git a/app/helpers/breadcrumbs_helper.rb b/app/helpers/breadcrumbs_helper.rb
index 6996c7a176619cd91c4589643fe5bc2d437beea6..da8310995cc5f6b60783a09abfa89086b36eabdb 100644
--- a/app/helpers/breadcrumbs_helper.rb
+++ b/app/helpers/breadcrumbs_helper.rb
@@ -22,9 +22,7 @@ def breadcrumb_title(title)
   end
 
   def breadcrumb_list_item(link)
-    content_tag "li" do
-      link + sprite_icon("chevron-lg-right", size: 8, css_class: "breadcrumbs-list-angle")
-    end
+    content_tag :li, link, class: 'gl-breadcrumb-item'
   end
 
   def add_to_breadcrumb_collapsed_links(link, location: :before)
diff --git a/app/views/layouts/nav/breadcrumbs/_breadcrumbs.html.haml b/app/views/layouts/nav/breadcrumbs/_breadcrumbs.html.haml
index 040793d616f2f918fa96e90b8ea59ac089ae8831..417df51e98435b90433d5e46892551b9dc6af579 100644
--- a/app/views/layouts/nav/breadcrumbs/_breadcrumbs.html.haml
+++ b/app/views/layouts/nav/breadcrumbs/_breadcrumbs.html.haml
@@ -2,8 +2,8 @@
 - unless @skip_current_level_breadcrumb
   - push_to_schema_breadcrumb(@breadcrumb_title, breadcrumb_title_link)
 
-%nav.breadcrumbs{ 'aria-label': _('Breadcrumbs'), data: { testid: 'breadcrumb-links' } }
-  %ul.list-unstyled.breadcrumbs-list.js-breadcrumbs-list
+%nav.breadcrumbs.gl-breadcrumbs{ 'aria-label': _('Breadcrumbs'), data: { testid: 'breadcrumb-links' } }
+  %ul.breadcrumb.gl-breadcrumb-list.js-breadcrumbs-list
     - unless hide_top_links
       = header_title
     - if @breadcrumbs_extra_links
@@ -11,8 +11,8 @@
         = breadcrumb_list_item link_to(extra[:text], extra[:link])
     = render "layouts/nav/breadcrumbs/collapsed_inline_list", location: :after
     - unless @skip_current_level_breadcrumb
-      %li{ data: { testid: 'breadcrumb-current-link' } }
-        = link_to @breadcrumb_title, breadcrumb_title_link
+      %li.gl-breadcrumb-item{ data: { testid: 'breadcrumb-current-link' } }
+        = link_to(@breadcrumb_title, breadcrumb_title_link)
   -# haml-lint:disable InlineJavaScript
   %script{ type: 'application/ld+json' }
     :plain
diff --git a/app/views/layouts/nav/breadcrumbs/_collapsed_inline_list.html.haml b/app/views/layouts/nav/breadcrumbs/_collapsed_inline_list.html.haml
index dd2d23320bed0b26696d8062c732c5e054956f8a..3894501bbbb0840d2a30370d23032b527c041fd8 100644
--- a/app/views/layouts/nav/breadcrumbs/_collapsed_inline_list.html.haml
+++ b/app/views/layouts/nav/breadcrumbs/_collapsed_inline_list.html.haml
@@ -1,11 +1,9 @@
 - dropdown_location = local_assigns.fetch(:location, nil)
 - button_tooltip = local_assigns.fetch(:title, _("Show all breadcrumbs"))
 - if defined?(@breadcrumb_collapsed_links) && @breadcrumb_collapsed_links.key?(dropdown_location)
-  %li.expander
+  %li.expander.gl-breadcrumb-item
     %button.text-expander.has-tooltip.js-breadcrumbs-collapsed-expander{ type: "button", data: { container: "body" }, "aria-label": button_tooltip, title: button_tooltip }
       = sprite_icon("ellipsis_h", size: 12)
-    = sprite_icon("chevron-lg-right", size: 8, css_class: "breadcrumbs-list-angle")
   - @breadcrumb_collapsed_links[dropdown_location].each_with_index do |link, index|
-    %li{ :class => "gl-display-none! breadcrumbs-detail-item" }
+    %li.gl-breadcrumb-item{ :class => "gl-display-none!" }
       = link
-      = sprite_icon("chevron-lg-right", size: 8, css_class: "breadcrumbs-list-angle")
diff --git a/ee/spec/features/admin/geo/admin_geo_nodes_spec.rb b/ee/spec/features/admin/geo/admin_geo_nodes_spec.rb
index bd8208ea790b09cd69410bd5d7ebe8a583f55dc2..bc3b81edae1d5a4404017e1a3ca0a95ddb2bb050 100644
--- a/ee/spec/features/admin/geo/admin_geo_nodes_spec.rb
+++ b/ee/spec/features/admin/geo/admin_geo_nodes_spec.rb
@@ -18,7 +18,7 @@ def expect_no_fields(site_fields)
   end
 
   def expect_breadcrumb(text)
-    breadcrumbs = page.all(:css, '.breadcrumbs-list>li')
+    breadcrumbs = page.all(:css, '.gl-breadcrumb-list > li')
     expect(breadcrumbs.length).to eq(3)
     expect(breadcrumbs[0].text).to eq('Admin Area')
     expect(breadcrumbs[1].text).to eq('Geo Sites')
diff --git a/spec/features/explore/user_explores_projects_spec.rb b/spec/features/explore/user_explores_projects_spec.rb
index e1341824bfdb4d2cdc6396b05a238b3e8663dfbb..369297ff04ab652153eee6ac179701928b657b5b 100644
--- a/spec/features/explore/user_explores_projects_spec.rb
+++ b/spec/features/explore/user_explores_projects_spec.rb
@@ -25,7 +25,7 @@
 
     describe 'breadcrumbs' do
       it 'has "Explore" as its root breadcrumb' do
-        within '.breadcrumbs-list li:first' do
+        within '.gl-breadcrumb-list li:first' do
           expect(page).to have_link('Explore', href: explore_root_path)
         end
       end
diff --git a/spec/features/projects/commits/user_browses_commits_spec.rb b/spec/features/projects/commits/user_browses_commits_spec.rb
index 3513e249b63e76ad6c5971074193f074e5398218..5a0b70532aa2597b2eea98815bd5d38563556982 100644
--- a/spec/features/projects/commits/user_browses_commits_spec.rb
+++ b/spec/features/projects/commits/user_browses_commits_spec.rb
@@ -42,8 +42,8 @@
   it 'renders breadcrumbs on specific commit path' do
     visit project_commits_path(project, project.repository.root_ref + '/files/ruby/regex.rb', limit: 5)
 
-    expect(page).to have_selector('ul.breadcrumb')
-      .and have_selector('ul.breadcrumb a', count: 4)
+    expect(page).to have_selector('#content-body ul.breadcrumb')
+      .and have_selector('#content-body ul.breadcrumb a', count: 4)
   end
 
   it 'renders diff links to both the previous and current image', :js do
diff --git a/spec/helpers/groups_helper_spec.rb b/spec/helpers/groups_helper_spec.rb
index 2856b8004cf0a89653ade94f5b2a383ccfa300cf..fe8ed2691fbc4102689267426a92f9bf40af7a8a 100644
--- a/spec/helpers/groups_helper_spec.rb
+++ b/spec/helpers/groups_helper_spec.rb
@@ -93,7 +93,7 @@
       shared_examples 'correct ancestor order' do
         it 'outputs the groups in the correct order' do
           expect(subject)
-            .to match(%r{<li><a.*>#{deep_nested_group.name}.*</li>.*<a.*>#{very_deep_nested_group.name}</a>}m)
+            .to match(%r{<li.*><a.*>#{deep_nested_group.name}.*</li>.*<a.*>#{very_deep_nested_group.name}</a>}m)
         end
       end