瀏覽代碼

Merge pull request #4 from Skylsmoi/master

Tracim 7 年之前
父節點
當前提交
60f4756cc3
沒有帳戶連結到提交者的電子郵件
共有 74 個文件被更改,包括 9797 次插入59 次删除
  1. 7 0
      dist/font/font-awesome-4.7.0/HELP-US-OUT.txt
  2. 2337 0
      dist/font/font-awesome-4.7.0/css/font-awesome.css
  3. 4 0
      dist/font/font-awesome-4.7.0/css/font-awesome.min.css
  4. 二進制
      dist/font/font-awesome-4.7.0/fonts/FontAwesome.otf
  5. 二進制
      dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.eot
  6. 2671 0
      dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.svg
  7. 二進制
      dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf
  8. 二進制
      dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff
  9. 二進制
      dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
  10. 34 0
      dist/font/font-awesome-4.7.0/less/animated.less
  11. 25 0
      dist/font/font-awesome-4.7.0/less/bordered-pulled.less
  12. 12 0
      dist/font/font-awesome-4.7.0/less/core.less
  13. 6 0
      dist/font/font-awesome-4.7.0/less/fixed-width.less
  14. 18 0
      dist/font/font-awesome-4.7.0/less/font-awesome.less
  15. 789 0
      dist/font/font-awesome-4.7.0/less/icons.less
  16. 13 0
      dist/font/font-awesome-4.7.0/less/larger.less
  17. 19 0
      dist/font/font-awesome-4.7.0/less/list.less
  18. 60 0
      dist/font/font-awesome-4.7.0/less/mixins.less
  19. 15 0
      dist/font/font-awesome-4.7.0/less/path.less
  20. 20 0
      dist/font/font-awesome-4.7.0/less/rotated-flipped.less
  21. 5 0
      dist/font/font-awesome-4.7.0/less/screen-reader.less
  22. 20 0
      dist/font/font-awesome-4.7.0/less/stacked.less
  23. 800 0
      dist/font/font-awesome-4.7.0/less/variables.less
  24. 34 0
      dist/font/font-awesome-4.7.0/scss/_animated.scss
  25. 25 0
      dist/font/font-awesome-4.7.0/scss/_bordered-pulled.scss
  26. 12 0
      dist/font/font-awesome-4.7.0/scss/_core.scss
  27. 6 0
      dist/font/font-awesome-4.7.0/scss/_fixed-width.scss
  28. 789 0
      dist/font/font-awesome-4.7.0/scss/_icons.scss
  29. 13 0
      dist/font/font-awesome-4.7.0/scss/_larger.scss
  30. 19 0
      dist/font/font-awesome-4.7.0/scss/_list.scss
  31. 60 0
      dist/font/font-awesome-4.7.0/scss/_mixins.scss
  32. 15 0
      dist/font/font-awesome-4.7.0/scss/_path.scss
  33. 20 0
      dist/font/font-awesome-4.7.0/scss/_rotated-flipped.scss
  34. 5 0
      dist/font/font-awesome-4.7.0/scss/_screen-reader.scss
  35. 20 0
      dist/font/font-awesome-4.7.0/scss/_stacked.scss
  36. 800 0
      dist/font/font-awesome-4.7.0/scss/_variables.scss
  37. 18 0
      dist/font/font-awesome-4.7.0/scss/font-awesome.scss
  38. 19 13
      dist/index.html
  39. 31 0
      jsonserver/server.js
  40. 10 0
      jsonserver/static_db.json
  41. 6 2
      package.json
  42. 94 0
      src/action-creator.async.js
  43. 6 0
      src/action-creator.sync.js
  44. 29 0
      src/component/ConnectionForm.jsx
  45. 14 0
      src/component/Footer.jsx
  46. 16 0
      src/component/Header/Logo.jsx
  47. 36 0
      src/component/Header/MenuActionListItem/DropdownLang.jsx
  48. 21 0
      src/component/Header/MenuActionListItem/Help.jsx
  49. 31 0
      src/component/Header/MenuActionListItem/MenuProfil.jsx
  50. 31 0
      src/component/Header/MenuActionListItem/Search.jsx
  51. 25 0
      src/component/Header/MenuLinkList.jsx
  52. 17 0
      src/component/Header/NavbarToggler.jsx
  53. 29 0
      src/component/HeaderTpl.jsx
  54. 102 0
      src/container/Header.jsx
  55. 17 0
      src/container/Home.jsx
  56. 114 0
      src/container/Login.jsx
  57. 16 0
      src/container/Page.jsx
  58. 29 0
      src/container/PrivateRoute.jsx
  59. 31 0
      src/container/Tracim.jsx
  60. 18 0
      src/css/Footer.styl
  61. 157 0
      src/css/Header.styl
  62. 44 0
      src/css/Variable.styl
  63. 3 0
      src/css/index.styl
  64. 6 0
      src/helper.js
  65. 二進制
      src/img/flagEn.png
  66. 二進制
      src/img/flagFr.png
  67. 46 0
      src/img/logoFooter.svg
  68. 50 0
      src/img/logoHeader.svg
  69. 6 8
      src/index.js
  70. 0 6
      src/reducer/init.js
  71. 2 2
      src/reducer/root.js
  72. 21 0
      src/reducer/user.js
  73. 6 5
      src/store.js
  74. 23 23
      webpack.config.js

+ 7 - 0
dist/font/font-awesome-4.7.0/HELP-US-OUT.txt 查看文件

@@ -0,0 +1,7 @@
1
+I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
2
+Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
3
+comprehensive icon sets or copy and paste your own.
4
+
5
+Please. Check it out.
6
+
7
+-Dave Gandy

文件差異過大導致無法顯示
+ 2337 - 0
dist/font/font-awesome-4.7.0/css/font-awesome.css


文件差異過大導致無法顯示
+ 4 - 0
dist/font/font-awesome-4.7.0/css/font-awesome.min.css


二進制
dist/font/font-awesome-4.7.0/fonts/FontAwesome.otf 查看文件


二進制
dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.eot 查看文件


文件差異過大導致無法顯示
+ 2671 - 0
dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.svg


二進制
dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf 查看文件


二進制
dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff 查看文件


二進制
dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 查看文件


+ 34 - 0
dist/font/font-awesome-4.7.0/less/animated.less 查看文件

@@ -0,0 +1,34 @@
1
+// Animated Icons
2
+// --------------------------
3
+
4
+.@{fa-css-prefix}-spin {
5
+  -webkit-animation: fa-spin 2s infinite linear;
6
+          animation: fa-spin 2s infinite linear;
7
+}
8
+
9
+.@{fa-css-prefix}-pulse {
10
+  -webkit-animation: fa-spin 1s infinite steps(8);
11
+          animation: fa-spin 1s infinite steps(8);
12
+}
13
+
14
+@-webkit-keyframes fa-spin {
15
+  0% {
16
+    -webkit-transform: rotate(0deg);
17
+            transform: rotate(0deg);
18
+  }
19
+  100% {
20
+    -webkit-transform: rotate(359deg);
21
+            transform: rotate(359deg);
22
+  }
23
+}
24
+
25
+@keyframes fa-spin {
26
+  0% {
27
+    -webkit-transform: rotate(0deg);
28
+            transform: rotate(0deg);
29
+  }
30
+  100% {
31
+    -webkit-transform: rotate(359deg);
32
+            transform: rotate(359deg);
33
+  }
34
+}

+ 25 - 0
dist/font/font-awesome-4.7.0/less/bordered-pulled.less 查看文件

@@ -0,0 +1,25 @@
1
+// Bordered & Pulled
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-border {
5
+  padding: .2em .25em .15em;
6
+  border: solid .08em @fa-border-color;
7
+  border-radius: .1em;
8
+}
9
+
10
+.@{fa-css-prefix}-pull-left { float: left; }
11
+.@{fa-css-prefix}-pull-right { float: right; }
12
+
13
+.@{fa-css-prefix} {
14
+  &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15
+  &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16
+}
17
+
18
+/* Deprecated as of 4.4.0 */
19
+.pull-right { float: right; }
20
+.pull-left { float: left; }
21
+
22
+.@{fa-css-prefix} {
23
+  &.pull-left { margin-right: .3em; }
24
+  &.pull-right { margin-left: .3em; }
25
+}

+ 12 - 0
dist/font/font-awesome-4.7.0/less/core.less 查看文件

@@ -0,0 +1,12 @@
1
+// Base Class Definition
2
+// -------------------------
3
+
4
+.@{fa-css-prefix} {
5
+  display: inline-block;
6
+  font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}

+ 6 - 0
dist/font/font-awesome-4.7.0/less/fixed-width.less 查看文件

@@ -0,0 +1,6 @@
1
+// Fixed Width Icons
2
+// -------------------------
3
+.@{fa-css-prefix}-fw {
4
+  width: (18em / 14);
5
+  text-align: center;
6
+}

+ 18 - 0
dist/font/font-awesome-4.7.0/less/font-awesome.less 查看文件

@@ -0,0 +1,18 @@
1
+/*!
2
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+
6
+@import "variables.less";
7
+@import "mixins.less";
8
+@import "path.less";
9
+@import "core.less";
10
+@import "larger.less";
11
+@import "fixed-width.less";
12
+@import "list.less";
13
+@import "bordered-pulled.less";
14
+@import "animated.less";
15
+@import "rotated-flipped.less";
16
+@import "stacked.less";
17
+@import "icons.less";
18
+@import "screen-reader.less";

+ 789 - 0
dist/font/font-awesome-4.7.0/less/icons.less 查看文件

@@ -0,0 +1,789 @@
1
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
2
+   readers do not read off random characters that represent icons */
3
+
4
+.@{fa-css-prefix}-glass:before { content: @fa-var-glass; }
5
+.@{fa-css-prefix}-music:before { content: @fa-var-music; }
6
+.@{fa-css-prefix}-search:before { content: @fa-var-search; }
7
+.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; }
8
+.@{fa-css-prefix}-heart:before { content: @fa-var-heart; }
9
+.@{fa-css-prefix}-star:before { content: @fa-var-star; }
10
+.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; }
11
+.@{fa-css-prefix}-user:before { content: @fa-var-user; }
12
+.@{fa-css-prefix}-film:before { content: @fa-var-film; }
13
+.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; }
14
+.@{fa-css-prefix}-th:before { content: @fa-var-th; }
15
+.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; }
16
+.@{fa-css-prefix}-check:before { content: @fa-var-check; }
17
+.@{fa-css-prefix}-remove:before,
18
+.@{fa-css-prefix}-close:before,
19
+.@{fa-css-prefix}-times:before { content: @fa-var-times; }
20
+.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; }
21
+.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; }
22
+.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; }
23
+.@{fa-css-prefix}-signal:before { content: @fa-var-signal; }
24
+.@{fa-css-prefix}-gear:before,
25
+.@{fa-css-prefix}-cog:before { content: @fa-var-cog; }
26
+.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; }
27
+.@{fa-css-prefix}-home:before { content: @fa-var-home; }
28
+.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; }
29
+.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; }
30
+.@{fa-css-prefix}-road:before { content: @fa-var-road; }
31
+.@{fa-css-prefix}-download:before { content: @fa-var-download; }
32
+.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; }
33
+.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; }
34
+.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; }
35
+.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; }
36
+.@{fa-css-prefix}-rotate-right:before,
37
+.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; }
38
+.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; }
39
+.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; }
40
+.@{fa-css-prefix}-lock:before { content: @fa-var-lock; }
41
+.@{fa-css-prefix}-flag:before { content: @fa-var-flag; }
42
+.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; }
43
+.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; }
44
+.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; }
45
+.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; }
46
+.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; }
47
+.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; }
48
+.@{fa-css-prefix}-tag:before { content: @fa-var-tag; }
49
+.@{fa-css-prefix}-tags:before { content: @fa-var-tags; }
50
+.@{fa-css-prefix}-book:before { content: @fa-var-book; }
51
+.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; }
52
+.@{fa-css-prefix}-print:before { content: @fa-var-print; }
53
+.@{fa-css-prefix}-camera:before { content: @fa-var-camera; }
54
+.@{fa-css-prefix}-font:before { content: @fa-var-font; }
55
+.@{fa-css-prefix}-bold:before { content: @fa-var-bold; }
56
+.@{fa-css-prefix}-italic:before { content: @fa-var-italic; }
57
+.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; }
58
+.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; }
59
+.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; }
60
+.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; }
61
+.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; }
62
+.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; }
63
+.@{fa-css-prefix}-list:before { content: @fa-var-list; }
64
+.@{fa-css-prefix}-dedent:before,
65
+.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; }
66
+.@{fa-css-prefix}-indent:before { content: @fa-var-indent; }
67
+.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; }
68
+.@{fa-css-prefix}-photo:before,
69
+.@{fa-css-prefix}-image:before,
70
+.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; }
71
+.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; }
72
+.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; }
73
+.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; }
74
+.@{fa-css-prefix}-tint:before { content: @fa-var-tint; }
75
+.@{fa-css-prefix}-edit:before,
76
+.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; }
77
+.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; }
78
+.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; }
79
+.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; }
80
+.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; }
81
+.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; }
82
+.@{fa-css-prefix}-backward:before { content: @fa-var-backward; }
83
+.@{fa-css-prefix}-play:before { content: @fa-var-play; }
84
+.@{fa-css-prefix}-pause:before { content: @fa-var-pause; }
85
+.@{fa-css-prefix}-stop:before { content: @fa-var-stop; }
86
+.@{fa-css-prefix}-forward:before { content: @fa-var-forward; }
87
+.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; }
88
+.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; }
89
+.@{fa-css-prefix}-eject:before { content: @fa-var-eject; }
90
+.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; }
91
+.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; }
92
+.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; }
93
+.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; }
94
+.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; }
95
+.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; }
96
+.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; }
97
+.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; }
98
+.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; }
99
+.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; }
100
+.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; }
101
+.@{fa-css-prefix}-ban:before { content: @fa-var-ban; }
102
+.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; }
103
+.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; }
104
+.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; }
105
+.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; }
106
+.@{fa-css-prefix}-mail-forward:before,
107
+.@{fa-css-prefix}-share:before { content: @fa-var-share; }
108
+.@{fa-css-prefix}-expand:before { content: @fa-var-expand; }
109
+.@{fa-css-prefix}-compress:before { content: @fa-var-compress; }
110
+.@{fa-css-prefix}-plus:before { content: @fa-var-plus; }
111
+.@{fa-css-prefix}-minus:before { content: @fa-var-minus; }
112
+.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; }
113
+.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; }
114
+.@{fa-css-prefix}-gift:before { content: @fa-var-gift; }
115
+.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; }
116
+.@{fa-css-prefix}-fire:before { content: @fa-var-fire; }
117
+.@{fa-css-prefix}-eye:before { content: @fa-var-eye; }
118
+.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; }
119
+.@{fa-css-prefix}-warning:before,
120
+.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; }
121
+.@{fa-css-prefix}-plane:before { content: @fa-var-plane; }
122
+.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; }
123
+.@{fa-css-prefix}-random:before { content: @fa-var-random; }
124
+.@{fa-css-prefix}-comment:before { content: @fa-var-comment; }
125
+.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; }
126
+.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; }
127
+.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; }
128
+.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; }
129
+.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; }
130
+.@{fa-css-prefix}-folder:before { content: @fa-var-folder; }
131
+.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; }
132
+.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; }
133
+.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; }
134
+.@{fa-css-prefix}-bar-chart-o:before,
135
+.@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; }
136
+.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; }
137
+.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; }
138
+.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; }
139
+.@{fa-css-prefix}-key:before { content: @fa-var-key; }
140
+.@{fa-css-prefix}-gears:before,
141
+.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; }
142
+.@{fa-css-prefix}-comments:before { content: @fa-var-comments; }
143
+.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; }
144
+.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; }
145
+.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; }
146
+.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; }
147
+.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; }
148
+.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; }
149
+.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; }
150
+.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; }
151
+.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; }
152
+.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; }
153
+.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; }
154
+.@{fa-css-prefix}-upload:before { content: @fa-var-upload; }
155
+.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; }
156
+.@{fa-css-prefix}-phone:before { content: @fa-var-phone; }
157
+.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; }
158
+.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; }
159
+.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; }
160
+.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; }
161
+.@{fa-css-prefix}-facebook-f:before,
162
+.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; }
163
+.@{fa-css-prefix}-github:before { content: @fa-var-github; }
164
+.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; }
165
+.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; }
166
+.@{fa-css-prefix}-feed:before,
167
+.@{fa-css-prefix}-rss:before { content: @fa-var-rss; }
168
+.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; }
169
+.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; }
170
+.@{fa-css-prefix}-bell:before { content: @fa-var-bell; }
171
+.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; }
172
+.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; }
173
+.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; }
174
+.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; }
175
+.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; }
176
+.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; }
177
+.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; }
178
+.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; }
179
+.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; }
180
+.@{fa-css-prefix}-globe:before { content: @fa-var-globe; }
181
+.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; }
182
+.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; }
183
+.@{fa-css-prefix}-filter:before { content: @fa-var-filter; }
184
+.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; }
185
+.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; }
186
+.@{fa-css-prefix}-group:before,
187
+.@{fa-css-prefix}-users:before { content: @fa-var-users; }
188
+.@{fa-css-prefix}-chain:before,
189
+.@{fa-css-prefix}-link:before { content: @fa-var-link; }
190
+.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; }
191
+.@{fa-css-prefix}-flask:before { content: @fa-var-flask; }
192
+.@{fa-css-prefix}-cut:before,
193
+.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; }
194
+.@{fa-css-prefix}-copy:before,
195
+.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; }
196
+.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; }
197
+.@{fa-css-prefix}-save:before,
198
+.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; }
199
+.@{fa-css-prefix}-square:before { content: @fa-var-square; }
200
+.@{fa-css-prefix}-navicon:before,
201
+.@{fa-css-prefix}-reorder:before,
202
+.@{fa-css-prefix}-bars:before { content: @fa-var-bars; }
203
+.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; }
204
+.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; }
205
+.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; }
206
+.@{fa-css-prefix}-underline:before { content: @fa-var-underline; }
207
+.@{fa-css-prefix}-table:before { content: @fa-var-table; }
208
+.@{fa-css-prefix}-magic:before { content: @fa-var-magic; }
209
+.@{fa-css-prefix}-truck:before { content: @fa-var-truck; }
210
+.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; }
211
+.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; }
212
+.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; }
213
+.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; }
214
+.@{fa-css-prefix}-money:before { content: @fa-var-money; }
215
+.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; }
216
+.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; }
217
+.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; }
218
+.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; }
219
+.@{fa-css-prefix}-columns:before { content: @fa-var-columns; }
220
+.@{fa-css-prefix}-unsorted:before,
221
+.@{fa-css-prefix}-sort:before { content: @fa-var-sort; }
222
+.@{fa-css-prefix}-sort-down:before,
223
+.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; }
224
+.@{fa-css-prefix}-sort-up:before,
225
+.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; }
226
+.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; }
227
+.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; }
228
+.@{fa-css-prefix}-rotate-left:before,
229
+.@{fa-css-prefix}-undo:before { content: @fa-var-undo; }
230
+.@{fa-css-prefix}-legal:before,
231
+.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; }
232
+.@{fa-css-prefix}-dashboard:before,
233
+.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; }
234
+.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; }
235
+.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; }
236
+.@{fa-css-prefix}-flash:before,
237
+.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; }
238
+.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; }
239
+.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; }
240
+.@{fa-css-prefix}-paste:before,
241
+.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; }
242
+.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; }
243
+.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; }
244
+.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; }
245
+.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; }
246
+.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; }
247
+.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; }
248
+.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; }
249
+.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; }
250
+.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; }
251
+.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; }
252
+.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; }
253
+.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; }
254
+.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; }
255
+.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; }
256
+.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; }
257
+.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; }
258
+.@{fa-css-prefix}-beer:before { content: @fa-var-beer; }
259
+.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; }
260
+.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; }
261
+.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; }
262
+.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; }
263
+.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; }
264
+.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; }
265
+.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; }
266
+.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; }
267
+.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; }
268
+.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; }
269
+.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; }
270
+.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; }
271
+.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; }
272
+.@{fa-css-prefix}-mobile-phone:before,
273
+.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; }
274
+.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; }
275
+.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; }
276
+.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; }
277
+.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; }
278
+.@{fa-css-prefix}-circle:before { content: @fa-var-circle; }
279
+.@{fa-css-prefix}-mail-reply:before,
280
+.@{fa-css-prefix}-reply:before { content: @fa-var-reply; }
281
+.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; }
282
+.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; }
283
+.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; }
284
+.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; }
285
+.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; }
286
+.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; }
287
+.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; }
288
+.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; }
289
+.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; }
290
+.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; }
291
+.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; }
292
+.@{fa-css-prefix}-code:before { content: @fa-var-code; }
293
+.@{fa-css-prefix}-mail-reply-all:before,
294
+.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; }
295
+.@{fa-css-prefix}-star-half-empty:before,
296
+.@{fa-css-prefix}-star-half-full:before,
297
+.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; }
298
+.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; }
299
+.@{fa-css-prefix}-crop:before { content: @fa-var-crop; }
300
+.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; }
301
+.@{fa-css-prefix}-unlink:before,
302
+.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; }
303
+.@{fa-css-prefix}-question:before { content: @fa-var-question; }
304
+.@{fa-css-prefix}-info:before { content: @fa-var-info; }
305
+.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; }
306
+.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; }
307
+.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; }
308
+.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; }
309
+.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; }
310
+.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; }
311
+.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; }
312
+.@{fa-css-prefix}-shield:before { content: @fa-var-shield; }
313
+.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; }
314
+.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; }
315
+.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; }
316
+.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; }
317
+.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; }
318
+.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; }
319
+.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; }
320
+.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; }
321
+.@{fa-css-prefix}-html5:before { content: @fa-var-html5; }
322
+.@{fa-css-prefix}-css3:before { content: @fa-var-css3; }
323
+.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; }
324
+.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; }
325
+.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; }
326
+.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; }
327
+.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; }
328
+.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; }
329
+.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; }
330
+.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; }
331
+.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; }
332
+.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; }
333
+.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; }
334
+.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; }
335
+.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; }
336
+.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; }
337
+.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; }
338
+.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; }
339
+.@{fa-css-prefix}-compass:before { content: @fa-var-compass; }
340
+.@{fa-css-prefix}-toggle-down:before,
341
+.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; }
342
+.@{fa-css-prefix}-toggle-up:before,
343
+.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; }
344
+.@{fa-css-prefix}-toggle-right:before,
345
+.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; }
346
+.@{fa-css-prefix}-euro:before,
347
+.@{fa-css-prefix}-eur:before { content: @fa-var-eur; }
348
+.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; }
349
+.@{fa-css-prefix}-dollar:before,
350
+.@{fa-css-prefix}-usd:before { content: @fa-var-usd; }
351
+.@{fa-css-prefix}-rupee:before,
352
+.@{fa-css-prefix}-inr:before { content: @fa-var-inr; }
353
+.@{fa-css-prefix}-cny:before,
354
+.@{fa-css-prefix}-rmb:before,
355
+.@{fa-css-prefix}-yen:before,
356
+.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; }
357
+.@{fa-css-prefix}-ruble:before,
358
+.@{fa-css-prefix}-rouble:before,
359
+.@{fa-css-prefix}-rub:before { content: @fa-var-rub; }
360
+.@{fa-css-prefix}-won:before,
361
+.@{fa-css-prefix}-krw:before { content: @fa-var-krw; }
362
+.@{fa-css-prefix}-bitcoin:before,
363
+.@{fa-css-prefix}-btc:before { content: @fa-var-btc; }
364
+.@{fa-css-prefix}-file:before { content: @fa-var-file; }
365
+.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; }
366
+.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; }
367
+.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; }
368
+.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; }
369
+.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; }
370
+.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; }
371
+.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; }
372
+.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; }
373
+.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; }
374
+.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; }
375
+.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; }
376
+.@{fa-css-prefix}-xing:before { content: @fa-var-xing; }
377
+.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; }
378
+.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; }
379
+.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; }
380
+.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; }
381
+.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; }
382
+.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; }
383
+.@{fa-css-prefix}-adn:before { content: @fa-var-adn; }
384
+.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; }
385
+.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; }
386
+.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; }
387
+.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; }
388
+.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; }
389
+.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; }
390
+.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; }
391
+.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; }
392
+.@{fa-css-prefix}-apple:before { content: @fa-var-apple; }
393
+.@{fa-css-prefix}-windows:before { content: @fa-var-windows; }
394
+.@{fa-css-prefix}-android:before { content: @fa-var-android; }
395
+.@{fa-css-prefix}-linux:before { content: @fa-var-linux; }
396
+.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; }
397
+.@{fa-css-prefix}-skype:before { content: @fa-var-skype; }
398
+.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; }
399
+.@{fa-css-prefix}-trello:before { content: @fa-var-trello; }
400
+.@{fa-css-prefix}-female:before { content: @fa-var-female; }
401
+.@{fa-css-prefix}-male:before { content: @fa-var-male; }
402
+.@{fa-css-prefix}-gittip:before,
403
+.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; }
404
+.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; }
405
+.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; }
406
+.@{fa-css-prefix}-archive:before { content: @fa-var-archive; }
407
+.@{fa-css-prefix}-bug:before { content: @fa-var-bug; }
408
+.@{fa-css-prefix}-vk:before { content: @fa-var-vk; }
409
+.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; }
410
+.@{fa-css-prefix}-renren:before { content: @fa-var-renren; }
411
+.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; }
412
+.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; }
413
+.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; }
414
+.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; }
415
+.@{fa-css-prefix}-toggle-left:before,
416
+.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; }
417
+.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; }
418
+.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; }
419
+.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; }
420
+.@{fa-css-prefix}-turkish-lira:before,
421
+.@{fa-css-prefix}-try:before { content: @fa-var-try; }
422
+.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; }
423
+.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; }
424
+.@{fa-css-prefix}-slack:before { content: @fa-var-slack; }
425
+.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; }
426
+.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; }
427
+.@{fa-css-prefix}-openid:before { content: @fa-var-openid; }
428
+.@{fa-css-prefix}-institution:before,
429
+.@{fa-css-prefix}-bank:before,
430
+.@{fa-css-prefix}-university:before { content: @fa-var-university; }
431
+.@{fa-css-prefix}-mortar-board:before,
432
+.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; }
433
+.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; }
434
+.@{fa-css-prefix}-google:before { content: @fa-var-google; }
435
+.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; }
436
+.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; }
437
+.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; }
438
+.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; }
439
+.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; }
440
+.@{fa-css-prefix}-digg:before { content: @fa-var-digg; }
441
+.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; }
442
+.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; }
443
+.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; }
444
+.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; }
445
+.@{fa-css-prefix}-language:before { content: @fa-var-language; }
446
+.@{fa-css-prefix}-fax:before { content: @fa-var-fax; }
447
+.@{fa-css-prefix}-building:before { content: @fa-var-building; }
448
+.@{fa-css-prefix}-child:before { content: @fa-var-child; }
449
+.@{fa-css-prefix}-paw:before { content: @fa-var-paw; }
450
+.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; }
451
+.@{fa-css-prefix}-cube:before { content: @fa-var-cube; }
452
+.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; }
453
+.@{fa-css-prefix}-behance:before { content: @fa-var-behance; }
454
+.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; }
455
+.@{fa-css-prefix}-steam:before { content: @fa-var-steam; }
456
+.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; }
457
+.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; }
458
+.@{fa-css-prefix}-automobile:before,
459
+.@{fa-css-prefix}-car:before { content: @fa-var-car; }
460
+.@{fa-css-prefix}-cab:before,
461
+.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; }
462
+.@{fa-css-prefix}-tree:before { content: @fa-var-tree; }
463
+.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; }
464
+.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; }
465
+.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; }
466
+.@{fa-css-prefix}-database:before { content: @fa-var-database; }
467
+.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; }
468
+.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; }
469
+.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; }
470
+.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; }
471
+.@{fa-css-prefix}-file-photo-o:before,
472
+.@{fa-css-prefix}-file-picture-o:before,
473
+.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; }
474
+.@{fa-css-prefix}-file-zip-o:before,
475
+.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; }
476
+.@{fa-css-prefix}-file-sound-o:before,
477
+.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; }
478
+.@{fa-css-prefix}-file-movie-o:before,
479
+.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; }
480
+.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; }
481
+.@{fa-css-prefix}-vine:before { content: @fa-var-vine; }
482
+.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; }
483
+.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; }
484
+.@{fa-css-prefix}-life-bouy:before,
485
+.@{fa-css-prefix}-life-buoy:before,
486
+.@{fa-css-prefix}-life-saver:before,
487
+.@{fa-css-prefix}-support:before,
488
+.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; }
489
+.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; }
490
+.@{fa-css-prefix}-ra:before,
491
+.@{fa-css-prefix}-resistance:before,
492
+.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; }
493
+.@{fa-css-prefix}-ge:before,
494
+.@{fa-css-prefix}-empire:before { content: @fa-var-empire; }
495
+.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; }
496
+.@{fa-css-prefix}-git:before { content: @fa-var-git; }
497
+.@{fa-css-prefix}-y-combinator-square:before,
498
+.@{fa-css-prefix}-yc-square:before,
499
+.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; }
500
+.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; }
501
+.@{fa-css-prefix}-qq:before { content: @fa-var-qq; }
502
+.@{fa-css-prefix}-wechat:before,
503
+.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; }
504
+.@{fa-css-prefix}-send:before,
505
+.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; }
506
+.@{fa-css-prefix}-send-o:before,
507
+.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; }
508
+.@{fa-css-prefix}-history:before { content: @fa-var-history; }
509
+.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; }
510
+.@{fa-css-prefix}-header:before { content: @fa-var-header; }
511
+.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; }
512
+.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; }
513
+.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; }
514
+.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; }
515
+.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; }
516
+.@{fa-css-prefix}-soccer-ball-o:before,
517
+.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; }
518
+.@{fa-css-prefix}-tty:before { content: @fa-var-tty; }
519
+.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; }
520
+.@{fa-css-prefix}-plug:before { content: @fa-var-plug; }
521
+.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; }
522
+.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; }
523
+.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; }
524
+.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; }
525
+.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; }
526
+.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; }
527
+.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; }
528
+.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; }
529
+.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; }
530
+.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; }
531
+.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; }
532
+.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; }
533
+.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; }
534
+.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; }
535
+.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; }
536
+.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; }
537
+.@{fa-css-prefix}-trash:before { content: @fa-var-trash; }
538
+.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; }
539
+.@{fa-css-prefix}-at:before { content: @fa-var-at; }
540
+.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; }
541
+.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; }
542
+.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; }
543
+.@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; }
544
+.@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; }
545
+.@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; }
546
+.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; }
547
+.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; }
548
+.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; }
549
+.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; }
550
+.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; }
551
+.@{fa-css-prefix}-bus:before { content: @fa-var-bus; }
552
+.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; }
553
+.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; }
554
+.@{fa-css-prefix}-cc:before { content: @fa-var-cc; }
555
+.@{fa-css-prefix}-shekel:before,
556
+.@{fa-css-prefix}-sheqel:before,
557
+.@{fa-css-prefix}-ils:before { content: @fa-var-ils; }
558
+.@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; }
559
+.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; }
560
+.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; }
561
+.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; }
562
+.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; }
563
+.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; }
564
+.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; }
565
+.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; }
566
+.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; }
567
+.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; }
568
+.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; }
569
+.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; }
570
+.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; }
571
+.@{fa-css-prefix}-ship:before { content: @fa-var-ship; }
572
+.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; }
573
+.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; }
574
+.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; }
575
+.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; }
576
+.@{fa-css-prefix}-venus:before { content: @fa-var-venus; }
577
+.@{fa-css-prefix}-mars:before { content: @fa-var-mars; }
578
+.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; }
579
+.@{fa-css-prefix}-intersex:before,
580
+.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; }
581
+.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; }
582
+.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; }
583
+.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; }
584
+.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; }
585
+.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; }
586
+.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; }
587
+.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; }
588
+.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; }
589
+.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; }
590
+.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; }
591
+.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; }
592
+.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; }
593
+.@{fa-css-prefix}-server:before { content: @fa-var-server; }
594
+.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; }
595
+.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; }
596
+.@{fa-css-prefix}-hotel:before,
597
+.@{fa-css-prefix}-bed:before { content: @fa-var-bed; }
598
+.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; }
599
+.@{fa-css-prefix}-train:before { content: @fa-var-train; }
600
+.@{fa-css-prefix}-subway:before { content: @fa-var-subway; }
601
+.@{fa-css-prefix}-medium:before { content: @fa-var-medium; }
602
+.@{fa-css-prefix}-yc:before,
603
+.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; }
604
+.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; }
605
+.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; }
606
+.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; }
607
+.@{fa-css-prefix}-battery-4:before,
608
+.@{fa-css-prefix}-battery:before,
609
+.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; }
610
+.@{fa-css-prefix}-battery-3:before,
611
+.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; }
612
+.@{fa-css-prefix}-battery-2:before,
613
+.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; }
614
+.@{fa-css-prefix}-battery-1:before,
615
+.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; }
616
+.@{fa-css-prefix}-battery-0:before,
617
+.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; }
618
+.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; }
619
+.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; }
620
+.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; }
621
+.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; }
622
+.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; }
623
+.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; }
624
+.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; }
625
+.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; }
626
+.@{fa-css-prefix}-clone:before { content: @fa-var-clone; }
627
+.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; }
628
+.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; }
629
+.@{fa-css-prefix}-hourglass-1:before,
630
+.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; }
631
+.@{fa-css-prefix}-hourglass-2:before,
632
+.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; }
633
+.@{fa-css-prefix}-hourglass-3:before,
634
+.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; }
635
+.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; }
636
+.@{fa-css-prefix}-hand-grab-o:before,
637
+.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; }
638
+.@{fa-css-prefix}-hand-stop-o:before,
639
+.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; }
640
+.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; }
641
+.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; }
642
+.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; }
643
+.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; }
644
+.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; }
645
+.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; }
646
+.@{fa-css-prefix}-registered:before { content: @fa-var-registered; }
647
+.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; }
648
+.@{fa-css-prefix}-gg:before { content: @fa-var-gg; }
649
+.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; }
650
+.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; }
651
+.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; }
652
+.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; }
653
+.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; }
654
+.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; }
655
+.@{fa-css-prefix}-safari:before { content: @fa-var-safari; }
656
+.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; }
657
+.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; }
658
+.@{fa-css-prefix}-opera:before { content: @fa-var-opera; }
659
+.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; }
660
+.@{fa-css-prefix}-tv:before,
661
+.@{fa-css-prefix}-television:before { content: @fa-var-television; }
662
+.@{fa-css-prefix}-contao:before { content: @fa-var-contao; }
663
+.@{fa-css-prefix}-500px:before { content: @fa-var-500px; }
664
+.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; }
665
+.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; }
666
+.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; }
667
+.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; }
668
+.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; }
669
+.@{fa-css-prefix}-industry:before { content: @fa-var-industry; }
670
+.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; }
671
+.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; }
672
+.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; }
673
+.@{fa-css-prefix}-map:before { content: @fa-var-map; }
674
+.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; }
675
+.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; }
676
+.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; }
677
+.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; }
678
+.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; }
679
+.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; }
680
+.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; }
681
+.@{fa-css-prefix}-edge:before { content: @fa-var-edge; }
682
+.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; }
683
+.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; }
684
+.@{fa-css-prefix}-modx:before { content: @fa-var-modx; }
685
+.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; }
686
+.@{fa-css-prefix}-usb:before { content: @fa-var-usb; }
687
+.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; }
688
+.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; }
689
+.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; }
690
+.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; }
691
+.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; }
692
+.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; }
693
+.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; }
694
+.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; }
695
+.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; }
696
+.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; }
697
+.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; }
698
+.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; }
699
+.@{fa-css-prefix}-percent:before { content: @fa-var-percent; }
700
+.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; }
701
+.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; }
702
+.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; }
703
+.@{fa-css-prefix}-envira:before { content: @fa-var-envira; }
704
+.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; }
705
+.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; }
706
+.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; }
707
+.@{fa-css-prefix}-blind:before { content: @fa-var-blind; }
708
+.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; }
709
+.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; }
710
+.@{fa-css-prefix}-braille:before { content: @fa-var-braille; }
711
+.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; }
712
+.@{fa-css-prefix}-asl-interpreting:before,
713
+.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; }
714
+.@{fa-css-prefix}-deafness:before,
715
+.@{fa-css-prefix}-hard-of-hearing:before,
716
+.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; }
717
+.@{fa-css-prefix}-glide:before { content: @fa-var-glide; }
718
+.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; }
719
+.@{fa-css-prefix}-signing:before,
720
+.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; }
721
+.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; }
722
+.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; }
723
+.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; }
724
+.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; }
725
+.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; }
726
+.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; }
727
+.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; }
728
+.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; }
729
+.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; }
730
+.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; }
731
+.@{fa-css-prefix}-google-plus-circle:before,
732
+.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; }
733
+.@{fa-css-prefix}-fa:before,
734
+.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; }
735
+.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; }
736
+.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; }
737
+.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; }
738
+.@{fa-css-prefix}-linode:before { content: @fa-var-linode; }
739
+.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; }
740
+.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; }
741
+.@{fa-css-prefix}-vcard:before,
742
+.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; }
743
+.@{fa-css-prefix}-vcard-o:before,
744
+.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; }
745
+.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; }
746
+.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; }
747
+.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; }
748
+.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; }
749
+.@{fa-css-prefix}-drivers-license:before,
750
+.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; }
751
+.@{fa-css-prefix}-drivers-license-o:before,
752
+.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; }
753
+.@{fa-css-prefix}-quora:before { content: @fa-var-quora; }
754
+.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; }
755
+.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; }
756
+.@{fa-css-prefix}-thermometer-4:before,
757
+.@{fa-css-prefix}-thermometer:before,
758
+.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; }
759
+.@{fa-css-prefix}-thermometer-3:before,
760
+.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; }
761
+.@{fa-css-prefix}-thermometer-2:before,
762
+.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; }
763
+.@{fa-css-prefix}-thermometer-1:before,
764
+.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; }
765
+.@{fa-css-prefix}-thermometer-0:before,
766
+.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; }
767
+.@{fa-css-prefix}-shower:before { content: @fa-var-shower; }
768
+.@{fa-css-prefix}-bathtub:before,
769
+.@{fa-css-prefix}-s15:before,
770
+.@{fa-css-prefix}-bath:before { content: @fa-var-bath; }
771
+.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; }
772
+.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; }
773
+.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; }
774
+.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; }
775
+.@{fa-css-prefix}-times-rectangle:before,
776
+.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; }
777
+.@{fa-css-prefix}-times-rectangle-o:before,
778
+.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; }
779
+.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; }
780
+.@{fa-css-prefix}-grav:before { content: @fa-var-grav; }
781
+.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; }
782
+.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; }
783
+.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; }
784
+.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; }
785
+.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; }
786
+.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; }
787
+.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; }
788
+.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; }
789
+.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; }

