wbase 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +219 -2
  3. data/app/assets/javascripts/wbase/auth/bootstrap.min.js +7 -0
  4. data/app/assets/javascripts/wbase/auth/detect.js +7 -0
  5. data/app/assets/javascripts/wbase/auth/fastclick.js +841 -0
  6. data/app/assets/javascripts/wbase/auth/jquery.app.js +318 -0
  7. data/app/assets/javascripts/wbase/auth/jquery.blockUI.js +620 -0
  8. data/app/assets/javascripts/wbase/auth/jquery.core.js +323 -0
  9. data/app/assets/javascripts/wbase/auth/jquery.min.js +5 -0
  10. data/app/assets/javascripts/wbase/auth/jquery.nicescroll.js +113 -0
  11. data/app/assets/javascripts/wbase/auth/jquery.scrollTo.min.js +7 -0
  12. data/app/assets/javascripts/wbase/auth/jquery.slimscroll.js +474 -0
  13. data/app/assets/javascripts/wbase/auth/modernizr.min.js +1 -0
  14. data/app/assets/javascripts/wbase/auth/pace.min.js +2 -0
  15. data/app/assets/javascripts/wbase/auth/waves.js +498 -0
  16. data/app/assets/javascripts/wbase/auth/wow.min.js +2 -0
  17. data/app/assets/javascripts/wbase/auth.js +12 -0
  18. data/app/assets/stylesheets/wbase/auth/components.css +2362 -0
  19. data/app/assets/stylesheets/wbase/auth/core.css +2190 -0
  20. data/app/assets/stylesheets/wbase/auth/icons.css +12067 -0
  21. data/app/assets/stylesheets/wbase/auth/pages.css +2039 -0
  22. data/app/assets/stylesheets/wbase/auth/responsive.css +162 -0
  23. data/app/assets/stylesheets/wbase/auth/typicons.css +1370 -0
  24. data/app/assets/stylesheets/wbase/auth/variables.css +0 -0
  25. data/app/assets/stylesheets/wbase/auth.scss +9 -0
  26. data/app/controllers/wbase/application_controller.rb +13 -0
  27. data/app/controllers/wbase/mail_events_controller.rb +21 -0
  28. data/app/controllers/wbase/password_resets_controller.rb +43 -0
  29. data/app/controllers/wbase/sessions_controller.rb +35 -0
  30. data/app/controllers/wbase/static_pages_controller.rb +4 -0
  31. data/app/controllers/wbase/stripe_webhooks_controller.rb +54 -0
  32. data/app/controllers/wbase/subscriptions_controller.rb +50 -0
  33. data/app/controllers/wbase/users_controller.rb +65 -0
  34. data/app/helpers/wbase/auth_helper.rb +44 -0
  35. data/app/jobs/wbase/activate_drip_subscriber_job.rb +15 -0
  36. data/app/jobs/wbase/create_drip_subscriber_job.rb +13 -0
  37. data/app/jobs/wbase/dripable.rb +22 -0
  38. data/app/mailers/application_mailer.rb +4 -0
  39. data/app/mailers/wbase/admin_mailer.rb +35 -0
  40. data/app/mailers/wbase/password_reset_mailer.rb +20 -0
  41. data/app/models/wbase/mail_event.rb +21 -0
  42. data/app/models/wbase/plan.rb +26 -0
  43. data/app/models/wbase/ssl_verification.rb +21 -0
  44. data/app/models/wbase/stripe_webhook.rb +22 -0
  45. data/app/models/wbase/subscription.rb +47 -0
  46. data/app/models/wbase/userable.rb +85 -0
  47. data/app/services/wbase/mail_event_batch.rb +22 -0
  48. data/app/services/wbase/start_subscription.rb +81 -0
  49. data/app/views/layouts/mailer.html.erb +53 -0
  50. data/app/views/layouts/mailer.text.erb +1 -0
  51. data/app/views/layouts/wbase/_common_head.html.erb +46 -0
  52. data/app/views/layouts/wbase/auth.html.erb +23 -0
  53. data/app/views/layouts/wbase/landing.html.erb +9 -56
  54. data/app/views/shared/_errors.html.erb +10 -0
  55. data/app/views/wbase/admin_mailer/new_subscription.html.erb +33 -0
  56. data/app/views/wbase/admin_mailer/new_user.html.erb +7 -0
  57. data/app/views/wbase/password_reset_mailer/reset.html.erb +10 -0
  58. data/app/views/wbase/password_reset_mailer/reset.text.erb +5 -0
  59. data/app/views/wbase/password_resets/edit.html.erb +22 -0
  60. data/app/views/wbase/password_resets/new.html.erb +41 -0
  61. data/app/views/wbase/sessions/new.html.erb +58 -0
  62. data/app/views/wbase/static_pages/landing/_pricing.html.erb +6 -2
  63. data/app/views/wbase/static_pages/start.html.erb +1 -1
  64. data/app/views/wbase/static_pages/welcome.html.erb +1 -1
  65. data/app/views/wbase/subscriptions/edit.html.erb +2 -0
  66. data/app/views/wbase/subscriptions/new.html.erb +91 -0
  67. data/app/views/wbase/subscriptions/show.html.erb +2 -0
  68. data/app/views/wbase/users/_affiliate.html.erb +66 -0
  69. data/app/views/wbase/users/_plan.html.erb +11 -0
  70. data/app/views/wbase/users/_plans.html.erb +11 -0
  71. data/app/views/wbase/users/edit.html.erb +2 -0
  72. data/app/views/wbase/users/new.html.erb +38 -0
  73. data/app/views/wbase/users/show.html.erb +37 -0
  74. data/config/initializers/assets.rb +1 -3
  75. data/config/routes.rb +9 -0
  76. data/db/migrate/20161127212521_create_wbase_subscriptions.rb +17 -0
  77. data/db/migrate/20161127212831_create_wbase_plans.rb +15 -0
  78. data/db/migrate/20161127224117_create_wbase_ssl_verifications.rb +10 -0
  79. data/db/migrate/20161128022640_create_wbase_mail_events.rb +16 -0
  80. data/db/migrate/20161128031211_create_wbase_stripe_webhooks.rb +17 -0
  81. data/lib/wbase/engine.rb +37 -28
  82. data/lib/wbase/version.rb +1 -1
  83. data/test/controllers/wbase/mail_events_controller_test.rb +13 -0
  84. data/test/controllers/wbase/password_resets_controller_test.rb +13 -0
  85. data/test/controllers/wbase/sessions_controller_test.rb +13 -0
  86. data/test/controllers/wbase/stripe_webhooks_controller_test.rb +13 -0
  87. data/test/controllers/wbase/subscriptions_controller_test.rb +13 -0
  88. data/test/controllers/wbase/users_controller_test.rb +13 -0
  89. data/test/dummy/config/database.yml +4 -7
  90. data/test/dummy/db/development.sqlite3 +0 -0
  91. data/test/dummy/db/schema.rb +85 -0
  92. data/test/dummy/log/development.log +225 -0
  93. data/test/fixtures/wbase/mail_events.yml +38 -0
  94. data/test/fixtures/wbase/plans.yml +40 -0
  95. data/test/fixtures/wbase/stripe_webhooks.yml +41 -0
  96. data/test/fixtures/wbase/subscriptions.yml +46 -0
  97. data/test/jobs/wbase/activate_drip_subscriber_job_test.rb +9 -0
  98. data/test/jobs/wbase/create_drip_subscriber_job_job_test.rb +9 -0
  99. data/test/mailers/previews/wbase/admin_mailer_preview.rb +11 -0
  100. data/test/mailers/previews/wbase/password_reset_mailer_preview.rb +11 -0
  101. data/test/mailers/wbase/admin_mailer_test.rb +14 -0
  102. data/test/mailers/wbase/password_reset_mailer_test.rb +14 -0
  103. data/test/models/wbase/mail_event_test.rb +26 -0
  104. data/test/models/wbase/plan_test.rb +30 -0
  105. data/test/models/wbase/ssl_verification_test.rb +20 -0
  106. data/test/models/wbase/stripe_webhook_test.rb +27 -0
  107. data/test/models/wbase/subscription_test.rb +32 -0
  108. metadata +121 -12
  109. data/app/helpers/wbase/application_helper.rb +0 -4
  110. data/app/helpers/wbase/static_pages_helper.rb +0 -4
  111. data/app/views/wbase/static_pages/_map.html.erb +0 -17
  112. data/app/views/wbase/static_pages/_order_stats.html.erb +0 -28
  113. data/app/views/wbase/static_pages/_pricing.html.erb +0 -89
  114. data/app/views/wbase/static_pages/_stats.html.erb +0 -28
  115. data/app/views/wbase/static_pages/_testimonial.html.erb +0 -16
  116. data/app/views/wbase/static_pages/affiliate.html.erb +0 -54
  117. data/app/views/wbase/static_pages/faq.html.erb +0 -63
