From 5d8be4438add1183d91e030b852c628cf09f4916 Mon Sep 17 00:00:00 2001
From: Sullivan SENECHAL <soullivaneuh@gmail.com>
Date: Thu, 2 Oct 2014 00:21:29 +0200
Subject: [PATCH] Upgrade to Font Awesome v4.2

---
 CHANGELOG                                      |  1 +
 Gemfile                                        |  2 +-
 Gemfile.lock                                   |  4 ++--
 app/assets/javascripts/application.js.coffee   |  4 ++--
 .../behaviors/toggler_behavior.coffee          |  4 ++--
 app/assets/javascripts/markdown_area.js.coffee |  4 ++--
 app/assets/stylesheets/gl_bootstrap.scss       |  2 +-
 app/assets/stylesheets/sections/notes.scss     |  3 +--
 app/helpers/application_helper.rb              |  2 +-
 app/helpers/events_helper.rb                   |  8 ++++----
 app/helpers/icons_helper.rb                    | 10 +++++-----
 app/helpers/notes_helper.rb                    |  2 +-
 app/helpers/notifications_helper.rb            |  8 ++++----
 app/helpers/projects_helper.rb                 |  4 ++--
 app/helpers/tree_helper.rb                     |  4 ++--
 app/views/admin/background_jobs/show.html.haml |  6 +++---
 .../admin/broadcast_messages/index.html.haml   |  4 ++--
 app/views/admin/groups/_form.html.haml         |  2 +-
 app/views/admin/groups/index.html.haml         |  2 +-
 app/views/admin/groups/show.html.haml          |  4 ++--
 app/views/admin/logs/show.html.haml            | 16 ++++++++--------
 app/views/admin/projects/show.html.haml        |  8 ++++----
 app/views/admin/users/index.html.haml          |  8 ++++----
 app/views/admin/users/show.html.haml           |  8 ++++----
 app/views/dashboard/_groups.html.haml          |  4 ++--
 app/views/dashboard/_project.html.haml         |  2 +-
 app/views/dashboard/_projects.html.haml        |  4 ++--
 app/views/dashboard/_projects_filter.html.haml |  4 ++--
 app/views/dashboard/_sidebar.html.haml         |  2 +-
 .../_zero_authorized_projects.html.haml        |  6 +++---
 app/views/dashboard/issues.html.haml           |  2 +-
 app/views/dashboard/merge_requests.html.haml   |  2 +-
 app/views/dashboard/projects.html.haml         |  8 ++++----
 app/views/dashboard/show.html.haml             |  2 +-
 app/views/events/event/_note.html.haml         |  4 ++--
 app/views/explore/groups/index.html.haml       |  2 +-
 app/views/explore/projects/_project.html.haml  |  2 +-
 app/views/explore/projects/starred.html.haml   |  2 +-
 app/views/explore/projects/trending.html.haml  |  2 +-
 app/views/groups/_projects.html.haml           |  4 ++--
 app/views/groups/_settings_nav.html.haml       |  4 ++--
 app/views/groups/edit.html.haml                |  2 +-
 .../group_members/_group_member.html.haml      |  6 +++---
 app/views/groups/issues.html.haml              |  2 +-
 app/views/groups/members.html.haml             |  2 +-
 app/views/groups/merge_requests.html.haml      |  2 +-
 app/views/groups/milestones/index.html.haml    |  2 +-
 app/views/groups/new.html.haml                 |  2 +-
 app/views/groups/projects.html.haml            |  2 +-
 app/views/groups/show.html.haml                |  2 +-
 app/views/help/_shortcuts.html.haml            | 16 ++++++++--------
 app/views/layouts/_broadcast.html.haml         |  2 +-
 app/views/layouts/_head_panel.html.haml        | 18 +++++++++---------
 app/views/layouts/_public_head_panel.html.haml |  2 +-
 app/views/profiles/accounts/show.html.haml     |  2 +-
 app/views/profiles/groups/index.html.haml      |  6 +++---
 .../profiles/notifications/_settings.html.haml |  2 +-
 app/views/profiles/show.html.haml              |  2 +-
 app/views/projects/_dropdown.html.haml         |  6 +++---
 app/views/projects/_issuable_form.html.haml    |  4 ++--
 app/views/projects/_settings_nav.html.haml     | 12 ++++++------
 app/views/projects/blame/show.html.haml        |  2 +-
 app/views/projects/blob/_blob.html.haml        |  4 ++--
 app/views/projects/blob/_download.html.haml    |  2 +-
 app/views/projects/branches/_branch.html.haml  |  6 +++---
 app/views/projects/branches/index.html.haml    |  2 +-
 app/views/projects/branches/new.html.haml      |  2 +-
 .../projects/commit/_commit_box.html.haml      |  4 ++--
 app/views/projects/commits/_commit.html.haml   |  2 +-
 app/views/projects/commits/_commits.html.haml  |  2 +-
 app/views/projects/commits/show.html.haml      |  2 +-
 .../projects/deploy_keys/_deploy_key.html.haml |  6 +++---
 app/views/projects/deploy_keys/index.html.haml |  2 +-
 app/views/projects/diffs/_file.html.haml       |  2 +-
 app/views/projects/diffs/_stats.html.haml      | 10 +++++-----
 app/views/projects/edit.html.haml              |  6 +++---
 app/views/projects/edit_tree/show.html.haml    |  4 ++--
 app/views/projects/fork.html.haml              |  4 ++--
 app/views/projects/graphs/show.html.haml       |  2 +-
 app/views/projects/import.html.haml            |  2 +-
 app/views/projects/issues/_head.html.haml      |  8 ++++----
 app/views/projects/issues/_issue.html.haml     |  6 +++---
 app/views/projects/issues/_issues.html.haml    |  4 ++--
 app/views/projects/issues/index.html.haml      |  2 +-
 app/views/projects/issues/show.html.haml       |  4 ++--
 .../merge_requests/_merge_request.html.haml    |  8 ++++----
 .../merge_requests/_new_submit.html.haml       |  6 +++---
 .../projects/merge_requests/_show.html.haml    |  4 ++--
 .../projects/merge_requests/index.html.haml    |  8 ++++----
 .../merge_requests/show/_commits.html.haml     |  2 +-
 .../merge_requests/show/_mr_accept.html.haml   |  4 ++--
 .../merge_requests/show/_mr_ci.html.haml       | 10 +++++-----
 .../merge_requests/show/_mr_title.html.haml    |  4 ++--
 .../show/_remove_source_branch.html.haml       |  4 ++--
 .../show/_state_widget.html.haml               |  2 +-
 .../projects/milestones/_milestone.html.haml   |  2 +-
 app/views/projects/milestones/index.html.haml  |  4 ++--
 app/views/projects/milestones/show.html.haml   |  4 ++--
 app/views/projects/network/show.html.haml      |  2 +-
 app/views/projects/new.html.haml               |  6 +++---
 app/views/projects/new_tree/show.html.haml     |  2 +-
 .../notes/_diff_notes_with_reply.html.haml     |  2 +-
 .../_diff_notes_with_reply_parallel.html.haml  |  4 ++--
 app/views/projects/notes/_form.html.haml       |  2 +-
 app/views/projects/notes/_note.html.haml       | 16 ++++++++--------
 .../notes/discussions/_active.html.haml        |  2 +-
 .../notes/discussions/_commit.html.haml        |  2 +-
 .../notes/discussions/_outdated.html.haml      |  2 +-
 .../protected_branches/index.html.haml         |  2 +-
 .../repositories/_download_archive.html.haml   | 14 +++++++-------
 app/views/projects/show.html.haml              |  6 +++---
 app/views/projects/snippets/show.html.haml     |  2 +-
 app/views/projects/tags/_tag.html.haml         |  4 ++--
 app/views/projects/tags/index.html.haml        |  2 +-
 app/views/projects/tags/new.html.haml          |  2 +-
 .../team_members/_group_members.html.haml      |  2 +-
 .../team_members/_team_member.html.haml        |  2 +-
 app/views/projects/tree/_readme.html.haml      |  2 +-
 app/views/projects/tree/_spinner.html.haml     |  2 +-
 .../projects/tree/_submodule_item.html.haml    |  2 +-
 app/views/projects/tree/_tree.html.haml        |  4 ++--
 app/views/projects/wikis/_main_links.html.haml |  2 +-
 app/views/projects/wikis/_nav.html.haml        |  4 ++--
 app/views/search/_filter.html.haml             |  4 ++--
 app/views/search/_project_filter.html.haml     |  8 ++++----
 app/views/search/_snippet_filter.html.haml     |  4 ++--
 app/views/search/results/_blob.html.haml       |  2 +-
 app/views/search/results/_empty.html.haml      |  2 +-
 app/views/search/results/_note.html.haml       |  2 +-
 .../search/results/_snippet_blob.html.haml     |  4 ++--
 .../search/results/_snippet_title.html.haml    |  2 +-
 app/views/search/results/_wiki_blob.html.haml  |  2 +-
 app/views/shared/_file_hljs.html.haml          |  2 +-
 app/views/shared/_filter.html.haml             |  2 +-
 app/views/shared/_project_filter.html.haml     |  6 +++---
 app/views/snippets/_snippet.html.haml          |  2 +-
 app/views/snippets/show.html.haml              |  4 ++--
 app/views/users/show.html.haml                 |  2 +-
 features/steps/profile/group.rb                |  8 ++++----
 spec/helpers/notifications_helper_spec.rb      |  8 ++++----
 spec/support/login_helpers.rb                  |  2 +-
 141 files changed, 290 insertions(+), 290 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 0250b4a23c0..86f544091c8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -14,6 +14,7 @@ v 7.4.0
   - Fail harder in the backup script
   - Zen mode for wiki and milestones (Robert Schilling)
   - Move Emoji parsing to html-pipeline-gitlab (Robert Schilling)
+  - Font Awesome 4.2 integration (Sullivan Senechal)
 
 v 7.3.2
   - Fix creating new file via web editor
diff --git a/Gemfile b/Gemfile
index 3d9af1c91c2..3ea6adf5dce 100644
--- a/Gemfile
+++ b/Gemfile
@@ -180,7 +180,7 @@ gem "jquery-ui-rails"
 gem "jquery-scrollto-rails"
 gem "raphael-rails", "~> 2.1.2"
 gem 'bootstrap-sass', '~> 3.0'
-gem "font-awesome-rails", '~> 3.2'
+gem "font-awesome-rails", '~> 4.2'
 gem "gitlab_emoji", "~> 0.0.1.1"
 gem "gon", '~> 5.0.0'
 gem 'nprogress-rails'
diff --git a/Gemfile.lock b/Gemfile.lock
index d0f29258ffa..42f50d58806 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -152,7 +152,7 @@ GEM
       net-ssh (>= 2.1.3)
     fog-json (1.0.0)
       multi_json (~> 1.0)
-    font-awesome-rails (3.2.1.3)
+    font-awesome-rails (4.2.0.0)
       railties (>= 3.2, < 5.0)
     foreman (0.63.0)
       dotenv (>= 0.7)
@@ -614,7 +614,7 @@ DEPENDENCIES
   factory_girl_rails
   ffaker
   fog (~> 1.14)
-  font-awesome-rails (~> 3.2)
+  font-awesome-rails (~> 4.2)
   foreman
   gemnasium-gitlab-service (~> 0.2)
   github-markup
diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee
index 8d377057d16..a1a4dc8e24f 100644
--- a/app/assets/javascripts/application.js.coffee
+++ b/app/assets/javascripts/application.js.coffee
@@ -172,8 +172,8 @@ $ ->
   # Show/hide comments on diff
   $("body").on "click", ".js-toggle-diff-comments", (e) ->
     $(@).find('i').
-      toggleClass('icon-chevron-down').
-      toggleClass('icon-chevron-up')
+      toggleClass('fa fa-chevron-down').
+      toggleClass('fa fa-chevron-up')
     $(@).closest(".diff-file").find(".notes_holder").toggle()
     e.preventDefault()
 
diff --git a/app/assets/javascripts/behaviors/toggler_behavior.coffee b/app/assets/javascripts/behaviors/toggler_behavior.coffee
index 1b2ed9efc25..177b6918270 100644
--- a/app/assets/javascripts/behaviors/toggler_behavior.coffee
+++ b/app/assets/javascripts/behaviors/toggler_behavior.coffee
@@ -8,7 +8,7 @@ $ ->
   #
   $("body").on "click", ".js-toggle-button", (e) ->
     $(@).find('i').
-      toggleClass('icon-chevron-down').
-      toggleClass('icon-chevron-up')
+      toggleClass('fa fa-chevron-down').
+      toggleClass('fa fa-chevron-up')
     $(@).closest(".js-toggle-container").find(".js-toggle-content").toggle()
     e.preventDefault()
diff --git a/app/assets/javascripts/markdown_area.js.coffee b/app/assets/javascripts/markdown_area.js.coffee
index fca7b5bc030..a0ebfc98ce6 100644
--- a/app/assets/javascripts/markdown_area.js.coffee
+++ b/app/assets/javascripts/markdown_area.js.coffee
@@ -7,8 +7,8 @@ $(document).ready ->
   divHover = "<div class=\"div-dropzone-hover\"></div>"
   divSpinner = "<div class=\"div-dropzone-spinner\"></div>"
   divAlert = "<div class=\"" + alertClass + "\"></div>"
-  iconPicture = "<i class=\"icon-picture div-dropzone-icon\"></i>"
-  iconSpinner = "<i class=\"icon-spinner icon-spin div-dropzone-icon\"></i>"
+  iconPicture = "<i class=\"fa fa-picture-o div-dropzone-icon\"></i>"
+  iconSpinner = "<i class=\"fa fa-spinner fa-spin div-dropzone-icon\"></i>"
   btnAlert = "<button type=\"button\"" + alertAttr + ">&times;</button>"
   project_image_path_upload = window.project_image_path_upload or null
 
diff --git a/app/assets/stylesheets/gl_bootstrap.scss b/app/assets/stylesheets/gl_bootstrap.scss
index 34b0608646c..45044c5acb6 100644
--- a/app/assets/stylesheets/gl_bootstrap.scss
+++ b/app/assets/stylesheets/gl_bootstrap.scss
@@ -124,7 +124,7 @@ $list-group-active-bg: $bg_primary;
         color: #888;
         text-shadow: 0 1px 1px #fff;
       }
-      i[class^="icon-"] {
+      i[class~="fa"] {
         line-height: 14px;
       }
     }
