From 9c4f80346bda8d4847e34e7fabb9737205777dca Mon Sep 17 00:00:00 2001
From: Steffen van Bergerem <svbergerem@online.de>
Date: Fri, 3 Jul 2015 13:42:38 +0200
Subject: [PATCH] Use entypo-rails mappings

---
 .../app/helpers/handlebars-helpers.js         |   4 +-
 app/assets/javascripts/app/pages/contacts.js  |  22 +-
 .../javascripts/app/views/aspect_view.js      |   2 +-
 .../app/views/aspects_list_view.js            |   8 +-
 app/assets/javascripts/app/views/help_view.js |  10 +-
 .../app/views/notification_dropdown_view.js   |   4 +-
 .../app/views/notifications_view.js           |   4 +-
 .../views/publisher/aspect_selector_view.js   |  14 +-
 app/assets/javascripts/aspects-dropdown.js    |  12 +-
 app/assets/stylesheets/_application.scss      |   2 +-
 app/assets/stylesheets/contacts.scss          |   4 +-
 app/assets/stylesheets/entypo.scss            | 322 ------------------
 app/assets/stylesheets/header.scss            |   4 +-
 app/assets/stylesheets/help.scss              |   4 +-
 app/assets/stylesheets/icons.scss             |  13 +
 app/assets/stylesheets/leftnavbar.scss        |   2 +-
 .../stylesheets/mobile/conversations.scss     |   2 +-
 app/assets/stylesheets/mobile/mobile.scss     |   2 +-
 app/assets/stylesheets/new_styles/_forms.scss |  17 +-
 .../stylesheets/new_styles/_interactions.scss |   3 +-
 app/assets/stylesheets/notifications.scss     |   6 +-
 app/assets/stylesheets/profile.scss           |  14 +-
 app/assets/stylesheets/publisher.scss         |   8 +-
 app/assets/stylesheets/single-post-view.scss  |  14 +-
 app/assets/stylesheets/stream_element.scss    |   2 +-
 app/assets/templates/aspect_tpl.jst.hbs       |   6 +-
 app/assets/templates/comment_tpl.jst.hbs      |   4 +-
 app/assets/templates/header_tpl.jst.hbs       |   4 +-
 app/assets/templates/likes-info_tpl.jst.hbs   |   2 +-
 app/assets/templates/photo_tpl.jst.hbs        |   8 +-
 app/assets/templates/poll_creator_tpl.jst.hbs |   4 +-
 .../templates/profile_header_tpl.jst.hbs      |  14 +-
 .../single-post-actions_tpl.jst.hbs           |  14 +-
 .../single-post-content_tpl.jst.hbs           |   6 +-
 .../single-post-interactions_tpl.jst.hbs      |   6 +-
 .../single-post-moderation_tpl.jst.hbs        |  12 +-
 .../templates/stream-element_tpl.jst.hbs      |  12 +-
 app/helpers/contacts_helper.rb                |   6 +-
 app/helpers/publisher_helper.rb               |  16 +-
 app/views/comments/_comment.mobile.haml       |   2 +-
 app/views/contacts/_header.html.haml          |  16 +-
 app/views/conversations/_show.haml            |  20 +-
 app/views/conversations/_show.mobile.haml     |   2 +-
 app/views/devise/passwords/edit.haml          |   4 +-
 app/views/devise/passwords/new.haml           |   2 +-
 app/views/notifications/_notification.haml    |   2 +-
 .../notifications/_notification.mobile.haml   |   2 +-
 app/views/notifications/index.html.haml       |   8 +-
 .../publisher/_aspect_dropdown.html.haml      |   4 +-
 app/views/publisher/_publisher.html.haml      |  10 +-
 app/views/registrations/_form.haml            |   8 +-
 app/views/sessions/new.html.haml              |   4 +-
 app/views/shared/_post_info.mobile.haml       |   2 +-
 app/views/shared/_right_sections.html.haml    |  14 +-
 app/views/users/_edit.haml                    |   2 +-
 config/initializers/entypo.rb                 |   1 +
 spec/javascripts/app/pages/contacts_spec.js   |  42 +--
 .../javascripts/app/views/aspect_view_spec.js |   4 +-
 .../app/views/aspects_list_view_spec.js       |  12 +-
 .../app/views/notifications_view_spec.js      |   4 +-
 .../app/views/publisher_view_spec.js          |  16 +-
 61 files changed, 240 insertions(+), 554 deletions(-)
 delete mode 100644 app/assets/stylesheets/entypo.scss
 create mode 100644 app/assets/stylesheets/icons.scss
 create mode 100644 config/initializers/entypo.rb

