├── .gitignore
├── README.md
├── css
├── bootstrap-pdf-form-builder.css
├── bootstrap-pdf-form-viewer.css
└── bootstrap-pdf-viewer.css
├── data
├── form.json
└── submission.json
├── form-builder.html
├── form-viewer.html
├── form.pdf
├── js
├── bootstrap-pdf-form-builder.js
├── bootstrap-pdf-form-common.js
├── bootstrap-pdf-form-viewer.js
└── bootstrap-pdf-viewer.js
├── lib
├── font-awesome
│ ├── css
│ │ ├── font-awesome-ie7.css
│ │ ├── font-awesome-ie7.min.css
│ │ ├── font-awesome.css
│ │ └── font-awesome.min.css
│ ├── font
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ └── fontawesome-webfont.woff
│ └── less
│ │ ├── bootstrap.less
│ │ ├── core.less
│ │ ├── extras.less
│ │ ├── font-awesome-ie7.less
│ │ ├── font-awesome.less
│ │ ├── icons.less
│ │ ├── mixins.less
│ │ ├── path.less
│ │ └── variables.less
├── jquery-1.9.1.js
├── pdf.js
└── twitter-bootstrap
│ ├── css
│ ├── bootstrap.css
│ └── bootstrap.min.css
│ └── js
│ ├── bootstrap.js
│ └── bootstrap.min.js
├── sample.pdf
└── viewer.html
/.gitignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 |
10 | pids
11 | logs
12 | results
13 |
14 | npm-debug.log
15 |
16 | .DS_Store
17 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | bootstrap-pdf-viewer
2 | ====================
3 |
4 | Alternative, lightweight user interface for PDF.js using Twitter Bootstrap
--------------------------------------------------------------------------------
/css/bootstrap-pdf-form-builder.css:
--------------------------------------------------------------------------------
1 | .pdf-form-builder-panel {
2 | background: #e0e0e0;
3 | position: absolute;
4 | top: 0;
5 | left: -202px;
6 | bottom: 0;
7 | width: 200px;
8 | height: auto;
9 | z-index: 2;
10 | overflow: hidden;
11 | overflow-y: auto;
12 | -webkit-overflow-scrolling: touch;
13 | -webkit-box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6);
14 | -moz-box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6);
15 | box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6);
16 | -webkit-transition: left 0.3s ease;
17 | -moz-transition: left 0.3s ease;
18 | -ms-transition: left 0.3s ease;
19 | -o-transition: left 0.3s ease;
20 | transition: left 0.3s ease;
21 | }
22 |
23 | .pdf-form-builder-panel.pdf-form-builder-panel-open {
24 | left: 0;
25 | }
26 |
27 | .pdf-form-builder-panel.pdf-form-builder-panel-open + .pdf-viewer-page-view-container {
28 | left: 200px;
29 | }
30 |
31 | .pdf-form-builder-panel h4 {
32 | border-top: 1px solid rgba(255, 255, 255, 0.1);
33 | border-bottom: 1px solid rgba(0, 0, 0, 0.1);
34 | color: #777;
35 | font-weight: 400;
36 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
37 | margin: 0;
38 | padding: 14px 14px 13px;
39 | }
40 |
41 | .pdf-form-builder-panel ul {
42 | border-top: 1px solid rgba(255, 255, 255, 0.1);
43 | margin: 0;
44 | padding: 0;
45 | list-style: none;
46 | }
47 |
48 | .pdf-form-builder-panel ul > li {
49 | color: #777;
50 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
51 | display: block;
52 | font-weight: 400;
53 | line-height: 20px;
54 | margin: 0;
55 | padding: 8px 14px 2px;
56 | }
57 |
58 | .pdf-form-builder-panel ul > li > h5 {
59 | font-size: 12px;
60 | margin: 0;
61 | }
62 |
63 | .pdf-form-builder-panel ul > li > label {
64 | font-size: 12px;
65 | margin: 0;
66 | }
67 |
68 | .pdf-form-builder-panel ul > li > input {
69 | width: 100%;
70 | margin: 0;
71 | }
72 |
73 | .pdf-form-builder-panel ul > li > select {
74 | width: 100%;
75 | margin: 0;
76 | }
77 |
78 | .pdf-form-builder-panel ul > li > .btn {
79 | text-shadow: none;
80 | width: 100%
81 | }
82 |
83 | .pdf-form-builder .pdf-viewer-page-view-container {
84 | -webkit-transition: left 0.3s ease;
85 | -moz-transition: left 0.3s ease;
86 | -ms-transition: left 0.3s ease;
87 | -o-transition: left 0.3s ease;
88 | transition: left 0.3s ease;
89 | }
90 |
91 | .pdf-form-builder .pdf-form-field {
92 | background: rgba(250, 251, 252, 0.85);
93 | border: 1px dashed #c6c6c6;
94 | pointer-events: auto;
95 | position: absolute;
96 | top: 0;
97 | left: 0;
98 | width: auto;
99 | height: auto;
100 | z-index: 2;
101 | -webkit-user-select: none;
102 | -moz-user-select: none;
103 | -ms-user-select: none;
104 | -o-user-select: none;
105 | user-select: none;
106 | -webkit-transition: background 0.3s ease, border 0.3s ease;
107 | -moz-transition: background 0.3s ease, border 0.3s ease;
108 | -ms-transition: background 0.3s ease, border 0.3s ease;
109 | -o-transition: background 0.3s ease, border 0.3s ease;
110 | transition: background 0.3s ease, border 0.3s ease;
111 | }
112 |
113 | .pdf-form-builder .pdf-form-field.pdf-form-field-focus {
114 | background: rgba(252, 253, 254, 0.95);
115 | border: 1px dashed #6486a8;
116 | cursor: move;
117 | z-index: 22;
118 | }
119 |
120 | .pdf-form-builder .pdf-form-field > * {
121 | pointer-events: none;
122 | }
123 |
124 | .pdf-form-builder .pdf-form-field-handle {
125 | background: #eef9fe;
126 | border: 1px solid #a8c8df;
127 | pointer-events: auto;
128 | position: absolute;
129 | width: 8px;
130 | height: 8px;
131 | z-index: 2;
132 | overflow: visible;
133 | opacity: 0;
134 | visibility: hidden;
135 | -webkit-box-shadow: 0 0 3px 1px rgba(0, 128, 224, 0.3);
136 | -moz-box-shadow: 0 0 3px 1px rgba(0, 128, 224, 0.3);
137 | box-shadow: 0 0 3px 1px rgba(0, 128, 224, 0.3);
138 | -webkit-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
139 | -moz-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
140 | -ms-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
141 | -o-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
142 | transition: opacity 0.3s ease, visibility 0s linear 0.3s;
143 | }
144 |
145 | /* Increase touch-target area for mobile devices */
146 | @media (max-device-width: 1024px) {
147 | .pdf-form-builder .pdf-form-field::after {
148 | content: '';
149 | position: absolute;
150 | top: -10px;
151 | right: -10px;
152 | bottom: -10px;
153 | left: -10px;
154 | width: auto;
155 | height: auto;
156 | z-index: -1;
157 | }
158 |
159 | .pdf-form-builder .pdf-form-field-handle::after {
160 | content: '';
161 | position: absolute;
162 | top: -12px;
163 | left: -12px;
164 | width: 32px;
165 | height: 32px;
166 | }
167 | }
168 |
169 | .pdf-form-builder .pdf-form-field.pdf-form-field-focus > .pdf-form-field-handle {
170 | opacity: 1;
171 | visibility: visible;
172 | -webkit-transition-delay: 0s;
173 | -moz-transition-delay: 0s;
174 | -ms-transition-delay: 0s;
175 | -o-transition-delay: 0s;
176 | transition-delay: 0s;
177 | }
178 |
179 | .pdf-form-builder .pdf-form-field-handle-n { cursor: n-resize; cursor: ns-resize; margin: 0 0 0 -5px; top: -5px; right: auto; bottom: auto; left: 50%; }
180 | .pdf-form-builder .pdf-form-field-handle-ne { cursor: ne-resize; cursor: nesw-resize; margin: 0; top: -5px; right: -5px; bottom: auto; left: auto; }
181 | .pdf-form-builder .pdf-form-field-handle-e { cursor: e-resize; cursor: ew-resize; margin: -5px 0 0; top: 50%; right: -5px; bottom: auto; left: auto; }
182 | .pdf-form-builder .pdf-form-field-handle-se { cursor: se-resize; cursor: nwse-resize; margin: 0; top: auto; right: -5px; bottom: -5px; left: auto; }
183 | .pdf-form-builder .pdf-form-field-handle-s { cursor: s-resize; cursor: ns-resize; margin: 0 0 0 -5px; top: auto; right: auto; bottom: -5px; left: 50%; }
184 | .pdf-form-builder .pdf-form-field-handle-sw { cursor: sw-resize; cursor: nesw-resize; margin: 0; top: auto; right: auto; bottom: -5px; left: -5px; }
185 | .pdf-form-builder .pdf-form-field-handle-w { cursor: w-resize; cursor: ew-resize; margin: -5px 0 0; top: 50%; right: auto; bottom: auto; left: -5px; }
186 | .pdf-form-builder .pdf-form-field-handle-nw { cursor: nw-resize; cursor: nwse-resize; margin: 0; top: -5px; right: auto; bottom: auto; left: -5px; }
187 |
188 | .pdf-form-builder .pdf-form-field > input,
189 | .pdf-form-builder .pdf-form-field > label,
190 | .pdf-form-builder .pdf-form-field > textarea {
191 | pointer-events: none;
192 | position: absolute;
193 | line-height: 1em;
194 | margin: 0;
195 | top: 0;
196 | left: 0;
197 | width: 100%;
198 | height: 100%;
199 | z-index: 1;
200 | opacity: 0.9;
201 | -webkit-box-sizing: border-box;
202 | -moz-box-sizing: border-box;
203 | box-sizing: border-box;
204 | }
205 |
206 | .pdf-form-builder .pdf-form-field > label {
207 | white-space: nowrap;
208 | }
209 |
210 | .pdf-form-builder .pdf-form-field > textarea {
211 | resize: none;
212 | }
213 |
214 | .pdf-form-builder .pdf-form-field-check-box {
215 | zoom: 1 !important;
216 | }
217 |
218 | .pdf-form-builder .pdf-form-field-check-box > input {
219 | display: block;
220 | position: absolute;
221 | top: -100%;
222 | left: -100%;
223 | opacity: 0;
224 | min-width: 0;
225 | min-height: 0;
226 | width: 0;
227 | height: 0;
228 | }
229 |
230 | .pdf-form-builder .pdf-form-field-check-box > i {
231 | font-family: 'FontAwesome';
232 | position: absolute;
233 | margin: -0.475em 0 0 -0.4125em;
234 | top: 50%;
235 | left: 50%;
236 | width: 1em;
237 | height: 1em;
238 | }
239 |
240 | .pdf-form-builder .pdf-form-field-check-box > i:before {
241 | content: '\f096';
242 | }
243 |
244 | .pdf-form-builder .pdf-form-field-check-box > input:checked + i:before,
245 | .pdf-form-builder .pdf-form-field-check-box > input[checked] + i:before {
246 | content: '\f046';
247 | }
248 |
--------------------------------------------------------------------------------
/css/bootstrap-pdf-form-viewer.css:
--------------------------------------------------------------------------------
1 | .pdf-form-viewer .pdf-form-field {
2 | background: none;
3 | border: 1px solid transparent;
4 | pointer-events: auto;
5 | position: absolute;
6 | top: 0;
7 | left: 0;
8 | width: auto;
9 | height: auto;
10 | z-index: 2;
11 | -webkit-user-select: none;
12 | -moz-user-select: none;
13 | -ms-user-select: none;
14 | -o-user-select: none;
15 | user-select: none;
16 | -webkit-transition: background 0.3s ease, border 0.3s ease;
17 | -moz-transition: background 0.3s ease, border 0.3s ease;
18 | -ms-transition: background 0.3s ease, border 0.3s ease;
19 | -o-transition: background 0.3s ease, border 0.3s ease;
20 | transition: background 0.3s ease, border 0.3s ease;
21 | }
22 |
23 | .pdf-form-viewer .pdf-form-field-handle {
24 | display: none;
25 | }
26 |
27 | .pdf-form-viewer .pdf-form-field > input,
28 | .pdf-form-viewer .pdf-form-field > label,
29 | .pdf-form-viewer .pdf-form-field > textarea {
30 | pointer-events: auto;
31 | position: absolute;
32 | line-height: 1em;
33 | margin: 0;
34 | top: 0;
35 | left: 0;
36 | width: 100%;
37 | height: 100%;
38 | z-index: 1;
39 | opacity: 0.9;
40 | -webkit-box-sizing: border-box;
41 | -moz-box-sizing: border-box;
42 | box-sizing: border-box;
43 | }
44 |
45 | .pdf-form-viewer .pdf-form-field > label {
46 | white-space: nowrap;
47 | }
48 |
49 | .pdf-form-viewer .pdf-form-field > textarea {
50 | resize: none;
51 | }
52 |
53 | .pdf-form-viewer .pdf-form-field-check-box {
54 | zoom: 1 !important;
55 | }
56 |
57 | .pdf-form-viewer .pdf-form-field-check-box > input {
58 | display: block;
59 | position: absolute;
60 | top: -100%;
61 | left: -100%;
62 | opacity: 0;
63 | min-width: 0;
64 | min-height: 0;
65 | width: 0;
66 | height: 0;
67 | }
68 |
69 | .pdf-form-viewer .pdf-form-field-check-box > i {
70 | font-family: 'FontAwesome';
71 | position: absolute;
72 | margin: -0.475em 0 0 -0.4125em;
73 | top: 50%;
74 | left: 50%;
75 | width: 1em;
76 | height: 1em;
77 | }
78 |
79 | .pdf-form-viewer .pdf-form-field-check-box > i:before {
80 | content: '\f096';
81 | }
82 |
83 | .pdf-form-viewer .pdf-form-field-check-box > input:checked + i:before,
84 | .pdf-form-viewer .pdf-form-field-check-box > input[checked] + i:before {
85 | content: '\f046';
86 | }
87 |
--------------------------------------------------------------------------------
/css/bootstrap-pdf-viewer.css:
--------------------------------------------------------------------------------
1 | * {
2 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
3 | -webkit-text-size-adjust: none;
4 | -webkit-touch-callout: none;
5 | -webkit-user-drag: none;
6 | }
7 |
8 | .navbar-nav {
9 | float: left;
10 | margin-top: 0;
11 | margin-bottom: 0;
12 | }
13 |
14 | .navbar-nav > li {
15 | float: left;
16 | }
17 |
18 | .navbar-nav > li > a {
19 | border-radius: 0;
20 | }
21 |
22 | .navbar-nav.pull-right {
23 | width: auto;
24 | }
25 |
26 | .navbar-toggle {
27 | position: relative;
28 | top: auto;
29 | left: auto;
30 | display: none;
31 | }
32 |
33 | .nav-collapse.collapse {
34 | display: block !important;
35 | height: auto !important;
36 | overflow: visible !important;
37 | }
38 |
39 | html.pdf-viewer-full-screen,
40 | html.pdf-viewer-full-screen > body {
41 | height: 100%;
42 | }
43 |
44 | .pdf-viewer:-webkit-full-screen {
45 | position: absolute; top: 0; left: 0; width: 100%; height: 100% !important; min-height: 100% !important; overflow: hidden;
46 | }
47 | .pdf-viewer:-moz-full-screen {
48 | position: absolute; top: 0; left: 0; width: 100%; height: 100% !important; min-height: 100% !important; overflow: hidden;
49 | }
50 | .pdf-viewer:full-screen {
51 | position: absolute; top: 0; left: 0; width: 100%; height: 100% !important; min-height: 100% !important; overflow: hidden;
52 | }
53 |
54 | .pdf-viewer {
55 | background: #909090;
56 | border: 1px solid #ddd;
57 | margin: 10px;
58 | height: 400px;
59 | position: relative;
60 | overflow: hidden;
61 | -webkit-border-radius: 4px;
62 | -moz-border-radius: 4px;
63 | border-radius: 4px;
64 | -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2);
65 | -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2);
66 | box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2);
67 | }
68 |
69 | .pdf-viewer > .navbar {
70 | position: relative;
71 | z-index: 2;
72 | -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
73 | -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
74 | box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
75 | }
76 |
77 | .pdf-viewer .nav > .divider {
78 | border-left: 1px solid #ccc;
79 | margin: 10px 0 0;
80 | width: 0;
81 | height: 30px;
82 | }
83 |
84 | .pdf-viewer .dropdown > a {
85 | outline: none;
86 | }
87 |
88 | .pdf-viewer .dropdown-menu i {
89 | display: inline-block;
90 | width: 1.5em !important;
91 | text-align: left;
92 | }
93 |
94 | .pdf-viewer .tooltip {
95 | white-space: nowrap;
96 | }
97 |
98 | .pdf-viewer-container {
99 | position: absolute;
100 | top: 50px;
101 | right: 0;
102 | bottom: 0;
103 | left: 0;
104 | width: auto;
105 | height: auto;
106 | z-index: 1;
107 | overflow: hidden;
108 | }
109 |
110 | .pdf-viewer-page-view-container {
111 | position: absolute;
112 | top: 0;
113 | right: 0;
114 | bottom: 0;
115 | left: 0;
116 | width: auto;
117 | height: auto;
118 | z-index: 1;
119 | overflow: hidden;
120 | }
121 |
122 | .pdf-viewer-page-view-container > .pdf-scroll-view-content {
123 | background: none;
124 | }
125 |
126 | .pdf-viewer-page-view {
127 | background: #fff;
128 | position: relative;
129 | margin: 10px auto;
130 | }
131 |
132 | .pdf-viewer-page-view.pdf-viewer-page-view-visible,
133 | .pdf-viewer-page-view.pdf-viewer-page-view-visible + .pdf-viewer-page-view {
134 | -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
135 | -moz-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
136 | box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
137 | }
138 |
139 | .pdf-viewer-page-view::after {
140 | content: '';
141 | display: block;
142 | position: relative;
143 | width: 100%;
144 | height: 10px;
145 | }
146 |
147 | .pdf-viewer-page-view > canvas {
148 | -webkit-transform-origin: 0% 0%;
149 | -moz-transform-origin: 0% 0%;
150 | -ms-transform-origin: 0% 0%;
151 | -o-transform-origin: 0% 0%;
152 | transform-origin: 0% 0%;
153 | }
154 |
155 | .pdf-viewer-page-view > .icon-spinner {
156 | color: #888;
157 | font-size: 36px;
158 | line-height: 2em;
159 | position: absolute;
160 | margin: -1em 0 0 -1em;
161 | top: 50%;
162 | left: 50%;
163 | width: 2em;
164 | height: 2em;
165 | text-align: center;
166 | }
167 |
168 | .pdf-viewer-text-layer {
169 | color: #000;
170 | font-family: sans-serif;
171 | position: absolute;
172 | top: 0;
173 | right: 0;
174 | bottom: 0;
175 | left: 0;
176 | overflow: hidden;
177 | }
178 |
179 | .pdf-viewer-text-layer > div {
180 | color: transparent;
181 | cursor: text;
182 | line-height: 1;
183 | white-space: pre;
184 | position: absolute;
185 | margin: -0.5em 0 0 -0.5em;
186 | padding: 0.5em;
187 | -webkit-transform-origin: 0% 0%;
188 | -moz-transform-origin: 0% 0%;
189 | -ms-transform-origin: 0% 0%;
190 | -o-transform-origin: 0% 0%;
191 | transform-origin: 0% 0%;
192 | }
193 |
194 | .pdf-scroll-view-no-touch {
195 | overflow: auto;
196 | -webkit-transform: none;
197 | -moz-transform: none;
198 | -ms-transform: none;
199 | -o-transform: none;
200 | transform: none;
201 | }
202 |
203 | .pdf-scroll-view-no-touch > .pdf-scroll-view-content {
204 | -webkit-transform: none;
205 | -moz-transform: none;
206 | -ms-transform: none;
207 | -o-transform: none;
208 | transform: none;
209 | -webkit-transition: none;
210 | -moz-transition: none;
211 | -ms-transition: none;
212 | -o-transition: none;
213 | transition: none;
214 | }
215 |
216 | .pdf-scroll-view-content {
217 | position: absolute;
218 | min-width: 100%;
219 | width: auto;
220 | min-height: 100%;
221 | height: auto;
222 | top: 0;
223 | left: 0;
224 | margin: 0;
225 | padding: 0;
226 | overflow: visible;
227 | -webkit-transform: translate(0, 0);
228 | -moz-transform: translate(0, 0);
229 | -ms-transform: translate(0, 0);
230 | -o-transform: translate(0, 0);
231 | transform: translate(0, 0);
232 | -webkit-transition: -webkit-transform 0s ease;
233 | -moz-transition: -moz-transform 0s ease;
234 | -ms-transition: -ms-transform 0s ease;
235 | -o-transition: -o-transform 0s ease;
236 | transition: transform 0s ease;
237 | }
238 |
239 | .pdf-scroll-indicator {
240 | background: rgba(0, 0, 0, 1);
241 | border: 1px solid rgba(255, 255, 255, 0.8);
242 | position: absolute;
243 | width: 5px;
244 | height: 5px;
245 | margin: 2px;
246 | opacity: 0.5;
247 | -webkit-border-radius: 5px;
248 | -moz-border-radius: 5px;
249 | border-radius: 5px;
250 | -webkit-backface-visibility: hidden;
251 | -moz-backface-visibility: hidden;
252 | -ms-backface-visibility: hidden;
253 | -o-backface-visibility: hidden;
254 | backface-visibility: hidden;
255 | -webkit-transform: translate(0, 0);
256 | -moz-transform: translate(0, 0);
257 | -ms-transform: translate(0, 0);
258 | -o-transform: translate(0, 0);
259 | transform: translate(0, 0);
260 | -webkit-transition: opacity 0.1s ease 0s, -webkit-transform 0s ease;
261 | -moz-transition: opacity 0.1s ease 0s, -moz-transform 0s ease;
262 | -ms-transition: opacity 0.1s ease 0s, -ms-transform 0s ease;
263 | -o-transition: opacity 0.1s ease 0s, -o-transform 0s ease;
264 | transition: opacity 0.1s ease 0s, transform 0s ease;
265 | }
266 |
267 | .pdf-scroll-indicator.pdf-scroll-indicator-hidden {
268 | opacity: 0;
269 | -webkit-transition: opacity 0.3s ease 0.3s, -webkit-transform 0s ease;
270 | -moz-transition: opacity 0.3s ease 0.3s, -moz-transform 0s ease;
271 | -ms-transition: opacity 0.3s ease 0.3s, -ms-transform 0s ease;
272 | -o-transition: opacity 0.3s ease 0.3s, -o-transform 0s ease;
273 | transition: opacity 0.3s ease 0.3s, transform 0s ease;
274 | }
275 |
276 | .pdf-form-layer {
277 | position: absolute;
278 | top: 0;
279 | left: 0;
280 | width: 100%;
281 | height: 100%;
282 | overflow: hidden;
283 | }
284 |
--------------------------------------------------------------------------------
/data/form.json:
--------------------------------------------------------------------------------
1 | {
2 | "0": {
3 | "1375896438602": {
4 | "type": "PDFFormFieldTextBox",
5 | "position": {
6 | "x": 12,
7 | "y": 19
8 | },
9 | "size": {
10 | "w": 69,
11 | "h": 3
12 | },
13 | "properties": {
14 | "attributes": {
15 | "name": "First Name",
16 | "placeholder": "e.g.: Johnny",
17 | "tabindex": "0"
18 | },
19 | "styles": {
20 | "element": {
21 | "font-size": "12px"
22 | },
23 | "input": {}
24 | }
25 | }
26 | },
27 | "1375896491941": {
28 | "type": "PDFFormFieldTextBox",
29 | "position": {
30 | "x": 12,
31 | "y": 26
32 | },
33 | "size": {
34 | "w": 69,
35 | "h": 3
36 | },
37 | "properties": {
38 | "attributes": {
39 | "name": "Last Name",
40 | "placeholder": "e.g.: Appleseed",
41 | "tabindex": "0"
42 | },
43 | "styles": {
44 | "element": {
45 | "font-size": "12px"
46 | },
47 | "input": {}
48 | }
49 | }
50 | },
51 | "1375896502391": {
52 | "type": "PDFFormFieldTextBox",
53 | "position": {
54 | "x": 12,
55 | "y": 33
56 | },
57 | "size": {
58 | "w": 69,
59 | "h": 3
60 | },
61 | "properties": {
62 | "attributes": {
63 | "name": "Phone Number",
64 | "placeholder": "e.g.: (123) 456-7890",
65 | "tabindex": "0"
66 | },
67 | "styles": {
68 | "element": {
69 | "font-size": "12px"
70 | },
71 | "input": {}
72 | }
73 | }
74 | },
75 | "1375896525170": {
76 | "type": "PDFFormFieldTextBox",
77 | "position": {
78 | "x": 12,
79 | "y": 40
80 | },
81 | "size": {
82 | "w": 69,
83 | "h": 3
84 | },
85 | "properties": {
86 | "attributes": {
87 | "name": "Email Address",
88 | "placeholder": "e.g.: johnny@example.com",
89 | "tabindex": "0"
90 | },
91 | "styles": {
92 | "element": {
93 | "font-size": "12px"
94 | },
95 | "input": {}
96 | }
97 | }
98 | },
99 | "1375896545442": {
100 | "type": "PDFFormFieldCheckBox",
101 | "position": {
102 | "x": 24,
103 | "y": 48
104 | },
105 | "size": {
106 | "w": 4,
107 | "h": 2
108 | },
109 | "properties": {
110 | "attributes": {
111 | "name": "Contact Phone",
112 | "checked": false,
113 | "tabindex": "0"
114 | },
115 | "styles": {
116 | "element": {},
117 | "input": {}
118 | }
119 | }
120 | },
121 | "1375896568836": {
122 | "type": "PDFFormFieldCheckBox",
123 | "position": {
124 | "x": 24,
125 | "y": 52
126 | },
127 | "size": {
128 | "w": 4,
129 | "h": 2
130 | },
131 | "properties": {
132 | "attributes": {
133 | "name": "Contact Email",
134 | "checked": false,
135 | "tabindex": "0"
136 | },
137 | "styles": {
138 | "element": {},
139 | "input": {}
140 | }
141 | }
142 | }
143 | }
144 | }
145 |
--------------------------------------------------------------------------------
/data/submission.json:
--------------------------------------------------------------------------------
1 | {
2 | "1375896438602": {
3 | "value": "Jane"
4 | },
5 | "1375896491941": {
6 | "value": "Doe"
7 | },
8 | "1375896502391": {
9 | "value": "(888) 555-1234"
10 | },
11 | "1375896525170": {
12 | "value": "jane.doe@foo.com"
13 | },
14 | "1375896545442": {
15 | "value": false
16 | },
17 | "1375896568836": {
18 | "value": true
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/form-builder.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Bootstrap PDF Form Builder
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/form-viewer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Bootstrap PDF Form Viewer
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/form.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/justindarc/bootstrap-pdf-viewer/cc48f0bda954cb1dd57bc1a8033360e83187da72/form.pdf
--------------------------------------------------------------------------------
/js/bootstrap-pdf-form-builder.js:
--------------------------------------------------------------------------------
1 | ;'use strict';
2 |
3 | var PDFFormBuilder = function PDFFormBuilder(viewer, options) {
4 | if (!(viewer instanceof PDFViewer)) return console.error('Invalid instance of PDFViewer', viewer);
5 |
6 | options = options || {};
7 |
8 | this._viewer = viewer;
9 |
10 | var self = viewer._formBuilder = this;
11 |
12 | viewer.getFormBuilder = function() { return this._formBuilder; };
13 |
14 | var $element = viewer.$element;
15 | $element.addClass('pdf-form-builder');
16 |
17 | var $style = this.$style = $('').appendTo(document.body);
18 | var $panel = this.$panel = $('').prependTo(viewer.$viewerContainer);
19 |
20 | var toolbarActions = this._toolbarActions = {};
21 |
22 | var $navbar = viewer.$navbar;
23 | var $navbarLeft = viewer.$navbarLeft;
24 |
25 | $('').appendTo($navbarLeft);
26 | $('').appendTo($navbarLeft);
27 | if (!options.hideOpenFormButton) $('').appendTo($navbarLeft);
28 | if (!options.hideSaveFormButton) $('').appendTo($navbarLeft);
29 | if (!options.hideOpenFormButton && !options.hideSaveFormButton) $('').appendTo($navbarLeft);
30 | $('').appendTo($navbarLeft);
31 | $('').appendTo($navbarLeft);
32 | $('').appendTo($navbarLeft);
33 | $('').appendTo($navbarLeft);
34 | $('').appendTo($navbarLeft);
35 | $('').appendTo($navbarLeft);
36 |
37 | $navbar.delegate('a', 'click', function(evt) {
38 | evt.preventDefault();
39 |
40 | var $button = $(this);
41 | var href = $button.attr('href');
42 | var position = viewer.getScrollView().getPosition();
43 |
44 | if (typeof toolbarActions[href] === 'function') {
45 | toolbarActions[href].call(self);
46 | return;
47 | }
48 |
49 | switch (href) {
50 | case '#properties':
51 | (function() {
52 | return (self._panelOpen) ? self.closePanel() : self.openPanel();
53 | })();
54 | break;
55 | case '#open-form':
56 | (function() {
57 | var serializedFormLayers = window.prompt('Enter Form Layer data in JSON format:\n\n(or press "OK" to load sample form)');
58 | if (serializedFormLayers === null) return;
59 |
60 | serializedFormLayers = $.trim(serializedFormLayers);
61 | if (serializedFormLayers) {
62 | self.deserializeFormLayers(JSON.parse(serializedFormLayers), true);
63 | }
64 |
65 | else {
66 | $.getJSON('data/form.json', function(data) {
67 | self.deserializeFormLayers(data, true);
68 | });
69 | }
70 | })();
71 | break;
72 | case '#save-form':
73 | (function() {
74 | var serializedFormLayers = JSON.stringify(self.serializeFormLayers());
75 | window.alert(serializedFormLayers);
76 | })();
77 | break;
78 | case '#label':
79 | (function() {
80 | self.getCurrentFormLayer().addFormField(new PDFFormFieldLabel());
81 | })();
82 | break;
83 | case '#textbox':
84 | (function() {
85 | self.getCurrentFormLayer().addFormField(new PDFFormFieldTextBox());
86 | })();
87 | break;
88 | case '#textarea':
89 | (function() {
90 | self.getCurrentFormLayer().addFormField(new PDFFormFieldTextArea());
91 | })();
92 | break;
93 | case '#checkbox':
94 | (function() {
95 | self.getCurrentFormLayer().addFormField(new PDFFormFieldCheckBox());
96 | })();
97 | break;
98 | case '#snap-to-grid':
99 | (function() {
100 | var snapToGrid = !self.getSnapToGrid();
101 | self.setSnapToGrid(snapToGrid);
102 |
103 | if (snapToGrid) {
104 | $button.parent().addClass('active');
105 | }
106 |
107 | else {
108 | $button.parent().removeClass('active');
109 | }
110 | })();
111 | default:
112 | break;
113 | }
114 | });
115 |
116 | $element.on(PDFViewer.IS_TOUCH_SUPPORTED ? 'touchstart' : 'mousedown', function(evt) {
117 | if (evt.isDefaultPrevented()) return;
118 |
119 | if ($(evt.target).closest('.pdf-form-builder-panel')[0]) return;
120 |
121 | var focusedFormField = self._focusedFormField;
122 | if (focusedFormField) focusedFormField.setFocused(false);
123 | });
124 |
125 | $element.delegate('.pdf-form-field', PDFViewer.IS_TOUCH_SUPPORTED ? 'touchstart' : 'mousedown', function(evt) {
126 | var formField = this.formField;
127 | if (!formField) return;
128 |
129 | formField.setFocused(true);
130 |
131 | // Only forward the 'mousedown' event to prevent accidental drags when
132 | // scrolling on touchscreen devices.
133 | if (evt.type === 'mousedown') {
134 | formField._mouseDownHandler.call(formField.element, evt);
135 | }
136 |
137 | evt.preventDefault();
138 | });
139 |
140 | $element.on(PDFViewer.EventType.ScaleChange, function(evt) {
141 | $style.html(
142 | '.pdf-form-field > input,' +
143 | '.pdf-form-field > label,' +
144 | '.pdf-form-field > textarea {' +
145 | 'font-size: ' + (evt.calculatedScale * 100) + '%;' +
146 | '}'
147 | );
148 | });
149 |
150 | $panel.on('change', function(evt) {
151 | var focusedFormField = self._focusedFormField;
152 | if (focusedFormField) focusedFormField.updateProperties();
153 | });
154 |
155 | $panel.delegate('a', 'click', function(evt) {
156 | evt.preventDefault();
157 |
158 | var $button = $(this);
159 | var href = $button.attr('href');
160 |
161 | switch (href) {
162 | case '#duplicate':
163 | (function() {
164 | var focusedFormField = self._focusedFormField;
165 | if (!focusedFormField) return;
166 |
167 | var formLayerIndex = self.getIndexOfFormLayer(focusedFormField.getFormLayer());
168 | if (formLayerIndex === -1) formLayerIndex = viewer.getCurrentPageIndex();
169 |
170 | var serializedFormLayers = {};
171 | var serializedFormFields = serializedFormLayers[formLayerIndex] = {};
172 |
173 | serializedFormFields[PDFFormField.generateUniqueId()] = focusedFormField.serializeFormField();
174 |
175 | self.deserializeFormLayers(JSON.parse(JSON.stringify(serializedFormLayers)));
176 | })();
177 | break;
178 | case '#remove':
179 | (function() {
180 | var focusedFormField = self._focusedFormField;
181 | if (!focusedFormField) return;
182 |
183 | var formLayer = focusedFormField.getFormLayer();
184 | formLayer.removeFormField(focusedFormField);
185 |
186 | self.setFocusedFormField(null);
187 | })();
188 | break;
189 | default:
190 | break;
191 | }
192 | });
193 |
194 | this.setFocusedFormField(null);
195 |
196 | // Wait for the PDFViewer to become ready before initializing the page layers.
197 | viewer.$element.on(PDFViewer.EventType.Ready, function(evt) {
198 | self.init();
199 | });
200 | };
201 |
202 | PDFFormBuilder.prototype = {
203 | constructor: PDFFormBuilder,
204 |
205 | $panel: null,
206 | $style: null,
207 |
208 | _viewer: null,
209 |
210 | init: function() {
211 | var viewer = this._viewer;
212 | var pageViews = viewer.getPageViews();
213 |
214 | var formLayers = this._formLayers = [];
215 |
216 | for (var i = 0, length = pageViews.length; i < length; i++) {
217 | formLayers.push(new PDFFormLayer(viewer, pageViews[i]));
218 | }
219 | },
220 |
221 | _toolbarActions: null,
222 |
223 | setToolbarAction: function(action, callback) {
224 | this._toolbarActions[action] = callback;
225 | },
226 |
227 | _snapToGrid: false,
228 |
229 | getSnapToGrid: function() { return this._snapToGrid; },
230 |
231 | setSnapToGrid: function(snapToGrid) {
232 | this._snapToGrid = snapToGrid;
233 | },
234 |
235 | _panelOpen: false,
236 |
237 | getPanelOpen: function() { return this._panelOpen; },
238 |
239 | openPanel: function() {
240 | if (this._panelOpen) return;
241 |
242 | this._panelOpen = true;
243 | this.$panel.addClass('pdf-form-builder-panel-open');
244 |
245 | $(window).trigger('resize');
246 | },
247 |
248 | closePanel: function() {
249 | if (!this._panelOpen) return;
250 |
251 | this._panelOpen = false;
252 | this.$panel.removeClass('pdf-form-builder-panel-open');
253 |
254 | $(window).trigger('resize');
255 | },
256 |
257 | _formLayers: null,
258 |
259 | getFormLayers: function() { return this._formLayers; },
260 |
261 | getCurrentFormLayer: function() { return this._formLayers[this._viewer.getCurrentPageIndex()]; },
262 |
263 | getIndexOfFormLayer: function(formLayer) {
264 | var formLayers = this._formLayers;
265 | for (var i = 0, length = formLayers.length; i < length; i++) {
266 | if (formLayers[i] === formLayer) return i;
267 | }
268 |
269 | return -1;
270 | },
271 |
272 | _focusedFormField: null,
273 |
274 | getFocusedFormField: function() { return this._focusedFormField; },
275 |
276 | setFocusedFormField: function(formField) {
277 | this._focusedFormField = formField;
278 |
279 | if (formField) {
280 | this.$panel.html(
281 | 'Properties
' +
282 | ''
296 | );
297 | }
298 |
299 | else {
300 | this.$panel.html(
301 | 'Properties
' +
302 | ''
309 | );
310 | }
311 | },
312 |
313 | removeAllFormFields: function() {
314 | var formLayers = this._formLayers;
315 | for (var i = 0, length = formLayers.length; i < length; i++) {
316 | formLayers[i].removeAllFormFields();
317 | }
318 | },
319 |
320 | serializeFormLayers: function() {
321 | var serializedFormLayers = {};
322 |
323 | var formLayers = this._formLayers;
324 | var length = formLayers.length;
325 | if (length === 0) return serializedFormLayers;
326 |
327 | for (var i = 0, serializedFormFields; i < length; i++) {
328 | serializedFormFields = formLayers[i].serializeFormFields();
329 | if (!serializedFormFields) continue;
330 |
331 | serializedFormLayers[i] = serializedFormFields;
332 | }
333 |
334 | return serializedFormLayers;
335 | },
336 |
337 | deserializeFormLayers: function(serializedFormLayers, replaceExistingFields) {
338 | var focusedFormField = this._focusedFormField;
339 | if (focusedFormField) focusedFormField.setFocused(false);
340 |
341 | if (replaceExistingFields) this.removeAllFormFields();
342 |
343 | var formLayers = this._formLayers;
344 |
345 | for (var index in serializedFormLayers) {
346 | formLayers[index].deserializeFormFields(serializedFormLayers[index], replaceExistingFields);
347 | }
348 | }
349 | };
350 |
--------------------------------------------------------------------------------
/js/bootstrap-pdf-form-common.js:
--------------------------------------------------------------------------------
1 | ;'use strict';
2 |
3 | var PDFFormLayer = function PDFFormLayer(viewer, pageView) {
4 | if (!(viewer instanceof PDFViewer )) return console.error('Invalid instance of PDFViewer', viewer);
5 | if (!(pageView instanceof PDFViewerPageView)) return console.error('Invalid instance of PDFViewerPageView', pageView);
6 |
7 | this._viewer = viewer;
8 | this._pageView = pageView;
9 |
10 | var $element = this.$element = $('').prependTo(pageView.$element);
11 |
12 | var formFields = this._formFields = [];
13 | };
14 |
15 | PDFFormLayer.prototype = {
16 | constructor: PDFFormLayer,
17 |
18 | $element: null,
19 |
20 | _viewer: null,
21 |
22 | getViewer: function() { return this._viewer; },
23 |
24 | _pageView: null,
25 |
26 | getPageView: function() { return this._pageView; },
27 |
28 | getFormBuilder: function() {
29 | if (!this._viewer.getFormBuilder) return null;
30 | return this._viewer.getFormBuilder();
31 | },
32 |
33 | getFormViewer: function() {
34 | if (!this._viewer.getFormViewer) return null;
35 | return this._viewer.getFormViewer();
36 | },
37 |
38 | _formFields: null,
39 |
40 | getFormFields: function() { return this._formFields; },
41 |
42 | getFormFieldById: function(id) {
43 | var formFields = this._formFields;
44 | for (var i = 0, length = formFields.length, formField; i < length; i++) {
45 | if ((formField = formFields[i]) && formField.getId() == id) return formField;
46 | }
47 |
48 | return null;
49 | },
50 |
51 | addFormField: function(formField) {
52 | this._formFields.push(formField);
53 | this.$element.append(formField.$element);
54 |
55 | formField._formLayer = this;
56 |
57 | formField.setFocused(true);
58 | },
59 |
60 | removeFormField: function(formField) {
61 | var formFields = this._formFields;
62 | for (var i = 0, length = formFields.length; i < length; i++) {
63 | if (formFields[i] === formField) {
64 | formFields.splice(i, 1);
65 | formField.$element.remove();
66 |
67 | formField._formLayer = null;
68 | return;
69 | }
70 | }
71 | },
72 |
73 | removeAllFormFields: function() {
74 | var formFields = this._formFields;
75 | for (var i = 0, length = formFields.length, formField; i < length; i++) {
76 | formField = formFields[i];
77 |
78 | formField.$element.remove();
79 | formField._formLayer = null;
80 | }
81 |
82 | formFields.length = 0;
83 | },
84 |
85 | convertPositionToPercentage: function(position) {
86 | var pageView = this._pageView;
87 | var viewer = pageView._viewer;
88 | var scale = viewer._lastCalculatedScale;
89 |
90 | return {
91 | x: (position.x / pageView._actualWidth ) * 100 / scale,
92 | y: (position.y / pageView._actualHeight) * 100 / scale
93 | };
94 | },
95 |
96 | serializeFormFields: function() {
97 | var formFields = this._formFields;
98 | var length = formFields.length;
99 | if (length === 0) return null;
100 |
101 | var serializedFormFields = {};
102 |
103 | for (var i = 0, serializedFormField, id; i < length; i++) {
104 | serializedFormField = formFields[i].serializeFormField();
105 | id = serializedFormField.id;
106 |
107 | delete serializedFormField.id;
108 |
109 | serializedFormFields[id] = serializedFormField;
110 | }
111 |
112 | return serializedFormFields;
113 | },
114 |
115 | deserializeFormFields: function(serializedFormFields, replaceExistingFields) {
116 | if (replaceExistingFields) this.removeAllFormFields();
117 |
118 | var formLayers = this._formLayers;
119 |
120 | var serializedFormField, formField;
121 | for (var id in serializedFormFields) {
122 | serializedFormField = serializedFormFields[id];
123 | serializedFormField.id = id;
124 |
125 | this.addFormField(formField = PDFFormField.deserializeFormField(serializedFormField));
126 | if (replaceExistingFields) formField.setFocused(false);
127 | }
128 | },
129 |
130 | serializeValues: function() {
131 | var formFields = this._formFields;
132 | var length = formFields.length;
133 | if (length === 0) return null;
134 |
135 | var serializedValues = {};
136 |
137 | for (var i = 0, serializedValue, id; i < length; i++) {
138 | serializedValue = formFields[i].serializeValue();
139 |
140 | serializedValues[serializedValue.id] = serializedValue.value;
141 | }
142 |
143 | return serializedValues;
144 | }
145 | };
146 |
147 | var PDFFormField = function PDFFormField(x, y, w, h) {
148 | var $element = this.$element = $('');
149 | var $input = this.$input = $('');
150 | var $handles = this.$handles = {
151 | N : $('' ).appendTo($element),
152 | NE: $('').appendTo($element),
153 | E : $('' ).appendTo($element),
154 | SE: $('').appendTo($element),
155 | S : $('' ).appendTo($element),
156 | SW: $('').appendTo($element),
157 | W : $('' ).appendTo($element),
158 | NW: $('').appendTo($element)
159 | };
160 |
161 | for (var handleType in $handles) {
162 | var handle = $handles[handleType][0];
163 | handle.formField = self;
164 | handle.handleType = PDFFormField.HandleType[handleType];
165 | }
166 |
167 | var self = $element[0].formField = this;
168 |
169 | var id = this._id = PDFFormField.generateUniqueId();
170 |
171 | var properties = this._properties = {
172 | attributes: {},
173 | styles: {
174 | element: {},
175 | input: {}
176 | }
177 | };
178 |
179 | var position = this._position = {
180 | x: x || (50 - (this.DEFAULT_WIDTH / 2)),
181 | y: y || (50 - (this.DEFAULT_HEIGHT / 2))
182 | };
183 |
184 | var size = this._size = {
185 | w: w || this.DEFAULT_WIDTH,
186 | h: h || this.DEFAULT_HEIGHT
187 | };
188 |
189 | this.setPosition(position.x, position.y);
190 | this.setSize(size.w, size.h);
191 | };
192 |
193 | PDFFormField.EventType = {
194 | Focus: 'PDFFormField:Focus',
195 | Blur: 'PDFFormField:Blur',
196 | Resize: 'PDFFormField:Resize',
197 | Move: 'PDFFormField:Move'
198 | };
199 |
200 | PDFFormField.HandleType = { N: 'n', NE: 'ne', E: 'e', SE: 'se', S: 's', SW: 'sw', W: 'w', NW: 'nw' };
201 |
202 | PDFFormField.deserializeFormField = function(serializedFormField) {
203 | var formFieldClass = window[serializedFormField.type] || PDFFormField;
204 |
205 | var position = serializedFormField.position;
206 | var size = serializedFormField.size;
207 |
208 | var formField = new formFieldClass(position.x, position.y, size.w, size.h);
209 |
210 | formField.setProperties(serializedFormField.properties);
211 | formField._id = serializedFormField.id;
212 |
213 | return formField;
214 | };
215 |
216 | PDFFormField.generateUniqueId = function() {
217 | var lastTimestamp = new Date().getTime();
218 | var newTimestamp = new Date().getTime();
219 |
220 | while (newTimestamp === lastTimestamp) {
221 | newTimestamp = new Date().getTime();
222 | }
223 |
224 | return newTimestamp + '';
225 | };
226 |
227 | PDFFormField.prototype = {
228 | constructor: PDFFormField,
229 |
230 | DESCRIPTIVE_TYPE: 'Field',
231 |
232 | DEFAULT_WIDTH: 10,
233 | DEFAULT_HEIGHT: 2,
234 |
235 | $element: null,
236 | $input: null,
237 | $handles: null,
238 |
239 | _isMoving: false,
240 | _isResizing: false,
241 |
242 | _activeHandle: null,
243 |
244 | _lastMousePosition: null,
245 | _lastTouchIdentifier: null,
246 |
247 | _mouseDownHandler: function(evt) {
248 | var $target = $(evt.target);
249 | var $window = $(window);
250 |
251 | var formField = evt.target.formField;
252 | if (!formField) formField = $target.closest('.pdf-form-field')[0].formField;
253 |
254 | if ($target.hasClass('pdf-form-field-handle')) {
255 | formField._isResizing = true;
256 | formField._activeHandle = evt.target.handleType;
257 | }
258 |
259 | else {
260 | formField._isMoving = true;
261 | }
262 |
263 | var formLayer = formField._formLayer;
264 |
265 | formField._lastMousePosition = PDFViewer.Util.getPositionForEvent(evt);
266 | formField._lastTouchIdentifier = PDFViewer.IS_TOUCH_SUPPORTED ? evt.originalEvent.targetTouches[0].identifier : null;
267 |
268 | var mouseMoveHandler = function(evt) {
269 | var isMoving = formField._isMoving;
270 | var isResizing = formField._isResizing;
271 | if (!isMoving && !isResizing) return;
272 |
273 | var mousePosition = PDFViewer.Util.getPositionForEvent(evt, formField._lastTouchIdentifier);
274 | var mouseDelta = PDFViewer.Util.getDeltaForPositions(mousePosition, formField._lastMousePosition);
275 |
276 | mouseDelta = formLayer.convertPositionToPercentage(mouseDelta);
277 |
278 | if (isMoving) {
279 | formField.addToPosition(mouseDelta.x, mouseDelta.y);
280 | }
281 |
282 | else if (isResizing) {
283 | switch (formField._activeHandle) {
284 | case PDFFormField.HandleType.N:
285 | formField.addToSize(0, -mouseDelta.y);
286 | formField.addToPosition(0, mouseDelta.y);
287 | break;
288 | case PDFFormField.HandleType.NE:
289 | formField.addToSize(mouseDelta.x, -mouseDelta.y);
290 | formField.addToPosition(0, mouseDelta.y);
291 | break;
292 | case PDFFormField.HandleType.E:
293 | formField.addToSize(mouseDelta.x, 0);
294 | break;
295 | case PDFFormField.HandleType.SE:
296 | formField.addToSize(mouseDelta.x, mouseDelta.y);
297 | break;
298 | case PDFFormField.HandleType.S:
299 | formField.addToSize(0, mouseDelta.y);
300 | break;
301 | case PDFFormField.HandleType.SW:
302 | formField.addToSize(-mouseDelta.x, mouseDelta.y);
303 | formField.addToPosition(mouseDelta.x, 0);
304 | break;
305 | case PDFFormField.HandleType.W:
306 | formField.addToSize(-mouseDelta.x, 0);
307 | formField.addToPosition(mouseDelta.x, 0);
308 | break;
309 | case PDFFormField.HandleType.NW:
310 | formField.addToSize(-mouseDelta.x, -mouseDelta.y);
311 | formField.addToPosition( mouseDelta.x, mouseDelta.y);
312 | break;
313 | default:
314 | break;
315 | }
316 | }
317 |
318 | formField._lastMousePosition = mousePosition;
319 |
320 | evt.preventDefault();
321 | evt.stopImmediatePropagation();
322 | };
323 |
324 | var mouseUpHandler = function(evt) {
325 | formField._isMoving = formField._isResizing = false;
326 | formField._activeHandle = null;
327 |
328 | $window.off(PDFViewer.IS_TOUCH_SUPPORTED ? 'touchmove' : 'mousemove', mouseMoveHandler);
329 | $window.off(PDFViewer.IS_TOUCH_SUPPORTED ? 'touchend' : 'mouseup' , mouseUpHandler);
330 | };
331 |
332 | $window.on(PDFViewer.IS_TOUCH_SUPPORTED ? 'touchmove' : 'mousemove', mouseMoveHandler);
333 | $window.on(PDFViewer.IS_TOUCH_SUPPORTED ? 'touchend' : 'mouseup' , mouseUpHandler);
334 |
335 | evt.preventDefault();
336 | },
337 |
338 | _formLayer: null,
339 |
340 | getFormLayer: function() { return this._formLayer; },
341 |
342 | _id: '',
343 |
344 | getId: function() { return this._id; },
345 |
346 | _properties: null,
347 |
348 | getProperties: function() { return this._properties; },
349 |
350 | setProperties: function(properties) {
351 | this._properties = properties || {};
352 | this.updateInput();
353 | },
354 |
355 | updateProperties: function() {
356 | var formBuilder = this._formLayer.getFormBuilder();
357 | if (!formBuilder) return;
358 |
359 | var properties = this._properties;
360 |
361 | var $panel = formBuilder.$panel;
362 | var $form = $panel.find('form');
363 |
364 | var values = $form.serializeArray();
365 |
366 | var i, length, name, value;
367 |
368 | for (i = 0, length = values.length, name, value; i < length; i++) {
369 | name = values[i].name;
370 | value = values[i].value;
371 |
372 | if (name.indexOf('styles.') === 0) {
373 | value += $form.find('[name="' + name + '"]').attr('data-value-suffix') || '';
374 | name = name.substr(7).split('.');
375 | properties.styles[name[0]][name[1]] = value;
376 | }
377 |
378 | else if (name.indexOf('attributes.') === 0) {
379 | if (value === 'true' ) value = true;
380 | if (value === 'false') value = false;
381 |
382 | name = name.substr(11);
383 | properties.attributes[name] = value;
384 | }
385 |
386 | else {
387 | properties[name] = value;
388 | }
389 | }
390 |
391 | this.updateInput();
392 | },
393 |
394 | updateInput: function() {
395 | var $element = this.$element;
396 | var $input = this.$input;
397 | var properties = this._properties;
398 | var styles = properties.styles;
399 | var attributes = properties.attributes;
400 |
401 | var name, value;
402 |
403 | for (name in properties) {
404 | value = properties[name];
405 |
406 | if (name === 'html') {
407 | $input.html(value);
408 | }
409 | }
410 |
411 | $element.css(styles.element);
412 | $input.css(styles.input);
413 |
414 | for (name in attributes) {
415 | value = attributes[name];
416 |
417 | if (typeof value === 'boolean') {
418 | $input.prop(name, value);
419 | }
420 |
421 | else if (!value) {
422 | $input.removeAttr(name);
423 | }
424 |
425 | else {
426 | $input.attr(name, value);
427 | }
428 | }
429 | },
430 |
431 | getPropertiesForm: function() { return ''; },
432 |
433 | _focused: false,
434 |
435 | getFocused: function() { return this._focused; },
436 |
437 | setFocused: function(focused) {
438 | if (this._focused === focused) return;
439 |
440 | var form = this._formLayer.getFormBuilder() || this._formLayer.getFormViewer();
441 | if (!form) return console.error('Cannot set focus; No PDFFormBuilder or PDFFormViewer is associated with the PDFFormLayer');
442 |
443 | var properties = this._properties;
444 |
445 | var $element = this.$element;
446 | if (!$element) return;
447 |
448 | // Check if this form field is losing focus
449 | if (this._focused && !focused) {
450 | this.updateProperties();
451 | }
452 |
453 | var lastFocusedFormField = form.getFocusedFormField();
454 |
455 | if ((this._focused = focused)) {
456 | if (lastFocusedFormField && lastFocusedFormField !== this) {
457 | lastFocusedFormField.setFocused(false);
458 | }
459 |
460 | form.setFocusedFormField(this);
461 |
462 | $element.addClass('pdf-form-field-focus');
463 | $element.on(PDFViewer.IS_TOUCH_SUPPORTED ? 'touchstart' : 'mousedown', this._mouseDownHandler);
464 |
465 | $element.trigger($.Event(PDFFormField.EventType.Focus, {
466 | formField: this
467 | }));
468 | }
469 |
470 | else {
471 | form.setFocusedFormField(null);
472 |
473 | $element.removeClass('pdf-form-field-focus');
474 | $element.off(PDFViewer.IS_TOUCH_SUPPORTED ? 'touchstart' : 'mousedown', this._mouseDownHandler);
475 |
476 | $element.trigger($.Event(PDFFormField.EventType.Blur, {
477 | formField: this
478 | }));
479 | }
480 | },
481 |
482 | _position: null, // { x: 0, y: 0 }
483 |
484 | getPosition: function() { return this._position; },
485 |
486 | setPosition: function(x, y) {
487 | var $element = this.$element;
488 | var formLayer = this._formLayer;
489 | var formBuilder = formLayer ? formLayer.getFormBuilder() : null;
490 | var snapToGrid = !!formBuilder && formBuilder.getSnapToGrid();
491 | var position = this._position;
492 |
493 | position.x = x;
494 | position.y = y;
495 |
496 | $element.css({
497 | left: (snapToGrid ? Math.round(position.x) : position.x) + '%',
498 | top: (snapToGrid ? Math.round(position.y) : position.y) + '%'
499 | });
500 |
501 | $element.trigger($.Event(PDFFormField.EventType.Move, {
502 | formField: this
503 | }));
504 | },
505 |
506 | addToPosition: function(deltaX, deltaY) {
507 | var position = this._position;
508 | this.setPosition(position.x + deltaX, position.y + deltaY);
509 | },
510 |
511 | _size: null, // { w: 0, h: 0 }
512 |
513 | getSize: function() { return this._size; },
514 |
515 | setSize: function(w, h) {
516 | var $element = this.$element;
517 | var formLayer = this._formLayer;
518 | var formBuilder = formLayer ? formLayer.getFormBuilder() : null;
519 | var snapToGrid = !!formBuilder && formBuilder.getSnapToGrid();
520 | var size = this._size;
521 |
522 | size.w = w;
523 | size.h = h;
524 |
525 | $element.css({
526 | width: (snapToGrid ? Math.round(size.w) : size.w) + '%',
527 | height: (snapToGrid ? Math.round(size.h) : size.h) + '%'
528 | });
529 |
530 | $element.trigger($.Event(PDFFormField.EventType.Resize, {
531 | formField: this
532 | }));
533 | },
534 |
535 | addToSize: function(deltaW, deltaH) {
536 | var size = this._size;
537 | this.setSize(size.w + deltaW, size.h + deltaH);
538 | },
539 |
540 | getClassName: function() {
541 | var matches = this.constructor.toString().match(/function\s*(\w+)/);
542 | return matches.length === 2 ? matches[1] : 'PDFFormField';
543 | },
544 |
545 | serializeFormField: function() {
546 | var formLayer = this._formLayer;
547 | var formBuilder = formLayer ? formLayer.getFormBuilder() : null;
548 | var snapToGrid = !!formBuilder && formBuilder.getSnapToGrid();
549 |
550 | var position = this._position;
551 | var size = this._size;
552 |
553 | position.x = snapToGrid ? Math.round(position.x) : position.x;
554 | position.y = snapToGrid ? Math.round(position.y) : position.y;
555 |
556 | size.w = snapToGrid ? Math.round(size.w) : size.w;
557 | size.h = snapToGrid ? Math.round(size.h) : size.h;
558 |
559 | return {
560 | id: this._id,
561 | type: this.getClassName(),
562 | position: position,
563 | size: size,
564 | properties: this._properties
565 | };
566 | },
567 |
568 | serializeValue: function() {
569 | return {
570 | id: this._id,
571 | value: this.getValue()
572 | };
573 | },
574 |
575 | getValue: function() { return this.$input.val(); },
576 |
577 | setValue: function(value) {
578 | this.$input.val(value);
579 | }
580 | };
581 |
582 | var PDFFormFieldLabel = function PDFFormFieldLabel(x, y, w, h) {
583 | PDFFormField.prototype.constructor.apply(this, arguments);
584 |
585 | this.$input = $('').appendTo(this.$element);
586 | };
587 |
588 | PDFFormFieldLabel.prototype = new PDFFormField();
589 | PDFFormFieldLabel.prototype.constructor = PDFFormFieldLabel;
590 | PDFFormFieldLabel.prototype.DESCRIPTIVE_TYPE = 'Label';
591 | PDFFormFieldLabel.prototype.DEFAULT_WIDTH = 10;
592 | PDFFormFieldLabel.prototype.DEFAULT_HEIGHT = 2;
593 |
594 | PDFFormFieldLabel.prototype.getPropertiesForm = function() {
595 | var properties = this._properties;
596 | var html = '' +
597 | '' +
598 | '' +
599 | '' +
600 | '' +
601 | '' +
602 | '' +
603 | '' +
604 | '';
605 |
606 | return html;
607 | };
608 |
609 | PDFFormFieldLabel.prototype.serializeValue = function() { return null; }
610 |
611 | var PDFFormFieldTextBox = function PDFFormFieldTextBox(x, y, w, h) {
612 | PDFFormField.prototype.constructor.apply(this, arguments);
613 |
614 | this.$input = $('').appendTo(this.$element);
615 | };
616 |
617 | PDFFormFieldTextBox.prototype = new PDFFormField();
618 | PDFFormFieldTextBox.prototype.constructor = PDFFormFieldTextBox;
619 | PDFFormFieldTextBox.prototype.DESCRIPTIVE_TYPE = 'Text Box';
620 | PDFFormFieldTextBox.prototype.DEFAULT_WIDTH = 10;
621 | PDFFormFieldTextBox.prototype.DEFAULT_HEIGHT = 2;
622 |
623 | PDFFormFieldTextBox.prototype.getPropertiesForm = function() {
624 | var properties = this._properties;
625 | var html = '' +
626 | '' +
627 | '' +
628 | '' +
629 | '' +
630 | '' +
631 | '' +
632 | '' +
633 | '' +
634 | '' +
635 | '' +
636 | '' +
637 | '' +
638 | '' +
639 | '' +
640 | '' +
641 | '';
642 |
643 | return html;
644 | };
645 |
646 | var PDFFormFieldTextArea = function PDFFormFieldTextArea(x, y, w, h) {
647 | PDFFormField.prototype.constructor.apply(this, arguments);
648 |
649 | this.$input = $('').appendTo(this.$element);
650 | };
651 |
652 | PDFFormFieldTextArea.prototype = new PDFFormField();
653 | PDFFormFieldTextArea.prototype.constructor = PDFFormFieldTextArea;
654 | PDFFormFieldTextArea.prototype.DESCRIPTIVE_TYPE = 'Text Area';
655 | PDFFormFieldTextArea.prototype.DEFAULT_WIDTH = 16;
656 | PDFFormFieldTextArea.prototype.DEFAULT_HEIGHT = 8;
657 |
658 | PDFFormFieldTextArea.prototype.getPropertiesForm = function() {
659 | var properties = this._properties;
660 | var html = '' +
661 | '' +
662 | '' +
663 | '' +
664 | '' +
665 | '' +
666 | '' +
667 | '' +
668 | '' +
669 | '' +
670 | '' +
671 | '' +
672 | '' +
673 | '' +
674 | '' +
675 | '' +
676 | '';
677 |
678 | return html;
679 | };
680 |
681 | var PDFFormFieldCheckBox = function PDFFormFieldCheckBox(x, y, w, h) {
682 | PDFFormField.prototype.constructor.apply(this, arguments);
683 |
684 | var $element = this.$element;
685 |
686 | var $label = $('').appendTo($element);
687 | var $input = this.$input = $('').appendTo($label);
688 | var $icon = $('').appendTo($label);
689 |
690 | var self = this;
691 | var resizeHandler = function(evt) {
692 | var size = self._size;
693 | $icon.css('font-size', Math.min($element.width(), $element.height()) + 'px');
694 | };
695 |
696 | $element.on(PDFFormField.EventType.Resize, resizeHandler);
697 |
698 | $(document.body).on(PDFViewer.EventType.ScaleChange, function(evt) {
699 | resizeHandler();
700 | });
701 |
702 | window.setTimeout(function() { resizeHandler(); }, 1);
703 | };
704 |
705 | PDFFormFieldCheckBox.prototype = new PDFFormField();
706 | PDFFormFieldCheckBox.prototype.constructor = PDFFormFieldCheckBox;
707 | PDFFormFieldCheckBox.prototype.DESCRIPTIVE_TYPE = 'Check Box';
708 | PDFFormFieldCheckBox.prototype.DEFAULT_WIDTH = 2;
709 | PDFFormFieldCheckBox.prototype.DEFAULT_HEIGHT = 2;
710 |
711 | PDFFormFieldCheckBox.prototype.getPropertiesForm = function() {
712 | var properties = this._properties;
713 | var html = '' +
714 | '' +
715 | '' +
716 | '' +
717 | '' +
718 | '' +
719 | '' +
720 | '' +
724 | '' +
725 | '' +
726 | '' +
727 | '' +
728 | '';
729 |
730 | return html;
731 | };
732 |
733 | PDFFormFieldCheckBox.prototype.getValue = function() {
734 | return this.$input.is(':checked');
735 | };
736 |
737 | PDFFormFieldCheckBox.prototype.setValue = function(value) {
738 | this.$input.prop('checked', !!value);
739 | };
740 |
--------------------------------------------------------------------------------
/js/bootstrap-pdf-form-viewer.js:
--------------------------------------------------------------------------------
1 | ;'use strict';
2 |
3 | var PDFFormViewer = function PDFFormViewer(viewer, options) {
4 | if (!(viewer instanceof PDFViewer)) return console.error('Invalid instance of PDFViewer', viewer);
5 |
6 | options = options || {};
7 |
8 | this._viewer = viewer;
9 |
10 | var self = viewer._formViewer = this;
11 |
12 | viewer.getFormViewer = function() { return this._formViewer; };
13 |
14 | var $element = viewer.$element;
15 | $element.addClass('pdf-form-viewer');
16 |
17 | var $style = this.$style = $('').appendTo(document.body);
18 |
19 | var toolbarActions = this._toolbarActions = {};
20 |
21 | var $navbar = viewer.$navbar;
22 | var $navbarLeft = viewer.$navbarLeft;
23 |
24 | if (!options.hideOpenFormButton) $('').appendTo($navbarLeft);
25 | if (!options.hideOpenFormButton) $('').appendTo($navbarLeft);
26 | if (!options.hideOpenDataButton) $('').appendTo($navbarLeft);
27 | if (!options.hideSaveDataButton) $('').appendTo($navbarLeft);
28 |
29 | $navbar.delegate('a', 'click', function(evt) {
30 | evt.preventDefault();
31 |
32 | var $button = $(this);
33 | var href = $button.attr('href');
34 | var position = viewer.getScrollView().getPosition();
35 |
36 | if (typeof toolbarActions[href] === 'function') {
37 | toolbarActions[href].call(self);
38 | return;
39 | }
40 |
41 | switch (href) {
42 | case '#open-form':
43 | (function() {
44 | var serializedFormLayers = window.prompt('Enter Form Layer data in JSON format:\n\n(or press "OK" to load sample form)');
45 | if (serializedFormLayers === null) return;
46 |
47 | serializedFormLayers = $.trim(serializedFormLayers);
48 | if (serializedFormLayers) {
49 | self.deserializeFormLayers(JSON.parse(serializedFormLayers), true);
50 | }
51 |
52 | else {
53 | $.getJSON('data/form.json', function(data) {
54 | self.deserializeFormLayers(data, true);
55 | });
56 | }
57 | })();
58 | break;
59 | case '#open-data':
60 | (function() {
61 | var serializedValues = window.prompt('Enter Form Value data in JSON format:\n\n(or press "OK" to load sample submission)');
62 | if (serializedValues === null) return;
63 |
64 | serializedValues = $.trim(serializedValues);
65 | if (serializedValues) {
66 | self.deserializeValues(JSON.parse(serializedValues));
67 | }
68 |
69 | else {
70 | $.getJSON('data/submission.json', function(data) {
71 | self.deserializeValues(data);
72 | });
73 | }
74 | })();
75 | break;
76 | case '#save-data':
77 | (function() {
78 | var serializedValues = JSON.stringify(self.serializeValues());
79 | window.alert(serializedValues);
80 | })();
81 | break;
82 | default:
83 | break;
84 | }
85 | });
86 |
87 | $element.on(PDFViewer.EventType.ScaleChange, function(evt) {
88 | $style.html(
89 | '.pdf-form-field > input,' +
90 | '.pdf-form-field > label,' +
91 | '.pdf-form-field > textarea {' +
92 | 'font-size: ' + (evt.calculatedScale * 100) + '%;' +
93 | '}'
94 | );
95 | });
96 |
97 | // Wait for the PDFViewer to become ready before initializing the page layers.
98 | viewer.$element.on(PDFViewer.EventType.Ready, function(evt) {
99 | self.init();
100 | });
101 | };
102 |
103 | PDFFormViewer.prototype = {
104 | constructor: PDFFormViewer,
105 |
106 | $style: null,
107 |
108 | _viewer: null,
109 |
110 | init: function() {
111 | var viewer = this._viewer;
112 | var pageViews = viewer.getPageViews();
113 |
114 | var formLayers = this._formLayers = [];
115 |
116 | for (var i = 0, length = pageViews.length; i < length; i++) {
117 | formLayers.push(new PDFFormLayer(viewer, pageViews[i]));
118 | }
119 | },
120 |
121 | _toolbarActions: null,
122 |
123 | setToolbarAction: function(action, callback) {
124 | this._toolbarActions[action] = callback;
125 | },
126 |
127 | _focusedFormField: null,
128 |
129 | getFocusedFormField: function() { return this._focusedFormField; },
130 |
131 | setFocusedFormField: function(formField) {
132 | this._focusedFormField = formField;
133 | },
134 |
135 | getFormFieldById: function(id) {
136 | var formLayers = this._formLayers;
137 | for (var i = 0, length = formLayers.length, formField; i < length; i++) {
138 | formField = formLayers[i].getFormFieldById(id);
139 | if (formField) return formField;
140 | }
141 |
142 | return null;
143 | },
144 |
145 | removeAllFormFields: function() {
146 | var formLayers = this._formLayers;
147 | for (var i = 0, length = formLayers.length; i < length; i++) {
148 | formLayers[i].removeAllFormFields();
149 | }
150 | },
151 |
152 | deserializeFormLayers: function(serializedFormLayers, replaceExistingFields) {
153 | if (replaceExistingFields) this.removeAllFormFields();
154 |
155 | var formLayers = this._formLayers;
156 |
157 | for (var index in serializedFormLayers) {
158 | formLayers[index].deserializeFormFields(serializedFormLayers[index], replaceExistingFields);
159 | }
160 | },
161 |
162 | serializeValues: function() {
163 | var serializedValues = {};
164 |
165 | var formLayers = this._formLayers;
166 | var length = formLayers.length;
167 | if (length === 0) return serializedFormLayers;
168 |
169 | for (var i = 0, serializedFormLayerValues, id; i < length; i++) {
170 | serializedFormLayerValues = formLayers[i].serializeValues();
171 |
172 | for (id in serializedFormLayerValues) {
173 | serializedValues[id] = {
174 | value: serializedFormLayerValues[id]
175 | };
176 | }
177 | }
178 |
179 | return serializedValues;
180 | },
181 |
182 | deserializeValues: function(serializedValues) {
183 | var serializedValue, formField;
184 | for (var id in serializedValues) {
185 | if (!(formField = this.getFormFieldById(id))) continue;
186 |
187 | serializedValue = serializedValues[id];
188 |
189 | formField.setValue(serializedValue.value);
190 | }
191 | }
192 | };
193 |
--------------------------------------------------------------------------------
/lib/font-awesome/css/font-awesome-ie7.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 3.1.0
3 | * the iconic font designed for Bootstrap
4 | * -------------------------------------------------------
5 | * The full suite of pictographic icons, examples, and documentation
6 | * can be found at: http://fontawesome.io
7 | *
8 | * License
9 | * -------------------------------------------------------
10 | * - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
11 | * http://scripts.sil.org/OFL
12 | * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
13 | * http://opensource.org/licenses/mit-license.html
14 | * - Font Awesome documentation licensed under CC BY 3.0 License -
15 | * http://creativecommons.org/licenses/by/3.0/
16 | * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
17 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
18 |
19 | * Contact
20 | * -------------------------------------------------------
21 | * Email: dave@fontawesome.io
22 | * Twitter: http://twitter.com/fortaweso_me
23 | * Work: Lead Product Designer @ http://kyruus.com
24 | */.icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle}.nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%}.nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px}ul.icons-ul{text-indent:-1em;margin-left:2.142857142857143em}ul.icons-ul>li .icon-li{width:1em;margin-right:0}.btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit}.btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em}a [class^="icon-"],a [class*=" icon-"]{cursor:pointer}.icon-glass{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-music{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-search{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-envelope{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-heart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-star{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-star-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-user{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-film{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-th-large{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-th{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-th-list{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ok{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-remove{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-zoom-in{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-zoom-out{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-off{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-signal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cog{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-trash{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-home{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-file{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-time{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-road{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-download-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-download{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-upload{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-inbox{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-play-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-repeat{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-refresh{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-lock{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-flag{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-headphones{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-volume-off{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-volume-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-volume-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-qrcode{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-barcode{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tag{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tags{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-book{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bookmark{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-print{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-camera{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-font{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bold{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-italic{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-text-height{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-text-width{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-center{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-justify{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-indent-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-indent-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-facetime-video{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-picture{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pencil{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-map-marker{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-adjust{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tint{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-edit{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-share{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-check{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-move{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-step-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fast-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-play{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pause{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-stop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fast-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-step-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-eject{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-minus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-remove-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ok-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-question-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-info-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-screenshot{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-remove-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ok-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ban-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-share-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-full{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-small{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-minus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-asterisk{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-exclamation-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-gift{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-leaf{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fire{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-eye-open{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-eye-close{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-warning-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plane{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-calendar{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-random{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comment{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-magnet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-retweet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-shopping-cart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-close{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-open{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-vertical{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-horizontal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bar-chart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-twitter-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-facebook-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-camera-retro{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-key{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cogs{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comments{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-thumbs-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-thumbs-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-star-half{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-heart-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-signout{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-linkedin-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pushpin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-external-link{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-signin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-trophy{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-github-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-upload-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-lemon{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-phone{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-check-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bookmark-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-phone-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-twitter{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-facebook{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-github{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-unlock{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-credit-card{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-rss{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hdd{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bullhorn{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bell{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-certificate{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-globe{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-wrench{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tasks{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-filter{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-briefcase{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fullscreen{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-group{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-link{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cloud{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-beaker{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cut{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-copy{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-paper-clip{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-save{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sign-blank{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-reorder{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list-ul{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list-ol{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-strikethrough{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-underline{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-table{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-magic{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-truck{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pinterest{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pinterest-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-google-plus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-google-plus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-money{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-columns{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sort{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sort-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sort-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-envelope-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-linkedin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-undo{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-legal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-dashboard{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comment-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comments-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bolt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sitemap{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-umbrella{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-paste{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-lightbulb{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-exchange{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cloud-download{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cloud-upload{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-user-md{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-stethoscope{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-suitcase{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bell-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-coffee{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-food{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-file-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-building{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hospital{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ambulance{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-medkit{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fighter-jet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-beer{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-h-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plus-sign-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-desktop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-laptop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tablet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-mobile-phone{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-blank{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-quote-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-quote-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-spinner{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-reply{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-close-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-open-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-expand-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-collapse-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-smile{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-frown{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-meh{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-gamepad{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-keyboard{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-flag-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-flag-checkered{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-terminal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-code{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-reply-all{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-mail-reply-all{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-star-half-full,.icon-star-half-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-location-arrow{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-crop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-code-fork{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-unlink{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-question{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-info{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-exclamation{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-superscript{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-subscript{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-eraser{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-puzzle-piece{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-microphone{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-microphone-off{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-shield{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-calendar-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fire-extinguisher{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-rocket{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-maxcdn{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-sign-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-sign-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-sign-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-sign-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-html5{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-css3{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-anchor{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-unlock-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bullseye{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ellipsis-horizontal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ellipsis-vertical{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-rss-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-play-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ticket{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-minus-sign-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-check-minus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-level-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-level-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-check-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-edit-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-external-link-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-share-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}
--------------------------------------------------------------------------------
/lib/font-awesome/css/font-awesome.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 3.1.0
3 | * the iconic font designed for Bootstrap
4 | * -------------------------------------------------------
5 | * The full suite of pictographic icons, examples, and documentation
6 | * can be found at: http://fontawesome.io
7 | *
8 | * License
9 | * -------------------------------------------------------
10 | * - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
11 | * http://scripts.sil.org/OFL
12 | * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
13 | * http://opensource.org/licenses/mit-license.html
14 | * - Font Awesome documentation licensed under CC BY 3.0 License -
15 | * http://creativecommons.org/licenses/by/3.0/
16 | * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
17 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
18 |
19 | * Contact
20 | * -------------------------------------------------------
21 | * Email: dave@fontawesome.io
22 | * Twitter: http://twitter.com/fortaweso_me
23 | * Work: Lead Product Designer @ http://kyruus.com
24 | */
25 | /* FONT PATH
26 | * -------------------------- */
27 | @font-face {
28 | font-family: 'FontAwesome';
29 | src: url('../font/fontawesome-webfont.eot?v=3.1.0');
30 | src: url('../font/fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.1.0') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.1.0') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');
31 | font-weight: normal;
32 | font-style: normal;
33 | }
34 | /* FONT AWESOME CORE
35 | * -------------------------- */
36 | [class^="icon-"],
37 | [class*=" icon-"] {
38 | font-family: FontAwesome;
39 | font-weight: normal;
40 | font-style: normal;
41 | text-decoration: inherit;
42 | -webkit-font-smoothing: antialiased;
43 | *margin-right: .3em;
44 | }
45 | [class^="icon-"]:before,
46 | [class*=" icon-"]:before {
47 | text-decoration: inherit;
48 | display: inline-block;
49 | speak: none;
50 | }
51 | /* makes the font 33% larger relative to the icon container */
52 | .icon-large:before {
53 | vertical-align: -10%;
54 | font-size: 1.3333333333333333em;
55 | }
56 | /* makes sure icons active on rollover in links */
57 | a [class^="icon-"],
58 | a [class*=" icon-"],
59 | a [class^="icon-"]:before,
60 | a [class*=" icon-"]:before {
61 | display: inline;
62 | }
63 | /* increased font size for icon-large */
64 | [class^="icon-"].icon-fixed-width,
65 | [class*=" icon-"].icon-fixed-width {
66 | display: inline-block;
67 | width: 1.2857142857142858em;
68 | text-align: center;
69 | }
70 | [class^="icon-"].icon-fixed-width.icon-large,
71 | [class*=" icon-"].icon-fixed-width.icon-large {
72 | width: 1.5714285714285714em;
73 | }
74 | ul.icons-ul {
75 | list-style-type: none;
76 | text-indent: -0.7142857142857143em;
77 | margin-left: 2.142857142857143em;
78 | }
79 | ul.icons-ul > li .icon-li {
80 | width: 0.7142857142857143em;
81 | display: inline-block;
82 | text-align: center;
83 | }
84 | [class^="icon-"].hide,
85 | [class*=" icon-"].hide {
86 | display: none;
87 | }
88 | .icon-muted {
89 | color: #eeeeee;
90 | }
91 | .icon-light {
92 | color: #ffffff;
93 | }
94 | .icon-dark {
95 | color: #333333;
96 | }
97 | .icon-border {
98 | border: solid 1px #eeeeee;
99 | padding: .2em .25em .15em;
100 | -webkit-border-radius: 3px;
101 | -moz-border-radius: 3px;
102 | border-radius: 3px;
103 | }
104 | .icon-2x {
105 | font-size: 2em;
106 | }
107 | .icon-2x.icon-border {
108 | border-width: 2px;
109 | -webkit-border-radius: 4px;
110 | -moz-border-radius: 4px;
111 | border-radius: 4px;
112 | }
113 | .icon-3x {
114 | font-size: 3em;
115 | }
116 | .icon-3x.icon-border {
117 | border-width: 3px;
118 | -webkit-border-radius: 5px;
119 | -moz-border-radius: 5px;
120 | border-radius: 5px;
121 | }
122 | .icon-4x {
123 | font-size: 4em;
124 | }
125 | .icon-4x.icon-border {
126 | border-width: 4px;
127 | -webkit-border-radius: 6px;
128 | -moz-border-radius: 6px;
129 | border-radius: 6px;
130 | }
131 | .icon-5x {
132 | font-size: 5em;
133 | }
134 | .icon-5x.icon-border {
135 | border-width: 5px;
136 | -webkit-border-radius: 7px;
137 | -moz-border-radius: 7px;
138 | border-radius: 7px;
139 | }
140 | .pull-right {
141 | float: right;
142 | }
143 | .pull-left {
144 | float: left;
145 | }
146 | [class^="icon-"].pull-left,
147 | [class*=" icon-"].pull-left {
148 | margin-right: .3em;
149 | }
150 | [class^="icon-"].pull-right,
151 | [class*=" icon-"].pull-right {
152 | margin-left: .3em;
153 | }
154 | /* BOOTSTRAP SPECIFIC CLASSES
155 | * -------------------------- */
156 | /* Bootstrap 2.0 sprites.less reset */
157 | [class^="icon-"],
158 | [class*=" icon-"] {
159 | display: inline;
160 | width: auto;
161 | height: auto;
162 | line-height: normal;
163 | vertical-align: baseline;
164 | background-image: none;
165 | background-position: 0% 0%;
166 | background-repeat: repeat;
167 | margin-top: 0;
168 | }
169 | /* more sprites.less reset */
170 | .icon-white,
171 | .nav-pills > .active > a > [class^="icon-"],
172 | .nav-pills > .active > a > [class*=" icon-"],
173 | .nav-list > .active > a > [class^="icon-"],
174 | .nav-list > .active > a > [class*=" icon-"],
175 | .navbar-inverse .nav > .active > a > [class^="icon-"],
176 | .navbar-inverse .nav > .active > a > [class*=" icon-"],
177 | .dropdown-menu > li > a:hover > [class^="icon-"],
178 | .dropdown-menu > li > a:hover > [class*=" icon-"],
179 | .dropdown-menu > .active > a > [class^="icon-"],
180 | .dropdown-menu > .active > a > [class*=" icon-"],
181 | .dropdown-submenu:hover > a > [class^="icon-"],
182 | .dropdown-submenu:hover > a > [class*=" icon-"] {
183 | background-image: none;
184 | }
185 | /* keeps Bootstrap styles with and without icons the same */
186 | .btn [class^="icon-"].icon-large,
187 | .nav [class^="icon-"].icon-large,
188 | .btn [class*=" icon-"].icon-large,
189 | .nav [class*=" icon-"].icon-large {
190 | line-height: .9em;
191 | }
192 | .btn [class^="icon-"].icon-spin,
193 | .nav [class^="icon-"].icon-spin,
194 | .btn [class*=" icon-"].icon-spin,
195 | .nav [class*=" icon-"].icon-spin {
196 | display: inline-block;
197 | }
198 | .nav-tabs [class^="icon-"],
199 | .nav-pills [class^="icon-"],
200 | .nav-tabs [class*=" icon-"],
201 | .nav-pills [class*=" icon-"],
202 | .nav-tabs [class^="icon-"].icon-large,
203 | .nav-pills [class^="icon-"].icon-large,
204 | .nav-tabs [class*=" icon-"].icon-large,
205 | .nav-pills [class*=" icon-"].icon-large {
206 | line-height: .9em;
207 | }
208 | .btn [class^="icon-"].pull-left.icon-2x,
209 | .btn [class*=" icon-"].pull-left.icon-2x,
210 | .btn [class^="icon-"].pull-right.icon-2x,
211 | .btn [class*=" icon-"].pull-right.icon-2x {
212 | margin-top: .18em;
213 | }
214 | .btn [class^="icon-"].icon-spin.icon-large,
215 | .btn [class*=" icon-"].icon-spin.icon-large {
216 | line-height: .8em;
217 | }
218 | .btn.btn-small [class^="icon-"].pull-left.icon-2x,
219 | .btn.btn-small [class*=" icon-"].pull-left.icon-2x,
220 | .btn.btn-small [class^="icon-"].pull-right.icon-2x,
221 | .btn.btn-small [class*=" icon-"].pull-right.icon-2x {
222 | margin-top: .25em;
223 | }
224 | .btn.btn-large [class^="icon-"],
225 | .btn.btn-large [class*=" icon-"] {
226 | margin-top: 0;
227 | }
228 | .btn.btn-large [class^="icon-"].pull-left.icon-2x,
229 | .btn.btn-large [class*=" icon-"].pull-left.icon-2x,
230 | .btn.btn-large [class^="icon-"].pull-right.icon-2x,
231 | .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
232 | margin-top: .05em;
233 | }
234 | .btn.btn-large [class^="icon-"].pull-left.icon-2x,
235 | .btn.btn-large [class*=" icon-"].pull-left.icon-2x {
236 | margin-right: .2em;
237 | }
238 | .btn.btn-large [class^="icon-"].pull-right.icon-2x,
239 | .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
240 | margin-left: .2em;
241 | }
242 | /* EXTRAS
243 | * -------------------------- */
244 | /* Stacked and layered icon */
245 | .icon-stack {
246 | position: relative;
247 | display: inline-block;
248 | width: 2em;
249 | height: 2em;
250 | line-height: 2em;
251 | vertical-align: -35%;
252 | }
253 | .icon-stack [class^="icon-"],
254 | .icon-stack [class*=" icon-"] {
255 | display: block;
256 | text-align: center;
257 | position: absolute;
258 | width: 100%;
259 | height: 100%;
260 | font-size: 1em;
261 | line-height: inherit;
262 | *line-height: 2em;
263 | }
264 | .icon-stack .icon-stack-base {
265 | font-size: 2em;
266 | *line-height: 1em;
267 | }
268 | /* Animated rotating icon */
269 | .icon-spin {
270 | display: inline-block;
271 | -moz-animation: spin 2s infinite linear;
272 | -o-animation: spin 2s infinite linear;
273 | -webkit-animation: spin 2s infinite linear;
274 | animation: spin 2s infinite linear;
275 | }
276 | @-moz-keyframes spin {
277 | 0% {
278 | -moz-transform: rotate(0deg);
279 | }
280 | 100% {
281 | -moz-transform: rotate(359deg);
282 | }
283 | }
284 | @-webkit-keyframes spin {
285 | 0% {
286 | -webkit-transform: rotate(0deg);
287 | }
288 | 100% {
289 | -webkit-transform: rotate(359deg);
290 | }
291 | }
292 | @-o-keyframes spin {
293 | 0% {
294 | -o-transform: rotate(0deg);
295 | }
296 | 100% {
297 | -o-transform: rotate(359deg);
298 | }
299 | }
300 | @-ms-keyframes spin {
301 | 0% {
302 | -ms-transform: rotate(0deg);
303 | }
304 | 100% {
305 | -ms-transform: rotate(359deg);
306 | }
307 | }
308 | @keyframes spin {
309 | 0% {
310 | transform: rotate(0deg);
311 | }
312 | 100% {
313 | transform: rotate(359deg);
314 | }
315 | }
316 | /* Icon rotations and mirroring */
317 | .icon-rotate-90:before {
318 | -webkit-transform: rotate(90deg);
319 | -moz-transform: rotate(90deg);
320 | -ms-transform: rotate(90deg);
321 | -o-transform: rotate(90deg);
322 | transform: rotate(90deg);
323 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
324 | }
325 | .icon-rotate-180:before {
326 | -webkit-transform: rotate(180deg);
327 | -moz-transform: rotate(180deg);
328 | -ms-transform: rotate(180deg);
329 | -o-transform: rotate(180deg);
330 | transform: rotate(180deg);
331 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
332 | }
333 | .icon-rotate-270:before {
334 | -webkit-transform: rotate(270deg);
335 | -moz-transform: rotate(270deg);
336 | -ms-transform: rotate(270deg);
337 | -o-transform: rotate(270deg);
338 | transform: rotate(270deg);
339 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
340 | }
341 | .icon-flip-horizontal:before {
342 | -webkit-transform: scale(-1, 1);
343 | -moz-transform: scale(-1, 1);
344 | -ms-transform: scale(-1, 1);
345 | -o-transform: scale(-1, 1);
346 | transform: scale(-1, 1);
347 | }
348 | .icon-flip-vertical:before {
349 | -webkit-transform: scale(1, -1);
350 | -moz-transform: scale(1, -1);
351 | -ms-transform: scale(1, -1);
352 | -o-transform: scale(1, -1);
353 | transform: scale(1, -1);
354 | }
355 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
356 | readers do not read off random characters that represent icons */
357 | .icon-glass:before {
358 | content: "\f000";
359 | }
360 | .icon-music:before {
361 | content: "\f001";
362 | }
363 | .icon-search:before {
364 | content: "\f002";
365 | }
366 | .icon-envelope:before {
367 | content: "\f003";
368 | }
369 | .icon-heart:before {
370 | content: "\f004";
371 | }
372 | .icon-star:before {
373 | content: "\f005";
374 | }
375 | .icon-star-empty:before {
376 | content: "\f006";
377 | }
378 | .icon-user:before {
379 | content: "\f007";
380 | }
381 | .icon-film:before {
382 | content: "\f008";
383 | }
384 | .icon-th-large:before {
385 | content: "\f009";
386 | }
387 | .icon-th:before {
388 | content: "\f00a";
389 | }
390 | .icon-th-list:before {
391 | content: "\f00b";
392 | }
393 | .icon-ok:before {
394 | content: "\f00c";
395 | }
396 | .icon-remove:before {
397 | content: "\f00d";
398 | }
399 | .icon-zoom-in:before {
400 | content: "\f00e";
401 | }
402 | .icon-zoom-out:before {
403 | content: "\f010";
404 | }
405 | .icon-off:before {
406 | content: "\f011";
407 | }
408 | .icon-signal:before {
409 | content: "\f012";
410 | }
411 | .icon-cog:before {
412 | content: "\f013";
413 | }
414 | .icon-trash:before {
415 | content: "\f014";
416 | }
417 | .icon-home:before {
418 | content: "\f015";
419 | }
420 | .icon-file:before {
421 | content: "\f016";
422 | }
423 | .icon-time:before {
424 | content: "\f017";
425 | }
426 | .icon-road:before {
427 | content: "\f018";
428 | }
429 | .icon-download-alt:before {
430 | content: "\f019";
431 | }
432 | .icon-download:before {
433 | content: "\f01a";
434 | }
435 | .icon-upload:before {
436 | content: "\f01b";
437 | }
438 | .icon-inbox:before {
439 | content: "\f01c";
440 | }
441 | .icon-play-circle:before {
442 | content: "\f01d";
443 | }
444 | .icon-repeat:before,
445 | .icon-rotate-right:before {
446 | content: "\f01e";
447 | }
448 | /* F020 doesn't work in Safari. all shifted one down */
449 | .icon-refresh:before {
450 | content: "\f021";
451 | }
452 | .icon-list-alt:before {
453 | content: "\f022";
454 | }
455 | .icon-lock:before {
456 | content: "\f023";
457 | }
458 | .icon-flag:before {
459 | content: "\f024";
460 | }
461 | .icon-headphones:before {
462 | content: "\f025";
463 | }
464 | .icon-volume-off:before {
465 | content: "\f026";
466 | }
467 | .icon-volume-down:before {
468 | content: "\f027";
469 | }
470 | .icon-volume-up:before {
471 | content: "\f028";
472 | }
473 | .icon-qrcode:before {
474 | content: "\f029";
475 | }
476 | .icon-barcode:before {
477 | content: "\f02a";
478 | }
479 | .icon-tag:before {
480 | content: "\f02b";
481 | }
482 | .icon-tags:before {
483 | content: "\f02c";
484 | }
485 | .icon-book:before {
486 | content: "\f02d";
487 | }
488 | .icon-bookmark:before {
489 | content: "\f02e";
490 | }
491 | .icon-print:before {
492 | content: "\f02f";
493 | }
494 | .icon-camera:before {
495 | content: "\f030";
496 | }
497 | .icon-font:before {
498 | content: "\f031";
499 | }
500 | .icon-bold:before {
501 | content: "\f032";
502 | }
503 | .icon-italic:before {
504 | content: "\f033";
505 | }
506 | .icon-text-height:before {
507 | content: "\f034";
508 | }
509 | .icon-text-width:before {
510 | content: "\f035";
511 | }
512 | .icon-align-left:before {
513 | content: "\f036";
514 | }
515 | .icon-align-center:before {
516 | content: "\f037";
517 | }
518 | .icon-align-right:before {
519 | content: "\f038";
520 | }
521 | .icon-align-justify:before {
522 | content: "\f039";
523 | }
524 | .icon-list:before {
525 | content: "\f03a";
526 | }
527 | .icon-indent-left:before {
528 | content: "\f03b";
529 | }
530 | .icon-indent-right:before {
531 | content: "\f03c";
532 | }
533 | .icon-facetime-video:before {
534 | content: "\f03d";
535 | }
536 | .icon-picture:before {
537 | content: "\f03e";
538 | }
539 | .icon-pencil:before {
540 | content: "\f040";
541 | }
542 | .icon-map-marker:before {
543 | content: "\f041";
544 | }
545 | .icon-adjust:before {
546 | content: "\f042";
547 | }
548 | .icon-tint:before {
549 | content: "\f043";
550 | }
551 | .icon-edit:before {
552 | content: "\f044";
553 | }
554 | .icon-share:before {
555 | content: "\f045";
556 | }
557 | .icon-check:before {
558 | content: "\f046";
559 | }
560 | .icon-move:before {
561 | content: "\f047";
562 | }
563 | .icon-step-backward:before {
564 | content: "\f048";
565 | }
566 | .icon-fast-backward:before {
567 | content: "\f049";
568 | }
569 | .icon-backward:before {
570 | content: "\f04a";
571 | }
572 | .icon-play:before {
573 | content: "\f04b";
574 | }
575 | .icon-pause:before {
576 | content: "\f04c";
577 | }
578 | .icon-stop:before {
579 | content: "\f04d";
580 | }
581 | .icon-forward:before {
582 | content: "\f04e";
583 | }
584 | .icon-fast-forward:before {
585 | content: "\f050";
586 | }
587 | .icon-step-forward:before {
588 | content: "\f051";
589 | }
590 | .icon-eject:before {
591 | content: "\f052";
592 | }
593 | .icon-chevron-left:before {
594 | content: "\f053";
595 | }
596 | .icon-chevron-right:before {
597 | content: "\f054";
598 | }
599 | .icon-plus-sign:before {
600 | content: "\f055";
601 | }
602 | .icon-minus-sign:before {
603 | content: "\f056";
604 | }
605 | .icon-remove-sign:before {
606 | content: "\f057";
607 | }
608 | .icon-ok-sign:before {
609 | content: "\f058";
610 | }
611 | .icon-question-sign:before {
612 | content: "\f059";
613 | }
614 | .icon-info-sign:before {
615 | content: "\f05a";
616 | }
617 | .icon-screenshot:before {
618 | content: "\f05b";
619 | }
620 | .icon-remove-circle:before {
621 | content: "\f05c";
622 | }
623 | .icon-ok-circle:before {
624 | content: "\f05d";
625 | }
626 | .icon-ban-circle:before {
627 | content: "\f05e";
628 | }
629 | .icon-arrow-left:before {
630 | content: "\f060";
631 | }
632 | .icon-arrow-right:before {
633 | content: "\f061";
634 | }
635 | .icon-arrow-up:before {
636 | content: "\f062";
637 | }
638 | .icon-arrow-down:before {
639 | content: "\f063";
640 | }
641 | .icon-share-alt:before,
642 | .icon-mail-forward:before {
643 | content: "\f064";
644 | }
645 | .icon-resize-full:before {
646 | content: "\f065";
647 | }
648 | .icon-resize-small:before {
649 | content: "\f066";
650 | }
651 | .icon-plus:before {
652 | content: "\f067";
653 | }
654 | .icon-minus:before {
655 | content: "\f068";
656 | }
657 | .icon-asterisk:before {
658 | content: "\f069";
659 | }
660 | .icon-exclamation-sign:before {
661 | content: "\f06a";
662 | }
663 | .icon-gift:before {
664 | content: "\f06b";
665 | }
666 | .icon-leaf:before {
667 | content: "\f06c";
668 | }
669 | .icon-fire:before {
670 | content: "\f06d";
671 | }
672 | .icon-eye-open:before {
673 | content: "\f06e";
674 | }
675 | .icon-eye-close:before {
676 | content: "\f070";
677 | }
678 | .icon-warning-sign:before {
679 | content: "\f071";
680 | }
681 | .icon-plane:before {
682 | content: "\f072";
683 | }
684 | .icon-calendar:before {
685 | content: "\f073";
686 | }
687 | .icon-random:before {
688 | content: "\f074";
689 | }
690 | .icon-comment:before {
691 | content: "\f075";
692 | }
693 | .icon-magnet:before {
694 | content: "\f076";
695 | }
696 | .icon-chevron-up:before {
697 | content: "\f077";
698 | }
699 | .icon-chevron-down:before {
700 | content: "\f078";
701 | }
702 | .icon-retweet:before {
703 | content: "\f079";
704 | }
705 | .icon-shopping-cart:before {
706 | content: "\f07a";
707 | }
708 | .icon-folder-close:before {
709 | content: "\f07b";
710 | }
711 | .icon-folder-open:before {
712 | content: "\f07c";
713 | }
714 | .icon-resize-vertical:before {
715 | content: "\f07d";
716 | }
717 | .icon-resize-horizontal:before {
718 | content: "\f07e";
719 | }
720 | .icon-bar-chart:before {
721 | content: "\f080";
722 | }
723 | .icon-twitter-sign:before {
724 | content: "\f081";
725 | }
726 | .icon-facebook-sign:before {
727 | content: "\f082";
728 | }
729 | .icon-camera-retro:before {
730 | content: "\f083";
731 | }
732 | .icon-key:before {
733 | content: "\f084";
734 | }
735 | .icon-cogs:before {
736 | content: "\f085";
737 | }
738 | .icon-comments:before {
739 | content: "\f086";
740 | }
741 | .icon-thumbs-up:before {
742 | content: "\f087";
743 | }
744 | .icon-thumbs-down:before {
745 | content: "\f088";
746 | }
747 | .icon-star-half:before {
748 | content: "\f089";
749 | }
750 | .icon-heart-empty:before {
751 | content: "\f08a";
752 | }
753 | .icon-signout:before {
754 | content: "\f08b";
755 | }
756 | .icon-linkedin-sign:before {
757 | content: "\f08c";
758 | }
759 | .icon-pushpin:before {
760 | content: "\f08d";
761 | }
762 | .icon-external-link:before {
763 | content: "\f08e";
764 | }
765 | .icon-signin:before {
766 | content: "\f090";
767 | }
768 | .icon-trophy:before {
769 | content: "\f091";
770 | }
771 | .icon-github-sign:before {
772 | content: "\f092";
773 | }
774 | .icon-upload-alt:before {
775 | content: "\f093";
776 | }
777 | .icon-lemon:before {
778 | content: "\f094";
779 | }
780 | .icon-phone:before {
781 | content: "\f095";
782 | }
783 | .icon-check-empty:before {
784 | content: "\f096";
785 | }
786 | .icon-bookmark-empty:before {
787 | content: "\f097";
788 | }
789 | .icon-phone-sign:before {
790 | content: "\f098";
791 | }
792 | .icon-twitter:before {
793 | content: "\f099";
794 | }
795 | .icon-facebook:before {
796 | content: "\f09a";
797 | }
798 | .icon-github:before {
799 | content: "\f09b";
800 | }
801 | .icon-unlock:before {
802 | content: "\f09c";
803 | }
804 | .icon-credit-card:before {
805 | content: "\f09d";
806 | }
807 | .icon-rss:before {
808 | content: "\f09e";
809 | }
810 | .icon-hdd:before {
811 | content: "\f0a0";
812 | }
813 | .icon-bullhorn:before {
814 | content: "\f0a1";
815 | }
816 | .icon-bell:before {
817 | content: "\f0a2";
818 | }
819 | .icon-certificate:before {
820 | content: "\f0a3";
821 | }
822 | .icon-hand-right:before {
823 | content: "\f0a4";
824 | }
825 | .icon-hand-left:before {
826 | content: "\f0a5";
827 | }
828 | .icon-hand-up:before {
829 | content: "\f0a6";
830 | }
831 | .icon-hand-down:before {
832 | content: "\f0a7";
833 | }
834 | .icon-circle-arrow-left:before {
835 | content: "\f0a8";
836 | }
837 | .icon-circle-arrow-right:before {
838 | content: "\f0a9";
839 | }
840 | .icon-circle-arrow-up:before {
841 | content: "\f0aa";
842 | }
843 | .icon-circle-arrow-down:before {
844 | content: "\f0ab";
845 | }
846 | .icon-globe:before {
847 | content: "\f0ac";
848 | }
849 | .icon-wrench:before {
850 | content: "\f0ad";
851 | }
852 | .icon-tasks:before {
853 | content: "\f0ae";
854 | }
855 | .icon-filter:before {
856 | content: "\f0b0";
857 | }
858 | .icon-briefcase:before {
859 | content: "\f0b1";
860 | }
861 | .icon-fullscreen:before {
862 | content: "\f0b2";
863 | }
864 | .icon-group:before {
865 | content: "\f0c0";
866 | }
867 | .icon-link:before {
868 | content: "\f0c1";
869 | }
870 | .icon-cloud:before {
871 | content: "\f0c2";
872 | }
873 | .icon-beaker:before {
874 | content: "\f0c3";
875 | }
876 | .icon-cut:before {
877 | content: "\f0c4";
878 | }
879 | .icon-copy:before {
880 | content: "\f0c5";
881 | }
882 | .icon-paper-clip:before {
883 | content: "\f0c6";
884 | }
885 | .icon-save:before {
886 | content: "\f0c7";
887 | }
888 | .icon-sign-blank:before {
889 | content: "\f0c8";
890 | }
891 | .icon-reorder:before {
892 | content: "\f0c9";
893 | }
894 | .icon-list-ul:before {
895 | content: "\f0ca";
896 | }
897 | .icon-list-ol:before {
898 | content: "\f0cb";
899 | }
900 | .icon-strikethrough:before {
901 | content: "\f0cc";
902 | }
903 | .icon-underline:before {
904 | content: "\f0cd";
905 | }
906 | .icon-table:before {
907 | content: "\f0ce";
908 | }
909 | .icon-magic:before {
910 | content: "\f0d0";
911 | }
912 | .icon-truck:before {
913 | content: "\f0d1";
914 | }
915 | .icon-pinterest:before {
916 | content: "\f0d2";
917 | }
918 | .icon-pinterest-sign:before {
919 | content: "\f0d3";
920 | }
921 | .icon-google-plus-sign:before {
922 | content: "\f0d4";
923 | }
924 | .icon-google-plus:before {
925 | content: "\f0d5";
926 | }
927 | .icon-money:before {
928 | content: "\f0d6";
929 | }
930 | .icon-caret-down:before {
931 | content: "\f0d7";
932 | }
933 | .icon-caret-up:before {
934 | content: "\f0d8";
935 | }
936 | .icon-caret-left:before {
937 | content: "\f0d9";
938 | }
939 | .icon-caret-right:before {
940 | content: "\f0da";
941 | }
942 | .icon-columns:before {
943 | content: "\f0db";
944 | }
945 | .icon-sort:before {
946 | content: "\f0dc";
947 | }
948 | .icon-sort-down:before {
949 | content: "\f0dd";
950 | }
951 | .icon-sort-up:before {
952 | content: "\f0de";
953 | }
954 | .icon-envelope-alt:before {
955 | content: "\f0e0";
956 | }
957 | .icon-linkedin:before {
958 | content: "\f0e1";
959 | }
960 | .icon-undo:before,
961 | .icon-rotate-left:before {
962 | content: "\f0e2";
963 | }
964 | .icon-legal:before {
965 | content: "\f0e3";
966 | }
967 | .icon-dashboard:before {
968 | content: "\f0e4";
969 | }
970 | .icon-comment-alt:before {
971 | content: "\f0e5";
972 | }
973 | .icon-comments-alt:before {
974 | content: "\f0e6";
975 | }
976 | .icon-bolt:before {
977 | content: "\f0e7";
978 | }
979 | .icon-sitemap:before {
980 | content: "\f0e8";
981 | }
982 | .icon-umbrella:before {
983 | content: "\f0e9";
984 | }
985 | .icon-paste:before {
986 | content: "\f0ea";
987 | }
988 | .icon-lightbulb:before {
989 | content: "\f0eb";
990 | }
991 | .icon-exchange:before {
992 | content: "\f0ec";
993 | }
994 | .icon-cloud-download:before {
995 | content: "\f0ed";
996 | }
997 | .icon-cloud-upload:before {
998 | content: "\f0ee";
999 | }
1000 | .icon-user-md:before {
1001 | content: "\f0f0";
1002 | }
1003 | .icon-stethoscope:before {
1004 | content: "\f0f1";
1005 | }
1006 | .icon-suitcase:before {
1007 | content: "\f0f2";
1008 | }
1009 | .icon-bell-alt:before {
1010 | content: "\f0f3";
1011 | }
1012 | .icon-coffee:before {
1013 | content: "\f0f4";
1014 | }
1015 | .icon-food:before {
1016 | content: "\f0f5";
1017 | }
1018 | .icon-file-alt:before {
1019 | content: "\f0f6";
1020 | }
1021 | .icon-building:before {
1022 | content: "\f0f7";
1023 | }
1024 | .icon-hospital:before {
1025 | content: "\f0f8";
1026 | }
1027 | .icon-ambulance:before {
1028 | content: "\f0f9";
1029 | }
1030 | .icon-medkit:before {
1031 | content: "\f0fa";
1032 | }
1033 | .icon-fighter-jet:before {
1034 | content: "\f0fb";
1035 | }
1036 | .icon-beer:before {
1037 | content: "\f0fc";
1038 | }
1039 | .icon-h-sign:before {
1040 | content: "\f0fd";
1041 | }
1042 | .icon-plus-sign-alt:before {
1043 | content: "\f0fe";
1044 | }
1045 | .icon-double-angle-left:before {
1046 | content: "\f100";
1047 | }
1048 | .icon-double-angle-right:before {
1049 | content: "\f101";
1050 | }
1051 | .icon-double-angle-up:before {
1052 | content: "\f102";
1053 | }
1054 | .icon-double-angle-down:before {
1055 | content: "\f103";
1056 | }
1057 | .icon-angle-left:before {
1058 | content: "\f104";
1059 | }
1060 | .icon-angle-right:before {
1061 | content: "\f105";
1062 | }
1063 | .icon-angle-up:before {
1064 | content: "\f106";
1065 | }
1066 | .icon-angle-down:before {
1067 | content: "\f107";
1068 | }
1069 | .icon-desktop:before {
1070 | content: "\f108";
1071 | }
1072 | .icon-laptop:before {
1073 | content: "\f109";
1074 | }
1075 | .icon-tablet:before {
1076 | content: "\f10a";
1077 | }
1078 | .icon-mobile-phone:before {
1079 | content: "\f10b";
1080 | }
1081 | .icon-circle-blank:before {
1082 | content: "\f10c";
1083 | }
1084 | .icon-quote-left:before {
1085 | content: "\f10d";
1086 | }
1087 | .icon-quote-right:before {
1088 | content: "\f10e";
1089 | }
1090 | .icon-spinner:before {
1091 | content: "\f110";
1092 | }
1093 | .icon-circle:before {
1094 | content: "\f111";
1095 | }
1096 | .icon-reply:before,
1097 | .icon-mail-reply:before {
1098 | content: "\f112";
1099 | }
1100 | .icon-folder-close-alt:before {
1101 | content: "\f114";
1102 | }
1103 | .icon-folder-open-alt:before {
1104 | content: "\f115";
1105 | }
1106 | .icon-expand-alt:before {
1107 | content: "\f116";
1108 | }
1109 | .icon-collapse-alt:before {
1110 | content: "\f117";
1111 | }
1112 | .icon-smile:before {
1113 | content: "\f118";
1114 | }
1115 | .icon-frown:before {
1116 | content: "\f119";
1117 | }
1118 | .icon-meh:before {
1119 | content: "\f11a";
1120 | }
1121 | .icon-gamepad:before {
1122 | content: "\f11b";
1123 | }
1124 | .icon-keyboard:before {
1125 | content: "\f11c";
1126 | }
1127 | .icon-flag-alt:before {
1128 | content: "\f11d";
1129 | }
1130 | .icon-flag-checkered:before {
1131 | content: "\f11e";
1132 | }
1133 | .icon-terminal:before {
1134 | content: "\f120";
1135 | }
1136 | .icon-code:before {
1137 | content: "\f121";
1138 | }
1139 | .icon-reply-all:before {
1140 | content: "\f122";
1141 | }
1142 | .icon-mail-reply-all:before {
1143 | content: "\f122";
1144 | }
1145 | .icon-star-half-full:before,
1146 | .icon-star-half-empty:before {
1147 | content: "\f123";
1148 | }
1149 | .icon-location-arrow:before {
1150 | content: "\f124";
1151 | }
1152 | .icon-crop:before {
1153 | content: "\f125";
1154 | }
1155 | .icon-code-fork:before {
1156 | content: "\f126";
1157 | }
1158 | .icon-unlink:before {
1159 | content: "\f127";
1160 | }
1161 | .icon-question:before {
1162 | content: "\f128";
1163 | }
1164 | .icon-info:before {
1165 | content: "\f129";
1166 | }
1167 | .icon-exclamation:before {
1168 | content: "\f12a";
1169 | }
1170 | .icon-superscript:before {
1171 | content: "\f12b";
1172 | }
1173 | .icon-subscript:before {
1174 | content: "\f12c";
1175 | }
1176 | .icon-eraser:before {
1177 | content: "\f12d";
1178 | }
1179 | .icon-puzzle-piece:before {
1180 | content: "\f12e";
1181 | }
1182 | .icon-microphone:before {
1183 | content: "\f130";
1184 | }
1185 | .icon-microphone-off:before {
1186 | content: "\f131";
1187 | }
1188 | .icon-shield:before {
1189 | content: "\f132";
1190 | }
1191 | .icon-calendar-empty:before {
1192 | content: "\f133";
1193 | }
1194 | .icon-fire-extinguisher:before {
1195 | content: "\f134";
1196 | }
1197 | .icon-rocket:before {
1198 | content: "\f135";
1199 | }
1200 | .icon-maxcdn:before {
1201 | content: "\f136";
1202 | }
1203 | .icon-chevron-sign-left:before {
1204 | content: "\f137";
1205 | }
1206 | .icon-chevron-sign-right:before {
1207 | content: "\f138";
1208 | }
1209 | .icon-chevron-sign-up:before {
1210 | content: "\f139";
1211 | }
1212 | .icon-chevron-sign-down:before {
1213 | content: "\f13a";
1214 | }
1215 | .icon-html5:before {
1216 | content: "\f13b";
1217 | }
1218 | .icon-css3:before {
1219 | content: "\f13c";
1220 | }
1221 | .icon-anchor:before {
1222 | content: "\f13d";
1223 | }
1224 | .icon-unlock-alt:before {
1225 | content: "\f13e";
1226 | }
1227 | .icon-bullseye:before {
1228 | content: "\f140";
1229 | }
1230 | .icon-ellipsis-horizontal:before {
1231 | content: "\f141";
1232 | }
1233 | .icon-ellipsis-vertical:before {
1234 | content: "\f142";
1235 | }
1236 | .icon-rss-sign:before {
1237 | content: "\f143";
1238 | }
1239 | .icon-play-sign:before {
1240 | content: "\f144";
1241 | }
1242 | .icon-ticket:before {
1243 | content: "\f145";
1244 | }
1245 | .icon-minus-sign-alt:before {
1246 | content: "\f146";
1247 | }
1248 | .icon-check-minus:before {
1249 | content: "\f147";
1250 | }
1251 | .icon-level-up:before {
1252 | content: "\f148";
1253 | }
1254 | .icon-level-down:before {
1255 | content: "\f149";
1256 | }
1257 | .icon-check-sign:before {
1258 | content: "\f14a";
1259 | }
1260 | .icon-edit-sign:before {
1261 | content: "\f14b";
1262 | }
1263 | .icon-external-link-sign:before {
1264 | content: "\f14c";
1265 | }
1266 | .icon-share-sign:before {
1267 | content: "\f14d";
1268 | }
1269 |
--------------------------------------------------------------------------------
/lib/font-awesome/css/font-awesome.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 3.1.0
3 | * the iconic font designed for Bootstrap
4 | * -------------------------------------------------------
5 | * The full suite of pictographic icons, examples, and documentation
6 | * can be found at: http://fontawesome.io
7 | *
8 | * License
9 | * -------------------------------------------------------
10 | * - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
11 | * http://scripts.sil.org/OFL
12 | * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
13 | * http://opensource.org/licenses/mit-license.html
14 | * - Font Awesome documentation licensed under CC BY 3.0 License -
15 | * http://creativecommons.org/licenses/by/3.0/
16 | * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
17 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
18 |
19 | * Contact
20 | * -------------------------------------------------------
21 | * Email: dave@fontawesome.io
22 | * Twitter: http://twitter.com/fortaweso_me
23 | * Work: Lead Product Designer @ http://kyruus.com
24 | */@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.1.0');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.1.0') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.1.0') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}a [class^="icon-"],a [class*=" icon-"],a [class^="icon-"]:before,a [class*=" icon-"]:before{display:inline}[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.2857142857142858em;text-align:center}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.5714285714285714em}ul.icons-ul{list-style-type:none;text-indent:-0.7142857142857143em;margin-left:2.142857142857143em}ul.icons-ul>li .icon-li{width:.7142857142857143em;display:inline-block;text-align:center}[class^="icon-"].hide,[class*=" icon-"].hide{display:none}.icon-muted{color:#eee}.icon-light{color:#fff}.icon-dark{color:#333}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.icon-5x{font-size:5em}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em}.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em}.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em}.icon-stack .icon-stack-base{font-size:2em;*line-height:1em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2)}.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.icon-flip-horizontal:before{-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.icon-flip-vertical:before{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-repeat:before,.icon-rotate-right:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-share-alt:before,.icon-mail-forward:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up:before{content:"\f087"}.icon-thumbs-down:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope-alt:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-undo:before,.icon-rotate-left:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-reply:before,.icon-mail-reply:before{content:"\f112"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"}.icon-expand-alt:before{content:"\f116"}.icon-collapse-alt:before{content:"\f117"}.icon-smile:before{content:"\f118"}.icon-frown:before{content:"\f119"}.icon-meh:before{content:"\f11a"}.icon-gamepad:before{content:"\f11b"}.icon-keyboard:before{content:"\f11c"}.icon-flag-alt:before{content:"\f11d"}.icon-flag-checkered:before{content:"\f11e"}.icon-terminal:before{content:"\f120"}.icon-code:before{content:"\f121"}.icon-reply-all:before{content:"\f122"}.icon-mail-reply-all:before{content:"\f122"}.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123"}.icon-location-arrow:before{content:"\f124"}.icon-crop:before{content:"\f125"}.icon-code-fork:before{content:"\f126"}.icon-unlink:before{content:"\f127"}.icon-question:before{content:"\f128"}.icon-info:before{content:"\f129"}.icon-exclamation:before{content:"\f12a"}.icon-superscript:before{content:"\f12b"}.icon-subscript:before{content:"\f12c"}.icon-eraser:before{content:"\f12d"}.icon-puzzle-piece:before{content:"\f12e"}.icon-microphone:before{content:"\f130"}.icon-microphone-off:before{content:"\f131"}.icon-shield:before{content:"\f132"}.icon-calendar-empty:before{content:"\f133"}.icon-fire-extinguisher:before{content:"\f134"}.icon-rocket:before{content:"\f135"}.icon-maxcdn:before{content:"\f136"}.icon-chevron-sign-left:before{content:"\f137"}.icon-chevron-sign-right:before{content:"\f138"}.icon-chevron-sign-up:before{content:"\f139"}.icon-chevron-sign-down:before{content:"\f13a"}.icon-html5:before{content:"\f13b"}.icon-css3:before{content:"\f13c"}.icon-anchor:before{content:"\f13d"}.icon-unlock-alt:before{content:"\f13e"}.icon-bullseye:before{content:"\f140"}.icon-ellipsis-horizontal:before{content:"\f141"}.icon-ellipsis-vertical:before{content:"\f142"}.icon-rss-sign:before{content:"\f143"}.icon-play-sign:before{content:"\f144"}.icon-ticket:before{content:"\f145"}.icon-minus-sign-alt:before{content:"\f146"}.icon-check-minus:before{content:"\f147"}.icon-level-up:before{content:"\f148"}.icon-level-down:before{content:"\f149"}.icon-check-sign:before{content:"\f14a"}.icon-edit-sign:before{content:"\f14b"}.icon-external-link-sign:before{content:"\f14c"}.icon-share-sign:before{content:"\f14d"}
--------------------------------------------------------------------------------
/lib/font-awesome/font/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/justindarc/bootstrap-pdf-viewer/cc48f0bda954cb1dd57bc1a8033360e83187da72/lib/font-awesome/font/FontAwesome.otf
--------------------------------------------------------------------------------
/lib/font-awesome/font/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/justindarc/bootstrap-pdf-viewer/cc48f0bda954cb1dd57bc1a8033360e83187da72/lib/font-awesome/font/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/lib/font-awesome/font/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/justindarc/bootstrap-pdf-viewer/cc48f0bda954cb1dd57bc1a8033360e83187da72/lib/font-awesome/font/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/lib/font-awesome/font/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/justindarc/bootstrap-pdf-viewer/cc48f0bda954cb1dd57bc1a8033360e83187da72/lib/font-awesome/font/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/lib/font-awesome/less/bootstrap.less:
--------------------------------------------------------------------------------
1 | /* BOOTSTRAP SPECIFIC CLASSES
2 | * -------------------------- */
3 |
4 | /* Bootstrap 2.0 sprites.less reset */
5 | [class^="icon-"],
6 | [class*=" icon-"] {
7 | display: inline;
8 | width: auto;
9 | height: auto;
10 | line-height: normal;
11 | vertical-align: baseline;
12 | background-image: none;
13 | background-position: 0% 0%;
14 | background-repeat: repeat;
15 | margin-top: 0;
16 | }
17 |
18 | /* more sprites.less reset */
19 | .icon-white,
20 | .nav-pills > .active > a > [class^="icon-"],
21 | .nav-pills > .active > a > [class*=" icon-"],
22 | .nav-list > .active > a > [class^="icon-"],
23 | .nav-list > .active > a > [class*=" icon-"],
24 | .navbar-inverse .nav > .active > a > [class^="icon-"],
25 | .navbar-inverse .nav > .active > a > [class*=" icon-"],
26 | .dropdown-menu > li > a:hover > [class^="icon-"],
27 | .dropdown-menu > li > a:hover > [class*=" icon-"],
28 | .dropdown-menu > .active > a > [class^="icon-"],
29 | .dropdown-menu > .active > a > [class*=" icon-"],
30 | .dropdown-submenu:hover > a > [class^="icon-"],
31 | .dropdown-submenu:hover > a > [class*=" icon-"] {
32 | background-image: none;
33 | }
34 |
35 |
36 | /* keeps Bootstrap styles with and without icons the same */
37 | .btn, .nav {
38 | [class^="icon-"],
39 | [class*=" icon-"] {
40 | // display: inline;
41 | &.icon-large { line-height: .9em; }
42 | &.icon-spin { display: inline-block; }
43 | }
44 | }
45 | .nav-tabs, .nav-pills {
46 | [class^="icon-"],
47 | [class*=" icon-"] {
48 | &, &.icon-large { line-height: .9em; }
49 | }
50 | }
51 | .btn {
52 | [class^="icon-"],
53 | [class*=" icon-"] {
54 | &.pull-left, &.pull-right {
55 | &.icon-2x { margin-top: .18em; }
56 | }
57 | &.icon-spin.icon-large { line-height: .8em; }
58 | }
59 | }
60 | .btn.btn-small {
61 | [class^="icon-"],
62 | [class*=" icon-"] {
63 | &.pull-left, &.pull-right {
64 | &.icon-2x { margin-top: .25em; }
65 | }
66 | }
67 | }
68 | .btn.btn-large {
69 | [class^="icon-"],
70 | [class*=" icon-"] {
71 | margin-top: 0; // overrides bootstrap default
72 | &.pull-left, &.pull-right {
73 | &.icon-2x { margin-top: .05em; }
74 | }
75 | &.pull-left.icon-2x { margin-right: .2em; }
76 | &.pull-right.icon-2x { margin-left: .2em; }
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/lib/font-awesome/less/core.less:
--------------------------------------------------------------------------------
1 | /* FONT AWESOME CORE
2 | * -------------------------- */
3 |
4 | [class^="icon-"],
5 | [class*=" icon-"] {
6 | font-family: FontAwesome;
7 | font-weight: normal;
8 | font-style: normal;
9 | text-decoration: inherit;
10 | -webkit-font-smoothing: antialiased;
11 | *margin-right: .3em; // fixes ie7 issues
12 | }
13 |
14 | [class^="icon-"]:before,
15 | [class*=" icon-"]:before {
16 | text-decoration: inherit;
17 | display: inline-block;
18 | speak: none;
19 | }
20 |
21 | /* makes the font 33% larger relative to the icon container */
22 | .icon-large:before {
23 | vertical-align: -10%;
24 | font-size: 4/3em;
25 | }
26 |
27 | /* makes sure icons active on rollover in links */
28 | a {
29 | [class^="icon-"],
30 | [class*=" icon-"] {
31 | &, &:before { display: inline; }
32 | }
33 | }
34 |
35 | /* increased font size for icon-large */
36 | [class^="icon-"],
37 | [class*=" icon-"] {
38 | &.icon-fixed-width {
39 | display: inline-block;
40 | width: 18/14em;
41 | text-align: center;
42 | &.icon-large {
43 | width: 22/14em;
44 | }
45 | }
46 | }
47 |
48 | ul.icons-ul {
49 | list-style-type: none;
50 | text-indent: -10/14em;
51 | margin-left: 30/14em;
52 |
53 | > li {
54 | .icon-li {
55 | width: 10/14em;
56 | display: inline-block;
57 | text-align: center;
58 | }
59 | }
60 | }
61 |
62 | // allows usage of the hide class directly on font awesome icons
63 | [class^="icon-"],
64 | [class*=" icon-"] {
65 | &.hide {
66 | display: none;
67 | }
68 | }
69 |
70 | .icon-muted { color: @iconMuted; }
71 | .icon-light { color: @iconLight; }
72 | .icon-dark { color: @iconDark; }
73 |
74 | // Icon Borders
75 | // -------------------------
76 |
77 | .icon-border {
78 | border: solid 1px @borderColor;
79 | padding: .2em .25em .15em;
80 | .border-radius(3px);
81 | }
82 |
83 | // Icon Sizes
84 | // -------------------------
85 |
86 | .icon-2x {
87 | font-size: 2em;
88 | &.icon-border {
89 | border-width: 2px;
90 | .border-radius(4px);
91 | }
92 | }
93 | .icon-3x {
94 | font-size: 3em;
95 | &.icon-border {
96 | border-width: 3px;
97 | .border-radius(5px);
98 | }
99 | }
100 | .icon-4x {
101 | font-size: 4em;
102 | &.icon-border {
103 | border-width: 4px;
104 | .border-radius(6px);
105 | }
106 | }
107 |
108 | .icon-5x {
109 | font-size: 5em;
110 | &.icon-border {
111 | border-width: 5px;
112 | .border-radius(7px);
113 | }
114 | }
115 |
116 |
117 | // Floats & Margins
118 | // -------------------------
119 |
120 | // Quick floats
121 | .pull-right { float: right; }
122 | .pull-left { float: left; }
123 |
124 | [class^="icon-"],
125 | [class*=" icon-"] {
126 | &.pull-left {
127 | margin-right: .3em;
128 | }
129 | &.pull-right {
130 | margin-left: .3em;
131 | }
132 | }
133 |
--------------------------------------------------------------------------------
/lib/font-awesome/less/extras.less:
--------------------------------------------------------------------------------
1 | /* EXTRAS
2 | * -------------------------- */
3 |
4 | /* Stacked and layered icon */
5 | .icon-stack();
6 |
7 | /* Animated rotating icon */
8 | .icon-spin {
9 | display: inline-block;
10 | -moz-animation: spin 2s infinite linear;
11 | -o-animation: spin 2s infinite linear;
12 | -webkit-animation: spin 2s infinite linear;
13 | animation: spin 2s infinite linear;
14 | }
15 |
16 | @-moz-keyframes spin {
17 | 0% { -moz-transform: rotate(0deg); }
18 | 100% { -moz-transform: rotate(359deg); }
19 | }
20 | @-webkit-keyframes spin {
21 | 0% { -webkit-transform: rotate(0deg); }
22 | 100% { -webkit-transform: rotate(359deg); }
23 | }
24 | @-o-keyframes spin {
25 | 0% { -o-transform: rotate(0deg); }
26 | 100% { -o-transform: rotate(359deg); }
27 | }
28 | @-ms-keyframes spin {
29 | 0% { -ms-transform: rotate(0deg); }
30 | 100% { -ms-transform: rotate(359deg); }
31 | }
32 | @keyframes spin {
33 | 0% { transform: rotate(0deg); }
34 | 100% { transform: rotate(359deg); }
35 | }
36 |
37 | /* Icon rotations and mirroring */
38 | .icon-rotate-90:before{
39 | -webkit-transform: rotate(90deg);
40 | -moz-transform: rotate(90deg);
41 | -ms-transform: rotate(90deg);
42 | -o-transform: rotate(90deg);
43 | transform: rotate(90deg);
44 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
45 | }
46 |
47 | .icon-rotate-180:before{
48 | -webkit-transform: rotate(180deg);
49 | -moz-transform: rotate(180deg);
50 | -ms-transform: rotate(180deg);
51 | -o-transform: rotate(180deg);
52 | transform: rotate(180deg);
53 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
54 | }
55 |
56 | .icon-rotate-270:before{
57 | -webkit-transform: rotate(270deg);
58 | -moz-transform: rotate(270deg);
59 | -ms-transform: rotate(270deg);
60 | -o-transform: rotate(270deg);
61 | transform: rotate(270deg);
62 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
63 | }
64 |
65 | .icon-flip-horizontal:before {
66 | -webkit-transform: scale(-1, 1);
67 | -moz-transform: scale(-1, 1);
68 | -ms-transform: scale(-1, 1);
69 | -o-transform: scale(-1, 1);
70 | transform: scale(-1, 1);
71 | }
72 |
73 | .icon-flip-vertical:before {
74 | -webkit-transform: scale(1, -1);
75 | -moz-transform: scale(1, -1);
76 | -ms-transform: scale(1, -1);
77 | -o-transform: scale(1, -1);
78 | transform: scale(1, -1);
79 | }
--------------------------------------------------------------------------------
/lib/font-awesome/less/font-awesome-ie7.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 3.1.0
3 | * the iconic font designed for Bootstrap
4 | * -------------------------------------------------------
5 | * The full suite of pictographic icons, examples, and documentation
6 | * can be found at: http://fontawesome.io
7 | *
8 | * License
9 | * -------------------------------------------------------
10 | * - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
11 | * http://scripts.sil.org/OFL
12 | * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
13 | * http://opensource.org/licenses/mit-license.html
14 | * - Font Awesome documentation licensed under CC BY 3.0 License -
15 | * http://creativecommons.org/licenses/by/3.0/
16 | * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
17 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
18 |
19 | * Contact
20 | * -------------------------------------------------------
21 | * Email: dave@fontawesome.io
22 | * Twitter: http://twitter.com/fortaweso_me
23 | * Work: Lead Product Designer @ http://kyruus.com
24 | */
25 |
26 | .icon-large {
27 | font-size: 4/3em;
28 | margin-top: -4px;
29 | padding-top: 3px;
30 | margin-bottom: -4px;
31 | padding-bottom: 3px;
32 | vertical-align: middle;
33 | }
34 |
35 | .nav {
36 | [class^="icon-"],
37 | [class*=" icon-"] {
38 | vertical-align: inherit;
39 | margin-top: -4px;
40 | padding-top: 3px;
41 | margin-bottom: -4px;
42 | padding-bottom: 3px;
43 | &.icon-large {
44 | vertical-align: -25%;
45 | }
46 | }
47 | }
48 |
49 | .nav-pills, .nav-tabs {
50 | [class^="icon-"],
51 | [class*=" icon-"] {
52 | &.icon-large {
53 | line-height: .75em;
54 | margin-top: -7px;
55 | padding-top: 5px;
56 | margin-bottom: -5px;
57 | padding-bottom: 4px;
58 | }
59 | }
60 | }
61 |
62 | ul.icons-ul {
63 | text-indent: -1em;
64 | margin-left: 30/14em;
65 |
66 | > li {
67 | .icon-li {
68 | width: 1em;
69 | margin-right: 0;
70 | }
71 | }
72 | }
73 |
74 | .btn {
75 | [class^="icon-"],
76 | [class*=" icon-"] {
77 | &.pull-left, &.pull-right { vertical-align: inherit; }
78 | &.icon-large {
79 | margin-top: -.5em;
80 | }
81 | }
82 | }
83 |
84 | a [class^="icon-"],
85 | a [class*=" icon-"] {
86 | cursor: pointer;
87 | }
88 |
89 | .ie7icon(@inner) { *zoom: ~"expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '@{inner}')"; }
90 |
91 | .icon-glass { .ie7icon(''); }
92 | .icon-music { .ie7icon(''); }
93 | .icon-search { .ie7icon(''); }
94 | .icon-envelope { .ie7icon(''); }
95 | .icon-heart { .ie7icon(''); }
96 | .icon-star { .ie7icon(''); }
97 | .icon-star-empty { .ie7icon(''); }
98 | .icon-user { .ie7icon(''); }
99 | .icon-film { .ie7icon(''); }
100 | .icon-th-large { .ie7icon(''); }
101 | .icon-th { .ie7icon(''); }
102 | .icon-th-list { .ie7icon(''); }
103 | .icon-ok { .ie7icon(''); }
104 | .icon-remove { .ie7icon(''); }
105 | .icon-zoom-in { .ie7icon(''); }
106 |
107 | .icon-zoom-out { .ie7icon(''); }
108 | .icon-off { .ie7icon(''); }
109 | .icon-signal { .ie7icon(''); }
110 | .icon-cog { .ie7icon(''); }
111 | .icon-trash { .ie7icon(''); }
112 | .icon-home { .ie7icon(''); }
113 | .icon-file { .ie7icon(''); }
114 | .icon-time { .ie7icon(''); }
115 | .icon-road { .ie7icon(''); }
116 | .icon-download-alt { .ie7icon(''); }
117 | .icon-download { .ie7icon(''); }
118 | .icon-upload { .ie7icon(''); }
119 | .icon-inbox { .ie7icon(''); }
120 | .icon-play-circle { .ie7icon(''); }
121 | .icon-repeat { .ie7icon(''); }
122 |
123 | .icon-refresh { .ie7icon(''); }
124 | .icon-list-alt { .ie7icon(''); }
125 | .icon-lock { .ie7icon(''); }
126 | .icon-flag { .ie7icon(''); }
127 | .icon-headphones { .ie7icon(''); }
128 | .icon-volume-off { .ie7icon(''); }
129 | .icon-volume-down { .ie7icon(''); }
130 | .icon-volume-up { .ie7icon(''); }
131 | .icon-qrcode { .ie7icon(''); }
132 | .icon-barcode { .ie7icon(''); }
133 | .icon-tag { .ie7icon(''); }
134 | .icon-tags { .ie7icon(''); }
135 | .icon-book { .ie7icon(''); }
136 | .icon-bookmark { .ie7icon(''); }
137 | .icon-print { .ie7icon(''); }
138 |
139 | .icon-camera { .ie7icon(''); }
140 | .icon-font { .ie7icon(''); }
141 | .icon-bold { .ie7icon(''); }
142 | .icon-italic { .ie7icon(''); }
143 | .icon-text-height { .ie7icon(''); }
144 | .icon-text-width { .ie7icon(''); }
145 | .icon-align-left { .ie7icon(''); }
146 | .icon-align-center { .ie7icon(''); }
147 | .icon-align-right { .ie7icon(''); }
148 | .icon-align-justify { .ie7icon(''); }
149 | .icon-list { .ie7icon(''); }
150 | .icon-indent-left { .ie7icon(''); }
151 | .icon-indent-right { .ie7icon(''); }
152 | .icon-facetime-video { .ie7icon(''); }
153 | .icon-picture { .ie7icon(''); }
154 |
155 | .icon-pencil { .ie7icon(''); }
156 | .icon-map-marker { .ie7icon(''); }
157 | .icon-adjust { .ie7icon(''); }
158 | .icon-tint { .ie7icon(''); }
159 | .icon-edit { .ie7icon(''); }
160 | .icon-share { .ie7icon(''); }
161 | .icon-check { .ie7icon(''); }
162 | .icon-move { .ie7icon(''); }
163 | .icon-step-backward { .ie7icon(''); }
164 | .icon-fast-backward { .ie7icon(''); }
165 | .icon-backward { .ie7icon(''); }
166 | .icon-play { .ie7icon(''); }
167 | .icon-pause { .ie7icon(''); }
168 | .icon-stop { .ie7icon(''); }
169 | .icon-forward { .ie7icon(''); }
170 |
171 | .icon-fast-forward { .ie7icon(''); }
172 | .icon-step-forward { .ie7icon(''); }
173 | .icon-eject { .ie7icon(''); }
174 | .icon-chevron-left { .ie7icon(''); }
175 | .icon-chevron-right { .ie7icon(''); }
176 | .icon-plus-sign { .ie7icon(''); }
177 | .icon-minus-sign { .ie7icon(''); }
178 | .icon-remove-sign { .ie7icon(''); }
179 | .icon-ok-sign { .ie7icon(''); }
180 | .icon-question-sign { .ie7icon(''); }
181 | .icon-info-sign { .ie7icon(''); }
182 | .icon-screenshot { .ie7icon(''); }
183 | .icon-remove-circle { .ie7icon(''); }
184 | .icon-ok-circle { .ie7icon(''); }
185 | .icon-ban-circle { .ie7icon(''); }
186 |
187 | .icon-arrow-left { .ie7icon(''); }
188 | .icon-arrow-right { .ie7icon(''); }
189 | .icon-arrow-up { .ie7icon(''); }
190 | .icon-arrow-down { .ie7icon(''); }
191 | .icon-share-alt { .ie7icon(''); }
192 | .icon-resize-full { .ie7icon(''); }
193 | .icon-resize-small { .ie7icon(''); }
194 | .icon-plus { .ie7icon(''); }
195 | .icon-minus { .ie7icon(''); }
196 | .icon-asterisk { .ie7icon(''); }
197 | .icon-exclamation-sign { .ie7icon(''); }
198 | .icon-gift { .ie7icon(''); }
199 | .icon-leaf { .ie7icon(''); }
200 | .icon-fire { .ie7icon(''); }
201 | .icon-eye-open { .ie7icon(''); }
202 |
203 | .icon-eye-close { .ie7icon(''); }
204 | .icon-warning-sign { .ie7icon(''); }
205 | .icon-plane { .ie7icon(''); }
206 | .icon-calendar { .ie7icon(''); }
207 | .icon-random { .ie7icon(''); }
208 | .icon-comment { .ie7icon(''); }
209 | .icon-magnet { .ie7icon(''); }
210 | .icon-chevron-up { .ie7icon(''); }
211 | .icon-chevron-down { .ie7icon(''); }
212 | .icon-retweet { .ie7icon(''); }
213 | .icon-shopping-cart { .ie7icon(''); }
214 | .icon-folder-close { .ie7icon(''); }
215 | .icon-folder-open { .ie7icon(''); }
216 | .icon-resize-vertical { .ie7icon(''); }
217 | .icon-resize-horizontal { .ie7icon(''); }
218 |
219 | .icon-bar-chart { .ie7icon(''); }
220 | .icon-twitter-sign { .ie7icon(''); }
221 | .icon-facebook-sign { .ie7icon(''); }
222 | .icon-camera-retro { .ie7icon(''); }
223 | .icon-key { .ie7icon(''); }
224 | .icon-cogs { .ie7icon(''); }
225 | .icon-comments { .ie7icon(''); }
226 | .icon-thumbs-up { .ie7icon(''); }
227 | .icon-thumbs-down { .ie7icon(''); }
228 | .icon-star-half { .ie7icon(''); }
229 | .icon-heart-empty { .ie7icon(''); }
230 | .icon-signout { .ie7icon(''); }
231 | .icon-linkedin-sign { .ie7icon(''); }
232 | .icon-pushpin { .ie7icon(''); }
233 | .icon-external-link { .ie7icon(''); }
234 |
235 | .icon-signin { .ie7icon(''); }
236 | .icon-trophy { .ie7icon(''); }
237 | .icon-github-sign { .ie7icon(''); }
238 | .icon-upload-alt { .ie7icon(''); }
239 | .icon-lemon { .ie7icon(''); }
240 | .icon-phone { .ie7icon(''); }
241 | .icon-check-empty { .ie7icon(''); }
242 | .icon-bookmark-empty { .ie7icon(''); }
243 | .icon-phone-sign { .ie7icon(''); }
244 | .icon-twitter { .ie7icon(''); }
245 | .icon-facebook { .ie7icon(''); }
246 | .icon-github { .ie7icon(''); }
247 | .icon-unlock { .ie7icon(''); }
248 | .icon-credit-card { .ie7icon(''); }
249 | .icon-rss { .ie7icon(''); }
250 |
251 | .icon-hdd { .ie7icon(''); }
252 | .icon-bullhorn { .ie7icon(''); }
253 | .icon-bell { .ie7icon(''); }
254 | .icon-certificate { .ie7icon(''); }
255 | .icon-hand-right { .ie7icon(''); }
256 | .icon-hand-left { .ie7icon(''); }
257 | .icon-hand-up { .ie7icon(''); }
258 | .icon-hand-down { .ie7icon(''); }
259 | .icon-circle-arrow-left { .ie7icon(''); }
260 | .icon-circle-arrow-right { .ie7icon(''); }
261 | .icon-circle-arrow-up { .ie7icon(''); }
262 | .icon-circle-arrow-down { .ie7icon(''); }
263 | .icon-globe { .ie7icon(''); }
264 | .icon-wrench { .ie7icon(''); }
265 | .icon-tasks { .ie7icon(''); }
266 |
267 | .icon-filter { .ie7icon(''); }
268 | .icon-briefcase { .ie7icon(''); }
269 | .icon-fullscreen { .ie7icon(''); }
270 |
271 | .icon-group { .ie7icon(''); }
272 | .icon-link { .ie7icon(''); }
273 | .icon-cloud { .ie7icon(''); }
274 | .icon-beaker { .ie7icon(''); }
275 | .icon-cut { .ie7icon(''); }
276 | .icon-copy { .ie7icon(''); }
277 | .icon-paper-clip { .ie7icon(''); }
278 | .icon-save { .ie7icon(''); }
279 | .icon-sign-blank { .ie7icon(''); }
280 | .icon-reorder { .ie7icon(''); }
281 | .icon-list-ul { .ie7icon(''); }
282 | .icon-list-ol { .ie7icon(''); }
283 | .icon-strikethrough { .ie7icon(''); }
284 | .icon-underline { .ie7icon(''); }
285 | .icon-table { .ie7icon(''); }
286 |
287 | .icon-magic { .ie7icon(''); }
288 | .icon-truck { .ie7icon(''); }
289 | .icon-pinterest { .ie7icon(''); }
290 | .icon-pinterest-sign { .ie7icon(''); }
291 | .icon-google-plus-sign { .ie7icon(''); }
292 | .icon-google-plus { .ie7icon(''); }
293 | .icon-money { .ie7icon(''); }
294 | .icon-caret-down { .ie7icon(''); }
295 | .icon-caret-up { .ie7icon(''); }
296 | .icon-caret-left { .ie7icon(''); }
297 | .icon-caret-right { .ie7icon(''); }
298 | .icon-columns { .ie7icon(''); }
299 | .icon-sort { .ie7icon(''); }
300 | .icon-sort-down { .ie7icon(''); }
301 | .icon-sort-up { .ie7icon(''); }
302 |
303 | .icon-envelope-alt { .ie7icon(''); }
304 | .icon-linkedin { .ie7icon(''); }
305 | .icon-undo { .ie7icon(''); }
306 | .icon-legal { .ie7icon(''); }
307 | .icon-dashboard { .ie7icon(''); }
308 | .icon-comment-alt { .ie7icon(''); }
309 | .icon-comments-alt { .ie7icon(''); }
310 | .icon-bolt { .ie7icon(''); }
311 | .icon-sitemap { .ie7icon(''); }
312 | .icon-umbrella { .ie7icon(''); }
313 | .icon-paste { .ie7icon(''); }
314 | .icon-lightbulb { .ie7icon(''); }
315 | .icon-exchange { .ie7icon(''); }
316 | .icon-cloud-download { .ie7icon(''); }
317 | .icon-cloud-upload { .ie7icon(''); }
318 |
319 | .icon-user-md { .ie7icon(''); }
320 | .icon-stethoscope { .ie7icon(''); }
321 | .icon-suitcase { .ie7icon(''); }
322 | .icon-bell-alt { .ie7icon(''); }
323 | .icon-coffee { .ie7icon(''); }
324 | .icon-food { .ie7icon(''); }
325 | .icon-file-alt { .ie7icon(''); }
326 | .icon-building { .ie7icon(''); }
327 | .icon-hospital { .ie7icon(''); }
328 | .icon-ambulance { .ie7icon(''); }
329 | .icon-medkit { .ie7icon(''); }
330 | .icon-fighter-jet { .ie7icon(''); }
331 | .icon-beer { .ie7icon(''); }
332 | .icon-h-sign { .ie7icon(''); }
333 | .icon-plus-sign-alt { .ie7icon(''); }
334 |
335 | .icon-double-angle-left { .ie7icon(''); }
336 | .icon-double-angle-right { .ie7icon(''); }
337 | .icon-double-angle-up { .ie7icon(''); }
338 | .icon-double-angle-down { .ie7icon(''); }
339 | .icon-angle-left { .ie7icon(''); }
340 | .icon-angle-right { .ie7icon(''); }
341 | .icon-angle-up { .ie7icon(''); }
342 | .icon-angle-down { .ie7icon(''); }
343 | .icon-desktop { .ie7icon(''); }
344 | .icon-laptop { .ie7icon(''); }
345 | .icon-tablet { .ie7icon(''); }
346 | .icon-mobile-phone { .ie7icon(''); }
347 | .icon-circle-blank { .ie7icon(''); }
348 | .icon-quote-left { .ie7icon(''); }
349 | .icon-quote-right { .ie7icon(''); }
350 |
351 | .icon-spinner { .ie7icon(''); }
352 | .icon-circle { .ie7icon(''); }
353 | .icon-reply { .ie7icon(''); }
354 | .icon-folder-close-alt { .ie7icon(''); }
355 | .icon-folder-open-alt { .ie7icon(''); }
356 | .icon-expand-alt { .ie7icon(''); }
357 | .icon-collapse-alt { .ie7icon(''); }
358 | .icon-smile { .ie7icon(''); }
359 | .icon-frown { .ie7icon(''); }
360 | .icon-meh { .ie7icon(''); }
361 | .icon-gamepad { .ie7icon(''); }
362 | .icon-keyboard { .ie7icon(''); }
363 | .icon-flag-alt { .ie7icon(''); }
364 | .icon-flag-checkered { .ie7icon(''); }
365 |
366 | .icon-terminal { .ie7icon(''); }
367 | .icon-code { .ie7icon(''); }
368 | .icon-reply-all { .ie7icon(''); }
369 | .icon-mail-reply-all { .ie7icon(''); }
370 | .icon-star-half-full,
371 | .icon-star-half-empty { .ie7icon(''); }
372 | .icon-location-arrow { .ie7icon(''); }
373 | .icon-crop { .ie7icon(''); }
374 | .icon-code-fork { .ie7icon(''); }
375 | .icon-unlink { .ie7icon(''); }
376 | .icon-question { .ie7icon(''); }
377 | .icon-info { .ie7icon(''); }
378 | .icon-exclamation { .ie7icon(''); }
379 | .icon-superscript { .ie7icon(''); }
380 | .icon-subscript { .ie7icon(''); }
381 | .icon-eraser { .ie7icon(''); }
382 | .icon-puzzle-piece { .ie7icon(''); }
383 |
384 | .icon-microphone { .ie7icon(''); }
385 | .icon-microphone-off { .ie7icon(''); }
386 | .icon-shield { .ie7icon(''); }
387 | .icon-calendar-empty { .ie7icon(''); }
388 | .icon-fire-extinguisher { .ie7icon(''); }
389 | .icon-rocket { .ie7icon(''); }
390 | .icon-maxcdn { .ie7icon(''); }
391 | .icon-chevron-sign-left { .ie7icon(''); }
392 | .icon-chevron-sign-right { .ie7icon(''); }
393 | .icon-chevron-sign-up { .ie7icon(''); }
394 | .icon-chevron-sign-down { .ie7icon(''); }
395 | .icon-html5 { .ie7icon(''); }
396 | .icon-css3 { .ie7icon(''); }
397 | .icon-anchor { .ie7icon(''); }
398 | .icon-unlock-alt { .ie7icon(''); }
399 |
400 | .icon-bullseye { .ie7icon(''); }
401 | .icon-ellipsis-horizontal { .ie7icon(''); }
402 | .icon-ellipsis-vertical { .ie7icon(''); }
403 | .icon-rss-sign { .ie7icon(''); }
404 | .icon-play-sign { .ie7icon(''); }
405 | .icon-ticket { .ie7icon(''); }
406 | .icon-minus-sign-alt { .ie7icon(''); }
407 | .icon-check-minus { .ie7icon(''); }
408 | .icon-level-up { .ie7icon(''); }
409 | .icon-level-down { .ie7icon(''); }
410 | .icon-check-sign { .ie7icon(''); }
411 | .icon-edit-sign { .ie7icon(''); }
412 | .icon-external-link-sign { .ie7icon(''); }
413 | .icon-share-sign { .ie7icon(''); }
414 |
--------------------------------------------------------------------------------
/lib/font-awesome/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 3.1.0
3 | * the iconic font designed for Bootstrap
4 | * -------------------------------------------------------
5 | * The full suite of pictographic icons, examples, and documentation
6 | * can be found at: http://fontawesome.io
7 | *
8 | * License
9 | * -------------------------------------------------------
10 | * - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
11 | * http://scripts.sil.org/OFL
12 | * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
13 | * http://opensource.org/licenses/mit-license.html
14 | * - Font Awesome documentation licensed under CC BY 3.0 License -
15 | * http://creativecommons.org/licenses/by/3.0/
16 | * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
17 | * "Font Awesome by Dave Gandy - http://fontawesome.io"
18 |
19 | * Contact
20 | * -------------------------------------------------------
21 | * Email: dave@fontawesome.io
22 | * Twitter: http://twitter.com/fortaweso_me
23 | * Work: Lead Product Designer @ http://kyruus.com
24 | */
25 |
26 | @import "variables.less";
27 | @import "mixins.less";
28 | @import "path.less";
29 | @import "core.less";
30 | @import "bootstrap.less";
31 | @import "extras.less";
32 | @import "icons.less";
33 |
--------------------------------------------------------------------------------
/lib/font-awesome/less/icons.less:
--------------------------------------------------------------------------------
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 | .icon-glass:before { content: "\f000"; }
4 | .icon-music:before { content: "\f001"; }
5 | .icon-search:before { content: "\f002"; }
6 | .icon-envelope:before { content: "\f003"; }
7 | .icon-heart:before { content: "\f004"; }
8 | .icon-star:before { content: "\f005"; }
9 | .icon-star-empty:before { content: "\f006"; }
10 | .icon-user:before { content: "\f007"; }
11 | .icon-film:before { content: "\f008"; }
12 | .icon-th-large:before { content: "\f009"; }
13 | .icon-th:before { content: "\f00a"; }
14 | .icon-th-list:before { content: "\f00b"; }
15 | .icon-ok:before { content: "\f00c"; }
16 | .icon-remove:before { content: "\f00d"; }
17 | .icon-zoom-in:before { content: "\f00e"; }
18 |
19 | .icon-zoom-out:before { content: "\f010"; }
20 | .icon-off:before { content: "\f011"; }
21 | .icon-signal:before { content: "\f012"; }
22 | .icon-cog:before { content: "\f013"; }
23 | .icon-trash:before { content: "\f014"; }
24 | .icon-home:before { content: "\f015"; }
25 | .icon-file:before { content: "\f016"; }
26 | .icon-time:before { content: "\f017"; }
27 | .icon-road:before { content: "\f018"; }
28 | .icon-download-alt:before { content: "\f019"; }
29 | .icon-download:before { content: "\f01a"; }
30 | .icon-upload:before { content: "\f01b"; }
31 | .icon-inbox:before { content: "\f01c"; }
32 | .icon-play-circle:before { content: "\f01d"; }
33 | .icon-repeat:before,
34 | .icon-rotate-right:before { content: "\f01e"; }
35 |
36 | /* F020 doesn't work in Safari. all shifted one down */
37 | .icon-refresh:before { content: "\f021"; }
38 | .icon-list-alt:before { content: "\f022"; }
39 | .icon-lock:before { content: "\f023"; }
40 | .icon-flag:before { content: "\f024"; }
41 | .icon-headphones:before { content: "\f025"; }
42 | .icon-volume-off:before { content: "\f026"; }
43 | .icon-volume-down:before { content: "\f027"; }
44 | .icon-volume-up:before { content: "\f028"; }
45 | .icon-qrcode:before { content: "\f029"; }
46 | .icon-barcode:before { content: "\f02a"; }
47 | .icon-tag:before { content: "\f02b"; }
48 | .icon-tags:before { content: "\f02c"; }
49 | .icon-book:before { content: "\f02d"; }
50 | .icon-bookmark:before { content: "\f02e"; }
51 | .icon-print:before { content: "\f02f"; }
52 |
53 | .icon-camera:before { content: "\f030"; }
54 | .icon-font:before { content: "\f031"; }
55 | .icon-bold:before { content: "\f032"; }
56 | .icon-italic:before { content: "\f033"; }
57 | .icon-text-height:before { content: "\f034"; }
58 | .icon-text-width:before { content: "\f035"; }
59 | .icon-align-left:before { content: "\f036"; }
60 | .icon-align-center:before { content: "\f037"; }
61 | .icon-align-right:before { content: "\f038"; }
62 | .icon-align-justify:before { content: "\f039"; }
63 | .icon-list:before { content: "\f03a"; }
64 | .icon-indent-left:before { content: "\f03b"; }
65 | .icon-indent-right:before { content: "\f03c"; }
66 | .icon-facetime-video:before { content: "\f03d"; }
67 | .icon-picture:before { content: "\f03e"; }
68 |
69 | .icon-pencil:before { content: "\f040"; }
70 | .icon-map-marker:before { content: "\f041"; }
71 | .icon-adjust:before { content: "\f042"; }
72 | .icon-tint:before { content: "\f043"; }
73 | .icon-edit:before { content: "\f044"; }
74 | .icon-share:before { content: "\f045"; }
75 | .icon-check:before { content: "\f046"; }
76 | .icon-move:before { content: "\f047"; }
77 | .icon-step-backward:before { content: "\f048"; }
78 | .icon-fast-backward:before { content: "\f049"; }
79 | .icon-backward:before { content: "\f04a"; }
80 | .icon-play:before { content: "\f04b"; }
81 | .icon-pause:before { content: "\f04c"; }
82 | .icon-stop:before { content: "\f04d"; }
83 | .icon-forward:before { content: "\f04e"; }
84 |
85 | .icon-fast-forward:before { content: "\f050"; }
86 | .icon-step-forward:before { content: "\f051"; }
87 | .icon-eject:before { content: "\f052"; }
88 | .icon-chevron-left:before { content: "\f053"; }
89 | .icon-chevron-right:before { content: "\f054"; }
90 | .icon-plus-sign:before { content: "\f055"; }
91 | .icon-minus-sign:before { content: "\f056"; }
92 | .icon-remove-sign:before { content: "\f057"; }
93 | .icon-ok-sign:before { content: "\f058"; }
94 | .icon-question-sign:before { content: "\f059"; }
95 | .icon-info-sign:before { content: "\f05a"; }
96 | .icon-screenshot:before { content: "\f05b"; }
97 | .icon-remove-circle:before { content: "\f05c"; }
98 | .icon-ok-circle:before { content: "\f05d"; }
99 | .icon-ban-circle:before { content: "\f05e"; }
100 |
101 | .icon-arrow-left:before { content: "\f060"; }
102 | .icon-arrow-right:before { content: "\f061"; }
103 | .icon-arrow-up:before { content: "\f062"; }
104 | .icon-arrow-down:before { content: "\f063"; }
105 | .icon-share-alt:before,
106 | .icon-mail-forward:before { content: "\f064"; }
107 | .icon-resize-full:before { content: "\f065"; }
108 | .icon-resize-small:before { content: "\f066"; }
109 | .icon-plus:before { content: "\f067"; }
110 | .icon-minus:before { content: "\f068"; }
111 | .icon-asterisk:before { content: "\f069"; }
112 | .icon-exclamation-sign:before { content: "\f06a"; }
113 | .icon-gift:before { content: "\f06b"; }
114 | .icon-leaf:before { content: "\f06c"; }
115 | .icon-fire:before { content: "\f06d"; }
116 | .icon-eye-open:before { content: "\f06e"; }
117 |
118 | .icon-eye-close:before { content: "\f070"; }
119 | .icon-warning-sign:before { content: "\f071"; }
120 | .icon-plane:before { content: "\f072"; }
121 | .icon-calendar:before { content: "\f073"; }
122 | .icon-random:before { content: "\f074"; }
123 | .icon-comment:before { content: "\f075"; }
124 | .icon-magnet:before { content: "\f076"; }
125 | .icon-chevron-up:before { content: "\f077"; }
126 | .icon-chevron-down:before { content: "\f078"; }
127 | .icon-retweet:before { content: "\f079"; }
128 | .icon-shopping-cart:before { content: "\f07a"; }
129 | .icon-folder-close:before { content: "\f07b"; }
130 | .icon-folder-open:before { content: "\f07c"; }
131 | .icon-resize-vertical:before { content: "\f07d"; }
132 | .icon-resize-horizontal:before { content: "\f07e"; }
133 |
134 | .icon-bar-chart:before { content: "\f080"; }
135 | .icon-twitter-sign:before { content: "\f081"; }
136 | .icon-facebook-sign:before { content: "\f082"; }
137 | .icon-camera-retro:before { content: "\f083"; }
138 | .icon-key:before { content: "\f084"; }
139 | .icon-cogs:before { content: "\f085"; }
140 | .icon-comments:before { content: "\f086"; }
141 | .icon-thumbs-up:before { content: "\f087"; }
142 | .icon-thumbs-down:before { content: "\f088"; }
143 | .icon-star-half:before { content: "\f089"; }
144 | .icon-heart-empty:before { content: "\f08a"; }
145 | .icon-signout:before { content: "\f08b"; }
146 | .icon-linkedin-sign:before { content: "\f08c"; }
147 | .icon-pushpin:before { content: "\f08d"; }
148 | .icon-external-link:before { content: "\f08e"; }
149 |
150 | .icon-signin:before { content: "\f090"; }
151 | .icon-trophy:before { content: "\f091"; }
152 | .icon-github-sign:before { content: "\f092"; }
153 | .icon-upload-alt:before { content: "\f093"; }
154 | .icon-lemon:before { content: "\f094"; }
155 | .icon-phone:before { content: "\f095"; }
156 | .icon-check-empty:before { content: "\f096"; }
157 | .icon-bookmark-empty:before { content: "\f097"; }
158 | .icon-phone-sign:before { content: "\f098"; }
159 | .icon-twitter:before { content: "\f099"; }
160 | .icon-facebook:before { content: "\f09a"; }
161 | .icon-github:before { content: "\f09b"; }
162 | .icon-unlock:before { content: "\f09c"; }
163 | .icon-credit-card:before { content: "\f09d"; }
164 | .icon-rss:before { content: "\f09e"; }
165 |
166 | .icon-hdd:before { content: "\f0a0"; }
167 | .icon-bullhorn:before { content: "\f0a1"; }
168 | .icon-bell:before { content: "\f0a2"; }
169 | .icon-certificate:before { content: "\f0a3"; }
170 | .icon-hand-right:before { content: "\f0a4"; }
171 | .icon-hand-left:before { content: "\f0a5"; }
172 | .icon-hand-up:before { content: "\f0a6"; }
173 | .icon-hand-down:before { content: "\f0a7"; }
174 | .icon-circle-arrow-left:before { content: "\f0a8"; }
175 | .icon-circle-arrow-right:before { content: "\f0a9"; }
176 | .icon-circle-arrow-up:before { content: "\f0aa"; }
177 | .icon-circle-arrow-down:before { content: "\f0ab"; }
178 | .icon-globe:before { content: "\f0ac"; }
179 | .icon-wrench:before { content: "\f0ad"; }
180 | .icon-tasks:before { content: "\f0ae"; }
181 |
182 | .icon-filter:before { content: "\f0b0"; }
183 | .icon-briefcase:before { content: "\f0b1"; }
184 | .icon-fullscreen:before { content: "\f0b2"; }
185 |
186 | .icon-group:before { content: "\f0c0"; }
187 | .icon-link:before { content: "\f0c1"; }
188 | .icon-cloud:before { content: "\f0c2"; }
189 | .icon-beaker:before { content: "\f0c3"; }
190 | .icon-cut:before { content: "\f0c4"; }
191 | .icon-copy:before { content: "\f0c5"; }
192 | .icon-paper-clip:before { content: "\f0c6"; }
193 | .icon-save:before { content: "\f0c7"; }
194 | .icon-sign-blank:before { content: "\f0c8"; }
195 | .icon-reorder:before { content: "\f0c9"; }
196 | .icon-list-ul:before { content: "\f0ca"; }
197 | .icon-list-ol:before { content: "\f0cb"; }
198 | .icon-strikethrough:before { content: "\f0cc"; }
199 | .icon-underline:before { content: "\f0cd"; }
200 | .icon-table:before { content: "\f0ce"; }
201 |
202 | .icon-magic:before { content: "\f0d0"; }
203 | .icon-truck:before { content: "\f0d1"; }
204 | .icon-pinterest:before { content: "\f0d2"; }
205 | .icon-pinterest-sign:before { content: "\f0d3"; }
206 | .icon-google-plus-sign:before { content: "\f0d4"; }
207 | .icon-google-plus:before { content: "\f0d5"; }
208 | .icon-money:before { content: "\f0d6"; }
209 | .icon-caret-down:before { content: "\f0d7"; }
210 | .icon-caret-up:before { content: "\f0d8"; }
211 | .icon-caret-left:before { content: "\f0d9"; }
212 | .icon-caret-right:before { content: "\f0da"; }
213 | .icon-columns:before { content: "\f0db"; }
214 | .icon-sort:before { content: "\f0dc"; }
215 | .icon-sort-down:before { content: "\f0dd"; }
216 | .icon-sort-up:before { content: "\f0de"; }
217 |
218 | .icon-envelope-alt:before { content: "\f0e0"; }
219 | .icon-linkedin:before { content: "\f0e1"; }
220 | .icon-undo:before,
221 | .icon-rotate-left:before { content: "\f0e2"; }
222 | .icon-legal:before { content: "\f0e3"; }
223 | .icon-dashboard:before { content: "\f0e4"; }
224 | .icon-comment-alt:before { content: "\f0e5"; }
225 | .icon-comments-alt:before { content: "\f0e6"; }
226 | .icon-bolt:before { content: "\f0e7"; }
227 | .icon-sitemap:before { content: "\f0e8"; }
228 | .icon-umbrella:before { content: "\f0e9"; }
229 | .icon-paste:before { content: "\f0ea"; }
230 | .icon-lightbulb:before { content: "\f0eb"; }
231 | .icon-exchange:before { content: "\f0ec"; }
232 | .icon-cloud-download:before { content: "\f0ed"; }
233 | .icon-cloud-upload:before { content: "\f0ee"; }
234 |
235 | .icon-user-md:before { content: "\f0f0"; }
236 | .icon-stethoscope:before { content: "\f0f1"; }
237 | .icon-suitcase:before { content: "\f0f2"; }
238 | .icon-bell-alt:before { content: "\f0f3"; }
239 | .icon-coffee:before { content: "\f0f4"; }
240 | .icon-food:before { content: "\f0f5"; }
241 | .icon-file-alt:before { content: "\f0f6"; }
242 | .icon-building:before { content: "\f0f7"; }
243 | .icon-hospital:before { content: "\f0f8"; }
244 | .icon-ambulance:before { content: "\f0f9"; }
245 | .icon-medkit:before { content: "\f0fa"; }
246 | .icon-fighter-jet:before { content: "\f0fb"; }
247 | .icon-beer:before { content: "\f0fc"; }
248 | .icon-h-sign:before { content: "\f0fd"; }
249 | .icon-plus-sign-alt:before { content: "\f0fe"; }
250 |
251 | .icon-double-angle-left:before { content: "\f100"; }
252 | .icon-double-angle-right:before { content: "\f101"; }
253 | .icon-double-angle-up:before { content: "\f102"; }
254 | .icon-double-angle-down:before { content: "\f103"; }
255 | .icon-angle-left:before { content: "\f104"; }
256 | .icon-angle-right:before { content: "\f105"; }
257 | .icon-angle-up:before { content: "\f106"; }
258 | .icon-angle-down:before { content: "\f107"; }
259 | .icon-desktop:before { content: "\f108"; }
260 | .icon-laptop:before { content: "\f109"; }
261 | .icon-tablet:before { content: "\f10a"; }
262 | .icon-mobile-phone:before { content: "\f10b"; }
263 | .icon-circle-blank:before { content: "\f10c"; }
264 | .icon-quote-left:before { content: "\f10d"; }
265 | .icon-quote-right:before { content: "\f10e"; }
266 |
267 | .icon-spinner:before { content: "\f110"; }
268 | .icon-circle:before { content: "\f111"; }
269 | .icon-reply:before,
270 | .icon-mail-reply:before { content: "\f112"; }
271 | .icon-folder-close-alt:before { content: "\f114"; }
272 | .icon-folder-open-alt:before { content: "\f115"; }
273 | .icon-expand-alt:before { content: "\f116"; }
274 | .icon-collapse-alt:before { content: "\f117"; }
275 | .icon-smile:before { content: "\f118"; }
276 | .icon-frown:before { content: "\f119"; }
277 | .icon-meh:before { content: "\f11a"; }
278 | .icon-gamepad:before { content: "\f11b"; }
279 | .icon-keyboard:before { content: "\f11c"; }
280 | .icon-flag-alt:before { content: "\f11d"; }
281 | .icon-flag-checkered:before { content: "\f11e"; }
282 |
283 | .icon-terminal:before { content: "\f120"; }
284 | .icon-code:before { content: "\f121"; }
285 | .icon-reply-all:before, { content: "\f122"; }
286 | .icon-mail-reply-all:before { content: "\f122"; }
287 | .icon-star-half-full:before,
288 | .icon-star-half-empty:before { content: "\f123"; }
289 | .icon-location-arrow:before { content: "\f124"; }
290 | .icon-crop:before { content: "\f125"; }
291 | .icon-code-fork:before { content: "\f126"; }
292 | .icon-unlink:before { content: "\f127"; }
293 | .icon-question:before { content: "\f128"; }
294 | .icon-info:before { content: "\f129"; }
295 | .icon-exclamation:before { content: "\f12a"; }
296 | .icon-superscript:before { content: "\f12b"; }
297 | .icon-subscript:before { content: "\f12c"; }
298 | .icon-eraser:before { content: "\f12d"; }
299 | .icon-puzzle-piece:before { content: "\f12e"; }
300 |
301 | .icon-microphone:before { content: "\f130"; }
302 | .icon-microphone-off:before { content: "\f131"; }
303 | .icon-shield:before { content: "\f132"; }
304 | .icon-calendar-empty:before { content: "\f133"; }
305 | .icon-fire-extinguisher:before { content: "\f134"; }
306 | .icon-rocket:before { content: "\f135"; }
307 | .icon-maxcdn:before { content: "\f136"; }
308 | .icon-chevron-sign-left:before { content: "\f137"; }
309 | .icon-chevron-sign-right:before { content: "\f138"; }
310 | .icon-chevron-sign-up:before { content: "\f139"; }
311 | .icon-chevron-sign-down:before { content: "\f13a"; }
312 | .icon-html5:before { content: "\f13b"; }
313 | .icon-css3:before { content: "\f13c"; }
314 | .icon-anchor:before { content: "\f13d"; }
315 | .icon-unlock-alt:before { content: "\f13e"; }
316 |
317 | .icon-bullseye:before { content: "\f140"; }
318 | .icon-ellipsis-horizontal:before { content: "\f141"; }
319 | .icon-ellipsis-vertical:before { content: "\f142"; }
320 | .icon-rss-sign:before { content: "\f143"; }
321 | .icon-play-sign:before { content: "\f144"; }
322 | .icon-ticket:before { content: "\f145"; }
323 | .icon-minus-sign-alt:before { content: "\f146"; }
324 | .icon-check-minus:before { content: "\f147"; }
325 | .icon-level-up:before { content: "\f148"; }
326 | .icon-level-down:before { content: "\f149"; }
327 | .icon-check-sign:before { content: "\f14a"; }
328 | .icon-edit-sign:before { content: "\f14b"; }
329 | .icon-external-link-sign:before { content: "\f14c"; }
330 | .icon-share-sign:before { content: "\f14d"; }
331 |
--------------------------------------------------------------------------------
/lib/font-awesome/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .border-radius(@radius) {
5 | -webkit-border-radius: @radius;
6 | -moz-border-radius: @radius;
7 | border-radius: @radius;
8 | }
9 |
10 | .icon-stack(@width: 2em, @height: 2em, @top-font-size: 1em, @base-font-size: 2em) {
11 | .icon-stack {
12 | position: relative;
13 | display: inline-block;
14 | width: @width;
15 | height: @height;
16 | line-height: @width;
17 | vertical-align: -35%;
18 | [class^="icon-"],
19 | [class*=" icon-"] {
20 | display: block;
21 | text-align: center;
22 | position: absolute;
23 | width: 100%;
24 | height: 100%;
25 | font-size: @top-font-size;
26 | line-height: inherit;
27 | *line-height: @height;
28 | }
29 | .icon-stack-base {
30 | font-size: @base-font-size;
31 | *line-height: @height / @base-font-size;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/lib/font-awesome/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{FontAwesomePath}/fontawesome-webfont.eot?v=@{FontAwesomeVersion}');
7 | src: url('@{FontAwesomePath}/fontawesome-webfont.eot?#iefix&v=@{FontAwesomeVersion}') format('embedded-opentype'),
8 | url('@{FontAwesomePath}/fontawesome-webfont.woff?v=@{FontAwesomeVersion}') format('woff'),
9 | url('@{FontAwesomePath}/fontawesome-webfont.ttf?v=@{FontAwesomeVersion}') format('truetype'),
10 | url('@{FontAwesomePath}/fontawesome-webfont.svg#fontawesomeregular?v=@{FontAwesomeVersion}') format('svg');
11 | // src: url('@{FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts
12 |
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/lib/font-awesome/less/variables.less:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | @FontAwesomePath: "../font";
5 | @FontAwesomeVersion: "3.1.0";
6 | @borderColor: #eee;
7 | @iconMuted: #eee;
8 | @iconLight: #fff;
9 | @iconDark: #333;
--------------------------------------------------------------------------------
/lib/twitter-bootstrap/js/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * bootstrap.js v3.0.0 by @fat and @mdo
3 | * Copyright 2013 Twitter Inc.
4 | * http://www.apache.org/licenses/LICENSE-2.0
5 | */
6 | if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover"},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .accordion-group > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find("[data-toggle=collapse][data-parent="+i+"]").not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&a('').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown")}return e.focus(),!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i').appendTo(document.body),this.$element.on("click",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("bs.modal"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.modal",e=new b(this,f)),"string"==typeof c?e[c]():f.show&&e.show()})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f).one("hide",function(){c.is(":visible")&&c.focus()})}),a(function(){var b=a(document.body).on("shown.bs.modal",".modal",function(){b.addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){b.removeClass("modal-open")})})}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.enter=function(b){var c=this.getDefaults(),d={};this._options&&a.each(this._options,function(a,b){c[a]!=b&&(d[a]=b)});var e=b instanceof this.constructor?b:a(b.currentTarget)[this.type](d).data("bs."+this.type);return clearTimeout(e.timeout),e.options.delay&&e.options.delay.show?(e.hoverState="in",e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show),void 0):e.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this._options).data("bs."+this.type);return clearTimeout(c.timeout),c.options.delay&&c.options.delay.hide?(c.hoverState="out",c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),""===a.find(".popover-title").html()&&a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);
--------------------------------------------------------------------------------
/sample.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/justindarc/bootstrap-pdf-viewer/cc48f0bda954cb1dd57bc1a8033360e83187da72/sample.pdf
--------------------------------------------------------------------------------
/viewer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Bootstrap PDF Viewer
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
49 |
50 |
51 |
--------------------------------------------------------------------------------