+ 13 - 0
dist/font/font-awesome-4.7.0/less/larger.less 查看文件

@@ -0,0 +1,13 @@
1
+// Icon Sizes
2
+// -------------------------
3
+
4
+/* makes the font 33% larger relative to the icon container */
5
+.@{fa-css-prefix}-lg {
6
+  font-size: (4em / 3);
7
+  line-height: (3em / 4);
8
+  vertical-align: -15%;
9
+}
10
+.@{fa-css-prefix}-2x { font-size: 2em; }
11
+.@{fa-css-prefix}-3x { font-size: 3em; }
12
+.@{fa-css-prefix}-4x { font-size: 4em; }
13
+.@{fa-css-prefix}-5x { font-size: 5em; }

+ 19 - 0
dist/font/font-awesome-4.7.0/less/list.less 查看文件

@@ -0,0 +1,19 @@
1
+// List Icons
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-ul {
5
+  padding-left: 0;
6
+  margin-left: @fa-li-width;
7
+  list-style-type: none;
8
+  > li { position: relative; }
9
+}
10
+.@{fa-css-prefix}-li {
11
+  position: absolute;
12
+  left: -@fa-li-width;
13
+  width: @fa-li-width;
14
+  top: (2em / 14);
15
+  text-align: center;
16
+  &.@{fa-css-prefix}-lg {
17
+    left: (-@fa-li-width + (4em / 14));
18
+  }
19
+}

+ 60 - 0
dist/font/font-awesome-4.7.0/less/mixins.less 查看文件

@@ -0,0 +1,60 @@
1
+// Mixins
2
+// --------------------------
3
+
4
+.fa-icon() {
5
+  display: inline-block;
6
+  font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}
13
+
14
+.fa-icon-rotate(@degrees, @rotation) {
15
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
16
+  -webkit-transform: rotate(@degrees);
17
+      -ms-transform: rotate(@degrees);
18
+          transform: rotate(@degrees);
19
+}
20
+
21
+.fa-icon-flip(@horiz, @vert, @rotation) {
22
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
23
+  -webkit-transform: scale(@horiz, @vert);
24
+      -ms-transform: scale(@horiz, @vert);
25
+          transform: scale(@horiz, @vert);
26
+}
27
+
28
+
29
+// Only display content to screen readers. A la Bootstrap 4.
30
+//
31
+// See: http://a11yproject.com/posts/how-to-hide-content/
32
+
33
+.sr-only() {
34
+  position: absolute;
35
+  width: 1px;
36
+  height: 1px;
37
+  padding: 0;
38
+  margin: -1px;
39
+  overflow: hidden;
40
+  clip: rect(0,0,0,0);
41
+  border: 0;
42
+}
43
+
44
+// Use in conjunction with .sr-only to only display content when it's focused.
45
+//
46
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47
+//
48
+// Credit: HTML5 Boilerplate
49
+
50
+.sr-only-focusable() {
51
+  &:active,
52
+  &:focus {
53
+    position: static;
54
+    width: auto;
55
+    height: auto;
56
+    margin: 0;
57
+    overflow: visible;
58
+    clip: auto;
59
+  }
60
+}

+ 15 - 0
dist/font/font-awesome-4.7.0/less/path.less 查看文件

@@ -0,0 +1,15 @@
1
+/* FONT PATH
2
+ * -------------------------- */
3
+
4
+@font-face {
5
+  font-family: 'FontAwesome';
6
+  src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7
+  src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8
+    url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9
+    url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10
+    url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11
+    url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12
+  // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13
+  font-weight: normal;
14
+  font-style: normal;
15
+}

+ 20 - 0
dist/font/font-awesome-4.7.0/less/rotated-flipped.less 查看文件

@@ -0,0 +1,20 @@
1
+// Rotated & Flipped Icons
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-rotate-90  { .fa-icon-rotate(90deg, 1);  }
5
+.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6
+.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7
+
8
+.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9
+.@{fa-css-prefix}-flip-vertical   { .fa-icon-flip(1, -1, 2); }
10
+
11
+// Hook for IE8-9
12
+// -------------------------
13
+
14
+:root .@{fa-css-prefix}-rotate-90,
15
+:root .@{fa-css-prefix}-rotate-180,
16
+:root .@{fa-css-prefix}-rotate-270,
17
+:root .@{fa-css-prefix}-flip-horizontal,
18
+:root .@{fa-css-prefix}-flip-vertical {
19
+  filter: none;
20
+}

+ 5 - 0
dist/font/font-awesome-4.7.0/less/screen-reader.less 查看文件

@@ -0,0 +1,5 @@
1
+// Screen Readers
2
+// -------------------------
3
+
4
+.sr-only { .sr-only(); }
5
+.sr-only-focusable { .sr-only-focusable(); }

+ 20 - 0
dist/font/font-awesome-4.7.0/less/stacked.less 查看文件

@@ -0,0 +1,20 @@
1
+// Stacked Icons
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-stack {
5
+  position: relative;
6
+  display: inline-block;
7
+  width: 2em;
8
+  height: 2em;
9
+  line-height: 2em;
10
+  vertical-align: middle;
11
+}
12
+.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13
+  position: absolute;
14
+  left: 0;
15
+  width: 100%;
16
+  text-align: center;
17
+}
18
+.@{fa-css-prefix}-stack-1x { line-height: inherit; }
19
+.@{fa-css-prefix}-stack-2x { font-size: 2em; }
20
+.@{fa-css-prefix}-inverse { color: @fa-inverse; }

+ 800 - 0
dist/font/font-awesome-4.7.0/less/variables.less 查看文件