@@ -0,0 +1,1370 @@
1
+ @charset 'UTF-8';
2
+ /* @FONT-FACE loads font into browser */
3
+ @font-face {
4
+ font-family: 'typicons';
5
+ font-weight: normal;
6
+ font-style: normal;
7
+ src: url('../fonts/typicons.eot');
8
+ src: url('../fonts/typicons.eot?#iefix') format('embedded-opentype'), url('../fonts/typicons.woff') format('woff'), url('../fonts/typicons.ttf') format('truetype'), url('../fonts/typicons.svg#typicons') format('svg');
9
+ }
10
+ /* :before psuedo-selector inserts and styles icon */
11
+ .typcn:before {
12
+ font-family: 'typicons';
13
+ font-style: normal;
14
+ font-weight: normal;
15
+ speak: none;
16
+ display: inline-block;
17
+ text-decoration: inherit;
18
+ width: 1em;
19
+ height: 1em;
20
+ font-size: 1em;
21
+ text-align: center;
22
+ -webkit-font-smoothing: antialiased;
23
+ font-smoothing: antialiased;
24
+ text-rendering: optimizeLegibility;
25
+ }
26
+ /* Code for individual icons */
27
+ .typcn-adjust-brightness:before {
28
+ content: '\e000';
29
+ /* '' */
30
+ }
31
+ .typcn-adjust-contrast:before {
32
+ content: '\e001';
33
+ /* '' */
34
+ }
35
+ .typcn-anchor-outline:before {
36
+ content: '\e002';
37
+ /* '' */
38
+ }
39
+ .typcn-anchor:before {
40
+ content: '\e003';
41
+ /* '' */
42
+ }
43
+ .typcn-archive:before {
44
+ content: '\e004';
45
+ /* '' */
46
+ }
47
+ .typcn-arrow-back-outline:before {
48
+ content: '\e005';
49
+ /* '' */
50
+ }
51
+ .typcn-arrow-back:before {
52
+ content: '\e006';
53
+ /* '' */
54
+ }
55
+ .typcn-arrow-down-outline:before {
56
+ content: '\e007';
57
+ /* '' */
58
+ }
59
+ .typcn-arrow-down-thick:before {
60
+ content: '\e008';
61
+ /* '' */
62
+ }
63
+ .typcn-arrow-down:before {
64
+ content: '\e009';
65
+ /* '' */
66
+ }
67
+ .typcn-arrow-forward-outline:before {
68
+ content: '\e00a';
69
+ /* '' */
70
+ }
71
+ .typcn-arrow-forward:before {
72
+ content: '\e00b';
73
+ /* '' */
74
+ }
75
+ .typcn-arrow-left-outline:before {
76
+ content: '\e00c';
77
+ /* '' */
78
+ }
79
+ .typcn-arrow-left-thick:before {
80
+ content: '\e00d';
81
+ /* '' */
82
+ }
83
+ .typcn-arrow-left:before {
84
+ content: '\e00e';
85
+ /* '' */
86
+ }
87
+ .typcn-arrow-loop-outline:before {
88
+ content: '\e00f';
89
+ /* '' */
90
+ }
91
+ .typcn-arrow-loop:before {
92
+ content: '\e010';
93
+ /* '' */
94
+ }
95
+ .typcn-arrow-maximise-outline:before {
96
+ content: '\e011';
97
+ /* '' */
98
+ }
99
+ .typcn-arrow-maximise:before {
100
+ content: '\e012';
101
+ /* '' */
102
+ }
103
+ .typcn-arrow-minimise-outline:before {
104
+ content: '\e013';
105
+ /* '' */
106
+ }
107
+ .typcn-arrow-minimise:before {
108
+ content: '\e014';
109
+ /* '' */
110
+ }
111
+ .typcn-arrow-move-outline:before {
112
+ content: '\e015';
113
+ /* '' */
114
+ }
115
+ .typcn-arrow-move:before {
116
+ content: '\e016';
117
+ /* '' */
118
+ }
119
+ .typcn-arrow-repeat-outline:before {
120
+ content: '\e017';
121
+ /* '' */
122
+ }
123
+ .typcn-arrow-repeat:before {
124
+ content: '\e018';
125
+ /* '' */
126
+ }
127
+ .typcn-arrow-right-outline:before {
128
+ content: '\e019';
129
+ /* '' */
130
+ }
131
+ .typcn-arrow-right-thick:before {
132
+ content: '\e01a';
133
+ /* '' */
134
+ }
135
+ .typcn-arrow-right:before {
136
+ content: '\e01b';
137
+ /* '' */
138
+ }
139
+ .typcn-arrow-shuffle:before {
140
+ content: '\e01c';
141
+ /* '' */
142
+ }
143
+ .typcn-arrow-sorted-down:before {
144
+ content: '\e01d';
145
+ /* '' */
146
+ }
147
+ .typcn-arrow-sorted-up:before {
148
+ content: '\e01e';
149
+ /* '' */
150
+ }
151
+ .typcn-arrow-sync-outline:before {
152
+ content: '\e01f';
153
+ /* '' */
154
+ }
155
+ .typcn-arrow-sync:before {
156
+ content: '\e020';
157
+ /* '' */
158
+ }
159
+ .typcn-arrow-unsorted:before {
160
+ content: '\e021';
161
+ /* '' */
162
+ }
163
+ .typcn-arrow-up-outline:before {
164
+ content: '\e022';
165
+ /* '' */
166
+ }
167
+ .typcn-arrow-up-thick:before {
168
+ content: '\e023';
169
+ /* '' */
170
+ }
171
+ .typcn-arrow-up:before {
172
+ content: '\e024';
173
+ /* '' */
174
+ }
175
+ .typcn-at:before {
176
+ content: '\e025';
177
+ /* '' */
178
+ }
179
+ .typcn-attachment-outline:before {
180
+ content: '\e026';
181
+ /* '' */
182
+ }
183
+ .typcn-attachment:before {
184
+ content: '\e027';
185
+ /* '' */
186
+ }
187
+ .typcn-backspace-outline:before {
188
+ content: '\e028';
189
+ /* '' */
190
+ }
191
+ .typcn-backspace:before {
192
+ content: '\e029';
193
+ /* '' */
194
+ }
195
+ .typcn-battery-charge:before {
196
+ content: '\e02a';
197
+ /* '' */
198
+ }
199
+ .typcn-battery-full:before {
200
+ content: '\e02b';
201
+ /* '' */
202
+ }
203
+ .typcn-battery-high:before {
204
+ content: '\e02c';
205
+ /* '' */
206
+ }
207
+ .typcn-battery-low:before {
208
+ content: '\e02d';
209
+ /* '' */
210
+ }
211
+ .typcn-battery-mid:before {
212
+ content: '\e02e';
213
+ /* '' */
214
+ }
215
+ .typcn-beaker:before {
216
+ content: '\e02f';
217
+ /* '' */
218
+ }
219
+ .typcn-beer:before {
220
+ content: '\e030';
221
+ /* '' */
222
+ }
223
+ .typcn-bell:before {
224
+ content: '\e031';
225
+ /* '' */
226
+ }
227
+ .typcn-book:before {
228
+ content: '\e032';
229
+ /* '' */
230
+ }
231
+ .typcn-bookmark:before {
232
+ content: '\e033';
233
+ /* '' */
234
+ }
235
+ .typcn-briefcase:before {
236
+ content: '\e034';
237
+ /* '' */
238
+ }
239
+ .typcn-brush:before {
240
+ content: '\e035';
241
+ /* '' */
242
+ }
243
+ .typcn-business-card:before {
244
+ content: '\e036';
245
+ /* '' */
246
+ }
247
+ .typcn-calculator:before {
248
+ content: '\e037';
249
+ /* '' */
250
+ }
251
+ .typcn-calendar-outline:before {
252
+ content: '\e038';
253
+ /* '' */
254
+ }
255
+ .typcn-calendar:before {
256
+ content: '\e039';
257
+ /* '' */
258
+ }
259
+ .typcn-camera-outline:before {
260
+ content: '\e03a';
261
+ /* '' */
262
+ }
263
+ .typcn-camera:before {
264
+ content: '\e03b';
265
+ /* '' */
266
+ }
267
+ .typcn-cancel-outline:before {
268
+ content: '\e03c';
269
+ /* '' */
270
+ }
271
+ .typcn-cancel:before {
272
+ content: '\e03d';
273
+ /* '' */
274
+ }
275
+ .typcn-chart-area-outline:before {
276
+ content: '\e03e';
277
+ /* '' */
278
+ }
279
+ .typcn-chart-area:before {
280
+ content: '\e03f';
281
+ /* '' */
282
+ }
283
+ .typcn-chart-bar-outline:before {
284
+ content: '\e040';
285
+ /* '' */
286
+ }
287
+ .typcn-chart-bar:before {
288
+ content: '\e041';
289
+ /* '' */
290
+ }
291
+ .typcn-chart-line-outline:before {
292
+ content: '\e042';
293
+ /* '' */
294
+ }
295
+ .typcn-chart-line:before {
296
+ content: '\e043';
297
+ /* '' */
298
+ }
299
+ .typcn-chart-pie-outline:before {
300
+ content: '\e044';
301
+ /* '' */
302
+ }
303
+ .typcn-chart-pie:before {
304
+ content: '\e045';
305
+ /* '' */
306
+ }
307
+ .typcn-chevron-left-outline:before {
308
+ content: '\e046';
309
+ /* '' */
310
+ }
311
+ .typcn-chevron-left:before {
312
+ content: '\e047';
313
+ /* '' */
314
+ }
315
+ .typcn-chevron-right-outline:before {
316
+ content: '\e048';
317
+ /* '' */
318
+ }
319
+ .typcn-chevron-right:before {
320
+ content: '\e049';
321
+ /* '' */
322
+ }
323
+ .typcn-clipboard:before {
324
+ content: '\e04a';
325
+ /* '' */
326
+ }
327
+ .typcn-cloud-storage:before {
328
+ content: '\e04b';
329
+ /* '' */
330
+ }
331
+ .typcn-cloud-storage-outline:before {
332
+ content: '\e054';
333
+ /* '' */
334
+ }
335
+ .typcn-code-outline:before {
336
+ content: '\e04c';
337
+ /* '' */
338
+ }
339
+ .typcn-code:before {
340
+ content: '\e04d';
341
+ /* '' */
342
+ }
343
+ .typcn-coffee:before {
344
+ content: '\e04e';
345
+ /* '' */
346
+ }
347
+ .typcn-cog-outline:before {
348
+ content: '\e04f';
349
+ /* '' */
350
+ }
351
+ .typcn-cog:before {
352
+ content: '\e050';
353
+ /* '' */
354
+ }
355
+ .typcn-compass:before {
356
+ content: '\e051';
357
+ /* '' */
358
+ }
359
+ .typcn-contacts:before {
360
+ content: '\e052';
361
+ /* '' */
362
+ }
363
+ .typcn-credit-card:before {
364
+ content: '\e053';
365
+ /* '' */
366
+ }
367
+ .typcn-css3:before {
368
+ content: '\e055';
369
+ /* '' */
370
+ }
371
+ .typcn-database:before {
372
+ content: '\e056';
373
+ /* '' */
374
+ }
375
+ .typcn-delete-outline:before {
376
+ content: '\e057';
377
+ /* '' */
378
+ }
379
+ .typcn-delete:before {
380
+ content: '\e058';
381
+ /* '' */
382
+ }
383
+ .typcn-device-desktop:before {
384
+ content: '\e059';
385
+ /* '' */
386
+ }
387
+ .typcn-device-laptop:before {
388
+ content: '\e05a';
389
+ /* '' */
390
+ }
391
+ .typcn-device-phone:before {
392
+ content: '\e05b';
393
+ /* '' */
394
+ }
395
+ .typcn-device-tablet:before {
396
+ content: '\e05c';
397
+ /* '' */
398
+ }
399
+ .typcn-directions:before {
400
+ content: '\e05d';
401
+ /* '' */
402
+ }
403
+ .typcn-divide-outline:before {
404
+ content: '\e05e';
405
+ /* '' */
406
+ }
407
+ .typcn-divide:before {
408
+ content: '\e05f';
409
+ /* '' */
410
+ }
411
+ .typcn-document-add:before {
412
+ content: '\e060';
413
+ /* '' */
414
+ }
415
+ .typcn-document-delete:before {
416
+ content: '\e061';
417
+ /* '' */
418
+ }
419
+ .typcn-document-text:before {
420
+ content: '\e062';
421
+ /* '' */
422
+ }
423
+ .typcn-document:before {
424
+ content: '\e063';
425
+ /* '' */
426
+ }
427
+ .typcn-download-outline:before {
428
+ content: '\e064';
429
+ /* '' */
430
+ }
431
+ .typcn-download:before {
432
+ content: '\e065';
433
+ /* '' */
434
+ }
435
+ .typcn-dropbox:before {
436
+ content: '\e066';
437
+ /* '' */
438
+ }
439
+ .typcn-edit:before {
440
+ content: '\e067';
441
+ /* '' */
442
+ }
443
+ .typcn-eject-outline:before {
444
+ content: '\e068';
445
+ /* '' */
446
+ }
447
+ .typcn-eject:before {
448
+ content: '\e069';
449
+ /* '' */
450
+ }
451
+ .typcn-equals-outline:before {
452
+ content: '\e06a';
453
+ /* '' */
454
+ }
455
+ .typcn-equals:before {
456
+ content: '\e06b';
457
+ /* '' */
458
+ }
459
+ .typcn-export-outline:before {
460
+ content: '\e06c';
461
+ /* '' */
462
+ }
463
+ .typcn-export:before {
464
+ content: '\e06d';
465
+ /* '' */
466
+ }
467
+ .typcn-eye-outline:before {
468
+ content: '\e06e';
469
+ /* '' */
470
+ }
471
+ .typcn-eye:before {
472
+ content: '\e06f';
473
+ /* '' */
474
+ }
475
+ .typcn-feather:before {
476
+ content: '\e070';
477
+ /* '' */
478
+ }
479
+ .typcn-film:before {
480
+ content: '\e071';
481
+ /* '' */
482
+ }
483
+ .typcn-filter:before {
484
+ content: '\e072';
485
+ /* '' */
486
+ }
487
+ .typcn-flag-outline:before {
488
+ content: '\e073';
489
+ /* '' */
490
+ }
491
+ .typcn-flag:before {
492
+ content: '\e074';
493
+ /* '' */
494
+ }
495
+ .typcn-flash-outline:before {
496
+ content: '\e075';
497
+ /* '' */
498
+ }
499
+ .typcn-flash:before {
500
+ content: '\e076';
501
+ /* '' */
502
+ }
503
+ .typcn-flow-children:before {
504
+ content: '\e077';
505
+ /* '' */
506
+ }
507
+ .typcn-flow-merge:before {
508
+ content: '\e078';
509
+ /* '' */
510
+ }
511
+ .typcn-flow-parallel:before {
512
+ content: '\e079';
513
+ /* '' */
514
+ }
515
+ .typcn-flow-switch:before {
516
+ content: '\e07a';
517
+ /* '' */
518
+ }
519
+ .typcn-folder-add:before {
520
+ content: '\e07b';
521
+ /* '' */
522
+ }
523
+ .typcn-folder-delete:before {
524
+ content: '\e07c';
525
+ /* '' */
526
+ }
527
+ .typcn-folder-open:before {
528
+ content: '\e07d';
529
+ /* '' */
530
+ }
531
+ .typcn-folder:before {
532
+ content: '\e07e';
533
+ /* '' */
534
+ }
535
+ .typcn-gift:before {
536
+ content: '\e07f';
537
+ /* '' */
538
+ }
539
+ .typcn-globe-outline:before {
540
+ content: '\e080';
541
+ /* '' */
542
+ }
543
+ .typcn-globe:before {
544
+ content: '\e081';
545
+ /* '' */
546
+ }
547
+ .typcn-group-outline:before {
548
+ content: '\e082';
549
+ /* '' */
550
+ }
551
+ .typcn-group:before {
552
+ content: '\e083';
553
+ /* '' */
554
+ }
555
+ .typcn-headphones:before {
556
+ content: '\e084';
557
+ /* '' */
558
+ }
559
+ .typcn-heart-full-outline:before {
560
+ content: '\e085';
561
+ /* '' */
562
+ }
563
+ .typcn-heart-half-outline:before {
564
+ content: '\e086';
565
+ /* '' */
566
+ }
567
+ .typcn-heart-outline:before {
568
+ content: '\e087';
569
+ /* '' */
570
+ }
571
+ .typcn-heart:before {
572
+ content: '\e088';
573
+ /* '' */
574
+ }
575
+ .typcn-home-outline:before {
576
+ content: '\e089';
577
+ /* '' */
578
+ }
579
+ .typcn-home:before {
580
+ content: '\e08a';
581
+ /* '' */
582
+ }
583
+ .typcn-html5:before {
584
+ content: '\e08b';
585
+ /* '' */
586
+ }
587
+ .typcn-image-outline:before {
588
+ content: '\e08c';
589
+ /* '' */
590
+ }
591
+ .typcn-image:before {
592
+ content: '\e08d';
593
+ /* '' */
594
+ }
595
+ .typcn-infinity-outline:before {
596
+ content: '\e08e';
597
+ /* '' */
598
+ }
599
+ .typcn-infinity:before {
600
+ content: '\e08f';
601
+ /* '' */
602
+ }
603
+ .typcn-info-large-outline:before {
604
+ content: '\e090';
605
+ /* '' */
606
+ }
607
+ .typcn-info-large:before {
608
+ content: '\e091';
609
+ /* '' */
610
+ }
611
+ .typcn-info-outline:before {
612
+ content: '\e092';
613
+ /* '' */
614
+ }
615
+ .typcn-info:before {
616
+ content: '\e093';
617
+ /* '' */
618
+ }
619
+ .typcn-input-checked-outline:before {
620
+ content: '\e094';
621
+ /* '' */
622
+ }
623
+ .typcn-input-checked:before {
624
+ content: '\e095';
625
+ /* '' */
626
+ }
627
+ .typcn-key-outline:before {
628
+ content: '\e096';
629
+ /* '' */
630
+ }
631
+ .typcn-key:before {
632
+ content: '\e097';
633
+ /* '' */
634
+ }
635
+ .typcn-keyboard:before {
636
+ content: '\e098';
637
+ /* '' */
638
+ }
639
+ .typcn-leaf:before {
640
+ content: '\e099';
641
+ /* '' */
642
+ }
643
+ .typcn-lightbulb:before {
644
+ content: '\e09a';
645
+ /* '' */
646
+ }
647
+ .typcn-link-outline:before {
648
+ content: '\e09b';
649
+ /* '' */
650
+ }
651
+ .typcn-link:before {
652
+ content: '\e09c';
653
+ /* '' */
654
+ }
655
+ .typcn-location-arrow-outline:before {
656
+ content: '\e09d';
657
+ /* '' */
658
+ }
659
+ .typcn-location-arrow:before {
660
+ content: '\e09e';
661
+ /* '' */
662
+ }
663
+ .typcn-location-outline:before {
664
+ content: '\e09f';
665
+ /* '' */
666
+ }
667
+ .typcn-location:before {
668
+ content: '\e0a0';
669
+ /* '' */
670
+ }
671
+ .typcn-lock-closed-outline:before {
672
+ content: '\e0a1';
673
+ /* '' */
674
+ }
675
+ .typcn-lock-closed:before {
676
+ content: '\e0a2';
677
+ /* '' */
678
+ }
679
+ .typcn-lock-open-outline:before {
680
+ content: '\e0a3';
681
+ /* '' */
682
+ }
683
+ .typcn-lock-open:before {
684
+ content: '\e0a4';
685
+ /* '' */
686
+ }
687
+ .typcn-mail:before {
688
+ content: '\e0a5';
689
+ /* '' */
690
+ }
691
+ .typcn-map:before {
692
+ content: '\e0a6';
693
+ /* '' */
694
+ }
695
+ .typcn-media-eject-outline:before {
696
+ content: '\e0a7';
697
+ /* '' */
698
+ }
699
+ .typcn-media-eject:before {
700
+ content: '\e0a8';
701
+ /* '' */
702
+ }
703
+ .typcn-media-fast-forward-outline:before {
704
+ content: '\e0a9';
705
+ /* '' */
706
+ }
707
+ .typcn-media-fast-forward:before {
708
+ content: '\e0aa';
709
+ /* '' */
710
+ }
711
+ .typcn-media-pause-outline:before {
712
+ content: '\e0ab';
713
+ /* '' */
714
+ }
715
+ .typcn-media-pause:before {
716
+ content: '\e0ac';
717
+ /* '' */
718
+ }
719
+ .typcn-media-play-outline:before {
720
+ content: '\e0ad';
721
+ /* '' */
722
+ }
723
+ .typcn-media-play-reverse-outline:before {
724
+ content: '\e0ae';
725
+ /* '' */
726
+ }
727
+ .typcn-media-play-reverse:before {
728
+ content: '\e0af';
729
+ /* '' */
730
+ }
731
+ .typcn-media-play:before {
732
+ content: '\e0b0';
733
+ /* '' */
734
+ }
735
+ .typcn-media-record-outline:before {
736
+ content: '\e0b1';
737
+ /* '' */
738
+ }
739
+ .typcn-media-record:before {
740
+ content: '\e0b2';
741
+ /* '' */
742
+ }
743
+ .typcn-media-rewind-outline:before {
744
+ content: '\e0b3';
745
+ /* '' */
746
+ }
747
+ .typcn-media-rewind:before {
748
+ content: '\e0b4';
749
+ /* '' */
750
+ }
751
+ .typcn-media-stop-outline:before {
752
+ content: '\e0b5';
753
+ /* '' */
754
+ }
755
+ .typcn-media-stop:before {
756
+ content: '\e0b6';
757
+ /* '' */
758
+ }
759
+ .typcn-message-typing:before {
760
+ content: '\e0b7';
761
+ /* '' */
762
+ }
763
+ .typcn-message:before {
764
+ content: '\e0b8';
765
+ /* '' */
766
+ }
767
+ .typcn-messages:before {
768
+ content: '\e0b9';
769
+ /* '' */
770
+ }
771
+ .typcn-microphone-outline:before {
772
+ content: '\e0ba';
773
+ /* '' */
774
+ }
775
+ .typcn-microphone:before {
776
+ content: '\e0bb';
777
+ /* '' */
778
+ }
779
+ .typcn-minus-outline:before {
780
+ content: '\e0bc';
781
+ /* '' */
782
+ }
783
+ .typcn-minus:before {
784
+ content: '\e0bd';
785
+ /* '' */
786
+ }
787
+ .typcn-mortar-board:before {
788
+ content: '\e0be';
789
+ /* '' */
790
+ }
791
+ .typcn-news:before {
792
+ content: '\e0bf';
793
+ /* '' */
794
+ }
795
+ .typcn-notes-outline:before {
796
+ content: '\e0c0';
797
+ /* '' */
798
+ }
799
+ .typcn-notes:before {
800
+ content: '\e0c1';
801
+ /* '' */
802
+ }
803
+ .typcn-pen:before {
804
+ content: '\e0c2';
805
+ /* '' */
806
+ }
807
+ .typcn-pencil:before {
808
+ content: '\e0c3';
809
+ /* '' */
810
+ }
811
+ .typcn-phone-outline:before {
812
+ content: '\e0c4';
813
+ /* '' */
814
+ }
815
+ .typcn-phone:before {
816
+ content: '\e0c5';
817
+ /* '' */
818
+ }
819
+ .typcn-pi-outline:before {
820
+ content: '\e0c6';
821
+ /* '' */
822
+ }
823
+ .typcn-pi:before {
824
+ content: '\e0c7';
825
+ /* '' */
826
+ }
827
+ .typcn-pin-outline:before {
828
+ content: '\e0c8';
829
+ /* '' */
830
+ }
831
+ .typcn-pin:before {
832
+ content: '\e0c9';
833
+ /* '' */
834
+ }
835
+ .typcn-pipette:before {
836
+ content: '\e0ca';
837
+ /* '' */
838
+ }
839
+ .typcn-plane-outline:before {
840
+ content: '\e0cb';
841
+ /* '' */
842
+ }
843
+ .typcn-plane:before {
844
+ content: '\e0cc';
845
+ /* '' */
846
+ }
847
+ .typcn-plug:before {
848
+ content: '\e0cd';
849
+ /* '' */
850
+ }
851
+ .typcn-plus-outline:before {
852
+ content: '\e0ce';
853
+ /* '' */
854
+ }
855
+ .typcn-plus:before {
856
+ content: '\e0cf';
857
+ /* '' */
858
+ }
859
+ .typcn-point-of-interest-outline:before {
860
+ content: '\e0d0';
861
+ /* '' */
862
+ }
863
+ .typcn-point-of-interest:before {
864
+ content: '\e0d1';
865
+ /* '' */
866
+ }
867
+ .typcn-power-outline:before {
868
+ content: '\e0d2';
869
+ /* '' */
870
+ }
871
+ .typcn-power:before {
872
+ content: '\e0d3';
873
+ /* '' */
874
+ }
875
+ .typcn-printer:before {
876
+ content: '\e0d4';
877
+ /* '' */
878
+ }
879
+ .typcn-puzzle-outline:before {
880
+ content: '\e0d5';
881
+ /* '' */
882
+ }
883
+ .typcn-puzzle:before {
884
+ content: '\e0d6';
885
+ /* '' */
886
+ }
887
+ .typcn-radar-outline:before {
888
+ content: '\e0d7';
889
+ /* '' */
890
+ }
891
+ .typcn-radar:before {
892
+ content: '\e0d8';
893
+ /* '' */
894
+ }
895
+ .typcn-refresh-outline:before {
896
+ content: '\e0d9';
897
+ /* '' */
898
+ }
899
+ .typcn-refresh:before {
900
+ content: '\e0da';
901
+ /* '' */
902
+ }
903
+ .typcn-rss-outline:before {
904
+ content: '\e0db';
905
+ /* '' */
906
+ }
907
+ .typcn-rss:before {
908
+ content: '\e0dc';
909
+ /* '' */
910
+ }
911
+ .typcn-scissors-outline:before {
912
+ content: '\e0dd';
913
+ /* '' */
914
+ }
915
+ .typcn-scissors:before {
916
+ content: '\e0de';
917
+ /* '' */
918
+ }
919
+ .typcn-shopping-bag:before {
920
+ content: '\e0df';
921
+ /* '' */
922
+ }
923
+ .typcn-shopping-cart:before {
924
+ content: '\e0e0';
925
+ /* '' */
926
+ }
927
+ .typcn-social-at-circular:before {
928
+ content: '\e0e1';
929
+ /* '' */
930
+ }
931
+ .typcn-social-dribbble-circular:before {
932
+ content: '\e0e2';
933
+ /* '' */
934
+ }
935
+ .typcn-social-dribbble:before {
936
+ content: '\e0e3';
937
+ /* '' */
938
+ }
939
+ .typcn-social-facebook-circular:before {
940
+ content: '\e0e4';
941
+ /* '' */
942
+ }
943
+ .typcn-social-facebook:before {
944
+ content: '\e0e5';
945
+ /* '' */
946
+ }
947
+ .typcn-social-flickr-circular:before {
948
+ content: '\e0e6';
949
+ /* '' */
950
+ }
951
+ .typcn-social-flickr:before {
952
+ content: '\e0e7';
953
+ /* '' */
954
+ }
955
+ .typcn-social-github-circular:before {
956
+ content: '\e0e8';
957
+ /* '' */
958
+ }
959
+ .typcn-social-github:before {
960
+ content: '\e0e9';
961
+ /* '' */
962
+ }
963
+ .typcn-social-google-plus-circular:before {
964
+ content: '\e0ea';
965
+ /* '' */
966
+ }
967
+ .typcn-social-google-plus:before {
968
+ content: '\e0eb';
969
+ /* '' */
970
+ }
971
+ .typcn-social-instagram-circular:before {
972
+ content: '\e0ec';
973
+ /* '' */
974
+ }
975
+ .typcn-social-instagram:before {
976
+ content: '\e0ed';
977
+ /* '' */
978
+ }
979
+ .typcn-social-last-fm-circular:before {
980
+ content: '\e0ee';
981
+ /* '' */
982
+ }
983
+ .typcn-social-last-fm:before {
984
+ content: '\e0ef';
985
+ /* '' */
986
+ }
987
+ .typcn-social-linkedin-circular:before {
988
+ content: '\e0f0';
989
+ /* '' */
990
+ }
991
+ .typcn-social-linkedin:before {
992
+ content: '\e0f1';
993
+ /* '' */
994
+ }
995
+ .typcn-social-pinterest-circular:before {
996
+ content: '\e0f2';
997
+ /* '' */
998
+ }
999
+ .typcn-social-pinterest:before {
1000
+ content: '\e0f3';
1001
+ /* '' */
1002
+ }
1003
+ .typcn-social-skype-outline:before {
1004
+ content: '\e0f4';
1005
+ /* '' */
1006
+ }
1007
+ .typcn-social-skype:before {
1008
+ content: '\e0f5';
1009
+ /* '' */
1010
+ }
1011
+ .typcn-social-tumbler-circular:before {
1012
+ content: '\e0f6';
1013
+ /* '' */
1014
+ }
1015
+ .typcn-social-tumbler:before {
1016
+ content: '\e0f7';
1017
+ /* '' */
1018
+ }
1019
+ .typcn-social-twitter-circular:before {
1020
+ content: '\e0f8';
1021
+ /* '' */
1022
+ }
1023
+ .typcn-social-twitter:before {
1024
+ content: '\e0f9';
1025
+ /* '' */
1026
+ }
1027
+ .typcn-social-vimeo-circular:before {
1028
+ content: '\e0fa';
1029
+ /* '' */
1030
+ }
1031
+ .typcn-social-vimeo:before {
1032
+ content: '\e0fb';
1033
+ /* '' */
1034
+ }
1035
+ .typcn-social-youtube-circular:before {
1036
+ content: '\e0fc';
1037
+ /* '' */
1038
+ }
1039
+ .typcn-social-youtube:before {
1040
+ content: '\e0fd';
1041
+ /* '' */
1042
+ }
1043
+ .typcn-sort-alphabetically-outline:before {
1044
+ content: '\e0fe';
1045
+ /* '' */
1046
+ }
1047
+ .typcn-sort-alphabetically:before {
1048
+ content: '\e0ff';
1049
+ /* '' */
1050
+ }
1051
+ .typcn-sort-numerically-outline:before {
1052
+ content: '\e100';
1053
+ /* '' */
1054
+ }
1055
+ .typcn-sort-numerically:before {
1056
+ content: '\e101';
1057
+ /* '' */
1058
+ }
1059
+ .typcn-spanner-outline:before {
1060
+ content: '\e102';
1061
+ /* '' */
1062
+ }
1063
+ .typcn-spanner:before {
1064
+ content: '\e103';
1065
+ /* '' */
1066
+ }
1067
+ .typcn-spiral:before {
1068
+ content: '\e104';
1069
+ /* '' */
1070
+ }
1071
+ .typcn-star-full-outline:before {
1072
+ content: '\e105';
1073
+ /* '' */
1074
+ }
1075
+ .typcn-star-half-outline:before {
1076
+ content: '\e106';
1077
+ /* '' */
1078
+ }
1079
+ .typcn-star-half:before {
1080
+ content: '\e107';
1081
+ /* '' */
1082
+ }
1083
+ .typcn-star-outline:before {
1084
+ content: '\e108';
1085
+ /* '' */
1086
+ }
1087
+ .typcn-star:before {
1088
+ content: '\e109';
1089
+ /* '' */
1090
+ }
1091
+ .typcn-starburst-outline:before {
1092
+ content: '\e10a';
1093
+ /* '' */
1094
+ }
1095
+ .typcn-starburst:before {
1096
+ content: '\e10b';
1097
+ /* '' */
1098
+ }
1099
+ .typcn-stopwatch:before {
1100
+ content: '\e10c';
1101
+ /* '' */
1102
+ }
1103
+ .typcn-support:before {
1104
+ content: '\e10d';
1105
+ /* '' */
1106
+ }
1107
+ .typcn-tabs-outline:before {
1108
+ content: '\e10e';
1109
+ /* '' */
1110
+ }
1111
+ .typcn-tag:before {
1112
+ content: '\e10f';
1113
+ /* '' */
1114
+ }
1115
+ .typcn-tags:before {
1116
+ content: '\e110';
1117
+ /* '' */
1118
+ }
1119
+ .typcn-th-large-outline:before {
1120
+ content: '\e111';
1121
+ /* '' */
1122
+ }
1123
+ .typcn-th-large:before {
1124
+ content: '\e112';
1125
+ /* '' */
1126
+ }
1127
+ .typcn-th-list-outline:before {
1128
+ content: '\e113';
1129
+ /* '' */
1130
+ }
1131
+ .typcn-th-list:before {
1132
+ content: '\e114';
1133
+ /* '' */
1134
+ }
1135
+ .typcn-th-menu-outline:before {
1136
+ content: '\e115';
1137
+ /* '' */
1138
+ }
1139
+ .typcn-th-menu:before {
1140
+ content: '\e116';
1141
+ /* '' */
1142
+ }
1143
+ .typcn-th-small-outline:before {
1144
+ content: '\e117';
1145
+ /* '' */
1146
+ }
1147
+ .typcn-th-small:before {
1148
+ content: '\e118';
1149
+ /* '' */
1150
+ }
1151
+ .typcn-thermometer:before {
1152
+ content: '\e119';
1153
+ /* '' */
1154
+ }
1155
+ .typcn-thumbs-down:before {
1156
+ content: '\e11a';
1157
+ /* '' */
1158
+ }
1159
+ .typcn-thumbs-ok:before {
1160
+ content: '\e11b';
1161
+ /* '' */
1162
+ }
1163
+ .typcn-thumbs-up:before {
1164
+ content: '\e11c';
1165
+ /* '' */
1166
+ }
1167
+ .typcn-tick-outline:before {
1168
+ content: '\e11d';
1169
+ /* '' */
1170
+ }
1171
+ .typcn-tick:before {
1172
+ content: '\e11e';
1173
+ /* '' */
1174
+ }
1175
+ .typcn-ticket:before {
1176
+ content: '\e11f';
1177
+ /* '' */
1178
+ }
1179
+ .typcn-time:before {
1180
+ content: '\e120';
1181
+ /* '' */
1182
+ }
1183
+ .typcn-times-outline:before {
1184
+ content: '\e121';
1185
+ /* '' */
1186
+ }
1187
+ .typcn-times:before {
1188
+ content: '\e122';
1189
+ /* '' */
1190
+ }
1191
+ .typcn-trash:before {
1192
+ content: '\e123';
1193
+ /* '' */
1194
+ }
1195
+ .typcn-tree:before {
1196
+ content: '\e124';
1197
+ /* '' */
1198
+ }
1199
+ .typcn-upload-outline:before {
1200
+ content: '\e125';
1201
+ /* '' */
1202
+ }
1203
+ .typcn-upload:before {
1204
+ content: '\e126';
1205
+ /* '' */
1206
+ }
1207
+ .typcn-user-add-outline:before {
1208
+ content: '\e127';
1209
+ /* '' */
1210
+ }
1211
+ .typcn-user-add:before {
1212
+ content: '\e128';
1213
+ /* '' */
1214
+ }
1215
+ .typcn-user-delete-outline:before {
1216
+ content: '\e129';
1217
+ /* '' */
1218
+ }
1219
+ .typcn-user-delete:before {
1220
+ content: '\e12a';
1221
+ /* '' */
1222
+ }
1223
+ .typcn-user-outline:before {
1224
+ content: '\e12b';
1225
+ /* '' */
1226
+ }
1227
+ .typcn-user:before {
1228
+ content: '\e12c';
1229
+ /* '' */
1230
+ }
1231
+ .typcn-vendor-android:before {
1232
+ content: '\e12d';
1233
+ /* '' */
1234
+ }
1235
+ .typcn-vendor-apple:before {
1236
+ content: '\e12e';
1237
+ /* '' */
1238
+ }
1239
+ .typcn-vendor-microsoft:before {
1240
+ content: '\e12f';
1241
+ /* '' */
1242
+ }
1243
+ .typcn-video-outline:before {
1244
+ content: '\e130';
1245
+ /* '' */
1246
+ }
1247
+ .typcn-video:before {
1248
+ content: '\e131';
1249
+ /* '' */
1250
+ }
1251
+ .typcn-volume-down:before {
1252
+ content: '\e132';
1253
+ /* '' */
1254
+ }
1255
+ .typcn-volume-mute:before {
1256
+ content: '\e133';
1257
+ /* '' */
1258
+ }
1259
+ .typcn-volume-up:before {
1260
+ content: '\e134';
1261
+ /* '' */
1262
+ }
1263
+ .typcn-volume:before {
1264
+ content: '\e135';
1265
+ /* '' */
1266
+ }
1267
+ .typcn-warning-outline:before {
1268
+ content: '\e136';
1269
+ /* '' */
1270
+ }
1271
+ .typcn-warning:before {
1272
+ content: '\e137';
1273
+ /* '' */
1274
+ }
1275
+ .typcn-watch:before {
1276
+ content: '\e138';
1277
+ /* '' */
1278
+ }
1279
+ .typcn-waves-outline:before {
1280
+ content: '\e139';
1281
+ /* '' */
1282
+ }
1283
+ .typcn-waves:before {
1284
+ content: '\e13a';
1285
+ /* '' */
1286
+ }
1287
+ .typcn-weather-cloudy:before {
1288
+ content: '\e13b';
1289
+ /* '' */
1290
+ }
1291
+ .typcn-weather-downpour:before {
1292
+ content: '\e13c';
1293
+ /* '' */
1294
+ }
1295
+ .typcn-weather-night:before {
1296
+ content: '\e13d';
1297
+ /* '' */
1298
+ }
1299
+ .typcn-weather-partly-sunny:before {
1300
+ content: '\e13e';
1301
+ /* '' */
1302
+ }
1303
+ .typcn-weather-shower:before {
1304
+ content: '\e13f';
1305
+ /* '' */
1306
+ }
1307
+ .typcn-weather-snow:before {
1308
+ content: '\e140';
1309
+ /* '' */
1310
+ }
1311
+ .typcn-weather-stormy:before {
1312
+ content: '\e141';
1313
+ /* '' */
1314
+ }
1315
+ .typcn-weather-sunny:before {
1316
+ content: '\e142';
1317
+ /* '' */
1318
+ }
1319
+ .typcn-weather-windy-cloudy:before {
1320
+ content: '\e143';
1321
+ /* '' */
1322
+ }
1323
+ .typcn-weather-windy:before {
1324
+ content: '\e144';
1325
+ /* '' */
1326
+ }
1327
+ .typcn-wi-fi-outline:before {
1328
+ content: '\e145';
1329
+ /* '' */
1330
+ }
1331
+ .typcn-wi-fi:before {
1332
+ content: '\e146';
1333
+ /* '' */
1334
+ }
1335
+ .typcn-wine:before {
1336
+ content: '\e147';
1337
+ /* '' */
1338
+ }
1339
+ .typcn-world-outline:before {
1340
+ content: '\e148';
1341
+ /* '' */
1342
+ }
1343
+ .typcn-world:before {
1344
+ content: '\e149';
1345
+ /* '' */
1346
+ }
1347
+ .typcn-zoom-in-outline:before {
1348
+ content: '\e14a';
1349
+ /* '' */
1350
+ }
1351
+ .typcn-zoom-in:before {
1352
+ content: '\e14b';
1353
+ /* '' */
1354
+ }
1355
+ .typcn-zoom-out-outline:before {
1356
+ content: '\e14c';
1357
+ /* '' */
1358
+ }
1359
+ .typcn-zoom-out:before {
1360
+ content: '\e14d';
1361
+ /* '' */
1362
+ }
1363
+ .typcn-zoom-outline:before {
1364
+ content: '\e14e';
1365
+ /* '' */
1366
+ }
1367
+ .typcn-zoom:before {
1368
+ content: '\e14f';
1369
+ /* '' */
1370
+ }