diff --git a/app/assets/javascripts/app/helpers/handlebars-helpers.js b/app/assets/javascripts/app/helpers/handlebars-helpers.js
index 36614780e5..0773beaf33 100644
--- a/app/assets/javascripts/app/helpers/handlebars-helpers.js
+++ b/app/assets/javascripts/app/helpers/handlebars-helpers.js
@@ -47,7 +47,7 @@ Handlebars.registerHelper('sharingMessage', function(person) {
   var icon = "circle";
   if( person.is_sharing ) {
     i18n_scope = 'people.helper.is_sharing';
-    icon = "entypo check";
+    icon = "entypo-check";
   }
 
   var title = Diaspora.I18n.t(i18n_scope, {name: person.name});
@@ -118,7 +118,7 @@ Handlebars.registerHelper("isCurrentProfilePage", function(id, diasporaHandle, o
 Handlebars.registerHelper('aspectMembershipIndicator', function(contact,in_aspect) {
   if(!app.aspect || !app.aspect.get('id')) return '<div class="aspect_membership_dropdown placeholder"></div>';
 
-  var html = '<i class="entypo ';
+  var html = "<i class=\"entypo-";
   if( in_aspect === 'in_aspect' ) {
     html += 'circled-cross contact_remove-from-aspect" ';
     html += 'title="' + Diaspora.I18n.t('contacts.remove_contact') + '" ';
diff --git a/app/assets/javascripts/app/pages/contacts.js b/app/assets/javascripts/app/pages/contacts.js
index 6e31af66a8..a213a0d1ca 100644
--- a/app/assets/javascripts/app/pages/contacts.js
+++ b/app/assets/javascripts/app/pages/contacts.js
@@ -12,11 +12,11 @@ app.pages.Contacts = Backbone.View.extend({
   },
 
   initialize: function(opts) {
-    this.visibility_toggle = $("#contacts_visibility_toggle .entypo");
-    this.chat_toggle = $("#chat_privilege_toggle .entypo");
+    this.visibilityToggle = $("#contacts_visibility_toggle i");
+    this.chatToggle = $("#chat_privilege_toggle i");
     this.stream = opts.stream;
     this.stream.render();
-    $("#people_stream.contacts .header .entypo").tooltip({"placement": "bottom"});
+    $("#people_stream.contacts .header i").tooltip({"placement": "bottom"});
     $(document).on("ajax:success", "form.edit_aspect", this.updateAspectName);
     app.events.on("aspect:create", function(){ window.location.reload() });
 
@@ -27,14 +27,14 @@ app.pages.Contacts = Backbone.View.extend({
   },
 
   toggleChatPrivilege: function() {
-    if (this.chat_toggle.hasClass("enabled")) {
-      this.chat_toggle.tooltip("destroy")
+    if (this.chatToggle.hasClass("enabled")) {
+      this.chatToggle.tooltip("destroy")
                       .removeClass("enabled")
                       .removeAttr("data-original-title")
                       .attr("title", Diaspora.I18n.t("contacts.aspect_chat_is_not_enabled"))
                       .tooltip({"placement": "bottom"});
     } else {
-      this.chat_toggle.tooltip("destroy")
+      this.chatToggle.tooltip("destroy")
                       .addClass("enabled")
                       .removeAttr("data-original-title")
                       .attr("title", Diaspora.I18n.t("contacts.aspect_chat_is_enabled"))
@@ -43,17 +43,17 @@ app.pages.Contacts = Backbone.View.extend({
   },
 
   toggleContactVisibility: function() {
-    if (this.visibility_toggle.hasClass("lock-open")) {
-      this.visibility_toggle.removeClass("lock-open")
-                            .addClass("lock")
+    if (this.visibilityToggle.hasClass("entypo-lock-open")) {
+      this.visibilityToggle.removeClass("entypo-lock-open")
+                            .addClass("entypo-lock")
                             .tooltip("destroy")
                             .removeAttr("data-original-title")
                             .attr("title", Diaspora.I18n.t("contacts.aspect_list_is_not_visible"))
                             .tooltip({"placement": "bottom"});
     }
     else {
-      this.visibility_toggle.removeClass("lock")
-                            .addClass("lock-open")
+      this.visibilityToggle.removeClass("entypo-lock")
+                            .addClass("entypo-lock-open")
                             .tooltip("destroy")
                             .removeAttr("data-original-title")
                             .attr("title", Diaspora.I18n.t("contacts.aspect_list_is_visible"))
diff --git a/app/assets/javascripts/app/views/aspect_view.js b/app/assets/javascripts/app/views/aspect_view.js
index 66cc4a945f..ef6a8c205f 100644
--- a/app/assets/javascripts/app/views/aspect_view.js
+++ b/app/assets/javascripts/app/views/aspect_view.js
@@ -8,7 +8,7 @@ app.views.Aspect = app.views.Base.extend({
   className: 'hoverable',
 
   events: {
-    'click .entypo.check+a': 'toggleAspect'
+    "click .entypo-check+a": "toggleAspect"
   },
 
   toggleAspect: function(evt) {
diff --git a/app/assets/javascripts/app/views/aspects_list_view.js b/app/assets/javascripts/app/views/aspects_list_view.js
index c0e5646f72..d6575e3fb4 100644
--- a/app/assets/javascripts/app/views/aspects_list_view.js
+++ b/app/assets/javascripts/app/views/aspects_list_view.js
@@ -64,11 +64,11 @@ app.views.AspectsList = app.views.Base.extend({
 
   updateAspectList: function() {
     this.collection.each(function(aspect) {
-      var element = this.$("li[data-aspect_id="+aspect.get('id')+"]");
-      if (aspect.get('selected')) {
-        element.find('.entypo.check').addClass('selected');
+      var element = this.$("li[data-aspect_id="+aspect.get("id")+"]");
+      if (aspect.get("selected")) {
+        element.find(".entypo-check").addClass("selected");
       } else {
-        element.find('.entypo.check').removeClass('selected');
+        element.find(".entypo-check").removeClass("selected");
       }
     });
   },
diff --git a/app/assets/javascripts/app/views/help_view.js b/app/assets/javascripts/app/views/help_view.js
index d0cf0e4d58..48731e55c2 100644
--- a/app/assets/javascripts/app/views/help_view.js
+++ b/app/assets/javascripts/app/views/help_view.js
@@ -214,11 +214,11 @@ app.views.Help = app.views.StaticContentView.extend({
   },
 
   getChatIcons: function(){
-    return '<div class="help-chat-icons">' +
-           '  <i class="entypo lock-open"></i>' +
-           '  <i class="entypo chat"></i>' +
-           '  <i class="entypo trash"></i>' +
-           '</div>';
+    return "<div class=\"help-chat-icons\">" +
+           "  <i class=\"entypo-lock-open\"></i>" +
+           "  <i class=\"entypo-chat\"></i>" +
+           "  <i class=\"entypo-trash\"></i>" +
+           "</div>";
   }
 });
 // @license-end
diff --git a/app/assets/javascripts/app/views/notification_dropdown_view.js b/app/assets/javascripts/app/views/notification_dropdown_view.js
index 845430722e..b10895956e 100644
--- a/app/assets/javascripts/app/views/notification_dropdown_view.js
+++ b/app/assets/javascripts/app/views/notification_dropdown_view.js
@@ -20,7 +20,7 @@ app.views.NotificationDropdown = app.views.Base.extend({
 
   toggleDropdown: function(evt){
     evt.stopPropagation();
-    if (!$("#notifications-link .entypo.bell:visible").length) { return true; }
+    if (!$("#notifications-link .entypo-bell:visible").length) { return true; }
     evt.preventDefault();
     if(this.dropdownShowing()){ this.hideDropdown(evt); }
     else{ this.showDropdown(); }
@@ -100,7 +100,7 @@ app.views.NotificationDropdown = app.views.Base.extend({
       $.each(notifications, function(index, notification){
         if($.inArray(notification, notifications) === -1){
           var node = self.dropdownNotifications.append(notification.note_html);
-          $(node).find(".unread-toggle .entypo").tooltip("destroy").tooltip();
+          $(node).find(".unread-toggle .entypo-eye").tooltip("destroy").tooltip();
         }
       });
     });
diff --git a/app/assets/javascripts/app/views/notifications_view.js b/app/assets/javascripts/app/views/notifications_view.js
index 00bb5e6c84..d7b753f0c1 100644
--- a/app/assets/javascripts/app/views/notifications_view.js
+++ b/app/assets/javascripts/app/views/notifications_view.js
@@ -8,7 +8,7 @@ app.views.Notifications = Backbone.View.extend({
   },
 
   initialize: function() {
-    $(".unread-toggle .entypo").tooltip();
+    $(".unread-toggle .entypo-eye").tooltip();
     app.helpers.timeago($(document));
   },
 
@@ -62,7 +62,7 @@ app.views.Notifications = Backbone.View.extend({
     if(unread){ note.removeClass("read").addClass("unread"); }
     else { note.removeClass("unread").addClass("read"); }
 
-    $(".unread-toggle .entypo", note)
+    $(".unread-toggle .entypo-eye", note)
         .tooltip("destroy")
         .removeAttr("data-original-title")
         .attr("title",Diaspora.I18n.t(translationKey))
diff --git a/app/assets/javascripts/app/views/publisher/aspect_selector_view.js b/app/assets/javascripts/app/views/publisher/aspect_selector_view.js
index 7145de4ad5..5e65e63ec0 100644
--- a/app/assets/javascripts/app/views/publisher/aspect_selector_view.js
+++ b/app/assets/javascripts/app/views/publisher/aspect_selector_view.js
@@ -32,15 +32,15 @@ app.views.PublisherAspectSelector  = app.views.AspectsDropdown.extend({
 
     this._updateSelectedAspectIds();
     this._updateButton('btn-default');
-    
+
     // update the globe or lock icon
-    var icon = this.$('#visibility-icon');
-    if (target.find('.text').text().trim() === Diaspora.I18n.t('stream.public')) {
-      icon.removeClass('lock');
-      icon.addClass('globe');
+    var icon = this.$("#visibility-icon");
+    if (target.find(".text").text().trim() === Diaspora.I18n.t("stream.public")) {
+      icon.removeClass("entypo-lock");
+      icon.addClass("entypo-globe");
     } else {
-      icon.removeClass('globe');
-      icon.addClass('lock');
+      icon.removeClass("entypo-globe");
+      icon.addClass("entypo-lock");
     }
   },
 
diff --git a/app/assets/javascripts/aspects-dropdown.js b/app/assets/javascripts/aspects-dropdown.js
index 6c1ea03bcc..52201b81a3 100644
--- a/app/assets/javascripts/aspects-dropdown.js
+++ b/app/assets/javascripts/aspects-dropdown.js
@@ -39,13 +39,13 @@ var AspectsDropdown = {
 
     // if we are in the publisher, we add the visibility icon
     if (isInPublisher) {
-      var icon = $('#visibility-icon');      
-      if (replacement.trim() === Diaspora.I18n.t('stream.public')) {
-        icon.removeClass('lock');
-        icon.addClass('globe');
+      var icon = $("#visibility-icon");
+      if (replacement.trim() === Diaspora.I18n.t("stream.public")) {
+        icon.removeClass("entypo-lock");
+        icon.addClass("entypo-globe");
       } else {
-        icon.removeClass('globe');
-        icon.addClass('lock');
+        icon.removeClass("entypo-globe");
+        icon.addClass("entypo-lock");
       }
       button.find('.text').text(replacement);
     } else {
diff --git a/app/assets/stylesheets/_application.scss b/app/assets/stylesheets/_application.scss
index 4bc1621b46..d7d59733b4 100644
--- a/app/assets/stylesheets/_application.scss
+++ b/app/assets/stylesheets/_application.scss
@@ -8,8 +8,8 @@
 /* core */
 @import 'media-box';
 @import 'autocomplete';
-@import 'entypo-fonts';
 @import 'entypo';
+@import 'icons';
 @import 'mentions';
 @import 'flash_messages';
 @import 'sprites';
diff --git a/app/assets/stylesheets/contacts.scss b/app/assets/stylesheets/contacts.scss
index 25044f66c6..f466d5519e 100644
--- a/app/assets/stylesheets/contacts.scss
+++ b/app/assets/stylesheets/contacts.scss
@@ -27,7 +27,7 @@
       #chat_privilege_toggle > .enabled {
         color: #000;
       }
-      .entypo.contacts-header-icon {
+      .contacts-header-icon {
         font-size: 24.5px;
         line-height: 40px;
         color: lighten($black,75%);
@@ -42,7 +42,7 @@
         cursor: pointer;
         font-size: 20px;
         line-height: 50px;
-        margin: 10px;
+        margin: 0 10px;
         color: lighten($black,75%);
         &:hover { color: $black; }
       }
diff --git a/app/assets/stylesheets/entypo.scss b/app/assets/stylesheets/entypo.scss
deleted file mode 100644
index 50f3f8b22e..0000000000
--- a/app/assets/stylesheets/entypo.scss
+++ /dev/null
@@ -1,322 +0,0 @@
-.entypo {
-  font-family: 'entypo';
-  font-style: normal;
-  color: black;
-
-  &.red {
-    color: #A40802;
-  }
-  &.white {
-    color: white;
-  }
-  &.gray {
-    color: #aaa;
-  }
-  &.blue {
-    color: #3f8fba;
-  }
-
-  &.large {
-    font-size: 2.5em;
-  }
-
-  &.middle {
-    font-size: 1.5em;
-  }
-
-  &.small {
-    font-size: 1em;
-  }
-
-  /* main icon map */
-  &.add-to-list:before { content: '\e003'; } /* e003 */
-  &.add-user:before { content: '\e700'; } /* e700 */
-  &.address:before { content: '\e723'; } /* e723 */
-  &.adjust:before { content: '\25d1'; } /* 25d1 */
-  &.air:before { content: '\e753'; } /* e753 */
-  &.airplane:before { content: '\2708'; } /* 2708 */
-  &.archive:before { content: '\e738'; } /* e738 */
-  &.area-graph:before { content: '\1f53e'; } /* 1f53e */
-  &.arrow-combo:before { content: '\e74f'; } /* e74f */
-  &.attach:before { content: '\1f4ce'; } /* 1f4ce */
-  &.back-in-time:before { content: '\e771'; } /* e771 */
-  &.back:before { content: '\1f519'; } /* 1f519 */
-  &.bag:before { content: '\1f45c'; } /* 1f45c */
-  &.bar-graph:before { content: '\1f4ca '; } /* 1f4ca */
-  &.battery:before { content: '\1f50b'; } /* 1f50b */
-  &.beamed-note:before { content: '\266b'; } /* 266b */
-  &.bell:before { content: '\1f514'; } /* 1f514 */
-  &.block:before { content: '\1f6ab'; } /* 1f6ab */
-  &.book:before { content: '\1f4d5 '; } /* 1f4d5 */
-  &.bookmark:before { content: '\1f516'; } /* 1f516 */
-  &.bookmarks:before { content: '\1f4d1'; } /* 1f4d1 */
-  &.box:before { content: '\1f4e6'; } /* 1f4e6 */
-  &.briefcase:before { content: '\1f4bc'; } /* 1f4bc */
-  &.browser:before { content: '\e74e'; } /* e74e */
-  &.brush:before { content: '\e79a'; } /* e79a */
-  &.bucket:before { content: '\e756'; } /* e756 */
-  &.calendar:before { content: '\1f4c5'; } /* 1f4c5 */
-  &.camera:before { content: '\1f4f7'; } /* 1f4f7 */
-  &.cart:before { content: '\e73d'; } /* e73d */
-  &.cc-by:before { content: '\e7a6'; } /* e7a6 */
-  &.cc-nc-eu:before { content: '\e7a8'; } /* e7a8 */
-  &.cc-nc-jp:before { content: '\e7a9'; } /* e7a9 */
-  &.cc-nc:before { content: '\e7a7'; } /* e7a7 */
-  &.cc-nd:before { content: '\e7ab'; } /* e7ab */
-  &.cc-pd:before { content: '\e7ac'; } /* e7ac */
-  &.cc-remix:before { content: '\e7af'; } /* e7af */
-  &.cc-sa:before { content: '\e7aa'; } /* e7aa */
-  &.cc-share:before { content: '\e7ae'; } /* e7ae */
-  &.cc-zero:before { content: '\e7ad'; } /* e7ad */
-  &.cc:before { content: '\e7a5'; } /* e7a5 */
-  &.ccw:before { content: '\27f2'; } /* 27f2 */
-  &.cd:before { content: '\1f4bf'; } /* 1f4bf */
-  &.chat:before { content: '\e720'; } /* e720 */
-  &.check:before { content: '\2713'; } /* 2713 */
-  &.chevron-down:before { content: '\e75c'; } /* e75c */
-  &.chevron-left:before { content: '\e75d'; } /* e75d */
-  &.chevron-right:before { content: '\e75e'; } /* e75e */
-  &.chevron-small-down:before { content: '\e760'; } /* e760 */
-  &.chevron-small-left:before { content: '\e761'; } /* e761 */
-  &.chevron-small-right:before { content: '\e762'; } /* e762 */
-  &.chevron-small-up:before { content: '\e763'; } /* e763 */
-  &.chevron-thin-down:before { content: '\e764'; } /* e764 */
-  &.chevron-thin-left:before { content: '\e765'; } /* e765 */
-  &.chevron-thin-right:before { content: '\e766'; } /* e766 */
-  &.chevron-thin-up:before { content: '\e767'; } /* e767 */
-  &.chevron-up:before { content: '\e75f'; } /* e75f */
-  &.circled-cross:before { content: '\2716'; } /* 2716 */
-  &.circled-down:before { content: '\e758'; } /* e758 */
-  &.circled-help:before { content: '\e704'; } /* e704 */
-  &.circled-info:before { content: '\e705'; } /* e705 */
-  &.circled-left:before { content: '\e759'; } /* e759 */
-  &.circled-minus:before { content: '\2796'; } /* 2796 */
-  &.circled-plus:before { content: '\2795'; } /* 2795 */
-  &.circled-right:before { content: '\e75a'; } /* e75a */
-  &.circled-up:before { content: '\e75b'; } /* e75b */
-  &.clipboard:before { content: '\1f4cb'; } /* 1f4cb */
-  &.clock:before { content: '\1f554'; } /* 1f554 */
-  &.cloud:before { content: '\2601'; } /* 2601 */
-  &.code:before { content: '\e714'; } /* e714 */
-  &.cog:before { content: '\2699'; } /* 2699 */
-  &.comment:before { content: '\e718'; } /* e718 */
-  &.compass:before { content: '\e728'; } /* e728 */
-  &.credit-card:before { content: '\1f4b3'; } /* 1f4b3 */
-  &.cross-hair:before { content: '\1f3af'; } /* 1f3af */
-  &.cross:before { content: '\2715'; } /* 2715 */
-  &.cup:before { content: '\2615'; } /* 2615 */
-  &.cw:before { content: '\27f3'; } /* 27f3 */
-  &.cycle:before { content: '\1f504'; } /* 1f504 */
-  &.database:before { content: '\e754'; } /* e754 */
-  &.db-logo:before { content: '\f603'; } /* f603 */
-  &.db-shape:before { content: '\f600'; } /* f600 */
-  &.direction:before { content: '\27a2'; } /* 27a2 */
-  &.doc:before { content: '\e730'; } /* e730 */
-  &.docs:before { content: '\e736'; } /* e736 */
-  &.dot:before { content: '\e78b'; } /* e78b */
-  &.down-1:before { content: '\2b07'; } /* 2b07 */
-  &.down-bold:before { content: '\e4b0'; } /* e4b0 */
-  &.down-thin:before { content: '\2193'; } /* 2193 */
-  &.down:before { content: '\261f'; } /* 261f */
-  &.download:before { content: '\1f4e5'; } /* 1f4e5 */
-  &.drive:before { content: '\e755'; } /* e755 */
-  &.droplet:before { content: '\1f4a7'; } /* 1f4a7 */
-  &.erase:before { content: '\232b'; } /* 232b */
-  &.export:before { content: '\e715'; } /* e715 */
-  &.eye:before { content: '\e70a'; } /* e70a */
-  &.fb:before { content: '\23ea'; } /* 23ea */
-  &.feather:before { content: '\2712'; } /* 2712 */
-  &.ff:before { content: '\23e9'; } /* 23e9 */
-  &.flag:before { content: '\2691'; } /* 2691 */
-  &.flash:before { content: '\26a1'; } /* 26a1 */
-  &.flashlight:before { content: '\1f526'; } /* 1f526 */
-  &.flow-branch:before { content: '\e791'; } /* e791 */
-  &.flow-cascade:before { content: '\e790'; } /* e790 */
-  &.flow-line:before { content: '\e793'; } /* e793 */
-  &.flow-parallel:before { content: '\e794'; } /* e794 */
-  &.flow-tree:before { content: '\e792'; } /* e792 */
-  &.folder:before { content: '\1f4c1 '; } /* 1f4c1 */
-  &.forward:before { content: '\27a6'; } /* 27a6 */
-  &.gauge:before { content: '\e7a2'; } /* e7a2 */
-  &.globe:before { content: '\1f30e'; } /* 1f30e */
-  &.graduation-cap:before { content: '\1f393 '; } /* 1f393 */
-  &.heart-empty:before { content: '\2661'; } /* 2661 */
-  &.heart:before { content: '\2665'; } /* 2665 */
-  &.help:before { content: '\2753'; } /* 2753 */
-  &.home:before { content: '\2302'; } /* 2302 */
-  &.hourglass:before { content: '\23f3'; } /* 23f3 */
-  &.inbox:before { content: '\e777'; } /* e777 */
-  &.infinity:before { content: '\221e'; } /* 221e */
-  &.info:before { content: '\2139'; } /* 2139 */
-  &.install:before { content: '\e778'; } /* e778 */
-  &.key:before { content: '\1f511'; } /* 1f511 */
-  &.keyboard:before { content: '\2328'; } /* 2328 */
-  &.landscape-doc:before { content: '\e737'; } /* e737 */
-  &.language:before { content: '\e752'; } /* e752 */
-  &.layout:before { content: '\268f'; } /* 268f */
-  &.leaf:before { content: '\1f342 '; } /* 1f342 */
-  &.left-1:before { content: '\2b05'; } /* 2b05 */
-  &.left-bold:before { content: '\e4ad'; } /* e4ad */
-  &.left-thin:before { content: '\2190'; } /* 2190 */
-  &.left:before { content: '\261c'; } /* 261c */
-  &.level-down:before { content: '\21b3'; } /* 21b3 */
-  &.level-up:before { content: '\21b0'; } /* 21b0 */
-  &.lifebuoy:before { content: '\e788'; } /* e788 */
-  &.light-bulb:before { content: '\1f4a1'; } /* 1f4a1 */
-  &.light-down:before { content: '\1f505'; } /* 1f505' */
-  &.light-up:before { content: '\1f506'; } /* 1f506 */
-  &.line-graph:before { content: '\1f4c8'; } /* 1f4c8 */
-  &.link:before { content: '\1f517'; } /* 1f517 */
-  &.list:before { content: '\2630'; } /* 2630 */
-  &.location:before { content: '\e724'; } /* e724 */
-  &.lock-open:before { content: '\1f513'; } /* 1f513 */
-  &.lock:before { content: '\1f512'; } /* 1f512 */
-  &.login:before { content: '\e740'; } /* e740 */
-  &.logout:before { content: '\e741'; } /* e741 */
-  &.loop:before { content: '\1f501'; } /* 1f501 */
-  &.magnet:before { content: '\e7a1'; } /* e7a1 */
-  &.mail:before { content: '\2709'; } /* 2709 */
-  &.map:before { content: '\e727'; } /* e727 */
-  &.megaphone:before { content: '\1f4e3'; } /* 1f4e3 */
-  &.mic:before { content: '\1f3a4'; } /* 1f3a4 */
-  &.minus:before { content: '\2d'; } /* 2d */
-  &.mobile:before { content: '\1f4f1'; } /* 1f4f1 */
-  &.monitor:before { content: '\1f4bb'; } /* 1f4bb */
-  &.moon:before { content: '\263d'; } /* 263d */
-  &.mouse:before { content: '\e789'; } /* e789 */
-  &.music:before { content: '\1f3b5'; } /* 1f3b5 */
-  &.mute:before { content: '\1f507'; } /* 1f507 */
-  &.network:before { content: '\e776'; } /* e776 */
-  &.new:before { content: '\1f4a5'; } /* 1f4a5 */
-  &.newspaper:before { content: '\1f4f0'; } /* 1f4f0 */
-  &.note:before { content: '\266a'; } /* 266a */
-  &.numbered-list:before { content: '\e005'; } /* e005 */
-  &.open-book:before { content: '\1f4d6'; } /* 1f4d6 */
-  &.palette:before { content: '\1f3a8'; } /* 1f3a8 */
-  &.paper-plane:before { content: '\e79b'; } /* e79b */
-  &.paus:before { content: '\2389'; } /* 2389 */
-  &.pencil:before { content: '\270e'; } /* 270e */
-  &.phone:before { content: '\1f4de'; } /* 1f4de */
-  &.picture:before { content: '\1f304'; } /* 1f304 */
-  &.pie-chart:before { content: '\e751'; } /* e751 */
-  &.play:before { content: '\25b6'; } /* 25b6 */
-  &.plus:before { content: '\2b'; } /* 2b */
-  &.popup:before { content: '\e74c'; } /* e74c */
-  &.print:before { content: '\e716'; } /* e716 */
-  &.progress-0:before { content: '\e768'; } /* e768 */
-  &.progress-1:before { content: '\e769'; } /* e769 */
-  &.progress-2:before { content: '\e76a'; } /* e76a */
-  &.progress-3:before { content: '\e76b'; } /* e76b */
-  &.publish:before { content: '\e74d'; } /* e74d */
-  &.quote:before { content: '\275e'; } /* 275e */
-  &.record:before { content: '\26ab'; } /* 26ab */
-  &.reply-all:before { content: '\e713'; } /* e713 */
-  &.reply:before { content: '\e712'; } /* e712 */
-  &.resize-full:before { content: '\e744'; } /* e744 */
-  &.resize-small:before { content: '\e746'; } /* e746 */
-  &.retweet:before { content: '\e717'; } /* e717 */
-  &.right-1:before { content: '\27a1'; } /* 27a1 */
-  &.right-bold:before { content: '\e4ae'; } /* e4ae */
-  &.right-thin:before { content: '\2192'; } /* 2192 */
-  &.right:before { content: '\261e'; } /* 261e */
-  &.rocket:before { content: '\1f680'; } /* 1f680 */
-  &.rss:before { content: '\e73a'; } /* e73a */
-  &.save:before { content: '\1f4be'; } /* 1f4be */
-  &.search:before { content: '\1f50d'; } /* 1f50d */
-  &.share:before { content: '\e73c'; } /* e73c */
-  &.shareable:before { content: '\e73e'; } /* e73e */
-  &.shuffle:before { content: '\1f500'; } /* 1f500 */
-  &.signal:before { content: '\1f4f6'; } /* 1f4f6 */
-  &.sound:before { content: '\1f50a'; } /* 1f50a */
-  &.squared-cross:before { content: '\274e'; } /* 274e */
-  &.squared-minus:before { content: '\229f'; } /* 229f */
-  &.squared-plus:before { content: '\229e'; } /* 229e */
-  &.star-empty:before { content: '\2606'; } /* 2606 */
-  &.star:before { content: '\2605'; } /* 2605 */
-  &.stop:before { content: '\25a0'; } /* 25a0 */
-  &.suitcase:before { content: '\e78e'; } /* e78e */
-  &.sweden:before { content: '\f601'; } /* f601 */
-  &.switch:before { content: '\21c6'; } /* 21c6 */
-  &.tag:before { content: '\e70c'; } /* e70c */
-  &.text-doc-inverted:before { content: '\e731'; } /* e731 */
-  &.text-doc:before { content: '\1f4c4'; } /* 1f4c4 */
-  &.thermometer:before { content: '\e757'; } /* e757 */
-  &.three-dots:before { content: '\e78d'; } /* e78d */
-  &.thumbs-down:before { content: '\1f44e'; } /* 1f44e */
-  &.thumbs-up:before { content: '\1f44d'; } /* 1f44d */
-  &.thunder-cloud:before { content: '\26c8'; } /* 26c8 */
-  &.ticket:before { content: '\1f3ab'; } /* 1f3ab */
-  &.to-end:before { content: '\23ed'; } /* 23ed */
-  &.to-start:before { content: '\23ee'; } /* 23ee */
-  &.tools:before { content: '\2692'; } /* 2692 */
-  &.traffic-cone:before { content: '\e7a3'; } /* e7a3 */
-  &.trash:before { content: '\e729'; } /* e729 */
-  &.triangle-down:before { content: '\25be'; } /* 25be */
-  &.triangle-left:before { content: '\25c2'; } /* 25c2 */
-  &.triangle-right:before { content: '\25b8'; } /* 25b8 */
-  &.triangle-up:before { content: '\25b4'; } /* 25b4 */
-  &.trophy:before { content: '\1f3c6'; } /* 1f3c6 */
-  &.two-dots:before { content: '\e78c'; } /* e78c */
-  &.up-1:before { content: '\2b06'; } /* 2b06 */
-  &.up-bold:before { content: '\e4af'; } /* e4af */
-  &.up-thin:before { content: '\2191'; } /* 2191 */
-  &.up:before { content: '\261d'; } /* 261d */
-  &.upload-cloud:before { content: '\e711'; } /* e711 */
-  &.upload:before { content: '\1f4e4'; } /* 1f4e4 */
-  &.user:before { content: '\1f464'; } /* 1f464 */
-  &.users:before { content: '\1f465'; } /* 1f465 */
-  &.vcard:before { content: '\e722'; } /* e722 */
-  &.video:before { content: '\1f3ac'; } /* 1f3ac */
-  &.voicemail:before { content: '\2707'; } /* 2707 */
-  &.volume:before { content: '\e742'; } /* e742 */
-  &.warning:before { content: '\26a0'; } /* 26a0 */
-  &.water:before { content: '\1f4a6'; } /* 1f4a6 */
-
-  /* social extention map */
-  &.behance:before { content: '\f34e'; } /* f34e */
-  &.c-dribbble:before { content: '\f31c'; } /* f31c */
-  &.c-facebook:before { content: '\f30d'; } /* f30d */
-  &.c-flickr:before { content: '\f304'; } /* f304 */
-  &.c-google+:before { content: '\f310'; } /* f310 */
-  &.c-lastfm:before { content: '\f322'; } /* f322 */
-  &.c-linkedin:before { content: '\f319'; } /* f319 */
-  &.c-pinterest:before { content: '\f313'; } /* f313 */
-  &.c-rdio:before { content: '\f325'; } /* f325 */
-  &.c-skype:before { content: '\f33a'; } /* f33a */
-  &.c-spotify:before { content: '\f328'; } /* f328 */
-  &.c-stumbleupon:before { content: '\f31f'; } /* f31f */
-  &.c-tumblr:before { content: '\f316'; } /* f316 */
-  &.c-twitter:before { content: '\f30a'; } /* f30a */
-  &.c-vimeo:before { content: '\f307'; } /* f307 */
-  &.dribbble:before { content: '\f31b'; } /* f31b */
-  &.dropbox:before { content: '\f330'; } /* f330 */
-  &.evernote:before { content: '\f333'; } /* f333 */
-  &.facebook:before { content: '\f30c'; } /* f30c */
-  &.flattr:before { content: '\f336'; } /* f336 */
-  &.flickr:before { content: '\f303'; } /* f303 */
-  &.github:before { content: '\f300'; } /* f300 */
-  &.google+:before { content: '\f30f'; } /* f30f */
-  &.google-circles:before { content: '\f351'; } /* f351 */
-  &.instagram:before { content: '\f32d'; } /* f32d */
-  &.lastfm:before { content: '\f321'; } /* f321 */
-  &.linkedin:before { content: '\f318'; } /* f318 */
-  &.mixi:before { content: '\f34b'; } /* f34b */
-  &.paypal:before { content: '\f342'; } /* f342 */
-  &.picasa:before { content: '\f345'; } /* f345 */
-  &.pinterest:before { content: '\f312'; } /* f312 */
-  &.qq:before { content: '\f32a'; } /* f32a */
-  &.rdio:before { content: '\f324'; } /* f324 */
-  &.renren:before { content: '\f33c'; } /* f33c */
-  &.s-facebook:before { content: '\f30e'; } /* f30e */
-  &.sina-weibo:before { content: '\f33f'; } /* f33f */
-  &.skype:before { content: '\f339'; } /* f339 */
-  &.smashing:before { content: '\f357'; } /* f357 */
-  &.social-c-github:before { content: '\f301'; } /* f301 */
-  &.soundcloud:before { content: '\f348'; } /* f348 */
-  &.spotify:before { content: '\f327'; } /* f327 */
-  &.stumbleupon:before { content: '\f31e'; } /* f31e */
-  &.tumblr:before { content: '\f315'; } /* f315 */
-  &.twitter:before { content: '\f309'; } /* f309 */
-  &.vimeo:before { content: '\f306'; } /* f306 */
-  &.vk:before { content: '\f354'; } /* f354 */
-}
diff --git a/app/assets/stylesheets/header.scss b/app/assets/stylesheets/header.scss
index 07c582884d..f747209dfb 100644
--- a/app/assets/stylesheets/header.scss
+++ b/app/assets/stylesheets/header.scss
@@ -76,7 +76,7 @@ header > .dark-header > nav {
         }
       }
     }
-    .entypo {
+    [class^="entypo-"], [class*="entypo-"] {
       color: inherit;
       font-size: $font-size-h3;
       vertical-align: middle;
@@ -86,7 +86,7 @@ header > .dark-header > nav {
       .badge {
         background-color: $brand-danger;
         position: absolute;
-        right: 5px;
+        right: 10px;
         top: 10px;
       }
     }
diff --git a/app/assets/stylesheets/help.scss b/app/assets/stylesheets/help.scss
index 56fde842eb..d5a8647704 100644
--- a/app/assets/stylesheets/help.scss
+++ b/app/assets/stylesheets/help.scss
@@ -97,10 +97,10 @@ ul#help_nav {
         font-size: 50px;
         line-height: 70px;
 
-        i.entypo{
+        [class^="entypo-"], [class*="entypo-"] {
           color: #bfbfbf;
 
-          &.chat{ color: #000000; }
+          &.entypo-chat{ color: #000000; }
         }
       }
     }
diff --git a/app/assets/stylesheets/icons.scss b/app/assets/stylesheets/icons.scss
new file mode 100644
index 0000000000..b4496bbd3a
--- /dev/null
+++ b/app/assets/stylesheets/icons.scss
@@ -0,0 +1,13 @@
+[class^="entypo-"], [class*="entypo-"] {
+  font-style: normal;
+  color: black;
+
+  &.red { color: #A40802; }
+  &.white { color: white; }
+  &.gray { color: #aaa; }
+  &.blue { color: #3f8fba; }
+
+  &.small { font-size: 1em; }
+  &.middle { font-size: 1.5em; }
+  &.large { font-size: 2.5em; }
+}
diff --git a/app/assets/stylesheets/leftnavbar.scss b/app/assets/stylesheets/leftnavbar.scss
index a9ebfde5c9..7d1ceacd18 100644
--- a/app/assets/stylesheets/leftnavbar.scss
+++ b/app/assets/stylesheets/leftnavbar.scss
@@ -68,7 +68,7 @@
   }
 
   #aspects_list {
-    .entypo.check {
+    .entypo-check {
       float: left;
       visibility: hidden;
       &.selected { visibility: visible; }
diff --git a/app/assets/stylesheets/mobile/conversations.scss b/app/assets/stylesheets/mobile/conversations.scss
index c990ad3ccc..d3558816de 100644
--- a/app/assets/stylesheets/mobile/conversations.scss
+++ b/app/assets/stylesheets/mobile/conversations.scss
@@ -10,7 +10,7 @@
     .delete_conversation {
       font-size: 2rem;
 
-      .entypo {
+      [class^="entypo-"], [class*="entypo-"] {
         color: $link-grey;
       }
     }
diff --git a/app/assets/stylesheets/mobile/mobile.scss b/app/assets/stylesheets/mobile/mobile.scss
index 47a88952aa..ca3bbb8408 100644
--- a/app/assets/stylesheets/mobile/mobile.scss
+++ b/app/assets/stylesheets/mobile/mobile.scss
@@ -3,8 +3,8 @@
 @import "_mixins";
 @import "vendor/autoSuggest";
 @import "_flash_messages";
-@import 'entypo-fonts';
 @import 'entypo';
+@import 'icons';
 
 @import "header";
 @import "mobile/tags";
diff --git a/app/assets/stylesheets/new_styles/_forms.scss b/app/assets/stylesheets/new_styles/_forms.scss
index d6d07257ce..c85b786bc2 100644
--- a/app/assets/stylesheets/new_styles/_forms.scss
+++ b/app/assets/stylesheets/new_styles/_forms.scss
@@ -78,7 +78,7 @@ form.block-form {
       }
     }
 
-    .entypo {
+    [class^="entypo-"], [class*="entypo-"] {
       position: absolute;
       line-height: 20px;
       top: 10px;
@@ -87,18 +87,9 @@ form.block-form {
       text-align: center;
       color: $text-grey;
       font-size: 20px;
-    }
-
-    .entypo:nth-of-type(2) {
-      top: 50px;
-    }
-
-    .entypo:nth-of-type(3) {
-      top: 90px;
-    }
-
-    .entypo:nth-of-type(4) {
-      top: 130px;
+      &:nth-of-type(2) { top: 50px; }
+      &:nth-of-type(3) { top: 90px; }
+      &:nth-of-type(4) { top: 130px; }
     }
 
     ::placeholder { text-transform: uppercase; }
diff --git a/app/assets/stylesheets/new_styles/_interactions.scss b/app/assets/stylesheets/new_styles/_interactions.scss
index e221496e1f..9fc583764a 100644
--- a/app/assets/stylesheets/new_styles/_interactions.scss
+++ b/app/assets/stylesheets/new_styles/_interactions.scss
@@ -1,9 +1,8 @@
 .control-icons {
   a {
-    margin-right: 5px;
     &:hover { text-decoration: none; }
 
-    i.entypo {
+    [class^="entypo-"], [class*="entypo-"] {
       color: $text-grey;
       font-size: $font-size-base;
       line-height: $line-height-base;
diff --git a/app/assets/stylesheets/notifications.scss b/app/assets/stylesheets/notifications.scss
index 9902478361..01be43d0ed 100644
--- a/app/assets/stylesheets/notifications.scss
+++ b/app/assets/stylesheets/notifications.scss
@@ -52,7 +52,7 @@
   }
 
   .list-group .list-group-item {
-    .entypo, .mentionIcon { margin-right: 5px; }
+    [class^="entypo-"], [class*="entypo-"], .mentionIcon { margin-right: 5px; }
     .mentionIcon { font-weight: bold; }
   }
 }
@@ -69,7 +69,7 @@
       background-color: $background-grey;
       .unread-toggle {
         opacity: 1 !important;
-        .entypo { color: $black; }
+        .entypo-eye { color: $black; }
       }
     }
 
@@ -84,7 +84,7 @@
 
     .unread-toggle {
       padding: 9px 5px;
-      .entypo {
+      .entypo-eye {
         cursor: pointer;
         color: lighten($black,75%);
         font-size: 17px;
diff --git a/app/assets/stylesheets/profile.scss b/app/assets/stylesheets/profile.scss
index 7afff703cb..8cde10c096 100644
--- a/app/assets/stylesheets/profile.scss
+++ b/app/assets/stylesheets/profile.scss
@@ -32,7 +32,7 @@
           color: $text-grey;
           &:before { content: '\26aa'; }
         }
-        &.entypo.check { color: darken($brand-success,20%); }
+        &.entypo-check { color: darken($brand-success,20%); }
       }
       .description {
         margin-bottom: 20px;
@@ -40,10 +40,10 @@
           background-color: transparent;
           font-size: $font-size-base;
         }
-        .tag:not(.entypo) {
+        .tag {
           font-weight: 700;
         }
-        .entypo.tag {
+        .entypo-tag {
           margin: 0 5px;
           font-weight: normal;
           &:hover {text-decoration: none;}
@@ -62,7 +62,7 @@
           text-decoration: none;
           cursor: pointer;
           margin-right: 25px;
-          .entypo.profile-header-icon, .profile-header-icon {
+          .profile-header-icon {
             font-size: 24.5px;
             line-height: 30px;
             color: lighten($black,75%);
@@ -82,7 +82,7 @@
             border-bottom: 3px solid $brand-primary;
             a {
               color: $black;
-              .entypo { color: $black; }
+              [class^="entypo-"], [class*="entypo-"] { color: $black; }
             }
           }
           a {
@@ -90,13 +90,13 @@
             font-size: 16px;
             line-height: 46px;
             color: lighten($black,50%);
-            .entypo {
+            [class^="entypo-"], [class*="entypo-"] {
               color: lighten($black,50%);
               margin-right: 2px;
             }
             &:hover {
               color: $black;
-              .entypo { color: $black; }
+              [class^="entypo-"], [class*="entypo-"] { color: $black; }
               text-decoration: none;
             }
           }
diff --git a/app/assets/stylesheets/publisher.scss b/app/assets/stylesheets/publisher.scss
index 262611b634..fe33611fa7 100644
--- a/app/assets/stylesheets/publisher.scss
+++ b/app/assets/stylesheets/publisher.scss
@@ -31,12 +31,12 @@
       padding: 10px 0 ;
       #publisher_service_icons {
         .btn-link{ text-decoration: none; }
-        .btn-link.question_mark .entypo {
+        .btn-link.question_mark .entypo-cog {
           color: $text-grey;
           font-size: 16px;
           line-height: $line-height-computed;
         }
-        .btn-link.question_mark:hover.entypo { color: $black; }
+        .btn-link.question_mark:hover.entypo-cog { color: $black; }
         .btn-link.service_icon {
           padding-left: 5px;
           padding-right: 5px;
@@ -94,7 +94,7 @@
         border-top: 1px dashed $border-grey;
         padding:4px 6px 4px 6px;
         box-sizing: border-box;
-        .remove-answer.entypo.cross {
+        .remove-answer.entypo-cross {
           display: none;
           color: lighten($black,75%);
           &.active { display: block; }
@@ -189,7 +189,7 @@
           text-decoration: none !important;
           font-size: 16px;
           line-height: $line-height-computed;
-          padding: 4px 5px;
+          padding: 4px 2px;
           i {
             color: $text-grey;
           }
diff --git a/app/assets/stylesheets/single-post-view.scss b/app/assets/stylesheets/single-post-view.scss
index 3de5c57fff..5b7d25e4ce 100644
--- a/app/assets/stylesheets/single-post-view.scss
+++ b/app/assets/stylesheets/single-post-view.scss
@@ -30,12 +30,12 @@
     }
     #reshare-info {
       line-height: 15px;
-      i.retweet {
+      i.entypo-reshare {
         color: $text-dark-grey;
         font-size: 28px;
         line-height: 30px;
-        margin-left: 8px;
-        margin-right: 8px;
+        margin-left: 7px;
+        margin-right: 7px;
       }
       .post-context {
         font-size: 12px;
@@ -63,19 +63,19 @@
         font-size: 28px;
         line-height: 30px;
       }
-      i.comment:hover {
+      i.entypo-comment:hover {
         color: #424242;
       }
       .post_report i.gray:hover {
         color: $red;
       }
-      i.heart.gray:hover {
+      i.entypo-heart.gray:hover {
         color: $red;
       }
-      i.heart.red:hover {
+      i.entypo-heart.red:hover {
         color: #f55f5a;
       }
-      i.retweet:hover {
+      i.entypo-reshare:hover {
         color: #3f8fba;
       }
       time {
diff --git a/app/assets/stylesheets/stream_element.scss b/app/assets/stylesheets/stream_element.scss
index 98fdcb0a9f..84cf301006 100644
--- a/app/assets/stylesheets/stream_element.scss
+++ b/app/assets/stylesheets/stream_element.scss
@@ -68,7 +68,7 @@
       line-height: 16px;
       .author-name, .bd { display: inline-block; }
       .author-name { margin-right: 3px; }
-      .entypo.heart {
+      .entypo-heart {
         display: inline-block;
         font-size: 16px;
         vertical-align: top;
diff --git a/app/assets/templates/aspect_tpl.jst.hbs b/app/assets/templates/aspect_tpl.jst.hbs
index 840ee584e7..07e4209ad5 100644
--- a/app/assets/templates/aspect_tpl.jst.hbs
+++ b/app/assets/templates/aspect_tpl.jst.hbs
@@ -1,9 +1,9 @@
 <a href="/contacts?a_id={{id}}" class="action modify_aspect pull-right">
-  <i class="entypo pencil"></i>
+  <i class="entypo-pencil"></i>
 </a>
 {{#if selected}}
-  <i class="entypo check selected"></i>
+  <i class="entypo-check selected"></i>
 {{else}}
-  <div class="entypo check"></div>
+  <div class="entypo-check"></div>
 {{/if}}
 <a href="/aspects/query" class="selectable" data-guid="{{id}}"> {{name}} </a>
diff --git a/app/assets/templates/comment_tpl.jst.hbs b/app/assets/templates/comment_tpl.jst.hbs
index 9a96c89160..5dc240b494 100644
--- a/app/assets/templates/comment_tpl.jst.hbs
+++ b/app/assets/templates/comment_tpl.jst.hbs
@@ -10,11 +10,11 @@
     {{#if loggedIn}}
       {{#if canRemove}}
         <a href="#" class="delete comment_delete" title="{{t "delete"}}">
-          <i class="entypo trash"></i>
+          <i class="entypo-trash"></i>
         <a/>
       {{else}}
         <a href="#" data-type="comment" class="comment_report" title="{{t "report.name"}}">
-          <i class="entypo warning"></i>
+          <i class="entypo-warning"></i>
         </a>
       {{/if}}
     {{/if}}
diff --git a/app/assets/templates/header_tpl.jst.hbs b/app/assets/templates/header_tpl.jst.hbs
index 8d6ce060da..6c1da31825 100644
--- a/app/assets/templates/header_tpl.jst.hbs
+++ b/app/assets/templates/header_tpl.jst.hbs
@@ -24,7 +24,7 @@
             <li class="dropdown" id="notification-dropdown">
               <a id="notifications-link" href="/notifications" title="{{t "header.notifications"}}" class="nav-badge" role="button" data-toggle="dropdown" aria-expanded="false" data-target="#">
                 <span class="hidden-xs hidden-sm">
-                  <i class="entypo bell"></i>
+                  <i class="entypo-bell"></i>
                 </span>
                 <span class="visible-xs-inline visible-sm-inline">
                   {{t "header.notifications"}}
@@ -63,7 +63,7 @@
             <li>
               <a id="conversations-link" href="/conversations" title="{{t "header.conversations"}}" class="nav-badge">
                 <span class="hidden-xs hidden-sm">
-                  <i class="entypo mail"></i>
+                  <i class="entypo-mail"></i>
                 </span>
                 <span class="visible-xs-inline visible-sm-inline">
                   {{t "header.conversations"}}
diff --git a/app/assets/templates/likes-info_tpl.jst.hbs b/app/assets/templates/likes-info_tpl.jst.hbs
index 71206eb503..e58e484ee2 100644
--- a/app/assets/templates/likes-info_tpl.jst.hbs
+++ b/app/assets/templates/likes-info_tpl.jst.hbs
@@ -1,7 +1,7 @@
 {{#if likesCount}}
   <div class="comment">
     <div class="media">
-      <i class="entypo heart"></i>
+      <i class="entypo-heart"></i>
 
       <div class="bd">
         {{#unless likes_fetched}}
diff --git a/app/assets/templates/photo_tpl.jst.hbs b/app/assets/templates/photo_tpl.jst.hbs
index 19ceed16bb..ef7b540647 100644
--- a/app/assets/templates/photo_tpl.jst.hbs
+++ b/app/assets/templates/photo_tpl.jst.hbs
@@ -4,17 +4,17 @@
       <div class="control-icons">
         {{#if authorIsCurrentUser}}
           <a href="#" rel="nofollow" class="delete remove_post" title="{{t "delete"}}">
-            <i class="entypo trash"></i>
+            <i class="entypo-trash"></i>
           </a>
         {{else}}
           <a href="#" rel="nofollow" data-type="post" class="post_report" title="{{t "report.name"}}">
-            <i class="entypo warning"></i>
+            <i class="entypo-warning"></i>
           </a>
           <a href="#" rel="nofollow" class="block_user" title="{{t "ignore"}}">
-            <i class="entypo block"></i>
+            <i class="entypo-block"></i>
           </a>
           <a href="#" rel="nofollow" class="delete hide_post" title="{{t "stream.hide"}}">
-            <i class="entypo cross"></i>
+            <i class="entypo-cross"></i>
           </a>
         {{/if}}
       </div>
diff --git a/app/assets/templates/poll_creator_tpl.jst.hbs b/app/assets/templates/poll_creator_tpl.jst.hbs
index 4210afb1ea..b95231a140 100644
--- a/app/assets/templates/poll_creator_tpl.jst.hbs
+++ b/app/assets/templates/poll_creator_tpl.jst.hbs
@@ -7,7 +7,7 @@
       <input type="text" class="input-block-level form-control" name="poll_answers[]" placeholder="{{t 'publisher.option' }}">
     </div>
     <div class="col-md-1">
-      <i class="remove-answer entypo cross"></i>
+      <i class="remove-answer entypo-cross"></i>
     </div>
   </div>
   <div class="poll-answer form-group clearfix">
@@ -15,7 +15,7 @@
       <input type="text" class="input-block-level form-control" name="poll_answers[]" placeholder="{{t 'publisher.option' }}">
     </div>
     <div class="col-md-1">
-      <i class="remove-answer entypo cross"></i>
+      <i class="remove-answer entypo-cross"></i>
     </div>
   </div>
 </div>
diff --git a/app/assets/templates/profile_header_tpl.jst.hbs b/app/assets/templates/profile_header_tpl.jst.hbs
index 31af260c93..c9af3fb801 100644
--- a/app/assets/templates/profile_header_tpl.jst.hbs
+++ b/app/assets/templates/profile_header_tpl.jst.hbs
@@ -23,7 +23,7 @@
   {{#if loggedIn}}
     {{#if has_tags}}
       <div class="description">
-        <i class="entypo tag"></i>
+        <i class="entypo-tag"></i>
         {{fmtTags profile.tags}}
       </div>
     {{else}}
@@ -53,14 +53,14 @@
         {{#if is_mutual}}
           {{!-- create private conversation with person --}}
           <span class="profile_button">
-            <i id="message_button" class="entypo profile-header-icon mail" title="{{t 'people.message'}}" data-placement="bottom" data-toggle="modal"></i>
+            <i id="message_button" class="entypo-mail profile-header-icon" title="{{t 'people.message'}}" data-placement="bottom" data-toggle="modal"></i>
           </span>
         {{/if}}
 
         {{#unless is_blocked}}
           {{!-- ignore the person --}}
           <a href="#" class="profile_button" rel="nofollow">
-            <i id="block_user_button" class="entypo profile-header-icon block block_user" title="{{t 'ignore'}}" data-placement="bottom"></i>
+            <i id="block_user_button" class="entypo-block profile-header-icon block_user" title="{{t 'ignore'}}" data-placement="bottom"></i>
           </a>
         {{/unless}}
       </div>
@@ -69,14 +69,14 @@
     <ul id="profile_nav">
       <li {{#isCurrentProfilePage guid diaspora_id}} class="active" {{/isCurrentProfilePage}}>
         <a href="{{urlTo 'person' guid}}" id="posts_link">
-          <i class="entypo docs"></i>
+          <i class="entypo-docs"></i>
           {{t 'profile.posts'}}
         </a>
       </li>
       {{#if show_photos}}
         <li {{#isCurrentPage 'personPhotos' guid}} class="active" {{/isCurrentPage}}>
           <a href="{{urlTo 'personPhotos' guid}}" id="photos_link">
-            <i class="entypo picture"></i>
+            <i class="entypo-picture"></i>
             {{t 'profile.photos'}}
             <div class="badge badge-default">{{photos.count}}</div>
           </a>
@@ -86,13 +86,13 @@
         <li {{#isCurrentPage 'personContacts' guid}} class="active" {{/isCurrentPage}}>
           {{#if is_own_profile}}
             <a href="{{urlTo 'contacts'}}" id="contacts_link">
-              <i class="entypo users"></i>
+              <i class="entypo-users"></i>
               {{t 'profile.contacts'}}
               <div class="badge badge-default">{{contacts.count}}</div>
             </a>
           {{else}}
             <a href="{{urlTo 'personContacts' guid}}" id="contacts_link">
-              <i class="entypo users"></i>
+              <i class="entypo-users"></i>
               {{t 'profile.contacts'}}
               <div class="badge badge-default">{{contacts.count}}</div>
             </a>
diff --git a/app/assets/templates/single-post-viewer/single-post-actions_tpl.jst.hbs b/app/assets/templates/single-post-viewer/single-post-actions_tpl.jst.hbs
index a183acba3b..16d351e67e 100644
--- a/app/assets/templates/single-post-viewer/single-post-actions_tpl.jst.hbs
+++ b/app/assets/templates/single-post-viewer/single-post-actions_tpl.jst.hbs
@@ -2,24 +2,24 @@
   {{#if loggedIn}}
     <a href="#" class="like" title="{{#if userLike}} {{t "viewer.unlike"}} {{else}} {{t "viewer.like"}} {{/if}}">
     {{#if userLike}}
-      <i class="entypo heart red large"></i>
+      <i class="entypo-heart red large"></i>
     {{else}}
-      <i class="entypo heart gray large"></i>
+      <i class="entypo-heart gray large"></i>
     {{/if}}
     </a>
-    
+
     <a href="#" class="focus-comment" title="{{t "viewer.comment"}}">
-      <i class="entypo comment gray large"></i>
+      <i class="entypo-comment gray large"></i>
     </a>
-    
+
     {{#if userCanReshare}}
       <a href="#" class="reshare" title="{{t "viewer.reshare"}}">
-        <i class="entypo retweet gray large"></i>
+        <i class="entypo-reshare gray large"></i>
       </a>
     {{else}}
       {{#if userReshare}}
         <a href="#" class="reshare-viewonly" title="{{t "viewer.reshared"}}">
-          <i class="entypo retweet blue large"></i>
+          <i class="entypo-reshare blue large"></i>
         </a>
       {{/if}}
     {{/if}}
diff --git a/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs b/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs
index 9d33fece59..7c61fe7412 100644
--- a/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs
+++ b/app/assets/templates/single-post-viewer/single-post-content_tpl.jst.hbs
@@ -30,11 +30,11 @@
           <div class="info">
             {{#if public}}
               <span class="post_scope" title="{{t "stream.public"}}">
-                <i class="entypo globe small"></i>
+                <i class="entypo-globe small"></i>
               </span>
             {{else}}
               <span class="post_scope" title="{{t "stream.limited"}}">
-                <i class="entypo lock small"></i>
+                <i class="entypo-lock small"></i>
               </span>
             {{/if}}
             <span class="post-time">
@@ -71,7 +71,7 @@
     {{#if root}}
       <div class="row reshare">
         <div class="col-md-8" id="reshare-info">
-          <i class="entypo retweet small pull-left"></i>
+          <i class="entypo-reshare small pull-left"></i>
           <div class="img pull-left">
             {{#linkToAuthor author}}
               {{{personImage this "small"}}}
diff --git a/app/assets/templates/single-post-viewer/single-post-interactions_tpl.jst.hbs b/app/assets/templates/single-post-viewer/single-post-interactions_tpl.jst.hbs
index 2488ea0de6..9cc61e9dba 100644
--- a/app/assets/templates/single-post-viewer/single-post-interactions_tpl.jst.hbs
+++ b/app/assets/templates/single-post-viewer/single-post-interactions_tpl.jst.hbs
@@ -1,7 +1,7 @@
 {{#if resharesCount}}
   <div id='reshares'>
     <span class="count">
-      <i class='entypo retweet middle gray'></i>
+      <i class="entypo-reshare middle gray"></i>
       <span>{{resharesCount}}</span>
     </span>
     <span>
@@ -16,7 +16,7 @@
 {{#if likesCount}}
   <div id='likes'>
     <span class="count">
-      <i class='entypo heart middle gray'></i>
+      <i class="entypo-heart middle gray"></i>
       <span>{{likesCount}}</span>
     </span>
     <span>
@@ -31,7 +31,7 @@
 {{#if commentsCount}}
   <div id='comments-meta'>
     <span class='count'>
-      <i class='entypo comment middle gray'></i>
+      <i class="entypo-comment middle gray"></i>
       <span>{{commentsCount}}</span>
     </span>
   </div>
diff --git a/app/assets/templates/single-post-viewer/single-post-moderation_tpl.jst.hbs b/app/assets/templates/single-post-viewer/single-post-moderation_tpl.jst.hbs
index fa96417b2d..10fc6f0d22 100644
--- a/app/assets/templates/single-post-viewer/single-post-moderation_tpl.jst.hbs
+++ b/app/assets/templates/single-post-viewer/single-post-moderation_tpl.jst.hbs
@@ -2,26 +2,26 @@
   {{#if loggedIn}}
     {{#if authorIsCurrentUser}}
       <a href="#" class="remove_post" title="{{t "delete"}}">
-        <i class="entypo trash"></i>
+        <i class="entypo-trash"></i>
       </a>
     {{else}}
       <a href="#" data-type="post" class="post_report" title="{{t "report.name"}}">
-        <i class="entypo warning"></i>
+        <i class="entypo-warning"></i>
       </a>
       <a href="#" data-type="post" class="block_user" title="{{t "ignore"}}">
-        <i class="entypo block"></i>
+        <i class="entypo-block"></i>
       </a>
       {{#if participation}}
         <a href="#" data-type="nofollow" class="destroy_participation" title="{{t "stream.disable_post_notifications"}}">
-          <i class="entypo bell"></i>
+          <i class="entypo-bell"></i>
         </a>
       {{else}}
         <a href="#" data-type="nofollow" class="create_participation" title="{{t "stream.enable_post_notifications"}}">
-          <i class="entypo bell"></i>
+          <i class="entypo-bell"></i>
         </a>
       {{/if}}
       <a href="#" data-type="post" class="hide_post" title="{{t "stream.hide"}}">
-        <i class="entypo cross"></i>
+        <i class="entypo-cross"></i>
       </a>
     {{/if}}
   {{/if}}
diff --git a/app/assets/templates/stream-element_tpl.jst.hbs b/app/assets/templates/stream-element_tpl.jst.hbs
index 7ef41bcc6d..3da4349a14 100644
--- a/app/assets/templates/stream-element_tpl.jst.hbs
+++ b/app/assets/templates/stream-element_tpl.jst.hbs
@@ -10,26 +10,26 @@
       <div class="control-icons">
         {{#if authorIsCurrentUser}}
           <a href="#" rel="nofollow" class="delete remove_post" title="{{t "delete"}}">
-            <i class="entypo trash"></i>
+            <i class="entypo-trash"></i>
           </a>
         {{else}}
           <a href="#" rel="nofollow" data-type="post" class="post_report" title="{{t "report.name"}}">
-            <i class="entypo warning"></i>
+            <i class="entypo-warning"></i>
           </a>
           <a href="#" rel="nofollow" class="block_user" title="{{t "ignore"}}">
-            <i class="entypo block"></i>
+            <i class="entypo-block"></i>
           </a>
           {{#if participation}}
             <a href="#" rel="nofollow" class="destroy_participation" title="{{t "stream.disable_post_notifications"}}">
-              <i class="entypo bell"></i>
+              <i class="entypo-bell"></i>
             </a>
           {{else}}
             <a href="#" rel="nofollow" class="create_participation" title="{{t "stream.enable_post_notifications"}}">
-              <i class="entypo bell"></i>
+              <i class="entypo-bell"></i>
             </a>
           {{/if}}
           <a href="#" rel="nofollow" class="delete hide_post" title="{{t "stream.hide"}}">
-            <i class="entypo cross"></i>
+            <i class="entypo-cross"></i>
           </a>
         {{/if}}
       </div>
diff --git a/app/helpers/contacts_helper.rb b/app/helpers/contacts_helper.rb
index 6409d25712..a9ff48b920 100644
--- a/app/helpers/contacts_helper.rb
+++ b/app/helpers/contacts_helper.rb
@@ -10,7 +10,11 @@ module ContactsHelper
     conv_opts = { class: "conversation_button contacts_button"}
 
     content_tag :span, conv_opts do
-      content_tag(:i, nil, :class => 'entypo mail contacts-header-icon', :title => t('contacts.index.start_a_conversation'), 'data-toggle' => 'modal', 'data-target' => '#conversationModal')
+      content_tag :i,
+                  nil,
+                  class: "entypo-mail contacts-header-icon",
+                  title: t("contacts.index.start_a_conversation"),
+                  data:  {toggle: "modal", target: "#conversationModal"}
     end
   end
 end
diff --git a/app/helpers/publisher_helper.rb b/app/helpers/publisher_helper.rb
index 8886947250..4afe09c4ab 100644
--- a/app/helpers/publisher_helper.rb
+++ b/app/helpers/publisher_helper.rb
@@ -13,15 +13,15 @@ module PublisherHelper
 
   def service_button(service)
     content_tag :div,
-                :class => "btn btn-link service_icon dim",
-                :title => "#{service.provider.titleize} (#{service.nickname})",
-                :id => "#{service.provider}",
-                :maxchar => "#{service.class::MAX_CHARACTERS}",
-                :data  => {:toggle=>'tooltip', :placement=>'bottom'} do
-      if service.provider == 'wordpress'
-        content_tag(:span, '', :class => "social_media_logos-wordpress-16x16")
+                class:   "btn btn-link service_icon dim",
+                title:   "#{service.provider.titleize} (#{service.nickname})",
+                id:      "#{service.provider}",
+                maxchar: "#{service.class::MAX_CHARACTERS}",
+                data:    {toggle: "tooltip", placement: "bottom"} do
+      if service.provider == "wordpress"
+        content_tag(:span, "", class: "social_media_logos-wordpress-16x16")
       else
-        content_tag(:i, '', :class => "entypo small #{ service.provider }")
+        content_tag(:i, "", class: "entypo-social-#{ service.provider } small")
       end
     end
   end
diff --git a/app/views/comments/_comment.mobile.haml b/app/views/comments/_comment.mobile.haml
index 5e98355519..79cf8bc9cc 100644
--- a/app/views/comments/_comment.mobile.haml
+++ b/app/views/comments/_comment.mobile.haml
@@ -16,7 +16,7 @@
         .remove_comment
           .pull-right
             - if user_signed_in? && comment.author == current_user.person
-              = link_to(raw("<i class='entypo trash'></i>"), comment_path(comment), method: :delete,
+              = link_to(raw("<i class='entypo-trash'></i>"), comment_path(comment), method: :delete,
                           data: { confirm: "#{t('are_you_sure')}" }, class: "remove")
 
     %div{class: direction_for(comment.text)}
diff --git a/app/views/contacts/_header.html.haml b/app/views/contacts/_header.html.haml
index 5ef69408e9..cec592c66f 100644
--- a/app/views/contacts/_header.html.haml
+++ b/app/views/contacts/_header.html.haml
@@ -6,26 +6,26 @@
 
       = link_to aspect_toggle_contact_visibility_path(@aspect), id: "contacts_visibility_toggle", class: "contacts_button", method: :put, remote: true do
         -if @aspect.contacts_visible?
-          %i.entypo.lock-open.contacts-header-icon{title: t('aspects.edit.aspect_list_is_visible')}
+          %i.entypo-lock-open.contacts-header-icon{title: t("aspects.edit.aspect_list_is_visible")}
         -else
-          %i.entypo.lock.contacts-header-icon{title: t('aspects.edit.aspect_list_is_not_visible')}
+          %i.entypo-lock.contacts-header-icon{title: t("aspects.edit.aspect_list_is_not_visible")}
 
       -if AppConfig.chat.enabled?
         = link_to aspect_toggle_chat_privilege_path(@aspect), id: "chat_privilege_toggle", class: "contacts_button", method: :put, remote: true do
           -if @aspect.chat_enabled?
-            %i.entypo.chat.enabled.contacts-header-icon{title: t('aspects.edit.aspect_chat_is_enabled')}
+            %i.entypo-chat.enabled.contacts-header-icon{title: t("aspects.edit.aspect_chat_is_enabled")}
           -else
-            %i.entypo.chat.contacts-header-icon{title: t('aspects.edit.aspect_chat_is_not_enabled')}
+            %i.entypo-chat.contacts-header-icon{title: t("aspects.edit.aspect_chat_is_not_enabled")}
 
-      = link_to @aspect, method: "delete", data: { confirm: t('aspects.edit.confirm_remove_aspect') }, class: 'delete contacts_button', id: 'delete_aspect' do
-        %i.entypo.trash.contacts-header-icon{title: t('delete')}
+      = link_to @aspect, method: "delete", data: { confirm: t("aspects.edit.confirm_remove_aspect") }, class: "delete contacts_button", id: "delete_aspect" do
+        %i.entypo-trash.contacts-header-icon{title: t("delete")}
     .pull-right
-      = search_field_tag :contact_search, "", id: "contact_list_search", class: "search-query form-control",  placeholder: t('contacts.index.user_search')
+      = search_field_tag :contact_search, "", id: "contact_list_search", class: "search-query form-control",  placeholder: t("contacts.index.user_search")
     %h3
       %span#aspect_name
         = @aspect.name
       %span#change_aspect_name.contacts_button
-        %i.entypo.pencil.contacts-header-icon{title: t('aspects.edit.rename')}
+        %i.entypo-pencil.contacts-header-icon{title: t("aspects.edit.rename")}
     #aspect_name_form
       = form_for @aspect, remote: true, html: { class: "form-inline edit_aspect"} do |aspect|
         = aspect.text_field :name, class: "form-control", :maxlength => 20
diff --git a/app/views/conversations/_show.haml b/app/views/conversations/_show.haml
index c13e5d81c5..bb9e2aa685 100644
--- a/app/views/conversations/_show.haml
+++ b/app/views/conversations/_show.haml
@@ -5,19 +5,19 @@
 .conversation_participants
   .control-icons.pull-right
     - if conversation.participants.count > 1
-      = link_to(content_tag(:i, nil, :class => 'entypo cross'),
+      = link_to content_tag(:i, nil, class: "entypo-cross"),
                 conversation_visibility_path(conversation),
-                :method => 'delete',
-                :data => { :confirm => "#{t('.hide')}?" },
-                :title => t('.hide'),
-                :class => 'hide_conversation')
+                method: "delete",
+                data:   {confirm: "#{t('.hide')}?"},
+                title:  t(".hide"),
+                class:  "hide_conversation"
     - else
-      = link_to(content_tag(:i, nil, :class => 'entypo trash'),
+      = link_to content_tag(:i, nil, class: "entypo-trash"),
                 conversation_visibility_path(conversation),
-                :method => 'delete',
-                :data => { :confirm => "#{t('.delete')}?" },
-                :title => t('.delete'),
-                :class => 'delete_conversation')
+                method: "delete",
+                data:   {confirm: "#{t('.delete')}?"},
+                title:  t(".delete"),
+                class:  "delete_conversation"
 
   %h3{ :class => direction_for(conversation.subject) }
     = conversation.subject
diff --git a/app/views/conversations/_show.mobile.haml b/app/views/conversations/_show.mobile.haml
index a4feb00b77..4ca1141442 100644
--- a/app/views/conversations/_show.mobile.haml
+++ b/app/views/conversations/_show.mobile.haml
@@ -5,7 +5,7 @@
 .conversation
   .conversation_participants.header-full-width
     .delete_conversation.pull-right
-      = link_to(raw("<i class='entypo trash'></i>"), conversation_visibility_path(conversation),
+      = link_to(raw("<i class='entypo-trash'></i>"), conversation_visibility_path(conversation),
               method: 'delete', data: { confirm: "#{t('.delete')}?" }, class: "remove")
 
     %h3
diff --git a/app/views/devise/passwords/edit.haml b/app/views/devise/passwords/edit.haml
index 36665d83e9..12559f89eb 100644
--- a/app/views/devise/passwords/edit.haml
+++ b/app/views/devise/passwords/edit.haml
@@ -14,14 +14,14 @@
       %fieldset.form
         %label{for: "user_password"}
           = t('devise.passwords.edit.new_password')
-        %i.entypo.lock
+        %i.entypo-lock
         = f.password_field :password, class: "input-block-level form-control", required: true, placeholder: t('devise.passwords.edit.new_password'), autocapitalize: "none", autocorrect: "off", autofocus: true
 
         = f.hidden_field :reset_password_token
 
         %label{for: "user_password_confirmation"}
           = t('devise.passwords.edit.confirm_password')
-        %i.entypo.lock
+        %i.entypo-lock
         = f.password_field :password_confirmation, class: "input-block-level form-control", required: true, placeholder: t('devise.passwords.edit.confirm_password'), autocapitalize: "none", autocorrect: "off"
 
       = hidden_field(:user, :remember_me, value: 1)
diff --git a/app/views/devise/passwords/new.haml b/app/views/devise/passwords/new.haml
index 13bc07b940..a963769004 100644
--- a/app/views/devise/passwords/new.haml
+++ b/app/views/devise/passwords/new.haml
@@ -16,7 +16,7 @@
       %fieldset
         %label{for: "user_email"}
           = t('devise.passwords.new.email')
-        %i.entypo.mail
+        %i.entypo-mail
         = f.text_field :email, class: "input-block-level form-control", required: true, autocapitalize: "off", placeholder: t('devise.passwords.new.email'), autocorrect: "off", autofocus: true
       = f.submit t('devise.passwords.new.send_password_instructions'), class: "btn btn-block btn-default"
 
diff --git a/app/views/notifications/_notification.haml b/app/views/notifications/_notification.haml
index 58340fe0e9..7e79c61340 100644
--- a/app/views/notifications/_notification.haml
+++ b/app/views/notifications/_notification.haml
@@ -1,6 +1,6 @@
 .media.stream_element{:data=>{:guid => note.id, :type => (Notification.types.key(note.type) || '') }, :class => (note.unread ? 'unread' : 'read')}
   .unread-toggle.pull-right
-    %i.entypo.eye{ :title => (note.unread ? t('notifications.index.mark_read') : t('notifications.index.mark_unread')) }
+    %i.entypo-eye{title: (note.unread ? t("notifications.index.mark_read") : t("notifications.index.mark_unread"))}
   - if note.type == "Notifications::StartedSharing" && contact = current_user.contact_for(note.effective_target)
     .pull-right
       = aspect_membership_dropdown(contact, note.effective_target, "right")
diff --git a/app/views/notifications/_notification.mobile.haml b/app/views/notifications/_notification.mobile.haml
index 5c18ed6cd5..2b88255056 100644
--- a/app/views/notifications/_notification.mobile.haml
+++ b/app/views/notifications/_notification.mobile.haml
@@ -1,6 +1,6 @@
 .notification_element{:data=>{:guid => note.id, :type => (Notification.types.key(note.type) || '')}, :class => (note.unread ? "unread" : "read")}
   .pull-right.unread-toggle
-    %i.entypo.eye{ :title => (note.unread ? t('notifications.index.mark_read') : t('notifications.index.mark_unread')) }
+    %i.entypo-eye{title: (note.unread ? t("notifications.index.mark_read") : t("notifications.index.mark_unread"))}
   = person_image_tag note.actors.first, :thumb_small
   .notification_message
     = notification_message_for(note)
diff --git a/app/views/notifications/index.html.haml b/app/views/notifications/index.html.haml
index 5cf7ae26af..7722fbcf41 100644
--- a/app/views/notifications/index.html.haml
+++ b/app/views/notifications/index.html.haml
@@ -14,16 +14,16 @@
               = count
             - case key
               - when 'also_commented', 'comment_on_post'
-                %i.entypo.comment
+                %i.entypo-comment
               - when 'liked'
-                %i.entypo.heart
+                %i.entypo-heart
               - when 'mentioned'
                 %span.mentionIcon
                   @
               - when 'reshared'
-                %i.entypo.retweet
+                %i.entypo-reshare
               - when 'started_sharing'
-                %i.entypo.add-user
+                %i.entypo-add-user
             = t('.'+key)
 
     .col-md-9.stream.notifications
diff --git a/app/views/publisher/_aspect_dropdown.html.haml b/app/views/publisher/_aspect_dropdown.html.haml
index e008568248..e97e50426e 100644
--- a/app/views/publisher/_aspect_dropdown.html.haml
+++ b/app/views/publisher/_aspect_dropdown.html.haml
@@ -1,11 +1,11 @@
 .btn-group.aspect_dropdown
   %button.btn.btn-default.dropdown-toggle{ ! current_user.getting_started? ? {'data-toggle' => 'dropdown'} : {'data-toggle' => 'dropdown', title: popover_with_close_html("2. #{t('shared.public_explain.control_your_audience')}"), 'data-content'=> t('shared.public_explain.visibility_dropdown')} }
     - if publisher_public
-      %i#visibility-icon.entypo.small.globe
+      %i#visibility-icon.entypo-globe.small
       %span.text
         = t('public')
     - else
-      %i#visibility-icon.entypo.small.lock
+      %i#visibility-icon.entypo-lock.small
       %span.text
         - if all_aspects_selected?(selected_aspects)
           = t('all_aspects')
diff --git a/app/views/publisher/_publisher.html.haml b/app/views/publisher/_publisher.html.haml
index ed136c40f8..7fa0437431 100644
--- a/app/views/publisher/_publisher.html.haml
+++ b/app/views/publisher/_publisher.html.haml
@@ -29,13 +29,13 @@
           #button_container
             #publisher-images.pull-right
               #poll_creator.btn.btn-link{title: t('shared.publisher.poll.add_a_poll')}
-                %i.entypo.bar-graph
+                %i.entypo-bar-graph
               #file-upload.btn.btn-link{title: t('shared.publisher.upload_photos')}
-                %i.entypo.camera.publisher_image
+                %i.entypo-camera.publisher_image
               #locator.btn.btn-link{title: t('shared.publisher.get_location')}
-                %i.entypo.location.publisher_image
+                %i.entypo-location.publisher_image
               #hide_location.btn.btn-link{title: t('shared.publisher.remove_location')}
-                %i.entypo.cross.publisher_image
+                %i.entypo-cross.publisher_image
             %span.markdownIndications
               != t('shared.publisher.formatWithMarkdown', markdown_link: link_to(t('help.markdown'), 'https://diasporafoundation.org/formatting', target: :blank))
 
@@ -63,7 +63,7 @@
               .btn.btn-link{ class: "question_mark",
                              title: t("shared.public_explain.manage"),
                              data:  {toggle: "modal", target: "#publicExplainModal"}}
-                %i.entypo.cog
+                %i.entypo-cog
 
             = render partial: "publisher/aspect_dropdown", locals: { :selected_aspects => selected_aspects }
 
diff --git a/app/views/registrations/_form.haml b/app/views/registrations/_form.haml
index 403ac9c3ed..950844eb8b 100644
--- a/app/views/registrations/_form.haml
+++ b/app/views/registrations/_form.haml
@@ -3,7 +3,7 @@
   %fieldset
     %label
       = f.label :user_email, t("registrations.new.email"), class: "control-label"
-    %i.entypo.mail
+    %i.entypo-mail
     = f.email_field :email,
       autofocus: true,
       class: "input-block-level form-control",
@@ -14,17 +14,17 @@
 
     %label.control-label{for: "user_username"}
       = t('registrations.new.username')
-    %i.entypo.user
+    %i.entypo-user
     = f.text_field :username, class: "input-block-level form-control", placeholder: t('registrations.new.username'), title: t('registrations.new.enter_username'), required: true, pattern: "[A-Za-z0-9_]+"
 
     %label.control-label{for: "user_password"}
       = t('registrations.new.password')
-    %i.entypo.lock
+    %i.entypo-lock
     = f.password_field :password, class: "input-block-level form-control", placeholder: t('registrations.new.password'), title: t('registrations.new.enter_password'), required: true, pattern: "......+"
 
     %label.control-label{for: "user_password_confirmation"}
       = t('registrations.new.password_confirmation')
-    %i.entypo.lock
+    %i.entypo-lock
     = f.password_field :password_confirmation, class: "input-block-level form-control", placeholder: t('registrations.new.password_confirmation'), title: t('registrations.new.enter_password_again'), required: true, pattern: "......+"
 
     - if AppConfig.settings.captcha.enable?
diff --git a/app/views/sessions/new.html.haml b/app/views/sessions/new.html.haml
index ed46043156..faaed135d1 100644
--- a/app/views/sessions/new.html.haml
+++ b/app/views/sessions/new.html.haml
@@ -11,7 +11,7 @@
     %fieldset
       %label{for: "user_username"}
         = t('registrations.new.username')
-      %i.entypo.user
+      %i.entypo-user
       = f.text_field :username,
                      placeholder: t('registrations.new.username'),
                      class: 'input-block-level form-control',
@@ -23,7 +23,7 @@
 
       %label{for: "user_password"}
         = t('registrations.new.password')
-      %i.entypo.lock
+      %i.entypo-lock
       = f.password_field :password,
                          placeholder: t('registrations.new.password'),
                          class: 'input-block-level form-control',
diff --git a/app/views/shared/_post_info.mobile.haml b/app/views/shared/_post_info.mobile.haml
index 4b2b3e91e4..fa262d27ec 100644
--- a/app/views/shared/_post_info.mobile.haml
+++ b/app/views/shared/_post_info.mobile.haml
@@ -11,7 +11,7 @@
 
     .remove_post.pull-right
       - if user_signed_in? && post.author == current_user.person
-        = link_to(raw("<i class='entypo trash'></i>"), post_path(post), method: :delete,
+        = link_to(raw("<i class='entypo-trash'></i>"), post_path(post), method: :delete,
                 data: { confirm: "#{t('are_you_sure')}" }, class: "remove")
     .clearfix
 
diff --git a/app/views/shared/_right_sections.html.haml b/app/views/shared/_right_sections.html.haml
index 86d9ada075..82af44da11 100644
--- a/app/views/shared/_right_sections.html.haml
+++ b/app/views/shared/_right_sections.html.haml
@@ -7,7 +7,7 @@
   .section
     .title
       %h5.title-header
-        %i.entypo.plus
+        %i.entypo-plus
         = t('shared.invitations.invite_your_friends')
     .content
       = render "shared/invitations"
@@ -15,7 +15,7 @@
 .section
   .title
     %h5.title-header
-      %i.entypo.users
+      %i.entypo-users
       = t('aspects.index.new_here.title')
   .content
     != t('aspects.index.new_here.follow', link: link_to("#"+t('shared.publisher.new_user_prefill.newhere'), tag_path(name: t('shared.publisher.new_user_prefill.newhere'))))
@@ -25,7 +25,7 @@
 .section
   .title
     %h5.title-header
-      %i.entypo.circled-help
+      %i.entypo-circled-help
       = t('aspects.index.help.need_help')
   .content
     %p
@@ -49,7 +49,7 @@
   .section
     .title
       %h5.title-header
-        %i.entypo.cog
+        %i.entypo-cog
         = t('aspects.index.services.heading')
     .content
       %div
@@ -64,7 +64,7 @@
 .section
   .title
     %h5.title-header
-      %i.entypo.bookmark
+      %i.entypo-bookmark
       = t('bookmarklet.heading')
   .content
     != t('bookmarklet.explanation', :link => link_to(t('bookmarklet.post_something'), bookmarklet_code))
@@ -73,7 +73,7 @@
   .section
     .title
       %h5.title-header
-        %i.entypo.heart
+        %i.entypo-heart
         = t('aspects.index.donate')
     .content
       %p
@@ -84,7 +84,7 @@
   .section
     .title
       %h5.title-header
-        %i.entypo.mail
+        %i.entypo-mail
         = t('aspects.index.help.any_problem')
     .content
       %p
diff --git a/app/views/users/_edit.haml b/app/views/users/_edit.haml
index fd67fcf50d..af644cfb6c 100644
--- a/app/views/users/_edit.haml
+++ b/app/views/users/_edit.haml
@@ -19,7 +19,7 @@
         .col-md-6
           %h3
             = t(".your_email")
-            %i.entypo.lock.gray.settings_visibility{title: t("users.edit.your_email_private")}
+            %i.entypo-lock.gray.settings_visibility{title: t("users.edit.your_email_private")}
 
 
           = form_for 'user', url: user_path, html: { method: :put, class: "form-horizontal col-md-12" , id: "email-form"} do |f|
diff --git a/config/initializers/entypo.rb b/config/initializers/entypo.rb
new file mode 100644
index 0000000000..0c99a40ee2
--- /dev/null
+++ b/config/initializers/entypo.rb
@@ -0,0 +1 @@
+Entypo.css_prefix = "entypo"
diff --git a/spec/javascripts/app/pages/contacts_spec.js b/spec/javascripts/app/pages/contacts_spec.js
index e62bce96a0..b7679ffe9d 100644
--- a/spec/javascripts/app/pages/contacts_spec.js
+++ b/spec/javascripts/app/pages/contacts_spec.js
@@ -18,53 +18,53 @@ describe("app.pages.Contacts", function(){
 
   context('toggle chat privilege', function() {
     beforeEach(function() {
-      this.chat_toggle = $("#chat_privilege_toggle");
-      this.chat_icon = $("#chat_privilege_toggle .entypo");
+      this.chatToggle = $("#chat_privilege_toggle");
+      this.chatIcon = $("#chat_privilege_toggle i");
     });
 
     it('updates the title for the tooltip', function() {
-      expect(this.chat_icon.attr('data-original-title')).toBe(
+      expect(this.chatIcon.attr("data-original-title")).toBe(
         Diaspora.I18n.t("contacts.aspect_chat_is_not_enabled")
       );
-      this.chat_toggle.trigger('click');
-      expect(this.chat_icon.attr('data-original-title')).toBe(
+      this.chatToggle.trigger("click");
+      expect(this.chatIcon.attr("data-original-title")).toBe(
         Diaspora.I18n.t("contacts.aspect_chat_is_enabled")
       );
     });
 
-    it('toggles the chat icon', function() {
-      expect(this.chat_icon.hasClass('enabled')).toBeFalsy();
-      this.chat_toggle.trigger('click');
-      expect(this.chat_icon.hasClass('enabled')).toBeTruthy();
+    it("toggles the chat icon", function() {
+      expect(this.chatIcon.hasClass("enabled")).toBeFalsy();
+      this.chatToggle.trigger("click");
+      expect(this.chatIcon.hasClass("enabled")).toBeTruthy();
     });
   });
 
   context('toggle contacts visibility', function() {
     beforeEach(function() {
-      this.visibility_toggle = $("#contacts_visibility_toggle");
-      this.lock_icon = $("#contacts_visibility_toggle .entypo");
+      this.visibilityToggle = $("#contacts_visibility_toggle");
+      this.lockIcon = $("#contacts_visibility_toggle i");
     });
 
-    it('updates the title for the tooltip', function() {
-      expect(this.lock_icon.attr('data-original-title')).toBe(
+    it("updates the title for the tooltip", function() {
+      expect(this.lockIcon.attr("data-original-title")).toBe(
         Diaspora.I18n.t("contacts.aspect_list_is_visible")
       );
 
-      this.visibility_toggle.trigger('click');
+      this.visibilityToggle.trigger("click");
 
-      expect(this.lock_icon.attr('data-original-title')).toBe(
+      expect(this.lockIcon.attr("data-original-title")).toBe(
         Diaspora.I18n.t("contacts.aspect_list_is_not_visible")
       );
     });
 
-    it('toggles the lock icon', function() {
-      expect(this.lock_icon.hasClass('lock-open')).toBeTruthy();
-      expect(this.lock_icon.hasClass('lock')).toBeFalsy();
+    it("toggles the lock icon", function() {
+      expect(this.lockIcon.hasClass("entypo-lock-open")).toBeTruthy();
+      expect(this.lockIcon.hasClass("entypo-lock")).toBeFalsy();
 
-      this.visibility_toggle.trigger('click');
+      this.visibilityToggle.trigger("click");
 
-      expect(this.lock_icon.hasClass('lock')).toBeTruthy();
-      expect(this.lock_icon.hasClass('lock-open')).toBeFalsy();
+      expect(this.lockIcon.hasClass("entypo-lock")).toBeTruthy();
+      expect(this.lockIcon.hasClass("entypo-lock-open")).toBeFalsy();
     });
   });
 
diff --git a/spec/javascripts/app/views/aspect_view_spec.js b/spec/javascripts/app/views/aspect_view_spec.js
index 12ce369411..254a89ab5a 100644
--- a/spec/javascripts/app/views/aspect_view_spec.js
+++ b/spec/javascripts/app/views/aspect_view_spec.js
@@ -9,8 +9,8 @@ describe("app.views.Aspect", function(){
       this.view.render();
     });
 
-    it('should show the aspect selected', function(){
-      expect(this.view.$el.children('.entypo.check').hasClass('selected')).toBeTruthy();
+    it("should show the aspect selected", function(){
+      expect(this.view.$el.children(".entypo-check").hasClass("selected")).toBeTruthy();
     });
 
     it('should show the name of the aspect', function(){
diff --git a/spec/javascripts/app/views/aspects_list_view_spec.js b/spec/javascripts/app/views/aspects_list_view_spec.js
index 5a0ded38d1..0e2715da2f 100644
--- a/spec/javascripts/app/views/aspects_list_view_spec.js
+++ b/spec/javascripts/app/views/aspects_list_view_spec.js
@@ -23,12 +23,12 @@ describe("app.views.AspectsList", function(){
       expect(this.view.$('.selected + a.selectable').text()).toMatch('Work');
     });
 
-    it('should show all the aspects', function(){
-      var aspect_selectors = this.view.$('.entypo.check + a.selectable');
-      expect(aspect_selectors.length).toBe(3);
-      expect(aspect_selectors[0].text).toMatch('Work');
-      expect(aspect_selectors[1].text).toMatch('Friends');
-      expect(aspect_selectors[2].text).toMatch('Acquaintances');
+    it("should show all the aspects", function(){
+      var aspectSelectors = this.view.$(".entypo-check + a.selectable");
+      expect(aspectSelectors.length).toBe(3);
+      expect(aspectSelectors[0].text).toMatch("Work");
+      expect(aspectSelectors[1].text).toMatch("Friends");
+      expect(aspectSelectors[2].text).toMatch("Acquaintances");
     });
 
     it('should show \'Select all\' link', function(){
diff --git a/spec/javascripts/app/views/notifications_view_spec.js b/spec/javascripts/app/views/notifications_view_spec.js
index 77e9f081f9..a13907d4a9 100644
--- a/spec/javascripts/app/views/notifications_view_spec.js
+++ b/spec/javascripts/app/views/notifications_view_spec.js
@@ -65,14 +65,14 @@ describe("app.views.Notifications", function(){
       this.view.updateView(this.readN.data("guid"), this.readN.data("type"), true);
       expect(this.readN.hasClass("unread")).toBeTruthy();
       expect(this.readN.hasClass("read")).toBeFalsy();
-      expect(this.readN.find(".unread-toggle .entypo").data("original-title")).toBe(
+      expect(this.readN.find(".unread-toggle .entypo-eye").data("original-title")).toBe(
         Diaspora.I18n.t("notifications.mark_read")
       );
 
       this.view.updateView(this.readN.data("guid"), this.readN.data("type"), false);
       expect(this.readN.hasClass("read")).toBeTruthy();
       expect(this.readN.hasClass("unread")).toBeFalsy();
-      expect(this.readN.find(".unread-toggle .entypo").data("original-title")).toBe(
+      expect(this.readN.find(".unread-toggle .entypo-eye").data("original-title")).toBe(
         Diaspora.I18n.t("notifications.mark_unread")
       );
     });
diff --git a/spec/javascripts/app/views/publisher_view_spec.js b/spec/javascripts/app/views/publisher_view_spec.js
index fbf4476312..12d356dd11 100644
--- a/spec/javascripts/app/views/publisher_view_spec.js
+++ b/spec/javascripts/app/views/publisher_view_spec.js
@@ -315,26 +315,26 @@ describe("app.views.Publisher", function() {
     });
 
     it("initializes with 'all_aspects'", function(){
-      expect($("#publisher #visibility-icon")).not.toHaveClass("globe");
-      expect($("#publisher #visibility-icon")).toHaveClass("lock");
+      expect($("#publisher #visibility-icon")).not.toHaveClass("entypo-globe");
+      expect($("#publisher #visibility-icon")).toHaveClass("entypo-lock");
     });
 
     describe("toggles the selected entry visually", function(){
       it("click on the first aspect", function(){
         this.view.$(".aspect_dropdown li.aspect_selector:first").click();
-        expect($("#publisher #visibility-icon")).not.toHaveClass("globe");
-        expect($("#publisher #visibility-icon")).toHaveClass("lock");
+        expect($("#publisher #visibility-icon")).not.toHaveClass("entypo-globe");
+        expect($("#publisher #visibility-icon")).toHaveClass("entypo-lock");
       });
 
       it("click on public", function(){
         this.view.$(".aspect_dropdown li.public").click();
-        expect($("#publisher #visibility-icon")).toHaveClass("globe");
-        expect($("#publisher #visibility-icon")).not.toHaveClass("lock");
+        expect($("#publisher #visibility-icon")).toHaveClass("entypo-globe");
+        expect($("#publisher #visibility-icon")).not.toHaveClass("entypo-lock");
       });
 
       it("click on 'all aspects'", function(){
-        expect($("#publisher #visibility-icon")).not.toHaveClass("globe");
-        expect($("#publisher #visibility-icon")).toHaveClass("lock");
+        expect($("#publisher #visibility-icon")).not.toHaveClass("entypo-globe");
+        expect($("#publisher #visibility-icon")).toHaveClass("entypo-lock");
       });
     });
 
-- 
GitLab