@@ -0,0 +1,800 @@
1
+// Variables
2
+// --------------------------
3
+
4
+@fa-font-path:        "../fonts";
5
+@fa-font-size-base:   14px;
6
+@fa-line-height-base: 1;
7
+//@fa-font-path:        "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly
8
+@fa-css-prefix:       fa;
9
+@fa-version:          "4.7.0";
10
+@fa-border-color:     #eee;
11
+@fa-inverse:          #fff;
12
+@fa-li-width:         (30em / 14);
13
+
14
+@fa-var-500px: "\f26e";
15
+@fa-var-address-book: "\f2b9";
16
+@fa-var-address-book-o: "\f2ba";
17
+@fa-var-address-card: "\f2bb";
18
+@fa-var-address-card-o: "\f2bc";
19
+@fa-var-adjust: "\f042";
20
+@fa-var-adn: "\f170";
21
+@fa-var-align-center: "\f037";
22
+@fa-var-align-justify: "\f039";
23
+@fa-var-align-left: "\f036";
24
+@fa-var-align-right: "\f038";
25
+@fa-var-amazon: "\f270";
26
+@fa-var-ambulance: "\f0f9";
27
+@fa-var-american-sign-language-interpreting: "\f2a3";
28
+@fa-var-anchor: "\f13d";
29
+@fa-var-android: "\f17b";
30
+@fa-var-angellist: "\f209";
31
+@fa-var-angle-double-down: "\f103";
32
+@fa-var-angle-double-left: "\f100";
33
+@fa-var-angle-double-right: "\f101";
34
+@fa-var-angle-double-up: "\f102";
35
+@fa-var-angle-down: "\f107";
36
+@fa-var-angle-left: "\f104";
37
+@fa-var-angle-right: "\f105";
38
+@fa-var-angle-up: "\f106";
39
+@fa-var-apple: "\f179";
40
+@fa-var-archive: "\f187";
41
+@fa-var-area-chart: "\f1fe";
42
+@fa-var-arrow-circle-down: "\f0ab";
43
+@fa-var-arrow-circle-left: "\f0a8";
44
+@fa-var-arrow-circle-o-down: "\f01a";
45
+@fa-var-arrow-circle-o-left: "\f190";
46
+@fa-var-arrow-circle-o-right: "\f18e";
47
+@fa-var-arrow-circle-o-up: "\f01b";
48
+@fa-var-arrow-circle-right: "\f0a9";
49
+@fa-var-arrow-circle-up: "\f0aa";
50
+@fa-var-arrow-down: "\f063";
51
+@fa-var-arrow-left: "\f060";
52
+@fa-var-arrow-right: "\f061";
53
+@fa-var-arrow-up: "\f062";
54
+@fa-var-arrows: "\f047";
55
+@fa-var-arrows-alt: "\f0b2";
56
+@fa-var-arrows-h: "\f07e";
57
+@fa-var-arrows-v: "\f07d";
58
+@fa-var-asl-interpreting: "\f2a3";
59
+@fa-var-assistive-listening-systems: "\f2a2";
60
+@fa-var-asterisk: "\f069";
61
+@fa-var-at: "\f1fa";
62
+@fa-var-audio-description: "\f29e";
63
+@fa-var-automobile: "\f1b9";
64
+@fa-var-backward: "\f04a";
65
+@fa-var-balance-scale: "\f24e";
66
+@fa-var-ban: "\f05e";
67
+@fa-var-bandcamp: "\f2d5";
68
+@fa-var-bank: "\f19c";
69
+@fa-var-bar-chart: "\f080";
70
+@fa-var-bar-chart-o: "\f080";
71
+@fa-var-barcode: "\f02a";
72
+@fa-var-bars: "\f0c9";
73
+@fa-var-bath: "\f2cd";
74
+@fa-var-bathtub: "\f2cd";
75
+@fa-var-battery: "\f240";
76
+@fa-var-battery-0: "\f244";
77
+@fa-var-battery-1: "\f243";
78
+@fa-var-battery-2: "\f242";
79
+@fa-var-battery-3: "\f241";
80
+@fa-var-battery-4: "\f240";
81
+@fa-var-battery-empty: "\f244";
82
+@fa-var-battery-full: "\f240";
83
+@fa-var-battery-half: "\f242";
84
+@fa-var-battery-quarter: "\f243";
85
+@fa-var-battery-three-quarters: "\f241";
86
+@fa-var-bed: "\f236";
87
+@fa-var-beer: "\f0fc";
88
+@fa-var-behance: "\f1b4";
89
+@fa-var-behance-square: "\f1b5";
90
+@fa-var-bell: "\f0f3";
91
+@fa-var-bell-o: "\f0a2";
92
+@fa-var-bell-slash: "\f1f6";
93
+@fa-var-bell-slash-o: "\f1f7";
94
+@fa-var-bicycle: "\f206";
95
+@fa-var-binoculars: "\f1e5";
96
+@fa-var-birthday-cake: "\f1fd";
97
+@fa-var-bitbucket: "\f171";
98
+@fa-var-bitbucket-square: "\f172";
99
+@fa-var-bitcoin: "\f15a";
100
+@fa-var-black-tie: "\f27e";
101
+@fa-var-blind: "\f29d";
102
+@fa-var-bluetooth: "\f293";
103
+@fa-var-bluetooth-b: "\f294";
104
+@fa-var-bold: "\f032";
105
+@fa-var-bolt: "\f0e7";
106
+@fa-var-bomb: "\f1e2";
107
+@fa-var-book: "\f02d";
108
+@fa-var-bookmark: "\f02e";
109
+@fa-var-bookmark-o: "\f097";
110
+@fa-var-braille: "\f2a1";
111
+@fa-var-briefcase: "\f0b1";
112
+@fa-var-btc: "\f15a";
113
+@fa-var-bug: "\f188";
114
+@fa-var-building: "\f1ad";
115
+@fa-var-building-o: "\f0f7";
116
+@fa-var-bullhorn: "\f0a1";
117
+@fa-var-bullseye: "\f140";
118
+@fa-var-bus: "\f207";
119
+@fa-var-buysellads: "\f20d";
120
+@fa-var-cab: "\f1ba";
121
+@fa-var-calculator: "\f1ec";
122
+@fa-var-calendar: "\f073";
123
+@fa-var-calendar-check-o: "\f274";
124
+@fa-var-calendar-minus-o: "\f272";
125
+@fa-var-calendar-o: "\f133";
126
+@fa-var-calendar-plus-o: "\f271";
127
+@fa-var-calendar-times-o: "\f273";
128
+@fa-var-camera: "\f030";
129
+@fa-var-camera-retro: "\f083";
130
+@fa-var-car: "\f1b9";
131
+@fa-var-caret-down: "\f0d7";
132
+@fa-var-caret-left: "\f0d9";
133
+@fa-var-caret-right: "\f0da";
134
+@fa-var-caret-square-o-down: "\f150";
135
+@fa-var-caret-square-o-left: "\f191";
136
+@fa-var-caret-square-o-right: "\f152";
137
+@fa-var-caret-square-o-up: "\f151";
138
+@fa-var-caret-up: "\f0d8";
139
+@fa-var-cart-arrow-down: "\f218";
140
+@fa-var-cart-plus: "\f217";
141
+@fa-var-cc: "\f20a";
142
+@fa-var-cc-amex: "\f1f3";
143
+@fa-var-cc-diners-club: "\f24c";
144
+@fa-var-cc-discover: "\f1f2";
145
+@fa-var-cc-jcb: "\f24b";
146
+@fa-var-cc-mastercard: "\f1f1";
147
+@fa-var-cc-paypal: "\f1f4";
148
+@fa-var-cc-stripe: "\f1f5";
149
+@fa-var-cc-visa: "\f1f0";
150
+@fa-var-certificate: "\f0a3";
151
+@fa-var-chain: "\f0c1";
152
+@fa-var-chain-broken: "\f127";
153
+@fa-var-check: "\f00c";
154
+@fa-var-check-circle: "\f058";
155
+@fa-var-check-circle-o: "\f05d";
156
+@fa-var-check-square: "\f14a";
157
+@fa-var-check-square-o: "\f046";
158
+@fa-var-chevron-circle-down: "\f13a";
159
+@fa-var-chevron-circle-left: "\f137";
160
+@fa-var-chevron-circle-right: "\f138";
161
+@fa-var-chevron-circle-up: "\f139";
162
+@fa-var-chevron-down: "\f078";
163
+@fa-var-chevron-left: "\f053";
164
+@fa-var-chevron-right: "\f054";
165
+@fa-var-chevron-up: "\f077";
166
+@fa-var-child: "\f1ae";
167
+@fa-var-chrome: "\f268";
168
+@fa-var-circle: "\f111";
169
+@fa-var-circle-o: "\f10c";
170
+@fa-var-circle-o-notch: "\f1ce";
171
+@fa-var-circle-thin: "\f1db";
172
+@fa-var-clipboard: "\f0ea";
173
+@fa-var-clock-o: "\f017";
174
+@fa-var-clone: "\f24d";
175
+@fa-var-close: "\f00d";
176
+@fa-var-cloud: "\f0c2";
177
+@fa-var-cloud-download: "\f0ed";
178
+@fa-var-cloud-upload: "\f0ee";
179
+@fa-var-cny: "\f157";
180
+@fa-var-code: "\f121";
181
+@fa-var-code-fork: "\f126";
182
+@fa-var-codepen: "\f1cb";
183
+@fa-var-codiepie: "\f284";
184
+@fa-var-coffee: "\f0f4";
185
+@fa-var-cog: "\f013";
186
+@fa-var-cogs: "\f085";
187
+@fa-var-columns: "\f0db";
188
+@fa-var-comment: "\f075";
189
+@fa-var-comment-o: "\f0e5";
190
+@fa-var-commenting: "\f27a";
191
+@fa-var-commenting-o: "\f27b";
192
+@fa-var-comments: "\f086";
193
+@fa-var-comments-o: "\f0e6";
194
+@fa-var-compass: "\f14e";
195
+@fa-var-compress: "\f066";
196
+@fa-var-connectdevelop: "\f20e";
197
+@fa-var-contao: "\f26d";
198
+@fa-var-copy: "\f0c5";
199
+@fa-var-copyright: "\f1f9";
200
+@fa-var-creative-commons: "\f25e";
201
+@fa-var-credit-card: "\f09d";
202
+@fa-var-credit-card-alt: "\f283";
203
+@fa-var-crop: "\f125";
204
+@fa-var-crosshairs: "\f05b";
205
+@fa-var-css3: "\f13c";
206
+@fa-var-cube: "\f1b2";
207
+@fa-var-cubes: "\f1b3";
208
+@fa-var-cut: "\f0c4";
209
+@fa-var-cutlery: "\f0f5";
210
+@fa-var-dashboard: "\f0e4";
211
+@fa-var-dashcube: "\f210";
212
+@fa-var-database: "\f1c0";
213
+@fa-var-deaf: "\f2a4";
214
+@fa-var-deafness: "\f2a4";
215
+@fa-var-dedent: "\f03b";
216
+@fa-var-delicious: "\f1a5";
217
+@fa-var-desktop: "\f108";
218
+@fa-var-deviantart: "\f1bd";
219
+@fa-var-diamond: "\f219";
220
+@fa-var-digg: "\f1a6";
221
+@fa-var-dollar: "\f155";
222
+@fa-var-dot-circle-o: "\f192";
223
+@fa-var-download: "\f019";
224
+@fa-var-dribbble: "\f17d";
225
+@fa-var-drivers-license: "\f2c2";
226
+@fa-var-drivers-license-o: "\f2c3";
227
+@fa-var-dropbox: "\f16b";
228
+@fa-var-drupal: "\f1a9";
229
+@fa-var-edge: "\f282";
230
+@fa-var-edit: "\f044";
231
+@fa-var-eercast: "\f2da";
232
+@fa-var-eject: "\f052";
233
+@fa-var-ellipsis-h: "\f141";
234
+@fa-var-ellipsis-v: "\f142";
235
+@fa-var-empire: "\f1d1";
236
+@fa-var-envelope: "\f0e0";
237
+@fa-var-envelope-o: "\f003";
238
+@fa-var-envelope-open: "\f2b6";
239
+@fa-var-envelope-open-o: "\f2b7";
240
+@fa-var-envelope-square: "\f199";
241
+@fa-var-envira: "\f299";
242
+@fa-var-eraser: "\f12d";
243
+@fa-var-etsy: "\f2d7";
244
+@fa-var-eur: "\f153";
245
+@fa-var-euro: "\f153";
246
+@fa-var-exchange: "\f0ec";
247
+@fa-var-exclamation: "\f12a";
248
+@fa-var-exclamation-circle: "\f06a";
249
+@fa-var-exclamation-triangle: "\f071";
250
+@fa-var-expand: "\f065";
251
+@fa-var-expeditedssl: "\f23e";
252
+@fa-var-external-link: "\f08e";
253
+@fa-var-external-link-square: "\f14c";
254
+@fa-var-eye: "\f06e";
255
+@fa-var-eye-slash: "\f070";
256
+@fa-var-eyedropper: "\f1fb";
257
+@fa-var-fa: "\f2b4";
258
+@fa-var-facebook: "\f09a";
259
+@fa-var-facebook-f: "\f09a";
260
+@fa-var-facebook-official: "\f230";
261
+@fa-var-facebook-square: "\f082";
262
+@fa-var-fast-backward: "\f049";
263
+@fa-var-fast-forward: "\f050";
264
+@fa-var-fax: "\f1ac";
265
+@fa-var-feed: "\f09e";
266
+@fa-var-female: "\f182";
267
+@fa-var-fighter-jet: "\f0fb";
268
+@fa-var-file: "\f15b";
269
+@fa-var-file-archive-o: "\f1c6";
270
+@fa-var-file-audio-o: "\f1c7";
271
+@fa-var-file-code-o: "\f1c9";
272
+@fa-var-file-excel-o: "\f1c3";
273
+@fa-var-file-image-o: "\f1c5";
274
+@fa-var-file-movie-o: "\f1c8";
275
+@fa-var-file-o: "\f016";
276
+@fa-var-file-pdf-o: "\f1c1";
277
+@fa-var-file-photo-o: "\f1c5";
278
+@fa-var-file-picture-o: "\f1c5";
279
+@fa-var-file-powerpoint-o: "\f1c4";
280
+@fa-var-file-sound-o: "\f1c7";
281
+@fa-var-file-text: "\f15c";
282
+@fa-var-file-text-o: "\f0f6";
283
+@fa-var-file-video-o: "\f1c8";
284
+@fa-var-file-word-o: "\f1c2";
285
+@fa-var-file-zip-o: "\f1c6";
286
+@fa-var-files-o: "\f0c5";
287
+@fa-var-film: "\f008";
288
+@fa-var-filter: "\f0b0";
289
+@fa-var-fire: "\f06d";
290
+@fa-var-fire-extinguisher: "\f134";
291
+@fa-var-firefox: "\f269";
292
+@fa-var-first-order: "\f2b0";
293
+@fa-var-flag: "\f024";
294
+@fa-var-flag-checkered: "\f11e";
295
+@fa-var-flag-o: "\f11d";
296
+@fa-var-flash: "\f0e7";
297
+@fa-var-flask: "\f0c3";
298
+@fa-var-flickr: "\f16e";
299
+@fa-var-floppy-o: "\f0c7";
300
+@fa-var-folder: "\f07b";
301
+@fa-var-folder-o: "\f114";
302
+@fa-var-folder-open: "\f07c";
303
+@fa-var-folder-open-o: "\f115";
304
+@fa-var-font: "\f031";
305
+@fa-var-font-awesome: "\f2b4";
306
+@fa-var-fonticons: "\f280";
307
+@fa-var-fort-awesome: "\f286";
308
+@fa-var-forumbee: "\f211";
309
+@fa-var-forward: "\f04e";
310
+@fa-var-foursquare: "\f180";
311
+@fa-var-free-code-camp: "\f2c5";
312
+@fa-var-frown-o: "\f119";
313
+@fa-var-futbol-o: "\f1e3";
314
+@fa-var-gamepad: "\f11b";
315
+@fa-var-gavel: "\f0e3";
316
+@fa-var-gbp: "\f154";
317
+@fa-var-ge: "\f1d1";
318
+@fa-var-gear: "\f013";
319
+@fa-var-gears: "\f085";
320
+@fa-var-genderless: "\f22d";
321
+@fa-var-get-pocket: "\f265";
322
+@fa-var-gg: "\f260";
323
+@fa-var-gg-circle: "\f261";
324
+@fa-var-gift: "\f06b";
325
+@fa-var-git: "\f1d3";
326
+@fa-var-git-square: "\f1d2";
327
+@fa-var-github: "\f09b";
328
+@fa-var-github-alt: "\f113";
329
+@fa-var-github-square: "\f092";
330
+@fa-var-gitlab: "\f296";
331
+@fa-var-gittip: "\f184";
332
+@fa-var-glass: "\f000";
333
+@fa-var-glide: "\f2a5";
334
+@fa-var-glide-g: "\f2a6";
335
+@fa-var-globe: "\f0ac";
336
+@fa-var-google: "\f1a0";
337
+@fa-var-google-plus: "\f0d5";
338
+@fa-var-google-plus-circle: "\f2b3";
339
+@fa-var-google-plus-official: "\f2b3";
340
+@fa-var-google-plus-square: "\f0d4";
341
+@fa-var-google-wallet: "\f1ee";
342
+@fa-var-graduation-cap: "\f19d";
343
+@fa-var-gratipay: "\f184";
344
+@fa-var-grav: "\f2d6";
345
+@fa-var-group: "\f0c0";
346
+@fa-var-h-square: "\f0fd";
347
+@fa-var-hacker-news: "\f1d4";
348
+@fa-var-hand-grab-o: "\f255";
349
+@fa-var-hand-lizard-o: "\f258";
350
+@fa-var-hand-o-down: "\f0a7";
351
+@fa-var-hand-o-left: "\f0a5";
352
+@fa-var-hand-o-right: "\f0a4";
353
+@fa-var-hand-o-up: "\f0a6";
354
+@fa-var-hand-paper-o: "\f256";
355
+@fa-var-hand-peace-o: "\f25b";
356
+@fa-var-hand-pointer-o: "\f25a";
357
+@fa-var-hand-rock-o: "\f255";
358
+@fa-var-hand-scissors-o: "\f257";
359
+@fa-var-hand-spock-o: "\f259";
360
+@fa-var-hand-stop-o: "\f256";
361
+@fa-var-handshake-o: "\f2b5";
362
+@fa-var-hard-of-hearing: "\f2a4";
363
+@fa-var-hashtag: "\f292";
364
+@fa-var-hdd-o: "\f0a0";
365
+@fa-var-header: "\f1dc";
366
+@fa-var-headphones: "\f025";
367
+@fa-var-heart: "\f004";
368
+@fa-var-heart-o: "\f08a";
369
+@fa-var-heartbeat: "\f21e";
370
+@fa-var-history: "\f1da";
371
+@fa-var-home: "\f015";
372
+@fa-var-hospital-o: "\f0f8";
373
+@fa-var-hotel: "\f236";
374
+@fa-var-hourglass: "\f254";
375
+@fa-var-hourglass-1: "\f251";
376
+@fa-var-hourglass-2: "\f252";
377
+@fa-var-hourglass-3: "\f253";
378
+@fa-var-hourglass-end: "\f253";
379
+@fa-var-hourglass-half: "\f252";
380
+@fa-var-hourglass-o: "\f250";
381
+@fa-var-hourglass-start: "\f251";
382
+@fa-var-houzz: "\f27c";
383
+@fa-var-html5: "\f13b";
384
+@fa-var-i-cursor: "\f246";
385
+@fa-var-id-badge: "\f2c1";
386
+@fa-var-id-card: "\f2c2";
387
+@fa-var-id-card-o: "\f2c3";
388
+@fa-var-ils: "\f20b";
389
+@fa-var-image: "\f03e";
390
+@fa-var-imdb: "\f2d8";
391
+@fa-var-inbox: "\f01c";
392
+@fa-var-indent: "\f03c";
393
+@fa-var-industry: "\f275";
394
+@fa-var-info: "\f129";
395
+@fa-var-info-circle: "\f05a";
396
+@fa-var-inr: "\f156";
397
+@fa-var-instagram: "\f16d";
398
+@fa-var-institution: "\f19c";
399
+@fa-var-internet-explorer: "\f26b";
400
+@fa-var-intersex: "\f224";
401
+@fa-var-ioxhost: "\f208";
402
+@fa-var-italic: "\f033";
403
+@fa-var-joomla: "\f1aa";
404
+@fa-var-jpy: "\f157";
405
+@fa-var-jsfiddle: "\f1cc";
406
+@fa-var-key: "\f084";
407
+@fa-var-keyboard-o: "\f11c";
408
+@fa-var-krw: "\f159";
409
+@fa-var-language: "\f1ab";
410
+@fa-var-laptop: "\f109";
411
+@fa-var-lastfm: "\f202";
412
+@fa-var-lastfm-square: "\f203";
413
+@fa-var-leaf: "\f06c";
414
+@fa-var-leanpub: "\f212";
415
+@fa-var-legal: "\f0e3";
416
+@fa-var-lemon-o: "\f094";
417
+@fa-var-level-down: "\f149";
418
+@fa-var-level-up: "\f148";
419
+@fa-var-life-bouy: "\f1cd";
420
+@fa-var-life-buoy: "\f1cd";
421
+@fa-var-life-ring: "\f1cd";
422
+@fa-var-life-saver: "\f1cd";
423
+@fa-var-lightbulb-o: "\f0eb";
424
+@fa-var-line-chart: "\f201";
425
+@fa-var-link: "\f0c1";
426
+@fa-var-linkedin: "\f0e1";
427
+@fa-var-linkedin-square: "\f08c";
428
+@fa-var-linode: "\f2b8";
429
+@fa-var-linux: "\f17c";
430
+@fa-var-list: "\f03a";
431
+@fa-var-list-alt: "\f022";
432
+@fa-var-list-ol: "\f0cb";
433
+@fa-var-list-ul: "\f0ca";
434
+@fa-var-location-arrow: "\f124";
435
+@fa-var-lock: "\f023";
436
+@fa-var-long-arrow-down: "\f175";
437
+@fa-var-long-arrow-left: "\f177";
438
+@fa-var-long-arrow-right: "\f178";
439
+@fa-var-long-arrow-up: "\f176";
440
+@fa-var-low-vision: "\f2a8";
441
+@fa-var-magic: "\f0d0";
442
+@fa-var-magnet: "\f076";
443
+@fa-var-mail-forward: "\f064";
444
+@fa-var-mail-reply: "\f112";
445
+@fa-var-mail-reply-all: "\f122";
446
+@fa-var-male: "\f183";
447
+@fa-var-map: "\f279";
448
+@fa-var-map-marker: "\f041";
449
+@fa-var-map-o: "\f278";
450
+@fa-var-map-pin: "\f276";
451
+@fa-var-map-signs: "\f277";
452
+@fa-var-mars: "\f222";
453
+@fa-var-mars-double: "\f227";
454
+@fa-var-mars-stroke: "\f229";
455
+@fa-var-mars-stroke-h: "\f22b";
456
+@fa-var-mars-stroke-v: "\f22a";
457
+@fa-var-maxcdn: "\f136";
458
+@fa-var-meanpath: "\f20c";
459
+@fa-var-medium: "\f23a";
460
+@fa-var-medkit: "\f0fa";
461
+@fa-var-meetup: "\f2e0";
462
+@fa-var-meh-o: "\f11a";
463
+@fa-var-mercury: "\f223";
464
+@fa-var-microchip: "\f2db";
465
+@fa-var-microphone: "\f130";
466
+@fa-var-microphone-slash: "\f131";
467
+@fa-var-minus: "\f068";
468
+@fa-var-minus-circle: "\f056";
469
+@fa-var-minus-square: "\f146";
470
+@fa-var-minus-square-o: "\f147";
471
+@fa-var-mixcloud: "\f289";
472
+@fa-var-mobile: "\f10b";
473
+@fa-var-mobile-phone: "\f10b";
474
+@fa-var-modx: "\f285";
475
+@fa-var-money: "\f0d6";
476
+@fa-var-moon-o: "\f186";
477
+@fa-var-mortar-board: "\f19d";
478
+@fa-var-motorcycle: "\f21c";
479
+@fa-var-mouse-pointer: "\f245";
480
+@fa-var-music: "\f001";
481
+@fa-var-navicon: "\f0c9";
482
+@fa-var-neuter: "\f22c";
483
+@fa-var-newspaper-o: "\f1ea";
484
+@fa-var-object-group: "\f247";
485
+@fa-var-object-ungroup: "\f248";
486
+@fa-var-odnoklassniki: "\f263";
487
+@fa-var-odnoklassniki-square: "\f264";
488
+@fa-var-opencart: "\f23d";
489
+@fa-var-openid: "\f19b";
490
+@fa-var-opera: "\f26a";
491
+@fa-var-optin-monster: "\f23c";
492
+@fa-var-outdent: "\f03b";
493
+@fa-var-pagelines: "\f18c";
494
+@fa-var-paint-brush: "\f1fc";
495
+@fa-var-paper-plane: "\f1d8";
496
+@fa-var-paper-plane-o: "\f1d9";
497
+@fa-var-paperclip: "\f0c6";
498
+@fa-var-paragraph: "\f1dd";
499
+@fa-var-paste: "\f0ea";
500
+@fa-var-pause: "\f04c";
501
+@fa-var-pause-circle: "\f28b";
502
+@fa-var-pause-circle-o: "\f28c";
503
+@fa-var-paw: "\f1b0";
504
+@fa-var-paypal: "\f1ed";
505
+@fa-var-pencil: "\f040";
506
+@fa-var-pencil-square: "\f14b";
507
+@fa-var-pencil-square-o: "\f044";
508
+@fa-var-percent: "\f295";
509
+@fa-var-phone: "\f095";
510
+@fa-var-phone-square: "\f098";
511
+@fa-var-photo: "\f03e";
512
+@fa-var-picture-o: "\f03e";
513
+@fa-var-pie-chart: "\f200";
514
+@fa-var-pied-piper: "\f2ae";
515
+@fa-var-pied-piper-alt: "\f1a8";
516
+@fa-var-pied-piper-pp: "\f1a7";
517
+@fa-var-pinterest: "\f0d2";
518
+@fa-var-pinterest-p: "\f231";
519
+@fa-var-pinterest-square: "\f0d3";
520
+@fa-var-plane: "\f072";
521
+@fa-var-play: "\f04b";
522
+@fa-var-play-circle: "\f144";
523
+@fa-var-play-circle-o: "\f01d";
524
+@fa-var-plug: "\f1e6";
525
+@fa-var-plus: "\f067";
526
+@fa-var-plus-circle: "\f055";
527
+@fa-var-plus-square: "\f0fe";
528
+@fa-var-plus-square-o: "\f196";
529
+@fa-var-podcast: "\f2ce";
530
+@fa-var-power-off: "\f011";
531
+@fa-var-print: "\f02f";
532
+@fa-var-product-hunt: "\f288";
533
+@fa-var-puzzle-piece: "\f12e";
534
+@fa-var-qq: "\f1d6";
535
+@fa-var-qrcode: "\f029";
536
+@fa-var-question: "\f128";
537
+@fa-var-question-circle: "\f059";
538
+@fa-var-question-circle-o: "\f29c";
539
+@fa-var-quora: "\f2c4";
540
+@fa-var-quote-left: "\f10d";
541
+@fa-var-quote-right: "\f10e";
542
+@fa-var-ra: "\f1d0";
543
+@fa-var-random: "\f074";
544
+@fa-var-ravelry: "\f2d9";
545
+@fa-var-rebel: "\f1d0";
546
+@fa-var-recycle: "\f1b8";
547
+@fa-var-reddit: "\f1a1";
548
+@fa-var-reddit-alien: "\f281";
549
+@fa-var-reddit-square: "\f1a2";
550
+@fa-var-refresh: "\f021";
551
+@fa-var-registered: "\f25d";
552
+@fa-var-remove: "\f00d";
553
+@fa-var-renren: "\f18b";
554
+@fa-var-reorder: "\f0c9";
555
+@fa-var-repeat: "\f01e";
556
+@fa-var-reply: "\f112";
557
+@fa-var-reply-all: "\f122";
558
+@fa-var-resistance: "\f1d0";
559
+@fa-var-retweet: "\f079";
560
+@fa-var-rmb: "\f157";
561
+@fa-var-road: "\f018";
562
+@fa-var-rocket: "\f135";
563
+@fa-var-rotate-left: "\f0e2";
564
+@fa-var-rotate-right: "\f01e";
565
+@fa-var-rouble: "\f158";
566
+@fa-var-rss: "\f09e";
567
+@fa-var-rss-square: "\f143";
568
+@fa-var-rub: "\f158";
569
+@fa-var-ruble: "\f158";
570
+@fa-var-rupee: "\f156";
571
+@fa-var-s15: "\f2cd";
572
+@fa-var-safari: "\f267";
573
+@fa-var-save: "\f0c7";
574
+@fa-var-scissors: "\f0c4";
575
+@fa-var-scribd: "\f28a";
576
+@fa-var-search: "\f002";
577
+@fa-var-search-minus: "\f010";
578
+@fa-var-search-plus: "\f00e";
579
+@fa-var-sellsy: "\f213";
580
+@fa-var-send: "\f1d8";
581
+@fa-var-send-o: "\f1d9";
582
+@fa-var-server: "\f233";
583
+@fa-var-share: "\f064";
584
+@fa-var-share-alt: "\f1e0";
585
+@fa-var-share-alt-square: "\f1e1";
586
+@fa-var-share-square: "\f14d";
587
+@fa-var-share-square-o: "\f045";
588
+@fa-var-shekel: "\f20b";
589
+@fa-var-sheqel: "\f20b";
590
+@fa-var-shield: "\f132";
591
+@fa-var-ship: "\f21a";
592
+@fa-var-shirtsinbulk: "\f214";
593
+@fa-var-shopping-bag: "\f290";
594
+@fa-var-shopping-basket: "\f291";
595
+@fa-var-shopping-cart: "\f07a";
596
+@fa-var-shower: "\f2cc";
597
+@fa-var-sign-in: "\f090";
598
+@fa-var-sign-language: "\f2a7";
599
+@fa-var-sign-out: "\f08b";
600
+@fa-var-signal: "\f012";
601
+@fa-var-signing: "\f2a7";
602
+@fa-var-simplybuilt: "\f215";
603
+@fa-var-sitemap: "\f0e8";
604
+@fa-var-skyatlas: "\f216";
605
+@fa-var-skype: "\f17e";
606
+@fa-var-slack: "\f198";
607
+@fa-var-sliders: "\f1de";
608
+@fa-var-slideshare: "\f1e7";
609
+@fa-var-smile-o: "\f118";
610
+@fa-var-snapchat: "\f2ab";
611
+@fa-var-snapchat-ghost: "\f2ac";
612
+@fa-var-snapchat-square: "\f2ad";
613
+@fa-var-snowflake-o: "\f2dc";
614
+@fa-var-soccer-ball-o: "\f1e3";
615
+@fa-var-sort: "\f0dc";
616
+@fa-var-sort-alpha-asc: "\f15d";
617
+@fa-var-sort-alpha-desc: "\f15e";
618
+@fa-var-sort-amount-asc: "\f160";
619
+@fa-var-sort-amount-desc: "\f161";
620
+@fa-var-sort-asc: "\f0de";
621
+@fa-var-sort-desc: "\f0dd";
622
+@fa-var-sort-down: "\f0dd";
623
+@fa-var-sort-numeric-asc: "\f162";
624
+@fa-var-sort-numeric-desc: "\f163";
625
+@fa-var-sort-up: "\f0de";
626
+@fa-var-soundcloud: "\f1be";
627
+@fa-var-space-shuttle: "\f197";
628
+@fa-var-spinner: "\f110";
629
+@fa-var-spoon: "\f1b1";
630
+@fa-var-spotify: "\f1bc";
631
+@fa-var-square: "\f0c8";
632
+@fa-var-square-o: "\f096";
633
+@fa-var-stack-exchange: "\f18d";
634
+@fa-var-stack-overflow: "\f16c";
635
+@fa-var-star: "\f005";
636
+@fa-var-star-half: "\f089";
637
+@fa-var-star-half-empty: "\f123";
638
+@fa-var-star-half-full: "\f123";
639
+@fa-var-star-half-o: "\f123";
640
+@fa-var-star-o: "\f006";
641
+@fa-var-steam: "\f1b6";
642
+@fa-var-steam-square: "\f1b7";
643
+@fa-var-step-backward: "\f048";
644
+@fa-var-step-forward: "\f051";
645
+@fa-var-stethoscope: "\f0f1";
646
+@fa-var-sticky-note: "\f249";
647
+@fa-var-sticky-note-o: "\f24a";
648
+@fa-var-stop: "\f04d";
649
+@fa-var-stop-circle: "\f28d";
650
+@fa-var-stop-circle-o: "\f28e";
651
+@fa-var-street-view: "\f21d";
652
+@fa-var-strikethrough: "\f0cc";
653
+@fa-var-stumbleupon: "\f1a4";
654
+@fa-var-stumbleupon-circle: "\f1a3";
655
+@fa-var-subscript: "\f12c";
656
+@fa-var-subway: "\f239";
657
+@fa-var-suitcase: "\f0f2";
658
+@fa-var-sun-o: "\f185";
659
+@fa-var-superpowers: "\f2dd";
660
+@fa-var-superscript: "\f12b";
661
+@fa-var-support: "\f1cd";
662
+@fa-var-table: "\f0ce";
663
+@fa-var-tablet: "\f10a";
664
+@fa-var-tachometer: "\f0e4";
665
+@fa-var-tag: "\f02b";
666
+@fa-var-tags: "\f02c";
667
+@fa-var-tasks: "\f0ae";
668
+@fa-var-taxi: "\f1ba";
669
+@fa-var-telegram: "\f2c6";
670
+@fa-var-television: "\f26c";
671
+@fa-var-tencent-weibo: "\f1d5";
672
+@fa-var-terminal: "\f120";
673
+@fa-var-text-height: "\f034";
674
+@fa-var-text-width: "\f035";
675
+@fa-var-th: "\f00a";
676
+@fa-var-th-large: "\f009";
677
+@fa-var-th-list: "\f00b";
678
+@fa-var-themeisle: "\f2b2";
679
+@fa-var-thermometer: "\f2c7";
680
+@fa-var-thermometer-0: "\f2cb";
681
+@fa-var-thermometer-1: "\f2ca";
682
+@fa-var-thermometer-2: "\f2c9";
683
+@fa-var-thermometer-3: "\f2c8";
684
+@fa-var-thermometer-4: "\f2c7";
685
+@fa-var-thermometer-empty: "\f2cb";
686
+@fa-var-thermometer-full: "\f2c7";
687
+@fa-var-thermometer-half: "\f2c9";
688
+@fa-var-thermometer-quarter: "\f2ca";
689
+@fa-var-thermometer-three-quarters: "\f2c8";
690
+@fa-var-thumb-tack: "\f08d";
691
+@fa-var-thumbs-down: "\f165";
692
+@fa-var-thumbs-o-down: "\f088";
693
+@fa-var-thumbs-o-up: "\f087";
694
+@fa-var-thumbs-up: "\f164";
695
+@fa-var-ticket: "\f145";
696
+@fa-var-times: "\f00d";
697
+@fa-var-times-circle: "\f057";
698
+@fa-var-times-circle-o: "\f05c";
699
+@fa-var-times-rectangle: "\f2d3";
700
+@fa-var-times-rectangle-o: "\f2d4";
701
+@fa-var-tint: "\f043";
702
+@fa-var-toggle-down: "\f150";
703
+@fa-var-toggle-left: "\f191";
704
+@fa-var-toggle-off: "\f204";
705
+@fa-var-toggle-on: "\f205";
706
+@fa-var-toggle-right: "\f152";
707
+@fa-var-toggle-up: "\f151";
708
+@fa-var-trademark: "\f25c";
709
+@fa-var-train: "\f238";
710
+@fa-var-transgender: "\f224";
711
+@fa-var-transgender-alt: "\f225";
712
+@fa-var-trash: "\f1f8";
713
+@fa-var-trash-o: "\f014";
714
+@fa-var-tree: "\f1bb";
715
+@fa-var-trello: "\f181";
716
+@fa-var-tripadvisor: "\f262";
717
+@fa-var-trophy: "\f091";
718
+@fa-var-truck: "\f0d1";
719
+@fa-var-try: "\f195";
720
+@fa-var-tty: "\f1e4";
721
+@fa-var-tumblr: "\f173";
722
+@fa-var-tumblr-square: "\f174";
723
+@fa-var-turkish-lira: "\f195";
724
+@fa-var-tv: "\f26c";
725
+@fa-var-twitch: "\f1e8";
726
+@fa-var-twitter: "\f099";
727
+@fa-var-twitter-square: "\f081";
728
+@fa-var-umbrella: "\f0e9";
729
+@fa-var-underline: "\f0cd";
730
+@fa-var-undo: "\f0e2";
731
+@fa-var-universal-access: "\f29a";
732
+@fa-var-university: "\f19c";
733
+@fa-var-unlink: "\f127";
734
+@fa-var-unlock: "\f09c";
735
+@fa-var-unlock-alt: "\f13e";
736
+@fa-var-unsorted: "\f0dc";
737
+@fa-var-upload: "\f093";
738
+@fa-var-usb: "\f287";
739
+@fa-var-usd: "\f155";
740
+@fa-var-user: "\f007";
741
+@fa-var-user-circle: "\f2bd";
742
+@fa-var-user-circle-o: "\f2be";
743
+@fa-var-user-md: "\f0f0";
744
+@fa-var-user-o: "\f2c0";
745
+@fa-var-user-plus: "\f234";
746
+@fa-var-user-secret: "\f21b";
747
+@fa-var-user-times: "\f235";
748
+@fa-var-users: "\f0c0";
749
+@fa-var-vcard: "\f2bb";
750
+@fa-var-vcard-o: "\f2bc";
751
+@fa-var-venus: "\f221";
752
+@fa-var-venus-double: "\f226";
753
+@fa-var-venus-mars: "\f228";
754
+@fa-var-viacoin: "\f237";
755
+@fa-var-viadeo: "\f2a9";
756
+@fa-var-viadeo-square: "\f2aa";
757
+@fa-var-video-camera: "\f03d";
758
+@fa-var-vimeo: "\f27d";
759
+@fa-var-vimeo-square: "\f194";
760
+@fa-var-vine: "\f1ca";
761
+@fa-var-vk: "\f189";
762
+@fa-var-volume-control-phone: "\f2a0";
763
+@fa-var-volume-down: "\f027";
764
+@fa-var-volume-off: "\f026";
765
+@fa-var-volume-up: "\f028";
766
+@fa-var-warning: "\f071";
767
+@fa-var-wechat: "\f1d7";
768
+@fa-var-weibo: "\f18a";
769
+@fa-var-weixin: "\f1d7";
770
+@fa-var-whatsapp: "\f232";
771
+@fa-var-wheelchair: "\f193";
772
+@fa-var-wheelchair-alt: "\f29b";
773
+@fa-var-wifi: "\f1eb";
774
+@fa-var-wikipedia-w: "\f266";
775
+@fa-var-window-close: "\f2d3";
776
+@fa-var-window-close-o: "\f2d4";
777
+@fa-var-window-maximize: "\f2d0";
778
+@fa-var-window-minimize: "\f2d1";
779
+@fa-var-window-restore: "\f2d2";
780
+@fa-var-windows: "\f17a";
781
+@fa-var-won: "\f159";
782
+@fa-var-wordpress: "\f19a";
783
+@fa-var-wpbeginner: "\f297";
784
+@fa-var-wpexplorer: "\f2de";
785
+@fa-var-wpforms: "\f298";
786
+@fa-var-wrench: "\f0ad";
787
+@fa-var-xing: "\f168";
788
+@fa-var-xing-square: "\f169";
789
+@fa-var-y-combinator: "\f23b";
790
+@fa-var-y-combinator-square: "\f1d4";
791
+@fa-var-yahoo: "\f19e";
792
+@fa-var-yc: "\f23b";
793
+@fa-var-yc-square: "\f1d4";
794
+@fa-var-yelp: "\f1e9";
795
+@fa-var-yen: "\f157";
796
+@fa-var-yoast: "\f2b1";
797
+@fa-var-youtube: "\f167";
798
+@fa-var-youtube-play: "\f16a";
799
+@fa-var-youtube-square: "\f166";
800
+