diff --git a/app/assets/stylesheets/sections/notes.scss b/app/assets/stylesheets/sections/notes.scss
index d1bdc9aa179..7eb42fddade 100644
--- a/app/assets/stylesheets/sections/notes.scss
+++ b/app/assets/stylesheets/sections/notes.scss
@@ -119,8 +119,7 @@ ul.notes {
     display: none;
     float: right;
 
-    [class^="icon-"],
-    [class*="icon-"] {
+    [class~="fa"] {
       font-size: 16px;
       line-height: 16px;
       vertical-align: middle;
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 728c5041074..34d312b4100 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -229,7 +229,7 @@ module ApplicationHelper
     css_class << " hide" unless visible
 
     content_tag :div, class: css_class do
-      content_tag(:i, nil, class: 'icon-spinner icon-spin') + text
+      content_tag(:i, nil, class: 'fa fa-spinner fa-spin') + text
     end
   end
 
diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb
index 10a895d8cae..6aeab7bb8ce 100644
--- a/app/helpers/events_helper.rb
+++ b/app/helpers/events_helper.rb
@@ -36,10 +36,10 @@ module EventsHelper
 
   def icon_for_event
     {
-      EventFilter.push     => "icon-upload-alt",
-      EventFilter.merged   => "icon-check",
-      EventFilter.comments => "icon-comments",
-      EventFilter.team     => "icon-user",
+      EventFilter.push     => 'fa fa-upload',
+      EventFilter.merged   => 'fa fa-check-square-o',
+      EventFilter.comments => 'fa fa-comments',
+      EventFilter.team     => 'fa fa-user',
     }
   end
 
diff --git a/app/helpers/icons_helper.rb b/app/helpers/icons_helper.rb
index f0f771b4ba0..aaa8f8d0077 100644
--- a/app/helpers/icons_helper.rb
+++ b/app/helpers/icons_helper.rb
@@ -1,21 +1,21 @@
 module IconsHelper
   def boolean_to_icon(value)
     if value.to_s == "true"
-      content_tag :i, nil, class: 'icon-circle cgreen'
+      content_tag :i, nil, class: 'fa fa-circle cgreen'
     else
-      content_tag :i, nil, class: 'icon-off clgray'
+      content_tag :i, nil, class: 'fa fa-power-off clgray'
     end
   end
 
   def public_icon
-    content_tag :i, nil, class: 'icon-globe'
+    content_tag :i, nil, class: 'fa fa-globe'
   end
 
   def internal_icon
-    content_tag :i, nil, class: 'icon-shield'
+    content_tag :i, nil, class: 'fa fa-shield'
   end
 
   def private_icon
-    content_tag :i, nil, class: 'icon-lock'
+    content_tag :i, nil, class: 'fa fa-lock'
   end
 end
diff --git a/app/helpers/notes_helper.rb b/app/helpers/notes_helper.rb
index 15d4b875c4c..901052edec6 100644
--- a/app/helpers/notes_helper.rb
+++ b/app/helpers/notes_helper.rb
@@ -69,7 +69,7 @@ module NotesHelper
 
     button_tag class: 'btn reply-btn js-discussion-reply-button',
                data: data, title: 'Add a reply' do
-      link_text = content_tag(:i, nil, class: 'icon-comment')
+      link_text = content_tag(:i, nil, class: 'fa fa-comment')
       link_text << ' Reply'
     end
   end
diff --git a/app/helpers/notifications_helper.rb b/app/helpers/notifications_helper.rb
index 6c43f97446b..bad380e98a8 100644
--- a/app/helpers/notifications_helper.rb
+++ b/app/helpers/notifications_helper.rb
@@ -1,13 +1,13 @@
 module NotificationsHelper
   def notification_icon(notification)
     if notification.disabled?
-      content_tag :i, nil, class: 'icon-volume-off ns-mute'
+      content_tag :i, nil, class: 'fa fa-volume-off ns-mute'
     elsif notification.participating?
-      content_tag :i, nil, class: 'icon-volume-down ns-part'
+      content_tag :i, nil, class: 'fa fa-volume-down ns-part'
     elsif notification.watch?
-      content_tag :i, nil, class: 'icon-volume-up ns-watch'
+      content_tag :i, nil, class: 'fa fa-volume-up ns-watch'
     else
-      content_tag :i, nil, class: 'icon-circle-blank ns-default'
+      content_tag :i, nil, class: 'fa fa-circle-o ns-default'
     end
   end
 end
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 6a16f112cb3..6df7dae7314 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -133,7 +133,7 @@ module ProjectsHelper
                       'Star'
                     end
 
-      content_tag('i', ' ', class: 'icon-star') + toggle_text
+      content_tag('i', ' ', class: 'fa fa-star') + toggle_text
     end
 
     count_html = content_tag('span', class: 'count') do
@@ -157,7 +157,7 @@ module ProjectsHelper
   end
 
   def link_to_toggle_fork
-    out = content_tag(:i, '', class: 'icon-code-fork')
+    out = content_tag(:i, '', class: 'fa fa-code-fork')
     out << ' Fork'
     out << content_tag(:span, class: 'count') do
       @project.forks_count.to_s
diff --git a/app/helpers/tree_helper.rb b/app/helpers/tree_helper.rb
index ed3c401d873..c3b537eac47 100644
--- a/app/helpers/tree_helper.rb
+++ b/app/helpers/tree_helper.rb
@@ -36,9 +36,9 @@ module TreeHelper
   # type - String type of the tree item; either 'folder' or 'file'
   def tree_icon(type)
     icon_class = if type == 'folder'
-                   'icon-folder-close'
+                   'fa fa-folder'
                  else
-                   'icon-file-alt'
+                   'fa fa-file-o'
                  end
 
     content_tag :i, nil, class: icon_class
diff --git a/app/views/admin/background_jobs/show.html.haml b/app/views/admin/background_jobs/show.html.haml
index c79d1280dd9..9dcf7b488ee 100644
--- a/app/views/admin/background_jobs/show.html.haml
+++ b/app/views/admin/background_jobs/show.html.haml
@@ -8,7 +8,7 @@
   .panel-body
     - if @sidekiq_processes.empty?
       %h4.cred
-        %i.icon-warning-sign
+        %i.fa.fa-exclamation-triangle
         There are no running sidekiq processes. Please restart GitLab
     - else
       %table.table
@@ -32,10 +32,10 @@
 
       .clearfix
         %p
-          %i.icon-exclamation-sign
+          %i.fa.fa-exclamation-circle
           If '[25 of 25 busy]' is shown, restart GitLab with 'sudo service gitlab reload'.
         %p
-          %i.icon-exclamation-sign
+          %i.fa.fa-exclamation-circle
           If more than one sidekiq process is listed, stop GitLab, kill the remaining sidekiq processes (sudo pkill -u #{Settings.gitlab.user} -f sidekiq) and restart GitLab.
 
 
diff --git a/app/views/admin/broadcast_messages/index.html.haml b/app/views/admin/broadcast_messages/index.html.haml
index c58ca2c9a33..7b483ee6556 100644
--- a/app/views/admin/broadcast_messages/index.html.haml
+++ b/app/views/admin/broadcast_messages/index.html.haml
@@ -3,7 +3,7 @@
 %p.light
   Broadcast messages are displayed for every user and can be used to notify users about scheduled maintenance, recent upgrades and more.
 .broadcast-message-preview
-  %i.icon-bullhorn
+  %i.fa.fa-bullhorn
   %span Your message here
 
 = form_for [:admin, @broadcast_message], html: { class: 'broadcast-message-form form-horizontal'} do |f|
@@ -53,7 +53,7 @@
               #{broadcast_message.ends_at.to_s(:short)}
           &nbsp;
           = link_to [:admin, broadcast_message], method: :delete, remote: true, class: 'remove-row btn btn-tiny' do
-            %i.icon-remove.cred
+            %i.fa.fa-times.cred
 
         .message= broadcast_message.message
 
diff --git a/app/views/admin/groups/_form.html.haml b/app/views/admin/groups/_form.html.haml
index 31990ee5932..c56863ce274 100644
--- a/app/views/admin/groups/_form.html.haml
+++ b/app/views/admin/groups/_form.html.haml
@@ -17,7 +17,7 @@
     = f.label :avatar, "Group avatar", class: 'control-label'
     .col-sm-10
       %a.choose-btn.btn.btn-small.js-choose-group-avatar-button
-        %i.icon-paper-clip
+        %i.fa.fa-paperclip
         %span Choose File ...
       &nbsp;
       %span.file_name.js-avatar-filename File name...
diff --git a/app/views/admin/groups/index.html.haml b/app/views/admin/groups/index.html.haml
index 9a0d5967927..09105679bd2 100644
--- a/app/views/admin/groups/index.html.haml
+++ b/app/views/admin/groups/index.html.haml
@@ -24,7 +24,7 @@
 
         %h4
           = link_to [:admin, group] do
-            %i.icon-folder-close
+            %i.fa.fa-folder
             = group.name
 
           &rarr;
diff --git a/app/views/admin/groups/show.html.haml b/app/views/admin/groups/show.html.haml
index d59d2a23179..c1a9214b77a 100644
--- a/app/views/admin/groups/show.html.haml
+++ b/app/views/admin/groups/show.html.haml
@@ -2,7 +2,7 @@
   Group: #{@group.name}
 
   = link_to edit_admin_group_path(@group), class: "btn pull-right" do
-    %i.icon-edit
+    %i.fa.fa-pencil-square-o
     Edit
 %hr
 .row
@@ -81,6 +81,6 @@
             %span.pull-right.light
               = member.human_access
               = link_to group_group_members_path(@group, member), data: { confirm: remove_user_from_group_message(@group, user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
-                %i.icon-minus.icon-white
+                %i.fa.fa-minus.fa-inverse
       .panel-footer
         = paginate @members, param_name: 'members_page', theme: 'gitlab'
diff --git a/app/views/admin/logs/show.html.haml b/app/views/admin/logs/show.html.haml
index cce8aeb02c7..b3f8f012f00 100644
--- a/app/views/admin/logs/show.html.haml
+++ b/app/views/admin/logs/show.html.haml
@@ -13,11 +13,11 @@
   .tab-pane.active#githost
     .file-holder#README
       .file-title
-        %i.icon-file
+        %i.fa.fa-file
         githost.log
         .pull-right
           = link_to '#', class: 'log-bottom' do
-            %i.icon-arrow-down
+            %i.fa.fa-arrow-down
             Scroll down
       .file-content.logs
         %ol
@@ -27,11 +27,11 @@
   .tab-pane#application
     .file-holder#README
       .file-title
-        %i.icon-file
+        %i.fa.fa-file
         application.log
         .pull-right
           = link_to '#', class: 'log-bottom' do
-            %i.icon-arrow-down
+            %i.fa.fa-arrow-down
             Scroll down
       .file-content.logs
         %ol
@@ -41,11 +41,11 @@
   .tab-pane#production
     .file-holder#README
       .file-title
-        %i.icon-file
+        %i.fa.fa-file
         production.log
         .pull-right
           = link_to '#', class: 'log-bottom' do
-            %i.icon-arrow-down
+            %i.fa.fa-arrow-down
             Scroll down
       .file-content.logs
         %ol
@@ -55,11 +55,11 @@
   .tab-pane#sidekiq
     .file-holder#README
       .file-title
-        %i.icon-file
+        %i.fa.fa-file
         sidekiq.log
         .pull-right
           = link_to '#', class: 'log-bottom' do
-            %i.icon-arrow-down
+            %i.fa.fa-arrow-down
             Scroll down
       .file-content.logs
         %ol
diff --git a/app/views/admin/projects/show.html.haml b/app/views/admin/projects/show.html.haml
index 8413f0cb7f9..6d536199851 100644
--- a/app/views/admin/projects/show.html.haml
+++ b/app/views/admin/projects/show.html.haml
@@ -1,7 +1,7 @@
 %h3.page-title
   Project: #{@project.name_with_namespace}
   = link_to edit_project_path(@project), class: "btn pull-right" do
-    %i.icon-edit
+    %i.fa.fa-pencil-square-o
     Edit
 %hr
 .row
@@ -98,7 +98,7 @@
           group members (#{@group.group_members.count})
           .pull-right
             = link_to admin_group_path(@group), class: 'btn btn-small' do
-              %i.icon-edit
+              %i.fa.fa-pencil-square-o
         %ul.well-list
           - @group_members.each do |member|
             = render 'groups/group_members/group_member', member: member, show_controls: false
@@ -112,7 +112,7 @@
           (#{@project.users.count})
         .pull-right
           = link_to project_team_index_path(@project), class: "btn btn-tiny" do
-            %i.icon-edit
+            %i.fa.fa-pencil-square-o
             Manage Access
       %ul.well-list.team_members
         - @project_members.each do |project_member|
@@ -127,6 +127,6 @@
               - else
                 %span.light= project_member.human_access
                 = link_to project_team_member_path(@project, user), data: { confirm: remove_from_project_team_message(@project, user)}, method: :delete, remote: true, class: "btn btn-small btn-remove" do
-                  %i.icon-remove
+                  %i.fa.fa-times
       .panel-footer
         = paginate @project_members, param_name: 'project_members_page', theme: 'gitlab'
diff --git a/app/views/admin/users/index.html.haml b/app/views/admin/users/index.html.haml
index f2fa5ea91c1..5c2664e14fe 100644
--- a/app/views/admin/users/index.html.haml
+++ b/app/views/admin/users/index.html.haml
@@ -23,7 +23,7 @@
         .form-group
           = search_field_tag :name, params[:name], placeholder: 'Name, email or username', class: 'form-control'
         = button_tag class: 'btn btn-primary' do
-          %i.icon-search
+          %i.fa.fa-search
       %hr
       = link_to 'Reset', admin_users_path, class: "btn btn-cancel"
 
@@ -38,9 +38,9 @@
           %li
             .list-item-name
               - if user.blocked?
-                %i.icon-lock.cred
+                %i.fa.fa-lock.cred
               - else
-                %i.icon-user.cgreen
+                %i.fa.fa-user.cgreen
               = link_to user.name, [:admin, user]
               - if user.admin?
                 %strong.cred (Admin)
@@ -48,7 +48,7 @@
                 %span.cred It's you!
             .pull-right
               %span.light
-                %i.icon-envelope
+                %i.fa.fa-envelope
                 = mail_to user.email, user.email, class: 'light'
               &nbsp;
               = link_to 'Edit', edit_admin_user_path(user), id: "edit_#{dom_id(user)}", class: "btn btn-small"
diff --git a/app/views/admin/users/show.html.haml b/app/views/admin/users/show.html.haml
index c8295cf707e..211d77d5185 100644
--- a/app/views/admin/users/show.html.haml
+++ b/app/views/admin/users/show.html.haml
@@ -8,7 +8,7 @@
 
   .pull-right
     = link_to edit_admin_user_path(@user), class: "btn btn-grouped" do
-      %i.icon-edit
+      %i.fa.fa-pencil-square-o
       Edit
 %hr
 %ul.nav.nav-tabs
@@ -45,7 +45,7 @@
                 %span.light Secondary email:
                 %strong= email.email
                 = link_to remove_email_admin_user_path(@user, email), data: { confirm: "Are you sure you want to remove #{email.email}?" }, method: :delete, class: "btn-tiny btn btn-remove pull-right", title: 'Remove secondary email', id: "remove_email_#{email.id}" do
-                  %i.icon-remove
+                  %i.fa.fa-times
 
             %li
               %span.light Can create groups:
@@ -177,7 +177,7 @@
                 %span.light= user_group.human_access
                 - unless user_group.owner?
                   = link_to group_group_member_path(group, user_group), data: { confirm: remove_user_from_group_message(group, @user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
-                    %i.icon-remove.icon-white
+                    %i.fa.fa-times.fa-inverse
     - else
       .nothing-here-block This user has no groups.
 
@@ -216,4 +216,4 @@
 
                       - if tm.respond_to? :project
                         = link_to project_team_member_path(project, @user), data: { confirm: remove_from_project_team_message(project, @user) }, remote: true, method: :delete, class: "btn-tiny btn btn-remove", title: 'Remove user from project' do
-                          %i.icon-remove
+                          %i.fa.fa-times
diff --git a/app/views/dashboard/_groups.html.haml b/app/views/dashboard/_groups.html.haml
index 9bcc77b8d8e..5460cf56f22 100644
--- a/app/views/dashboard/_groups.html.haml
+++ b/app/views/dashboard/_groups.html.haml
@@ -3,7 +3,7 @@
     = search_field_tag :filter_group, nil, placeholder: 'Filter by name', class: 'dash-filter form-control'
     - if current_user.can_create_group?
       = link_to new_group_path, class: "btn btn-new pull-right" do
-        %i.icon-plus
+        %i.fa.fa-plus
         New group
   %ul.well-list.dash-list
     - groups.each do |group|
@@ -13,7 +13,7 @@
           %span.group-name.filter-title
             = truncate(group.name, length: 35)
           %span.arrow
-            %i.icon-angle-right
+            %i.fa.fa-angle-right
     - if groups.blank?
       %li
         .nothing-here-block You have no groups yet.
diff --git a/app/views/dashboard/_project.html.haml b/app/views/dashboard/_project.html.haml
index e326bee53ab..89ed5102754 100644
--- a/app/views/dashboard/_project.html.haml
+++ b/app/views/dashboard/_project.html.haml
@@ -9,4 +9,4 @@
     %span.project-name.filter-title
       = project.name
   %span.arrow
-    %i.icon-angle-right
+    %i.fa.fa-angle-right
diff --git a/app/views/dashboard/_projects.html.haml b/app/views/dashboard/_projects.html.haml
index 0cc253a8dd1..3598425777f 100644
--- a/app/views/dashboard/_projects.html.haml
+++ b/app/views/dashboard/_projects.html.haml
@@ -3,7 +3,7 @@
     = search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'dash-filter form-control'
     - if current_user.can_create_project?
       = link_to new_project_path, class: "btn btn-new pull-right" do
-        %i.icon-plus
+        %i.fa.fa-plus
         New project
 
   %ul.well-list.dash-list
@@ -21,4 +21,4 @@
         .pull-right
           = link_to projects_dashboard_path do
             Show all
-            %i.icon-angle-right
+            %i.fa.fa-angle-right
diff --git a/app/views/dashboard/_projects_filter.html.haml b/app/views/dashboard/_projects_filter.html.haml
index e4fa2d59e8a..b65e882e693 100644
--- a/app/views/dashboard/_projects_filter.html.haml
+++ b/app/views/dashboard/_projects_filter.html.haml
@@ -37,7 +37,7 @@
       - @groups.each do |group|
         %li{ class: (group.name == params[:group]) ? 'active' : 'light' }
           = link_to projects_dashboard_filter_path(group: group.name) do
-            %i.icon-folder-close-alt
+            %i.fa.fa-folder-o
             = group.name
             %small.pull-right
               = group.projects.count
@@ -51,5 +51,5 @@
       - @tags.each do |tag|
         %li{ class: (tag.name == params[:tag]) ? 'active' : 'light' }
           = link_to projects_dashboard_filter_path(scope: params[:scope], tag: tag.name) do
-            %i.icon-tag
+            %i.fa.fa-tag
             = tag.name
diff --git a/app/views/dashboard/_sidebar.html.haml b/app/views/dashboard/_sidebar.html.haml
index fed4b2776ae..add9eb7fa29 100644
--- a/app/views/dashboard/_sidebar.html.haml
+++ b/app/views/dashboard/_sidebar.html.haml
@@ -18,7 +18,7 @@
   %span.rss-icon
     = link_to dashboard_path(:atom, { private_token: current_user.private_token }) do
       %strong
-        %i.icon-rss
+        %i.fa.fa-rss
         News Feed
 
 %hr
diff --git a/app/views/dashboard/_zero_authorized_projects.html.haml b/app/views/dashboard/_zero_authorized_projects.html.haml
index ff85e32bc4e..711e607f0bc 100644
--- a/app/views/dashboard/_zero_authorized_projects.html.haml
+++ b/app/views/dashboard/_zero_authorized_projects.html.haml
@@ -3,7 +3,7 @@
 %hr
 %div
   .dashboard-intro-icon
-    %i.icon-bookmark-empty
+    %i.fa.fa-bookmark-o
   %div
     %p.slead
       You don't have access to any projects right now.
@@ -23,7 +23,7 @@
   %hr
   %div
     .dashboard-intro-icon
-      %i.icon-group
+      %i.fa.fa-users
     %div
       %p.slead
         You can create a group for several dependent projects.
@@ -37,7 +37,7 @@
   %hr
   %div
     .dashboard-intro-icon
-      %i.icon-globe
+      %i.fa.fa-globe
     %div
       %p.slead
         There are
diff --git a/app/views/dashboard/issues.html.haml b/app/views/dashboard/issues.html.haml
index d3ff291eaa8..7c1f1ddbb80 100644
--- a/app/views/dashboard/issues.html.haml
+++ b/app/views/dashboard/issues.html.haml
@@ -7,7 +7,7 @@
 
 .row
   .fixed.sidebar-expand-button.hidden-lg.hidden-md
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
   .col-md-3.responsive-side
     = render 'shared/filter', entity: 'issue'
   .col-md-9
diff --git a/app/views/dashboard/merge_requests.html.haml b/app/views/dashboard/merge_requests.html.haml
index 7a9ea9f6f90..c96584c7b6b 100644
--- a/app/views/dashboard/merge_requests.html.haml
+++ b/app/views/dashboard/merge_requests.html.haml
@@ -7,7 +7,7 @@
 %hr
 .row
   .fixed.sidebar-expand-button.hidden-lg.hidden-md
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
   .col-md-3.responsive-side
     = render 'shared/filter', entity: 'merge_request'
   .col-md-9
diff --git a/app/views/dashboard/projects.html.haml b/app/views/dashboard/projects.html.haml
index 2714ebc53de..f124c688be1 100644
--- a/app/views/dashboard/projects.html.haml
+++ b/app/views/dashboard/projects.html.haml
@@ -40,23 +40,23 @@
             - if current_user.can_leave_project?(project)
               .pull-right
                 = link_to leave_project_team_members_path(project), data: { confirm: "Leave project?"}, method: :delete, remote: true, class: "btn-tiny btn remove-row", title: 'Leave project' do
-                  %i.icon-signout
+                  %i.fa.fa-sign-out
                   Leave
 
             - if project.forked_from_project
               %small.pull-right
-                %i.icon-code-fork
+                %i.fa.fa-code-fork
                 Forked from:
                 = link_to project.forked_from_project.name_with_namespace, project_path(project.forked_from_project)
           .project-info
             .pull-right
               - if project.archived?
                 %span.label
-                  %i.icon-archive
+                  %i.fa.fa-archive
                   Archived
               - project.tags.each do |tag|
                 %span.label.label-info
-                  %i.icon-tag
+                  %i.fa.fa-tag
                   = tag.name
             - if project.description.present?
               %p= truncate project.description, length: 100
diff --git a/app/views/dashboard/show.html.haml b/app/views/dashboard/show.html.haml
index 6a08b1aa640..10951af6a09 100644
--- a/app/views/dashboard/show.html.haml
+++ b/app/views/dashboard/show.html.haml
@@ -6,7 +6,7 @@
       = render 'sidebar'
 
   .fixed.sidebar-expand-button.hidden-lg.hidden-md
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
 
 - else
   = render "zero_authorized_projects"
diff --git a/app/views/events/event/_note.html.haml b/app/views/events/event/_note.html.haml
index ad2afbce14c..6ec8e54fba5 100644
--- a/app/views/events/event/_note.html.haml
+++ b/app/views/events/event/_note.html.haml
@@ -9,7 +9,7 @@
 .event-body
   .event-note
     .md
-      %i.icon-comment-alt.event-note-icon
+      %i.fa.fa-comment-o.event-note-icon
       = event_note(event.target.note)
     - note = event.target
     - if note.attachment.url
@@ -18,5 +18,5 @@
           = image_tag note.attachment.secure_url, class: 'note-image-attach'
       - else
         = link_to note.attachment.secure_url, target: "_blank", class: 'note-file-attach' do
-          %i.icon-paper-clip
+          %i.fa.fa-paperclip
           = note.attachment_identifier
diff --git a/app/views/explore/groups/index.html.haml b/app/views/explore/groups/index.html.haml
index 80ddd5c1bde..c8243ff782c 100644
--- a/app/views/explore/groups/index.html.haml
+++ b/app/views/explore/groups/index.html.haml
@@ -36,7 +36,7 @@
       .clearfix
         %h4
           = link_to group_path(id: group.path) do
-            %i.icon-group
+            %i.fa.fa-users
             = group.name
       .clearfix
         %p
diff --git a/app/views/explore/projects/_project.html.haml b/app/views/explore/projects/_project.html.haml
index fd5aacbfdb4..4bc79d0a8c7 100644
--- a/app/views/explore/projects/_project.html.haml
+++ b/app/views/explore/projects/_project.html.haml
@@ -21,5 +21,5 @@
         &middot;
         = link_to pluralize(project.repository.tag_names.count, 'tag'), project_tags_path(project)
       - else
-        %i.icon-warning-sign
+        %i.fa.fa-exclamation-triangle
         Empty repository
diff --git a/app/views/explore/projects/starred.html.haml b/app/views/explore/projects/starred.html.haml
index 9c793d4050c..d4b11405517 100644
--- a/app/views/explore/projects/starred.html.haml
+++ b/app/views/explore/projects/starred.html.haml
@@ -1,6 +1,6 @@
 .explore-trending-block
   %p.lead
-    %i.icon-comments-alt
+    %i.fa.fa-comments-o
     See most starred projects
   %hr
   .public-projects
diff --git a/app/views/explore/projects/trending.html.haml b/app/views/explore/projects/trending.html.haml
index 18bb1ac0ba4..9cad9238933 100644
--- a/app/views/explore/projects/trending.html.haml
+++ b/app/views/explore/projects/trending.html.haml
@@ -1,6 +1,6 @@
 .explore-trending-block
   %p.lead
-    %i.icon-comments-alt
+    %i.fa.fa-comments-o
     See most discussed projects for last month
   %hr
   .public-projects
diff --git a/app/views/groups/_projects.html.haml b/app/views/groups/_projects.html.haml
index 2ebff21b819..2c65b3049e3 100644
--- a/app/views/groups/_projects.html.haml
+++ b/app/views/groups/_projects.html.haml
@@ -4,7 +4,7 @@
     - if can? current_user, :create_projects, @group
       .panel-head-actions
         = link_to new_project_path(namespace_id: @group.id), class: "btn btn-new" do
-          %i.icon-plus
+          %i.fa.fa-plus
           New project
   %ul.well-list
     - if projects.blank?
@@ -18,4 +18,4 @@
             %span.project-name
               = project.name
           %span.arrow
-            %i.icon-angle-right
+            %i.fa.fa-angle-right
diff --git a/app/views/groups/_settings_nav.html.haml b/app/views/groups/_settings_nav.html.haml
index 32eae31a47d..ec1fb4a2c00 100644
--- a/app/views/groups/_settings_nav.html.haml
+++ b/app/views/groups/_settings_nav.html.haml
@@ -1,10 +1,10 @@
 %ul.nav.nav-pills.nav-stacked.nav-stacked-menu
   = nav_link(path: 'groups#edit') do
     = link_to edit_group_path(@group) do
-      %i.icon-edit
+      %i.fa.fa-pencil-square-o
       Group
   = nav_link(path: 'groups#projects') do
     = link_to projects_group_path(@group) do
-      %i.icon-folder-close
+      %i.fa.fa-folder
       Projects
 
diff --git a/app/views/groups/edit.html.haml b/app/views/groups/edit.html.haml
index 97f22df044f..0b15affe785 100644
--- a/app/views/groups/edit.html.haml
+++ b/app/views/groups/edit.html.haml
@@ -32,7 +32,7 @@
                 - else
                   You can upload a group avatar here
               %a.choose-btn.btn.btn-small.js-choose-group-avatar-button
-                %i.icon-paper-clip
+                %i.fa.fa-paperclip
                 %span Choose File ...
               &nbsp;
               %span.file_name.js-avatar-filename File name...
diff --git a/app/views/groups/group_members/_group_member.html.haml b/app/views/groups/group_members/_group_member.html.haml
index 099e50a384e..d05016d9c3f 100644
--- a/app/views/groups/group_members/_group_member.html.haml
+++ b/app/views/groups/group_members/_group_member.html.haml
@@ -15,14 +15,14 @@
       - if show_controls
         - if can?(current_user, :modify, member)
           = link_to '#', class: "btn-tiny btn js-toggle-button", title: 'Edit access level' do
-            %i.icon-edit
+            %i.fa.fa-pencil-square-o
         - if can?(current_user, :destroy, member)
           - if current_user == member.user
             = link_to leave_profile_group_path(@group), data: { confirm: leave_group_message(@group.name)}, method: :delete, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
-              %i.icon-minus.icon-white
+              %i.fa.fa-minus.fa-inverse
           - else
             = link_to group_group_member_path(@group, member), data: { confirm: remove_user_from_group_message(@group, user) }, method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
-              %i.icon-minus.icon-white
+              %i.fa.fa-minus.fa-inverse
 
     .edit-member.hide.js-toggle-content
       = form_for [@group, member], remote: true do |f|
diff --git a/app/views/groups/issues.html.haml b/app/views/groups/issues.html.haml
index 0152ae86833..1932ba2f644 100644
--- a/app/views/groups/issues.html.haml
+++ b/app/views/groups/issues.html.haml
@@ -11,7 +11,7 @@
 
 .row
   .fixed.sidebar-expand-button.hidden-lg.hidden-md
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
   .col-md-3.responsive-side
     = render 'shared/filter', entity: 'issue'
   .col-md-9
diff --git a/app/views/groups/members.html.haml b/app/views/groups/members.html.haml
index ebf407d4ef1..ba554cd5ef1 100644
--- a/app/views/groups/members.html.haml
+++ b/app/views/groups/members.html.haml
@@ -19,7 +19,7 @@
     .pull-right
       = link_to '#', class: 'btn btn-new js-toggle-button' do
         Add members
-        %i.icon-chevron-down
+        %i.fa.fa-chevron-down
 
     .js-toggle-content.hide.new-group-member-holder
       = render "new_group_member"
diff --git a/app/views/groups/merge_requests.html.haml b/app/views/groups/merge_requests.html.haml
index 71d346d0469..86d5acdaa32 100644
--- a/app/views/groups/merge_requests.html.haml
+++ b/app/views/groups/merge_requests.html.haml
@@ -10,7 +10,7 @@
 %hr
 .row
   .fixed.sidebar-expand-button.hidden-lg.hidden-md
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
   .col-md-3.responsive-side
     = render 'shared/filter', entity: 'merge_request'
   .col-md-9
diff --git a/app/views/groups/milestones/index.html.haml b/app/views/groups/milestones/index.html.haml
index 54e901173f0..2727525f070 100644
--- a/app/views/groups/milestones/index.html.haml
+++ b/app/views/groups/milestones/index.html.haml
@@ -11,7 +11,7 @@
 
 .row
   .fixed.sidebar-expand-button.hidden-lg.hidden-md
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
   .col-md-3.responsive-side
     = render 'groups/filter', entity: 'milestone'
   .col-md-9
diff --git a/app/views/groups/new.html.haml b/app/views/groups/new.html.haml
index cdc087f949a..235e299343a 100644
--- a/app/views/groups/new.html.haml
+++ b/app/views/groups/new.html.haml
@@ -17,7 +17,7 @@
     = f.label :avatar, "Group avatar", class: 'control-label'
     .col-sm-10
       %a.choose-btn.btn.btn-small.js-choose-group-avatar-button
-        %i.icon-paper-clip
+        %i.fa.fa-paperclip
         %span Choose File ...
       &nbsp;
       %span.file_name.js-avatar-filename File name...
diff --git a/app/views/groups/projects.html.haml b/app/views/groups/projects.html.haml
index a5e752d776f..65a66355c56 100644
--- a/app/views/groups/projects.html.haml
+++ b/app/views/groups/projects.html.haml
@@ -9,7 +9,7 @@
         - if can? current_user, :manage_group, @group
           .panel-head-actions
             = link_to new_project_path(namespace_id: @group.id), class: "btn btn-new" do
-              %i.icon-plus
+              %i.fa.fa-plus
               New Project
       %ul.well-list
         - @projects.each do |project|
diff --git a/app/views/groups/show.html.haml b/app/views/groups/show.html.haml
index 6db393c882c..4f4fc537d34 100644
--- a/app/views/groups/show.html.haml
+++ b/app/views/groups/show.html.haml
@@ -30,7 +30,7 @@
       .prepend-top-20
         = link_to group_path(@group, { format: :atom, private_token: current_user.private_token }), title: "Feed" do
           %strong
-            %i.icon-rss
+            %i.fa.fa-rss
             News Feed
 
     %hr
diff --git a/app/views/help/_shortcuts.html.haml b/app/views/help/_shortcuts.html.haml
index ff83ff5bc4d..7b21ca30d8c 100644
--- a/app/views/help/_shortcuts.html.haml
+++ b/app/views/help/_shortcuts.html.haml
@@ -29,12 +29,12 @@
               %tr
                 %td.shortcut
                   .key
-                    %i.icon-arrow-up
+                    %i.fa.fa-arrow-up
                 %td Move selection up
               %tr
                 %td.shortcut
                   .key
-                    %i.icon-arrow-down
+                    %i.fa.fa-arrow-down
                 %td Move selection down
               %tr
                 %td.shortcut
@@ -132,28 +132,28 @@
               %tr
                 %td.shortcut
                   .key
-                    %i.icon-arrow-left
+                    %i.fa.fa-arrow-left
                   \/
                   .key h
                 %td Scroll left
               %tr
                 %td.shortcut
                   .key
-                    %i.icon-arrow-right
+                    %i.fa.fa-arrow-right
                   \/
                   .key l
                 %td Scroll right
               %tr
                 %td.shortcut
                   .key
-                    %i.icon-arrow-up
+                    %i.fa.fa-arrow-up
                   \/
                   .key k
                 %td Scroll up
               %tr
                 %td.shortcut
                   .key
-                    %i.icon-arrow-down
+                    %i.fa.fa-arrow-down
                   \/
                   .key j
                 %td Scroll down
@@ -161,7 +161,7 @@
                 %td.shortcut
                   .key
                     shift
-                    %i.icon-arrow-up
+                    %i.fa.fa-arrow-up
                   \/
                   .key
                     shift k
@@ -170,7 +170,7 @@
                 %td.shortcut
                   .key
                     shift
-                    %i.icon-arrow-down
+                    %i.fa.fa-arrow-down
                   \/
                   .key
                     shift j
diff --git a/app/views/layouts/_broadcast.html.haml b/app/views/layouts/_broadcast.html.haml
index 5794e3de338..e7d477c225e 100644
--- a/app/views/layouts/_broadcast.html.haml
+++ b/app/views/layouts/_broadcast.html.haml
@@ -1,4 +1,4 @@
 - if broadcast_message.present?
   .broadcast-message{ style: broadcast_styling(broadcast_message) }
-    %i.icon-bullhorn
+    %i.fa.fa-bullhorn
     = broadcast_message.message
diff --git a/app/views/layouts/_head_panel.html.haml b/app/views/layouts/_head_panel.html.haml
index 7c727aca785..5dcaee2fa02 100644
--- a/app/views/layouts/_head_panel.html.haml
+++ b/app/views/layouts/_head_panel.html.haml
@@ -10,7 +10,7 @@
 
       %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"}
         %span.sr-only Toggle navigation
-        %i.icon-reorder
+        %i.fa.fa-bars
 
       .navbar-collapse.collapse
         %ul.nav.navbar-nav
@@ -18,31 +18,31 @@
             = render "layouts/search"
           %li.visible-sm.visible-xs
             = link_to search_path, title: "Search", class: 'has_bottom_tooltip', 'data-original-title' => 'Search area' do
-              %i.icon-search
+              %i.fa.fa-search
           %li
             = link_to help_path, title: 'Help', class: 'has_bottom_tooltip',
                'data-original-title' => 'Help'  do
-              %i.icon-question-sign
+              %i.fa.fa-question-circle
           %li
             = link_to explore_root_path, title: "Explore", class: 'has_bottom_tooltip', 'data-original-title' => 'Public area' do
-              %i.icon-globe
+              %i.fa.fa-globe
           %li
             = link_to user_snippets_path(current_user), title: "My snippets", class: 'has_bottom_tooltip', 'data-original-title' => 'My snippets' do
-              %i.icon-paste
+              %i.fa.fa-clipboard
           - if current_user.is_admin?
             %li
               = link_to admin_root_path, title: "Admin area", class: 'has_bottom_tooltip', 'data-original-title' => 'Admin area' do
-                %i.icon-cogs
+                %i.fa.fa-cogs
           - if current_user.can_create_project?
             %li
               = link_to new_project_path, title: "New project", class: 'has_bottom_tooltip', 'data-original-title' => 'New project'  do
-                %i.icon-plus
+                %i.fa.fa-plus
           %li
             = link_to profile_path, title: "Profile settings", class: 'has_bottom_tooltip', 'data-original-title' => 'Profile settings"'  do
-              %i.icon-user
+              %i.fa.fa-user
           %li
             = link_to destroy_user_session_path, class: "logout", method: :delete, title: "Logout", class: 'has_bottom_tooltip', 'data-original-title' => 'Logout'  do
-              %i.icon-signout
+              %i.fa.fa-sign-out
           %li.hidden-xs
             = link_to current_user, class: "profile-pic", id: 'profile-pic' do
               = image_tag avatar_icon(current_user.email, 26), alt: 'User activity'
diff --git a/app/views/layouts/_public_head_panel.html.haml b/app/views/layouts/_public_head_panel.html.haml
index 945c66e2adf..9bfc14d16c1 100644
--- a/app/views/layouts/_public_head_panel.html.haml
+++ b/app/views/layouts/_public_head_panel.html.haml
@@ -10,7 +10,7 @@
 
       %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"}
         %span.sr-only Toggle navigation
-        %i.icon-reorder
+        %i.fa.fa-bars
 
       .pull-right.hidden-xs
         = link_to "Sign in", new_session_path(:user, redirect_to_referer: 'yes'), class: 'btn btn-sign-in btn-new'
diff --git a/app/views/profiles/accounts/show.html.haml b/app/views/profiles/accounts/show.html.haml
index c60e1ca9297..a21dcff41c0 100644
--- a/app/views/profiles/accounts/show.html.haml
+++ b/app/views/profiles/accounts/show.html.haml
@@ -52,7 +52,7 @@
           &nbsp;
         .loading-gif.hide
           %p
-            %i.icon-spinner.icon-spin
+            %i.fa.fa-spinner.fa-spin
             Saving new username
         %p.light
           = user_url(@user)
diff --git a/app/views/profiles/groups/index.html.haml b/app/views/profiles/groups/index.html.haml
index 2efe72b1bb3..e9ffca8faf4 100644
--- a/app/views/profiles/groups/index.html.haml
+++ b/app/views/profiles/groups/index.html.haml
@@ -3,7 +3,7 @@
   - if current_user.can_create_group?
     %span.pull-right
       = link_to new_group_path, class: "btn btn-new" do
-        %i.icon-plus
+        %i.fa.fa-plus
         New Group
 %p.light
   Group members have access to all a group's projects
@@ -19,12 +19,12 @@
         .pull-right
           - if can?(current_user, :manage_group, group)
             = link_to edit_group_path(group), class: "btn-small btn btn-grouped" do
-              %i.icon-cogs
+              %i.fa.fa-cogs
               Settings
 
           - if can?(current_user, :destroy, user_group)
             = link_to leave_profile_group_path(group), data: { confirm: leave_group_message(group.name) }, method: :delete, class: "btn-small btn btn-grouped", title: 'Remove user from group' do
-              %i.icon-signout
+              %i.fa.fa-sign-out
               Leave
 
         = link_to group, class: 'group-name' do
diff --git a/app/views/profiles/notifications/_settings.html.haml b/app/views/profiles/notifications/_settings.html.haml
index 940c553d1ba..2c85d2a9b2b 100644
--- a/app/views/profiles/notifications/_settings.html.haml
+++ b/app/views/profiles/notifications/_settings.html.haml
@@ -1,5 +1,5 @@
 %li
-  %span.notification-icon-holder
+  %span.notification.fa.fa-holder
     - if notification.global?
       = notification_icon(@notification)
     - else
diff --git a/app/views/profiles/show.html.haml b/app/views/profiles/show.html.haml
index ed19dccf53e..d6b52f86154 100644
--- a/app/views/profiles/show.html.haml
+++ b/app/views/profiles/show.html.haml
@@ -78,7 +78,7 @@
                   or change it at #{link_to "gravatar.com", "http://gravatar.com"}
             %hr
             %a.choose-btn.btn.btn-small.js-choose-user-avatar-button
-              %i.icon-paper-clip
+              %i.fa.fa-paperclip
               %span Choose File ...
             &nbsp;
             %span.file_name.js-avatar-filename File name...
diff --git a/app/views/projects/_dropdown.html.haml b/app/views/projects/_dropdown.html.haml
index e283bd2bf1d..6ff46970336 100644
--- a/app/views/projects/_dropdown.html.haml
+++ b/app/views/projects/_dropdown.html.haml
@@ -1,7 +1,7 @@
 - if current_user
   .dropdown.pull-right
     %a.dropdown-toggle.btn.btn-new{href: '#', "data-toggle" => "dropdown"}
-      %i.icon-reorder
+      %i.fa.fa-bars
     %ul.dropdown-menu
       - if @project.issues_enabled && can?(current_user, :write_issue, @project)
         %li
@@ -23,11 +23,11 @@
         %li.divider
         %li
           = link_to new_project_branch_path(@project) do
-            %i.icon-code-fork
+            %i.fa.fa-code-fork
             Git branch
         %li
           = link_to new_project_tag_path(@project) do
-            %i.icon-tag
+            %i.fa.fa-tag
             Git tag
 
 
diff --git a/app/views/projects/_issuable_form.html.haml b/app/views/projects/_issuable_form.html.haml
index 0ae1fb3cabe..19aced75836 100644
--- a/app/views/projects/_issuable_form.html.haml
+++ b/app/views/projects/_issuable_form.html.haml
@@ -29,7 +29,7 @@
 .form-group
   .issue-assignee
     = f.label :assignee_id, class: 'control-label' do
-      %i.icon-user
+      %i.fa.fa-user
       Assign to
     .col-sm-10
       = project_users_select_tag("#{issuable.class.model_name.param_key}[assignee_id]",
@@ -40,7 +40,7 @@
 .form-group
   .issue-milestone
     = f.label :milestone_id, class: 'control-label' do
-      %i.icon-time
+      %i.fa.fa-clock-o
       Milestone
     .col-sm-10= f.select(:milestone_id, milestone_options(issuable),
         { include_blank: 'Select milestone' }, { class: 'select2' })
diff --git a/app/views/projects/_settings_nav.html.haml b/app/views/projects/_settings_nav.html.haml
index 9b73f06a5be..2008f8c558d 100644
--- a/app/views/projects/_settings_nav.html.haml
+++ b/app/views/projects/_settings_nav.html.haml
@@ -1,25 +1,25 @@
 %ul.nav.nav-pills.nav-stacked.nav-stacked-menu.append-bottom-20.project-settings-nav
   = nav_link(path: 'projects#edit') do
     = link_to edit_project_path(@project), class: "stat-tab tab " do
-      %i.icon-edit
+      %i.fa.fa-pencil-square-o
       Project
   = nav_link(controller: [:team_members, :teams]) do
     = link_to project_team_index_path(@project), class: "team-tab tab" do
-      %i.icon-group
+      %i.fa.fa-users
       Members
   = nav_link(controller: :deploy_keys) do
     = link_to project_deploy_keys_path(@project) do
-      %i.icon-key
+      %i.fa.fa-key
       Deploy Keys
   = nav_link(controller: :hooks) do
     = link_to project_hooks_path(@project) do
-      %i.icon-link
+      %i.fa.fa-link
       Web Hooks
   = nav_link(controller: :services) do
     = link_to project_services_path(@project) do
-      %i.icon-cogs
+      %i.fa.fa-cogs
       Services
   = nav_link(controller: :protected_branches) do
     = link_to project_protected_branches_path(@project) do
-      %i.icon-lock
+      %i.fa.fa-lock
       Protected branches
diff --git a/app/views/projects/blame/show.html.haml b/app/views/projects/blame/show.html.haml
index aca6fde2886..e5cde488c3c 100644
--- a/app/views/projects/blame/show.html.haml
+++ b/app/views/projects/blame/show.html.haml
@@ -3,7 +3,7 @@
 #tree-holder.tree-holder
   .file-holder
     .file-title
-      %i.icon-file
+      %i.fa.fa-file
       %span.file_name
         = @path
         %small= number_to_human_size @blob.size
diff --git a/app/views/projects/blob/_blob.html.haml b/app/views/projects/blob/_blob.html.haml
index be785dacedb..492dff437b5 100644
--- a/app/views/projects/blob/_blob.html.haml
+++ b/app/views/projects/blob/_blob.html.haml
@@ -1,6 +1,6 @@
 %ul.breadcrumb.repo-breadcrumb
   %li
-    %i.icon-angle-right
+    %i.fa.fa-angle-right
     = link_to project_tree_path(@project, @ref) do
       = @project.path
   - tree_breadcrumbs(@tree, 6) do |title, path|
@@ -22,7 +22,7 @@
 %div#tree-content-holder.tree-content-holder
   %article.file-holder
     .file-title.clearfix
-      %i.icon-file
+      %i.fa.fa-file
       %span.file_name
         = blob.name
         %small= number_to_human_size blob.size
diff --git a/app/views/projects/blob/_download.html.haml b/app/views/projects/blob/_download.html.haml
index cdbfee7cc68..74a45cd8ae3 100644
--- a/app/views/projects/blob/_download.html.haml
+++ b/app/views/projects/blob/_download.html.haml
@@ -2,6 +2,6 @@
   .center
     = link_to project_raw_path(@project, @id) do
       %h1.light
-        %i.icon-download-alt
+        %i.fa.fa-arrow-circle-o-down-alt
       %h4
         Download (#{number_to_human_size blob.size})
diff --git a/app/views/projects/branches/_branch.html.haml b/app/views/projects/branches/_branch.html.haml
index 08a537e0541..8e58f3c247a 100644
--- a/app/views/projects/branches/_branch.html.haml
+++ b/app/views/projects/branches/_branch.html.haml
@@ -7,19 +7,19 @@
         %span.label.label-info default
       - if @project.protected_branch? branch.name
         %span.label.label-success
-          %i.icon-lock
+          %i.fa.fa-lock
           protected
     .pull-right
       - if can?(current_user, :download_code, @project)
         = render 'projects/repositories/download_archive', ref: branch.name, btn_class: 'btn-grouped btn-group-small'
       - if branch.name != @repository.root_ref
         = link_to project_compare_index_path(@project, from: @repository.root_ref, to: branch.name), class: 'btn btn-grouped btn-small', method: :post, title: "Compare" do
-          %i.icon-copy
+          %i.fa.fa-files-o
           Compare
 
       - if can_remove_branch?(@project, branch.name)
         = link_to project_branch_path(@project, branch.name), class: 'btn btn-grouped btn-small btn-remove remove-row', method: :delete, data: { confirm: 'Removed branch cannot be restored. Are you sure?'}, remote: true do
-          %i.icon-trash
+          %i.fa.fa-trash-o
 
   - if commit
     %ul.list-unstyled
diff --git a/app/views/projects/branches/index.html.haml b/app/views/projects/branches/index.html.haml
index 8bc4a8f7e98..9f2b1b59292 100644
--- a/app/views/projects/branches/index.html.haml
+++ b/app/views/projects/branches/index.html.haml
@@ -4,7 +4,7 @@
   .pull-right
     - if can? current_user, :push_code, @project
       = link_to new_project_branch_path(@project), class: 'btn btn-create' do
-        %i.icon-add-sign
+        %i.fa.fa-add-sign
         New branch
       &nbsp;
     .dropdown.inline
diff --git a/app/views/projects/branches/new.html.haml b/app/views/projects/branches/new.html.haml
index 3f202f7ea6b..f5a530d95f2 100644
--- a/app/views/projects/branches/new.html.haml
+++ b/app/views/projects/branches/new.html.haml
@@ -3,7 +3,7 @@
     %button{ type: "button", class: "close", "data-dismiss" => "alert"} &times;
     = @error
 %h3.page-title
-  %i.icon-code-fork
+  %i.fa.fa-code-fork
   New branch
 = form_tag project_branches_path, method: :post, class: "form-horizontal" do
   .form-group
diff --git a/app/views/projects/commit/_commit_box.html.haml b/app/views/projects/commit/_commit_box.html.haml
index 2bc9048b2ad..80ead5b96a8 100644
--- a/app/views/projects/commit/_commit_box.html.haml
+++ b/app/views/projects/commit/_commit_box.html.haml
@@ -2,11 +2,11 @@
   %div
     - if @notes_count > 0
       %span.btn.disabled.btn-grouped
-        %i.icon-comment
+        %i.fa.fa-comment
         = @notes_count
     .pull-left.btn-group
       %a.btn.btn-grouped.dropdown-toggle{ data: {toggle: :dropdown} }
-        %i.icon-download-alt
+        %i.fa.fa-arrow-circle-o-down-alt
         Download as
         %span.caret
       %ul.dropdown-menu
diff --git a/app/views/projects/commits/_commit.html.haml b/app/views/projects/commits/_commit.html.haml
index 8e73663939f..68852ba973f 100644
--- a/app/views/projects/commits/_commit.html.haml
+++ b/app/views/projects/commits/_commit.html.haml
@@ -18,7 +18,7 @@
 
       - if note_count > 0
         %span.label.label-gray
-          %i.icon-comment= note_count
+          %i.fa.fa-comment= note_count
 
   - if commit.description?
     .commit-row-description.js-toggle-content
diff --git a/app/views/projects/commits/_commits.html.haml b/app/views/projects/commits/_commits.html.haml
index 77f795f23f2..d57659065a8 100644
--- a/app/views/projects/commits/_commits.html.haml
+++ b/app/views/projects/commits/_commits.html.haml
@@ -2,7 +2,7 @@
   .row.commits-row
     .col-md-2
       %h4
-        %i.icon-calendar
+        %i.fa.fa-calendar
         %span= day.stamp("28 Aug, 2010")
       %p= pluralize(commits.count, 'commit')
     .col-md-10
diff --git a/app/views/projects/commits/show.html.haml b/app/views/projects/commits/show.html.haml
index 482a845558f..5717c24c274 100644
--- a/app/views/projects/commits/show.html.haml
+++ b/app/views/projects/commits/show.html.haml
@@ -6,7 +6,7 @@
 - if current_user && current_user.private_token
   .commits-feed-holder.hidden-xs.hidden-sm
     = link_to project_commits_path(@project, @ref, {format: :atom, private_token: current_user.private_token}), title: "Feed", class: 'btn' do
-      %i.icon-rss
+      %i.fa.fa-rss
       Commits feed
 
 %ul.breadcrumb.repo-breadcrumb
diff --git a/app/views/projects/deploy_keys/_deploy_key.html.haml b/app/views/projects/deploy_keys/_deploy_key.html.haml
index 2b4f36fb4b8..a0345dbd9c3 100644
--- a/app/views/projects/deploy_keys/_deploy_key.html.haml
+++ b/app/views/projects/deploy_keys/_deploy_key.html.haml
@@ -2,19 +2,19 @@
   .pull-right
     - if @available_keys.include?(deploy_key)
       = link_to enable_project_deploy_key_path(@project, deploy_key), class: 'btn btn-small', method: :put do
-        %i.icon-plus
+        %i.fa.fa-plus
         Enable
     - else
       - if deploy_key.projects.count > 1
         = link_to disable_project_deploy_key_path(@project, deploy_key), class: 'btn btn-small', method: :put do
-          %i.icon-off
+          %i.fa.fa-power-off
           Disable
       - else
         = link_to 'Remove', project_deploy_key_path(@project, deploy_key), data: { confirm: 'You are going to remove deploy key. Are you sure?'}, method: :delete, class: "btn btn-remove delete-key btn-small pull-right"
 
 
   = link_to project_deploy_key_path(deploy_key.projects.include?(@project) ? @project : deploy_key.projects.first, deploy_key) do
-    %i.icon-key
+    %i.fa.fa-key
     %strong= deploy_key.title
 
   %p.light.prepend-top-10
diff --git a/app/views/projects/deploy_keys/index.html.haml b/app/views/projects/deploy_keys/index.html.haml
index f50aeba337a..6f475e0b395 100644
--- a/app/views/projects/deploy_keys/index.html.haml
+++ b/app/views/projects/deploy_keys/index.html.haml
@@ -2,7 +2,7 @@
   Deploy keys allow read-only access to the repository
 
   = link_to new_project_deploy_key_path(@project), class: "btn btn-new pull-right", title: "New Deploy Key" do
-    %i.icon-plus
+    %i.fa.fa-plus
     New Deploy Key
 
 %p.light
diff --git a/app/views/projects/diffs/_file.html.haml b/app/views/projects/diffs/_file.html.haml
index 751df6a02e9..c415ae2ddc8 100644
--- a/app/views/projects/diffs/_file.html.haml
+++ b/app/views/projects/diffs/_file.html.haml
@@ -22,7 +22,7 @@
               Wrap text
           &nbsp;
           = link_to '#', class: 'js-toggle-diff-comments btn btn-small' do
-            %i.icon-chevron-down
+            %i.fa.fa-chevron-down
             Diff comments
           &nbsp;
 
diff --git a/app/views/projects/diffs/_stats.html.haml b/app/views/projects/diffs/_stats.html.haml
index 8ef7cc6e086..20e51d18da5 100644
--- a/app/views/projects/diffs/_stats.html.haml
+++ b/app/views/projects/diffs/_stats.html.haml
@@ -11,7 +11,7 @@
     &nbsp;
     = link_to '#', class: 'btn btn-small js-toggle-button' do
       Show diff stats
-      %i.icon-chevron-down
+      %i.fa.fa-chevron-down
   .file-stats.js-toggle-content.hide
     %ul.bordered-list
       - diffs.each_with_index do |diff, i|
@@ -19,23 +19,23 @@
           - if diff.deleted_file
             %span.deleted-file
               %a{href: "#diff-#{i}"}
-                %i.icon-minus
+                %i.fa.fa-minus
                 = diff.old_path
           - elsif diff.renamed_file
             %span.renamed-file
               %a{href: "#diff-#{i}"}
-                %i.icon-minus
+                %i.fa.fa-minus
                 = diff.old_path
                 \->
                 = diff.new_path
           - elsif diff.new_file
             %span.new-file
               %a{href: "#diff-#{i}"}
-                %i.icon-plus
+                %i.fa.fa-plus
                 = diff.new_path
           - else
             %span.edit-file
               %a{href: "#diff-#{i}"}
-                %i.icon-adjust
+                %i.fa.fa-adjust
                 = diff.new_path
 
diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml
index d9acb685517..5ee5641b069 100644
--- a/app/views/projects/edit.html.haml
+++ b/app/views/projects/edit.html.haml
@@ -89,13 +89,13 @@
     .danger-settings.js-toggle-container
       .centered-light-block
         %h3
-          %i.icon-warning-sign
+          %i.fa.fa-exclamation-triangle
           Dangerous settings
 
         %p Project settings below may result in data loss!
         = link_to '#', class: 'btn js-toggle-button' do
           Show them to me
-          %i.icon-chevron-down
+          %i.fa.fa-chevron-down
 
       .js-toggle-content.hide
         - if can? current_user, :archive_project, @project
@@ -185,6 +185,6 @@
 .save-project-loader.hide
   .center
     %h2
-      %i.icon-spinner.icon-spin
+      %i.fa.fa-spinner.fa-spin
       Saving project.
     %p Please wait a moment, this page will automatically refresh when ready.
diff --git a/app/views/projects/edit_tree/show.html.haml b/app/views/projects/edit_tree/show.html.haml
index 62798b51d82..5985d1fcc84 100644
--- a/app/views/projects/edit_tree/show.html.haml
+++ b/app/views/projects/edit_tree/show.html.haml
@@ -8,7 +8,7 @@
   = form_tag(project_edit_tree_path(@project, @id), method: :put, class: "form-horizontal") do
     .file-holder.file
       .file-title
-        %i.icon-file
+        %i.fa.fa-file
         %span.file_name
           %span.monospace.light #{@ref}:
           = @path
@@ -20,7 +20,7 @@
         .js-edit-mode-pane#preview.hide
           .center
             %h2
-              %i.icon-spinner.icon-spin
+              %i.fa.fa-spinner.fa-spin
 
     .form-group.commit_message-group
       = label_tag 'commit_message', class: "control-label" do
diff --git a/app/views/projects/fork.html.haml b/app/views/projects/fork.html.haml
index bdd75de447a..d8f5c7b98d6 100644
--- a/app/views/projects/fork.html.haml
+++ b/app/views/projects/fork.html.haml
@@ -1,6 +1,6 @@
 .alert.alert-danger.alert-block
   %h4
-    %i.icon-code-fork
+    %i.fa.fa-code-fork
     Fork Error!
   %p
     You tried to fork
@@ -15,5 +15,5 @@
 
   %p
     = link_to fork_project_path(@project), title: "Fork", class: "btn", method: "POST" do
-      %i.icon-code-fork
+      %i.fa.fa-code-fork
       Try to Fork again
diff --git a/app/views/projects/graphs/show.html.haml b/app/views/projects/graphs/show.html.haml
index e0a9f62752a..e3d5094ddc5 100644
--- a/app/views/projects/graphs/show.html.haml
+++ b/app/views/projects/graphs/show.html.haml
@@ -2,7 +2,7 @@
 .loading-graph
   .center
     %h3.page-title
-      %i.icon-spinner.icon-spin
+      %i.fa.fa-spinner.fa-spin
       Building repository graph.
     %p.slead Please wait a moment, this page will automatically refresh when ready.
 
diff --git a/app/views/projects/import.html.haml b/app/views/projects/import.html.haml
index 2b907748486..1f7fd26c646 100644
--- a/app/views/projects/import.html.haml
+++ b/app/views/projects/import.html.haml
@@ -2,7 +2,7 @@
   .save-project-loader
     .center
       %h2
-        %i.icon-spinner.icon-spin
+        %i.fa.fa-spinner.fa-spin
         Import in progress.
       %p.monospace git clone --bare #{hidden_pass_url(@project.import_url)}
       %p Please wait while we import the repository for you. Refresh at will.
diff --git a/app/views/projects/issues/_head.html.haml b/app/views/projects/issues/_head.html.haml
index 82cde14e05d..1d2f3ed8118 100644
--- a/app/views/projects/issues/_head.html.haml
+++ b/app/views/projects/issues/_head.html.haml
@@ -10,18 +10,18 @@
   - if current_controller?(:milestones)
     %li.pull-right
       %button.btn.btn-default.sidebar-expand-button
-        %i.icon.icon-list
+        %i.icon.fa.fa-list
 
   - if current_controller?(:issues)
     - if current_user
       %li
         = link_to project_issues_path(@project, :atom, { private_token: current_user.private_token }) do
-          %i.icon-rss
+          %i.fa.fa-rss
 
     %li.pull-right
       .pull-right
         %button.btn.btn-default.sidebar-expand-button
-          %i.icon.icon-list
+          %i.icon.fa.fa-list
         = form_tag project_issues_path(@project), method: :get, id: "issue_search_form", class: 'pull-left issue-search-form'  do
           .append-right-10.hidden-xs.hidden-sm
             = search_field_tag :issue_search, params[:issue_search], { placeholder: 'Filter by title or description', class: 'form-control issue_search search-text-input input-mn-300' }
@@ -32,5 +32,5 @@
             = hidden_field_tag :label_id, params['label_id']
         - if can? current_user, :write_issue, @project
           = link_to new_project_issue_path(@project, issue: { assignee_id: params[:assignee_id], milestone_id: params[:milestone_id]}), class: "btn btn-new pull-left", title: "New Issue", id: "new_issue_link" do
-            %i.icon-plus
+            %i.fa.fa-plus
             New Issue
diff --git a/app/views/projects/issues/_issue.html.haml b/app/views/projects/issues/_issue.html.haml
index 1dfcd726068..e089b5fa1cf 100644
--- a/app/views/projects/issues/_issue.html.haml
+++ b/app/views/projects/issues/_issue.html.haml
@@ -20,11 +20,11 @@
       = render 'votes/votes_inline', votable: issue
     - if issue.notes.any?
       %span
-        %i.icon-comments
+        %i.fa.fa-comments
         = issue.notes.count
     - if issue.milestone
       %span
-        %i.icon-time
+        %i.fa.fa-clock-o
         = issue.milestone.title
     .pull-right
       %small updated #{time_ago_with_tooltip(issue.updated_at, 'bottom', 'issue_update_ago')}
@@ -41,7 +41,7 @@
       - else
         = link_to 'Close', project_issue_path(issue.project, issue, issue: {state_event: :close }, status_only: true), method: :put, class: "btn btn-small btn-grouped close_issue btn-close", remote: true
       = link_to edit_project_issue_path(issue.project, issue), class: "btn btn-small edit-issue-link btn-grouped" do
-        %i.icon-edit
+        %i.fa.fa-pencil-square-o
         Edit
 
 
diff --git a/app/views/projects/issues/_issues.html.haml b/app/views/projects/issues/_issues.html.haml
index 1d0dcd7f074..0bff8bdbead 100644
--- a/app/views/projects/issues/_issues.html.haml
+++ b/app/views/projects/issues/_issues.html.haml
@@ -4,7 +4,7 @@
   .issues-filters
     .dropdown.inline
       %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
-        %i.icon-user
+        %i.fa.fa-user
         %span.light assignee:
         - if @assignee.present?
           %strong= @assignee.name
@@ -27,7 +27,7 @@
 
     .dropdown.inline.prepend-left-10
       %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
-        %i.icon-time
+        %i.fa.fa-clock-o
         %span.light milestone:
         - if @milestone.present?
           %strong= @milestone.title
diff --git a/app/views/projects/issues/index.html.haml b/app/views/projects/issues/index.html.haml
index 5de77b8bf32..4ec362b3063 100644
--- a/app/views/projects/issues/index.html.haml
+++ b/app/views/projects/issues/index.html.haml
@@ -1,7 +1,7 @@
 = render "head"
 .row
   .fixed.fixed.sidebar-expand-button.hidden-lg.hidden-md.hidden-xs
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
   .col-md-3.responsive-side
     = render 'shared/project_filter', project_entities_path: project_issues_path(@project),
              labels: true, redirect: 'issues', entity: 'issue'
diff --git a/app/views/projects/issues/show.html.haml b/app/views/projects/issues/show.html.haml
index 41532fea741..4c1ea098d98 100644
--- a/app/views/projects/issues/show.html.haml
+++ b/app/views/projects/issues/show.html.haml
@@ -4,7 +4,7 @@
   %span.pull-right.issue-btn-group
     - if can?(current_user, :write_issue, @project)
       = link_to new_project_issue_path(@project), class: "btn btn-grouped", title: "New Issue", id: "new_issue_link" do
-        %i.icon-plus
+        %i.fa.fa-plus
         New Issue
     - if can?(current_user, :modify_issue, @issue)
       - if @issue.closed?
@@ -13,7 +13,7 @@
         = link_to 'Close', project_issue_path(@project, @issue, issue: {state_event: :close }, status_only: true), method: :put, class: "btn btn-grouped btn-close", title: "Close Issue"
 
       = link_to edit_project_issue_path(@project, @issue), class: "btn btn-grouped" do
-        %i.icon-edit
+        %i.fa.fa-pencil-square-o
         Edit
 
 .clearfix
diff --git a/app/views/projects/merge_requests/_merge_request.html.haml b/app/views/projects/merge_requests/_merge_request.html.haml
index 2649fb55c30..647e8873e9e 100644
--- a/app/views/projects/merge_requests/_merge_request.html.haml
+++ b/app/views/projects/merge_requests/_merge_request.html.haml
@@ -4,7 +4,7 @@
     = link_to_gfm truncate(merge_request.title, length: 80), project_merge_request_path(merge_request.target_project, merge_request), class: "row_title"
     - if merge_request.merged?
       %small.pull-right
-        %i.icon-ok
+        %i.fa.fa-check
         MERGED
     - else
       %span.pull-right
@@ -12,7 +12,7 @@
           %span.light
             #{merge_request.source_project_namespace}:
         = truncate merge_request.source_branch, length: 25
-        %i.icon-angle-right.light
+        %i.fa.fa-angle-right.light
         = merge_request.target_branch
   .merge-request-info
     - if merge_request.author
@@ -21,11 +21,11 @@
       = render 'votes/votes_inline', votable: merge_request
     - if merge_request.notes.any?
       %span
-        %i.icon-comments
+        %i.fa.fa-comments
         = merge_request.mr_and_commit_notes.count
     - if merge_request.milestone_id?
       %span
-        %i.icon-time
+        %i.fa.fa-clock-o
         = merge_request.milestone.title
 
 
diff --git a/app/views/projects/merge_requests/_new_submit.html.haml b/app/views/projects/merge_requests/_new_submit.html.haml
index 9c51c40d32c..d4666eacd7e 100644
--- a/app/views/projects/merge_requests/_new_submit.html.haml
+++ b/app/views/projects/merge_requests/_new_submit.html.haml
@@ -30,7 +30,7 @@
       .form-group
         .issue-assignee
           = f.label :assignee_id do
-            %i.icon-user
+            %i.fa.fa-user
             Assign to
           %div
             = project_users_select_tag('merge_request[assignee_id]', placeholder: 'Select a user', class: 'custom-form-control', selected: @merge_request.assignee_id, project_id: @merge_request.target_project_id)
@@ -39,12 +39,12 @@
       .form-group
         .issue-milestone
           = f.label :milestone_id do
-            %i.icon-time
+            %i.fa.fa-clock-o
             Milestone
           %div= f.select(:milestone_id, milestone_options(@merge_request), { include_blank: "Select milestone" }, {class: 'select2'})
       .form-group
         = f.label :label_ids do
-          %i.icon-tag
+          %i.fa.fa-tag
           Labels
         %div
           = f.collection_select :label_ids, @merge_request.target_project.labels.all, :id, :name, { selected: @merge_request.label_ids }, multiple: true, class: 'select2'
diff --git a/app/views/projects/merge_requests/_show.html.haml b/app/views/projects/merge_requests/_show.html.haml
index 4323c8f65a4..947e8f58ae5 100644
--- a/app/views/projects/merge_requests/_show.html.haml
+++ b/app/views/projects/merge_requests/_show.html.haml
@@ -10,12 +10,12 @@
     %ul.nav.nav-pills.merge-request-tabs
       %li.notes-tab{data: {action: 'notes'}}
         = link_to project_merge_request_path(@project, @merge_request) do
-          %i.icon-comment
+          %i.fa.fa-comment
           Discussion
           %span.badge= @merge_request.mr_and_commit_notes.count
       %li.diffs-tab{data: {action: 'diffs'}}
         = link_to diffs_project_merge_request_path(@project, @merge_request) do
-          %i.icon-list-alt
+          %i.fa.fa-list-alt
           Changes
           %span.badge= @merge_request.diffs.size
 
diff --git a/app/views/projects/merge_requests/index.html.haml b/app/views/projects/merge_requests/index.html.haml
index 0954fa8fcea..be638d7cac1 100644
--- a/app/views/projects/merge_requests/index.html.haml
+++ b/app/views/projects/merge_requests/index.html.haml
@@ -1,13 +1,13 @@
 - if can? current_user, :write_merge_request, @project
   = link_to new_project_merge_request_path(@project), class: "pull-right btn btn-new", title: "New Merge Request" do
-    %i.icon-plus
+    %i.fa.fa-plus
     New Merge Request
 %h3.page-title
   Merge Requests
 %hr
 .row
   .fixed.sidebar-expand-button.hidden-lg.hidden-md
-    %i.icon-list.icon-2x
+    %i.fa.fa-list.fa-2x
   .col-md-3.responsive-side
     = render 'shared/project_filter', project_entities_path: project_merge_requests_path(@project),
              labels: true, redirect: 'merge_requests', entity: 'merge_request'
@@ -15,7 +15,7 @@
     .mr-filters.append-bottom-10
       .dropdown.inline
         %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
-          %i.icon-user
+          %i.fa.fa-user
           %span.light assignee:
           - if @assignee.present?
             %strong= @assignee.name
@@ -38,7 +38,7 @@
 
       .dropdown.inline.prepend-left-10
         %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
-          %i.icon-time
+          %i.fa.fa-clock-o
           %span.light milestone:
           - if @milestone.present?
             %strong= @milestone.title
diff --git a/app/views/projects/merge_requests/show/_commits.html.haml b/app/views/projects/merge_requests/show/_commits.html.haml
index ede709ea1df..a6587403871 100644
--- a/app/views/projects/merge_requests/show/_commits.html.haml
+++ b/app/views/projects/merge_requests/show/_commits.html.haml
@@ -1,7 +1,7 @@
 - if @commits.present?
   .panel.panel-default
     .panel-heading
-      %i.icon-list
+      %i.fa.fa-list
       Commits (#{@commits.count})
     .commits.mr-commits
       - if @commits.count > 8
diff --git a/app/views/projects/merge_requests/show/_mr_accept.html.haml b/app/views/projects/merge_requests/show/_mr_accept.html.haml
index 88cc8e17fa6..1ab5028c448 100644
--- a/app/views/projects/merge_requests/show/_mr_accept.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_accept.html.haml
@@ -63,7 +63,7 @@
   .automerge_widget.unchecked
     %p
       %strong
-        %i.icon-spinner.icon-spin
+        %i.fa.fa-spinner.fa-spin
         Checking for ability to automatically merge…
 
   .automerge_widget.already_cannot_be_merged.hide
@@ -72,6 +72,6 @@
 
   .merge-in-progress.hide
     %p
-      %i.icon-spinner.icon-spin
+      %i.fa.fa-spinner.fa-spin
       &nbsp;
       Merge is in progress. Please wait. Page will be automatically reloaded. &nbsp;
diff --git a/app/views/projects/merge_requests/show/_mr_ci.html.haml b/app/views/projects/merge_requests/show/_mr_ci.html.haml
index b77eeac6123..dc64c096edc 100644
--- a/app/views/projects/merge_requests/show/_mr_ci.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_ci.html.haml
@@ -1,29 +1,29 @@
 - if @commits.any?
   .ci_widget.ci-success{style: "display:none"}
-    %i.icon-ok
+    %i.fa.fa-check
     %span CI build passed
     for #{@merge_request.last_commit_short_sha}.
     = link_to "Build page", ci_build_details_path(@merge_request)
 
 
   .ci_widget.ci-failed{style: "display:none"}
-    %i.icon-remove
+    %i.fa.fa-times
     %span CI build failed
     for #{@merge_request.last_commit_short_sha}.
     = link_to "Build page", ci_build_details_path(@merge_request)
 
   - [:running, :pending].each do |status|
     .ci_widget{class: "ci-#{status}", style: "display:none"}
-      %i.icon-time
+      %i.fa.fa-clock-o
       %span CI build #{status}
       for #{@merge_request.last_commit_short_sha}.
       = link_to "Build page", ci_build_details_path(@merge_request)
 
   .ci_widget
     %strong
-      %i.icon-spinner
+      %i.fa.fa-spinner
       Checking for CI status for #{@merge_request.last_commit_short_sha}
 
   .ci_widget.ci-error{style: "display:none"}
-    %i.icon-remove
+    %i.fa.fa-times
     %span Cannot connect to the CI server. Please check your settings and try again.
diff --git a/app/views/projects/merge_requests/show/_mr_title.html.haml b/app/views/projects/merge_requests/show/_mr_title.html.haml
index 1c319b83e2b..276c980966a 100644
--- a/app/views/projects/merge_requests/show/_mr_title.html.haml
+++ b/app/views/projects/merge_requests/show/_mr_title.html.haml
@@ -6,7 +6,7 @@
       - if @merge_request.open?
         .btn-group.pull-left
           %a.btn.btn-grouped.dropdown-toggle{ data: {toggle: :dropdown} }
-            %i.icon-download-alt
+            %i.fa.fa-arrow-circle-o-down-alt
             Download as
             %span.caret
           %ul.dropdown-menu
@@ -16,7 +16,7 @@
         = link_to 'Close', project_merge_request_path(@project, @merge_request, merge_request: { state_event: :close }), method: :put, class: "btn btn-grouped btn-close", title: "Close merge request"
 
         = link_to edit_project_merge_request_path(@project, @merge_request), class: "btn btn-grouped", id:"edit_merge_request" do
-          %i.icon-edit
+          %i.fa.fa-pencil-square-o
           Edit
       - if @merge_request.closed?
         = link_to 'Reopen', project_merge_request_path(@project, @merge_request, merge_request: {state_event: :reopen }), method: :put, class: "btn btn-grouped btn-reopen reopen-mr-link", title: "Close merge request"
diff --git a/app/views/projects/merge_requests/show/_remove_source_branch.html.haml b/app/views/projects/merge_requests/show/_remove_source_branch.html.haml
index 491360af1bb..4fe5935bcf3 100644
--- a/app/views/projects/merge_requests/show/_remove_source_branch.html.haml
+++ b/app/views/projects/merge_requests/show/_remove_source_branch.html.haml
@@ -5,13 +5,13 @@
   .remove_source_branch_widget
     %p Changes merged into #{@merge_request.target_branch}. You can remove source branch now
     = link_to project_branch_path(@merge_request.source_project, @source_branch), remote: true, method: :delete, class: "btn btn-primary btn-small remove_source_branch" do
-      %i.icon-remove
+      %i.fa.fa-times
       Remove Source Branch
 
   .remove_source_branch_widget.failed.hide
     Failed to remove source branch '#{@merge_request.source_branch}'
 
   .remove_source_branch_in_progress.hide
-    %i.icon-refresh.icon-spin
+    %i.fa.fa-refresh.fa-spin
     &nbsp;
     Removing source branch '#{@merge_request.source_branch}'. Please wait. Page will be automatically reloaded. &nbsp;
diff --git a/app/views/projects/merge_requests/show/_state_widget.html.haml b/app/views/projects/merge_requests/show/_state_widget.html.haml
index a5f8af89d1a..5db77ab2754 100644
--- a/app/views/projects/merge_requests/show/_state_widget.html.haml
+++ b/app/views/projects/merge_requests/show/_state_widget.html.haml
@@ -34,7 +34,7 @@
   - if !@closes_issues.empty? && @merge_request.open?
     .panel-footer
       %span
-        %i.icon-ok
+        %i.fa.fa-check
         Accepting this merge request will close #{@closes_issues.size == 1 ? 'issue' : 'issues'}
         = succeed '.' do
           != gfm(issues_sentence(@closes_issues))
diff --git a/app/views/projects/milestones/_milestone.html.haml b/app/views/projects/milestones/_milestone.html.haml
index 4018d132a55..1002b9513ff 100644
--- a/app/views/projects/milestones/_milestone.html.haml
+++ b/app/views/projects/milestones/_milestone.html.haml
@@ -2,7 +2,7 @@
   .pull-right
     - if can?(current_user, :admin_milestone, milestone.project) and milestone.active?
       = link_to edit_project_milestone_path(milestone.project, milestone), class: "btn btn-small edit-milestone-link btn-grouped" do
-        %i.icon-edit
+        %i.fa.fa-pencil-square-o
         Edit
       = link_to 'Close Milestone', project_milestone_path(@project, milestone, milestone: {state_event: :close }), method: :put, remote: true, class: "btn btn-small btn-close"
   %h4
diff --git a/app/views/projects/milestones/index.html.haml b/app/views/projects/milestones/index.html.haml
index f0e48a51777..03367b7cdbf 100644
--- a/app/views/projects/milestones/index.html.haml
+++ b/app/views/projects/milestones/index.html.haml
@@ -4,12 +4,12 @@
     Milestones
     - if can? current_user, :admin_milestone, @project
       = link_to new_project_milestone_path(@project), class: "pull-right btn btn-new", title: "New Milestone" do
-        %i.icon-plus
+        %i.fa.fa-plus
         New Milestone
 
   .row
     .fixed.sidebar-expand-button.hidden-lg.hidden-md.hidden-xs
-      %i.icon-list.icon-2x
+      %i.fa.fa-list.fa-2x
     .col-md-3.responsive-side
       %ul.nav.nav-pills.nav-stacked
         %li{class: ("active" if (params[:f] == "active" || !params[:f]))}
diff --git a/app/views/projects/milestones/show.html.haml b/app/views/projects/milestones/show.html.haml
index 1a495aa1c40..8263f7530a2 100644
--- a/app/views/projects/milestones/show.html.haml
+++ b/app/views/projects/milestones/show.html.haml
@@ -4,7 +4,7 @@
   .pull-right
     - if can?(current_user, :admin_milestone, @project)
       = link_to edit_project_milestone_path(@project, @milestone), class: "btn btn-grouped" do
-        %i.icon-edit
+        %i.fa.fa-pencil-square-o
         Edit
       - if @milestone.active?
         = link_to 'Close Milestone', project_milestone_path(@project, @milestone, milestone: {state_event: :close }), method: :put, class: "btn btn-close btn-grouped"
@@ -70,7 +70,7 @@
 
   .pull-right
     = link_to new_project_issue_path(@project, issue: { milestone_id: @milestone.id }), class: "btn btn-small btn-grouped", title: "New Issue" do
-      %i.icon-plus
+      %i.fa.fa-plus
       New Issue
     = link_to 'Browse Issues', project_issues_path(@milestone.project, milestone_id: @milestone.id), class: "btn btn-small edit-milestone-link btn-grouped"
 
diff --git a/app/views/projects/network/show.html.haml b/app/views/projects/network/show.html.haml
index 52a66f64d9f..4a21b84fb85 100644
--- a/app/views/projects/network/show.html.haml
+++ b/app/views/projects/network/show.html.haml
@@ -4,7 +4,7 @@
     = form_tag project_network_path(@project, @id), method: :get, class: 'form-inline network-form' do |f|
       = text_field_tag :extended_sha1, @options[:extended_sha1], placeholder: "Input an extended SHA1 syntax", class: 'search-input form-control input-mx-250 search-sha'
       = button_tag class: 'btn btn-success btn-search-sha' do
-        %i.icon-search
+        %i.fa.fa-search
       .inline.prepend-left-20
         .checkbox.light
           = label_tag :filter_ref do
diff --git a/app/views/projects/new.html.haml b/app/views/projects/new.html.haml
index 949b72356d7..6c986050c45 100644
--- a/app/views/projects/new.html.haml
+++ b/app/views/projects/new.html.haml
@@ -23,7 +23,7 @@
           .col-sm-2
           .col-sm-10
             = link_to "#", class: 'js-toggle-button' do
-              %i.icon-edit
+              %i.fa.fa-pencil-square-o
               %span Customize repository name?
         .js-toggle-content.hide
           .form-group
@@ -39,7 +39,7 @@
           .col-sm-2
           .col-sm-10
             = link_to "#", class: 'js-toggle-button' do
-              %i.icon-upload-alt
+              %i.fa.fa-upload
               %span Import existing repository?
         .js-toggle-content.hide
           .form-group.import-url-data
@@ -74,6 +74,6 @@
 .save-project-loader.hide
   .center
     %h2
-      %i.icon-spinner.icon-spin
+      %i.fa.fa-spinner.fa-spin
       Creating project &amp; repository.
     %p Please wait a moment, this page will automatically refresh when ready.
diff --git a/app/views/projects/new_tree/show.html.haml b/app/views/projects/new_tree/show.html.haml
index 24d77344fd5..bb317e4f137 100644
--- a/app/views/projects/new_tree/show.html.haml
+++ b/app/views/projects/new_tree/show.html.haml
@@ -30,7 +30,7 @@
 
     .file-holder
       .file-title
-        %i.icon-file
+        %i.fa.fa-file
       .file-content.code
         %pre#editor= params[:content]
 
diff --git a/app/views/projects/notes/_diff_notes_with_reply.html.haml b/app/views/projects/notes/_diff_notes_with_reply.html.haml
index a01056b7166..c731baf0a65 100644
--- a/app/views/projects/notes/_diff_notes_with_reply.html.haml
+++ b/app/views/projects/notes/_diff_notes_with_reply.html.haml
@@ -4,7 +4,7 @@
   %tr.notes_holder
     %td.notes_line{ colspan: 2 }
       %span.discussion-notes-count
-        %i.icon-comment
+        %i.fa.fa-comment
         = notes.count
     %td.notes_content
       %ul.notes{ rel: note.discussion_id }
diff --git a/app/views/projects/notes/_diff_notes_with_reply_parallel.html.haml b/app/views/projects/notes/_diff_notes_with_reply_parallel.html.haml
index 506d1fff008..789f3e19fd2 100644
--- a/app/views/projects/notes/_diff_notes_with_reply_parallel.html.haml
+++ b/app/views/projects/notes/_diff_notes_with_reply_parallel.html.haml
@@ -5,7 +5,7 @@
   - if note1
     %td.notes_line
       %span.btn.disabled
-        %i.icon-comment
+        %i.fa.fa-comment
         = notes1.count
     %td.notes_content.parallel
       %ul.notes{ rel: note1.discussion_id }
@@ -20,7 +20,7 @@
   - if note2
     %td.notes_line
       %span.btn.disabled
-        %i.icon-comment
+        %i.fa.fa-comment
         = notes2.count
     %td.notes_content.parallel
       %ul.notes{ rel: note2.discussion_id }
diff --git a/app/views/projects/notes/_form.html.haml b/app/views/projects/notes/_form.html.haml
index 52d6719a2ed..c68b3817e79 100644
--- a/app/views/projects/notes/_form.html.haml
+++ b/app/views/projects/notes/_form.html.haml
@@ -31,7 +31,7 @@
 
     .note-form-option
       %a.choose-btn.btn.js-choose-note-attachment-button
-        %i.icon-paper-clip
+        %i.fa.fa-paperclip
         %span Choose File ...
       &nbsp;
       %span.file_name.js-attachment-filename File name...
diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml
index 394fa88e045..814bf19970c 100644
--- a/app/views/projects/notes/_note.html.haml
+++ b/app/views/projects/notes/_note.html.haml
@@ -6,16 +6,16 @@
       .note-header
         .note-actions
           = link_to "##{dom_id(note)}", name: dom_id(note) do
-            %i.icon-link
+            %i.fa.fa-link
             Link here
           &nbsp;
           - if can?(current_user, :admin_note, note) && note.editable?
             = link_to "#", title: "Edit comment", class: "js-note-edit" do
-              %i.icon-edit
+              %i.fa.fa-pencil-square-o
               Edit
             &nbsp;
             = link_to project_note_path(@project, note), title: "Remove comment", method: :delete, data: { confirm: 'Are you sure you want to remove this comment?' }, remote: true, class: "danger js-note-delete" do
-              %i.icon-trash.cred
+              %i.fa.fa-trash-o.cred
               Remove
         = link_to_member(@project, note.author, avatar: false)
         %span.note-last-update
@@ -23,11 +23,11 @@
 
         - if note.upvote?
           %span.vote.upvote.label.label-success
-            %i.icon-thumbs-up
+            %i.fa.fa-thumbs-up
             \+1
         - if note.downvote?
           %span.vote.downvote.label.label-danger
-            %i.icon-thumbs-down
+            %i.fa.fa-thumbs-down
             \-1
 
 
@@ -45,7 +45,7 @@
 
               .note-form-option
                 %a.choose-btn.btn.js-choose-note-attachment-button
-                  %i.icon-paper-clip
+                  %i.fa.fa-paperclip
                   %span Choose File ...
                 &nbsp;
                 %span.file_name.js-attachment-filename File name...
@@ -61,9 +61,9 @@
               = image_tag note.attachment.secure_url, class: 'note-image-attach'
           .attachment.pull-right
             = link_to note.attachment.secure_url, target: "_blank" do
-              %i.icon-paper-clip
+              %i.fa.fa-paperclip
               = note.attachment_identifier
               = link_to delete_attachment_project_note_path(@project, note),
                 title: "Delete this attachment", method: :delete, remote: true, data: { confirm: 'Are you sure you want to remove the attachment?' }, class: "danger js-note-attachment-delete" do
-                %i.icon-trash.cred
+                %i.fa.fa-trash-o.cred
       .clear
diff --git a/app/views/projects/notes/discussions/_active.html.haml b/app/views/projects/notes/discussions/_active.html.haml
index eb416c5b5f0..52c06ec172d 100644
--- a/app/views/projects/notes/discussions/_active.html.haml
+++ b/app/views/projects/notes/discussions/_active.html.haml
@@ -3,7 +3,7 @@
   .discussion-header
     .discussion-actions
       = link_to "#", class: "js-toggle-button" do
-        %i.icon-chevron-up
+        %i.fa.fa-chevron-up
         Show/hide discussion
     %div
       = link_to_member(@project, note.author, avatar: false)
diff --git a/app/views/projects/notes/discussions/_commit.html.haml b/app/views/projects/notes/discussions/_commit.html.haml
index a928029a5e5..94f16a5f02e 100644
--- a/app/views/projects/notes/discussions/_commit.html.haml
+++ b/app/views/projects/notes/discussions/_commit.html.haml
@@ -3,7 +3,7 @@
   .discussion-header
     .discussion-actions
       = link_to "#", class: "js-toggle-button" do
-        %i.icon-chevron-up
+        %i.fa.fa-chevron-up
         Show/hide discussion
     %div
       = link_to_member(@project, note.author, avatar: false)
diff --git a/app/views/projects/notes/discussions/_outdated.html.haml b/app/views/projects/notes/discussions/_outdated.html.haml
index 4ae914c107b..52a1d342f55 100644
--- a/app/views/projects/notes/discussions/_outdated.html.haml
+++ b/app/views/projects/notes/discussions/_outdated.html.haml
@@ -3,7 +3,7 @@
   .discussion-header
     .discussion-actions
       = link_to "#", class: "js-toggle-button" do
-        %i.icon-chevron-down
+        %i.fa.fa-chevron-down
         Show/hide discussion
     %div
       = link_to_member(@project, note.author, avatar: false)
diff --git a/app/views/projects/protected_branches/index.html.haml b/app/views/projects/protected_branches/index.html.haml
index 3980a6c0863..49a3ef4c8a7 100644
--- a/app/views/projects/protected_branches/index.html.haml
+++ b/app/views/projects/protected_branches/index.html.haml
@@ -35,7 +35,7 @@
             - if @project.root_ref?(branch.name)
               %span.label.label-info default
             %span.label.label-success
-              %i.icon-lock
+              %i.fa.fa-lock
           .pull-right
             - if can? current_user, :admin_project, @project
               = link_to 'Unprotect', [@project, branch], data: { confirm: 'Branch will be writable for developers. Are you sure?' }, method: :delete, class: "btn btn-remove btn-small"
diff --git a/app/views/projects/repositories/_download_archive.html.haml b/app/views/projects/repositories/_download_archive.html.haml
index ed6f8ddd187..3b4f1a4298d 100644
--- a/app/views/projects/repositories/_download_archive.html.haml
+++ b/app/views/projects/repositories/_download_archive.html.haml
@@ -4,7 +4,7 @@
 - if split_button == true
   %span.btn-group{class: btn_class}
     = link_to archive_project_repository_path(@project, ref: ref, format: 'zip'), class: 'btn', rel: 'nofollow' do
-      %i.icon-download-alt
+      %i.fa.fa-arrow-circle-o-down-alt
       %span Download zip
     %a.btn.dropdown-toggle{ 'data-toggle' => 'dropdown' }
       %span.caret
@@ -13,25 +13,25 @@
     %ul.dropdown-menu{ role: 'menu' }
       %li
         = link_to archive_project_repository_path(@project, ref: ref, format: 'zip'), rel: 'nofollow' do
-          %i.icon-download-alt
+          %i.fa.fa-arrow-circle-o-down-alt
           %span Download zip
       %li
         = link_to archive_project_repository_path(@project, ref: ref, format: 'tar.gz'), rel: 'nofollow' do
-          %i.icon-download-alt
+          %i.fa.fa-arrow-circle-o-down-alt
           %span Download tar.gz
       %li
         = link_to archive_project_repository_path(@project, ref: ref, format: 'tar.bz2'), rel: 'nofollow' do
-          %i.icon-download-alt
+          %i.fa.fa-arrow-circle-o-down-alt
           %span Download tar.bz2
       %li
         = link_to archive_project_repository_path(@project, ref: ref, format: 'tar'), rel: 'nofollow' do
-          %i.icon-download-alt
+          %i.fa.fa-arrow-circle-o-down-alt
           %span Download tar
 - else
   %span.btn-group{class: btn_class}
     = link_to archive_project_repository_path(@project, ref: ref, format: 'zip'), class: 'btn', rel: 'nofollow' do
-      %i.icon-download-alt
+      %i.fa.fa-arrow-circle-o-down-alt
       %span zip
     = link_to archive_project_repository_path(@project, ref: ref, format: 'tar.gz'), class: 'btn', rel: 'nofollow' do
-      %i.icon-download-alt
+      %i.fa.fa-arrow-circle-o-down-alt
       %span tar.gz
diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml
index 19bef02b51f..09664ed51eb 100644
--- a/app/views/projects/show.html.haml
+++ b/app/views/projects/show.html.haml
@@ -29,13 +29,13 @@
           - if @project.archived?
             .alert.alert-warning
               %h4
-                %i.icon-warning-sign
+                %i.fa.fa-exclamation-triangle
                 Archived project!
               %p Repository is read-only
 
           - if @project.forked_from_project
             .alert.alert-success
-              %i.icon-code-fork.project-fork-icon
+              %i.fa.fa-code-fork.project-fork-icon
               Forked from:
               %br
               = link_to @project.forked_from_project.name_with_namespace, project_path(@project.forked_from_project)
@@ -73,7 +73,7 @@
       %article.readme-holder#README
         = link_to project_blob_path(@project, tree_join(@repository.root_ref, readme.name)) do
           %h4.readme-file-title
-            %i.icon-file
+            %i.fa.fa-file
             = readme.name
         .wiki
           = render_readme(readme)
diff --git a/app/views/projects/snippets/show.html.haml b/app/views/projects/snippets/show.html.haml
index e4fdbd868c3..ada0d30c496 100644
--- a/app/views/projects/snippets/show.html.haml
+++ b/app/views/projects/snippets/show.html.haml
@@ -22,7 +22,7 @@
 
 .file-holder
   .file-title
-    %i.icon-file
+    %i.fa.fa-file
     %span.file_name
       = @snippet.file_name
     .options
diff --git a/app/views/projects/tags/_tag.html.haml b/app/views/projects/tags/_tag.html.haml
index 9ed737b181f..bce105a033b 100644
--- a/app/views/projects/tags/_tag.html.haml
+++ b/app/views/projects/tags/_tag.html.haml
@@ -2,14 +2,14 @@
 %li
   %h4
     = link_to project_commits_path(@project, tag.name), class: "" do
-      %i.icon-tag
+      %i.fa.fa-tag
       = tag.name
     .pull-right
       - if can? current_user, :download_code, @project
         = render 'projects/repositories/download_archive', ref: tag.name, btn_class: 'btn-grouped btn-group-small'
       - if can?(current_user, :admin_project, @project)
         = link_to project_tag_path(@project, tag.name), class: 'btn btn-small btn-remove remove-row grouped', method: :delete, data: { confirm: 'Removed tag cannot be restored. Are you sure?'}, remote: true do
-          %i.icon-trash
+          %i.fa.fa-trash-o
 
   - if commit
     %ul.list-unstyled
diff --git a/app/views/projects/tags/index.html.haml b/app/views/projects/tags/index.html.haml
index 6cbf99239ee..ac74e3b6d36 100644
--- a/app/views/projects/tags/index.html.haml
+++ b/app/views/projects/tags/index.html.haml
@@ -5,7 +5,7 @@
   - if can? current_user, :push_code, @project
     .pull-right
       = link_to new_project_tag_path(@project), class: 'btn btn-create new-tag-btn' do
-        %i.icon-add-sign
+        %i.fa.fa-add-sign
         New tag
 
 %p.light
diff --git a/app/views/projects/tags/new.html.haml b/app/views/projects/tags/new.html.haml
index 45ee61caf68..aa08b397763 100644
--- a/app/views/projects/tags/new.html.haml
+++ b/app/views/projects/tags/new.html.haml
@@ -3,7 +3,7 @@
     %button{ type: "button", class: "close", "data-dismiss" => "alert"} &times;
     = @error
 %h3.page-title
-  %i.icon-code-fork
+  %i.fa.fa-code-fork
   New tag
 = form_tag project_tags_path, method: :post, class: "form-horizontal" do
   .form-group
diff --git a/app/views/projects/team_members/_group_members.html.haml b/app/views/projects/team_members/_group_members.html.haml
index 77ffab89f37..df3c914fdea 100644
--- a/app/views/projects/team_members/_group_members.html.haml
+++ b/app/views/projects/team_members/_group_members.html.haml
@@ -5,7 +5,7 @@
     group members (#{group_users_count})
     .pull-right
       = link_to members_group_path(@group), class: 'btn btn-small' do
-        %i.icon-edit
+        %i.fa.fa-pencil-square-o
   %ul.well-list
     - @group.group_members.order('access_level DESC').limit(20).each do |member|
       = render 'groups/group_members/group_member', member: member, show_controls: false
diff --git a/app/views/projects/team_members/_team_member.html.haml b/app/views/projects/team_members/_team_member.html.haml
index 79b78665417..5f29b58de32 100644
--- a/app/views/projects/team_members/_team_member.html.haml
+++ b/app/views/projects/team_members/_team_member.html.haml
@@ -8,7 +8,7 @@
             = f.select :access_level, options_for_select(ProjectMember.access_roles, member.access_level), {}, class: "medium project-access-select span2 trigger-submit"
           &nbsp;
         = link_to project_team_member_path(@project, user), data: { confirm: remove_from_project_team_message(@project, user)}, method: :delete, class: "btn-tiny btn btn-remove", title: 'Remove user from team' do
-          %i.icon-minus.icon-white
+          %i.fa.fa-minus.fa-inverse
   = image_tag avatar_icon(user.email, 32), class: "avatar s32"
   %p
     %strong= user.name
diff --git a/app/views/projects/tree/_readme.html.haml b/app/views/projects/tree/_readme.html.haml
index ec2701af0eb..f082d711865 100644
--- a/app/views/projects/tree/_readme.html.haml
+++ b/app/views/projects/tree/_readme.html.haml
@@ -1,7 +1,7 @@
 %article.readme-holder#README
   = link_to '#README' do
     %h4.readme-file-title
-      %i.icon-file
+      %i.fa.fa-file
       = readme.name
   .wiki
     = render_readme(readme)
diff --git a/app/views/projects/tree/_spinner.html.haml b/app/views/projects/tree/_spinner.html.haml
index 5a9e77b63df..b47ad0f41e4 100644
--- a/app/views/projects/tree/_spinner.html.haml
+++ b/app/views/projects/tree/_spinner.html.haml
@@ -1,3 +1,3 @@
 %span.log_loading.hide
-  %i.icon-spinner.icon-spin
+  %i.fa.fa-spinner.fa-spin
   Loading commit data...
diff --git a/app/views/projects/tree/_submodule_item.html.haml b/app/views/projects/tree/_submodule_item.html.haml
index 474604df654..a8ec9df2c8f 100644
--- a/app/views/projects/tree/_submodule_item.html.haml
+++ b/app/views/projects/tree/_submodule_item.html.haml
@@ -1,7 +1,7 @@
 - tree, commit = submodule_links(submodule_item)
 %tr{ class: "tree-item" }
   %td.tree-item-file-name
-    %i.icon-archive
+    %i.fa.fa-archive
     %span
       = link_to truncate(submodule_item.name, length: 40), tree
     @
diff --git a/app/views/projects/tree/_tree.html.haml b/app/views/projects/tree/_tree.html.haml
index 9fe990d0fbd..1159fcadffd 100644
--- a/app/views/projects/tree/_tree.html.haml
+++ b/app/views/projects/tree/_tree.html.haml
@@ -12,7 +12,7 @@
     %li
       = link_to project_new_tree_path(@project, @id), title: 'New file', id: 'new-file-link' do
         %small
-          %i.icon-plus
+          %i.fa.fa-plus
 
 %div#tree-content-holder.tree-content-holder
   %table#tree-slider{class: "table_#{@hex_path} tree-table" }
@@ -24,7 +24,7 @@
           .pull-left Last Commit
           .last-commit.hidden-sm.pull-left
             &nbsp;
-            %i.icon-angle-right
+            %i.fa.fa-angle-right
             &nbsp;
             %small.light
               = link_to @commit.short_id, project_commit_path(@project, @commit)
diff --git a/app/views/projects/wikis/_main_links.html.haml b/app/views/projects/wikis/_main_links.html.haml
index 68d70873231..30410bc95e0 100644
--- a/app/views/projects/wikis/_main_links.html.haml
+++ b/app/views/projects/wikis/_main_links.html.haml
@@ -4,5 +4,5 @@
       Page History
     - if can?(current_user, :write_wiki, @project)
       = link_to edit_project_wiki_path(@project, @page), class: "btn btn-grouped" do
-        %i.icon-edit
+        %i.fa.fa-pencil-square-o
         Edit
diff --git a/app/views/projects/wikis/_nav.html.haml b/app/views/projects/wikis/_nav.html.haml
index 0a7e51e974c..a2010f3794f 100644
--- a/app/views/projects/wikis/_nav.html.haml
+++ b/app/views/projects/wikis/_nav.html.haml
@@ -7,13 +7,13 @@
 
   = nav_link(path: 'wikis#git_access') do
     = link_to git_access_project_wikis_path(@project) do
-      %i.icon-download-alt
+      %i.fa.fa-arrow-circle-o-down-alt
       Git Access
 
   - if can?(current_user, :write_wiki, @project)
     .pull-right
       = link_to '#modal-new-wiki', class: "add-new-wiki btn btn-new", "data-toggle" => "modal" do
-        %i.icon-plus
+        %i.fa.fa-plus
         New Page
 
 = render 'projects/wikis/new'
diff --git a/app/views/search/_filter.html.haml b/app/views/search/_filter.html.haml
index 049aff0bc9b..eca69ce50b1 100644
--- a/app/views/search/_filter.html.haml
+++ b/app/views/search/_filter.html.haml
@@ -1,6 +1,6 @@
 .dropdown.inline
   %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
-    %i.icon-tags
+    %i.fa.fa-tags
     %span.light Group:
     - if @group.present?
       %strong= @group.name
@@ -18,7 +18,7 @@
 
 .dropdown.inline.prepend-left-10.project-filter
   %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
-    %i.icon-tags
+    %i.fa.fa-tags
     %span.light Project:
     - if @project.present?
       %strong= @project.name_with_namespace
diff --git a/app/views/search/_project_filter.html.haml b/app/views/search/_project_filter.html.haml
index 57a45c9acb6..c201b3d6c47 100644
--- a/app/views/search/_project_filter.html.haml
+++ b/app/views/search/_project_filter.html.haml
@@ -1,25 +1,25 @@
 %ul.nav.nav-pills.nav-stacked.search-filter
   %li{class: ("active" if @scope == 'blobs')}
     = link_to search_filter_path(scope: 'blobs') do
-      %i.icon-code
+      %i.fa.fa-code
       Code
       .pull-right
         = @search_results.blobs_count
   %li{class: ("active" if @scope == 'issues')}
     = link_to search_filter_path(scope: 'issues') do
-      %i.icon-exclamation-sign
+      %i.fa.fa-exclamation-circle
       Issues
       .pull-right
         = @search_results.issues_count
   %li{class: ("active" if @scope == 'merge_requests')}
     = link_to search_filter_path(scope: 'merge_requests') do
-      %i.icon-code-fork
+      %i.fa.fa-code-fork
       Merge requests
       .pull-right
         = @search_results.merge_requests_count
   %li{class: ("active" if @scope == 'notes')}
     = link_to search_filter_path(scope: 'notes') do
-      %i.icon-comments
+      %i.fa.fa-comments
       Comments
       .pull-right
         = @search_results.notes_count
diff --git a/app/views/search/_snippet_filter.html.haml b/app/views/search/_snippet_filter.html.haml
index 0d1984a0d78..95d23fa9f47 100644
--- a/app/views/search/_snippet_filter.html.haml
+++ b/app/views/search/_snippet_filter.html.haml
@@ -1,13 +1,13 @@
 %ul.nav.nav-pills.nav-stacked.search-filter
   %li{class: ("active" if @scope == 'snippet_blobs')}
     = link_to search_filter_path(scope: 'snippet_blobs', snippets: true, group_id: nil, project_id: nil) do
-      %i.icon-code
+      %i.fa.fa-code
       Snippet Contents
       .pull-right
         = @search_results.snippet_blobs_count
   %li{class: ("active" if @scope == 'snippet_titles')}
     = link_to search_filter_path(scope: 'snippet_titles', snippets: true, group_id: nil, project_id: nil) do
-      %i.icon-book
+      %i.fa.fa-book
       Titles and Filenames
       .pull-right
         = @search_results.snippet_titles_count
diff --git a/app/views/search/results/_blob.html.haml b/app/views/search/results/_blob.html.haml
index f9d217e8408..b46b4832e19 100644
--- a/app/views/search/results/_blob.html.haml
+++ b/app/views/search/results/_blob.html.haml
@@ -2,7 +2,7 @@
   .file-holder
     .file-title
       = link_to project_blob_path(@project, tree_join(blob.ref, blob.filename), :anchor => "L" + blob.startline.to_s) do
-        %i.icon-file
+        %i.fa.fa-file
         %strong
           = blob.filename
     .file-content.code.term
diff --git a/app/views/search/results/_empty.html.haml b/app/views/search/results/_empty.html.haml
index 3615f6ae52a..01fb8cd9b8e 100644
--- a/app/views/search/results/_empty.html.haml
+++ b/app/views/search/results/_empty.html.haml
@@ -1,4 +1,4 @@
 .search_box
   .search_glyph
-    %span.icon-search
+    %span.fa.fa-search
   %h4 #{message}
diff --git a/app/views/search/results/_note.html.haml b/app/views/search/results/_note.html.haml
index 6a446538574..f2327cd69cc 100644
--- a/app/views/search/results/_note.html.haml
+++ b/app/views/search/results/_note.html.haml
@@ -1,7 +1,7 @@
 - project = note.project
 .search-result-row
   %h5.note-search-caption.str-truncated
-    %i.icon-comment
+    %i.fa.fa-comment
     = link_to_member(project, note.author, avatar: false)
     commented on
 
diff --git a/app/views/search/results/_snippet_blob.html.haml b/app/views/search/results/_snippet_blob.html.haml
index a3d909d44dc..6fc2cdf6362 100644
--- a/app/views/search/results/_snippet_blob.html.haml
+++ b/app/views/search/results/_snippet_blob.html.haml
@@ -11,7 +11,7 @@
   = link_to snippet_path do
     .file-holder
       .file-title
-        %i.icon-file
+        %i.fa.fa-file
         %strong= snippet_blob[:snippet_object].file_name
         %span.options
           .btn-group.tree-btn-group.pull-right
@@ -46,7 +46,7 @@
                     - offset = defined?(snippet[:start_line]) ? snippet[:start_line] : 1
                     - i = index + offset
                     = link_to snippet_path+"#L#{i}", id: "L#{i}", rel: "#L#{i}" do
-                      %i.icon-link
+                      %i.fa.fa-link
                       = i
                   - unless snippet == snippet_blob[:snippet_chunks].last
                     %a
diff --git a/app/views/search/results/_snippet_title.html.haml b/app/views/search/results/_snippet_title.html.haml
index 84abb9293b2..f7e5ee5e20e 100644
--- a/app/views/search/results/_snippet_title.html.haml
+++ b/app/views/search/results/_snippet_title.html.haml
@@ -4,7 +4,7 @@
       = truncate(snippet_title.title, length: 60)
       - if snippet_title.private?
         %span.label.label-gray
-          %i.icon-lock
+          %i.fa.fa-lock
           private
     %span.cgray.monospace.tiny.pull-right.term
       = snippet_title.file_name
diff --git a/app/views/search/results/_wiki_blob.html.haml b/app/views/search/results/_wiki_blob.html.haml
index 75414d73b0c..e361074b6a0 100644
--- a/app/views/search/results/_wiki_blob.html.haml
+++ b/app/views/search/results/_wiki_blob.html.haml
@@ -2,7 +2,7 @@
   .file-holder
     .file-title
       = link_to project_wiki_path(@project, wiki_blob.filename) do
-        %i.icon-file
+        %i.fa.fa-file
         %strong
           = wiki_blob.filename
     .file-content.code.term
diff --git a/app/views/shared/_file_hljs.html.haml b/app/views/shared/_file_hljs.html.haml
index cbc01bd60e0..444c948b026 100644
--- a/app/views/shared/_file_hljs.html.haml
+++ b/app/views/shared/_file_hljs.html.haml
@@ -5,7 +5,7 @@
         - offset = defined?(first_line_number) ? first_line_number : 1
         - i = index + offset
         = link_to "#L#{i}", id: "L#{i}", rel: "#L#{i}" do
-          %i.icon-link
+          %i.fa.fa-link
           = i
   .highlight
     %pre
diff --git a/app/views/shared/_filter.html.haml b/app/views/shared/_filter.html.haml
index 9e65ce11ade..d366dd97a71 100644
--- a/app/views/shared/_filter.html.haml
+++ b/app/views/shared/_filter.html.haml
@@ -45,6 +45,6 @@
     %fieldset
       - if params[:state].present? || params[:project_id].present?
         = link_to filter_path(entity, state: nil, project_id: nil), class: 'pull-right cgray' do
-          %i.icon-remove
+          %i.fa.fa-times
           %strong Clear filter
 
diff --git a/app/views/shared/_project_filter.html.haml b/app/views/shared/_project_filter.html.haml
index 5e7d1c2c885..ea6a49e1501 100644
--- a/app/views/shared/_project_filter.html.haml
+++ b/app/views/shared/_project_filter.html.haml
@@ -38,7 +38,7 @@
           Labels
           %small.pull-right
             = link_to project_labels_path(@project), class: 'light' do
-              %i.icon-edit
+              %i.fa.fa-pencil-square-o
         %ul.nav.nav-pills.nav-stacked.nav-small.labels-filter
           - @project.labels.order_by_name.each do |label|
             %li{class: label_filter_class(label.name)}
@@ -46,7 +46,7 @@
                 = render_colored_label(label)
                 - if selected_label?(label.name)
                   .pull-right
-                    %i.icon-remove
+                    %i.fa.fa-times
 
         - if @project.labels.empty?
           .light-well
@@ -58,7 +58,7 @@
     %fieldset
       - if %w(state scope milestone_id assignee_id label_name).select { |k| params[k].present? }.any?
         = link_to project_entities_path, class: 'cgray pull-right' do
-          %i.icon-remove
+          %i.fa.fa-times
           %strong Clear filter
 
 
diff --git a/app/views/snippets/_snippet.html.haml b/app/views/snippets/_snippet.html.haml
index e6f83167330..c584dd8dfb6 100644
--- a/app/views/snippets/_snippet.html.haml
+++ b/app/views/snippets/_snippet.html.haml
@@ -4,7 +4,7 @@
       = truncate(snippet.title, length: 60)
       - if snippet.private?
         %span.label.label-gray
-          %i.icon-lock
+          %i.fa.fa-lock
           private
     %span.cgray.monospace.tiny.pull-right
       = snippet.file_name
diff --git a/app/views/snippets/show.html.haml b/app/views/snippets/show.html.haml
index 1d2e3d5ae4a..f5bc543de10 100644
--- a/app/views/snippets/show.html.haml
+++ b/app/views/snippets/show.html.haml
@@ -3,7 +3,7 @@
 
   - if @snippet.private?
     %span.label.label-success
-      %i.icon-lock
+      %i.fa.fa-lock
       private
 
   .pull-right
@@ -30,7 +30,7 @@
 
 .file-holder
   .file-title
-    %i.icon-file
+    %i.fa.fa-file
     %span.file_name
       = @snippet.file_name
     .options
diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml
index 60159a29b99..cb49c030af2 100644
--- a/app/views/users/show.html.haml
+++ b/app/views/users/show.html.haml
@@ -6,7 +6,7 @@
       - if @user == current_user
         .pull-right
           = link_to profile_path, class: 'btn' do
-            %i.icon-edit
+            %i.fa.fa-pencil-square-o
             Edit Profile settings
       %br
       %span.user-show-username #{@user.username}
diff --git a/features/steps/profile/group.rb b/features/steps/profile/group.rb
index 81d5bc15e21..0a10e04e219 100644
--- a/features/steps/profile/group.rb
+++ b/features/steps/profile/group.rb
@@ -7,22 +7,22 @@ class Spinach::Features::ProfileGroup < Spinach::FeatureSteps
   # Leave
 
   step 'I click on the "Leave" button for group "Owned"' do
-    find(:css, 'li', text: "Owner").find(:css, 'i.icon-signout').click
+    find(:css, 'li', text: "Owner").find(:css, 'i.fa.fa-sign-out').click
     # poltergeist always confirms popups.
   end
 
   step 'I click on the "Leave" button for group "Guest"' do
-    find(:css, 'li', text: "Guest").find(:css, 'i.icon-signout').click
+    find(:css, 'li', text: "Guest").find(:css, 'i.fa.fa-sign-out').click
     # poltergeist always confirms popups.
   end
 
   step 'I should not see the "Leave" button for group "Owned"' do
-    find(:css, 'li', text: "Owner").should_not have_selector(:css, 'i.icon-signout')
+    find(:css, 'li', text: "Owner").should_not have_selector(:css, 'i.fa.fa-sign-out')
     # poltergeist always confirms popups.
   end
 
   step 'I should not see the "Leave" button for groupr "Guest"' do
-    find(:css, 'li', text: "Guest").should_not have_selector(:css,  'i.icon-signout')
+    find(:css, 'li', text: "Guest").should_not have_selector(:css,  'i.fa.fa-sign-out')
     # poltergeist always confirms popups.
   end
 
diff --git a/spec/helpers/notifications_helper_spec.rb b/spec/helpers/notifications_helper_spec.rb
index 3ecabbaf045..31ecdacf28e 100644
--- a/spec/helpers/notifications_helper_spec.rb
+++ b/spec/helpers/notifications_helper_spec.rb
@@ -8,7 +8,7 @@ describe NotificationsHelper do
       before { notification.stub(disabled?: true) }
 
       it "has a red icon" do
-        notification_icon(notification).should match('class="icon-volume-off ns-mute"')
+        notification_icon(notification).should match('class="fa fa-volume-off ns-mute"')
       end
     end
 
@@ -16,7 +16,7 @@ describe NotificationsHelper do
       before { notification.stub(participating?: true) }
 
       it "has a blue icon" do
-        notification_icon(notification).should match('class="icon-volume-down ns-part"')
+        notification_icon(notification).should match('class="fa fa-volume-down ns-part"')
       end
     end
 
@@ -24,12 +24,12 @@ describe NotificationsHelper do
       before { notification.stub(watch?: true) }
 
       it "has a green icon" do
-        notification_icon(notification).should match('class="icon-volume-up ns-watch"')
+        notification_icon(notification).should match('class="fa fa-volume-up ns-watch"')
       end
     end
 
     it "has a blue icon" do
-      notification_icon(notification).should match('class="icon-circle-blank ns-default"')
+      notification_icon(notification).should match('class="fa fa-circle-o ns-default"')
     end
   end
 end
diff --git a/spec/support/login_helpers.rb b/spec/support/login_helpers.rb
index cd8a076318c..791d2a1fd64 100644
--- a/spec/support/login_helpers.rb
+++ b/spec/support/login_helpers.rb
@@ -21,6 +21,6 @@ module LoginHelpers
 
   # Requires Javascript driver.
   def logout
-    find(:css, ".icon-signout").click
+    find(:css, ".fa.fa-sign-out").click
   end
 end
-- 
GitLab