+ 34 - 0
dist/font/font-awesome-4.7.0/scss/_animated.scss 查看文件

@@ -0,0 +1,34 @@
1
+// Spinning Icons
2
+// --------------------------
3
+
4
+.#{$fa-css-prefix}-spin {
5
+  -webkit-animation: fa-spin 2s infinite linear;
6
+          animation: fa-spin 2s infinite linear;
7
+}
8
+
9
+.#{$fa-css-prefix}-pulse {
10
+  -webkit-animation: fa-spin 1s infinite steps(8);
11
+          animation: fa-spin 1s infinite steps(8);
12
+}
13
+
14
+@-webkit-keyframes fa-spin {
15
+  0% {
16
+    -webkit-transform: rotate(0deg);
17
+            transform: rotate(0deg);
18
+  }
19
+  100% {
20
+    -webkit-transform: rotate(359deg);
21
+            transform: rotate(359deg);
22
+  }
23
+}
24
+
25
+@keyframes fa-spin {
26
+  0% {
27
+    -webkit-transform: rotate(0deg);
28
+            transform: rotate(0deg);
29
+  }
30
+  100% {
31
+    -webkit-transform: rotate(359deg);
32
+            transform: rotate(359deg);
33
+  }
34
+}

+ 25 - 0
dist/font/font-awesome-4.7.0/scss/_bordered-pulled.scss 查看文件

@@ -0,0 +1,25 @@
1
+// Bordered & Pulled
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-border {
5
+  padding: .2em .25em .15em;
6
+  border: solid .08em $fa-border-color;
7
+  border-radius: .1em;
8
+}
9
+
10
+.#{$fa-css-prefix}-pull-left { float: left; }
11
+.#{$fa-css-prefix}-pull-right { float: right; }
12
+
13
+.#{$fa-css-prefix} {
14
+  &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15
+  &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16
+}
17
+
18
+/* Deprecated as of 4.4.0 */
19
+.pull-right { float: right; }
20
+.pull-left { float: left; }
21
+
22
+.#{$fa-css-prefix} {
23
+  &.pull-left { margin-right: .3em; }
24
+  &.pull-right { margin-left: .3em; }
25
+}

+ 12 - 0
dist/font/font-awesome-4.7.0/scss/_core.scss 查看文件

@@ -0,0 +1,12 @@
1
+// Base Class Definition
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix} {
5
+  display: inline-block;
6
+  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}

+ 6 - 0
dist/font/font-awesome-4.7.0/scss/_fixed-width.scss 查看文件

@@ -0,0 +1,6 @@
1
+// Fixed Width Icons
2
+// -------------------------
3
+.#{$fa-css-prefix}-fw {
4
+  width: (18em / 14);
5
+  text-align: center;
6
+}

+ 789 - 0
dist/font/font-awesome-4.7.0/scss/_icons.scss 查看文件

@@ -0,0 +1,789 @@
1
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
2
+   readers do not read off random characters that represent icons */
3
+
4
+.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }
5
+.#{$fa-css-prefix}-music:before { content: $fa-var-music; }
6
+.#{$fa-css-prefix}-search:before { content: $fa-var-search; }
7
+.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }
8
+.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }
9
+.#{$fa-css-prefix}-star:before { content: $fa-var-star; }
10
+.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }
11
+.#{$fa-css-prefix}-user:before { content: $fa-var-user; }
12
+.#{$fa-css-prefix}-film:before { content: $fa-var-film; }
13
+.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }
14
+.#{$fa-css-prefix}-th:before { content: $fa-var-th; }
15
+.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }
16
+.#{$fa-css-prefix}-check:before { content: $fa-var-check; }
17
+.#{$fa-css-prefix}-remove:before,
18
+.#{$fa-css-prefix}-close:before,
19
+.#{$fa-css-prefix}-times:before { content: $fa-var-times; }
20
+.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }
21
+.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }
22
+.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }
23
+.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }
24
+.#{$fa-css-prefix}-gear:before,
25
+.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }
26
+.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }
27
+.#{$fa-css-prefix}-home:before { content: $fa-var-home; }
28
+.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }
29
+.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }
30
+.#{$fa-css-prefix}-road:before { content: $fa-var-road; }
31
+.#{$fa-css-prefix}-download:before { content: $fa-var-download; }
32
+.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }
33
+.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }
34
+.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }
35
+.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }
36
+.#{$fa-css-prefix}-rotate-right:before,
37
+.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }
38
+.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }
39
+.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }
40
+.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }
41
+.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }
42
+.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }
43
+.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }
44
+.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }
45
+.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }
46
+.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }
47
+.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }
48
+.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }
49
+.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }
50
+.#{$fa-css-prefix}-book:before { content: $fa-var-book; }
51
+.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }
52
+.#{$fa-css-prefix}-print:before { content: $fa-var-print; }
53
+.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }
54
+.#{$fa-css-prefix}-font:before { content: $fa-var-font; }
55
+.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }
56
+.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }
57
+.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }
58
+.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }
59
+.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }
60
+.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }
61
+.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }
62
+.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }
63
+.#{$fa-css-prefix}-list:before { content: $fa-var-list; }
64
+.#{$fa-css-prefix}-dedent:before,
65
+.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }
66
+.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }
67
+.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }
68
+.#{$fa-css-prefix}-photo:before,
69
+.#{$fa-css-prefix}-image:before,
70
+.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }
71
+.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }
72
+.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }
73
+.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }
74
+.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }
75
+.#{$fa-css-prefix}-edit:before,
76
+.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }
77
+.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }
78
+.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }
79
+.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }
80
+.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }
81
+.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }
82
+.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }
83
+.#{$fa-css-prefix}-play:before { content: $fa-var-play; }
84
+.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }
85
+.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }
86
+.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }
87
+.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }
88
+.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }
89
+.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }
90
+.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }
91
+.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }
92
+.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }
93
+.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }
94
+.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }
95
+.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }
96
+.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }
97
+.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }
98
+.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }
99
+.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }
100
+.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }
101
+.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }
102
+.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }
103
+.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }
104
+.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }
105
+.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }
106
+.#{$fa-css-prefix}-mail-forward:before,
107
+.#{$fa-css-prefix}-share:before { content: $fa-var-share; }
108
+.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }
109
+.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }
110
+.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }
111
+.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }
112
+.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }
113
+.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }
114
+.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }
115
+.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }
116
+.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }
117
+.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }
118
+.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }
119
+.#{$fa-css-prefix}-warning:before,
120
+.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }
121
+.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }
122
+.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }
123
+.#{$fa-css-prefix}-random:before { content: $fa-var-random; }
124
+.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }
125
+.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }
126
+.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }
127
+.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }
128
+.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }
129
+.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }
130
+.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }
131
+.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }
132
+.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }
133
+.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }
134
+.#{$fa-css-prefix}-bar-chart-o:before,
135
+.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }
136
+.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }
137
+.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }
138
+.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }
139
+.#{$fa-css-prefix}-key:before { content: $fa-var-key; }
140
+.#{$fa-css-prefix}-gears:before,
141
+.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }
142
+.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }
143
+.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }
144
+.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }
145
+.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }
146
+.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }
147
+.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }
148
+.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }
149
+.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }
150
+.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }
151
+.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }
152
+.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }
153
+.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }
154
+.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }
155
+.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }
156
+.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }
157
+.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }
158
+.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }
159
+.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }
160
+.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }
161
+.#{$fa-css-prefix}-facebook-f:before,
162
+.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }
163
+.#{$fa-css-prefix}-github:before { content: $fa-var-github; }
164
+.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }
165
+.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }
166
+.#{$fa-css-prefix}-feed:before,
167
+.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }
168
+.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }
169
+.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }
170
+.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }
171
+.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }
172
+.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }
173
+.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }
174
+.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }
175
+.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }
176
+.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }
177
+.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }
178
+.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }
179
+.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }
180
+.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }
181
+.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }
182
+.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }
183
+.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }
184
+.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }
185
+.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }
186
+.#{$fa-css-prefix}-group:before,
187
+.#{$fa-css-prefix}-users:before { content: $fa-var-users; }
188
+.#{$fa-css-prefix}-chain:before,
189
+.#{$fa-css-prefix}-link:before { content: $fa-var-link; }
190
+.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }
191
+.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }
192
+.#{$fa-css-prefix}-cut:before,
193
+.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }
194
+.#{$fa-css-prefix}-copy:before,
195
+.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }
196
+.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }
197
+.#{$fa-css-prefix}-save:before,
198
+.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }
199
+.#{$fa-css-prefix}-square:before { content: $fa-var-square; }
200
+.#{$fa-css-prefix}-navicon:before,
201
+.#{$fa-css-prefix}-reorder:before,
202
+.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }
203
+.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }
204
+.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }
205
+.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }
206
+.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }
207
+.#{$fa-css-prefix}-table:before { content: $fa-var-table; }
208
+.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }
209
+.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }
210
+.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }
211
+.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }
212
+.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }
213
+.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }
214
+.#{$fa-css-prefix}-money:before { content: $fa-var-money; }
215
+.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }
216
+.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }
217
+.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }
218
+.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }
219
+.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }
220
+.#{$fa-css-prefix}-unsorted:before,
221
+.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }
222
+.#{$fa-css-prefix}-sort-down:before,
223
+.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }
224
+.#{$fa-css-prefix}-sort-up:before,
225
+.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }
226
+.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }
227
+.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }
228
+.#{$fa-css-prefix}-rotate-left:before,
229
+.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }
230
+.#{$fa-css-prefix}-legal:before,
231
+.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }
232
+.#{$fa-css-prefix}-dashboard:before,
233
+.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }
234
+.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }
235
+.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }
236
+.#{$fa-css-prefix}-flash:before,
237
+.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }
238
+.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }
239
+.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }
240
+.#{$fa-css-prefix}-paste:before,
241
+.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }
242
+.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }
243
+.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }
244
+.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }
245
+.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }
246
+.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }
247
+.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }
248
+.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }
249
+.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }
250
+.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }
251
+.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }
252
+.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }
253
+.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }
254
+.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }
255
+.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }
256
+.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }
257
+.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }
258
+.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }
259
+.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }
260
+.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }
261
+.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }
262
+.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }
263
+.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }
264
+.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }
265
+.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }
266
+.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }
267
+.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }
268
+.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }
269
+.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }
270
+.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }
271
+.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }
272
+.#{$fa-css-prefix}-mobile-phone:before,
273
+.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }
274
+.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }
275
+.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }
276
+.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }
277
+.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }
278
+.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }
279
+.#{$fa-css-prefix}-mail-reply:before,
280
+.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }
281
+.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }
282
+.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }
283
+.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }
284
+.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }
285
+.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }
286
+.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }
287
+.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }
288
+.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }
289
+.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }
290
+.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }
291
+.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }
292
+.#{$fa-css-prefix}-code:before { content: $fa-var-code; }
293
+.#{$fa-css-prefix}-mail-reply-all:before,
294
+.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }
295
+.#{$fa-css-prefix}-star-half-empty:before,
296
+.#{$fa-css-prefix}-star-half-full:before,
297
+.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }
298
+.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }
299
+.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }
300
+.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }
301
+.#{$fa-css-prefix}-unlink:before,
302
+.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }
303
+.#{$fa-css-prefix}-question:before { content: $fa-var-question; }
304
+.#{$fa-css-prefix}-info:before { content: $fa-var-info; }
305
+.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }
306
+.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }
307
+.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }
308
+.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }
309
+.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }
310
+.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }
311
+.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }
312
+.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }
313
+.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }
314
+.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }
315
+.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }
316
+.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }
317
+.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }
318
+.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }
319
+.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }
320
+.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }
321
+.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }
322
+.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }
323
+.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }
324
+.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }
325
+.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }
326
+.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }
327
+.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }
328
+.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }
329
+.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }
330
+.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }
331
+.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }
332
+.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }
333
+.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }
334
+.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }
335
+.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }
336
+.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }
337
+.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }
338
+.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }
339
+.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }
340
+.#{$fa-css-prefix}-toggle-down:before,
341
+.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }
342
+.#{$fa-css-prefix}-toggle-up:before,
343
+.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }
344
+.#{$fa-css-prefix}-toggle-right:before,
345
+.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }
346
+.#{$fa-css-prefix}-euro:before,
347
+.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }
348
+.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }
349
+.#{$fa-css-prefix}-dollar:before,
350
+.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }
351
+.#{$fa-css-prefix}-rupee:before,
352
+.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }
353
+.#{$fa-css-prefix}-cny:before,
354
+.#{$fa-css-prefix}-rmb:before,
355
+.#{$fa-css-prefix}-yen:before,
356
+.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }
357
+.#{$fa-css-prefix}-ruble:before,
358
+.#{$fa-css-prefix}-rouble:before,
359
+.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }
360
+.#{$fa-css-prefix}-won:before,
361
+.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }
362
+.#{$fa-css-prefix}-bitcoin:before,
363
+.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }
364
+.#{$fa-css-prefix}-file:before { content: $fa-var-file; }
365
+.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }
366
+.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }
367
+.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }
368
+.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }
369
+.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }
370
+.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }
371
+.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }
372
+.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }
373
+.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }
374
+.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }
375
+.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }
376
+.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }
377
+.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }
378
+.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }
379
+.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }
380
+.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }
381
+.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }
382
+.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }
383
+.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }
384
+.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }
385
+.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }
386
+.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }
387
+.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }
388
+.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }
389
+.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }
390
+.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }
391
+.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }
392
+.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }
393
+.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }
394
+.#{$fa-css-prefix}-android:before { content: $fa-var-android; }
395
+.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }
396
+.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }
397
+.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }
398
+.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }
399
+.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }
400
+.#{$fa-css-prefix}-female:before { content: $fa-var-female; }
401
+.#{$fa-css-prefix}-male:before { content: $fa-var-male; }
402
+.#{$fa-css-prefix}-gittip:before,
403
+.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; }
404
+.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }
405
+.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }
406
+.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }
407
+.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }
408
+.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }
409
+.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }
410
+.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }
411
+.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }
412
+.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }
413
+.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }
414
+.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }
415
+.#{$fa-css-prefix}-toggle-left:before,
416
+.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }
417
+.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }
418
+.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }
419
+.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }
420
+.#{$fa-css-prefix}-turkish-lira:before,
421
+.#{$fa-css-prefix}-try:before { content: $fa-var-try; }
422
+.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }
423
+.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }
424
+.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }
425
+.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }
426
+.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }
427
+.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }
428
+.#{$fa-css-prefix}-institution:before,
429
+.#{$fa-css-prefix}-bank:before,
430
+.#{$fa-css-prefix}-university:before { content: $fa-var-university; }
431
+.#{$fa-css-prefix}-mortar-board:before,
432
+.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }
433
+.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }
434
+.#{$fa-css-prefix}-google:before { content: $fa-var-google; }
435
+.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }
436
+.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }
437
+.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }
438
+.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }
439
+.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }
440
+.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }
441
+.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }
442
+.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }
443
+.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }
444
+.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }
445
+.#{$fa-css-prefix}-language:before { content: $fa-var-language; }
446
+.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }
447
+.#{$fa-css-prefix}-building:before { content: $fa-var-building; }
448
+.#{$fa-css-prefix}-child:before { content: $fa-var-child; }
449
+.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }
450
+.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }
451
+.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }
452
+.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }
453
+.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }
454
+.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }
455
+.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }
456
+.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }
457
+.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }
458
+.#{$fa-css-prefix}-automobile:before,
459
+.#{$fa-css-prefix}-car:before { content: $fa-var-car; }
460
+.#{$fa-css-prefix}-cab:before,
461
+.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }
462
+.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }
463
+.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }
464
+.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }
465
+.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }
466
+.#{$fa-css-prefix}-database:before { content: $fa-var-database; }
467
+.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }
468
+.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }
469
+.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }
470
+.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }
471
+.#{$fa-css-prefix}-file-photo-o:before,
472
+.#{$fa-css-prefix}-file-picture-o:before,
473
+.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }
474
+.#{$fa-css-prefix}-file-zip-o:before,
475
+.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }
476
+.#{$fa-css-prefix}-file-sound-o:before,
477
+.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }
478
+.#{$fa-css-prefix}-file-movie-o:before,
479
+.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }
480
+.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }
481
+.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }
482
+.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }
483
+.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }
484
+.#{$fa-css-prefix}-life-bouy:before,
485
+.#{$fa-css-prefix}-life-buoy:before,
486
+.#{$fa-css-prefix}-life-saver:before,
487
+.#{$fa-css-prefix}-support:before,
488
+.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }
489
+.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }
490
+.#{$fa-css-prefix}-ra:before,
491
+.#{$fa-css-prefix}-resistance:before,
492
+.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }
493
+.#{$fa-css-prefix}-ge:before,
494
+.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }
495
+.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }
496
+.#{$fa-css-prefix}-git:before { content: $fa-var-git; }
497
+.#{$fa-css-prefix}-y-combinator-square:before,
498
+.#{$fa-css-prefix}-yc-square:before,
499
+.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }
500
+.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }
501
+.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }
502
+.#{$fa-css-prefix}-wechat:before,
503
+.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }
504
+.#{$fa-css-prefix}-send:before,
505
+.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }
506
+.#{$fa-css-prefix}-send-o:before,
507
+.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }
508
+.#{$fa-css-prefix}-history:before { content: $fa-var-history; }
509
+.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }
510
+.#{$fa-css-prefix}-header:before { content: $fa-var-header; }
511
+.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }
512
+.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }
513
+.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }
514
+.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }
515
+.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }
516
+.#{$fa-css-prefix}-soccer-ball-o:before,
517
+.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }
518
+.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }
519
+.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }
520
+.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }
521
+.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }
522
+.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }
523
+.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }
524
+.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }
525
+.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }
526
+.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }
527
+.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }
528
+.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }
529
+.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }
530
+.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }
531
+.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }
532
+.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }
533
+.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }
534
+.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }
535
+.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }
536
+.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }
537
+.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }
538
+.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }
539
+.#{$fa-css-prefix}-at:before { content: $fa-var-at; }
540
+.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }
541
+.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }
542
+.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }
543
+.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }
544
+.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }
545
+.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }
546
+.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }
547
+.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }
548
+.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }
549
+.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }
550
+.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }
551
+.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }
552
+.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }
553
+.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }
554
+.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }
555
+.#{$fa-css-prefix}-shekel:before,
556
+.#{$fa-css-prefix}-sheqel:before,
557
+.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }
558
+.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }
559
+.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; }
560
+.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; }
561
+.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; }
562
+.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; }
563
+.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; }
564
+.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; }
565
+.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; }
566
+.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; }
567
+.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; }
568
+.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; }
569
+.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; }
570
+.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; }
571
+.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; }
572
+.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; }
573
+.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; }
574
+.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; }
575
+.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; }
576
+.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }
577
+.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }
578
+.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }
579
+.#{$fa-css-prefix}-intersex:before,
580
+.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }
581
+.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }
582
+.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }
583
+.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; }
584
+.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; }
585
+.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; }
586
+.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }
587
+.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }
588
+.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }
589
+.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }
590
+.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }
591
+.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }
592
+.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }
593
+.#{$fa-css-prefix}-server:before { content: $fa-var-server; }
594
+.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; }
595
+.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; }
596
+.#{$fa-css-prefix}-hotel:before,
597
+.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; }
598
+.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; }
599
+.#{$fa-css-prefix}-train:before { content: $fa-var-train; }
600
+.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }
601
+.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }
602
+.#{$fa-css-prefix}-yc:before,
603
+.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }
604
+.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }
605
+.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }
606
+.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }
607
+.#{$fa-css-prefix}-battery-4:before,
608
+.#{$fa-css-prefix}-battery:before,
609
+.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }
610
+.#{$fa-css-prefix}-battery-3:before,
611
+.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }
612
+.#{$fa-css-prefix}-battery-2:before,
613
+.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }
614
+.#{$fa-css-prefix}-battery-1:before,
615
+.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }
616
+.#{$fa-css-prefix}-battery-0:before,
617
+.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }
618
+.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }
619
+.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }
620
+.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }
621
+.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }
622
+.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }
623
+.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }
624
+.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }
625
+.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }
626
+.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }
627
+.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }
628
+.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }
629
+.#{$fa-css-prefix}-hourglass-1:before,
630
+.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }
631
+.#{$fa-css-prefix}-hourglass-2:before,
632
+.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }
633
+.#{$fa-css-prefix}-hourglass-3:before,
634
+.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }
635
+.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }
636
+.#{$fa-css-prefix}-hand-grab-o:before,
637
+.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }
638
+.#{$fa-css-prefix}-hand-stop-o:before,
639
+.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }
640
+.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }
641
+.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }
642
+.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }
643
+.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }
644
+.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }
645
+.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }
646
+.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }
647
+.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }
648
+.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }
649
+.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }
650
+.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }
651
+.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }
652
+.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }
653
+.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }
654
+.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }
655
+.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }
656
+.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }
657
+.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }
658
+.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }
659
+.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }
660
+.#{$fa-css-prefix}-tv:before,
661
+.#{$fa-css-prefix}-television:before { content: $fa-var-television; }
662
+.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }
663
+.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }
664
+.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }
665
+.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }
666
+.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }
667
+.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }
668
+.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }
669
+.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }
670
+.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }
671
+.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }
672
+.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }
673
+.#{$fa-css-prefix}-map:before { content: $fa-var-map; }
674
+.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }
675
+.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }
676
+.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }
677
+.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }
678
+.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }
679
+.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }
680
+.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }
681
+.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }
682
+.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }
683
+.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }
684
+.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }
685
+.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }
686
+.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }
687
+.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }
688
+.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }
689
+.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }
690
+.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }
691
+.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }
692
+.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }
693
+.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }
694
+.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }
695
+.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }
696
+.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }
697
+.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }
698
+.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }
699
+.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }
700
+.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }
701
+.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }
702
+.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }
703
+.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }
704
+.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }
705
+.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }
706
+.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }
707
+.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }
708
+.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }
709
+.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }
710
+.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }
711
+.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }
712
+.#{$fa-css-prefix}-asl-interpreting:before,
713
+.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }
714
+.#{$fa-css-prefix}-deafness:before,
715
+.#{$fa-css-prefix}-hard-of-hearing:before,
716
+.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }
717
+.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }
718
+.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }
719
+.#{$fa-css-prefix}-signing:before,
720
+.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }
721
+.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }
722
+.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }
723
+.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }
724
+.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }
725
+.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }
726
+.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }
727
+.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }
728
+.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }
729
+.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }
730
+.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }
731
+.#{$fa-css-prefix}-google-plus-circle:before,
732
+.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }
733
+.#{$fa-css-prefix}-fa:before,
734
+.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }
735
+.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; }
736
+.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; }
737
+.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; }
738
+.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; }
739
+.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; }
740
+.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; }
741
+.#{$fa-css-prefix}-vcard:before,
742
+.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; }
743
+.#{$fa-css-prefix}-vcard-o:before,
744
+.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; }
745
+.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; }
746
+.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; }
747
+.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; }
748
+.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; }
749
+.#{$fa-css-prefix}-drivers-license:before,
750
+.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; }
751
+.#{$fa-css-prefix}-drivers-license-o:before,
752
+.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; }
753
+.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; }
754
+.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; }
755
+.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; }
756
+.#{$fa-css-prefix}-thermometer-4:before,
757
+.#{$fa-css-prefix}-thermometer:before,
758
+.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; }
759
+.#{$fa-css-prefix}-thermometer-3:before,
760
+.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; }
761
+.#{$fa-css-prefix}-thermometer-2:before,
762
+.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; }
763
+.#{$fa-css-prefix}-thermometer-1:before,
764
+.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; }
765
+.#{$fa-css-prefix}-thermometer-0:before,
766
+.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; }
767
+.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; }
768
+.#{$fa-css-prefix}-bathtub:before,
769
+.#{$fa-css-prefix}-s15:before,
770
+.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; }
771
+.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; }
772
+.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; }
773
+.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; }
774
+.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; }
775
+.#{$fa-css-prefix}-times-rectangle:before,
776
+.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; }
777
+.#{$fa-css-prefix}-times-rectangle-o:before,
778
+.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; }
779
+.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; }
780
+.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; }
781
+.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; }
782
+.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; }
783
+.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; }
784
+.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; }
785
+.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; }
786
+.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; }
787
+.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; }
788
+.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; }
789
+.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; }

+ 13 - 0
dist/font/font-awesome-4.7.0/scss/_larger.scss 查看文件

@@ -0,0 +1,13 @@
1
+// Icon Sizes
2
+// -------------------------
3
+
4
+/* makes the font 33% larger relative to the icon container */
5
+.#{$fa-css-prefix}-lg {
6
+  font-size: (4em / 3);
7
+  line-height: (3em / 4);
8
+  vertical-align: -15%;
9
+}
10
+.#{$fa-css-prefix}-2x { font-size: 2em; }
11
+.#{$fa-css-prefix}-3x { font-size: 3em; }
12
+.#{$fa-css-prefix}-4x { font-size: 4em; }
13
+.#{$fa-css-prefix}-5x { font-size: 5em; }

+ 19 - 0
dist/font/font-awesome-4.7.0/scss/_list.scss 查看文件

@@ -0,0 +1,19 @@
1
+// List Icons
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-ul {
5
+  padding-left: 0;
6
+  margin-left: $fa-li-width;
7
+  list-style-type: none;
8
+  > li { position: relative; }
9
+}
10
+.#{$fa-css-prefix}-li {
11
+  position: absolute;
12
+  left: -$fa-li-width;
13
+  width: $fa-li-width;
14
+  top: (2em / 14);
15
+  text-align: center;
16
+  &.#{$fa-css-prefix}-lg {
17
+    left: -$fa-li-width + (4em / 14);
18
+  }
19
+}

+ 60 - 0
dist/font/font-awesome-4.7.0/scss/_mixins.scss 查看文件

@@ -0,0 +1,60 @@
1
+// Mixins
2
+// --------------------------
3
+
4
+@mixin fa-icon() {
5
+  display: inline-block;
6
+  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}
13
+
14
+@mixin fa-icon-rotate($degrees, $rotation) {
15
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
16
+  -webkit-transform: rotate($degrees);
17
+      -ms-transform: rotate($degrees);
18
+          transform: rotate($degrees);
19
+}
20
+
21
+@mixin fa-icon-flip($horiz, $vert, $rotation) {
22
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
23
+  -webkit-transform: scale($horiz, $vert);
24
+      -ms-transform: scale($horiz, $vert);
25
+          transform: scale($horiz, $vert);
26
+}
27
+
28
+
29
+// Only display content to screen readers. A la Bootstrap 4.
30
+//
31
+// See: http://a11yproject.com/posts/how-to-hide-content/
32
+
33
+@mixin sr-only {
34
+  position: absolute;
35
+  width: 1px;
36
+  height: 1px;
37
+  padding: 0;
38
+  margin: -1px;
39
+  overflow: hidden;
40
+  clip: rect(0,0,0,0);
41
+  border: 0;
42
+}
43
+
44
+// Use in conjunction with .sr-only to only display content when it's focused.
45
+//
46
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47
+//
48
+// Credit: HTML5 Boilerplate
49
+
50
+@mixin sr-only-focusable {
51
+  &:active,
52
+  &:focus {
53
+    position: static;
54
+    width: auto;
55
+    height: auto;
56
+    margin: 0;
57
+    overflow: visible;
58
+    clip: auto;
59
+  }
60
+}

+ 15 - 0
dist/font/font-awesome-4.7.0/scss/_path.scss 查看文件

@@ -0,0 +1,15 @@
1
+/* FONT PATH
2
+ * -------------------------- */
3
+
4
+@font-face {
5
+  font-family: 'FontAwesome';
6
+  src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7
+  src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8
+    url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9
+    url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10
+    url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11
+    url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12
+//  src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13
+  font-weight: normal;
14
+  font-style: normal;
15
+}

+ 20 - 0
dist/font/font-awesome-4.7.0/scss/_rotated-flipped.scss 查看文件

@@ -0,0 +1,20 @@
1
+// Rotated & Flipped Icons
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-rotate-90  { @include fa-icon-rotate(90deg, 1);  }
5
+.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6
+.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7
+
8
+.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9
+.#{$fa-css-prefix}-flip-vertical   { @include fa-icon-flip(1, -1, 2); }
10
+
11
+// Hook for IE8-9
12
+// -------------------------
13
+
14
+:root .#{$fa-css-prefix}-rotate-90,
15
+:root .#{$fa-css-prefix}-rotate-180,
16
+:root .#{$fa-css-prefix}-rotate-270,
17
+:root .#{$fa-css-prefix}-flip-horizontal,
18
+:root .#{$fa-css-prefix}-flip-vertical {
19
+  filter: none;
20
+}

+ 5 - 0
dist/font/font-awesome-4.7.0/scss/_screen-reader.scss 查看文件

@@ -0,0 +1,5 @@
1
+// Screen Readers
2
+// -------------------------
3
+
4
+.sr-only { @include sr-only(); }
5
+.sr-only-focusable { @include sr-only-focusable(); }

+ 20 - 0
dist/font/font-awesome-4.7.0/scss/_stacked.scss 查看文件

@@ -0,0 +1,20 @@
1
+// Stacked Icons
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-stack {
5
+  position: relative;
6
+  display: inline-block;
7
+  width: 2em;
8
+  height: 2em;
9
+  line-height: 2em;
10
+  vertical-align: middle;
11
+}
12
+.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13
+  position: absolute;
14
+  left: 0;
15
+  width: 100%;
16
+  text-align: center;
17
+}
18
+.#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19
+.#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20
+.#{$fa-css-prefix}-inverse { color: $fa-inverse; }

+ 800 - 0
dist/font/font-awesome-4.7.0/scss/_variables.scss 查看文件

@@ -0,0 +1,800 @@
1
+// Variables
2
+// --------------------------
3
+
4
+$fa-font-path:        "../fonts" !default;
5
+$fa-font-size-base:   14px !default;
6
+$fa-line-height-base: 1 !default;
7
+//$fa-font-path:        "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly
8
+$fa-css-prefix:       fa !default;
9
+$fa-version:          "4.7.0" !default;
10
+$fa-border-color:     #eee !default;
11
+$fa-inverse:          #fff !default;
12
+$fa-li-width:         (30em / 14) !default;
13
+
14
+$fa-var-500px: "\f26e";
15
+$fa-var-address-book: "\f2b9";
16
+$fa-var-address-book-o: "\f2ba";
17
+$fa-var-address-card: "\f2bb";
18
+$fa-var-address-card-o: "\f2bc";
19
+$fa-var-adjust: "\f042";
20
+$fa-var-adn: "\f170";
21
+$fa-var-align-center: "\f037";
22
+$fa-var-align-justify: "\f039";
23
+$fa-var-align-left: "\f036";
24
+$fa-var-align-right: "\f038";
25
+$fa-var-amazon: "\f270";
26
+$fa-var-ambulance: "\f0f9";
27
+$fa-var-american-sign-language-interpreting: "\f2a3";
28
+$fa-var-anchor: "\f13d";
29
+$fa-var-android: "\f17b";
30
+$fa-var-angellist: "\f209";
31
+$fa-var-angle-double-down: "\f103";
32
+$fa-var-angle-double-left: "\f100";
33
+$fa-var-angle-double-right: "\f101";
34
+$fa-var-angle-double-up: "\f102";
35
+$fa-var-angle-down: "\f107";
36
+$fa-var-angle-left: "\f104";
37
+$fa-var-angle-right: "\f105";
38
+$fa-var-angle-up: "\f106";
39
+$fa-var-apple: "\f179";
40
+$fa-var-archive: "\f187";
41
+$fa-var-area-chart: "\f1fe";
42
+$fa-var-arrow-circle-down: "\f0ab";
43
+$fa-var-arrow-circle-left: "\f0a8";
44
+$fa-var-arrow-circle-o-down: "\f01a";
45
+$fa-var-arrow-circle-o-left: "\f190";
46
+$fa-var-arrow-circle-o-right: "\f18e";
47
+$fa-var-arrow-circle-o-up: "\f01b";
48
+$fa-var-arrow-circle-right: "\f0a9";
49
+$fa-var-arrow-circle-up: "\f0aa";
50
+$fa-var-arrow-down: "\f063";
51
+$fa-var-arrow-left: "\f060";
52
+$fa-var-arrow-right: "\f061";
53
+$fa-var-arrow-up: "\f062";
54
+$fa-var-arrows: "\f047";
55
+$fa-var-arrows-alt: "\f0b2";
56
+$fa-var-arrows-h: "\f07e";
57
+$fa-var-arrows-v: "\f07d";
58
+$fa-var-asl-interpreting: "\f2a3";
59
+$fa-var-assistive-listening-systems: "\f2a2";
60
+$fa-var-asterisk: "\f069";
61
+$fa-var-at: "\f1fa";
62
+$fa-var-audio-description: "\f29e";
63
+$fa-var-automobile: "\f1b9";
64
+$fa-var-backward: "\f04a";
65
+$fa-var-balance-scale: "\f24e";
66
+$fa-var-ban: "\f05e";
67
+$fa-var-bandcamp: "\f2d5";
68
+$fa-var-bank: "\f19c";
69
+$fa-var-bar-chart: "\f080";
70
+$fa-var-bar-chart-o: "\f080";
71
+$fa-var-barcode: "\f02a";
72
+$fa-var-bars: "\f0c9";
73
+$fa-var-bath: "\f2cd";
74
+$fa-var-bathtub: "\f2cd";
75
+$fa-var-battery: "\f240";
76
+$fa-var-battery-0: "\f244";
77
+$fa-var-battery-1: "\f243";
78
+$fa-var-battery-2: "\f242";
79
+$fa-var-battery-3: "\f241";
80
+$fa-var-battery-4: "\f240";
81
+$fa-var-battery-empty: "\f244";
82
+$fa-var-battery-full: "\f240";
83
+$fa-var-battery-half: "\f242";
84
+$fa-var-battery-quarter: "\f243";
85
+$fa-var-battery-three-quarters: "\f241";
86
+$fa-var-bed: "\f236";
87
+$fa-var-beer: "\f0fc";
88
+$fa-var-behance: "\f1b4";
89
+$fa-var-behance-square: "\f1b5";
90
+$fa-var-bell: "\f0f3";
91
+$fa-var-bell-o: "\f0a2";
92
+$fa-var-bell-slash: "\f1f6";
93
+$fa-var-bell-slash-o: "\f1f7";
94
+$fa-var-bicycle: "\f206";
95
+$fa-var-binoculars: "\f1e5";
96
+$fa-var-birthday-cake: "\f1fd";
97
+$fa-var-bitbucket: "\f171";
98
+$fa-var-bitbucket-square: "\f172";
99
+$fa-var-bitcoin: "\f15a";
100
+$fa-var-black-tie: "\f27e";
101
+$fa-var-blind: "\f29d";
102
+$fa-var-bluetooth: "\f293";
103
+$fa-var-bluetooth-b: "\f294";
104
+$fa-var-bold: "\f032";
105
+$fa-var-bolt: "\f0e7";
106
+$fa-var-bomb: "\f1e2";
107
+$fa-var-book: "\f02d";
108
+$fa-var-bookmark: "\f02e";
109
+$fa-var-bookmark-o: "\f097";
110
+$fa-var-braille: "\f2a1";
111
+$fa-var-briefcase: "\f0b1";
112
+$fa-var-btc: "\f15a";
113
+$fa-var-bug: "\f188";
114
+$fa-var-building: "\f1ad";
115
+$fa-var-building-o: "\f0f7";
116
+$fa-var-bullhorn: "\f0a1";
117
+$fa-var-bullseye: "\f140";
118
+$fa-var-bus: "\f207";
119
+$fa-var-buysellads: "\f20d";
120
+$fa-var-cab: "\f1ba";
121
+$fa-var-calculator: "\f1ec";
122
+$fa-var-calendar: "\f073";
123
+$fa-var-calendar-check-o: "\f274";
124
+$fa-var-calendar-minus-o: "\f272";
125
+$fa-var-calendar-o: "\f133";
126
+$fa-var-calendar-plus-o: "\f271";
127
+$fa-var-calendar-times-o: "\f273";
128
+$fa-var-camera: "\f030";
129
+$fa-var-camera-retro: "\f083";
130
+$fa-var-car: "\f1b9";
131
+$fa-var-caret-down: "\f0d7";
132
+$fa-var-caret-left: "\f0d9";
133
+$fa-var-caret-right: "\f0da";
134
+$fa-var-caret-square-o-down: "\f150";
135
+$fa-var-caret-square-o-left: "\f191";
136
+$fa-var-caret-square-o-right: "\f152";
137
+$fa-var-caret-square-o-up: "\f151";
138
+$fa-var-caret-up: "\f0d8";
139
+$fa-var-cart-arrow-down: "\f218";
140
+$fa-var-cart-plus: "\f217";
141
+$fa-var-cc: "\f20a";
142
+$fa-var-cc-amex: "\f1f3";
143
+$fa-var-cc-diners-club: "\f24c";
144
+$fa-var-cc-discover: "\f1f2";
145
+$fa-var-cc-jcb: "\f24b";
146
+$fa-var-cc-mastercard: "\f1f1";
147
+$fa-var-cc-paypal: "\f1f4";
148
+$fa-var-cc-stripe: "\f1f5";
149
+$fa-var-cc-visa: "\f1f0";
150
+$fa-var-certificate: "\f0a3";
151
+$fa-var-chain: "\f0c1";
152
+$fa-var-chain-broken: "\f127";
153
+$fa-var-check: "\f00c";
154
+$fa-var-check-circle: "\f058";
155
+$fa-var-check-circle-o: "\f05d";
156
+$fa-var-check-square: "\f14a";
157
+$fa-var-check-square-o: "\f046";
158
+$fa-var-chevron-circle-down: "\f13a";
159
+$fa-var-chevron-circle-left: "\f137";
160
+$fa-var-chevron-circle-right: "\f138";
161
+$fa-var-chevron-circle-up: "\f139";
162
+$fa-var-chevron-down: "\f078";
163
+$fa-var-chevron-left: "\f053";
164
+$fa-var-chevron-right: "\f054";
165
+$fa-var-chevron-up: "\f077";
166
+$fa-var-child: "\f1ae";
167
+$fa-var-chrome: "\f268";
168
+$fa-var-circle: "\f111";
169
+$fa-var-circle-o: "\f10c";
170
+$fa-var-circle-o-notch: "\f1ce";
171
+$fa-var-circle-thin: "\f1db";
172
+$fa-var-clipboard: "\f0ea";
173
+$fa-var-clock-o: "\f017";
174
+$fa-var-clone: "\f24d";
175
+$fa-var-close: "\f00d";
176
+$fa-var-cloud: "\f0c2";
177
+$fa-var-cloud-download: "\f0ed";
178
+$fa-var-cloud-upload: "\f0ee";
179
+$fa-var-cny: "\f157";
180
+$fa-var-code: "\f121";
181
+$fa-var-code-fork: "\f126";
182
+$fa-var-codepen: "\f1cb";
183
+$fa-var-codiepie: "\f284";
184
+$fa-var-coffee: "\f0f4";
185
+$fa-var-cog: "\f013";
186
+$fa-var-cogs: "\f085";
187
+$fa-var-columns: "\f0db";
188
+$fa-var-comment: "\f075";
189
+$fa-var-comment-o: "\f0e5";
190
+$fa-var-commenting: "\f27a";
191
+$fa-var-commenting-o: "\f27b";
192
+$fa-var-comments: "\f086";
193
+$fa-var-comments-o: "\f0e6";
194
+$fa-var-compass: "\f14e";
195
+$fa-var-compress: "\f066";
196
+$fa-var-connectdevelop: "\f20e";
197
+$fa-var-contao: "\f26d";
198
+$fa-var-copy: "\f0c5";
199
+$fa-var-copyright: "\f1f9";
200
+$fa-var-creative-commons: "\f25e";
201
+$fa-var-credit-card: "\f09d";
202
+$fa-var-credit-card-alt: "\f283";
203
+$fa-var-crop: "\f125";
204
+$fa-var-crosshairs: "\f05b";
205
+$fa-var-css3: "\f13c";
206
+$fa-var-cube: "\f1b2";
207
+$fa-var-cubes: "\f1b3";
208
+$fa-var-cut: "\f0c4";
209
+$fa-var-cutlery: "\f0f5";
210
+$fa-var-dashboard: "\f0e4";
211
+$fa-var-dashcube: "\f210";
212
+$fa-var-database: "\f1c0";
213
+$fa-var-deaf: "\f2a4";
214
+$fa-var-deafness: "\f2a4";
215
+$fa-var-dedent: "\f03b";
216
+$fa-var-delicious: "\f1a5";
217
+$fa-var-desktop: "\f108";
218
+$fa-var-deviantart: "\f1bd";
219
+$fa-var-diamond: "\f219";
220
+$fa-var-digg: "\f1a6";
221
+$fa-var-dollar: "\f155";
222
+$fa-var-dot-circle-o: "\f192";
223
+$fa-var-download: "\f019";
224
+$fa-var-dribbble: "\f17d";
225
+$fa-var-drivers-license: "\f2c2";
226
+$fa-var-drivers-license-o: "\f2c3";
227
+$fa-var-dropbox: "\f16b";
228
+$fa-var-drupal: "\f1a9";
229
+$fa-var-edge: "\f282";
230
+$fa-var-edit: "\f044";
231
+$fa-var-eercast: "\f2da";
232
+$fa-var-eject: "\f052";
233
+$fa-var-ellipsis-h: "\f141";
234
+$fa-var-ellipsis-v: "\f142";
235
+$fa-var-empire: "\f1d1";
236
+$fa-var-envelope: "\f0e0";
237
+$fa-var-envelope-o: "\f003";
238
+$fa-var-envelope-open: "\f2b6";
239
+$fa-var-envelope-open-o: "\f2b7";
240
+$fa-var-envelope-square: "\f199";
241
+$fa-var-envira: "\f299";
242
+$fa-var-eraser: "\f12d";
243
+$fa-var-etsy: "\f2d7";
244
+$fa-var-eur: "\f153";
245
+$fa-var-euro: "\f153";
246
+$fa-var-exchange: "\f0ec";
247
+$fa-var-exclamation: "\f12a";
248
+$fa-var-exclamation-circle: "\f06a";
249
+$fa-var-exclamation-triangle: "\f071";
250
+$fa-var-expand: "\f065";
251
+$fa-var-expeditedssl: "\f23e";
252
+$fa-var-external-link: "\f08e";
253
+$fa-var-external-link-square: "\f14c";
254
+$fa-var-eye: "\f06e";
255
+$fa-var-eye-slash: "\f070";
256
+$fa-var-eyedropper: "\f1fb";
257
+$fa-var-fa: "\f2b4";
258
+$fa-var-facebook: "\f09a";
259
+$fa-var-facebook-f: "\f09a";
260
+$fa-var-facebook-official: "\f230";
261
+$fa-var-facebook-square: "\f082";
262
+$fa-var-fast-backward: "\f049";
263
+$fa-var-fast-forward: "\f050";
264
+$fa-var-fax: "\f1ac";
265
+$fa-var-feed: "\f09e";
266
+$fa-var-female: "\f182";
267
+$fa-var-fighter-jet: "\f0fb";
268
+$fa-var-file: "\f15b";
269
+$fa-var-file-archive-o: "\f1c6";
270
+$fa-var-file-audio-o: "\f1c7";
271
+$fa-var-file-code-o: "\f1c9";
272
+$fa-var-file-excel-o: "\f1c3";
273
+$fa-var-file-image-o: "\f1c5";
274
+$fa-var-file-movie-o: "\f1c8";
275
+$fa-var-file-o: "\f016";
276
+$fa-var-file-pdf-o: "\f1c1";
277
+$fa-var-file-photo-o: "\f1c5";
278
+$fa-var-file-picture-o: "\f1c5";
279
+$fa-var-file-powerpoint-o: "\f1c4";
280
+$fa-var-file-sound-o: "\f1c7";
281
+$fa-var-file-text: "\f15c";
282
+$fa-var-file-text-o: "\f0f6";
283
+$fa-var-file-video-o: "\f1c8";
284
+$fa-var-file-word-o: "\f1c2";
285
+$fa-var-file-zip-o: "\f1c6";
286
+$fa-var-files-o: "\f0c5";
287
+$fa-var-film: "\f008";
288
+$fa-var-filter: "\f0b0";
289
+$fa-var-fire: "\f06d";
290
+$fa-var-fire-extinguisher: "\f134";
291
+$fa-var-firefox: "\f269";
292
+$fa-var-first-order: "\f2b0";
293
+$fa-var-flag: "\f024";
294
+$fa-var-flag-checkered: "\f11e";
295
+$fa-var-flag-o: "\f11d";
296
+$fa-var-flash: "\f0e7";
297
+$fa-var-flask: "\f0c3";
298
+$fa-var-flickr: "\f16e";
299
+$fa-var-floppy-o: "\f0c7";
300
+$fa-var-folder: "\f07b";
301
+$fa-var-folder-o: "\f114";
302
+$fa-var-folder-open: "\f07c";
303
+$fa-var-folder-open-o: "\f115";
304
+$fa-var-font: "\f031";
305
+$fa-var-font-awesome: "\f2b4";
306
+$fa-var-fonticons: "\f280";
307
+$fa-var-fort-awesome: "\f286";
308
+$fa-var-forumbee: "\f211";
309
+$fa-var-forward: "\f04e";
310
+$fa-var-foursquare: "\f180";
311
+$fa-var-free-code-camp: "\f2c5";
312
+$fa-var-frown-o: "\f119";
313
+$fa-var-futbol-o: "\f1e3";
314
+$fa-var-gamepad: "\f11b";
315
+$fa-var-gavel: "\f0e3";
316
+$fa-var-gbp: "\f154";
317
+$fa-var-ge: "\f1d1";
318
+$fa-var-gear: "\f013";
319
+$fa-var-gears: "\f085";
320
+$fa-var-genderless: "\f22d";
321
+$fa-var-get-pocket: "\f265";
322
+$fa-var-gg: "\f260";
323
+$fa-var-gg-circle: "\f261";
324
+$fa-var-gift: "\f06b";
325
+$fa-var-git: "\f1d3";
326
+$fa-var-git-square: "\f1d2";
327
+$fa-var-github: "\f09b";
328
+$fa-var-github-alt: "\f113";
329
+$fa-var-github-square: "\f092";
330
+$fa-var-gitlab: "\f296";
331
+$fa-var-gittip: "\f184";
332
+$fa-var-glass: "\f000";
333
+$fa-var-glide: "\f2a5";
334
+$fa-var-glide-g: "\f2a6";
335
+$fa-var-globe: "\f0ac";
336
+$fa-var-google: "\f1a0";
337
+$fa-var-google-plus: "\f0d5";
338
+$fa-var-google-plus-circle: "\f2b3";
339
+$fa-var-google-plus-official: "\f2b3";
340
+$fa-var-google-plus-square: "\f0d4";
341
+$fa-var-google-wallet: "\f1ee";
342
+$fa-var-graduation-cap: "\f19d";
343
+$fa-var-gratipay: "\f184";
344
+$fa-var-grav: "\f2d6";
345
+$fa-var-group: "\f0c0";
346
+$fa-var-h-square: "\f0fd";
347
+$fa-var-hacker-news: "\f1d4";
348
+$fa-var-hand-grab-o: "\f255";
349
+$fa-var-hand-lizard-o: "\f258";
350
+$fa-var-hand-o-down: "\f0a7";
351
+$fa-var-hand-o-left: "\f0a5";
352
+$fa-var-hand-o-right: "\f0a4";
353
+$fa-var-hand-o-up: "\f0a6";
354
+$fa-var-hand-paper-o: "\f256";
355
+$fa-var-hand-peace-o: "\f25b";
356
+$fa-var-hand-pointer-o: "\f25a";
357
+$fa-var-hand-rock-o: "\f255";
358
+$fa-var-hand-scissors-o: "\f257";
359
+$fa-var-hand-spock-o: "\f259";
360
+$fa-var-hand-stop-o: "\f256";
361
+$fa-var-handshake-o: "\f2b5";
362
+$fa-var-hard-of-hearing: "\f2a4";
363
+$fa-var-hashtag: "\f292";
364
+$fa-var-hdd-o: "\f0a0";
365
+$fa-var-header: "\f1dc";
366
+$fa-var-headphones: "\f025";
367
+$fa-var-heart: "\f004";
368
+$fa-var-heart-o: "\f08a";
369
+$fa-var-heartbeat: "\f21e";
370
+$fa-var-history: "\f1da";
371
+$fa-var-home: "\f015";
372
+$fa-var-hospital-o: "\f0f8";
373
+$fa-var-hotel: "\f236";
374
+$fa-var-hourglass: "\f254";
375
+$fa-var-hourglass-1: "\f251";
376
+$fa-var-hourglass-2: "\f252";
377
+$fa-var-hourglass-3: "\f253";
378
+$fa-var-hourglass-end: "\f253";
379
+$fa-var-hourglass-half: "\f252";
380
+$fa-var-hourglass-o: "\f250";
381
+$fa-var-hourglass-start: "\f251";
382
+$fa-var-houzz: "\f27c";
383
+$fa-var-html5: "\f13b";
384
+$fa-var-i-cursor: "\f246";
385
+$fa-var-id-badge: "\f2c1";
386
+$fa-var-id-card: "\f2c2";
387
+$fa-var-id-card-o: "\f2c3";
388
+$fa-var-ils: "\f20b";
389
+$fa-var-image: "\f03e";
390
+$fa-var-imdb: "\f2d8";
391
+$fa-var-inbox: "\f01c";
392
+$fa-var-indent: "\f03c";
393
+$fa-var-industry: "\f275";
394
+$fa-var-info: "\f129";
395
+$fa-var-info-circle: "\f05a";
396
+$fa-var-inr: "\f156";
397
+$fa-var-instagram: "\f16d";
398
+$fa-var-institution: "\f19c";
399
+$fa-var-internet-explorer: "\f26b";
400
+$fa-var-intersex: "\f224";
401
+$fa-var-ioxhost: "\f208";
402
+$fa-var-italic: "\f033";
403
+$fa-var-joomla: "\f1aa";
404
+$fa-var-jpy: "\f157";
405
+$fa-var-jsfiddle: "\f1cc";
406
+$fa-var-key: "\f084";
407
+$fa-var-keyboard-o: "\f11c";
408
+$fa-var-krw: "\f159";
409
+$fa-var-language: "\f1ab";
410
+$fa-var-laptop: "\f109";
411
+$fa-var-lastfm: "\f202";
412
+$fa-var-lastfm-square: "\f203";
413
+$fa-var-leaf: "\f06c";
414
+$fa-var-leanpub: "\f212";
415
+$fa-var-legal: "\f0e3";
416
+$fa-var-lemon-o: "\f094";
417
+$fa-var-level-down: "\f149";
418
+$fa-var-level-up: "\f148";
419
+$fa-var-life-bouy: "\f1cd";
420
+$fa-var-life-buoy: "\f1cd";
421
+$fa-var-life-ring: "\f1cd";
422
+$fa-var-life-saver: "\f1cd";
423
+$fa-var-lightbulb-o: "\f0eb";
424
+$fa-var-line-chart: "\f201";
425
+$fa-var-link: "\f0c1";
426
+$fa-var-linkedin: "\f0e1";
427
+$fa-var-linkedin-square: "\f08c";
428
+$fa-var-linode: "\f2b8";
429
+$fa-var-linux: "\f17c";
430
+$fa-var-list: "\f03a";
431
+$fa-var-list-alt: "\f022";
432
+$fa-var-list-ol: "\f0cb";
433
+$fa-var-list-ul: "\f0ca";
434
+$fa-var-location-arrow: "\f124";
435
+$fa-var-lock: "\f023";
436
+$fa-var-long-arrow-down: "\f175";
437
+$fa-var-long-arrow-left: "\f177";
438
+$fa-var-long-arrow-right: "\f178";
439
+$fa-var-long-arrow-up: "\f176";
440
+$fa-var-low-vision: "\f2a8";
441
+$fa-var-magic: "\f0d0";
442
+$fa-var-magnet: "\f076";
443
+$fa-var-mail-forward: "\f064";
444
+$fa-var-mail-reply: "\f112";
445
+$fa-var-mail-reply-all: "\f122";
446
+$fa-var-male: "\f183";
447
+$fa-var-map: "\f279";
448
+$fa-var-map-marker: "\f041";
449
+$fa-var-map-o: "\f278";
450
+$fa-var-map-pin: "\f276";
451
+$fa-var-map-signs: "\f277";
452
+$fa-var-mars: "\f222";
453
+$fa-var-mars-double: "\f227";
454
+$fa-var-mars-stroke: "\f229";
455
+$fa-var-mars-stroke-h: "\f22b";
456
+$fa-var-mars-stroke-v: "\f22a";
457
+$fa-var-maxcdn: "\f136";
458
+$fa-var-meanpath: "\f20c";
459
+$fa-var-medium: "\f23a";
460
+$fa-var-medkit: "\f0fa";
461
+$fa-var-meetup: "\f2e0";
462
+$fa-var-meh-o: "\f11a";
463
+$fa-var-mercury: "\f223";
464
+$fa-var-microchip: "\f2db";
465
+$fa-var-microphone: "\f130";
466
+$fa-var-microphone-slash: "\f131";
467
+$fa-var-minus: "\f068";
468
+$fa-var-minus-circle: "\f056";
469
+$fa-var-minus-square: "\f146";
470
+$fa-var-minus-square-o: "\f147";
471
+$fa-var-mixcloud: "\f289";
472
+$fa-var-mobile: "\f10b";
473
+$fa-var-mobile-phone: "\f10b";
474
+$fa-var-modx: "\f285";
475
+$fa-var-money: "\f0d6";
476
+$fa-var-moon-o: "\f186";
477
+$fa-var-mortar-board: "\f19d";
478
+$fa-var-motorcycle: "\f21c";
479
+$fa-var-mouse-pointer: "\f245";
480
+$fa-var-music: "\f001";
481
+$fa-var-navicon: "\f0c9";
482
+$fa-var-neuter: "\f22c";
483
+$fa-var-newspaper-o: "\f1ea";
484
+$fa-var-object-group: "\f247";
485
+$fa-var-object-ungroup: "\f248";
486
+$fa-var-odnoklassniki: "\f263";
487
+$fa-var-odnoklassniki-square: "\f264";
488
+$fa-var-opencart: "\f23d";
489
+$fa-var-openid: "\f19b";
490
+$fa-var-opera: "\f26a";
491
+$fa-var-optin-monster: "\f23c";
492
+$fa-var-outdent: "\f03b";
493
+$fa-var-pagelines: "\f18c";
494
+$fa-var-paint-brush: "\f1fc";
495
+$fa-var-paper-plane: "\f1d8";
496
+$fa-var-paper-plane-o: "\f1d9";
497
+$fa-var-paperclip: "\f0c6";
498
+$fa-var-paragraph: "\f1dd";
499
+$fa-var-paste: "\f0ea";
500
+$fa-var-pause: "\f04c";
501
+$fa-var-pause-circle: "\f28b";
502
+$fa-var-pause-circle-o: "\f28c";
503
+$fa-var-paw: "\f1b0";
504
+$fa-var-paypal: "\f1ed";
505
+$fa-var-pencil: "\f040";
506
+$fa-var-pencil-square: "\f14b";
507
+$fa-var-pencil-square-o: "\f044";
508
+$fa-var-percent: "\f295";
509
+$fa-var-phone: "\f095";
510
+$fa-var-phone-square: "\f098";
511
+$fa-var-photo: "\f03e";
512
+$fa-var-picture-o: "\f03e";
513
+$fa-var-pie-chart: "\f200";
514
+$fa-var-pied-piper: "\f2ae";
515
+$fa-var-pied-piper-alt: "\f1a8";
516
+$fa-var-pied-piper-pp: "\f1a7";
517
+$fa-var-pinterest: "\f0d2";
518
+$fa-var-pinterest-p: "\f231";
519
+$fa-var-pinterest-square: "\f0d3";
520
+$fa-var-plane: "\f072";
521
+$fa-var-play: "\f04b";
522
+$fa-var-play-circle: "\f144";
523
+$fa-var-play-circle-o: "\f01d";
524
+$fa-var-plug: "\f1e6";
525
+$fa-var-plus: "\f067";
526
+$fa-var-plus-circle: "\f055";
527
+$fa-var-plus-square: "\f0fe";
528
+$fa-var-plus-square-o: "\f196";
529
+$fa-var-podcast: "\f2ce";
530
+$fa-var-power-off: "\f011";
531
+$fa-var-print: "\f02f";
532
+$fa-var-product-hunt: "\f288";
533
+$fa-var-puzzle-piece: "\f12e";
534
+$fa-var-qq: "\f1d6";
535
+$fa-var-qrcode: "\f029";
536
+$fa-var-question: "\f128";
537
+$fa-var-question-circle: "\f059";
538
+$fa-var-question-circle-o: "\f29c";
539
+$fa-var-quora: "\f2c4";
540
+$fa-var-quote-left: "\f10d";
541
+$fa-var-quote-right: "\f10e";
542
+$fa-var-ra: "\f1d0";
543
+$fa-var-random: "\f074";
544
+$fa-var-ravelry: "\f2d9";
545
+$fa-var-rebel: "\f1d0";
546
+$fa-var-recycle: "\f1b8";
547
+$fa-var-reddit: "\f1a1";
548
+$fa-var-reddit-alien: "\f281";
549
+$fa-var-reddit-square: "\f1a2";
550
+$fa-var-refresh: "\f021";
551
+$fa-var-registered: "\f25d";
552
+$fa-var-remove: "\f00d";
553
+$fa-var-renren: "\f18b";
554
+$fa-var-reorder: "\f0c9";
555
+$fa-var-repeat: "\f01e";
556
+$fa-var-reply: "\f112";
557
+$fa-var-reply-all: "\f122";
558
+$fa-var-resistance: "\f1d0";
559
+$fa-var-retweet: "\f079";
560
+$fa-var-rmb: "\f157";
561
+$fa-var-road: "\f018";
562
+$fa-var-rocket: "\f135";
563
+$fa-var-rotate-left: "\f0e2";
564
+$fa-var-rotate-right: "\f01e";
565
+$fa-var-rouble: "\f158";
566
+$fa-var-rss: "\f09e";
567
+$fa-var-rss-square: "\f143";
568
+$fa-var-rub: "\f158";
569
+$fa-var-ruble: "\f158";
570
+$fa-var-rupee: "\f156";
571
+$fa-var-s15: "\f2cd";
572
+$fa-var-safari: "\f267";
573
+$fa-var-save: "\f0c7";
574
+$fa-var-scissors: "\f0c4";
575
+$fa-var-scribd: "\f28a";
576
+$fa-var-search: "\f002";
577
+$fa-var-search-minus: "\f010";
578
+$fa-var-search-plus: "\f00e";
579
+$fa-var-sellsy: "\f213";
580
+$fa-var-send: "\f1d8";
581
+$fa-var-send-o: "\f1d9";
582
+$fa-var-server: "\f233";
583
+$fa-var-share: "\f064";
584
+$fa-var-share-alt: "\f1e0";
585
+$fa-var-share-alt-square: "\f1e1";
586
+$fa-var-share-square: "\f14d";
587
+$fa-var-share-square-o: "\f045";
588
+$fa-var-shekel: "\f20b";
589
+$fa-var-sheqel: "\f20b";
590
+$fa-var-shield: "\f132";
591
+$fa-var-ship: "\f21a";
592
+$fa-var-shirtsinbulk: "\f214";
593
+$fa-var-shopping-bag: "\f290";
594
+$fa-var-shopping-basket: "\f291";
595
+$fa-var-shopping-cart: "\f07a";
596
+$fa-var-shower: "\f2cc";
597
+$fa-var-sign-in: "\f090";
598
+$fa-var-sign-language: "\f2a7";
599
+$fa-var-sign-out: "\f08b";
600
+$fa-var-signal: "\f012";
601
+$fa-var-signing: "\f2a7";
602
+$fa-var-simplybuilt: "\f215";
603
+$fa-var-sitemap: "\f0e8";
604
+$fa-var-skyatlas: "\f216";
605
+$fa-var-skype: "\f17e";
606
+$fa-var-slack: "\f198";
607
+$fa-var-sliders: "\f1de";
608
+$fa-var-slideshare: "\f1e7";
609
+$fa-var-smile-o: "\f118";
610
+$fa-var-snapchat: "\f2ab";
611
+$fa-var-snapchat-ghost: "\f2ac";
612
+$fa-var-snapchat-square: "\f2ad";
613
+$fa-var-snowflake-o: "\f2dc";
614
+$fa-var-soccer-ball-o: "\f1e3";
615
+$fa-var-sort: "\f0dc";
616
+$fa-var-sort-alpha-asc: "\f15d";
617
+$fa-var-sort-alpha-desc: "\f15e";
618
+$fa-var-sort-amount-asc: "\f160";
619
+$fa-var-sort-amount-desc: "\f161";
620
+$fa-var-sort-asc: "\f0de";
621
+$fa-var-sort-desc: "\f0dd";
622
+$fa-var-sort-down: "\f0dd";
623
+$fa-var-sort-numeric-asc: "\f162";
624
+$fa-var-sort-numeric-desc: "\f163";
625
+$fa-var-sort-up: "\f0de";
626
+$fa-var-soundcloud: "\f1be";
627
+$fa-var-space-shuttle: "\f197";
628
+$fa-var-spinner: "\f110";
629
+$fa-var-spoon: "\f1b1";
630
+$fa-var-spotify: "\f1bc";
631
+$fa-var-square: "\f0c8";
632
+$fa-var-square-o: "\f096";
633
+$fa-var-stack-exchange: "\f18d";
634
+$fa-var-stack-overflow: "\f16c";
635
+$fa-var-star: "\f005";
636
+$fa-var-star-half: "\f089";
637
+$fa-var-star-half-empty: "\f123";
638
+$fa-var-star-half-full: "\f123";
639
+$fa-var-star-half-o: "\f123";
640
+$fa-var-star-o: "\f006";
641
+$fa-var-steam: "\f1b6";
642
+$fa-var-steam-square: "\f1b7";
643
+$fa-var-step-backward: "\f048";
644
+$fa-var-step-forward: "\f051";
645
+$fa-var-stethoscope: "\f0f1";
646
+$fa-var-sticky-note: "\f249";
647
+$fa-var-sticky-note-o: "\f24a";
648
+$fa-var-stop: "\f04d";
649
+$fa-var-stop-circle: "\f28d";
650
+$fa-var-stop-circle-o: "\f28e";
651
+$fa-var-street-view: "\f21d";
652
+$fa-var-strikethrough: "\f0cc";
653
+$fa-var-stumbleupon: "\f1a4";
654
+$fa-var-stumbleupon-circle: "\f1a3";
655
+$fa-var-subscript: "\f12c";
656
+$fa-var-subway: "\f239";
657
+$fa-var-suitcase: "\f0f2";
658
+$fa-var-sun-o: "\f185";
659
+$fa-var-superpowers: "\f2dd";
660
+$fa-var-superscript: "\f12b";
661
+$fa-var-support: "\f1cd";
662
+$fa-var-table: "\f0ce";
663
+$fa-var-tablet: "\f10a";
664
+$fa-var-tachometer: "\f0e4";
665
+$fa-var-tag: "\f02b";
666
+$fa-var-tags: "\f02c";
667
+$fa-var-tasks: "\f0ae";
668
+$fa-var-taxi: "\f1ba";
669
+$fa-var-telegram: "\f2c6";
670
+$fa-var-television: "\f26c";
671
+$fa-var-tencent-weibo: "\f1d5";
672
+$fa-var-terminal: "\f120";
673
+$fa-var-text-height: "\f034";
674
+$fa-var-text-width: "\f035";
675
+$fa-var-th: "\f00a";
676
+$fa-var-th-large: "\f009";
677
+$fa-var-th-list: "\f00b";
678
+$fa-var-themeisle: "\f2b2";
679
+$fa-var-thermometer: "\f2c7";
680
+$fa-var-thermometer-0: "\f2cb";
681
+$fa-var-thermometer-1: "\f2ca";
682
+$fa-var-thermometer-2: "\f2c9";
683
+$fa-var-thermometer-3: "\f2c8";
684
+$fa-var-thermometer-4: "\f2c7";
685
+$fa-var-thermometer-empty: "\f2cb";
686
+$fa-var-thermometer-full: "\f2c7";
687
+$fa-var-thermometer-half: "\f2c9";
688
+$fa-var-thermometer-quarter: "\f2ca";
689
+$fa-var-thermometer-three-quarters: "\f2c8";
690
+$fa-var-thumb-tack: "\f08d";
691
+$fa-var-thumbs-down: "\f165";
692
+$fa-var-thumbs-o-down: "\f088";
693
+$fa-var-thumbs-o-up: "\f087";
694
+$fa-var-thumbs-up: "\f164";
695
+$fa-var-ticket: "\f145";
696
+$fa-var-times: "\f00d";
697
+$fa-var-times-circle: "\f057";
698
+$fa-var-times-circle-o: "\f05c";
699
+$fa-var-times-rectangle: "\f2d3";
700
+$fa-var-times-rectangle-o: "\f2d4";
701
+$fa-var-tint: "\f043";
702
+$fa-var-toggle-down: "\f150";
703
+$fa-var-toggle-left: "\f191";
704
+$fa-var-toggle-off: "\f204";
705
+$fa-var-toggle-on: "\f205";
706
+$fa-var-toggle-right: "\f152";
707
+$fa-var-toggle-up: "\f151";
708
+$fa-var-trademark: "\f25c";
709
+$fa-var-train: "\f238";
710
+$fa-var-transgender: "\f224";
711
+$fa-var-transgender-alt: "\f225";
712
+$fa-var-trash: "\f1f8";
713
+$fa-var-trash-o: "\f014";
714
+$fa-var-tree: "\f1bb";
715
+$fa-var-trello: "\f181";
716
+$fa-var-tripadvisor: "\f262";
717
+$fa-var-trophy: "\f091";
718
+$fa-var-truck: "\f0d1";
719
+$fa-var-try: "\f195";
720
+$fa-var-tty: "\f1e4";
721
+$fa-var-tumblr: "\f173";
722
+$fa-var-tumblr-square: "\f174";
723
+$fa-var-turkish-lira: "\f195";
724
+$fa-var-tv: "\f26c";
725
+$fa-var-twitch: "\f1e8";
726
+$fa-var-twitter: "\f099";
727
+$fa-var-twitter-square: "\f081";
728
+$fa-var-umbrella: "\f0e9";
729
+$fa-var-underline: "\f0cd";
730
+$fa-var-undo: "\f0e2";
731
+$fa-var-universal-access: "\f29a";
732
+$fa-var-university: "\f19c";
733
+$fa-var-unlink: "\f127";
734
+$fa-var-unlock: "\f09c";
735
+$fa-var-unlock-alt: "\f13e";
736
+$fa-var-unsorted: "\f0dc";
737
+$fa-var-upload: "\f093";
738
+$fa-var-usb: "\f287";
739
+$fa-var-usd: "\f155";
740
+$fa-var-user: "\f007";
741
+$fa-var-user-circle: "\f2bd";
742
+$fa-var-user-circle-o: "\f2be";
743
+$fa-var-user-md: "\f0f0";
744
+$fa-var-user-o: "\f2c0";
745
+$fa-var-user-plus: "\f234";
746
+$fa-var-user-secret: "\f21b";
747
+$fa-var-user-times: "\f235";
748
+$fa-var-users: "\f0c0";
749
+$fa-var-vcard: "\f2bb";
750
+$fa-var-vcard-o: "\f2bc";
751
+$fa-var-venus: "\f221";
752
+$fa-var-venus-double: "\f226";
753
+$fa-var-venus-mars: "\f228";
754
+$fa-var-viacoin: "\f237";
755
+$fa-var-viadeo: "\f2a9";
756
+$fa-var-viadeo-square: "\f2aa";
757
+$fa-var-video-camera: "\f03d";
758
+$fa-var-vimeo: "\f27d";
759
+$fa-var-vimeo-square: "\f194";
760
+$fa-var-vine: "\f1ca";
761
+$fa-var-vk: "\f189";
762
+$fa-var-volume-control-phone: "\f2a0";
763
+$fa-var-volume-down: "\f027";
764
+$fa-var-volume-off: "\f026";
765
+$fa-var-volume-up: "\f028";
766
+$fa-var-warning: "\f071";
767
+$fa-var-wechat: "\f1d7";
768
+$fa-var-weibo: "\f18a";
769
+$fa-var-weixin: "\f1d7";
770
+$fa-var-whatsapp: "\f232";
771
+$fa-var-wheelchair: "\f193";
772
+$fa-var-wheelchair-alt: "\f29b";
773
+$fa-var-wifi: "\f1eb";
774
+$fa-var-wikipedia-w: "\f266";
775
+$fa-var-window-close: "\f2d3";
776
+$fa-var-window-close-o: "\f2d4";
777
+$fa-var-window-maximize: "\f2d0";
778
+$fa-var-window-minimize: "\f2d1";
779
+$fa-var-window-restore: "\f2d2";
780
+$fa-var-windows: "\f17a";
781
+$fa-var-won: "\f159";
782
+$fa-var-wordpress: "\f19a";
783
+$fa-var-wpbeginner: "\f297";
784
+$fa-var-wpexplorer: "\f2de";
785
+$fa-var-wpforms: "\f298";
786
+$fa-var-wrench: "\f0ad";
787
+$fa-var-xing: "\f168";
788
+$fa-var-xing-square: "\f169";
789
+$fa-var-y-combinator: "\f23b";
790
+$fa-var-y-combinator-square: "\f1d4";
791
+$fa-var-yahoo: "\f19e";
792
+$fa-var-yc: "\f23b";
793
+$fa-var-yc-square: "\f1d4";
794
+$fa-var-yelp: "\f1e9";
795
+$fa-var-yen: "\f157";
796
+$fa-var-yoast: "\f2b1";
797
+$fa-var-youtube: "\f167";
798
+$fa-var-youtube-play: "\f16a";
799
+$fa-var-youtube-square: "\f166";
800
+

+ 18 - 0
dist/font/font-awesome-4.7.0/scss/font-awesome.scss 查看文件

@@ -0,0 +1,18 @@
1
+/*!
2
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+
6
+@import "variables";
7
+@import "mixins";
8
+@import "path";
9
+@import "core";
10
+@import "larger";
11
+@import "fixed-width";
12
+@import "list";
13
+@import "bordered-pulled";
14
+@import "animated";
15
+@import "rotated-flipped";
16
+@import "stacked";
17
+@import "icons";
18
+@import "screen-reader";

+ 19 - 13
dist/index.html 查看文件

@@ -1,18 +1,24 @@
1 1
 <!DOCTYPE html>
2 2
 <html>
3
-<head>
4
-  <meta charset='utf-8' />
5
-  <title>Tracim</title>
6
-  <link rel='shortcut icon' href='favicon.ico'>
3
+  <head>
4
+    <meta charset='utf-8' />
5
+    <meta name="viewport" content="width=device-width, user-scalable=no">
6
+    <title>Tracim</title>
7
+    <link rel='shortcut icon' href='favicon.ico'>
7 8
 
8
-  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
9
+    <link rel="stylesheet" type="text/css" href="./font/font-awesome-4.7.0/css/font-awesome.css">
10
+    <link href="https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700" rel="stylesheet">
11
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
12
+    <!--link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"-->
13
+    <!--link rel='stylesheet' href='asset/font-awesome-4.7.0/css/font-awesome.min.css'-->
14
+  </head>
15
+  <body>
16
+    <div id='content'></div>
9 17
 
10
-  <!--<link rel='stylesheet' href='asset/font-awesome-4.7.0/css/font-awesome.min.css'>-->
11
-</head>
12
-<body>
13
-<div id='content'></div>
14
-
15
-<script src='tracim.vendor.bundle.js'></script>
16
-<script src='tracim.app.entry.js'></script>
17
-</body>
18
+    <script src='tracim.vendor.bundle.js'></script>
19
+    <script src='tracim.app.entry.js'></script>
20
+    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
21
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
22
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>
23
+  </body>
18 24
 </html>

+ 31 - 0
jsonserver/server.js 查看文件

@@ -0,0 +1,31 @@
1
+const jsonServer = require('json-server')
2
+const jsonDb = require('./static_db.json')
3
+const server = jsonServer.create()
4
+const router = jsonServer.router() // for persistance : jsonServer.router('static_db.json')
5
+const middlewares = jsonServer.defaults()
6
+const GLOBAL_PORT = 3001
7
+
8
+server.use(middlewares)
9
+server.use(jsonServer.bodyParser)
10
+
11
+// res.jsonp(req.query)
12
+server.get('/echo', (req, res) => res.jsonp('gg'))
13
+server.get('/login', (req, res) => res.jsonp(jsonDb.login))
14
+server.post('/user/login', (req, res) => {
15
+  if (req.body.login !== '' && req.body.password !== '') return res.jsonp(jsonDb.user_logged)
16
+  else return res.jsonp('error')
17
+})
18
+server.get('/user_logged', (req, res) => res.jsonp(jsonDb.user_logged))
19
+server.delete('/deletenodata', (req,res) => res.status(204).jsonp(''))
20
+server.patch('/user', (req, res) => res.jsonp({lang: 'fr'}))
21
+
22
+// server.put('/api/data/raw_materials_vendors/:vendorid', (req, res) => {
23
+//  res.jsonp(jsonVendorColorData.vendorVariableData)
24
+//   console.log(req.body)
25
+//   res.jsonp('gg')
26
+// })
27
+
28
+server.use(router)
29
+server.listen(GLOBAL_PORT, () => {
30
+  console.log('JSON Server is running on port : ' + GLOBAL_PORT)
31
+})

+ 10 - 0
jsonserver/static_db.json 查看文件

@@ -0,0 +1,10 @@
1
+{
2
+  "login": true,
3
+  "user_logged": {
4
+    "id": 5,
5
+    "username": "Smoi",
6
+    "firstname": "Côme",
7
+    "lastname": "Stoilenom",
8
+    "email": "osef@algoo.fr"
9
+  }
10
+}

+ 6 - 2
package.json 查看文件

@@ -4,6 +4,7 @@
4 4
   "description": "",
5 5
   "main": "index.js",
6 6
   "scripts": {
7
+    "mockapi": "node jsonserver/server.js",
7 8
     "servdev": "NODE_ENV=development webpack-dev-server --watch --colors --inline --hot --progress",
8 9
     "build": "NODE_ENV=production webpack -p",
9 10
     "test": "echo \"Error: no test specified\" && exit 1"
@@ -20,13 +21,14 @@
20 21
     "babel-polyfill": "^6.26.0",
21 22
     "babel-preset-env": "^1.6.1",
22 23
     "babel-preset-react": "^6.24.1",
24
+    "classnames": "^2.2.5",
23 25
     "css-loader": "^0.28.7",
24 26
     "file-loader": "^1.1.5",
25 27
     "prop-types": "^15.6.0",
26 28
     "react": "^16.0.0",
27 29
     "react-dom": "^16.0.0",
28 30
     "react-redux": "^5.0.6",
29
-    "react-router": "^4.2.0",
31
+    "react-router-dom": "^4.2.2",
30 32
     "redux": "^3.7.2",
31 33
     "redux-logger": "^3.0.6",
32 34
     "redux-thunk": "^2.2.0",
@@ -36,9 +38,11 @@
36 38
     "stylus": "^0.54.5",
37 39
     "stylus-loader": "^3.0.1",
38 40
     "url-loader": "^0.6.2",
39
-    "webpack": "^3.8.1"
41
+    "webpack": "^3.8.1",
42
+    "whatwg-fetch": "^2.0.3"
40 43
   },
41 44
   "devDependencies": {
45
+    "json-server": "^0.12.0",
42 46
     "webpack-dev-server": "^2.9.2"
43 47
   },
44 48
   "standard": {

+ 94 - 0
src/action-creator.async.js 查看文件

@@ -0,0 +1,94 @@
1
+import { FETCH_CONFIG } from './helper.js'
2
+import {
3
+  USER_LOGIN,
4
+  USER_DATA,
5
+  USER_CONNECTED,
6
+  updateUserConnected,
7
+  updateUserData
8
+} from './action-creator.sync.js'
9
+
10
+/*
11
+ * fetchWrapper(obj)
12
+ *
13
+ * Params:
14
+ *   An Object with the following attributes :
15
+ *     url - string - url of the end point to call
16
+ *     param - object - param to send with fetch call (eg. header)
17
+ *       param.method - string - REQUIRED - method of the http call
18
+ *     actionName - string - name of the action to dispatch with 'PENDING' and 'SUCCESS' respectively before and after the http request
19
+ *     dispatch - func - redux dispatcher function
20
+ *
21
+ * Returns:
22
+ *   An object Response generated by whatwg-fetch with a new property 'json' containing the data received or informations in case of failure
23
+ *
24
+ * This function create a http async request using whatwg-fetch while dispatching a PENDING and a SUCCESS redux action.
25
+ * It also adds, to the Response of the fetch request, the json value so that the redux action have access to the status and the data
26
+ */
27
+const fetchWrapper = async ({url, param, actionName, dispatch, debug = false}) => {
28
+  dispatch({type: `${param.method}/${actionName}/PENDING`})
29
+
30
+  const fetchResult = await fetch(url, param)
31
+  fetchResult.json = await (async () => {
32
+    switch (fetchResult.status) {
33
+      case 200:
34
+      case 304:
35
+        return fetchResult.json()
36
+      case 204:
37
+      case 400:
38
+      case 404:
39
+      case 409:
40
+      case 500:
41
+      case 501:
42
+      case 502:
43
+      case 503:
44
+      case 504:
45
+        return '' // @TODO : handle errors
46
+    }
47
+  })()
48
+  if (debug) console.log(`fetch ${param.method}/${actionName} result: `, fetchResult)
49
+
50
+  if ([200, 204, 304].includes(fetchResult.status)) dispatch({type: `${param.method}/${actionName}/SUCCESS`, data: fetchResult.json})
51
+  else if ([400, 404, 500].includes(fetchResult.status)) dispatch({type: `${param.method}/${actionName}/FAILED`, data: fetchResult.json})
52
+
53
+  return fetchResult
54
+}
55
+
56
+export const userLogin = (login, password) => async dispatch => {
57
+  const fetchUserLogin = await fetchWrapper({
58
+    url: 'http://localhost:3001/user/login',
59
+    param: {...FETCH_CONFIG, method: 'POST', body: JSON.stringify({login, password})},
60
+    actionName: USER_LOGIN,
61
+    dispatch
62
+  })
63
+  if (fetchUserLogin.status === 200) dispatch(updateUserConnected(fetchUserLogin.json))
64
+}
65
+
66
+export const getUserConnected = () => async dispatch => {
67
+  const fetchUserLogged = await fetchWrapper({
68
+    url: 'http://localhost:3001/user_logged',
69
+    param: {...FETCH_CONFIG, method: 'GET'},
70
+    actionName: USER_CONNECTED,
71
+    dispatch
72
+  })
73
+  if (fetchUserLogged.status === 200) dispatch(updateUserConnected(fetchUserLogged.json))
74
+}
75
+
76
+export const updateUserLang = newLang => async dispatch => {
77
+  const fetchUpdateUserLang = await fetchWrapper({
78
+    url: 'http://localhost:3001/user',
79
+    param: {...FETCH_CONFIG, method: 'PATCH', body: JSON.stringify({lang: newLang})},
80
+    actionName: USER_DATA,
81
+    dispatch
82
+  })
83
+  if (fetchUpdateUserLang.status === 200) dispatch(updateUserData({lang: fetchUpdateUserLang.json.lang}))
84
+}
85
+
86
+// export const testResponseNoData = () => async dispatch => {
87
+//   const fetchResponseNoData = await fetchWrapper({
88
+//     url: 'http://localhost:3001/deletenodata',
89
+//     param: {...FETCH_CONFIG, method: 'DELETE'},
90
+//     actionName: 'TestNoData',
91
+//     dispatch
92
+//   })
93
+//   console.log('jsonResponseNoData', fetchResponseNoData)
94
+// }

+ 6 - 0
src/action-creator.sync.js 查看文件

@@ -0,0 +1,6 @@
1
+export const USER_LOGIN = 'User/Login'
2
+export const USER_DATA = 'User/Data'
3
+
4
+export const USER_CONNECTED = 'User/Connected'
5
+export const updateUserConnected = user => ({ type: `Update/${USER_CONNECTED}`, user })
6
+export const updateUserData = userData => ({ type: `Update/${USER_DATA}`, data: userData })

+ 29 - 0
src/component/ConnectionForm.jsx 查看文件

@@ -0,0 +1,29 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+
4
+export const ConnectionForm = props => {
5
+  return (
6
+    <div>
7
+      { props.user.isLoggedIn
8
+        ? 'You are already logged in.'
9
+        : (
10
+          <div>
11
+            Login:
12
+            <input type='text' onChange={props.onChangeLogin} placeholder='Login' />
13
+            <input type='text' onChange={props.onChangePassword} placeholder='Password' />
14
+            <button type='button' onClick={props.onClickSubmit}>Connect</button>
15
+          </div>
16
+        )
17
+      }
18
+    </div>
19
+  )
20
+}
21
+
22
+ConnectionForm.PropTypes = {
23
+  user: PropTypes.shape({
24
+    isLoggedIn: PropTypes.bool.isRequired
25
+  }),
26
+  onChangeLogin: PropTypes.func,
27
+  onChangePassword: PropTypes.func,
28
+  onClickSubmit: PropTypes.func
29
+}

+ 14 - 0
src/component/Footer.jsx 查看文件

@@ -0,0 +1,14 @@
1
+import React from 'react'
2
+import logoFooter from '../img/logoFooter.svg'
3
+
4
+const Footer = props => {
5
+  return (
6
+    <footer className='footer text-right'>
7
+      <div className='footer__text'>
8
+        Créer votre propre espace de travail collaboratif sur trac.im - Copyright 2013 - 2017
9
+      </div>
10
+      <img className='footer__logo' src={logoFooter} />
11
+    </footer>
12
+  )
13
+}
14
+export default Footer

+ 16 - 0
src/component/Header/Logo.jsx 查看文件

@@ -0,0 +1,16 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+
4
+const Logo = props => {
5
+  return (
6
+    <a className='header__logo navbar-brand' onClick={props.onClickImg}>
7
+      <img className='header__logo__img' src={props.logoSrc} />
8
+    </a>
9
+  )
10
+}
11
+export default Logo
12
+
13
+Logo.PropTypes = {
14
+  logoSrc: PropTypes.string.isRequired,
15
+  onClickImg: PropTypes.func.isRequired
16
+}

+ 36 - 0
src/component/Header/MenuActionListItem/DropdownLang.jsx 查看文件

@@ -0,0 +1,36 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+import flagFr from '../../../img/flagFr.png' // for default lang
4
+
5
+const DropdownLang = props => {
6
+  const activeLang = props.langList.find(l => l.active) || {id: 'fr', name: 'Français', src: flagFr, active: true}
7
+  return (
8
+    <li className='header__menu__rightside__itemlanguage'>
9
+      <div className='header__menu__rightside__itemlanguage__languagedropdown dropdown'>
10
+        <button
11
+          type='button'
12
+          className='languagedropdown__btnlanguage btnnavbar btn btn-secondary dropdown-toggle'
13
+          id='headerDropdownMenuButton'
14
+          data-toggle='dropdown'
15
+          aria-haspopup='true'
16
+          aria-expanded='false'
17
+        >
18
+          <img className='languagedropdown__btnlanguage__imgselected' src={activeLang.src} alt={activeLang.name} />
19
+        </button>
20
+        <div className='languagedropdown__subdropdown dropdown-menu' aria-labelledby='headerDropdownMenuButton'>
21
+          { props.langList.map((l, i) => l.active === false &&
22
+            <div className='subdropdown__link dropdown-item' onClick={() => props.onChangeLang(l.id)} key={i}>
23
+              <img className='subdropdown__flag' src={l.src} alt={l.name} />
24
+            </div>
25
+          )}
26
+        </div>
27
+      </div>
28
+    </li>
29
+  )
30
+}
31
+export default DropdownLang
32
+
33
+DropdownLang.PropTypes = {
34
+  langList: PropTypes.array.isRequired,
35
+  onChangeLang: PropTypes.func.isRequired
36
+}

+ 21 - 0
src/component/Header/MenuActionListItem/Help.jsx 查看文件

@@ -0,0 +1,21 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+
4
+const Help = props => {
5
+  return (
6
+    <li className='header__menu__rightside__itemquestion'>
7
+      <button
8
+        type='button'
9
+        className='header__menu__rightside__itemquestion__btnquestion btnnavbar btn btn-primary'
10
+        onClick={props.onClickHelp}
11
+      >
12
+        <i className='btnquestion__icon fa fa-question' />
13
+      </button>
14
+    </li>
15
+  )
16
+}
17
+export default Help
18
+
19
+Help.PropTypes = {
20
+  onClickHelp: PropTypes.func.isRequired
21
+}

+ 31 - 0
src/component/Header/MenuActionListItem/MenuProfil.jsx 查看文件

@@ -0,0 +1,31 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+
4
+const MenuProfil = props => {
5
+  return props.user.isLoggedin
6
+    ? (
7
+      <li className='header__menu__rightside__itemprofil'>
8
+        <div className='header__menu__rightside__itemprofil__profilgroup dropdown'>
9
+          <button className='profilgroup__name btn btn-secondary dropdown-toggle' type='button' id='dropdownMenuButton' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>
10
+            <img className='profilgroup__name__imgprofil' src={props.user.avatar} alt='avatar' />
11
+            <div className='profilgroup__name__text'>
12
+              {props.user.name}
13
+            </div>
14
+          </button>
15
+          <div className='profilgroup__setting dropdown-menu' aria-labelledby='dropdownMenuButton'>
16
+            <div className='setting__link dropdown-item' onClick={props.onClickMyProfil}>Mon compte</div>
17
+            {/* <div className='setting__link dropdown-item'>Mot de passe</div> */}
18
+            <div className='setting__link dropdown-item' onClick={props.onClickLogout}>Se déconnecter</div>
19
+          </div>
20
+        </div>
21
+      </li>
22
+    )
23
+    : ''
24
+}
25
+export default MenuProfil
26
+
27
+MenuProfil.PropTypes = {
28
+  user: PropTypes.object.isRequired,
29
+  onClickMyProfil: PropTypes.func.isRequired,
30
+  onClickLogout: PropTypes.func.isRequired
31
+}

+ 31 - 0
src/component/Header/MenuActionListItem/Search.jsx 查看文件

@@ -0,0 +1,31 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+
4
+const Search = props => {
5
+  return (
6
+    <li className='header__menu__rightside__itemsearch'>
7
+      <div className='header__menu__rightside__itemsearch__search input-group'>
8
+        <input
9
+          type='text'
10
+          className='search__input form-control'
11
+          placeholder='Rechercher un dossier ..'
12
+          aria-describedby='headerInputSearch'
13
+          onChange={props.onChangeInput}
14
+        />
15
+        <span
16
+          className='search__addonsearch input-group-addon'
17
+          id='headerInputSearch'
18
+          onClick={props.onClickSubmit}
19
+        >
20
+          <i className='fa fa-search' />
21
+        </span>
22
+      </div>
23
+    </li>
24
+  )
25
+}
26
+export default Search
27
+
28
+Search.PropTypes = {
29
+  onChangeInput: PropTypes.func.isRequired,
30
+  onClickSubmit: PropTypes.func.isRequired
31
+}

+ 25 - 0
src/component/Header/MenuLinkList.jsx 查看文件

@@ -0,0 +1,25 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+
4
+const MenuLinkList = props => {
5
+  return (
6
+    <ul className='header__menu__list text-center navbar-nav mr-auto'>
7
+      <li className='list__item nav-item'>
8
+        <a className='list__item__link' href='' onClick={props.onClickFeature}>Fonctionnalité</a>
9
+      </li>
10
+      <li className='list__item nav-item'>
11
+        <a className='list__item__link' href='' onClick={props.onClickExplore}>Explorer</a>
12
+      </li>
13
+      <li className='list__item nav-item'>
14
+        <a className='list__item__link' href='' onClick={props.onClickAbout}>A Propos</a>
15
+      </li>
16
+    </ul>
17
+  )
18
+}
19
+export default MenuLinkList
20
+
21
+MenuLinkList.PropTypes = {
22
+  onClickFeature: PropTypes.func.isRequired,
23
+  onClickExplore: PropTypes.func.isRequired,
24
+  onClickAbout: PropTypes.func.isRequired
25
+}

+ 17 - 0
src/component/Header/NavbarToggler.jsx 查看文件

@@ -0,0 +1,17 @@
1
+import React from 'react'
2
+
3
+const NavbarToggler = props => {
4
+  return (
5
+    <button
6
+      className='navbar-toggler'
7
+      type='button'
8
+      data-toggle='collapse'
9
+      data-target='#navbarSupportedContent'
10
+      aria-controls='navbarSupportedContent'
11
+      aria-expanded='false'
12
+      aria-label='Toggle navigation'>
13
+      <span className='navbar-toggler-icon' />
14
+    </button>
15
+  )
16
+}
17
+export default NavbarToggler

+ 29 - 0
src/component/HeaderTpl.jsx 查看文件

@@ -0,0 +1,29 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+import { Link } from 'react-router-dom'
4
+
5
+const HeaderTpl = props => {
6
+  return (
7
+    <div>
8
+      { props.user.isLoggedIn
9
+        ? `'Soir ${props.user.firstname} ${props.user.lastname}.`
10
+        : 'Why dont you connect yourself ?'
11
+      }
12
+      <ul>
13
+        <li><Link to={'/'}>Home</Link></li>
14
+        <li><Link to={'/login'}>Login</Link></li>
15
+        <li><Link to={'/page'}>Page</Link></li>
16
+      </ul>
17
+      <button onClick={e => props.onChangeLang('fr')}>Click Me</button>
18
+    </div>
19
+  )
20
+}
21
+export default HeaderTpl
22
+
23
+HeaderTpl.PropTypes = {
24
+  user: PropTypes.shape({
25
+    isLoggedIn: PropTypes.bool.isRequired
26
+  }),
27
+  onChangeLang: PropTypes.func,
28
+  onSubmitSearch: PropTypes.func
29
+}

+ 102 - 0
src/container/Header.jsx 查看文件

@@ -0,0 +1,102 @@
1
+import React from 'react'
2
+import { connect } from 'react-redux'
3
+// import HeaderTpl from '../component/HeaderTpl.jsx'
4
+import Logo from '../component/Header/Logo.jsx'
5
+import NavbarToggler from '../component/Header/NavbarToggler.jsx'
6
+import MenuLinkList from '../component/Header/MenuLinkList.jsx'
7
+// import MenuActionList from '../component/Header/MenuActionList.jsx'
8
+import MenuActionListItemSearch from '../component/Header/MenuActionListItem/Search.jsx'
9
+import MenuActionListItemDropdownLang from '../component/Header/MenuActionListItem/DropdownLang.jsx'
10
+import MenuActionListItemHelp from '../component/Header/MenuActionListItem/Help.jsx'
11
+import MenuActionListItemMenuProfil from '../component/Header/MenuActionListItem/MenuProfil.jsx'
12
+import logoHeader from '../img/logoHeader.svg'
13
+import flagFr from '../img/flagFr.png'
14
+import flagEn from '../img/flagEn.png'
15
+// import { updateUserLang } from '../action-creator.async.js'
16
+
17
+const HeaderWrapper = props => <header><nav className='header navbar navbar-expand-md navbar-light bg-light'>{props.children}</nav></header>
18
+const HeaderMenuRightWrapper = props => <div className='header__menu collapse navbar-collapse justify-content-end' id='navbarSupportedContent'>{props.children}</div>
19
+const MenuActionListWrapper = props => <ul className='header__menu__rightside'>{ props.children }</ul>
20
+
21
+class Header extends React.Component {
22
+  // handleChangeLang = newLang => this.props.dispatch(updateUserLang(newLang))
23
+  // handleSubmitSearch = search => console.log('search submited : ', search)
24
+
25
+  handleClickLogo = () => {}
26
+
27
+  handleClickFeature = () => {}
28
+  handleClickExplore = () => {}
29
+  handleClickAbout = () => {}
30
+
31
+  handleChangeInput = e => this.setState({inputSearchValue: e.target.value})
32
+  handleClickSubmit = () => {}
33
+
34
+  handleChangeLang = langId => {}
35
+
36
+  handleClickHelp = () => {}
37
+
38
+  handleClickMyProfil = () => {}
39
+  handleClickLogout = () => {}
40
+
41
+  render () {
42
+    // return (
43
+    //   <HeaderTpl
44
+    //     user={this.props.user}
45
+    //     onChangeLang={this.handleChangeLang}
46
+    //     onSubmitSearch={this.handleSubmitSearch}
47
+    //   />
48
+    // )
49
+    const { user } = this.props
50
+    const langList = [{ // @TODO this should come from API
51
+      id: 'fr',
52
+      name: 'Français',
53
+      src: flagFr,
54
+      active: true
55
+    }, {
56
+      id: 'en',
57
+      name: 'English',
58
+      src: flagEn,
59
+      active: false
60
+    }]
61
+    // const userLogged = {
62
+    //   name: 'MrLapin',
63
+    //   avatar: 'https://photos-5.dropbox.com/t/2/AABmH38-9J0wawQdkSbEd757WfRA411L4h1eGtK0MLbWhA/' +
64
+    //   '12/14775898/png/32x32/1/_/1/2/avatar.png/ELyA_woY8SUgBygH/f3VzTEnU5OWqjkWwGyHOrJA2vYQKb3j' +
65
+    //   'S_zkvxpAJO0g?size=800x600&size_mode=3'
66
+    // }
67
+
68
+    return (
69
+      <HeaderWrapper>
70
+        <Logo logoSrc={logoHeader} onClickImg={this.handleClickLogo} />
71
+        <NavbarToggler />
72
+
73
+        <HeaderMenuRightWrapper>
74
+          <MenuLinkList
75
+            onClickFeature={this.handleClickFeature}
76
+            onClickExplore={this.handleClickExplore}
77
+            onClickAbout={this.handleClickAbout}
78
+          />
79
+          <MenuActionListWrapper>
80
+            <MenuActionListItemSearch
81
+              onChangeInput={this.handleChangeInput}
82
+              onClickSubmit={this.handleClickSubmit}
83
+            />
84
+            <MenuActionListItemDropdownLang
85
+              langList={langList}
86
+              onChangeLang={this.handleChangeLang}
87
+            />
88
+            <MenuActionListItemHelp
89
+              onClickHelp={this.handleClickHelp}
90
+            />
91
+            <MenuActionListItemMenuProfil
92
+              user={user}
93
+              onClickMyProfil={this.handleClickMyProfil}
94
+              onClickLogout={this.handleClickLogout}
95
+            />
96
+          </MenuActionListWrapper>
97
+        </HeaderMenuRightWrapper>
98
+      </HeaderWrapper>
99
+    )
100
+  }
101
+}
102
+export default connect(({ user }) => ({ user }))(Header)

+ 17 - 0
src/container/Home.jsx 查看文件

@@ -0,0 +1,17 @@
1
+import React from 'react'
2
+import { connect } from 'react-redux'
3
+
4
+class Home extends React.Component {
5
+  render () {
6
+    const { user } = this.props
7
+    return (
8
+      <div>
9
+        Home.<br />
10
+        User logged in : {user.isLoggedIn.toString()}
11
+      </div>
12
+    )
13
+  }
14
+}
15
+
16
+const mapStateToProps = ({ user }) => ({ user })
17
+export default connect(mapStateToProps)(Home)

+ 114 - 0
src/container/Login.jsx 查看文件

@@ -0,0 +1,114 @@
1
+import React from 'react'
2
+import { connect } from 'react-redux'
3
+// import { ConnectionForm } from '../component/ConnectionForm.jsx'
4
+import { userLogin } from '../action-creator.async.js'
5
+
6
+class Login extends React.Component {
7
+  constructor (props) {
8
+    super(props)
9
+    this.state = {
10
+      inputLogin: '',
11
+      inputPassword: ''
12
+    }
13
+  }
14
+
15
+  handleChangeLogin = e => this.setState({inputLogin: e.target.value})
16
+  handleChangePassword = e => this.setState({inputPassword: e.target.value})
17
+
18
+  handleClickSubmit = () => this.props.dispatch(userLogin(this.state.inputLogin, this.state.inputPassword))
19
+
20
+  render () {
21
+    // const { user } = this.props
22
+    // return (
23
+    //   <div>
24
+    //     <ConnectionForm
25
+    //       user={user}
26
+    //       onChangeLogin={this.handleChangeLogin}
27
+    //       onChangePassword={this.handleChangePassword}
28
+    //       onClickSubmit={this.handleClickSubmit}
29
+    //     />
30
+    //   </div>
31
+    // )
32
+    return (
33
+      <div>{/*
34
+        <div className='loginpage'>
35
+
36
+          <section className='loginpage__content'>
37
+            <div className='sidebar'>
38
+              sidebar
39
+            </div>
40
+            <div className='container-fluid contentbody'>
41
+              <div className='loginpage__content__logo'>
42
+                <img src={logoAccueil} />
43
+              </div>
44
+
45
+              <div className='row justify-content-center'>
46
+                <div className='col-12 col-sm-11 col-md-8 col-lg-6 col-xl-5'>
47
+                  <div className='loginpage__content__connection card'>
48
+                    <div className='connection__header card-header text-center'>
49
+                      Connexion
50
+                    </div>
51
+
52
+                    <div className='card-body'>
53
+                      <form className='connection__form'>
54
+                        <div className='connection__form__groupemail form-group mb-3 mt-4'>
55
+                          <div className='connection__form__groupemail__icon'>
56
+                            <i className='fa fa-fw fa-envelope-open-o' />
57
+                          </div>
58
+                          <input type='email' className='connection__form__groupemail__input form-control' placeholder='Adresse Email' />
59
+                          <div className='connection__form__groupemail__msgerror invalid-feedback'>
60
+                            Invalid email.
61
+                          </div>
62
+                        </div>
63
+
64
+                        <div className='connection__form__groupepw form-group'>
65
+                          <div className='connection__form__groupepw__icon'>
66
+                            <i className='fa fa-fw fa-lock' />
67
+                          </div>
68
+                          <input type='password' className='connection__form__groupepw__pw form-control' id='password-co' placeholder='Mot de passe' />
69
+                          <div className='connection__form__groupepw__msgerror invalid-feedback'>
70
+                            Invalid password.
71
+                          </div>
72
+                        </div>
73
+
74
+                        <div className='row mt-4 mb-4'>
75
+                          <div className='col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6'>
76
+                            <div className='connection__form__rememberme form-check'>
77
+                              <label className='connection__form__rememberme__label form-check-label'>
78
+                                <input type='checkbox' className='connection__form__rememberme__label__checkbox form-check-input' />
79
+                                Se souvenir de moi
80
+                              </label>
81
+                            </div>
82
+                          </div>
83
+
84
+                          <div className='col-12 col-sm-6 col-md-6 col-lg-6 text-sm-right'>
85
+                            <div className='connection__form__pwforgot'>
86
+                              Mot de passe oublié ?
87
+                            </div>
88
+                          </div>
89
+                        </div>
90
+
91
+                        <button type='submit' className='connection__form__btnsubmit btn btn-primary'>Connexion</button>
92
+                      </form>
93
+
94
+                    </div>
95
+                  </div>
96
+                </div>
97
+              </div>
98
+            </div>
99
+          </section>
100
+
101
+          <footer className='footer text-right'>
102
+            <div className='footer__text'>
103
+              Créer votre propre espace de travail collaboratif sur trac.im - Copyright 2013 - 2017
104
+            </div>
105
+            <img className='footer__logo' src={logoFooter} />
106
+          </footer>
107
+        </div> */}
108
+      </div>
109
+    )
110
+  }
111
+}
112
+
113
+const mapStateToProps = ({ user }) => ({ user })
114
+export default connect(mapStateToProps)(Login)

+ 16 - 0
src/container/Page.jsx 查看文件

@@ -0,0 +1,16 @@
1
+import React from 'react'
2
+import { connect } from 'react-redux'
3
+
4
+class Page extends React.Component {
5
+  render () {
6
+    const { user } = this.props
7
+    return (
8
+      <div>
9
+        Page ! user Logged in : {user.isLoggedIn.toString()}
10
+      </div>
11
+    )
12
+  }
13
+}
14
+
15
+const mapStateToProps = ({ user }) => ({ user })
16
+export default connect(mapStateToProps)(Page)

+ 29 - 0
src/container/PrivateRoute.jsx 查看文件

@@ -0,0 +1,29 @@
1
+import React from 'react'
2
+import PropTypes from 'prop-types'
3
+import { connect } from 'react-redux'
4
+import { Route, Redirect, withRouter } from 'react-router-dom'
5
+
6
+// component inspired from https://reacttraining.com/react-router/web/example/auth-workflow
7
+
8
+// /!\ you shall destruct props.component otherwise you get a warning:
9
+// "You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored
10
+const PrivateRoute = ({ component: Component, ...rest }) => {
11
+  return (
12
+    <Route {...rest} render={props => rest.user.isLoggedIn
13
+      ? <Component {...props} />
14
+      : <Redirect to={{pathname: '/login', state: {from: props.location}}} />
15
+    } />
16
+  )
17
+}
18
+
19
+const mapStateToProps = ({ user }) => ({ user })
20
+export default withRouter(connect(mapStateToProps)(PrivateRoute))
21
+
22
+PrivateRoute.PropTypes = {
23
+  component: PropTypes.shape({
24
+    Component: PropTypes.object.isRequired
25
+  }),
26
+  user: PropTypes.shape({ // user is get with redux connect
27
+    isLoggedIn: PropTypes.bool.isRequired
28
+  })
29
+}

+ 31 - 0
src/container/Tracim.jsx 查看文件

@@ -0,0 +1,31 @@
1
+import React from 'react'
2
+import { connect } from 'react-redux'
3
+import Footer from '../component/Footer.jsx'
4
+import Header from './Header.jsx'
5
+import Login from './Login.jsx'
6
+import Page from './Page.jsx'
7
+import Home from './Home.jsx'
8
+import {
9
+  Route,
10
+  withRouter
11
+} from 'react-router-dom'
12
+import PrivateRoute from './PrivateRoute.jsx'
13
+
14
+class Tracim extends React.Component {
15
+  render () {
16
+    return (
17
+      <div>
18
+        <Header />
19
+
20
+        <PrivateRoute exact path='/' component={Home} />
21
+        <Route path='/login' component={Login} />
22
+        <PrivateRoute path='/page' component={Page} />
23
+
24
+        <Footer />
25
+      </div>
26
+    )
27
+  }
28
+}
29
+
30
+const mapStateToProps = ({ user }) => ({ user })
31
+export default withRouter(connect(mapStateToProps)(Tracim))

+ 18 - 0
src/css/Footer.styl 查看文件

@@ -0,0 +1,18 @@
1
+.footer
2
+  border-top 1px solid grey
3
+  width 100%
4
+  background-color light-grey
5
+  &__text
6
+    display none
7
+    vertical-align middle
8
+    margin-top 5px
9
+  &__logo
10
+    display inline-block
11
+    vertical-align middle
12
+    margin 0 2% 0 35px
13
+    width 120px
14
+
15
+@media (min-width: min-lg)
16
+  .footer
17
+    &__text
18
+      display inline-block

+ 157 - 0
src/css/Header.styl 查看文件

@@ -0,0 +1,157 @@
1
+.header
2
+  width 100%
3
+  box-shadow shadow-bottom
4
+  background off-white
5
+  &__logo
6
+    &__img
7
+      margin-left 40px
8
+      width 150px
9
+  &__menu
10
+    justify-content flex-end
11
+    &__list
12
+      display none
13
+      margin-left 50px
14
+      .list__item
15
+        padding-right 30px
16
+        &__link
17
+          color blue
18
+          font-size 16px
19
+          &:hover
20
+            color dark-blue
21
+    &__rightside
22
+      display flex
23
+      justify-content flex-end
24
+      margin-top 15px
25
+      width 60%
26
+      list-style none
27
+      &__itemsearch
28
+        margin-right 8%
29
+        width 55%
30
+        &__search
31
+          width 100%
32
+          .search__addonsearch
33
+            background-color transparent
34
+      .btnnavbar
35
+        border 1px solid grey
36
+        background-color transparent
37
+        cursor pointer
38
+      &__itemlanguage
39
+        &__languagedropdown
40
+          .languagedropdown
41
+            &__btnlanguage
42
+              margin-right 25px
43
+              color dark-grey
44
+              &:focus
45
+                box-shadow shadow-all-side-blue
46
+                border-radius 5px
47
+                background-color transparent
48
+              &__imgselected
49
+                margin-right 10px
50
+                width 20px
51
+                height 15px
52
+            &__subdropdown
53
+              padding 0
54
+              min-width 0
55
+              .subdropdown
56
+                &__flag
57
+                  width 25px
58
+                  height 18px
59
+      &__itemquestion
60
+        &__btnquestion
61
+          margin-right 30px
62
+          .btnquestion__icon
63
+            color dark-grey
64
+      &__itemprofil
65
+        &__profilgroup
66
+          .profilgroup__name
67
+            border 0
68
+            padding 0 5px
69
+            background-color transparent
70
+            &:hover
71
+              background-color light-grey
72
+            &:focus
73
+              box-shadow shadow-all-side-blue
74
+              background-color light-grey
75
+            &::after //bootstrap overrides
76
+              vertical-align middle
77
+              color dark-grey
78
+            &__imgprofil
79
+              display inline-block
80
+              margin-right 10px
81
+              width 40px
82
+              height 40px
83
+            &__text
84
+              display inline-block
85
+              vertical-align middle
86
+              margin-right 10px
87
+              color dark-grey
88
+          .profilgroup__sub
89
+            color dark-grey
90
+            cursor pointer
91
+            &:focus
92
+              box-shadow none
93
+          .profilgroup__setting
94
+            padding 0
95
+            &__link
96
+              padding 10px 0
97
+
98
+@media (min-width: min-lg) and (max-width: max-lg)
99
+  .header__menu__rightside
100
+    width 100%
101
+
102
+@media (min-width: min-md) and (max-width: max-md)
103
+  .header
104
+    &__logo__img
105
+        margin-left 0
106
+    &__menu
107
+      &__list
108
+        margin-left 0
109
+      &__rightside
110
+        width 67%
111
+
112
+@media (min-width: min-sm) and (max-width: max-sm)
113
+  .header
114
+    position fixed
115
+    z-index 2
116
+    &__logo__img
117
+      margin-left 0
118
+    &__menu
119
+      &__list
120
+        margin-left 0
121
+        .list__item
122
+          padding-right 0
123
+          padding-bottom 12px
124
+      &__rightside
125
+        margin-top 12px
126
+        padding-left 0
127
+        justify-content center
128
+        width 100%
129
+        &__itemsearch
130
+          margin-right 45px
131
+        &__itemquestion
132
+          display none
133
+
134
+@media (max-width: max-xs)
135
+  .header
136
+    position fixed
137
+    z-index 2
138
+    &__logo__img
139
+      margin-left 0
140
+    &__menu__list
141
+      margin-left 0
142
+      .list__item
143
+        padding-right 0
144
+        padding-bottom 12px
145
+      &__rightside
146
+        padding-top 12px
147
+        justify-content center
148
+        width 100%
149
+        padding-left 0
150
+        &__itemsearch
151
+          margin-right 6%
152
+          width 100%
153
+        &__itemlanguage__languagedropdown
154
+          .languagedropdown__btnlanguage
155
+            margin-right 0
156
+        &__itemquestion
157
+          display none

+ 44 - 0
src/css/Variable.styl 查看文件

@@ -0,0 +1,44 @@
1
+/**** VARIABLES ****/
2
+/*** COULEURS ****/
3
+dark-blue = #215E8E // #215E8E dark-blue
4
+hover-blue = #205AED // #205AED color blue use in hover rules
5
+blue = #2571FE // #2571FE blue
6
+light-blue = #569EDE // #569EDE light-blue
7
+opacity-blue = #82B2CC // #82B2CC  blue with light opacity
8
+off-white = #FDFDFD // #FDFDFD off-white
9
+dark-grey = #252525 // #252525 dark-grey
10
+hover = #9BC1EB // #9BC1EB hover on folder
11
+hover-files = rgba(155,193,235,0.2) // hover on files
12
+grey = #ABABAB // #ABABAB grey
13
+light-grey = #f0f0f0 // #f0f0f0 light grey
14
+hover-grey = #E0E0E0 // #E0E0E0 color for hover files
15
+green = #28a745 // #28a745 green
16
+dark-green = #65A833 // #65A833 dark-green
17
+purple = #7E36A0 // color icon on the sidebar menu workspace
18
+orange = #D95620 // color icon on the sidebar menu workspace
19
+red = #D9352B // color icon on the sidebar menu workspace
20
+
21
+/*************************/
22
+/**** BOX SHADOW ****/
23
+shadow-bottom = 0px 0px 5px 1px #606060
24
+shadow-right = 2px 2px 5px 0px #404040
25
+shadow-all = 1px 1px 5px 2px #ABABAB
26
+shadow-all-side-blue = 0px 0px 1px 1px light-blue
27
+shadow-all-side-green = 0 0 1px 2px green
28
+
29
+/***********************/
30
+/**** MEDIA QUERIES ****/
31
+min-xs = 0px
32
+max-xs = 575px
33
+
34
+min-sm = 576px
35
+max-sm = 767px
36
+
37
+min-md = 768px
38
+max-md = 991px
39
+
40
+min-lg = 992px
41
+max-lg = 1199px
42
+
43
+min-xl = 1200px
44
+/***********************/

+ 3 - 0
src/css/index.styl 查看文件

@@ -0,0 +1,3 @@
1
+@import "Variable"
2
+@import "Header"
3
+@import "Footer"

+ 6 - 0
src/helper.js 查看文件

@@ -0,0 +1,6 @@
1
+export const FETCH_CONFIG = {
2
+  headers: {
3
+    'Accept': 'application/json',
4
+    'Content-Type': 'application/json'
5
+  }
6
+}

二進制
src/img/flagEn.png 查看文件


二進制
src/img/flagFr.png 查看文件


+ 46 - 0
src/img/logoFooter.svg 查看文件

@@ -0,0 +1,46 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
3
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+	 viewBox="0 226 480 195" enable-background="new 0 226 480 195" xml:space="preserve">
6
+<g id="Logotype">
7
+	<g>
8
+		<g>
9
+			<path fill="#757575" d="M194.2,282.4v15.5h14v12h-14v25.5c0,3.4,0.6,5.6,1.9,6.7c1.3,1.2,3,1.8,5.6,1.8c1.2,0,2.3-0.1,3.5-0.4
10
+				c1.2-0.3,2.2-0.8,3-1.6l1.8,11.1c-1.8,1.6-3.6,2.8-5.5,3.6c-1.9,0.8-4.4,1.2-7.7,1.2c-5.8,0-10.2-1.7-13.2-4.9
11
+				c-2.9-3.3-4.5-8.4-4.5-15.3v-27.6h-6.8v-12h6.8v-9.5L194.2,282.4z"/>
12
+			<path fill="#757575" d="M251,308.5c-4.4,0-12.6,2.7-16.5,7v40.5h-15v-58.1h15v6.3c3.9-5,11.3-7.7,16.5-7.7V308.5z"/>
13
+			<path fill="#757575" d="M297.8,357.2c-4.6,0-9.3-1.6-11.3-4.8c-3.4,2-6,3.5-8.1,4.1c-2,0.7-4,1-5.9,1c-4.6,0-8.5-1.6-11.6-4.8
14
+				c-3.1-3.1-4.7-7.4-4.7-12.8c0-5,1.5-9,4.4-11.9s6.7-4.6,11.3-5.4l12.2-2v-3.8c0-2.9-0.8-4.8-2.5-5.8c-1.7-0.9-3.6-1.4-5.6-1.4
15
+				c-2.5,0-4.9,0.4-7.6,1.3c-2.5,0.8-4.8,2-6.8,3.3l-2.4-12.8c6.4-3.4,12.8-5,19.2-5c2.2,0,4.4,0.2,6.7,0.6s4.4,1.3,6.3,2.5
16
+				c1.9,1.3,3.4,2.8,4.6,4.9c1.2,2,1.8,4.6,1.8,7.7v27.4V357.2z M277.1,330.6c-2,0.3-3.7,1-4.9,2.4c-1.3,1.3-1.9,3.1-1.9,5.7
17
+				c0,4.5,2,6.7,6.1,6.7c1.2,0,2.3-0.2,3.4-0.6c1-0.4,2.5-1.2,4.2-2.2v-13.2L277.1,330.6z"/>
18
+			<path fill="#757575" d="M346.6,311.3c-3.4-2.2-6.9-3.3-10.9-3.3c-4.8,0-8.2,1.6-10.3,4.7c-2,3.1-3,7.3-3,12.7
19
+				c0,5,0.9,9.5,2.8,13.3c1.9,3.8,5.2,5.7,10.3,5.7c2,0,4.2-0.3,6.6-0.9c2.4-0.6,4.5-1.7,6.2-3.1l2,10.7c-2,2.3-4.7,4.1-8.2,5.5
20
+				c-3.5,1.3-7,2-10.8,2c-7.4,0-13.2-2.7-17.3-8.1c-4.1-5.4-6.2-13-6.2-22.9c0-10.5,2.3-18.3,6.9-23.5c4.6-5.2,11.2-7.9,19.6-7.9
21
+				c5.8,0,10.5,1,14.2,3L346.6,311.3z"/>
22
+			<path fill="#757575" d="M366.7,273.8c2.6,0,4.7,0.7,6.2,2.1c1.6,1.4,2.3,3.6,2.3,6.4c0,2.7-0.7,4.9-2.3,6.3
23
+				c-1.6,1.5-3.6,2.2-6.2,2.2c-2.6,0-4.7-0.7-6.2-2.2c-1.6-1.5-2.3-3.6-2.3-6.3c0-2.9,0.7-5,2.3-6.4
24
+				C362,274.4,364.1,273.8,366.7,273.8z M374.1,297.9v58.1h-15v-58.1H374.1z"/>
25
+			<path fill="#757575" d="M400.9,297.9v5.9c2.7-2,5.7-3.7,8.8-5c3.1-1.3,6.1-2,9-2c5.6,0,9.1,2.6,10.9,7.9c2.9-2,6-3.9,9.2-5.5
26
+				c3.3-1.6,6.5-2.4,9.7-2.4c3.8,0,6.7,1.2,8.7,3.6s3,6.4,3,11.9v43.8h-15v-40.2c0-4.2-1.5-6.3-4.4-6.3c-2.6,0-6.1,1.3-10.5,3.9
27
+				v42.7h-14.8v-40.3c0-4.2-1.6-6.3-4.6-6.3c-2.7,0-6.2,1.3-10.3,3.9v42.7h-15v-58.1H400.9z"/>
28
+		</g>
29
+	</g>
30
+	<path fill="#757575" d="M148.8,323.6c2.6,3,3.6,7.3,2.1,11.3c-1.5,4.1-4.9,6.9-9,7.8c0,0-12.1,23.8-35.6,19.4
31
+		c0,0,16.4-3.6,23.8-22.8c-3.1-3.1-4.4-7.8-2.8-12.2c1.6-4.3,5.5-7.2,9.9-7.9c-0.3-2.8-1.2-5.6-2.5-8.4c-0.8-1.8-1-3.5-0.1-5.2
32
+		c0,0,3.5-6.3,8.7-0.6C148.5,310.7,148.8,323.6,148.8,323.6z"/>
33
+	<path fill="#757575" d="M107.8,382.6c-2.4,3.3-6.4,5.1-10.6,4.6c-4.3-0.5-7.8-3.4-9.5-7.1c0,0-25.9-6.6-26.8-30.4
34
+		c0,0,7,15.2,27.5,18.3c2.3-3.8,6.6-6,11.2-5.4c4.5,0.5,8.3,3.8,9.9,8c2.6-0.9,5.2-2.3,7.7-4.2c1.6-1.3,3.1-1.8,5-1.3
35
+		c0,0,6.9,2,2.5,8.4C120.1,379.8,107.8,382.6,107.8,382.6z"/>
36
+	<path fill="#757575" d="M39.2,360.8c-3.7-1.8-6.2-5.4-6.5-9.5c-0.3-4.3,1.8-8.3,5.2-10.7c0,0,1.7-26.6,25-31.9
37
+		c0,0-13.6,9.8-12.9,30.4c4.1,1.6,7,5.4,7.3,10.1c0.3,4.5-2.1,8.7-6,11c1.4,2.4,3.3,4.7,5.6,6.7c1.5,1.3,2.3,2.8,2.1,4.7
38
+		c0,0-0.6,7.1-7.8,4C44.4,372.4,39.2,360.8,39.2,360.8z"/>
39
+	<path fill="#757575" d="M39.3,294.2c0.1-4,2.1-7.9,5.9-10c3.8-2.1,8.3-1.9,11.9,0.1c0,0,24.9-10,39.6,8.8c0,0-14.7-8.1-32.9,1.4
40
+		c0.3,4.4-1.8,8.7-5.9,11c-4,2.2-8.9,1.8-12.6-0.6c-1.6,2.3-2.8,4.9-3.7,7.9c-0.5,1.9-1.5,3.4-3.4,4c0,0-6.7,2.4-6.9-5.2
41
+		C31.1,303.7,39.3,294.2,39.3,294.2z"/>
42
+	<path fill="#757575" d="M102.4,269c3.7-1.7,8.1-1.5,11.5,1c3.5,2.5,5.2,6.7,4.9,10.8c0,0,19.6,18.3,8.8,39.6c0,0,1-16.7-15.3-29.3
43
+		c-3.9,2.1-8.6,2.1-12.5-0.6c-3.8-2.7-5.5-7.2-4.8-11.8c-2.7-0.4-5.7-0.4-8.7,0.1c-1.9,0.3-3.7,0-5-1.4c0,0-5.1-5,1.9-8.5
44
+		C90.1,265.5,102.4,269,102.4,269z"/>
45
+</g>
46
+</svg>

+ 50 - 0
src/img/logoHeader.svg 查看文件

@@ -0,0 +1,50 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
3
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+	 viewBox="0 0 429.3 123.2" enable-background="new 0 0 429.3 123.2" xml:space="preserve">
6
+<g id="Background">
7
+	<rect x="-178" y="-123.2" fill="transparent" width="800" height="600"/>
8
+</g>
9
+<g id="Logotype">
10
+	<g>
11
+		<g>
12
+			<path fill="#0F587E" d="M164.7,21.6v14.8H178v11.4h-13.3v24.3c0,3.2,0.6,5.3,1.8,6.4c1.2,1.1,2.9,1.7,5.3,1.7
13
+				c1.1,0,2.2-0.1,3.3-0.4c1.1-0.3,2.1-0.8,2.9-1.5l1.7,10.6c-1.7,1.5-3.4,2.7-5.2,3.4c-1.8,0.8-4.2,1.1-7.3,1.1
14
+				c-5.5,0-9.7-1.6-12.6-4.7c-2.8-3.1-4.3-8-4.3-14.6V47.8h-6.5V36.4h6.5v-9.1L164.7,21.6z"/>
15
+			<path fill="#0F587E" d="M218.8,46.4c-4.2,0-12,2.6-15.7,6.7v38.6h-14.3V36.4h14.3v6c3.7-4.8,10.8-7.3,15.7-7.3"/>
16
+			<path fill="#0F587E" d="M263.5,92.8c-4.4,0-8.9-1.5-10.8-4.6c-3.2,1.9-5.7,3.3-7.7,3.9c-1.9,0.7-3.8,1-5.6,1
17
+				c-4.4,0-8.1-1.5-11.1-4.6c-3-3-4.5-7.1-4.5-12.2c0-4.8,1.4-8.6,4.2-11.3c2.8-2.7,6.4-4.4,10.8-5.1l11.6-1.9v-3.7
18
+				c0-2.8-0.8-4.6-2.4-5.5c-1.6-0.9-3.4-1.3-5.3-1.3c-2.4,0-4.7,0.4-7.2,1.2c-2.4,0.8-4.6,1.9-6.5,3.1l-2.3-12.2
19
+				c6.1-3.2,12.2-4.8,18.3-4.8c2.1,0,4.2,0.2,6.4,0.6c2.2,0.4,4.2,1.2,6,2.4c1.8,1.2,3.2,2.7,4.4,4.7c1.1,1.9,1.7,4.4,1.7,7.3
20
+				l0,26.1 M243.7,67.5c-1.9,0.3-3.5,1-4.7,2.3c-1.2,1.2-1.8,3-1.8,5.4c0,4.3,1.9,6.4,5.8,6.4c1.1,0,2.2-0.2,3.2-0.6
21
+				c1-0.4,2.4-1.1,4-2.1V66.2L243.7,67.5z"/>
22
+			<path fill="#0F587E" d="M310,49c-3.2-2.1-6.6-3.1-10.4-3.1c-4.6,0-7.8,1.5-9.8,4.5c-1.9,3-2.9,7-2.9,12.1c0,4.8,0.9,9.1,2.7,12.7
23
+				c1.8,3.6,5,5.4,9.8,5.4c1.9,0,4-0.3,6.3-0.9c2.3-0.6,4.3-1.6,5.9-3l1.9,10.2c-1.9,2.2-4.5,3.9-7.8,5.2c-3.3,1.2-6.7,1.9-10.3,1.9
24
+				c-7.1,0-12.6-2.6-16.5-7.7c-3.9-5.1-5.9-12.4-5.9-21.8c0-10,2.2-17.4,6.6-22.4c4.4-5,10.7-7.5,18.7-7.5c5.5,0,10,1,13.5,2.9
25
+				L310,49z"/>
26
+			<path fill="#0F587E" d="M329.1,13.3c2.5,0,4.5,0.7,5.9,2c1.5,1.3,2.2,3.4,2.2,6.1c0,2.6-0.7,4.7-2.2,6c-1.5,1.4-3.4,2.1-5.9,2.1
27
+				c-2.5,0-4.5-0.7-5.9-2.1c-1.5-1.4-2.2-3.4-2.2-6c0-2.8,0.7-4.8,2.2-6.1C324.6,14,326.6,13.3,329.1,13.3z M336.2,36.4v55.4h-14.3
28
+				V36.4H336.2z"/>
29
+			<path fill="#0F587E" d="M361.7,36.4V42c2.6-1.9,5.4-3.5,8.4-4.8c3-1.2,5.8-1.9,8.6-1.9c5.3,0,8.7,2.5,10.4,7.5
30
+				c2.8-1.9,5.7-3.7,8.8-5.2c3.1-1.5,6.2-2.3,9.2-2.3c3.6,0,6.4,1.1,8.3,3.4c1.9,2.3,2.9,6.1,2.9,11.3v41.7H404V53.4
31
+				c0-4-1.4-6-4.2-6c-2.5,0-5.8,1.2-10,3.7v40.7h-14.1V53.4c0-4-1.5-6-4.4-6c-2.6,0-5.9,1.2-9.8,3.7v40.7h-14.3V36.4H361.7z"/>
32
+		</g>
33
+	</g>
34
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#0F587E" d="M123.4,57.8c2.5,2.9,3.4,7,2,10.8c-1.4,3.9-4.7,6.6-8.6,7.4
35
+		c0,0-11.5,22.7-33.9,18.5c0,0,15.6-3.4,22.7-21.7c-3-3-4.2-7.4-2.7-11.6c1.5-4.1,5.2-6.9,9.4-7.5c-0.3-2.7-1.1-5.3-2.4-8
36
+		c-0.8-1.7-1-3.3-0.1-5c0,0,3.3-6,8.3-0.6S123.4,57.8,123.4,57.8z"/>
37
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#007396" d="M84.3,114c-2.3,3.1-6.1,4.9-10.1,4.4c-4.1-0.5-7.4-3.2-9.1-6.8
38
+		c0,0-24.7-6.3-25.5-29c0,0,6.7,14.5,26.2,17.4c2.2-3.6,6.3-5.7,10.7-5.1c4.3,0.5,7.9,3.6,9.4,7.6c2.5-0.9,5-2.2,7.3-4
39
+		c1.5-1.2,3-1.7,4.8-1.2c0,0,6.6,1.9,2.4,8C96.1,111.3,84.3,114,84.3,114z"/>
40
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#0094BC" d="M19,93.3c-3.5-1.7-5.9-5.1-6.2-9.1c-0.3-4.1,1.7-7.9,5-10.2
41
+		c0,0,1.6-25.4,23.8-30.4c0,0-13,9.3-12.3,29c3.9,1.5,6.7,5.1,7,9.6c0.3,4.4-2.1,8.4-5.7,10.6c1.3,2.3,3.1,4.5,5.3,6.4
42
+		c1.4,1.2,2.2,2.7,2,4.5c0,0-0.6,6.8-7.4,3.8C23.9,104.4,19,93.3,19,93.3z"/>
43
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#0094BC" d="M19.1,29.7c0.1-3.8,2-7.5,5.6-9.5c3.6-2,7.9-1.8,11.3,0.1
44
+		c0,0,23.7-9.5,37.7,8.4c0,0-14-7.7-31.4,1.3c0.3,4.2-1.7,8.3-5.6,10.5c-3.8,2.1-8.5,1.7-12-0.6c-1.5,2.2-2.7,4.7-3.5,7.5
45
+		c-0.5,1.8-1.4,3.2-3.2,3.8c0,0-6.4,2.3-6.6-5C11.2,38.8,19.1,29.7,19.1,29.7z"/>
46
+	<path fill-rule="evenodd" clip-rule="evenodd" fill="#007396" d="M79.2,5.8c3.5-1.6,7.7-1.4,11,1c3.3,2.4,5,6.4,4.7,10.3
47
+		c0,0,18.7,17.4,8.4,37.7c0,0,1-15.9-14.6-27.9c-3.7,2-8.2,2-11.9-0.6c-3.6-2.6-5.2-6.9-4.6-11.2c-2.6-0.4-5.4-0.4-8.3,0.1
48
+		c-1.8,0.3-3.5,0-4.8-1.3c0,0-4.9-4.8,1.8-8.1C67.5,2.5,79.2,5.8,79.2,5.8z"/>
49
+</g>
50
+</svg>

+ 6 - 8
src/index.js 查看文件

@@ -2,18 +2,16 @@ import React from 'react'
2 2
 import ReactDOM from 'react-dom'
3 3
 import { Provider } from 'react-redux'
4 4
 import { store } from './store.js'
5
+import Tracim from './container/Tracim.jsx'
6
+import { BrowserRouter } from 'react-router-dom'
5 7
 
6
-// require('./css/index.styl')
7
-
8
-const Temp = class Temp extends React.Component {
9
-  render () {
10
-    return (<div>It Works</div>)
11
-  }
12
-}
8
+require('./css/index.styl')
13 9
 
14 10
 ReactDOM.render(
15 11
   <Provider store={store}>
16
-    <Temp />
12
+    <BrowserRouter>
13
+      <Tracim />
14
+    </BrowserRouter>
17 15
   </Provider>
18 16
   , document.getElementById('content')
19 17
 )

+ 0 - 6
src/reducer/init.js 查看文件

@@ -1,6 +0,0 @@
1
-export default function init (state = {}, action) {
2
-  switch (action.type) {
3
-    default:
4
-      return state
5
-  }
6
-}

+ 2 - 2
src/reducer/root.js 查看文件

@@ -1,6 +1,6 @@
1 1
 import { combineReducers } from 'redux'
2
-import init from './init.js'
2
+import user from './user.js'
3 3
 
4
-const rootReducer = combineReducers({ init })
4
+const rootReducer = combineReducers({ user })
5 5
 
6 6
 export default rootReducer

+ 21 - 0
src/reducer/user.js 查看文件

@@ -0,0 +1,21 @@
1
+import {
2
+  USER_CONNECTED,
3
+  USER_DATA
4
+} from '../action-creator.sync.js'
5
+
6
+export default function user (state = {
7
+  isLoggedIn: false,
8
+  username: '',
9
+  email: ''
10
+}, action) {
11
+  switch (action.type) {
12
+    case `Update/${USER_CONNECTED}`:
13
+      return {...state, isLoggedIn: true, ...action.user}
14
+
15
+    case `Update/${USER_DATA}`:
16
+      return {...state, ...action.data}
17
+
18
+    default:
19
+      return state
20
+  }
21
+}

+ 6 - 5
src/store.js 查看文件

@@ -7,11 +7,12 @@ import rootReducer from './reducer/root.js'
7 7
 
8 8
 // const sagaMiddleware = createSagaMiddleware()
9 9
 
10
-export const store = (
11
-  (middleware, reduxDevTools) => createStore(rootReducer, compose(middleware, reduxDevTools || (f => f)))
12
-)(
13
-  applyMiddleware(thunkMiddleware, /* sagaMiddleware, */ createLogger()),
14
-  window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
10
+export const store = createStore(
11
+  rootReducer,
12
+  compose(
13
+    applyMiddleware(thunkMiddleware, /* sagaMiddleware, */ createLogger()),
14
+    (window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()) || (f => f)
15
+  )
15 16
 )
16 17
 
17 18
 // sagaMiddleware.run(rootSaga)

+ 23 - 23
webpack.config.js 查看文件

@@ -4,7 +4,7 @@ const isProduction = process.env.NODE_ENV === 'production'
4 4
 
5 5
 module.exports = {
6 6
   entry: {
7
-    app: ['babel-polyfill', './src/index.js'],
7
+    app: ['babel-polyfill', 'whatwg-fetch', './src/index.js'],
8 8
     vendor: [
9 9
       'babel-plugin-transform-class-properties',
10 10
       'babel-plugin-transform-object-assign',
@@ -16,15 +16,14 @@ module.exports = {
16 16
       'react',
17 17
       'react-dom',
18 18
       'react-redux',
19
-      'react-router',
20
-      // 'react-router-dom',
19
+      'react-router-dom',
21 20
       // 'react-select',
22 21
       'redux',
23 22
       'redux-logger',
24 23
       // 'redux-saga',
25 24
       'redux-thunk',
26
-      // 'whatwg-fetch',
27
-      // 'classnames'
25
+      'whatwg-fetch',
26
+      'classnames'
28 27
     ]
29 28
   },
30 29
   output: {
@@ -40,12 +39,13 @@ module.exports = {
40 39
     overlay: {
41 40
       warnings: false,
42 41
       errors: true
43
-    }
42
+    },
43
+    historyApiFallback: true
44 44
     // headers: {
45 45
     //   'Access-Control-Allow-Origin': '*'
46 46
     // }
47 47
   },
48
-  devtool: isProduction ? false : 'cheap-eval-source-map',
48
+  devtool: isProduction ? false : 'cheap-module-source-map',
49 49
   module: {
50 50
     rules: [{
51 51
       test: /\.jsx?$/,
@@ -68,7 +68,7 @@ module.exports = {
68 68
       use: ['style-loader', 'css-loader', 'stylus-loader']
69 69
     }, {
70 70
       test: /\.(jpg|png|svg)$/,
71
-      use: ['url-loader'],
71
+      loader: 'url-loader',
72 72
       options: {
73 73
         limit: 25000
74 74
       }
@@ -77,23 +77,23 @@ module.exports = {
77 77
   resolve: {
78 78
     extensions: ['.js', '.jsx']
79 79
   },
80
-  plugins: isProduction
81
-    ? [
80
+  plugins:[
81
+    ...[ // generic plugins always present
82 82
       new webpack.optimize.CommonsChunkPlugin({
83 83
         name: 'vendor',
84 84
         filename: 'tracim.vendor.bundle.js'
85
-      }),
86
-      new webpack.DefinePlugin({
87
-        'process.env': { 'NODE_ENV': JSON.stringify('production') }
88
-      }),
89
-      new webpack.optimize.UglifyJsPlugin({
90
-        compress: { warnings: false }
91 85
       })
92
-    ]
93
-    : [
94
-      new webpack.optimize.CommonsChunkPlugin({
95
-        name: 'vendor',
96
-        filename: 'tracim.vendor.bundle.js'
97
-      })
98
-    ]
86
+    ],
87
+    ...(isProduction
88
+      ? [ // production specific plugins
89
+        new webpack.DefinePlugin({
90
+          'process.env': { 'NODE_ENV': JSON.stringify('production') }
91
+        }),
92
+        new webpack.optimize.UglifyJsPlugin({
93
+          compress: { warnings: false }
94
+        })
95
+      ]
96
+      : [] // development specific plugins
97
+    )
98
+  ]
99 99
 }