1445 Commits

Author SHA1 Message Date
Damien Metzger
3f5963885e // Install multilang 2013-11-19 00:56:53 +01:00
Damien Metzger
54786a6f75 // Install 2013-11-19 00:10:46 +01:00
Damien Metzger
359f408bd1 // Install 2013-11-19 00:05:51 +01:00
Jerome Nadaud
60be5a7989 // themeconfigurator fix 2013-11-18 23:56:19 +01:00
Damien Metzger
89e09c32e8 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 23:55:39 +01:00
Damien Metzger
e2c930a165 // Install 2013-11-18 23:55:29 +01:00
Jerome Nadaud
1b96c590bb // fix stock available on install 2013-11-18 23:53:47 +01:00
Damien Metzger
dec5ef7469 // Install 2013-11-18 23:26:41 +01:00
Lucas CERDAN
e99332c012 // Pics 2013-11-18 22:55:17 +01:00
Jerome Nadaud
b2c656e51a // small font fix 2013-11-18 22:32:33 +01:00
Lucas CERDAN
4001a99414 Fixtures product 2013-11-18 22:21:10 +01:00
Jerome Nadaud
2c687ba090 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 22:16:38 +01:00
Jerome Nadaud
639a56421a // Themeconfigurator 2013-11-18 22:16:26 +01:00
Damien Metzger
51e5163761 // Moulinette for installer attributes 2013-11-18 22:10:22 +01:00
Jérôme Nadaud
fb0118e456 Merge pull request #996 from TMMeilleur/bootstrap
replace new css files location to modules/themeconfigurator/css
2013-11-18 11:53:22 -08:00
Jerome Nadaud
f2b5e6de51 // Themeconfigurator and homeslider 2013-11-18 20:49:52 +01:00
Lucas CERDAN
c451ee1bd8 // Fixtures 2013-11-18 20:46:22 +01:00
Damien Metzger
f4560d0899 // Install 2013-11-18 20:35:42 +01:00
Lucas CERDAN
bde8d02c81 Fixtures: category_product 2013-11-18 20:27:01 +01:00
Damien Metzger
e4fcb31836 // Install 2013-11-18 20:02:14 +01:00
Jerome Nadaud
3dd7a17f6f // Some fixtures 2013-11-18 19:53:44 +01:00
Lucas CERDAN
fac6a5f8b2 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 19:31:56 +01:00
Lucas CERDAN
0824a61551 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 19:29:32 +01:00
Damien Metzger
a2e1d5ad90 // Fix blockcategory install with new fixtures 2013-11-18 19:29:13 +01:00
Lucas CERDAN
72b6b3d482 Fixtures (en) 2013-11-18 19:27:10 +01:00
Jerome Nadaud
4f2ef4a638 // Update fixture in blockcms 2013-11-18 19:26:30 +01:00
Damien Metzger
a3e1fdb690 // Install 2013-11-18 19:22:10 +01:00
Lucas CERDAN
770d48cf3c Fixtures (en) : category_product 2013-11-18 19:15:10 +01:00
Alexander Grosul
b6c5cd7c63 replace new css files location to modules/themeconfigurator/css 2013-11-18 20:07:24 +02:00
Damien Metzger
36baadad1a // Set to new fixtures 2013-11-18 18:51:11 +01:00
Lucas CERDAN
c78252f64b Fixtures images 2013-11-18 18:38:24 +01:00
Lucas CERDAN
5ca7f683ac // Fixture (en): add description to categories 2013-11-18 18:09:40 +01:00
rGaillard
7755cd8d3e Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 17:46:20 +01:00
rGaillard
5c1f8871fc Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 17:46:05 +01:00
Jerome Nadaud
57b329ca74 // Remove other fonts 2013-11-18 17:46:05 +01:00
rGaillard
9197498c3c // delete useless module 2013-11-18 17:45:53 +01:00
Jerome Nadaud
339fb86f4b // oops 2013-11-18 17:42:26 +01:00
Jerome Nadaud
04bc320080 // Small fix 2013-11-18 17:41:16 +01:00
Lucas CERDAN
09a558485a New fixtures (en)
(my first commit, yay! :) )
2013-11-18 17:24:06 +01:00
Jerome Nadaud
c14b9e619d Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	modules/themeconfigurator/themeconfigurator.php
2013-11-18 17:21:41 +01:00
Jerome Nadaud
938ef4fe39 // small fix 2013-11-18 17:12:35 +01:00
Damien Metzger
43a54b10bf // Reverted revert 2013-11-18 17:00:23 +01:00
rGaillard
5d0b188eed // small fix 2013-11-18 16:19:02 +01:00
Rémi Gaillard
a1d34e4ad2 Merge pull request #993 from djfm/bootstrap
// fixed typo in Russian installer
2013-11-18 06:40:02 -08:00
Damien Metzger
1f71090b86 // Timeout increased for translation download #PSCFV-11046 2013-11-18 15:37:34 +01:00
Jerome Nadaud
522e95223f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 15:35:17 +01:00
Jerome Nadaud
89c9f182b3 // Small fix in live configurator toolbox 2013-11-18 15:35:03 +01:00
fram
1dd0064cb2 // fixed typo in Russian installer 2013-11-18 15:34:46 +01:00
Rémi Gaillard
f4194bedd9 Merge pull request #978 from StanProg/bootstrap
// FO : Removed unused local variable, tabs added, phpdoc tags
2013-11-18 06:27:46 -08:00
Rémi Gaillard
4c51570b34 Merge pull request #991 from TMMeilleur/bootstrap
// fixed add to wishlist/compare buttons and added product review
2013-11-18 06:22:43 -08:00
Jerome Nadaud
c4dab5f5a6 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 15:04:44 +01:00
Jerome Nadaud
40204ba458 // Live configurator toolbox part 2 2013-11-18 15:04:10 +01:00
Damien Metzger
adcc4f2c74 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-18 14:54:47 +01:00
Damien Metzger
b4385c346f [+] Installer : new demo products (part 1) 2013-11-18 14:53:39 +01:00
TMMeilleur
95b9710eda fixed add to wishlist/compare buttons and added product review 2013-11-18 15:52:39 +02:00
Jerome Nadaud
2ba5dc18fd Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	modules/themeconfigurator/themeconfigurator.php
2013-11-18 14:49:27 +01:00
Jerome Nadaud
46dc93fd7e // Adding update button on to page header toolbar on module 2013-11-18 14:41:49 +01:00
Jerome Nadaud
867eef79cc // Add live configurator toolbox - Part 1 2013-11-18 14:39:46 +01:00
Jerome Nadaud
239604b70c // Missing isset on cols and rows 2013-11-18 14:35:15 +01:00
Jerome Nadaud
ebad56a800 // Fix small error 2013-11-18 14:29:32 +01:00
Damien Metzger
89c65536d7 // Added missing configuration vars in the installer 2013-11-18 12:23:50 +01:00
Damien Metzger
5ef4b8eddc // Installer optimization 2013-11-18 12:12:14 +01:00
rGaillard
68c8e9da57 // move to themeconfigurator 2013-11-16 19:24:03 +01:00
Jérôme Nadaud
de9e6d72c8 // Typo 2013-11-16 08:04:59 +01:00
Jérôme Nadaud
3a58cb2a91 Merge pull request #983 from PrestaEdit/patch-60
//typo
2013-11-15 22:13:22 -08:00
PrestaEdit
9b787c454f //typo 2013-11-16 01:21:56 +01:00
rGaillard
8c3eb9b9a4 // typo 2013-11-15 21:03:17 +01:00
Damien Metzger
b62952accf [*] BO : Added simulation mode to the dashboard 2013-11-15 18:07:23 +01:00
Rémi Gaillard
4bd7164507 Merge pull request #982 from TMMeilleur/bootstrap
// added responsive rich menu and small fix in blockbanner
2013-11-15 08:47:58 -08:00
TMMeilleur
a5d9daff13 added responsive rich menu and small fix in blockbanner 2013-11-15 18:40:17 +02:00
Jerome Nadaud
5106a5f1e3 // Fix products controller title 2013-11-15 17:25:12 +01:00
Jerome Nadaud
96def5033f // typo 2013-11-15 17:19:12 +01:00
Jerome Nadaud
8cd1d623e5 // Fix error if default blockbanner image is missing 2013-11-15 17:13:50 +01:00
Jerome Nadaud
19cfa443d2 // fix dashgoals configuration fields size 2013-11-15 17:04:55 +01:00
Jerome Nadaud
5fb4ac5044 // Fix missing last actions button in tracking controller list 2013-11-15 16:25:31 +01:00
Jerome Nadaud
8d90578cf7 // Add anchor to list 2013-11-15 16:04:27 +01:00
Jerome Nadaud
ece4331622 //Fix addsharethis error 2013-11-15 15:38:51 +01:00
Jerome Nadaud
3af7a59caa // Add version number to addsharethis 2013-11-15 15:32:52 +01:00
Jerome Nadaud
b5d84a72e0 // AddShareThis fix 2013-11-15 15:31:01 +01:00
Jerome Nadaud
44f89053e4 // Invoice search fix 2013-11-15 15:00:56 +01:00
Jerome Nadaud
9fa2299c6b // Open prestashop.com link in new window 2013-11-15 11:56:23 +01:00
Jerome Nadaud
d7de507f42 // Product comments 2013-11-15 11:49:40 +01:00
Jerome Nadaud
a66d2e1ab6 // Fix form name 2013-11-15 09:18:41 +01:00
Jerome Nadaud
c2d956ec7d // Modif after specs change 2013-11-15 08:58:30 +01:00
Jerome Nadaud
29f65da5ca // Add wish list button to blockwishlist module 2013-11-14 19:54:28 +01:00
Rémi Gaillard
7fcbf8aa7c Merge pull request #977 from TMMeilleur/bootstrap
//updates and fixes 14.11.2013
2013-11-14 10:28:06 -08:00
Jerome Nadaud
80957666cf // Hide collapse and expand button when not necessary 2013-11-14 19:21:31 +01:00
Stanislav Yordanov
c5b1834870 [*] FO : Removed unused local variable, phpdoc return tag added 2013-11-14 19:22:39 +02:00
TMMeilleur
0d1c113be1 updates and fixes 14.11.2013 2013-11-14 18:08:05 +02:00
Jerome Nadaud
051ed32133 // Add toggle to datepicker button 2013-11-14 16:05:58 +01:00
Jerome Nadaud
4a46960112 // Small bootstrap fix 2013-11-14 16:00:22 +01:00
Jerome Nadaud
18a2e026ef // Adding more buttons to module configuration 2013-11-14 15:49:17 +01:00
Stanislav Yordanov
e7e514dc77 Removed unused local variable, tab added, phpdoc tags fixed 2013-11-14 16:41:08 +02:00
Jerome Nadaud
8f81af0463 // fix on blockcategories 2013-11-14 15:12:08 +01:00
Jerome Nadaud
67eeae0fa2 // Set visibility on help button 2013-11-14 14:42:35 +01:00
Jerome Nadaud
299a8e9e9f // Update attributes group title 2013-11-14 14:13:28 +01:00
Jerome Nadaud
09b908204b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-14 11:52:34 +01:00
Jerome Nadaud
87faae9717 // Add top menu to blockcategories 2013-11-14 11:52:24 +01:00
Vincent Augagneur
9a0b308846 //remove preactivationLink ajax and move in gamification module 2013-11-14 10:54:29 +01:00
Jerome Nadaud
63ef0b82e6 // Categories thumbnail images for blocktopmenu 2013-11-14 10:37:07 +01:00
Jerome Nadaud
232309996b // Fix blocklayered bootstrap 2013-11-14 10:35:02 +01:00
Jerome Nadaud
27731f3bb2 // Bootstraping blocklayered backoffice and ajax fix 2013-11-13 20:13:42 +01:00
Jerome Nadaud
afaeb15b7d // Define default template dir on tree class 2013-11-13 20:10:13 +01:00
Francois Gaillard
c9a2410c57 [-] Classes : AdminController - Changed admin-theme.css position 2013-11-13 17:48:21 +01:00
Rémi Gaillard
3b1168a032 Merge pull request #974 from TMMeilleur/bootstrap
// added transforming for mobile view and other small fixes
2013-11-13 08:43:43 -08:00
Alexander Grosul
ae596ebcd4 added transforming for mobile view and other small fixes 2013-11-13 18:34:34 +02:00
Rémi Gaillard
fa3aa8c9d7 // strict standard 2013-11-13 15:46:06 +01:00
Jerome Nadaud
aa81e2607f // First boostraping pass on blocklayered module 2013-11-13 15:31:30 +01:00
Rémi Gaillard
899dea47a1 // oups 2013-11-13 15:32:56 +01:00
Rémi Gaillard
2fe12b965b [-] Core: add possibility to choose the position of your css files 2013-11-13 15:31:29 +01:00
Rémi Gaillard
f7e1229e16 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-13 11:58:24 +01:00
Rémi Gaillard
24a4694000 // small clean 2013-11-13 11:58:11 +01:00
Vincent Augagneur
5963871a01 //small fix 2013-11-13 11:40:13 +01:00
Rémi Gaillard
4a9383bbcf // small fix 2013-11-13 11:15:48 +01:00
Rémi Gaillard
115c368a89 Merge pull request #970 from alexey-svistunov/bootstrap
//Frontend updates.
2013-11-13 01:29:22 -08:00
Vincent Augagneur
746d8de9c7 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-13 10:09:07 +01:00
Vincent Augagneur
5d0117c5ed //added configuration in sql request in dashactivity 2013-11-13 10:08:57 +01:00
Jerome Nadaud
2cbf8af2b2 // Cms title 2013-11-13 09:36:58 +01:00
Vincent Augagneur
582ad68875 added default configuration value for dashproducts 2013-11-13 09:27:48 +01:00
Vincent Augagneur
55fa826525 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-13 09:07:54 +01:00
Vincent Augagneur
e7869f6b19 //added default configuration value for dashactivity 2013-11-13 09:07:44 +01:00
alexey-svistunov
a7aea1d018 Updating styles 2013-11-13 10:01:04 +02:00
alexey-svistunov
e7abdee44a Merge remote-tracking branch 'upstream/bootstrap' into bootstrap 2013-11-13 09:59:11 +02:00
Kevin Granger
4fbc8deaa8 // fix products 2013-11-12 18:21:36 +01:00
Vincent Augagneur
52abf62ae1 //dashactivity config 2013-11-12 17:33:54 +01:00
Kevin Granger
4e06b1fdd5 // update Bootstrap 3.0.2 + fix tree header 2013-11-12 14:50:19 +01:00
Vincent Augagneur
c6e34ee229 //dashproducts added section in tpl 2013-11-12 14:43:08 +01:00
Vincent Augagneur
249bd5437d Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-12 14:41:11 +01:00
Vincent Augagneur
cf9da09f98 //remove unused smarty variable 2013-11-12 14:40:58 +01:00
Jerome Nadaud
c7fff6b20d // Change edit title on employees controller 2013-11-12 12:05:00 +01:00
Jerome Nadaud
d6df601d0e // Preferences identrifer names 2013-11-12 11:55:54 +01:00
Jerome Nadaud
0430d09753 // Better php def for Page header title edit and view 2013-11-12 11:36:26 +01:00
Jerome Nadaud
fe387fa8ed // Set Identifier name for search engine 2013-11-12 11:30:26 +01:00
Jerome Nadaud
ec37efdf8b // Add identifier name 2013-11-12 11:30:01 +01:00
Jerome Nadaud
94817a9371 // ooops 2013-11-12 11:16:31 +01:00
Jerome Nadaud
db0e1e41a9 // Small Fix 2013-11-12 11:10:55 +01:00
Kevin Granger
3f83edc7e1 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-12 11:07:44 +01:00
Kevin Granger
4a6346b295 // adjustment on switch 2013-11-12 11:07:30 +01:00
Jerome Nadaud
41196f3c5f // General modification for view and edit title 2013-11-12 11:06:20 +01:00
Jerome Nadaud
44d1ed0982 // Add category name to page header title 2013-11-12 10:45:17 +01:00
Kevin Granger
2a982e96f1 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-12 10:44:08 +01:00
Kevin Granger
5ca23d44a6 // label with tooltip 2013-11-12 10:43:52 +01:00
Jerome Nadaud
3931914203 // Add Modernizr and Modernizr-loads check and loading for unsuported browsers 2013-11-12 09:54:20 +01:00
Alexey Svistunov
97d14e5b08 Added changes from commit 88aa49e TMMeilleur 2013-11-11 11:30:24 +02:00
Rémi Gaillard
d7dd85d7d0 Merge pull request #955 from alexey-svistunov/bootstrap
Added changes from eb94b51 TMMeilleur/PrestaShop
2013-11-08 11:25:25 -08:00
alexey-svistunov
6f5c9044d3 Added changes from eb94b51 TMMeilleur/PrestaShop 2013-11-08 21:00:00 +02:00
Kevin Granger
d3100acef2 // fixs on mobile nav 2013-11-08 18:31:07 +01:00
Jerome Nadaud
c5b3d20b96 // Fix empty file list on add 2013-11-08 18:05:56 +01:00
Jerome Nadaud
bdc996d13b // Wrong col size 2013-11-08 17:58:09 +01:00
Jerome Nadaud
a3082be2db // Remove unnecessary function 2013-11-08 17:53:26 +01:00
Jerome Nadaud
217a79eeae // Unify thumb param in files options 2013-11-08 17:49:56 +01:00
Jerome Nadaud
ef469d7782 // Move spin and ladda js to products controller 2013-11-08 17:47:09 +01:00
Jerome Nadaud
9065a73998 // Remove flags 2013-11-08 17:21:36 +01:00
Kevin Granger
00a72a5f68 // skin uploader button 2013-11-08 16:56:12 +01:00
Jerome Nadaud
5afe733e13 // Small fix on HelperUploader 2013-11-08 16:53:32 +01:00
Jerome Nadaud
bf67bd56a3 // Add uploader to products controller 2013-11-08 16:29:07 +01:00
Kevin Granger
034565bc6a Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-08 16:18:38 +01:00
Kevin Granger
b214ea68ff // mobile nav 2013-11-08 16:18:28 +01:00
Jérôme Nadaud
64c166c311 Merge pull request #947 from PhpMadman/Boot-UpTo
// made a working You Save column for Volume Discounts
2013-11-08 02:57:23 -08:00
Jérôme Nadaud
6f70c77d41 Merge pull request #949 from djfm/bootstrap
// sprintf & English
2013-11-08 02:45:04 -08:00
fram
be38a438e2 // sprintf & English 2013-11-08 11:39:59 +01:00
PhpMadman
1782bc082f // made a working You Save column for Volume Discounts 2013-11-08 10:27:36 +01:00
Kevin Granger
42af175d22 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-07 21:49:11 +01:00
Kevin Granger
9c4ee27f20 // mobile nav WIP 2013-11-07 21:48:55 +01:00
Kevin Granger
402221ad0f // load enquire.js 2013-11-07 21:48:17 +01:00
Rémi Gaillard
2d2445efd4 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-07 18:34:09 +01:00
Rémi Gaillard
855c8a8de4 // add 2 useful hooks 2013-11-07 18:33:49 +01:00
Jerome Nadaud
4d1a4393a9 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-07 17:58:32 +01:00
Jerome Nadaud
8a4c036655 // Fix cache problem 2013-11-07 17:58:17 +01:00
Rémi Gaillard
f5c133f6e0 // small fix 2013-11-07 17:50:28 +01:00
Rémi Gaillard
2d609ec93c // merge fixes 2013-11-07 17:43:26 +01:00
Kevin Granger
51e962195c // This Controller needs a toolbar and a title 2013-11-07 17:15:40 +01:00
Rémi Gaillard
e3cfacb90e // link to employee default tab and not index 2013-11-07 17:00:55 +01:00
Jerome Nadaud
01d8376ee7 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-07 16:48:56 +01:00
Jerome Nadaud
b51b388eaa // Blockcategories thumnail uploader fix 2013-11-07 16:44:55 +01:00
Jerome Nadaud
18718792be // Uploader helper part 3 2013-11-07 16:42:00 +01:00
Jérôme Nadaud
75171c77dd Merge pull request #940 from PhpMadman/bootstrap
// Fixes "Notice: Undefined index: nb_results in" when searching
2013-11-07 05:59:36 -08:00
PhpMadman
c6676197e5 // better syntax 2013-11-07 14:57:13 +01:00
PhpMadman
0a31ab8202 added check for empty value 2013-11-07 14:51:05 +01:00
Kevin Granger
3eb9a7e772 // update bootstrap + add enquire.js 2013-11-07 14:19:23 +01:00
Kevin Granger
63e31a4585 Merge pull request #939 from djfm/bootstrap
Translations (EN) / Mails / Fix Column
2013-11-07 05:08:16 -08:00
djfm
1bb550cf63 // allow hook exceptions on product comparison page 2013-11-07 13:01:54 +00:00
djfm
30624fabd2 Merge branch 'bootstrap' of https://github.com/djfm/PrestaShop into bootstrap 2013-11-07 12:27:58 +00:00
djfm
598034efb4 // English 2013-11-07 12:27:48 +00:00
djfm
8cb761078b // English 2013-11-07 12:26:55 +00:00
djfm
f83c50b264 // one is one 2013-11-07 11:08:15 +00:00
Vincent Augagneur
9e76f82fb5 //merge 2013-11-07 12:06:58 +01:00
Vincent Augagneur
3c31f1a07f //dashconfig errors return 2013-11-07 12:05:03 +01:00
djfm
3af230118b // English 2013-11-07 10:27:50 +00:00
Jerome Nadaud
c7249bcc84 // Done in 1.5.6.1 2013-11-07 11:05:39 +01:00
djfm
8ef9064355 Merge branch 'bootstrap' of https://github.com/djfm/PrestaShop into bootstrap 2013-11-07 10:02:24 +00:00
djfm
3d22303b90 // sprintf 2013-11-07 10:01:10 +00:00
PhpMadman
2f1a82628c // Fixes "Notice: Undefined index: nb_results in" 2013-11-07 09:00:00 +01:00
Kevin Granger
866e7f831b // fixs highlight search 2013-11-06 19:26:22 +01:00
Kevin Granger
93717e910b // Repairs sake of performance on tables with many lines. 2013-11-06 18:15:17 +01:00
djfm
1aadb10fb2 // English emails 2013-11-06 16:20:19 +00:00
Kevin Granger
df865eb827 Merge pull request #936 from TMMeilleur/bootstrap
// improved  scss variables
2013-11-06 07:00:31 -08:00
Jerome Nadaud
616cc91eb2 // Fix bug JQuery on handler 2013-11-06 15:49:44 +01:00
Jerome Nadaud
56230a1f53 // Live is deprecated in jquery 1.9 2013-11-06 15:34:46 +01:00
Jerome Nadaud
7895f8643e // Fix missing page header in combinations generator 2013-11-06 14:42:56 +01:00
TMMeilleur
211c36c7a3 improved scss variables 2013-11-06 15:41:00 +02:00
Jerome Nadaud
fcb225ac5a Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-06 12:19:15 +01:00
Jerome Nadaud
0c1b77b3da // Fix Combinations list actions button problem 2013-11-06 12:18:52 +01:00
Kevin Granger
05c71145c2 // dashboard 2013-11-06 12:14:49 +01:00
Vincent Augagneur
a890410a64 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-06 10:57:02 +01:00
Vincent Augagneur
c16c239953 //typo 2013-11-06 10:56:56 +01:00
Rémi Gaillard
9fa4296a06 Merge pull request #929 from djfm/bootstrap
// updated English emails: now responsive
2013-11-06 01:38:44 -08:00
Jérôme Nadaud
54db0b705c Merge pull request #923 from PrestaEdit/1.6.x-fancybox
//remove unnecessary addCSS (fancybox)
2013-11-06 00:31:57 -08:00
Rémi Gaillard
1dd919addf // no need mobile version with responsive :) 2013-11-05 19:15:24 +01:00
djfm
f742e817da // updated English emails: now responsive 2013-11-05 18:10:31 +00:00
Rémi Gaillard
3edaee1313 // themeconfigurator 2013-11-05 19:07:42 +01:00
Rémi Gaillard
65a41a9f7a // theme configurator 2013-11-05 18:49:21 +01:00
Kevin Granger
5ec5215919 // UI modules fixs 2013-11-05 18:17:39 +01:00
Vincent Augagneur
37e0556c36 //fixed carrier logo upload 2013-11-05 18:12:53 +01:00
Vincent Augagneur
871ebe77b6 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-05 18:08:22 +01:00
Vincent Augagneur
d27fe93daa //modules added ->bootstrap = true; 2013-11-05 18:08:01 +01:00
Damien Metzger
a31dbeb68e // Fixed bootstrap mode for modules 2013-11-05 17:29:51 +01:00
Kevin Granger
b68d8c5d4a Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-05 17:15:51 +01:00
Kevin Granger
332101614a // moved nv.d3.css to vendor directory 2013-11-05 17:15:36 +01:00
Vincent Augagneur
657c8f415a //small css fix 2013-11-05 17:01:38 +01:00
Vincent Augagneur
3f3a4ef342 //revert 2013-11-05 16:58:26 +01:00
Vincent Augagneur
217a9124d4 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-05 16:56:08 +01:00
Vincent Augagneur
1dccee0036 //remove back button in header toolbar on carrier wizard 2013-11-05 16:56:03 +01:00
Damien Metzger
ad7dfca9e1 // RSS date on the dashboard 2013-11-05 16:55:55 +01:00
Kevin Granger
2581acd505 // fix tooltip carrier wizard 2013-11-05 16:52:41 +01:00
Kevin Granger
eb02711042 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-05 16:42:24 +01:00
Kevin Granger
e702af6a67 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/css/admin-theme.css
2013-11-05 16:42:09 +01:00
Damien Metzger
9f1911eeca // Fixed shopping cart line reduction 2013-11-05 16:41:50 +01:00
Kevin Granger
533ebc0f6d // backward CSS 2013-11-05 16:40:21 +01:00
Rémi Gaillard
4a6cb5075e Merge pull request #924 from TMMeilleur/bootstrap
// Update default theme
2013-11-05 07:36:14 -08:00
Damien Metzger
ec528fff93 // one more groups improvement 2013-11-05 16:34:03 +01:00
Vincent Augagneur
f0e1b9b2b8 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-05 16:32:12 +01:00
Vincent Augagneur
7e872aa581 //small fix 2013-11-05 16:32:05 +01:00
Damien Metzger
161c701ecf // Groups review 2013-11-05 16:30:34 +01:00
TMMeilleur
0ffa6ab059 update 5.11.13 2013-11-05 17:27:57 +02:00
TMMeilleur
21209d799f update 5.11.13 2013-11-05 17:17:26 +02:00
Damien Metzger
0bd6b940d2 // Fixed logoq 2013-11-05 16:17:14 +01:00
Damien Metzger
0e4a900d3d // Fixed group display 2013-11-05 16:13:52 +01:00
Damien Metzger
e4fe5f6df6 // Fixed htmlentities in KPIs 2013-11-05 16:01:48 +01:00
Rémi Gaillard
161145fb34 // small fix 2013-11-05 15:35:14 +01:00
Damien Metzger
9bc5a52925 Merge pull request #916 from PrestaEdit/patch-58
[-] FO: use 4 images in thumbnails, not 3
2013-11-05 06:20:59 -08:00
Damien Metzger
b0ae53f823 // Changed cursor in the module position tab (for drag n drop) 2013-11-05 15:14:58 +01:00
Rémi Gaillard
b96da7e5ee Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-05 15:14:13 +01:00
Rémi Gaillard
a5bb0486e6 // fix email validator && allow to convert unicode without classes 2013-11-05 15:06:22 +01:00
Damien Metzger
9a86f2c32b // And now it works! 2013-11-05 15:02:36 +01:00
Damien Metzger
a5552f3f85 // Improved dashgoals configuration (tmp) 2013-11-05 14:44:42 +01:00
Kevin Granger
eb383e580e // Organize css/sass + backward compatibility WIP 2013-11-05 12:32:41 +01:00
TMMeilleur
55cd7c4c34 update 05.11.13 2013-11-05 11:35:24 +02:00
Vincent Augagneur
1a7aa020f6 //added new configuration on dashproduct 2013-11-05 10:23:26 +01:00
Vincent Augagneur
e710942833 //small fix on dashboard config save 2013-11-05 10:22:22 +01:00
Vincent Augagneur
9af3b30135 //smal fix on hookDashboardData params 2013-11-05 10:21:34 +01:00
Jonathan Danse
9f396ada83 //remove unnecessary addCSS (fancybox) 2013-11-05 10:13:13 +01:00
Jerome Nadaud
de8bd97831 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 19:50:48 +01:00
Jerome Nadaud
cf44f8d0b4 // Uploader helper small fix 2013-11-04 19:50:04 +01:00
Kevin Granger
fbc93e5632 // moved admin css and backward compatibility css to admin theme css directory 2013-11-04 19:48:53 +01:00
Rémi Gaillard
569455a7ff // fix on front validators 2013-11-04 19:26:51 +01:00
Damien Metzger
8dc29b20f0 // Code cleaning and dashgoals improvements (part 1 - not finished yet) 2013-11-04 18:52:27 +01:00
Jerome Nadaud
fa68e015b3 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 18:34:51 +01:00
Jerome Nadaud
bf2d54e286 // Add new uploader helper to blockcategories 2013-11-04 18:32:59 +01:00
Kevin Granger
8aedd4eb04 // Cleaned CSS files 2013-11-04 18:31:59 +01:00
Jerome Nadaud
d78a268730 // Uploader helper part 2 2013-11-04 18:31:43 +01:00
Damien Metzger
2a9ebaa6ed Merge pull request #920 from djfm/bootstrap
// English emails
2013-11-04 09:07:41 -08:00
djfm
71e3a8a937 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 16:58:17 +00:00
djfm
5372f31b4c // updated English emails 2013-11-04 16:57:50 +00:00
Jerome Nadaud
b650c349d5 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 17:47:46 +01:00
Jerome Nadaud
5af2ef38a1 // Fix Tagify javascript error 2013-11-04 17:47:27 +01:00
Kevin Granger
9611c17980 // removed install.css http://www.youtube.com/watch?v=Y9mq7Qc4oSM 2013-11-04 17:28:50 +01:00
Rémi Gaillard
2c3a5c553d // small fix 2013-11-04 17:23:04 +01:00
Kevin Granger
ddd722dc14 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 17:08:43 +01:00
Kevin Granger
667848d1df // removed csshover.htc 2013-11-04 17:08:32 +01:00
Damien Metzger
ac1f142f23 // Moved default_language 2013-11-04 17:08:17 +01:00
Damien Metzger
e8c0195ee9 // small fix merge 2013-11-04 17:04:09 +01:00
Kevin Granger
f3fa65f9be // removed admin-ie.css 2013-11-04 16:58:27 +01:00
Kevin Granger
68cda947ed // removed login.css 2013-11-04 16:53:43 +01:00
Damien Metzger
0009556ed5 // Fixed no bootstrap for modules 2013-11-04 16:51:30 +01:00
Damien Metzger
695326bc4e // Filter search BO 2013-11-04 16:51:30 +01:00
Damien Metzger
0ddc0d9f9a Merge pull request #919 from djfm/bootstrap
// installer typography
2013-11-04 07:23:25 -08:00
fram
5f1efc6b63 // installer typography 2013-11-04 16:20:10 +01:00
Damien Metzger
d4a6148b64 // Anything but a 404 image 2013-11-04 16:09:55 +01:00
Kevin Granger
48025838df // fixs referrers 2013-11-04 16:08:38 +01:00
Kevin Granger
d0c6d86eb9 // fixs for merge 2013-11-04 15:56:24 +01:00
Francois Gaillard
a81cde11d6 [-] Classes : ProductSale - Merge fix 2013-11-04 15:35:59 +01:00
Damien Metzger
f7d346ba99 // Added more results link at the end of the BO search 2013-11-04 15:03:48 +01:00
Damien Metzger
2e80ed8de5 // Cleaned conflict 2013-11-04 14:58:17 +01:00
Vincent Augagneur
5386a4547b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 14:57:50 +01:00
Damien Metzger
27273334e3 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 14:47:16 +01:00
Damien Metzger
e7e4376307 // Changed "gender image" to social title in the customer (BO) 2013-11-04 14:45:36 +01:00
Kevin Granger
92bd59fbea Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-11-04 14:43:10 +01:00
Kevin Granger
889a2006ec Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/controllers/customer_threads/message.tpl
	admin-dev/themes/default/template/controllers/customers/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/import/helpers/form/form.tpl
	admin-dev/themes/default/template/controllers/modules/favorites.tpl
	admin-dev/themes/default/template/controllers/modules/list.tpl
	admin-dev/themes/default/template/controllers/modules/tab_module_line.tpl
	admin-dev/themes/default/template/controllers/modules_positions/list_modules.tpl
	admin-dev/themes/default/template/controllers/orders/_print_pdf_icon.tpl
	admin-dev/themes/default/template/controllers/orders/form.tpl
	admin-dev/themes/default/template/controllers/orders/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/products/associations.tpl
	admin-dev/themes/default/template/controllers/products/combinations.tpl
	admin-dev/themes/default/template/controllers/products/images.tpl
	admin-dev/themes/default/template/controllers/products/informations.tpl
	admin-dev/themes/default/template/controllers/products/prices.tpl
	admin-dev/themes/default/template/controllers/referrers/helpers/view/view.tpl
	admin-dev/themes/default/template/header.tpl
	admin-dev/themes/default/template/helpers/form/form.tpl
	admin-dev/themes/default/template/helpers/list/list_header.tpl
	classes/ProductSale.php
	classes/helper/HelperList.php
	controllers/admin/AdminCmsController.php
	controllers/admin/AdminCustomersController.php
	controllers/admin/AdminMetaController.php
	controllers/admin/AdminModulesController.php
	controllers/admin/AdminPerformanceController.php
	controllers/admin/AdminProductsController.php
	controllers/front/ParentOrderController.php
	install-dev/theme/views/welcome.phtml
	modules/blocknewproducts/blocknewproducts.php
	modules/blocktopmenu/blocktopmenu.php
	modules/importerosc/importerosc.php
	modules/mailalerts/mailalerts.php
	modules/shopimporter/shopimporter.php
	modules/statsstock/statsstock.php
	themes/default/css/product_list.css
2013-11-04 14:43:01 +01:00
Damien Metzger
f8256bc15d // Fixed module KPI 2013-11-04 14:39:53 +01:00
Damien Metzger
d93ea846a9 // Code cleaning and small fixes 2013-11-04 14:29:31 +01:00
Damien Metzger
178cd7362d // admin search code cleaning 2013-11-04 13:57:27 +01:00
Damien Metzger
0451ca5c73 // Added Addons search 2013-11-04 12:24:55 +01:00
Vincent Augagneur
d571920806 //small fix 2013-11-04 11:09:53 +01:00
Damien Metzger
cfeeda7d9b // Assigned compared products to smarty 2013-11-04 11:00:50 +01:00
Vincent Augagneur
02367e5396 //missing file for blockwishlist module 2013-11-04 10:42:37 +01:00
Vincent Augagneur
3de663f9a1 //missing files for module followup 2013-11-04 10:20:17 +01:00
Vincent Augagneur
e03a86ad05 //homeslider new use bootstrap design 2013-11-04 10:01:29 +01:00
Rémi Gaillard
c4d18e5e9f avatar on customer threads 2013-11-02 16:01:06 +01:00
Rémi Gaillard
95b5036782 // addsharethis cache 2013-11-02 15:41:40 +01:00
Rémi Gaillard
930c9f3ff5 // validators 2013-11-02 10:50:02 +01:00
Rémi Gaillard
5db9c5cdd5 // small fix 2013-11-02 09:54:37 +01:00
Kevin Granger
84be298dc5 // some W3C fixs 2013-11-01 17:25:18 +01:00
Kevin Granger
1bcb8d5c82 // sass-bootstrap 3.0.1 update 2013-11-01 16:44:55 +01:00
Kevin Granger
9c499dc8a4 // Placeholder instead of label for list filter date 2013-11-01 16:28:21 +01:00
Kevin Granger
bf781ed267 // horizontal nav 2013-11-01 15:50:33 +01:00
PrestaEdit
d4075f1267 [-] FO: use 4 images in thumbnails, not 3 2013-10-31 23:06:19 +01:00
Kevin Granger
87eb9bba26 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-31 19:13:53 +01:00
Kevin Granger
64598535bd // Avatar + Vertical Nav WIP 2013-10-31 19:13:34 +01:00
Rémi Gaillard
a1696efe63 // small fix 2013-10-31 18:40:29 +01:00
Rémi Gaillard
74e92e364c // php warning 2013-10-31 18:26:09 +01:00
Damien Metzger
3669948547 // Revert to the previous lib with a trick 2013-10-31 17:53:34 +01:00
Damien Metzger
1ecc6e32ba // Try out new PEAR JSON encode 2013-10-31 17:45:02 +01:00
Damien Metzger
8670db2316 // Image sizes 2013-10-31 17:41:02 +01:00
Damien Metzger
343c9578da // Better 2013-10-31 17:15:30 +01:00
Damien Metzger
23e4e1badb // I forgot the link 2013-10-31 17:10:15 +01:00
Damien Metzger
fe78dceede // Fixed image sizes 2013-10-31 17:08:22 +01:00
Rémi Gaillard
c091729fd7 // missing directory 2013-10-31 17:03:41 +01:00
Rémi Gaillard
dc90450365 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-31 16:39:21 +01:00
Rémi Gaillard
a7ed5ee869 // cleaning 2013-10-31 16:39:01 +01:00
Damien Metzger
3c1cdf4ef2 // Fixed new arrivals issue 2013-10-31 16:09:10 +01:00
Kevin Granger
ba28c5f527 // UI fixs 2013-10-31 15:49:57 +01:00
Damien Metzger
549fa9003c // Small fix with URL rewrite 2013-10-31 15:41:41 +01:00
Damien Metzger
6c8e70f780 [*] FO : added "back to search results" the the product page 2013-10-31 15:32:52 +01:00
Damien Metzger
f565b273d8 // Reverting the revert 2013-10-31 15:13:46 +01:00
Damien Metzger
9a1b45a8e6 // Fixed warning and prepared next commit 2013-10-31 15:09:14 +01:00
Damien Metzger
a97e3927df Merge pull request #915 from TMMeilleur/bootstrap
// Theme update
2013-10-31 07:06:40 -07:00
TMMeilleur
68a98b29a6 tm theme 2013-10-31 15:51:25 +02:00
Damien Metzger
ff2954b1d2 [*] FO : Changed category block behavior inside categories 2013-10-31 12:20:59 +01:00
Kevin Granger
534421fb6b // UI fixs 2013-10-31 12:20:29 +01:00
Kevin Granger
03564fe0e5 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-31 11:34:58 +01:00
Kevin Granger
4334364b36 // cart rules > conditions > product rules 2013-10-31 11:34:47 +01:00
Rémi Gaillard
8a7f869515 // small graphical bug 2013-10-31 10:41:15 +01:00
Kevin Granger
09dcff959e // cart rules > conditions > product rules WIP 2013-10-30 19:25:58 +01:00
Rémi Gaillard
ecf45d0475 // small fix 2013-10-30 18:28:55 +01:00
Jerome Nadaud
9f2424db41 // Fix Module exception in transplant 2013-10-30 18:11:33 +01:00
Rémi Gaillard
8aa369531e // employee avatar 2013-10-30 18:02:10 +01:00
Vincent Augagneur
6a3e711cff //small fix 2013-10-30 15:43:31 +01:00
Rémi Gaillard
b9ad576fb0 // -> mailsrc branch 2013-10-30 15:02:06 +01:00
Vincent Augagneur
ad68105467 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-30 10:52:04 +01:00
Vincent Augagneur
0020412aea //added Preactivation request on dashboard 2013-10-30 10:51:58 +01:00
Rémi Gaillard
190c14ed9d // delete src mails -> go mailsrc branch 2013-10-30 10:25:51 +01:00
Kevin Granger
df80e6ec8b // btn-group-action adjustments 2013-10-29 18:55:33 +01:00
Kevin Granger
0b564c0107 // oups 2013-10-29 18:15:17 +01:00
Kevin Granger
aee725839e // fixs btn-group 2013-10-29 18:10:07 +01:00
Kevin Granger
5fa36abcaf // fixs UI 2013-10-29 17:32:57 +01:00
Damien Metzger
c7fe91a0a9 // Fixed traffic sources chart on dashboard 2013-10-29 16:38:40 +01:00
Damien Metzger
34aaeee0b5 // Fixed product images on the dashboard 2013-10-29 16:17:40 +01:00
Damien Metzger
4fe4d71361 // Stats cleaning 2013-10-29 15:29:55 +01:00
Damien Metzger
f06eb84d9f // Stats cleaning 2013-10-29 14:36:27 +01:00
Damien Metzger
dabb23ac8d // Added KPIs to the category page and fixed dashboard data 2013-10-29 11:03:09 +01:00
Kevin Granger
b3d7b8754b // fixs date range picker Wip 2013-10-29 10:40:33 +01:00
Jerome Nadaud
dd10301413 // Fix tagify key events 2013-10-28 17:46:00 +01:00
Jerome Nadaud
38f034f4e0 // Remove header and footer display when ajax 2013-10-28 17:10:53 +01:00
Jerome Nadaud
a466c6f5f7 // Add tagify system to product information 2013-10-28 16:32:17 +01:00
Kevin Granger
3798adff2f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-28 16:19:02 +01:00
Kevin Granger
d523d739e7 // dashboard date range picker wip 2013-10-28 16:18:43 +01:00
Jerome Nadaud
5760718b85 // Add Save button to page header toolbar 2013-10-28 15:55:58 +01:00
Rémi Gaillard
1454a0d26a // search type in BO 2013-10-28 15:32:26 +01:00
Damien Metzger
0aea146a4c // Code cleaning stats modules 2013-10-28 13:39:39 +01:00
Damien Metzger
9c54dcce66 // Fixed default stats graph engine 2013-10-28 12:15:35 +01:00
Damien Metzger
08732eda50 // Fixed default selection in the stats submenu 2013-10-28 12:08:46 +01:00
Damien Metzger
b6799d4f2f [*] BO : download attachments directly from the list 2013-10-28 11:57:40 +01:00
Damien Metzger
79b7521cac Merge pull request #892 from djfm/bootstrap
// small fixes in English Email php templates
2013-10-28 02:21:50 -07:00
Kevin Granger
7126397bfe // fix scroll vertical nav 2013-10-28 10:13:35 +01:00
djfm
4f8d153469 // fixed links in new English mails 2013-10-28 08:57:59 +00:00
djfm
38f45e3b2c Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-28 08:49:24 +00:00
Kevin Granger
8353bc5ac2 // fix attributes-color-container 2013-10-28 09:32:46 +01:00
Damien Metzger
6f04df8409 // Fixed icon 2013-10-25 19:06:03 +02:00
Damien Metzger
39f6a2354a Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	classes/helper/HelperForm.php
	classes/helper/HelperUploader.php
2013-10-25 18:58:07 +02:00
Damien Metzger
03857c0576 [*] BO : you can know download the previous file near the upload file input 2013-10-25 18:55:25 +02:00
Rémi Gaillard
8b1f9d0560 // small changes on admincms 2013-10-25 18:42:54 +02:00
Jerome Nadaud
8be88324f9 // Add internet explorer 9 Compat 2013-10-25 18:13:25 +02:00
Damien Metzger
e9a802cf23 [*] BO : Added the number of associated products in the product attachments list 2013-10-25 18:04:27 +02:00
Jerome Nadaud
5ea880b793 // XHTML norm 2013-10-25 17:37:08 +02:00
Rémi Gaillard
c67e71ca59 // layout fix 2013-10-25 17:30:10 +02:00
Kevin Granger
50bc046671 // fix panel header tree actions (search + button) 2013-10-25 17:24:49 +02:00
Rémi Gaillard
180b180aee // small changes 2013-10-25 16:24:57 +02:00
Rémi Gaillard
5ac471deaf // product toolbar 2013-10-25 16:11:33 +02:00
Jerome Nadaud
f472f3e848 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-25 15:55:39 +02:00
Jerome Nadaud
f89c8ed008 // Fix HelperUploader images params 2013-10-25 15:54:53 +02:00
Damien Metzger
aa322e4777 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/css/admin-theme.css
2013-10-25 15:22:01 +02:00
Damien Metzger
e8d5dc8a62 [*] BO : search results improvements (no unaccessible tabs, better display, better information) 2013-10-25 15:19:03 +02:00
Sarah Lorenzini
a49cc68b72 // news design sendtoafriend mails template 2013-10-25 15:01:05 +02:00
Kevin Granger
cae4770e0f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-25 14:58:30 +02:00
Rémi Gaillard
7aeba25f99 // class_index 2013-10-25 14:58:11 +02:00
Kevin Granger
339f428c23 // fix login - (tabindex, loading, ellipsis) 2013-10-25 14:58:10 +02:00
Sarah Lorenzini
f73716f902 // new design for referralprogram mails template 2013-10-25 14:56:34 +02:00
Rémi Gaillard
59a1105fce // small fix on multishop checkboxes 2013-10-25 14:55:27 +02:00
Jerome Nadaud
81482df1e5 // Fix merge 2013-10-25 14:33:29 +02:00
djfm
3a749823bb // small fixes in English Email php templates 2013-10-25 12:29:39 +00:00
Jerome Nadaud
08baa71a05 // Fix on color field in list 2013-10-25 14:29:30 +02:00
Jerome Nadaud
8d1765f2df Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	controllers/admin/AdminCategoriesController.php
2013-10-25 14:29:02 +02:00
Jerome Nadaud
bff1ad8833 // Some changes to integrate uploader helper 2013-10-25 14:20:42 +02:00
Jerome Nadaud
52795495bd //Starting Uploader helper 2013-10-25 14:19:51 +02:00
Rémi Gaillard
3997543e7f // notice 2013-10-25 11:35:01 +02:00
Damien Metzger
087d0d8206 // Fields resizing 2013-10-25 11:25:13 +02:00
Damien Metzger
d59c83e64d Merge pull request #888 from djfm/bootstrap
[+] FO: New E-Mail templates!
2013-10-25 02:18:04 -07:00
djfm
dd009f133f // fixes in php mail templates 2013-10-25 09:13:24 +00:00
Kevin Granger
ddf65f3b97 // toolbar nav fixs 2013-10-25 10:33:45 +02:00
Damien Metzger
0ca5a24e84 // Added field (bootstrap) size in helper form 2013-10-25 10:16:39 +02:00
Jerome Nadaud
139ee8f62d // Move back button to left 2013-10-25 09:29:42 +02:00
Jerome Nadaud
3850cc94d5 // Align save button to right 2013-10-25 09:18:00 +02:00
Kevin Granger
acfc3bc266 // fixe buttons group wrap 2013-10-24 19:34:25 +02:00
Damien Metzger
cd5fa81025 // Fixed boulette 2013-10-24 19:29:22 +02:00
Damien Metzger
4cb7bd9137 // Changed label 2013-10-24 19:19:20 +02:00
Damien Metzger
8748b0d240 // Small improvements 2013-10-24 19:12:50 +02:00
Jerome Nadaud
279cb99a4e // Add regenerate option to thumbnail creation 2013-10-24 18:52:10 +02:00
Damien Metzger
f3d74c9461 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/css/admin-theme.css
2013-10-24 18:13:04 +02:00
Damien Metzger
5ff406cdb8 // css 2013-10-24 18:09:11 +02:00
Kevin Granger
5c3058d45b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-24 18:02:42 +02:00
Kevin Granger
e3dad946e3 // fixs 2013-10-24 18:02:13 +02:00
Sarah Lorenzini
e6d0fe60c3 // new design for mailalerts mails template 2013-10-24 17:54:32 +02:00
Kevin Granger
a02c31f106 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/css/admin-theme.css
2013-10-24 17:53:30 +02:00
Damien Metzger
f6dd4a9ee4 // Code review 2013-10-24 17:49:18 +02:00
Kevin Granger
32d146d880 // admin orders 2013-10-24 17:36:50 +02:00
Sarah Lorenzini
1a7f9e6c11 // new design for blockwishlist mails template 2013-10-24 17:35:37 +02:00
Sarah Lorenzini
005a57b077 // new design for blocknewsletter mails template 2013-10-24 17:28:37 +02:00
Vincent Augagneur
6a552be7dd //followup now use bootstrap design 2013-10-24 17:23:40 +02:00
Damien Metzger
b548f72ac5 // Attributes and values => Product Attributes 2013-10-24 17:18:45 +02:00
Jerome Nadaud
ea7b8b175e // Fix list title 2013-10-24 17:18:14 +02:00
Damien Metzger
c39a74e479 // Renamed Feature into Product Features 2013-10-24 17:07:47 +02:00
Damien Metzger
df639337af // Code cleaning and small fixes 2013-10-24 17:04:55 +02:00
Vincent Augagneur
f82322e426 //typo 2013-10-24 16:51:55 +02:00
Damien Metzger
d2ff076eb1 // Removed useless alert 2013-10-24 16:43:41 +02:00
Damien Metzger
2931c20914 // Fixed rounding 2013-10-24 16:38:48 +02:00
djfm
c8e75eec03 // fixed indentation in e-mail html templates 2013-10-24 14:25:17 +00:00
Sarah Lorenzini
a44cdf785e // new design for followup module mail 2013-10-24 16:18:52 +02:00
djfm
0603c54756 [*] LO : New English E-Mail templates by SuperSarah 2013-10-24 14:15:19 +00:00
Gregory Roussac
3f11dde2f6 Merge pull request #886 from djfm/bootstrap
//emails
2013-10-24 07:09:10 -07:00
djfm
572f7c725d // small html fix 2013-10-24 14:04:50 +00:00
djfm
3e8330dcb3 // small fixes on php email templates 2013-10-24 13:58:14 +00:00
Rémi Gaillard
667647f891 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-24 15:23:25 +02:00
Rémi Gaillard
691e45a168 // delete useless file 2013-10-24 15:23:03 +02:00
Damien Metzger
6a2e847970 // dashboard improvements 2013-10-24 15:04:06 +02:00
Damien Metzger
a9f75a02a7 // Added missing icons for modules 2013-10-24 14:15:44 +02:00
Damien Metzger
a1df97776a // Set default values 2013-10-24 13:54:55 +02:00
Rémi Gaillard
4bfd8dee11 // note updated by ajax in admincustomers should be url encoded 2013-10-24 11:51:48 +02:00
Damien Metzger
dd6aa1a077 Merge pull request #881 from emilien-puget/bootstrap
// changed path from dirname(__FILE__) to PS_ROOT_DIR
2013-10-24 02:49:34 -07:00
emilien-puget
92c2f6953f changed path from dirname(__FILE__) to PS_ROOT_DIR 2013-10-24 11:44:52 +02:00
Damien Metzger
a34784a15d // Fixed chart for period before the store creation 2013-10-24 11:17:33 +02:00
Damien Metzger
d173b2d4cd Merge pull request #880 from djfm/bootstrap
// use automatic path for css in mail template header
2013-10-24 01:45:41 -07:00
djfm
baed28f1a7 // use automatic path for css in mail template header 2013-10-24 08:37:08 +00:00
Rémi Gaillard
9a7c3dd88f // small fix 2013-10-24 10:14:44 +02:00
Damien Metzger
e17dd1fdde // theme installation 2013-10-24 09:49:46 +02:00
Sarah Lorenzini
d9382a0a5b // update mail template 2013-10-24 09:28:04 +02:00
Damien Metzger
9e0125d0b6 // theme installation 2013-10-23 19:09:14 +02:00
Kevin Granger
7a8cdf3913 // admin create order WIP 2013-10-23 18:54:44 +02:00
Rémi Gaillard
e1887425fa [*] BO: Add an option to choose to not import the behavior of taxes displaying for the groups in localization pack import 2013-10-23 18:22:53 +02:00
Vincent Augagneur
b38073ad72 //watermark now use bootstrap design 2013-10-23 18:01:23 +02:00
Sarah Lorenzini
7a23c169d6 // update css mail template 2013-10-23 17:58:28 +02:00
Sarah Lorenzini
45bd281504 // update mail templates 2013-10-23 17:53:54 +02:00
Gregory Roussac
c72c44f153 Merge pull request #877 from djfm/bootstrap
// English
2013-10-23 08:46:16 -07:00
djfm
52622e6be2 // English 2013-10-23 15:33:15 +00:00
Damien Metzger
758b5f7241 // Started to adapt the install to the new template 2013-10-23 17:29:59 +02:00
Damien Metzger
69d5cb4ccd [+] FO : New Responsive, Bootstrap template 2013-10-23 16:56:02 +02:00
Jerome Nadaud
16dfea95e3 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-23 16:49:05 +02:00
Jerome Nadaud
a27f8bc999 // Fix Stats datepicker 2013-10-23 16:48:55 +02:00
Damien Metzger
466699edcb // Add units to goals configuration 2013-10-23 16:36:04 +02:00
Damien Metzger
9930c375c7 // Dashgoals :) 2013-10-23 15:37:43 +02:00
Jerome Nadaud
ff3455be78 // Products combinations form bootstraping 2013-10-23 15:03:28 +02:00
Jerome Nadaud
c30d103410 // Check if exist children opt. in employees 2013-10-23 14:49:22 +02:00
Jerome Nadaud
fee2da6980 // Add sublime project file to gitignore 2013-10-23 14:35:24 +02:00
Rémi Gaillard
be1299d8d7 // small fix 2013-10-23 14:19:19 +02:00
Jerome Nadaud
4e1b4cdf90 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-23 12:11:10 +02:00
Jerome Nadaud
0bf6410773 //Fix save and stay combinations problem 2013-10-23 12:10:36 +02:00
Rémi Gaillard
2279b959fe // small changes on orders view 2013-10-23 12:10:02 +02:00
Rémi Gaillard
8662ef12b4 // small changes on orders view 2013-10-23 11:59:28 +02:00
Kevin Granger
5ee716ff9e // fix admin edit countries 2013-10-23 11:18:31 +02:00
Jerome Nadaud
45ea4aefad // Fix Combinations ajax problem 2013-10-23 10:50:18 +02:00
Sarah Lorenzini
9a7af80943 // update mail templates 2013-10-23 10:13:57 +02:00
Vincent Augagneur
c61cec9f2a //display date on dashproducts && added param date_from & date_to on dashboard hooks 2013-10-23 09:59:16 +02:00
Vincent Augagneur
48a70cc8ac Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-23 09:57:47 +02:00
Vincent Augagneur
3ec3bf587e //small fix on cache_id in classe Hook 2013-10-23 09:38:22 +02:00
Damien Metzger
9d3f3d1876 // Fixed warning in admin customer tpl 2013-10-23 09:32:48 +02:00
Damien Metzger
a2be0364da // First draft goals 2013-10-22 19:59:18 +02:00
Jerome Nadaud
2c94e6c042 // Add level depth restriction on blockcategories 2013-10-22 19:13:10 +02:00
Jerome Nadaud
dfa59fa8f7 // Fix blockcategories 2013-10-22 19:04:11 +02:00
Vincent Augagneur
537bfb0520 //dash configuration cancel button added 2013-10-22 18:04:08 +02:00
Jerome Nadaud
766d0e01f4 // Adding reset button to form template 2013-10-22 18:00:39 +02:00
Jerome Nadaud
67fc91e2c9 // Categories thumbnails 2013-10-22 17:43:10 +02:00
Damien Metzger
3539a779f8 // Oops 2013-10-22 17:32:02 +02:00
Damien Metzger
4e8ba711d9 // Oops 2013-10-22 17:15:08 +02:00
Sarah Lorenzini
cc1dd2510a // mail template src 2013-10-22 16:24:16 +02:00
Jerome Nadaud
c458e059d5 // Fix hook list problem on multishop 2013-10-22 16:18:50 +02:00
Sarah Lorenzini
32a85007df // update mail templates 2013-10-22 15:45:33 +02:00
Damien Metzger
04f0545254 // forgot to rename a field 2013-10-22 15:37:33 +02:00
Damien Metzger
1323befe2f // Add link to profitability conf 2013-10-22 15:36:46 +02:00
Damien Metzger
8ef9e71966 // Refine dashboard net profits 2013-10-22 15:16:22 +02:00
Vincent Augagneur
fea7cd5983 //helper list must be wrapped by a form even if it's a simple header 2013-10-22 14:48:44 +02:00
Damien Metzger
b4499937d8 // Comparison is optionnal 2013-10-22 14:15:10 +02:00
Damien Metzger
a4eeff4cd7 // Shortcuts for chart selection 2013-10-22 14:07:19 +02:00
Jerome Nadaud
a7c7bc68a3 // Fix products form content 2013-10-22 13:38:47 +02:00
Jerome Nadaud
c307eb7ece // Date range picker fix 2013-10-22 12:29:17 +02:00
Jerome Nadaud
a8db1f3030 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-22 12:13:37 +02:00
Jerome Nadaud
b6d6336e26 // Add date subtitle 2013-10-22 12:12:41 +02:00
Damien Metzger
857c66454b // Typo 2013-10-22 11:47:47 +02:00
Damien Metzger
16cf10d586 // New profitability calculation 2013-10-22 11:39:57 +02:00
Jerome Nadaud
d8d9436f51 // add date change trigger 2013-10-22 11:35:24 +02:00
Jerome Nadaud
73e9d966a6 // list bulk actions fix 2013-10-22 11:24:50 +02:00
Rémi Gaillard
c6997bd525 // move clear cache of color list 2013-10-22 11:09:55 +02:00
Jerome Nadaud
96766a311e // Unify form fields for image preferences 2013-10-22 10:10:15 +02:00
Kevin Granger
aa95454c4e Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/controllers/images/content.tpl
2013-10-22 10:07:03 +02:00
Kevin Granger
eb82297f45 // small fixs 2013-10-22 10:04:45 +02:00
Jerome Nadaud
3ba337f19a // Image preference bootstraping 2013-10-22 09:25:05 +02:00
Vincent Augagneur
a62f9169d5 //missing file btn-primary => btn btn-default 2013-10-22 09:15:46 +02:00
Vincent Augagneur
8144935d76 //btn-primary => btn btn-default thanks @Shipow 2013-10-22 09:12:01 +02:00
Vincent Augagneur
6bc9b54306 //small fix - added new link on block top menu 2013-10-21 22:29:56 +02:00
Jerome Nadaud
fb167d94f9 // Remove duplicate class 2013-10-21 19:13:19 +02:00
Damien Metzger
e8f68441db // Assigned shop phone to frontend smarty 2013-10-21 19:02:25 +02:00
Kevin Granger
fadbc4c250 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-21 19:00:18 +02:00
Kevin Granger
c89f6c1adb // css fix 2013-10-21 18:58:23 +02:00
Jerome Nadaud
f336cc599b // Btn-primary replacement 2013-10-21 18:56:41 +02:00
Jerome Nadaud
766e409476 // Wrong end block position 2013-10-21 18:34:03 +02:00
Damien Metzger
bf6c57063c // Fixed dashboard style 2013-10-21 18:18:48 +02:00
Damien Metzger
58aa64fab7 // Code cleaning 2013-10-21 18:18:48 +02:00
Kevin Granger
3ae1f68b3b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-21 18:03:15 +02:00
Kevin Granger
2e13013657 // search field WIP 2013-10-21 18:03:00 +02:00
Jerome Nadaud
d6ad300625 // List pagination improvements 2013-10-21 17:59:48 +02:00
Damien Metzger
e7b901ce34 // Smaller update notification 2013-10-21 17:24:34 +02:00
Jerome Nadaud
f0104dc726 // Wait 1s for ajax element close 2013-10-21 17:22:42 +02:00
Jerome Nadaud
5f75439a6b // Date range picker improvements 2013-10-21 17:07:57 +02:00
gRoussac
aefa821d7f [*] MO : TM - Blockcart added Layer 2013-10-21 16:55:47 +02:00
Damien Metzger
3cf5c9968b // Added images to blockmanufacturers 2013-10-21 15:39:14 +02:00
Vincent Augagneur
10473e09ad Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-21 14:51:25 +02:00
Vincent Augagneur
150c6e0130 [+] CORE : helperList action can be rendered from module classe 2013-10-21 14:51:14 +02:00
Jerome Nadaud
7fbf6c7de0 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-21 13:45:50 +02:00
Jerome Nadaud
e53e63c257 // Add Back button to list footer 2013-10-21 13:45:39 +02:00
gRoussac
7c7fe5dc0b // small change 2013-10-21 12:39:48 +02:00
Jerome Nadaud
53a7b75d7a Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-21 12:36:02 +02:00
Jerome Nadaud
101df4c0b9 // Add check list filters value 2013-10-21 12:35:57 +02:00
Kevin Granger
957f9f0467 // categories group 2013-10-21 12:21:35 +02:00
Jerome Nadaud
b141975d57 // Fix fields_list check 2013-10-21 11:49:08 +02:00
Jerome Nadaud
9c4b975cfc //Module uploader bootstraping 2013-10-21 11:31:50 +02:00
Jerome Nadaud
693a2aa8ff Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-21 11:25:05 +02:00
Jerome Nadaud
81042db718 // CSV import uploader bootstraping 2013-10-21 11:24:56 +02:00
Vincent Augagneur
9cf2fe4214 //removed commented code 2013-10-21 10:24:20 +02:00
Vincent Augagneur
459d0232a4 //blockcms use boostrap design 2013-10-21 10:08:45 +02:00
Vincent Augagneur
e058224cf2 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-21 09:58:18 +02:00
Vincent Augagneur
103582be33 //blocklink now use bootstrap design 2013-10-21 09:58:08 +02:00
Jerome Nadaud
6275e7bcad // Remove translations on icon class 2013-10-21 09:57:13 +02:00
Kevin Granger
a5ca6f11a7 // css email 2013-10-21 09:51:46 +02:00
Vincent Augagneur
fd86a29c5c //small fix 2013-10-21 09:50:20 +02:00
PrestaEdit
6633f40a7a // .bak 2013-10-19 17:21:46 +02:00
J. Danse
02029b1006 //ignore .bak 2013-10-19 13:11:39 +02:00
Kevin Granger
1f02bcaa75 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-18 19:07:15 +02:00
Kevin Granger
067eecdc70 // small fix 2013-10-18 19:07:03 +02:00
Jerome Nadaud
cdab5ed6c9 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/controllers/products/helpers/form/form.tpl
2013-10-18 18:47:42 +02:00
Jerome Nadaud
7e176b157b // Fix save and preview button 2013-10-18 18:44:13 +02:00
Kevin Granger
04b4e548f3 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-18 18:38:17 +02:00
Kevin Granger
5f52a9e171 // fix products 2013-10-18 18:38:02 +02:00
Damien Metzger
d1a2c33322 Merge pull request #849 from djfm/bootstrap
// Translations fix
2013-10-18 09:35:20 -07:00
Jerome Nadaud
6c37efdb6a // Categories image upload bootstraping 2013-10-18 18:33:32 +02:00
Jerome Nadaud
ff81667b5c // Image thumnail fix 2013-10-18 18:28:57 +02:00
Jerome Nadaud
667353d43f // Store contacts bootstraping 2013-10-18 18:24:21 +02:00
Jerome Nadaud
1c1fb5fb5c // Update image fix 2013-10-18 17:59:45 +02:00
Jerome Nadaud
ed2546d07c // Define language dir constant 2013-10-18 17:59:34 +02:00
Jerome Nadaud
1bee0087c0 // Update image fix 2013-10-18 17:50:36 +02:00
Jerome Nadaud
964f546b0b // Update image when updated 2013-10-18 17:41:36 +02:00
Jerome Nadaud
0599d4f056 // Fix Localization page header title 2013-10-18 17:41:10 +02:00
Jerome Nadaud
785fe814bc // Define Order state dir constante 2013-10-18 17:40:49 +02:00
Jerome Nadaud
ac112c38df // File imput improvement 2013-10-18 17:32:29 +02:00
Damien Metzger
9dfecbb1b8 // Fixed addons url 2013-10-18 17:05:04 +02:00
djfm
5a3d487e9f // sprintf again 2013-10-18 14:31:48 +00:00
djfm
d097679ea0 // improvements to producttooltip texts 2013-10-18 14:16:17 +00:00
djfm
b5b18b9d2b // use sprintf 2013-10-18 13:55:30 +00:00
Rémi Gaillard
23abf712ec // missing files 2013-10-18 15:53:05 +02:00
Rémi Gaillard
d61d2b6627 // rm 1.4 controllers - RIP 2013-10-18 15:50:12 +02:00
djfm
06b80701c0 // labels 2013-10-18 13:04:49 +00:00
djfm
f31eb37f37 // improved translations in carriercompare 2013-10-18 12:53:16 +00:00
djfm
3e687cd533 // improved some messages 2013-10-18 12:17:23 +00:00
Damien Metzger
316f10a352 // Changed calibration of the dashboard chart 2013-10-18 12:15:37 +02:00
Damien Metzger
1cd9ceca35 // Compare data on the chart 2013-10-18 12:10:06 +02:00
Damien Metzger
d6235bdacc // Cannot use analytics real time at this time since it is in private beta 2013-10-18 10:54:03 +02:00
djfm
901f5aeb08 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-18 08:20:32 +00:00
djfm
37656c2df9 // fixed improper English string for translation 2013-10-18 08:20:20 +00:00
Kevin Granger
e17c5f7c91 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 18:43:31 +02:00
Kevin Granger
9c07cb9302 // fix informations 2013-10-17 18:43:15 +02:00
Jerome Nadaud
fa22cff995 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 18:27:14 +02:00
Jerome Nadaud
088d23f8f9 // Add edit button to customer groups view list 2013-10-17 18:27:00 +02:00
Kevin Granger
d933466d04 // fixs add product informations 2013-10-17 18:11:47 +02:00
Kevin Granger
7189aa9de9 // fix yes/no, alert success, cache clear button 2013-10-17 17:33:55 +02:00
Damien Metzger
5a6fef2ee8 // Fixed typo 2013-10-17 17:13:30 +02:00
Jerome Nadaud
f77fa3d7c6 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 16:00:10 +02:00
Jerome Nadaud
08525e5af4 // Fix missing commits !!!! 2013-10-17 15:59:46 +02:00
Kevin Granger
c43a7093ac // fix calendar 2013-10-17 15:57:23 +02:00
Jerome Nadaud
205e00d4a7 // small fix 2013-10-17 15:43:52 +02:00
Kevin Granger
7ae123227e // fix nav collapsed and clipping on page loading 2013-10-17 15:39:53 +02:00
Gregory Roussac
cbf2e6b65b Merge pull request #848 from djfm/bootstrap
// correct use of translation functions
2013-10-17 06:36:20 -07:00
Jerome Nadaud
0393e6bc6d // Date Range Picker improvement 2013-10-17 15:28:47 +02:00
djfm
fc896f6a48 // correct use of translation functions 2013-10-17 13:20:00 +00:00
Kevin Granger
1097bb56f9 // calendar 2013-10-17 14:35:51 +02:00
Jerome Nadaud
185c518d3d // Force cast on select filter 2013-10-17 14:06:48 +02:00
Kevin Granger
b391d833d3 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 14:01:50 +02:00
Kevin Granger
9abb9a9b15 // removed version fix bootstrap, please report forms where margin could miss between fields (.row => .form-group) 2013-10-17 14:01:26 +02:00
Kevin Granger
dc43c0f7d3 // fix delete categories 2013-10-17 13:50:14 +02:00
Jerome Nadaud
99f66e26d0 // Change datepicker class 2013-10-17 13:24:46 +02:00
Jerome Nadaud
1f93d071c2 // Add transplant module button to page header toolbar 2013-10-17 13:24:01 +02:00
Jerome Nadaud
983b4dd617 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 11:41:10 +02:00
Jerome Nadaud
cee6c2b2d6 // Add class to calendar.tpl 2013-10-17 11:40:58 +02:00
Kevin Granger
193d3921fa // calendar date range picker compare 2013-10-17 11:40:02 +02:00
Jerome Nadaud
f9b115a2f8 // Date Range picker improvements 2013-10-17 11:39:02 +02:00
gRoussac
b67a78f9dd [-] Fo : Fix bug #PSCFV-10640, redirect loop when country address is not among active countries in OPC 2013-10-17 11:37:45 +02:00
Vincent Augagneur
d1ee6e6357 //small fix 2013-10-17 11:27:30 +02:00
Kevin Granger
ca1a03e81d Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 11:22:17 +02:00
Kevin Granger
86ef9b5461 // calendar 2013-10-17 11:22:03 +02:00
Jerome Nadaud
6ed7ffc647 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 09:37:37 +02:00
Jerome Nadaud
1f50e074f7 // New order button fix 2013-10-17 09:37:19 +02:00
Damien Metzger
fba95afdcc // Removed deprecated modules 2013-10-17 09:37:01 +02:00
Vincent Augagneur
2f34af4646 //remove debug 2013-10-17 09:26:47 +02:00
Kevin Granger
89d7b9ab96 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-17 09:24:59 +02:00
Kevin Granger
334d0a01bd Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/helpers/calendar/calendar.tpl
2013-10-17 09:24:09 +02:00
Jerome Nadaud
a85b931765 // Adding compare options 2013-10-16 19:07:23 +02:00
Kevin Granger
561c036240 // calendar 2013-10-16 19:03:02 +02:00
Jerome Nadaud
6a7990869a // Range datepicker special compare actions 2013-10-16 18:26:00 +02:00
Jerome Nadaud
6ed8afd1be // Fix names 2013-10-16 16:36:05 +02:00
Jerome Nadaud
c7f8b30e88 // Add compare system to daterange picker 2013-10-16 16:30:41 +02:00
Vincent Augagneur
37712f0193 //when a module is disabled, first option is enable 2013-10-16 16:20:51 +02:00
Vincent Augagneur
22df963c72 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-16 16:09:51 +02:00
Vincent Augagneur
c684fa13cb //module anchor now use instant search to filter module list 2013-10-16 16:09:44 +02:00
Rémi Gaillard
7c096d9769 // small fix 2013-10-16 15:48:52 +02:00
Damien Metzger
9492557284 // Removed administrator account from the installer, replaced by the superadministrator account 2013-10-16 15:40:30 +02:00
Damien Metzger
8cfdad9def // Removed currently unused table in the dashboard 2013-10-16 15:25:53 +02:00
Rémi Gaillard
e493305c47 // merge problem 2013-10-16 15:08:39 +02:00
Jerome Nadaud
dfd00bb064 // Add stats date in install 2013-10-16 14:44:49 +02:00
Kevin Granger
f225fb5f2c // replaced class .row with class .form-group inside forms 2013-10-16 14:19:26 +02:00
Vincent Augagneur
3e269f211c //blockadvertising now use boostrap design 2013-10-16 14:15:22 +02:00
Vincent Augagneur
d67be9431a //blocktopmenu now use bootstrap design 2013-10-16 13:55:58 +02:00
Kevin Granger
bc5b807a7b // graph update 2013-10-16 12:18:27 +02:00
Damien Metzger
f284777fc4 // Removed the trailing (Addons) after the name of the native modules 2013-10-16 11:59:36 +02:00
Damien Metzger
7c5ff8073f // Code cleaning 2013-10-16 11:47:59 +02:00
gRoussac
8f9fc10221 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-16 11:45:31 +02:00
gRoussac
62aaf16d60 [*] FO : New hooks for home tabs 2013-10-16 11:44:55 +02:00
Damien Metzger
a51f41ca09 // Fixed dashboard best sellers 2013-10-16 11:42:42 +02:00
Rémi Gaillard
2e65214c39 // manually merge of modules search 2013-10-16 11:36:40 +02:00
Kevin Granger
486e6c1b66 // datepicker 2013-10-16 10:55:47 +02:00
Damien Metzger
04999f7624 // Small fixes 2013-10-16 09:43:38 +02:00
Jerome Nadaud
476bf72bcc // Ooops 2013-10-16 09:21:49 +02:00
Kevin Granger
be2ea4ca77 // login 2013-10-15 20:04:19 +02:00
Jerome Nadaud
dcbe3cb8e8 // Small datapicker fix 2013-10-15 19:16:23 +02:00
Jerome Nadaud
3aa6976e31 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-15 19:14:51 +02:00
Jerome Nadaud
04e760512f // Fix month overlapping on datapicker 2013-10-15 19:14:45 +02:00
Rémi Gaillard
1b8526cd05 // fix ajax on module list 2013-10-15 18:35:04 +02:00
Kevin Granger
8dce01e633 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-15 18:20:40 +02:00
Jerome Nadaud
aefd5947d2 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-15 18:12:28 +02:00
Jerome Nadaud
ed2e9bee70 // Small datepicker fix 2013-10-15 18:12:01 +02:00
Kevin Granger
0e7a7f8be4 // replace fieldset with div for responsive table 2013-10-15 18:09:53 +02:00
Damien Metzger
953f4c4686 // Fixed login social links 2013-10-15 18:08:57 +02:00
Jerome Nadaud
a85c1d7933 // Add index.php files to dashboard folder 2013-10-15 18:05:02 +02:00
Jerome Nadaud
2157311f11 // Some improvement for range datepicker 2013-10-15 18:04:28 +02:00
Jerome Nadaud
6c6c3b240e // Fix bug display final price when country have no display tax 2013-10-15 15:06:38 +02:00
Jerome Nadaud
5fd6b9aac6 // Add overflow-y to module payments 2013-10-15 14:53:31 +02:00
Damien Metzger
eed6b65914 // Added Addons block in the dashboard 2013-10-15 14:18:50 +02:00
Damien Metzger
7759bfaa66 // Typo 2013-10-15 14:00:37 +02:00
Damien Metzger
7b307094b6 // Added comparison to the dashboard 2013-10-15 13:52:12 +02:00
Kevin Granger
d19b0ed8e0 // icon for error notice 2013-10-15 12:31:17 +02:00
Kevin Granger
d23714e9e8 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-15 12:11:15 +02:00
Kevin Granger
d1bc5eb6e0 // calendar WIP 2013-10-15 12:10:05 +02:00
Damien Metzger
55fad19954 // Updated dashactivity 2013-10-15 11:18:30 +02:00
Vincent Augagneur
bd95d03e37 //blockwishlist now use boostrap design 2013-10-15 09:30:26 +02:00
Jerome Nadaud
7d85b21e92 // Pagination fix 2013-10-14 18:22:55 +02:00
Kevin Granger
2bc927c810 // login css 2013-10-14 18:08:33 +02:00
Jerome Nadaud
7e4329a4dc Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-14 17:31:50 +02:00
Jerome Nadaud
7e9cdbb163 // Pagination fix 2013-10-14 17:30:56 +02:00
Jerome Nadaud
07073afa1f // Fix CMS filter, reset and sort 2013-10-14 17:28:21 +02:00
Kevin Granger
3eeac7f2bb Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-14 16:35:01 +02:00
Kevin Granger
3f22a6b6c9 // login flip 2013-10-14 16:34:02 +02:00
Rémi Gaillard
7742020606 // small fix 2013-10-14 15:59:48 +02:00
Damien Metzger
fa6d09a756 // Fixed warning 2013-10-14 15:56:53 +02:00
Damien Metzger
8f10e42b60 // Small fixes 2013-10-14 15:49:57 +02:00
Vincent Augagneur
4da04275fe //small fix related to 1316bd7e1f 2013-10-14 15:07:50 +02:00
Jerome Nadaud
f4118c4f9d // Fix some table header column title 2013-10-14 15:06:09 +02:00
Vincent Augagneur
b9c6b0e8af //dateofdelivery now use bootstrap design 2013-10-14 14:55:56 +02:00
Kevin Granger
6d3a15ef5b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap

Conflicts:
	admin-dev/themes/default/template/controllers/carrier_wizard/helpers/form/form_ranges.tpl
	admin-dev/themes/default/template/controllers/groups/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/import/helpers/form/form.tpl
	admin-dev/themes/default/template/controllers/modules/filters.tpl
	admin-dev/themes/default/template/controllers/modules/list.tpl
	admin-dev/themes/default/template/controllers/orders/form.tpl
	admin-dev/themes/default/template/helpers/form/form.tpl
	classes/Category.php
	classes/controller/AdminController.php
	controllers/admin/AdminAttributesGroupsController.php
	controllers/admin/AdminFeaturesController.php
	controllers/admin/AdminImportController.php
	controllers/admin/AdminLogsController.php
	install-dev/install_version.php
	install-dev/langs/ru/data/tab.xml
	js/admin_carrier_wizard.js
	modules/loyalty/loyalty.php
2013-10-14 14:18:06 +02:00
Kevin Granger
67dc7aac04 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/controllers/carrier_wizard/helpers/form/form_ranges.tpl
	admin-dev/themes/default/template/controllers/groups/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/import/helpers/form/form.tpl
	admin-dev/themes/default/template/controllers/modules/filters.tpl
	admin-dev/themes/default/template/controllers/modules/list.tpl
	admin-dev/themes/default/template/controllers/orders/form.tpl
	admin-dev/themes/default/template/helpers/form/form.tpl
	classes/Category.php
	classes/controller/AdminController.php
	controllers/admin/AdminAttributesGroupsController.php
	controllers/admin/AdminFeaturesController.php
	controllers/admin/AdminImportController.php
	controllers/admin/AdminLogsController.php
	install-dev/install_version.php
	install-dev/langs/ru/data/tab.xml
	js/admin_carrier_wizard.js
	modules/loyalty/loyalty.php
2013-10-14 12:21:29 +02:00
Jerome Nadaud
833091674c // Adding translations and PHP date format for datepicker 2013-10-14 11:34:04 +02:00
Kevin Granger
59435fa2ee // login flip WIP 2013-10-14 09:57:02 +02:00
Jerome Nadaud
80c8605264 // Adding RTL to calendar helper 2013-10-14 09:14:18 +02:00
Jérôme Nadaud
892516342e // Fix when date is null 2013-10-13 11:47:29 +02:00
Jerome Nadaud
e47f0a7c68 // Adding stats compare date to employee table 2013-10-11 18:34:20 +02:00
Jerome Nadaud
0fe3630a05 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-11 18:30:16 +02:00
Jerome Nadaud
d575ba8273 // Adding compare dates to date range picker 2013-10-11 18:30:05 +02:00
Kevin Granger
89251a667b // feedback button 2013-10-11 18:26:12 +02:00
Kevin Granger
cfa4d72eab Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-11 17:22:06 +02:00
Kevin Granger
41f5d9f1f1 // fix datepicker 2013-10-11 17:21:45 +02:00
Jerome Nadaud
18690e4b9a // Adding update for customer message 2013-10-11 17:17:58 +02:00
Damien Metzger
eff292731f // Fixed typo 2013-10-11 16:35:49 +02:00
Damien Metzger
d2ecdfb93d // fix dashboard modules upgrade 2013-10-11 16:18:53 +02:00
Damien Metzger
0e91352520 // Dashboard update 2013-10-11 16:18:52 +02:00
Jerome Nadaud
0f28393c8f // Fix data range picker 2013-10-11 16:16:03 +02:00
Jerome Nadaud
bedcacf0b4 // Starting development of data range picker 2013-10-11 16:12:40 +02:00
Damien Metzger
1849995291 // Code cleaning 2013-10-11 15:35:45 +02:00
Kevin Granger
dcf7e48f6e // datepicker stylesheet 2013-10-11 15:04:14 +02:00
Vincent Augagneur
5bcacf9b48 //statsdata now use boostrap design 2013-10-11 14:38:18 +02:00
Vincent Augagneur
38a7e90eff //referralprogram now use boostrap design 2013-10-11 14:29:56 +02:00
Rémi Gaillard
6b52ada195 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-11 14:11:28 +02:00
Rémi Gaillard
1316bd7e1f // add check stock value for color list if needed 2013-10-11 14:11:12 +02:00
Damien Metzger
7a5187e84e // Fix module active 2013-10-11 14:11:01 +02:00
Damien Metzger
809eac6308 // Fix upgrade and dashboard 2013-10-11 14:07:03 +02:00
Kevin Granger
cd5a308ad7 // login : tabindex + ux 2013-10-11 12:28:01 +02:00
Damien Metzger
c68101653d // Fixed tabs 2013-10-11 12:10:24 +02:00
Kevin Granger
b61528057a Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/js/admin-theme.js
2013-10-11 11:28:44 +02:00
Kevin Granger
40d4da04bb // cleaned admin-theme.js - added date range picker 2013-10-11 11:18:27 +02:00
Damien Metzger
49cdfb56c6 // Fix class_index generation 2013-10-11 11:15:14 +02:00
Damien Metzger
f80b348d86 // Default vertical menu in BO 2013-10-11 11:02:35 +02:00
Rémi Gaillard
bb81e892a0 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-11 10:58:23 +02:00
Rémi Gaillard
49a9f0bcaa // unlink class_index tmp file if not rename 2013-10-11 10:58:05 +02:00
Damien Metzger
f95a4d74df // Added Google Plus to the BO footer 2013-10-11 10:47:48 +02:00
Damien Metzger
28118cf33a // Code cleaning (backoffice javascript) 2013-10-11 10:47:48 +02:00
Rémi Gaillard
bb35a5b004 // multishop 2013-10-11 10:04:10 +02:00
Damien Metzger
7f5f78a6f3 // Connected footer links and go-top 2013-10-11 09:44:15 +02:00
Kevin Granger
544423ea1e // remove duplicate 2013-10-10 20:05:58 +02:00
Kevin Granger
447f1d4ba7 // quick fix customer view 2013-10-10 19:04:25 +02:00
Damien Metzger
77551c03f5 // Fixed potential warning 2013-10-10 18:49:27 +02:00
Vincent Augagneur
87417ed928 //producttooltip now use bootstrap design 2013-10-10 18:07:08 +02:00
Kevin Granger
5620992735 // fix dashboard 2013-10-10 16:52:41 +02:00
Kevin Granger
7d717ea207 // fix css + kpi + dashboard 2013-10-10 16:29:40 +02:00
Jerome Nadaud
22dcaf246c // Add icon and specific title to list 2013-10-10 15:36:50 +02:00
Kevin Granger
be3ccabe66 // footer + go to top + scroll y sidebar 2013-10-10 15:10:51 +02:00
Rémi Gaillard
278dc32482 [*] BO: Add an option to autologout to the backoffice after 15 minutes 2013-10-10 12:20:10 +02:00
Kevin Granger
6c35b20b02 // organize css 2013-10-10 11:43:24 +02:00
Rémi Gaillard
7fdf6e614f // don't display some field when an employee edit it's own profile 2013-10-10 11:35:05 +02:00
Jerome Nadaud
067c78f868 // Fix notifications 2013-10-10 11:02:33 +02:00
Damien Metzger
79b0a571c0 // Updated languages in the installer 2013-10-10 09:47:10 +02:00
Damien Metzger
fb9204ebd6 // Fixed module page 2013-10-10 09:14:58 +02:00
Kevin Granger
9de6ec0379 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-09 20:28:15 +02:00
Kevin Granger
5b509c2c20 // login WIP 2013-10-09 20:26:04 +02:00
Jerome Nadaud
6245b05b6e // Remove flags from language select 2013-10-09 19:39:05 +02:00
Jerome Nadaud
cade037e4f // Use display modal class for lite displaying 2013-10-09 19:28:37 +02:00
Jerome Nadaud
5ec76a759a // Fix Dashboard toolbar 2013-10-09 19:12:20 +02:00
Jerome Nadaud
a5d1816336 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-09 18:59:32 +02:00
Jerome Nadaud
0e4cb5bcd5 // Form group bootstraping 2013-10-09 18:59:20 +02:00
Kevin Granger
719e5f4faf Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/css/admin-theme.css
2013-10-09 18:55:46 +02:00
Kevin Granger
74f12c23be // login WIP 2013-10-09 18:54:13 +02:00
Damien Metzger
079534f039 // Fix header/footer override in admincontroller 2013-10-09 18:51:31 +02:00
Jerome Nadaud
cfbb0d872b // Add confirmation on category image delete 2013-10-09 18:47:33 +02:00
Jerome Nadaud
2d9a54c19e // Remove button icon class 2013-10-09 18:43:22 +02:00
Jerome Nadaud
eae76eb63e // Pagination bootstraping 2013-10-09 18:36:19 +02:00
Jerome Nadaud
d4bf765dd6 // Pagination bootstraping 2013-10-09 18:31:51 +02:00
Damien Metzger
1939b8026b // CSS fix 2013-10-09 18:06:53 +02:00
Kevin Granger
84711bc386 // added .process-icon-save-and-preview 2013-10-09 17:57:02 +02:00
Kevin Granger
2c7ed00b39 // pagination 2013-10-09 17:21:53 +02:00
Rémi Gaillard
fee92eecdd Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-09 16:58:13 +02:00
Rémi Gaillard
edddac8a0c // add colors on some controllers 2013-10-09 16:47:47 +02:00
Damien Metzger
9b24cca088 // Fixed category breadcrumb 2013-10-09 16:44:58 +02:00
Jerome Nadaud
eadbefedae Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-09 16:42:44 +02:00
Jerome Nadaud
e1ff774fcd // Restoring toolbar.tpl file for retrocompatibility 2013-10-09 16:42:13 +02:00
Vincent Augagneur
477973a43e //carrier wizard button good place and order 2013-10-09 16:24:25 +02:00
Damien Metzger
e7d7e2f1ab // Fixed CSS hover on KPIs 2013-10-09 15:46:06 +02:00
Damien Metzger
1870dd4dd2 // Added order state color in order::getHistory() 2013-10-09 15:33:46 +02:00
Jerome Nadaud
c8347cbc59 // Restore save button on header toolbar 2013-10-09 15:24:19 +02:00
Jerome Nadaud
f5452aea66 // Products fix 2013-10-09 15:23:44 +02:00
Jerome Nadaud
61f3c61e2a // Some fix 2013-10-09 15:22:27 +02:00
Jerome Nadaud
81677cff44 // Toolbar improvement 2013-10-09 15:18:54 +02:00
Damien Metzger
a2371067bf // CSS fixes 2013-10-09 15:11:04 +02:00
Damien Metzger
9fcb039068 // A few CSS fixes 2013-10-09 14:57:15 +02:00
Rémi Gaillard
6f1cdba40e // typo 2013-10-09 14:56:41 +02:00
Jerome Nadaud
4242e485c7 // Bootstrap design on getPath 2013-10-09 14:25:46 +02:00
Jerome Nadaud
a1ced4ee32 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-09 14:07:17 +02:00
Jerome Nadaud
3cca8206b9 // Fix missing unwanted div 2013-10-09 14:06:22 +02:00
Vincent Augagneur
ced6554133 //loyalty module now use bootstrap design 2013-10-09 11:19:32 +02:00
Damien Metzger
c982d08b68 // Removed useless link to the current page in the breadcrumb 2013-10-09 11:12:33 +02:00
Rémi Gaillard
3b677092bf [*] FO: You can now choose the anchor separator for attributes 2013-10-09 11:01:18 +02:00
Damien Metzger
623b8c7960 // Added expense management to profitability KPI 2013-10-09 10:55:12 +02:00
Vincent Augagneur
e16676efaa //added prefix & suffix on helper form 2013-10-09 10:51:04 +02:00
Damien Metzger
38143e1245 // Fixed stats bug (bad id for ajax request) 2013-10-09 10:05:24 +02:00
Jerome Nadaud
8c9dffd854 // Add pagination to states list 2013-10-09 10:03:27 +02:00
Jerome Nadaud
9bdde5c5c0 // Add pagination to countries list 2013-10-09 09:59:49 +02:00
Jerome Nadaud
18d909c05d // Add cache control to ajax request for ipad 2013-10-09 09:55:17 +02:00
Jerome Nadaud
d448891065 // Add new country button to countries controller 2013-10-09 09:51:25 +02:00
Kevin Granger
daa1cc47db Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-09 09:43:10 +02:00
Kevin Granger
b4459e39a4 // Orders WIP 2013-10-09 09:43:04 +02:00
Jerome Nadaud
57c34488ff // Orders refund buttons 2013-10-09 09:41:51 +02:00
Jerome Nadaud
5a4548bd51 // Toolbar for search 2013-10-09 09:41:10 +02:00
gRoussac
fcc2930693 [-] BO : Remove duplicate sql insert in setProductOutOfStock in monoshop 2013-10-09 09:19:22 +02:00
Jerome Nadaud
f9373e6178 // Fix toolbar button and toolbar title for invoices 2013-10-09 08:53:36 +02:00
Rémi Gaillard
60214d8fb6 // nothing 2013-10-08 22:11:28 +02:00
Damien Metzger
d9b40b8f35 // Added Modules KPIs 2013-10-08 19:39:52 +02:00
Kevin Granger
797a6c121a // Orders WIP 2013-10-08 18:53:41 +02:00
Jerome Nadaud
d595cd2f12 // Toolbar modif for products 2013-10-08 18:51:10 +02:00
Jerome Nadaud
b9cfc24922 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-08 18:42:19 +02:00
Jerome Nadaud
d88857610d // Toolbar modifs 2013-10-08 18:42:07 +02:00
Rémi Gaillard
f2c6887497 // quickview 2013-10-08 17:44:10 +02:00
Damien Metzger
180a778e51 [*] Installer : replaced radio buttons by a select for the installer language list (too many languages) 2013-10-08 17:06:02 +02:00
Rémi Gaillard
0db2372724 // add color list to some controllers 2013-10-08 15:39:06 +02:00
Damien Metzger
53748c3119 // Code cleaning 2013-10-08 15:01:46 +02:00
Damien Metzger
c75cb99b51 // Code cleaning 2013-10-08 14:45:22 +02:00
Damien Metzger
a14118863e // Code cleaning 2013-10-08 14:45:21 +02:00
Kevin Granger
3e6f425bd4 // Orders WIP 2013-10-08 12:26:48 +02:00
Damien Metzger
b7e13e2e7f // Code cleaning 2013-10-08 11:55:10 +02:00
Kevin Granger
3e2d2e2afc // fix Orders 2013-10-07 18:54:28 +02:00
Sarah Lorenzini
8f1b19a30b // update customer service page 2013-10-07 16:45:48 +02:00
Jerome Nadaud
e94a32f80e // Localization Countries edit bootstraped 2013-10-07 14:50:57 +02:00
Jerome Nadaud
6f2358a0da // Manufacturer view bootstraped 2013-10-07 14:16:41 +02:00
Jerome Nadaud
2c4a20e21a // Add form group to referer view form items 2013-10-07 13:44:04 +02:00
Jerome Nadaud
efb041b747 // New referer Bootstraped 2013-10-07 13:40:36 +02:00
Jerome Nadaud
483aa8ad7d // Add block name fieldset and input_row 2013-10-07 13:34:35 +02:00
Jerome Nadaud
8c67235c2e Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-07 12:03:43 +02:00
Jerome Nadaud
6fc12968b8 // Fix missing module configuration bar #PSCSX-3 2013-10-07 12:03:37 +02:00
Jerome Nadaud
97824b2335 // License 2013-10-07 12:02:51 +02:00
gRoussac
900209f93c // bad commit c2bcc5baa1 2013-10-07 11:44:09 +02:00
Kevin Granger
2c3bf85ca7 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-07 11:12:59 +02:00
Kevin Granger
ba7d9eec21 // fix Orders 2013-10-07 11:11:21 +02:00
Jerome Nadaud
9b79a02e88 // Remove unused function 2013-10-07 11:03:42 +02:00
Jerome Nadaud
a1f5455d07 // Fix Mark as favorite not updated 2013-10-07 11:03:03 +02:00
Vincent Augagneur
46fef35348 //homefeatured now use bootstrap design 2013-10-07 10:25:10 +02:00
Vincent Augagneur
5c605067f0 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-07 09:09:26 +02:00
Vincent Augagneur
8a6dc6233d //jquery.smartWizard use bootstrap css classes 2013-10-07 09:08:20 +02:00
Kevin Granger
2ab3f08eab Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-04 19:13:13 +02:00
Kevin Granger
c2ea0be841 // orders WIP 2013-10-04 19:13:02 +02:00
gRoussac
d141f5bdc0 // wrong modif on ProductSale 2013-10-04 18:35:30 +02:00
gRoussac
c2bcc5baa1 [*] FO : TM home modules preparation 2013-10-04 18:32:31 +02:00
Jerome Nadaud
2e4f5c0b07 // Menus details list is now bootstraped 2013-10-04 17:34:07 +02:00
Damien Metzger
337725bb86 // Fixed KPI with 0 value 2013-10-04 17:28:03 +02:00
Vincent Augagneur
5564b342f4 //wizard boostrap and title fix 2013-10-04 17:07:10 +02:00
Vincent Augagneur
828b838d22 //products comparison link 2013-10-04 16:25:47 +02:00
Jerome Nadaud
5557ac1aee // Remove attribute language desc from stock movement list when product attribute is removed 2013-10-04 15:30:27 +02:00
Damien Metzger
5c5a989cda // Added javascript validation functions (demo) 2013-10-04 15:24:50 +02:00
Rémi Gaillard
16dfa4e73d // missing file 2013-10-04 15:12:08 +02:00
Jerome Nadaud
887b68d3f2 // Customers Groups View list resize 2013-10-04 14:24:33 +02:00
Jerome Nadaud
5b203cf789 // Remove languages select when only one language 2013-10-04 13:51:38 +02:00
Jerome Nadaud
9ae6546d90 // Features - Remove select language with one language and add autosize to textarea 2013-10-04 12:23:01 +02:00
Kevin Granger
bb7dd876af // orders WIP 2013-10-03 21:04:35 +02:00
Jerome Nadaud
874e17aa6f // remove javascript include from tpl 2013-10-03 17:55:30 +02:00
Jerome Nadaud
1dc07ab2ba // Modules positions drag and drop 2013-10-03 17:49:24 +02:00
Jerome Nadaud
39f0284aa3 // Modules positions drag and drop for bootstrap 2013-10-03 17:47:09 +02:00
Jerome Nadaud
309f4333a7 // Supply orders bootstraping 2013-10-03 14:13:15 +02:00
Jerome Nadaud
6059ad163b // Fix supply order state change save button 2013-10-03 11:51:08 +02:00
Damien Metzger
e82f0feacf // Fixed customer tab 2013-10-03 09:52:25 +02:00
Jerome Nadaud
90b203fde3 // Stock instant bootstraping 2013-10-02 18:59:34 +02:00
Jerome Nadaud
75771e0723 // Supply order bootstraping 2013-10-02 18:59:21 +02:00
Jerome Nadaud
f891f64cc4 // Stock cover bootstraping 2013-10-02 18:58:47 +02:00
Damien Metzger
3cfe76ec0c // Fixed mean age 2013-10-02 18:10:51 +02:00
Jerome Nadaud
b472aaed96 // Fix Stock Cover select submit 2013-10-02 17:53:56 +02:00
Jerome Nadaud
c88ea275ab Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-02 17:50:50 +02:00
Jerome Nadaud
2a984186a9 // Fix output for ajax content 2013-10-02 17:50:39 +02:00
Kevin Granger
19af1cfda5 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-02 17:39:03 +02:00
Kevin Granger
f168dd7c50 // list icon backward compat 2013-10-02 17:38:53 +02:00
Jerome Nadaud
dc06ef9c6d // Stock movement fix export button on select filter 2013-10-02 17:09:31 +02:00
Jerome Nadaud
81b9c01824 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-02 17:08:39 +02:00
Jerome Nadaud
7454d75fb9 // List simple header bootstraping 2013-10-02 17:08:28 +02:00
Damien Metzger
84a251a575 [*] BO : you can noww override header and footer for each controller 2013-10-02 17:04:18 +02:00
Jerome Nadaud
f63e1065b3 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-02 16:58:37 +02:00
Jerome Nadaud
04e5617d7d // Instant stock bootstraping 2013-10-02 16:58:27 +02:00
Sarah Lorenzini
5993c188c5 // update login page 2013-10-02 16:50:09 +02:00
Sarah Lorenzini
791481e149 // update login page 2013-10-02 16:00:54 +02:00
Jerome Nadaud
acb5bf77f6 // Remove comment 2013-10-02 14:52:13 +02:00
Jerome Nadaud
68c5318706 // Icon change for list details button 2013-10-02 14:49:42 +02:00
Jerome Nadaud
3ce163449e // Advanced stock management bootstraping 2013-10-02 14:48:23 +02:00
Vincent Augagneur
dec213aecf //now use displayError() in modules 2013-10-02 14:39:41 +02:00
Sarah Lorenzini
1cb7f27a21 // update login page bootsrap 2013-10-02 14:38:13 +02:00
Sarah Lorenzini
ba06b217cc // update javascript login page 2013-10-02 14:36:14 +02:00
Kevin Granger
f5a4aeeab5 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-02 13:59:04 +02:00
Kevin Granger
0867e8b7c1 // fix AdminController array unique 2013-10-02 13:58:57 +02:00
Jerome Nadaud
661e18916b // Permission bootstrap design 2013-10-02 12:30:07 +02:00
Jerome Nadaud
51c1ee0cf0 // Move ajax box and ajax confirmation to content part 2013-10-02 12:23:10 +02:00
Jerome Nadaud
a891c9277a // Advanced stock management details list 2013-10-02 12:09:03 +02:00
Jerome Nadaud
43c874e06e // Fix line feed on address observation 2013-10-02 09:59:14 +02:00
Jerome Nadaud
dd79b3c702 // Manufacturer bootstraping 2013-10-02 09:43:46 +02:00
Jerome Nadaud
ba2494fa8b // Remove language select on textarea with 1 langue 2013-10-02 09:43:24 +02:00
Kevin Granger
65fc1fea63 // orders WIP 2013-10-01 18:50:41 +02:00
Jerome Nadaud
301de7a3a1 // Webservice and advanced stock list bootstraping 2013-10-01 18:29:35 +02:00
Jerome Nadaud
dd60eb66cf // Fix features list filters and sort 2013-10-01 18:10:52 +02:00
Jerome Nadaud
f2849bdb70 // Remove unnecessary function 2013-10-01 17:56:17 +02:00
Jerome Nadaud
68831ffbe9 // Fix attribute group view list 2013-10-01 17:55:20 +02:00
Jerome Nadaud
9c40dbb222 // Fix group view for bootstrap - removing limit restriction 'cause is now fixed 2013-10-01 17:00:56 +02:00
Jerome Nadaud
88be78d096 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-01 16:44:20 +02:00
Jerome Nadaud
99a4ffe583 // Fix enable friendly url button generator on multishop 2013-10-01 16:44:03 +02:00
Kevin Granger
c4c15917ab Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-10-01 16:24:27 +02:00
Kevin Granger
a866de41e7 // login form 2013-10-01 16:24:14 +02:00
Jerome Nadaud
55a5c69d40 // Remove language select on only one language 2013-10-01 16:03:34 +02:00
Jerome Nadaud
a2aa90a4b6 // Fix page header title bug 2013-10-01 15:32:34 +02:00
Jerome Nadaud
bc8e972dfa // Fix language id in features and quantities 2013-10-01 15:32:13 +02:00
Jerome Nadaud
f469b69113 // Fix fixed home category And Norm 2013-10-01 15:18:56 +02:00
Jerome Nadaud
299d1f65ec //Fix Stats bug 2013-10-01 15:15:02 +02:00
Jerome Nadaud
759a3e191a // Groups and language bootsrapify 2013-10-01 15:14:46 +02:00
Jerome Nadaud
14b584fc01 // Remove language select if exist only 1 language 2013-10-01 14:36:48 +02:00
Vincent Augagneur
f2a760c245 //small fix 2013-10-01 12:31:07 +02:00
Vincent Augagneur
f4f1b6e831 //vatnumber now use bootstrap design 2013-10-01 11:03:37 +02:00
Rémi Gaillard
eb40f7db24 // Improve cache colors list 2013-09-30 18:48:59 +02:00
Rémi Gaillard
b2a9ec57bf // cache 2013-09-30 17:25:12 +02:00
Rémi Gaillard
c2857add42 // add color list on product listing 2013-09-30 17:19:02 +02:00
Damien Metzger
a6d8ffa293 // More breadcrumbs improvements 2013-09-30 15:38:22 +02:00
Kevin Granger
0db013f1c8 // fix checkbox 2013-09-30 15:13:08 +02:00
Damien Metzger
85abfde45c // Added links to breadcrumbs 2013-09-30 14:45:21 +02:00
Damien Metzger
4ebc47856e [-] BO : fixed breadcrumbs and filters (in the breadcrumbs) 2013-09-30 14:16:33 +02:00
Damien Metzger
80376e9034 // Fixed meta title 2013-09-30 11:27:01 +02:00
Vincent Augagneur
d6a541df58 //pscleaner now use bootstrap design 2013-09-30 11:23:41 +02:00
Damien Metzger
7019af3a11 // Bound the menu to the employee option 2013-09-30 11:20:49 +02:00
Kevin Granger
8ed77030aa Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/controllers/groups/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/import/helpers/form/form.tpl
	admin-dev/themes/default/template/controllers/modules/list.tpl
	admin-dev/themes/default/template/controllers/orders/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/products/informations.tpl
	admin-dev/themes/default/template/controllers/products/prices.tpl
	admin-dev/themes/default/template/controllers/products/suppliers.tpl
	admin-dev/themes/default/template/helpers/form/form.tpl
	admin-dev/themes/default/template/toolbar.tpl
	classes/helper/HelperList.php
	controllers/admin/AdminGroupsController.php
	controllers/admin/AdminManufacturersController.php
2013-09-30 11:01:23 +02:00
Damien Metzger
f84a3c7fda // Add missing index 2013-09-27 17:47:10 +02:00
Damien Metzger
650c18e9f7 // Added Translations KPIs 2013-09-27 14:51:12 +02:00
Jerome Nadaud
9e58e3edfd // Advanced stock bootstrap design 2013-09-27 12:24:44 +02:00
Damien Metzger
48966f7916 // Fixed language iso code consistency 2013-09-27 10:22:12 +02:00
Jerome Nadaud
9ea723d07e // Slip and Statuses bootstrap design 2013-09-26 17:30:34 +02:00
Jerome Nadaud
a1c7dd3ee9 // Add row break to color element 2013-09-26 16:44:26 +02:00
Jerome Nadaud
fa2f10ffc6 // Add row break to color element 2013-09-26 16:43:57 +02:00
Jerome Nadaud
bc80846d7d // Requiered fields bootstrap design 2013-09-26 16:25:18 +02:00
Jerome Nadaud
a93ce00af8 // Groups view bootstrap design 2013-09-26 15:59:28 +02:00
Vincent Augagneur
0cf68ade90 //productscategory now use bootstrap design 2013-09-26 15:09:18 +02:00
Jerome Nadaud
157ab0c8b9 // Prices rules list size 2013-09-26 15:01:23 +02:00
Jerome Nadaud
2cc6fe821b // Bootstraping template form checkbox 2013-09-26 14:56:24 +02:00
Jerome Nadaud
2d65f5a8c0 // Cart rules bootstrap design 2013-09-26 14:55:28 +02:00
Rémi Gaillard
b6d3bf1bc3 // missing method 2013-09-26 13:49:17 +02:00
Jerome Nadaud
b9ccfe858b // Localization Bootstrap design 2013-09-26 11:36:28 +02:00
Jerome Nadaud
10e472e141 // List header template - Remove extra class attribute 2013-09-26 11:35:19 +02:00
Jerome Nadaud
4c5a6d1efb // Payment bootstrap design 2013-09-26 10:09:50 +02:00
Jerome Nadaud
d6a59a1dbd // Maintenance bootstrap design 2013-09-26 09:37:38 +02:00
Jerome Nadaud
eefccd0891 // Multistore check view now include button element 2013-09-26 09:36:57 +02:00
Damien Metzger
1b010da64f // Fixed typo and configuration parse error 2013-09-25 20:21:41 +02:00
Damien Metzger
fd1cfe0c8c // Fixed group information label and a customer KPI 2013-09-25 20:16:34 +02:00
Damien Metzger
d1ead319ef // Fixed exception on the customer 2013-09-25 20:06:23 +02:00
Damien Metzger
cc75b4b912 // Temp fix for labels in the BO listings, before my eyes hurt 2013-09-25 19:59:00 +02:00
Damien Metzger
29e83489a7 // Small improvement of the performances tab 2013-09-25 19:47:55 +02:00
Damien Metzger
01e5cec634 [*] BO : improved performances (cache systems) and countries tabs 2013-09-25 19:41:46 +02:00
Jerome Nadaud
1a37fee8e7 // Bootstrap icons 2013-09-25 19:03:43 +02:00
Jerome Nadaud
56f27ae2c1 // Some missing icons and multistore problems 2013-09-25 19:00:29 +02:00
Damien Metzger
336e29eb67 // Default tab is the dashboard 2013-09-25 18:08:56 +02:00
Jerome Nadaud
8cc892ecce // Trad 2013-09-25 17:47:10 +02:00
Jerome Nadaud
bf86da782a // Add confirmation for memcached server delete 2013-09-25 17:44:57 +02:00
Damien Metzger
147591dbe3 [*] BO : improved automatic language creation 2013-09-25 17:05:30 +02:00
Jerome Nadaud
b2b8a2eb19 // Fix list search form submit 2013-09-25 16:04:09 +02:00
Damien Metzger
a7f9f23b73 // AdminStates code cleaning 2013-09-25 16:00:29 +02:00
Damien Metzger
337b7333a2 // Improved States tab 2013-09-25 15:45:00 +02:00
Damien Metzger
b80b363a2e [*] BO : Added Customer Service KPIs 2013-09-25 15:24:30 +02:00
Jerome Nadaud
875120f145 // Advanced parameters bootstrap design 2013-09-25 15:22:38 +02:00
Jerome Nadaud
ffb7113153 // Posibility to add a specifici icon to options list 2013-09-25 15:16:00 +02:00
Jerome Nadaud
e81c9490b0 // Advanced parameters bootstrap design 2013-09-25 15:15:28 +02:00
Damien Metzger
439700f46a // Removed deprecated function 2013-09-25 14:05:16 +02:00
Jerome Nadaud
15b6017ad7 // Logs list resize 2013-09-25 11:54:31 +02:00
Jerome Nadaud
e2c04db881 // Administration list column size 2013-09-25 11:46:12 +02:00
Jerome Nadaud
ae760115be // Fix warning 2013-09-25 11:43:14 +02:00
Jerome Nadaud
7b14759aec // Webservice controller bootstrap design 2013-09-25 11:30:38 +02:00
Jerome Nadaud
2a8d251cd6 // Webservice controller bootstrap design 2013-09-25 11:29:11 +02:00
Jerome Nadaud
72f540ad3a // Add textbutton input type to form template 2013-09-25 11:28:41 +02:00
Damien Metzger
d05ab45543 // KPIs improvments 2013-09-24 18:08:06 +02:00
Vincent Augagneur
d9803ce086 //newsletter now use bootstrap design 2013-09-24 17:26:28 +02:00
Damien Metzger
6e6fe384ff // KPIs updated 2013-09-24 17:26:05 +02:00
Jerome Nadaud
72a7ac2d03 // Special external link in warehouse view 2013-09-24 17:19:01 +02:00
Jerome Nadaud
0247550a0a // Fix accordion for bootsrap and better bulk action for warehouse 2013-09-24 17:18:37 +02:00
Jerome Nadaud
a175e603ef // Wharehouse view bootstrap fix 2013-09-24 16:20:05 +02:00
Jerome Nadaud
479662aa10 // Fix missing table id for shop asso in helper 2013-09-24 16:19:38 +02:00
Jerome Nadaud
003ba20238 // Products multistore bootstrap fix 2013-09-24 16:19:00 +02:00
Damien Metzger
d26336aa77 // Copy KPIs from customer to cart 2013-09-24 15:54:45 +02:00
Damien Metzger
799efcba3f [*] BO : Customers KPIs 2013-09-24 15:32:05 +02:00
Vincent Augagneur
a913a43b17 //mailalerts now use bootstrap design 2013-09-24 14:49:56 +02:00
Jerome Nadaud
00ddfeba05 // CMS select size in form 2013-09-24 13:09:22 +02:00
Jerome Nadaud
c9eb5b5be6 // Products multistore design 2013-09-24 12:29:12 +02:00
Jerome Nadaud
6e2337df44 // Add id attribute to tree header button 2013-09-24 12:27:51 +02:00
Damien Metzger
8f08f67812 [+] BO : Added fees configuration for the dashboard 2013-09-24 12:22:40 +02:00
Jerome Nadaud
18a621e022 // Multistore invisible description in options 2013-09-23 19:02:22 +02:00
Jerome Nadaud
f04126c436 // Customers groups - Add special tree handle for categories tree 2013-09-23 18:16:47 +02:00
Jerome Nadaud
c78c8b04bd // Multistore checkbox js functions 2013-09-23 18:05:16 +02:00
Jerome Nadaud
69f97baa6a // Search conf list size 2013-09-23 18:04:48 +02:00
Jerome Nadaud
202c6fe463 // Carrier list size 2013-09-23 18:04:18 +02:00
Jerome Nadaud
320e1512df // Multistore checkbox design 2013-09-23 18:03:32 +02:00
Vincent Augagneur
0b35c5506c //crossselling module now use boostrap design 2013-09-23 15:22:42 +02:00
Vincent Augagneur
a2d770e04f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-23 15:10:49 +02:00
Vincent Augagneur
642ff59bef //cheque module now use boostrap design 2013-09-23 15:10:46 +02:00
Damien Metzger
590e738254 // Fixed typo 2013-09-23 14:40:25 +02:00
Vincent Augagneur
e8420f24d1 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-23 14:19:12 +02:00
Jerome Nadaud
e128e17f4e // Geoloc bootstrap design 2013-09-23 14:04:15 +02:00
Jerome Nadaud
748d6271a9 // Stores controller bootstrap 2013-09-23 13:56:30 +02:00
Jerome Nadaud
234b6de1b0 // Stores controller bootstrap design 2013-09-23 13:31:45 +02:00
Jerome Nadaud
4bb0a5f794 // Preferences images bootstrap design 2013-09-23 11:43:31 +02:00
Vincent Augagneur
12f67a825b //carriercompare now use bootstrap design 2013-09-23 10:24:26 +02:00
Jerome Nadaud
f4e0f63ef7 // Add lingerie to activities list 2013-09-23 10:14:23 +02:00
Jerome Nadaud
45c7cb7757 // Cms categories list 2013-09-23 10:13:45 +02:00
Vincent Augagneur
39d84759a3 //blockviewed now use boostrap design 2013-09-23 10:06:43 +02:00
Vincent Augagneur
0fa8b4305e //blocktags now use boostrap design 2013-09-23 10:03:28 +02:00
Vincent Augagneur
6e24fe1411 //blocksupplier now use bootstrap design 2013-09-23 09:52:58 +02:00
Vincent Augagneur
d71a6a90da //now blockstore use bootstrap design 2013-09-23 09:48:59 +02:00
Vincent Augagneur
c1a9aa5936 //helper form input type file now can display thumb 2013-09-23 09:45:20 +02:00
Jerome Nadaud
67f05340c0 // Remove list header button link title and remove shop column center 2013-09-23 09:18:44 +02:00
Kevin Granger
c93eb9f40a // orders WIP 2013-09-20 19:11:08 +02:00
Jerome Nadaud
0e87409bd6 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-20 18:31:47 +02:00
Jerome Nadaud
8e1cb5cc34 // Kpi update for customers orders 2013-09-20 18:31:35 +02:00
Damien Metzger
dadf83d6f6 [*] BO : removed deprecated chart engines 2013-09-20 18:27:35 +02:00
Damien Metzger
1fe17f0eb1 // Removed deprecated option form in stats 2013-09-20 18:18:04 +02:00
Damien Metzger
ed1574e9ed // Finished nvd3 chart 2013-09-20 18:12:10 +02:00
Damien Metzger
02e5913dd6 // Fixed potential warning 2013-09-20 18:12:10 +02:00
Vincent Augagneur
504485cef3 //blockspecials now use bootstrap design 2013-09-20 17:51:24 +02:00
Vincent Augagneur
4136697c5e //blocksocial now use boostrap design 2013-09-20 17:22:15 +02:00
Vincent Augagneur
e332de1d50 //blockrss now use boostrap design 2013-09-20 17:14:50 +02:00
Jerome Nadaud
3ef36400bf Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-20 17:02:55 +02:00
Jerome Nadaud
c1e6df873d // Fix birthday bootstrap design 2013-09-20 17:02:44 +02:00
Vincent Augagneur
24b6d3d387 //blockpaymentlogo now use boostrap design 2013-09-20 17:02:15 +02:00
Vincent Augagneur
4b4622a1c7 //blocknewsletter now use boostrap design 2013-09-20 16:52:48 +02:00
Vincent Augagneur
b7045b998a //blocknewproducts now use boostrap design 2013-09-20 16:41:31 +02:00
Jerome Nadaud
e9cd8ac145 // Search tree toolbar button 2013-09-20 16:20:27 +02:00
Jerome Nadaud
f44ecb9fc8 // Products section list adjustment 2013-09-20 16:19:50 +02:00
Jerome Nadaud
caa1dbc7ea //Fix tree search toolbar button design 2013-09-20 15:39:44 +02:00
Jerome Nadaud
f51ffe4c55 // Start design of multistore toolbar 2013-09-20 15:30:59 +02:00
Jerome Nadaud
f312a055b1 // Multistore bootstrap design 2013-09-20 15:04:43 +02:00
Vincent Augagneur
2f3d736f13 //blockmanufacturer is now using bootstrap design 2013-09-20 14:56:41 +02:00
Kevin Granger
eeb3b540e2 // orders + css highlight / fixed-width 2013-09-20 14:42:09 +02:00
Damien Metzger
fc42ce17b8 // Set default option for the menu in the installer 2013-09-20 14:08:26 +02:00
vAugagneur
aef0897436 //blockcustomerprivacy now use bootstrap design 2013-09-20 13:22:35 +02:00
vAugagneur
23ecca163d //blockcontactinfos is now using bootstrap design 2013-09-20 11:46:02 +02:00
vAugagneur
4c5cd50345 /small fix 2013-09-20 11:38:39 +02:00
vAugagneur
2f56a4dbbd //blockcontact is now using bootstrap design 2013-09-20 11:31:12 +02:00
vAugagneur
c7ebf5ba5d //blockcart is now using bootstrap design 2013-09-20 11:24:16 +02:00
vAugagneur
07c03ecf6d //blockcategories is now using bootstrap design 2013-09-20 11:18:30 +02:00
Kevin Granger
76bf61c20a //fix double desc 2013-09-20 11:04:41 +02:00
Jerome Nadaud
74a262f2ed // Shopping carts bootsrap design 2013-09-20 10:29:32 +02:00
Kevin Granger
724ab12122 // orders cleanup 2013-09-19 20:12:05 +02:00
Jerome Nadaud
660bb870cc // Add tooltip to list header toolbar button 2013-09-19 19:45:21 +02:00
Jerome Nadaud
c0fa5f8f79 // Fix hint in options.tpl 2013-09-19 19:39:46 +02:00
Jerome Nadaud
39edb5a546 // Fix cart rules bootstrap design 2013-09-19 19:33:55 +02:00
Jerome Nadaud
9b308ae7fc // Fix Translatable field on cart rule information 2013-09-19 19:01:43 +02:00
Jerome Nadaud
e1a3440145 // Add array for hint and desc for options.tpl 2013-09-19 18:56:35 +02:00
Jerome Nadaud
b40b9ec328 // Fix Permissions 2013-09-19 18:26:42 +02:00
Jerome Nadaud
e6780f7a86 // Fix menu list position col 2013-09-19 18:08:20 +02:00
Jerome Nadaud
f8fed30b44 // Prevent enter key event propagation for search input 2013-09-19 18:07:50 +02:00
Damien Metzger
33405ed858 // Rollback file wrongly modified by previous commit 2013-09-19 17:57:29 +02:00
Damien Metzger
cda7b225e2 // Removed deprecated module 2013-09-19 17:57:29 +02:00
Jerome Nadaud
2e80f00ba2 // Remove console log 2013-09-19 17:39:11 +02:00
Jerome Nadaud
48d7e43f1c Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-19 17:38:19 +02:00
Jerome Nadaud
6f483a87a9 // Fix hide language on ajax load 2013-09-19 17:38:07 +02:00
Sarah Lorenzini
550f6c190b // update stats tabs 2013-09-19 17:36:27 +02:00
Vincent Augagneur
97cff2210f //removed unused code 2013-09-19 17:01:20 +02:00
Vincent Augagneur
53e046c4b5 //removed unused code 2013-09-19 17:00:50 +02:00
Kevin Granger
f222bb7b7f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-19 16:58:12 +02:00
Kevin Granger
650001024a // orders cleanup 2013-09-19 16:55:06 +02:00
Vincent Augagneur
2b2b502ba2 //blockbestsellers && bankwire now use displayError & displayConfirmation 2013-09-19 16:55:04 +02:00
Vincent Augagneur
150b68b96b //displayError & displayConfirmation use bootstrap design 2013-09-19 16:52:58 +02:00
Vincent Augagneur
a5642d43a3 //blockbestsellers module configuration is now using bootstrap design 2013-09-19 16:47:51 +02:00
Vincent Augagneur
ef063db2f0 //bankwire module configuration is now using bootstrap design 2013-09-19 16:39:22 +02:00
Jerome Nadaud
33943ef66a // Date range filter 2013-09-19 16:23:26 +02:00
Vincent Augagneur
d1a35838cf //small fix 2013-09-19 16:09:53 +02:00
Jerome Nadaud
3b465111b9 // Customer group 2013-09-19 15:57:28 +02:00
Jerome Nadaud
15622fbf45 // Customers group 2013-09-19 14:25:17 +02:00
Jerome Nadaud
cd627113b6 // Some fix 2013-09-19 12:13:24 +02:00
Kevin Granger
d735496159 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-19 12:09:34 +02:00
Kevin Granger
be8f728b2a // orders 2013-09-19 12:09:25 +02:00
Jerome Nadaud
eb1531a0b3 // Fix textlang size and textarea input group 2013-09-19 11:23:09 +02:00
Jerome Nadaud
c23f01cdc8 // Attributes Groups view 2013-09-19 10:48:16 +02:00
Sarah Lorenzini
5621a3b039 // update tabs stats 2013-09-18 17:47:42 +02:00
Jerome Nadaud
154658befd Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-18 17:41:06 +02:00
Jerome Nadaud
5bed29a538 // Fix Employees fields 2013-09-18 17:40:46 +02:00
Francois Gaillard
6e0be0c226 Dashboard - Fixed last day trend 2013-09-18 17:28:04 +02:00
Jerome Nadaud
38d565110f // List header fix 2013-09-18 17:23:22 +02:00
Kevin Granger
ac1b9fd96e Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-18 17:10:59 +02:00
Kevin Granger
806e628997 // dashboard update version 2013-09-18 17:10:48 +02:00
Jerome Nadaud
4413d04525 // Customer fix 2013-09-18 17:05:16 +02:00
Jerome Nadaud
64f1ba1e08 // Parameters fix 2013-09-18 16:36:33 +02:00
Jerome Nadaud
1f3e717eb6 // Preferences - Admin bootstrap fix 2013-09-18 16:22:05 +02:00
Jerome Nadaud
0683ed4092 // Some list design fix 2013-09-18 15:25:58 +02:00
Damien Metzger
39fdc8c926 [+] BO : Added new class ConfigurationKPI for KPI cache storage 2013-09-18 15:09:04 +02:00
Kevin Granger
b71b594ca1 // fix tree search / title / manufacturers 2013-09-18 15:00:10 +02:00
Damien Metzger
8a4b24f45e // Added KPIs in products and categories 2013-09-18 13:49:42 +02:00
Jerome Nadaud
c48f4f5e1b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-18 10:44:19 +02:00
Jerome Nadaud
5a206e83a8 // Security 2013-09-18 10:43:58 +02:00
Damien Metzger
50a9e7ef99 // Code cleaning 2013-09-18 10:29:19 +02:00
Jerome Nadaud
897f1eafeb //Suppliers view 2013-09-18 10:29:04 +02:00
Jerome Nadaud
8081acb0b5 // Supliers view 2013-09-18 10:09:45 +02:00
Sarah Lorenzini
bdb797a66c // update tabs stats 2013-09-17 17:49:49 +02:00
Jerome Nadaud
8f10a0e32f // Product customization 2013-09-17 17:30:23 +02:00
Kevin Granger
51663f972e // fix scenes 2013-09-17 17:15:40 +02:00
Jerome Nadaud
0971750f9f // Attribute generator to bootstrap 2013-09-17 16:36:54 +02:00
Damien Metzger
f7855f2a3a // Always more KPIs 2013-09-17 12:47:13 +02:00
Jérôme Nadaud
a0be556795 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-17 12:33:48 +02:00
Jérôme Nadaud
47341ce0bb // Attributes generator 2013-09-17 12:33:06 +02:00
Kevin Granger
a53080eefc // fix bug css 2013-09-17 12:32:36 +02:00
Kevin Granger
5c04e5564c // tags + fixed-width 2013-09-17 11:59:57 +02:00
Jérôme Nadaud
0ab792cc6e // Change tagify class 2013-09-17 10:52:21 +02:00
Damien Metzger
c0c4af988f // Added net profits / visitor as a KPI 2013-09-17 10:47:54 +02:00
Damien Metzger
70f284ad88 [+] BO : new graph engine nvd3 (still need some development - will replace the other engines) 2013-09-17 10:24:46 +02:00
Jérôme Nadaud
455904a59b // Some input fix 2013-09-17 10:13:00 +02:00
Kevin Granger
e08d2a8361 // fix 2013-09-17 10:00:33 +02:00
Jérôme Nadaud
ab5dd91359 // Localization 2013-09-17 09:18:56 +02:00
Jerome Nadaud
57ed337030 // Fix autosize for products attachment tab textarea 2013-09-16 18:57:11 +02:00
Damien Metzger
8934f9c7ed [*] BO : Connected the first KPIs to real data 2013-09-16 18:40:34 +02:00
Jerome Nadaud
80b6d5a570 // fix autosize for textarea in options.tpl 2013-09-16 18:28:57 +02:00
Jerome Nadaud
a4103265e5 // Color picker 2013-09-16 18:17:29 +02:00
Sarah Lorenzini
4ef7bd0b77 // update stats tab 2013-09-16 17:51:03 +02:00
Jerome Nadaud
7b06758e22 // Fix carrier header and button link 2013-09-16 17:23:01 +02:00
Vincent Augagneur
c7a777163c //small fix 2013-09-16 17:14:08 +02:00
Jerome Nadaud
fce87cf66a Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-16 17:05:39 +02:00
Jerome Nadaud
235af94a92 // Fix Page header toolbar 2013-09-16 17:05:27 +02:00
Vincent Augagneur
b0ace74155 //small fix 2013-09-16 16:30:13 +02:00
Jerome Nadaud
7643a45d81 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-16 16:12:37 +02:00
Jerome Nadaud
29dad488d4 // Stats list active class 2013-09-16 16:12:23 +02:00
Sarah Lorenzini
9dfb573422 // update stats tab 2013-09-16 15:46:21 +02:00
Jerome Nadaud
517e95387c Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-16 15:33:04 +02:00
Jerome Nadaud
3107a4c3f0 // Translations 2013-09-16 15:32:49 +02:00
Kevin Granger
7f6255156e // BO orders 2013-09-16 15:20:30 +02:00
Kevin Granger
f9334b029b // add .row-margin-bottom 2013-09-16 15:05:19 +02:00
Jerome Nadaud
8f7cb72231 // Fix tabstop on language dropdown button 2013-09-16 14:35:28 +02:00
Jerome Nadaud
7e8d119213 // Textarea autosize 2013-09-16 14:25:49 +02:00
Kevin Granger
7c01df9268 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-16 11:45:13 +02:00
Kevin Granger
70b39019bf // kpi orders 2013-09-16 11:45:02 +02:00
Vincent Augagneur
636c4575f7 //added warning domaine on dashboard && prestashop news improve 2013-09-16 10:59:42 +02:00
Kevin Granger
2af6c30bde // fix nav 2013-09-16 09:50:34 +02:00
Damien Metzger
533003faa0 [-] BO : limited the number of customers displayed in the group view to 100 in order to avoid memory usage error 2013-09-16 09:37:58 +02:00
Kevin Granger
81a783679d // fix nav 2013-09-13 18:35:27 +02:00
Kevin Granger
bcfd092a1d // fix nav 2013-09-13 17:48:46 +02:00
Jerome Nadaud
be0592d5a2 // Some fix 2013-09-13 17:19:20 +02:00
Jerome Nadaud
74237ff694 // Some fix 2013-09-13 17:11:12 +02:00
Jerome Nadaud
5e2aa392da // Some fix 2013-09-13 15:40:51 +02:00
Jerome Nadaud
7b532d77fd // Fix some bootstrap design 2013-09-13 15:36:27 +02:00
Kevin Granger
b58dddf521 // moved search/reset of list header 2013-09-13 15:03:26 +02:00
Kevin Granger
4f3183283f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-13 12:18:43 +02:00
Kevin Granger
4cde899834 // localization 2013-09-13 12:18:27 +02:00
Jerome Nadaud
0ba9704c21 // Fix class index error 2013-09-13 12:17:24 +02:00
Jerome Nadaud
2bf17241bd // Fix associated categories tree header 2013-09-13 11:50:27 +02:00
Kevin Granger
968f2a45d5 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-13 11:41:26 +02:00
Kevin Granger
c7ec33f062 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/css/admin.css
	admin-dev/themes/default/template/controllers/carrier_wizard/helpers/form/form.tpl
	admin-dev/themes/default/template/controllers/carrier_wizard/helpers/form/form_ranges.tpl
	admin-dev/themes/default/template/controllers/categories/helpers/form/form.tpl
	admin-dev/themes/default/template/controllers/home/content.tpl
	admin-dev/themes/default/template/controllers/localization/content.tpl
	admin-dev/themes/default/template/controllers/orders/_customized_data.tpl
	admin-dev/themes/default/template/controllers/orders/_new_product.tpl
	admin-dev/themes/default/template/controllers/orders/_product_line.tpl
	admin-dev/themes/default/template/controllers/orders/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/tax_rules/helpers/list/list_header.tpl
	admin-dev/themes/default/template/footer.tpl
	controllers/admin/AdminCarrierWizardController.php
	controllers/admin/AdminCarriersController.php
	controllers/admin/AdminCmsController.php
	controllers/admin/AdminLocalizationController.php
	controllers/admin/AdminManufacturersController.php
	controllers/admin/AdminSuppliersController.php
	css/admin.css
	js/admin-products.js
	js/admin_carrier_wizard.js
	translations/fr.gzip
2013-09-13 11:41:14 +02:00
Jerome Nadaud
f20fa55308 // Fix filter by category checkbox 2013-09-13 09:49:07 +02:00
Kevin Granger
ce74aeb357 // nav 2013-09-13 09:35:36 +02:00
Damien Metzger
d914982961 // Rounded sales on dashboard 2013-09-12 19:26:38 +02:00
Jerome Nadaud
7d9f9a7bfc // Fix CMS missing Page header toolbar 2013-09-12 19:21:53 +02:00
Jerome Nadaud
3cf4dc76b5 // Fix missing localizations page header toolbar 2013-09-12 18:54:28 +02:00
Damien Metzger
06a178b8fe // Replaced screencast option by menu option 2013-09-12 18:24:18 +02:00
Damien Metzger
f20a3eb9b5 // Fixed most viewed conversion rate 2013-09-12 18:24:18 +02:00
Damien Metzger
26babfc8f9 // Binded most viewed products on analytics 2013-09-12 18:24:17 +02:00
Damien Metzger
481dc3d307 // Dashboard is almost complete 2013-09-12 18:24:17 +02:00
Damien Metzger
278cd952e2 // Gapi choose between 1.3 and 3.0 versions 2013-09-12 18:24:17 +02:00
Jerome Nadaud
14a9d914d8 // Fix module uninstall button 2013-09-12 18:23:27 +02:00
Jerome Nadaud
81b6ec93f9 // Add count down to text input 2013-09-12 17:59:25 +02:00
Jerome Nadaud
039955e6a1 // Fix bug customer list in multistore 2013-09-12 16:59:25 +02:00
Jerome Nadaud
29db737c10 // Add autosize to textarea 2013-09-12 16:52:55 +02:00
Jerome Nadaud
ba6699a378 // Fix Admin access 2013-09-12 15:55:14 +02:00
Jerome Nadaud
c105486fa3 // Tree bugs 2013-09-12 15:22:47 +02:00
Jerome Nadaud
bc221b993b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-12 14:55:58 +02:00
Jerome Nadaud
873eee8ad0 // Tree list bug 2013-09-12 14:55:45 +02:00
Damien Metzger
c2d15f4ade // Changed language display in back office dropdown menu 2013-09-12 14:53:12 +02:00
Jerome Nadaud
e63ce0a86d // Tree 2013-09-12 14:47:47 +02:00
Kevin Granger
91d3da310b // dashboard panel version 2013-09-12 14:42:20 +02:00
Kevin Granger
a1b0710f85 // fix menu + sass refacto 2013-09-12 12:26:08 +02:00
Vincent Augagneur
4a6c5979a8 //added new useful links on dashboard 2013-09-12 10:52:56 +02:00
Vincent Augagneur
6fa398e8e0 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-12 10:08:32 +02:00
Vincent Augagneur
38822bfb5e //dashactivity configuration 2013-09-12 10:08:28 +02:00
Jerome Nadaud
e9dbadcabf // Tree 2013-09-11 20:41:14 +02:00
Kevin Granger
ab8d5bc265 // VT theme 2013-09-11 18:17:57 +02:00
Kevin Granger
18212420c3 // fix switch menu top // side 2013-09-11 17:26:44 +02:00
Damien Metzger
739d1434b5 // Small fix 2013-09-11 17:02:44 +02:00
Kevin Granger
99263a1492 // switch menu top // side 2013-09-11 16:56:10 +02:00
Damien Metzger
ddd7ed2d2b // Connected traffic sources to analytics (dashboard) 2013-09-11 16:43:24 +02:00
Jerome Nadaud
7909a7388c //Fix disabled categories with add parameter 2013-09-11 15:41:08 +02:00
Jerome Nadaud
617b58ba2f //Fix Text input desc error 2013-09-11 15:40:21 +02:00
Jerome Nadaud
49c9afec40 // Categories tree 2013-09-11 15:08:24 +02:00
Damien Metzger
0ff6b25f56 // Fixed norm 2013-09-11 14:15:56 +02:00
Damien Metzger
981ce70594 // Added realtime Analytics to the dashboard (private beta only at this time) 2013-09-11 14:07:56 +02:00
Vincent Augagneur
937ce38a1f //added dashactivity config 2013-09-11 12:25:07 +02:00
Kevin Granger
913ee1007c // menu top 2013-09-11 11:32:06 +02:00
Vincent Augagneur
486bb58bf6 //added dashboard widget config toggle display 2013-09-11 11:07:38 +02:00
Vincent Augagneur
3cc187a716 //dashactivity trafic source data_list & pie_chart 2013-09-11 10:34:01 +02:00
Kevin Granger
f29b1b3a31 // perts fix + menu top WIP 2013-09-10 20:23:06 +02:00
Jerome Nadaud
e0d33eae9e // Categories Tree changes 2013-09-10 18:40:05 +02:00
Vincent Augagneur
1aba28ff6f //typo 2013-09-10 16:42:54 +02:00
Jerome Nadaud
7990db8b0c // Tree folders icon problem 2013-09-10 14:34:48 +02:00
Jerome Nadaud
85dc552667 // Toolbar 2013-09-10 14:08:29 +02:00
Kevin Granger
03d1697e19 // treeview helper 2013-09-10 09:41:39 +02:00
Damien Metzger
1d8da79507 [-] BO : fixed notifications when there is too much data 2013-09-10 09:17:54 +02:00
Kevin Granger
2a7bc49190 // treeview 2013-09-09 19:03:38 +02:00
Jerome Nadaud
e91460b8fe [-] BO : Change Nested categories 2013-09-09 18:58:32 +02:00
Jerome Nadaud
4e8658f1d6 [+] BO : Helper Tree js improvement 2013-09-09 18:57:42 +02:00
Vincent Augagneur
b6e0583af8 //added security check on dashboard 2013-09-09 18:47:15 +02:00
Vincent Augagneur
4e1a513371 //added rss and useful link on dashboard 2013-09-09 18:44:34 +02:00
Kevin Granger
69b38f4d6f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/controllers/products/helpers/tree/tree.tpl
	admin-dev/themes/default/template/controllers/products/helpers/tree/tree_header.tpl
2013-09-09 18:13:49 +02:00
Kevin Granger
7774e46cb3 // tree view product 2013-09-09 18:12:31 +02:00
Jerome Nadaud
7bb295b076 // 2013-09-09 16:21:32 +02:00
Vincent Augagneur
c18dea7296 //carrier wizard fix - bootstrap compatibility 2013-09-09 14:14:57 +02:00
Jerome Nadaud
accd2d77c1 [+] BO : Adding tree templates and functions 2013-09-09 12:20:58 +02:00
Jerome Nadaud
b5f6e8a1d8 [+] BO : Add "tree-selected" class to tree.js 2013-09-09 12:10:26 +02:00
Rémi Gaillard
302d5f94dd // grmbl 2013-09-06 18:33:19 +02:00
Damien Metzger
a10b5a517f // Added visits to chart 2013-09-06 17:56:26 +02:00
Jerome Nadaud
f6355ff2d5 [-] BO : Change categories tree method 2013-09-06 17:09:32 +02:00
Jerome Nadaud
c7e4f0ce5f [+] BO : Adding Tree Helper 2013-09-06 17:06:19 +02:00
Jerome Nadaud
36a863df59 [+] BO : Adding Tree Helper 2013-09-06 17:05:19 +02:00
Damien Metzger
8df63f256d // Added chart data 2013-09-06 16:25:51 +02:00
Kevin Granger
fa198aeabc // fix menu, design, css 2013-09-06 16:25:01 +02:00
Kevin Granger
8e1250dad1 // I hate <br /> 2013-09-06 11:13:18 +02:00
Kevin Granger
1b2bab6943 // performance 2013-09-06 11:03:36 +02:00
Kevin Granger
5afdc024aa // navigation sidebar 2013-09-06 09:48:22 +02:00
Vincent Augagneur
79677324b6 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-05 19:11:07 +02:00
Vincent Augagneur
3c2a086296 //merge 2013-09-05 19:10:59 +02:00
Kevin Granger
b2fd886722 // add new tpl for navigation top/side 2013-09-05 19:07:57 +02:00
Vincent Augagneur
4b2ef10dd6 //dashboard data-chart-line added 2013-09-05 19:07:49 +02:00
Rémi Gaillard
a3233cc00c // 2013-09-05 18:51:53 +02:00
Rémi Gaillard
c35d8c7845 // 2013-09-05 18:47:13 +02:00
Rémi Gaillard
f5e00a59f7 // 2013-09-05 18:41:51 +02:00
Rémi Gaillard
8868271c07 // push changes 2013-09-05 18:37:25 +02:00
Vincent Augagneur
e7495f3fe4 //oups 2013-09-05 17:38:17 +02:00
Damien Metzger
2ff2a6b6f9 // Profiling adapted to the new dashboard 2013-09-05 17:28:05 +02:00
Vincent Augagneur
06b54d0519 //typo 2013-09-05 16:35:15 +02:00
Vincent Augagneur
4124a48b1e //added check on range picker if date from is superior than date to 2013-09-05 16:34:03 +02:00
Vincent Augagneur
e4932131f6 //small fix 2013-09-05 16:25:42 +02:00
Vincent Augagneur
1481dc0f5f //added PS_DASHBOARD_USE_PUSH in install 2013-09-05 16:03:14 +02:00
Vincent Augagneur
7568b84f9f //added PS_DASHBOARD_USE_PUSH in upgrade 2013-09-05 16:02:30 +02:00
Damien Metzger
c306b2a425 // Small fix dashboard push 2013-09-05 15:41:10 +02:00
Vincent Augagneur
e352f2137f //small fix 2013-09-05 15:30:59 +02:00
Vincent Augagneur
c34dbcf43a //dashboard range date choice in ajax 👍 2013-09-05 15:25:41 +02:00
Sarah Lorenzini
f09347a8be // update backup BDD, import, and email pages 2013-09-05 14:55:07 +02:00
Sarah Lorenzini
73524c7a4c // update maintenance and email pages 2013-09-05 14:16:06 +02:00
Kevin Granger
d9a429eccc // update radio helper 2013-09-05 14:06:54 +02:00
Vincent Augagneur
1c88bdd24e //dashboard widget regardless refresh 2013-09-05 11:52:18 +02:00
Vincent Augagneur
38e00f9080 //disabled push on dashboard by default 2013-09-05 11:47:57 +02:00
Damien Metzger
95c9edd87a // Fixed Gapi v3.0 token refresh 2013-09-05 11:42:57 +02:00
Vincent Augagneur
009536d3f4 //small fix on version compare for install module 2013-09-05 10:33:15 +02:00
Vincent Augagneur
5fa8cc4d47 //added translation 2013-09-05 10:17:18 +02:00
Vincent Augagneur
49718d6ea9 //new install version for gamification & bootstrap compatibility 2013-09-04 23:16:56 +02:00
Vincent Augagneur
befddf0115 //added 1.6.0.1.sql 2013-09-04 23:15:49 +02:00
Rémi Gaillard
6e3d24b567 // add push 2013-09-04 19:33:05 +02:00
Damien Metzger
114b86ed43 // Stats 2013-09-04 19:15:14 +02:00
Kevin Granger
d5a25f063f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-04 18:56:32 +02:00
Kevin Granger
161c612c02 // fix modules list 2013-09-04 18:56:00 +02:00
Vincent Augagneur
6b2492b62c //added data into dashproducts module 2013-09-04 18:26:58 +02:00
Kevin Granger
22d636f93a // Colored switch, removed "required field" legend, removed duplicate links quick access 2013-09-04 18:14:11 +02:00
Kevin Granger
b4ecaf3ddb // Carrier Wizard with bootstrap WIP 2013-09-04 15:38:45 +02:00
Damien Metzger
cf1f9a01db // More stats 2013-09-04 14:38:27 +02:00
Vincent Augagneur
40eab759dd //remove debug 2013-09-04 14:24:17 +02:00
Vincent Augagneur
08806f0240 //recents orders data-table for dashboard 2013-09-04 09:36:09 +02:00
Kevin Granger
671d419c27 // Carrier Wizard with bootstrap WIP 2013-09-03 19:36:04 +02:00
Damien Metzger
f29c2d3fcb // Added some figures to the dashboard 2013-09-03 18:00:34 +02:00
Jerome Nadaud
7d61be252f [+] BO : Get categories in nested array 2013-09-03 15:27:58 +02:00
Kevin Granger
5f5997b567 // fix quick access -> target _blank for frontend 2013-09-03 15:19:34 +02:00
Vincent Augagneur
b840f28137 //oups 2013-09-03 15:13:05 +02:00
Kevin Granger
dca6e39feb // css for tree view 2013-09-03 14:52:50 +02:00
Kevin Granger
2990497a26 // header notifications 2013-09-03 12:25:48 +02:00
Damien Metzger
a900edee68 // Data, data, data 2013-09-03 11:05:24 +02:00
Vincent Augagneur
70e6aea7c3 //typo 2013-09-03 10:59:12 +02:00
Vincent Augagneur
5dc2eec97d //added tab content in dashproduct module 2013-09-03 10:38:43 +02:00
Damien Metzger
61d10abc76 // Use date_from and date_to in dashboard stats 2013-09-03 10:34:21 +02:00
Vincent Augagneur
7b902ac99d //added param date_from & date_to on hookDashboardDatas 2013-09-03 10:30:08 +02:00
Vincent Augagneur
4d3b378965 //added form date range picker on dashboard 2013-09-03 10:19:15 +02:00
Damien Metzger
19fc22fbf0 // Added translations directory to module gapi 2013-09-02 20:34:43 +02:00
Damien Metzger
1fc507d8d2 // Added configuration checks to the Google Analytics modules
// Implemented the first real data in the dashboard
2013-09-02 20:18:51 +02:00
Kevin Granger
268183f4d2 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-02 19:05:55 +02:00
Kevin Granger
2f5054cb92 // fix anime dashboard loading 2013-09-02 19:05:34 +02:00
Damien Metzger
63a9fd0236 [*] MO : Added help in the Google Analytics API module 2013-09-02 18:54:39 +02:00
Vincent Augagneur
11cd88cf63 //data bind dashtrends module 2013-09-02 17:25:33 +02:00
Vincent Augagneur
9265676f0d Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-02 17:23:00 +02:00
Vincent Augagneur
f165dae15d //now you can refresh each dashboard module you want 2013-09-02 17:22:51 +02:00
Damien Metzger
48d7bc890a // Fixed warning in AdminModulesController (variable conflict) 2013-09-02 17:11:41 +02:00
Damien Metzger
c1cdc90343 [+] MO : new module Gapi for Google Analytics API 2013-09-02 17:07:19 +02:00
Kevin Granger
121554026c // adjustments on modules dash 2013-09-02 16:41:48 +02:00
Kevin Granger
af3051ca8f // BO Dashboard : animate transition 2013-09-02 16:09:27 +02:00
Vincent Augagneur
81c47a085e //fix remove class loading 2013-09-02 15:41:28 +02:00
Kevin Granger
399f60b900 // BO Dashboard loading et trends 2013-09-02 15:17:05 +02:00
Vincent Augagneur
f778b0da25 //remove class loading after widget filling 2013-09-02 15:09:27 +02:00
Vincent Augagneur
0cf96cd059 //small fix 2013-09-02 14:58:17 +02:00
Vincent Augagneur
d10a339542 //kevin special commit 2013-09-02 14:47:47 +02:00
Vincent Augagneur
b882ecfbbc Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-09-02 11:44:01 +02:00
Vincent Augagneur
a6aed9632a //dashboard data binding first part 2013-09-02 11:43:50 +02:00
Kevin Granger
735b20866b // BO Bootstrap Search result page 2013-09-02 11:02:23 +02:00
Kevin Granger
0a8a4dcece // BO Stats : Date Picker + Layout WIP 2013-09-02 10:47:07 +02:00
Vincent Augagneur
252eb868d9 //dashtrends before dashproducts 2013-09-02 10:15:57 +02:00
Vincent Augagneur
d8c4483265 //oups 2013-09-02 10:13:47 +02:00
Vincent Augagneur
d0f2a37fff //dashboard module view tpl init 2013-09-02 10:10:20 +02:00
Jerome Nadaud
48dd826f7d [-] BO : List header module position fix 2013-09-02 09:47:35 +02:00
Vincent Augagneur
10e720b93d //added new modules for dashboard 2013-09-02 09:40:24 +02:00
Jerome Nadaud
5ce139e7f1 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-08-30 17:41:36 +02:00
Jerome Nadaud
6445a38e71 // Fix cart override 2013-08-30 17:41:21 +02:00
Kevin Granger
84a0f9489c // add submenu shadow + allow html for tooltip 2013-08-30 17:39:37 +02:00
Jerome Nadaud
aab9933ff2 // Fix price option render 2013-08-30 17:27:25 +02:00
Kevin Granger
d4023ce0a3 // config Compass + Bower Update 2013-08-30 15:18:20 +02:00
Kevin Granger
0c494912a4 // BO fix product tabs 2013-08-30 11:51:57 +02:00
Kevin Granger
e4d58b7528 // submenu .active link 2013-08-30 11:13:28 +02:00
Kevin Granger
357c949faf // opti css menu 2013-08-29 18:54:36 +02:00
Kevin Granger
40e2b5b8d9 // fix BO modules list -> fav view 2013-08-29 17:23:26 +02:00
Kevin Granger
7d4c0ad36e // fix col-offset and btn-primary 2013-08-29 17:04:10 +02:00
Damien Metzger
36815be192 // Fixed warning 2013-08-29 16:33:06 +02:00
Kevin Granger
c07f226dd4 // fix dashboard gfx 2013-08-29 16:17:40 +02:00
Damien Metzger
33578dfd5e // Class index with Dashboard 2013-08-29 15:58:58 +02:00
Kevin Granger
618d980dc7 [+] add css for graph and temp avatar 2013-08-29 15:48:14 +02:00
Kevin Granger
c5ab91f171 [+] BO dashboard WIP 2013-08-29 14:52:14 +02:00
Kevin Granger
8660a24d55 [+] Dashboard Markup WIP 2013-08-28 19:26:19 +02:00
Jerome Nadaud
1fd6540574 [+] BO : Page header toolbar 2013-08-28 14:14:04 +02:00
Jerome Nadaud
c8d9b9bf3a [+] BO : Page header toolbar 2013-08-28 14:07:50 +02:00
Jerome Nadaud
a76fc165db [-] BO : Page header toolbar 2013-08-28 13:43:42 +02:00
Jerome Nadaud
9d991f3474 [+] BO : Page header toolbar 2013-08-28 11:16:36 +02:00
Jerome Nadaud
4a7e68ae05 // Modules list fix 2013-08-28 10:18:43 +02:00
Jerome Nadaud
bfe6c07053 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-08-28 10:17:25 +02:00
Jerome Nadaud
e204cbf24e [+] BO : Page header toolbar 2013-08-28 10:17:07 +02:00
Kevin Granger
97e342984d Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-08-28 10:07:02 +02:00
Kevin Granger
ecb4d65347 // list toolbar 2013-08-28 10:06:52 +02:00
Vincent Augagneur
0019426e81 //added dashboard controller 2013-08-28 10:04:28 +02:00
Jerome Nadaud
967fc98693 [+] BO : Page header toolbar 2013-08-28 09:37:49 +02:00
Jerome Nadaud
068da6f87c [+] BO : Page header toolbar 2013-08-28 09:24:16 +02:00
Jerome Nadaud
00155d584e // Fix language bug 2013-08-28 09:23:29 +02:00
Kevin Granger
4c92db8912 // Modules position 2013-08-27 19:08:53 +02:00
Jerome Nadaud
e64e81efa7 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-08-27 18:57:09 +02:00
Jerome Nadaud
64b575911a [+] BO : Add list refresh button 2013-08-27 18:56:47 +02:00
Kevin Granger
9129ee79dc // Modules position WIP 2013-08-27 18:54:57 +02:00
Jerome Nadaud
62b4a3cd5e [+] BO : Page header toolbar 2013-08-27 18:42:24 +02:00
Jerome Nadaud
083eba3431 // Small title fix 2013-08-27 18:25:06 +02:00
Jerome Nadaud
4f022c48f8 [+] BO : Products page header toolbar 2013-08-27 18:23:38 +02:00
Jerome Nadaud
f60fe74336 [+] BO : Tracking page header toolbar 2013-08-27 18:22:54 +02:00
Jerome Nadaud
6e46d718f7 // Fix merge problem 2013-08-27 18:22:02 +02:00
Jerome Nadaud
ed0037c435 [+] BO : New page header toolbar 2013-08-27 18:21:27 +02:00
Jerome Nadaud
eb78f766c3 // Fix for panel heading 2013-08-27 14:19:38 +02:00
Jerome Nadaud
2426eac605 [+] BO : Add first action on menu icon list 2013-08-27 14:18:45 +02:00
Jerome Nadaud
946840ae45 // Small id fix 2013-08-26 18:39:38 +02:00
Kevin Granger
a972de046e // fix Modules page 2013-08-26 12:26:41 +02:00
Kevin Granger
f8f2c99d28 // Modules page + Warning 2013-08-26 11:38:10 +02:00
Kevin Granger
b2f0a8aea9 // fix switch + ignore bower_components 2013-08-21 19:28:32 +02:00
Kevin Granger
3f8649b6b4 // cleaning components + fix form input, switch 2013-08-21 19:16:04 +02:00
Jerome Nadaud
f6515a39eb [+] BO : List header new toolbar functionality 2013-08-21 17:52:23 +02:00
Kevin Granger
93e03a3c3b // update bower with latest bootstrap 3.0.0 + fix layout 2013-08-21 17:17:24 +02:00
Jerome Nadaud
d6b50a7f0c // Merge Dev + Bootstrap 2013-08-21 15:27:14 +02:00
Kevin Granger
3005ca39f2 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	admin-dev/themes/default/template/controllers/customers/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/modules_positions/form.tpl
	admin-dev/themes/default/template/controllers/orders/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/products/input_text_lang.tpl
	admin-dev/themes/default/template/controllers/products/shipping.tpl
	admin-dev/themes/default/template/controllers/shipping/content.tpl
	admin-dev/themes/default/template/helpers/form/form.tpl
	admin-dev/themes/default/template/helpers/list/list_header.tpl
	admin-dev/themes/default/template/toolbar.tpl
	classes/helper/HelperList.php
	controllers/admin/AdminCategoriesController.php
	controllers/admin/AdminManufacturersController.php
	controllers/admin/AdminModulesPositionsController.php
	controllers/admin/AdminPerformanceController.php
	controllers/admin/AdminStockInstantStateController.php
	css/admin.css
	js/admin-products.js
	js/admin.js
2013-08-21 09:14:10 +02:00
Kevin Granger
17be1e7528 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-08-20 16:40:14 +02:00
Kevin Granger
44655ecdef // breaking things 2013-08-20 16:38:31 +02:00
Jerome Nadaud
787bf75304 [-] BO : FixBug missing rows and cols attributes for textareas 2013-08-20 09:52:50 +02:00
Jerome Nadaud
00e1b7c0eb [-] BO : FixBug language in label for 2013-08-20 09:36:00 +02:00
Jerome Nadaud
41190a66d4 [+] BO : Product tab fieldset and accordion fix 2013-08-19 18:45:57 +02:00
Jerome Nadaud
5336467e04 [-] BO : FixBug Friendly URL by language 2013-08-19 17:51:53 +02:00
Jerome Nadaud
68d7a320cd [-] BO : FixBug Friendly URL change 2013-08-19 17:48:58 +02:00
Jerome Nadaud
d78ac1afe8 [-] BO : FixBug action link class 2013-08-19 15:01:56 +02:00
Jerome Nadaud
8cd8ede1a5 [+] BO : Add Highlighted class for default list row 2013-08-19 13:31:23 +02:00
Jerome Nadaud
4a2e545bc4 [+] BO : Products tab fieldset 2013-08-19 13:30:18 +02:00
Jerome Nadaud
21d5322e16 [-] BO : FixBug unset param icon 2013-08-19 12:00:43 +02:00
Jerome Nadaud
0aa908bd25 [+] BO : Products add fileset for informations and prices tab 2013-08-19 11:59:27 +02:00
Jerome Nadaud
f73f84dbf2 [+] BO : Product information tab 2013-08-13 17:23:38 +02:00
Jerome Nadaud
1d6f3382f5 [-] BO : FIxBug Correct image path in product 2013-08-13 16:01:42 +02:00
Jerome Nadaud
0e353fe655 [-] BO : Fix bug to check filter values 2013-08-13 15:42:00 +02:00
Jerome Nadaud
5e2a3e3c13 [+] BO : Modal module list 2013-08-13 15:22:18 +02:00
Jerome Nadaud
e33cd2d13b [+] BO : Add active class to list view button 2013-08-13 13:55:41 +02:00
Jerome Nadaud
1af9fdd1b2 [-] BO : Module list new action buttons 2013-08-13 12:28:07 +02:00
Jerome Nadaud
2aa4237bb2 [+] BO : Add otf/woff type to htaccess generator 2013-08-13 10:57:06 +02:00
Jerome Nadaud
407abd8a10 [+] BO : Suply order receipt list action 2013-08-13 10:25:41 +02:00
Jerome Nadaud
a0d870c4eb [+] BO : Button action list improvements 2013-08-13 10:10:24 +02:00
Jerome Nadaud
5f6c1ac1ce // HTML Syntax error 2013-08-12 16:44:15 +02:00
Kevin Granger
d3717f0950 // fix some test with colors & fix for login screen 2013-08-09 18:57:22 +02:00
Jerome Nadaud
a64fcdd135 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-08-09 16:07:26 +02:00
Jerome Nadaud
ecfe61972b [+] BO : Change action link for button 2013-08-09 16:07:07 +02:00
Kevin Granger
bca29980d5 //fix layout and contrasted colors 2013-08-09 15:08:14 +02:00
Kevin Granger
6ae222e720 // some sass/compass magic for color schemes… and few new bugs to fix with layout 2013-08-08 16:59:39 +02:00
Jerome Nadaud
97062d60a2 // Add index.php 2013-08-08 16:14:45 +02:00
Jerome Nadaud
ad1efa612f [+] BO : Better SendBulkAction function 2013-08-08 09:44:52 +02:00
Jerome Nadaud
65271a9385 [-] BO : FixBug Bulk action sended on filter 2013-08-07 18:42:43 +02:00
Jerome Nadaud
000ff0b462 [-] BO : FixBug Missing check value in options list 2013-08-07 17:15:13 +02:00
Jerome Nadaud
95f775daa1 [+] BO : Catalog Bulk actions 2013-08-07 10:52:23 +02:00
Jerome Nadaud
d95aae9a7b Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-08-07 10:44:42 +02:00
Jerome Nadaud
816a39fb4f [+] BO : Footer list bulk actions 2013-08-07 10:43:53 +02:00
Kevin Granger
349c98d567 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
# By Jerome Nadaud
# Via Jerome Nadaud
* 'bootstrap' of https://github.com/PrestaShop/PrestaShop:
  [+] BO : New Bulk actions button
2013-08-06 19:07:59 +02:00
Kevin Granger
ff16de05de // fix, design and fun ! 2013-08-06 19:06:56 +02:00
Jerome Nadaud
bb4a72f46d [+] BO : New Bulk actions button 2013-08-06 19:04:44 +02:00
Jerome Nadaud
0c4aeb31b8 [+] BO : Better action list button 2013-08-06 18:34:31 +02:00
Kevin Granger
58cba9f894 // [+] Module - Login Addons 2013-08-06 10:19:43 +02:00
Kevin Granger
bdc9d77c09 // Module List + some design WIP 2013-08-05 20:42:14 +02:00
Sarah Lorenzini
6533ee4bec // update stock tab 2013-08-05 12:13:43 +02:00
Kevin Granger
9f11ecfd78 // Add label attributes for, refacto browse file 2013-08-02 18:46:37 +02:00
Sarah Lorenzini
94a43f2991 // update advanced parameters and administration tabs 2013-08-02 17:44:26 +02:00
Sarah Lorenzini
60f567d2ff // update modules tab 2013-08-02 15:20:12 +02:00
Sarah Lorenzini
142006e69a // update advanced parameters 2013-08-02 15:10:58 +02:00
jeromenadaud
b34acf74f2 [-] BO : FixBug Undefined variable title 2013-08-01 17:33:53 +02:00
Sarah Lorenzini
e2abf3ecb7 // update preferences tab -> images controller 2013-08-01 17:26:53 +02:00
jeromenadaud
24bf5e5bdf [-] BO : FixBug Undefined variable currency 2013-08-01 17:26:07 +02:00
jeromenadaud
174dfa9a6b [+] BO : Filter button default css class style 2013-08-01 17:13:02 +02:00
jeromenadaud
a29fa2dd09 [+] BO Better filters display 2013-08-01 16:59:08 +02:00
Sarah Lorenzini
047ab9d681 // update images controller 2013-08-01 16:45:46 +02:00
Sarah Lorenzini
50a54240b9 // update images controller 2013-08-01 16:43:58 +02:00
Sarah Lorenzini
680497f1e3 // update preferences tab 2013-08-01 16:40:48 +02:00
Kevin Granger
5defc39def [+] BO Images / Marketing / Spe. Prices Rules 2013-08-01 14:42:43 +02:00
Kevin Granger
e4878ba393 // I'm not sure as I've never had a look at how that works before ;) 2013-07-31 21:17:03 +02:00
jeromenadaud
50bdfb9a1a [-] BO FixBug Action button in list content 2013-07-31 18:44:20 +02:00
jeromenadaud
017e5ccbc8 [+] BO Pagination, filter and display 2013-07-31 18:37:01 +02:00
jeromenadaud
683818ebd4 [+] BO : Remove advanced header on empty list 2013-07-31 18:04:28 +02:00
Sarah Lorenzini
ca253bcda2 // update preferences tab 2013-07-31 17:43:48 +02:00
Sarah Lorenzini
9debffe910 // update shipping tab 2013-07-31 15:06:59 +02:00
Sarah Lorenzini
d744b9dbf2 // update localization and modules tabs 2013-07-31 14:47:21 +02:00
Kevin Granger
a1cc4d14d0 [+] BO Customers > Customers / Customers > Groups 2013-07-30 18:47:13 +02:00
jeromenadaud
24a70479d3 [-] BO : FixBug Module list template 2013-07-30 18:06:35 +02:00
Sarah Lorenzini
635076a7ad // update localization tab 2013-07-30 17:45:50 +02:00
Sarah Lorenzini
faafe4167a // update localization tab 2013-07-30 14:56:39 +02:00
Sarah Lorenzini
816153687c // update localization tab 2013-07-30 12:25:20 +02:00
Kevin Granger
8bafaceb40 [+] BO Customers > Addresses // Helper > Required Fields 2013-07-30 10:35:47 +02:00
Kevin Granger
b95478d529 [+] BO Customers Groups WIP 2013-07-29 20:39:52 +02:00
Kevin Granger
d95a519ace [+] BO Customers WIP 2013-07-29 19:18:02 +02:00
Kevin Granger
613c9b66e5 // fix carriers 2013-07-29 16:51:03 +02:00
Kevin Granger
483dbd7b53 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
# By Sarah Lorenzini (1) and sLorenzini (1)
# Via Sarah Lorenzini
* 'bootstrap' of https://github.com/PrestaShop/PrestaShop:
  // update shipping tab
  // update shipping tab

Conflicts:
	admin-dev/themes/default/template/helpers/options/options.tpl
2013-07-29 16:21:31 +02:00
Kevin Granger
ae225dce4c // WIP customer 2013-07-29 16:16:10 +02:00
Sarah Lorenzini
b528b7b6fc // update shipping tab 2013-07-29 16:13:07 +02:00
sLorenzini
243834ee17 // update shipping tab 2013-07-29 14:14:00 +02:00
sLorenzini
2ac6ada03d // update order tab 2013-07-29 11:01:48 +02:00
Jérôme Nadaud
06834e404d Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-07-26 19:00:00 +02:00
Jérôme Nadaud
52ff61719b [+] BO : Remove invoices button toolbar 2013-07-26 18:59:39 +02:00
Kevin Granger
94de4d3d2f Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
# By Jérôme Nadaud
# Via Jérôme Nadaud
* 'bootstrap' of https://github.com/PrestaShop/PrestaShop:
  [-] BO : Order template misplaced empty form
  [+] BO : Handler invoice date generation button
2013-07-26 18:55:18 +02:00
Kevin Granger
9f9c0ef416 [+] BO Orders 2013-07-26 18:54:28 +02:00
Jérôme Nadaud
0ef7578f26 [-] BO : Order template misplaced empty form 2013-07-26 18:43:40 +02:00
Jérôme Nadaud
f3ca8ec15b [+] BO : Handler invoice date generation button 2013-07-26 17:23:15 +02:00
sLorenzini
c1e4b812f9 // update "create order" tab 2013-07-26 16:33:52 +02:00
Kevin Granger
1a2b78b00f [+] BO Invoices 2013-07-26 15:34:11 +02:00
Jérôme Nadaud
3287ff5300 [+] BO : Product attachment "For" 2013-07-26 15:32:04 +02:00
Jérôme Nadaud
7db1fb89ec [+] BO : Products customization "For" 2013-07-26 15:09:14 +02:00
Jérôme Nadaud
5c52ba31e9 [+] BO : Products quantities "For" and small template fix 2013-07-26 15:03:29 +02:00
sLorenzini
3c035324f4 // update order tab 2013-07-26 12:15:23 +02:00
Kevin Granger
8b7c29dd18 [+] BO Scenes - Tags - Attachments 2013-07-26 11:12:50 +02:00
Kevin Granger
72b046d5f0 [+] BO Manufacturers 2013-07-26 10:21:23 +02:00
Kevin Granger
9e5bbac559 Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
# By Jérôme Nadaud (4) and sLorenzini (1)
# Via Jérôme Nadaud
* 'bootstrap' of https://github.com/PrestaShop/PrestaShop:
  [-] BO : BugFix Cancel modification button error
  [+] BO : Product "For" and combination button
  // update order tab
  [+] BO : Product "For"
  [+] BO : Product "For" and new carriers select list

Conflicts:
	admin-dev/themes/default/css/admin-theme.css
2013-07-25 19:21:59 +02:00
Kevin Granger
9308c5c527 no message 2013-07-25 19:18:54 +02:00
Jérôme Nadaud
07000c1f66 [-] BO : BugFix Cancel modification button error 2013-07-25 18:15:41 +02:00
Jérôme Nadaud
ce5355415b [+] BO : Product "For" and combination button 2013-07-25 17:53:09 +02:00
sLorenzini
832f5cf0dd // update order tab 2013-07-25 16:53:18 +02:00
Jérôme Nadaud
76c87044de [+] BO : Product "For" 2013-07-25 16:44:52 +02:00
Jérôme Nadaud
cc1fddd52d [+] BO : Product "For" and new carriers select list 2013-07-25 16:24:43 +02:00
Kevin Granger
488cf0919a // BO attributes 2013-07-25 15:51:41 +02:00
Jérôme Nadaud
f8ff755067 [+] BO : Product "For" 2013-07-25 14:50:10 +02:00
Jérôme Nadaud
3f83dd9222 [+] BO : Product "For" 2013-07-25 14:33:14 +02:00
Jérôme Nadaud
d6b38635f9 [+] BO : Product "For" 2013-07-25 14:02:36 +02:00
Kevin Granger
59aa781b0d Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap
# By Jérôme Nadaud
# Via Jérôme Nadaud
* 'bootstrap' of https://github.com/PrestaShop/PrestaShop:
  // oops
  [-] BO : Add missing tmp directory
2013-07-25 11:55:58 +02:00
Kevin Granger
b5ae321ea5 // fix input + switch 2013-07-25 11:55:27 +02:00
Jérôme Nadaud
a470cd7d12 // oops 2013-07-25 11:28:40 +02:00
Jérôme Nadaud
059872b1ba [-] BO : Add missing tmp directory 2013-07-25 11:24:43 +02:00
sLorenzini
312ad4eb37 // update order tab 2013-07-25 09:41:31 +02:00
Kevin Granger
edc2113330 // fix merge 2013-07-24 17:02:23 +02:00
Kevin Granger
77f80b1774 // Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap
Conflicts:
	.gitignore
	admin-dev/themes/default/css/admin.css
	admin-dev/themes/default/template/controllers/categories/helpers/list/list_header.tpl
	admin-dev/themes/default/template/controllers/customers/helpers/list/list_header.tpl
	admin-dev/themes/default/template/controllers/modules/list.tpl
	admin-dev/themes/default/template/controllers/modules/page.tpl
	admin-dev/themes/default/template/controllers/modules/tab_module_line.tpl
	admin-dev/themes/default/template/controllers/orders/_documents.tpl
	admin-dev/themes/default/template/controllers/orders/_shipping.tpl
	admin-dev/themes/default/template/controllers/orders/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/payment/helpers/view/view.tpl
	admin-dev/themes/default/template/controllers/payment/restrictions.tpl
	admin-dev/themes/default/template/controllers/products/images.tpl
	admin-dev/themes/default/template/controllers/products/informations.tpl
	admin-dev/themes/default/template/header.tpl
	admin-dev/themes/default/template/helpers/form/form.tpl
	admin-dev/themes/default/template/helpers/modules_list/list.tpl
	classes/Tools.php
	controllers/admin/AdminCartRulesController.php
	controllers/admin/AdminProductsController.php
	css/admin.css
2013-07-24 17:01:23 +02:00
Kevin Granger
f7d1743c8a // fix tags in helper 2013-07-24 11:42:47 +02:00
sLorenzini
5b804d3628 // update order tab 2013-07-23 17:54:47 +02:00
sLorenzini
f194aec8c5 // update module and orders tab 2013-07-22 17:56:24 +02:00
Kevin Granger
9d16eb1d1b // BO fix + work on helpers + compass/codekit config 2013-07-22 16:43:16 +02:00
Kevin Granger
288c0d3ca8 // Css cleaning 2013-07-19 18:41:15 +02:00
Kevin Granger
0b4512dbcb // some work on style sheets 2013-07-18 18:51:24 +02:00
Kevin Granger
02921dc9d0 [+] Helper form WIP 2013-07-16 19:23:46 +02:00
sLorenzini
66f64c1baa // update order tab 2013-07-15 17:58:23 +02:00
sLorenzini
27571f4d06 //update module tab 2013-07-15 12:02:03 +02:00
sLorenzini
0c4a5bd984 // update module tab positions & payment 2013-07-15 11:55:06 +02:00
Kevin Granger
b8babdadb3 // products wip 2013-07-12 19:17:51 +02:00
Damien Metzger
22b73a7339 [*] BO : upgraded cover icon management in product > images 2013-07-12 18:43:49 +02:00
sLorenzini
4919d6d81a // update positions module tab 2013-07-12 17:48:07 +02:00
Kevin Granger
c12ce3dd29 // Products 2013-07-12 17:27:25 +02:00
sLorenzini
160857bdc3 // update css module tab 2013-07-12 14:30:44 +02:00
Kevin Granger
84c0ccbae6 // products TPL 2013-07-11 18:58:44 +02:00
sLorenzini
40967e6525 // update modules list tab 2013-07-11 17:27:11 +02:00
Kevin Granger
f042d704d2 // field translatable + tpl products + fixs 2013-07-10 19:39:35 +02:00
sLorenzini
f847c821ed // update tab modules bootsrap 2013-07-10 18:19:03 +02:00
sLorenzini
8b33ac5aca // quantities product modified + line bootsrap added in order, categories and attributes group controllers 2013-07-10 12:21:22 +02:00
Kevin Granger
ec466b8c70 // Porting more product tpl 2013-07-09 19:10:56 +02:00
Kevin Granger
1f33638f32 [+] BO Wip BS -> Products + fix 2013-07-05 18:36:42 +02:00
Kevin Granger
0ad4b44866 // Refactor helper list + fixs 2013-07-02 18:55:43 +02:00
gRoussac
85da11181d //remove warning 2013-06-30 19:42:07 +02:00
Kevin Granger
d583cf25d2 // Bootstrap3 - Cart_rules > information.tpl + header + Font Awesome + Switch 2013-06-28 19:35:32 +02:00
Kevin Granger
aa8d6d5872 //Porting more components to bootstrap 2013-06-21 17:47:05 +02:00
Kevin Granger
40f03d0ba1 [+] BO: Form components 2013-06-18 21:03:43 +02:00
Kevin Granger
3bdf86e634 Merge branch 'development' of https://github.com/PrestaShop/PrestaShop into bootstrap 2013-06-17 19:19:28 +02:00
Kevin Granger
993690801e // Small changes with layout an css 2013-06-17 18:49:45 +02:00
Kevin Granger
6648fd3e97 // Reset Bootstrap for backward compatibility 2013-06-14 19:25:18 +02:00
Rémi Gaillard
7a65f478b6 // miss ; 2013-06-14 11:48:27 +02:00
Rémi Gaillard
7a91d4b4dd // small fix on toolbar 2013-06-13 19:23:58 +02:00
Kevin Granger
b0eaf8124c [*] BO : Init Bootstrap (Sass) BO 2013-06-13 18:19:50 +02:00
Kevin Granger
86ef69c9ba [*] BO : Init Bootstrap (Sass) BO 2013-06-13 18:03:34 +02:00
Vincent Augagneur
518998ded2 //added bootstrap in BO 2013-06-13 16:35:14 +02:00
3480 changed files with 153691 additions and 54912 deletions

6
.gitignore vendored
View File

@@ -5,6 +5,9 @@
.idea
.svn
.DS_Store
.sass-cache
*.sublime-project
*.sublime-workspace
robots.txt
sitemap.xml
cache/cachefs/*
@@ -104,4 +107,5 @@ modules/upscarrier
modules/uspscarrier
modules/wexpay
modules/yotpo
modules/zingaya
modules/zingaya
admin-dev/themes/default/bower_components

View File

@@ -32,7 +32,6 @@ if(!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] === false) {
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="theme/<?php echo CONFIG_THEME_NAME; ?>/css/login.css" rel="stylesheet" />
<title><?php echo LOGIN_PAGE_TITLE; ?></title>
</head>
<body>

View File

@@ -78,20 +78,20 @@ function includeDatepicker($id, $time = false)
* @param string $theme Theme name (eg. default)
* @param array $arrayDB Parameters in order to connect to database
*/
function rewriteSettingsFile($baseUrls = NULL, $theme = NULL, $arrayDB = NULL)
function rewriteSettingsFile($baseUrls = null, $theme = null, $arrayDB = null)
{
$defines = array();
$defines['_MEDIA_SERVER_1_'] = ($baseUrls AND isset($baseUrls['_MEDIA_SERVER_1_'])) ? $baseUrls['_MEDIA_SERVER_1_'] : _MEDIA_SERVER_1_;
$defines['_MEDIA_SERVER_2_'] = ($baseUrls AND isset($baseUrls['_MEDIA_SERVER_2_'])) ? $baseUrls['_MEDIA_SERVER_2_'] : _MEDIA_SERVER_2_;
$defines['_MEDIA_SERVER_3_'] = ($baseUrls AND isset($baseUrls['_MEDIA_SERVER_3_'])) ? $baseUrls['_MEDIA_SERVER_3_'] : _MEDIA_SERVER_3_;
$defines['_MEDIA_SERVER_1_'] = ($baseUrls && isset($baseUrls['_MEDIA_SERVER_1_'])) ? $baseUrls['_MEDIA_SERVER_1_'] : _MEDIA_SERVER_1_;
$defines['_MEDIA_SERVER_2_'] = ($baseUrls && isset($baseUrls['_MEDIA_SERVER_2_'])) ? $baseUrls['_MEDIA_SERVER_2_'] : _MEDIA_SERVER_2_;
$defines['_MEDIA_SERVER_3_'] = ($baseUrls && isset($baseUrls['_MEDIA_SERVER_3_'])) ? $baseUrls['_MEDIA_SERVER_3_'] : _MEDIA_SERVER_3_;
$defines['_PS_CACHING_SYSTEM_'] = _PS_CACHING_SYSTEM_;
$defines['_PS_CACHE_ENABLED_'] = _PS_CACHE_ENABLED_;
$defines['_DB_NAME_'] = (($arrayDB AND isset($arrayDB['_DB_NAME_'])) ? $arrayDB['_DB_NAME_'] : _DB_NAME_);
$defines['_MYSQL_ENGINE_'] = (($arrayDB AND isset($arrayDB['_MYSQL_ENGINE_'])) ? $arrayDB['_MYSQL_ENGINE_'] : _MYSQL_ENGINE_);
$defines['_DB_SERVER_'] = (($arrayDB AND isset($arrayDB['_DB_SERVER_'])) ? $arrayDB['_DB_SERVER_'] : _DB_SERVER_);
$defines['_DB_USER_'] = (($arrayDB AND isset($arrayDB['_DB_USER_'])) ? $arrayDB['_DB_USER_'] : _DB_USER_);
$defines['_DB_PREFIX_'] = (($arrayDB AND isset($arrayDB['_DB_PREFIX_'])) ? $arrayDB['_DB_PREFIX_'] : _DB_PREFIX_);
$defines['_DB_PASSWD_'] = (($arrayDB AND isset($arrayDB['_DB_PASSWD_'])) ? $arrayDB['_DB_PASSWD_'] : _DB_PASSWD_);
$defines['_DB_NAME_'] = (($arrayDB && isset($arrayDB['_DB_NAME_'])) ? $arrayDB['_DB_NAME_'] : _DB_NAME_);
$defines['_MYSQL_ENGINE_'] = (($arrayDB && isset($arrayDB['_MYSQL_ENGINE_'])) ? $arrayDB['_MYSQL_ENGINE_'] : _MYSQL_ENGINE_);
$defines['_DB_SERVER_'] = (($arrayDB && isset($arrayDB['_DB_SERVER_'])) ? $arrayDB['_DB_SERVER_'] : _DB_SERVER_);
$defines['_DB_USER_'] = (($arrayDB && isset($arrayDB['_DB_USER_'])) ? $arrayDB['_DB_USER_'] : _DB_USER_);
$defines['_DB_PREFIX_'] = (($arrayDB && isset($arrayDB['_DB_PREFIX_'])) ? $arrayDB['_DB_PREFIX_'] : _DB_PREFIX_);
$defines['_DB_PASSWD_'] = (($arrayDB && isset($arrayDB['_DB_PASSWD_'])) ? $arrayDB['_DB_PASSWD_'] : _DB_PASSWD_);
$defines['_COOKIE_KEY_'] = addslashes(_COOKIE_KEY_);
$defines['_COOKIE_IV_'] = addslashes(_COOKIE_IV_);
$defines['_PS_CREATION_DATE_'] = addslashes(_PS_CREATION_DATE_);
@@ -121,7 +121,7 @@ function rewriteSettingsFile($baseUrls = NULL, $theme = NULL, $arrayDB = NULL)
* @param boolean $withTime Display both date and time
* @todo Several formats (french : DD-MM-YYYY)
*/
function displayDate($sqlDate, $withTime = false)
function displayDate($sqlDate, $withTime = false)
{
return strftime('%Y-%m-%d'.($withTime ? ' %H:%M:%S' : ''), strtotime($sqlDate));
}
@@ -164,12 +164,12 @@ function getPath($urlBase, $id_category, $path = '', $highlight = '', $categoryT
foreach ($categories AS $category)
{
$link = Context::getContext()->link->getAdminLink('AdminCategories');
$edit = '<a href="'.$link.'&id_category='.(int)$category['id_category'].'&'.(($category['id_category'] == 1 || $home) ? 'viewcategory' : 'updatecategory').'" title="'.($category['id_category'] == 1 ? 'Home' : 'Modify').'"><img src="../img/admin/'.(($category['id_category'] == 1 || $home) ? 'home' : 'edit').'.gif" alt="" /></a> ';
$edit = '<a href="'.$link.'&id_category='.(int)$category['id_category'].'&'.(($category['id_category'] == 1 || $home) ? 'viewcategory' : 'updatecategory').'" title="'.($category['id_category'] == Category::getRootCategory()->id_category ? 'Home' : 'Modify').'"><i class="icon-'.(($category['id_category'] == Category::getRootCategory()->id_category || $home) ? 'home' : 'pencil').'"></i></a> ';
$fullPath .= $edit.
($n < $nCategories ? '<a href="'.$urlBase.'&id_category='.(int)$category['id_category'].'&viewcategory&token='.Tools::getAdminToken('AdminCategories'.(int)(Tab::getIdFromClassName('AdminCategories')).(int)$context->employee->id).'" title="'.htmlentities($category['name'], ENT_NOQUOTES, 'UTF-8').'">' : '').
(!empty($highlight) ? str_ireplace($highlight, '<span class="highlight">'.htmlentities($highlight, ENT_NOQUOTES, 'UTF-8').'</span>', $category['name']) : $category['name']).
($n < $nCategories ? '</a>' : '').
(($n++ != $nCategories OR !empty($path)) ? ' > ' : '');
(($n++ != $nCategories || !empty($path)) ? ' > ' : '');
}
return $fullPath.$path;
@@ -181,14 +181,14 @@ function getPath($urlBase, $id_category, $path = '', $highlight = '', $categoryT
if (!$category->id)
return $path;
$name = ($highlight != NULL) ? str_ireplace($highlight, '<span class="highlight">'.$highlight.'</span>', CMSCategory::hideCMSCategoryPosition($category->name)) : CMSCategory::hideCMSCategoryPosition($category->name);
$name = ($highlight != null) ? str_ireplace($highlight, '<span class="highlight">'.$highlight.'</span>', CMSCategory::hideCMSCategoryPosition($category->name)) : CMSCategory::hideCMSCategoryPosition($category->name);
$edit = '<a href="'.$urlBase.'&id_cms_category='.$category->id.'&addcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
<img src="../img/admin/edit.gif" alt="Modify" /></a> ';
<i class="icon-pencil"></i></a> ';
if ($category->id == 1)
$edit = '<a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
<img src="../img/admin/home.gif" alt="Home" /></a> ';
$path = $edit.'<a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
'.$name.'</a> > '.$path;
$edit = '<li><a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
<i class="icon-home"></i></a></li> ';
$path = $edit.'<li><a href="'.$urlBase.'&id_cms_category='.$category->id.'&viewcategory&token=' . Tools::getAdminToken('AdminCmsContent'.(int)(Tab::getIdFromClassName('AdminCmsContent')).(int)$context->employee->id).'">
'.$name.'</a></li> > '.$path;
if ($category->id == 1)
return substr($path, 0, strlen($path) - 3);
return getPath($urlBase, $category->id_parent, $path, '', 'cms');
@@ -264,13 +264,13 @@ function checkingTab($tab)
}
// Class file is included in Dispatcher::dispatch() function
if (!class_exists($tab, false) OR !$row['id_tab'])
if (!class_exists($tab, false) || !$row['id_tab'])
{
echo sprintf(Tools::displayError('The class %s cannot be found.'),$tab);
return false;
}
$adminObj = new $tab;
if (!$adminObj->viewAccess() AND ($adminObj->table != 'employee' OR Context::getContext()->employee->id != Tools::getValue('id_employee') OR !Tools::isSubmit('updateemployee')))
if (!$adminObj->viewAccess() && ($adminObj->table != 'employee' || Context::getContext()->employee->id != Tools::getValue('id_employee') || !Tools::isSubmit('updateemployee')))
{
$adminObj->_errors = array(Tools::displayError('Access denied.'));
echo $adminObj->displayErrors();
@@ -284,9 +284,9 @@ function checkingTab($tab)
*/
function checkTabRights($id_tab)
{
static $tabAccesses = NULL;
static $tabAccesses = null;
if ($tabAccesses === NULL)
if ($tabAccesses === null)
$tabAccesses = Profile::getProfileAccesses(Context::getContext()->employee->id_profile);
if (isset($tabAccesses[(int)($id_tab)]['view']))
@@ -409,10 +409,10 @@ function runAdminTab($tab, $ajaxMode = false)
require_once(_PS_ADMIN_DIR_.'/init.php');
$cookie = Context::getContext()->cookie;
if (empty($tab) and !sizeof($_POST))
if (empty($tab) && !sizeof($_POST))
{
$tab = 'AdminHome';
$_POST['tab'] = 'AdminHome';
$tab = 'AdminDashboard';
$_POST['tab'] = $tab;
$_POST['token'] = Tools::getAdminTokenLite($tab);
}
// $tab = $_REQUEST['tab'];
@@ -494,14 +494,14 @@ function runAdminTab($tab, $ajaxMode = false)
$action = Tools::getValue('action');
// no need to use displayConf() here
if (!empty($action) AND method_exists($adminObj, 'ajaxProcess'.Tools::toCamelCase($action)) )
if (!empty($action) && method_exists($adminObj, 'ajaxProcess'.Tools::toCamelCase($action)) )
$adminObj->{'ajaxProcess'.Tools::toCamelCase($action)}();
else
$adminObj->ajaxProcess();
// @TODO We should use a displayAjaxError
$adminObj->displayErrors();
if (!empty($action) AND method_exists($adminObj, 'displayAjax'.Tools::toCamelCase($action)) )
if (!empty($action) && method_exists($adminObj, 'displayAjax'.Tools::toCamelCase($action)) )
$adminObj->{'displayAjax'.$action}();
else
$adminObj->displayAjax();
@@ -511,26 +511,26 @@ function runAdminTab($tab, $ajaxMode = false)
else
{
/* Filter memorization */
if (isset($_POST) AND !empty($_POST) AND isset($adminObj->table))
if (isset($_POST) && !empty($_POST) && isset($adminObj->table))
foreach ($_POST AS $key => $value)
if (is_array($adminObj->table))
{
foreach ($adminObj->table AS $table)
if (strncmp($key, $table.'Filter_', 7) === 0 OR strncmp($key, 'submitFilter', 12) === 0)
if (strncmp($key, $table.'Filter_', 7) === 0 || strncmp($key, 'submitFilter', 12) === 0)
$cookie->$key = !is_array($value) ? $value : serialize($value);
}
elseif (strncmp($key, $adminObj->table.'Filter_', 7) === 0 OR strncmp($key, 'submitFilter', 12) === 0)
elseif (strncmp($key, $adminObj->table.'Filter_', 7) === 0 || strncmp($key, 'submitFilter', 12) === 0)
$cookie->$key = !is_array($value) ? $value : serialize($value);
if (isset($_GET) AND !empty($_GET) AND isset($adminObj->table))
if (isset($_GET) && !empty($_GET) && isset($adminObj->table))
foreach ($_GET AS $key => $value)
if (is_array($adminObj->table))
{
foreach ($adminObj->table AS $table)
if (strncmp($key, $table.'OrderBy', 7) === 0 OR strncmp($key, $table.'Orderway', 8) === 0)
if (strncmp($key, $table.'OrderBy', 7) === 0 || strncmp($key, $table.'Orderway', 8) === 0)
$cookie->$key = $value;
}
elseif (strncmp($key, $adminObj->table.'OrderBy', 7) === 0 OR strncmp($key, $adminObj->table.'Orderway', 12) === 0)
elseif (strncmp($key, $adminObj->table.'OrderBy', 7) === 0 || strncmp($key, $adminObj->table.'Orderway', 12) === 0)
$cookie->$key = $value;
$adminObj->displayConf();
$adminObj->postProcess();
@@ -548,7 +548,7 @@ function runAdminTab($tab, $ajaxMode = false)
// ${1} in the replacement string of the regexp is required, because the token may begin with a number and mix up with it (e.g. $17)
$url = preg_replace('/([&?]token=)[^&]*(&.*)?$/', '${1}'.$adminObj->token.'$2', $_SERVER['REQUEST_URI']);
if (false === strpos($url, '?token=') AND false === strpos($url, '&token='))
if (false === strpos($url, '?token=') && false === strpos($url, '&token='))
$url .= '&token='.$adminObj->token;
@@ -563,7 +563,7 @@ function runAdminTab($tab, $ajaxMode = false)
// ${1} in the replacement string of the regexp is required, because the token may begin with a number and mix up with it (e.g. $17)
$url = preg_replace('/([&?]token=)[^&]*(&.*)?$/', '${1}'.$adminObj->token.'$2', $_SERVER['REQUEST_URI']);
if (false === strpos($url, '?token=') AND false === strpos($url, '&token='))
if (false === strpos($url, '?token=') && false === strpos($url, '&token='))
$url .= '&token='.$adminObj->token;
$message = Translate::getAdminTranslation('Invalid security token');

View File

@@ -107,5 +107,3 @@ if ($option)
$grid->create($render, $type, $width, $height, $start, $limit, $sort, $dir);
$grid->render();

View File

@@ -37,9 +37,8 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="NOFOLLOW, NOINDEX" />
<link type="text/css" rel="stylesheet" href="'._PS_JS_DIR_.'jquery/ui/themes/base/jquery.ui.datepicker.css" />
<link type="text/css" rel="stylesheet" href="'._PS_CSS_DIR_.'admin.css" />
<link type="text/css" rel="stylesheet" href="'._PS_JS_DIR_.'jquery/plugins/cluetip/jquery.cluetip.css" />
<link type="text/css" rel="stylesheet" href="themes/'.Context::getContext()->employee->bo_theme.'/css/admin.css" />
<link type="text/css" rel="stylesheet" href="themes/'.Context::getContext()->employee->bo_theme.'/css/backward/admin.css" />
<link type="text/css" rel="stylesheet" href="'._PS_JS_DIR_.'jquery/plugins/chosen/jquery.chosen.css" />
<title>PrestaShop&trade; - '.Translate::getAdminTranslation('Administration panel').'</title>
<script type="text/javascript">
@@ -56,9 +55,6 @@ echo '
<script type="text/javascript" src="'._PS_JS_DIR_.'jquery/plugins/chosen/jquery.chosen.js"></script>
<link rel="shortcut icon" href="'._PS_IMG_.'favicon.ico" />
'.Hook::exec('displayBackOfficeHeader').'
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="'._PS_CSS_DIR_.'admin-ie.css" />
<![endif]-->
<style type="text/css">
div#header_infos, div#header_infos a#header_shopname, div#header_infos a#header_logout, div#header_infos a#header_foaccess {
color:'.(Tools::getBrightness(empty(Context::getContext()->employee->bo_color) ? '#FFFFFF' : Context::getContext()->employee->bo_color) < 128 ? 'white' : '#383838').'

View File

@@ -0,0 +1,10 @@
{
"name": "admin-theme",
"version": "0.0.0",
"dependencies": {
"font-awesome": "~3.2.1",
"sass-bootstrap": "~3.0.0",
"enquire": "2.1.0"
},
"devDependencies": {}
}

View File

@@ -0,0 +1,16 @@
# Require any additional compass plugins here.
http_path = "/"
css_dir = "css"
sass_dir = "scss"
images_dir = "img"
javascripts_dir = "js"
fonts_dir = "font"
output_style = :compact
environment = :production
# To enable relative paths to assets via compass helper functions. Uncomment:
# relative_assets = true
line_comments = false
color_output = false
preferred_syntax = :sass

File diff suppressed because it is too large Load Diff

View File

@@ -1,677 +0,0 @@
body {font-family: Arial, Helvetica, sans-serif;}
h1, h2, h3, h4 { font-family: Arial, Helvetica, sans-serif; margin-bottom:.5em; line-height:1.4em; }
h2 { font-size:1.7em; }
h3 { font-size:1.25em; }
h4 { font-size:1.05em; }
h6 { font-size:1em; }
/*LIST*/
ul,ol {list-style:none; margin: 0; padding: 0;}
ul li {color:#585A69;}
/*FORM*/
label {color:#585a69;text-shadow:0 1px 0#fff;}
fieldset{background-color:#EBEDF4; border:1px solid #CCCED7; color:#585A69; font-size:1.1em;margin:0;padding:1em}
.Bloc {background-color:#EBEDF4; border:1px solid #CCCED7;font-size:1.1em;margin:0;padding:1em}
legend{background:#EBEDF4;border:1px solid #CCCED7;font-weight:700;margin:0;padding:.2em .5em;text-align:left}
input[type="text"],input[type="password"],input[type="file"],textarea {border:1px solid #ccc; background-color:#fff;}
input[type="text"]:disabled,input[type="password"]:disabled,input[type="file"]:disabled,textarea:disabled {border:1px solid #ccc; background-color:#dedede; color: #444444;}
select { border:1px solid #ccc; font-size: 12px;}
select[disabled="disabled"], input[disabled="disabled"],textarea[disabled="disabled"], option[disabled="disabled"] {border: 1px solid #CCCCCC;color: #AAAAAA}
.header_module{background:url('../img/header_module.png');padding-left: 0.5em;padding-top: 0.8em;height:20px;color: #812143;border:solid 1px #CCC;}
.double_select select{width:300px;height:160px;}
.double_select a{text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px}
.icon {vertical-align:middle}
.icon-top {vertical-align:top}
/*BUTTON*/
.button{
cursor: pointer;
background: #e3e3e3 url('../img/bg-button-degrade.png') repeat-x scroll left top;
background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent;
background: -webkit-gradient(linear, center top ,center bottom, from(#F9F9F9), to(#E3E3E3)) repeat scroll 0 0 transparent;
border-color: #CCCCCC #BBBBBB #A0A0A0;border-left: 1px solid #BBBBBB;border-radius: 3px 3px 3px 3px;border-right: 1px solid #BBBBBB;border-style: solid;border-width: 1px;color: #000000;margin: 0;outline: medium none;padding: 3px 8px;text-align: center;vertical-align: middle;white-space: nowrap; text-shadow:0 1px 0 #fff;}
.button[disabled=disabled]{color:#8C8C8C}
.button.bt-icon { display:inline-block; margin-bottom:7px;}
.button.bt-icon span {padding-left:5px;}
input.button[disabled=disabled]:hover{background-color:#FFF6D3}
.button:hover{border:1px solid #939393;}
.button:active{border:1px solid #939393;}
.button.export-csv span{ background: transparent url('../img/export-csv.png') no-repeat scroll left top; padding:1px 0 1px 20px}
#top_container{margin:0;padding:0}
/*HEADER*/
#header { background-color: #394049; height:90px; }
/* Portrait orientation targeting */
@media screen and (orientation: portrait) {#header{min-width:1250px}}
/* Portrait orientation targeting */
@media screen and (orientation: landscape) {#header{min-width:1250px}}
#header #header_infos{ position:relative; margin: 0; padding:0; height:60px; }
#header #header_shopname {float: left; margin:10px 15px 0 10px;}
#header #employee_box {float: right; display:block;}
#header #employee_infos {display:block; margin:5px 15px 0 10px;}
#header #employee_infos a{color:#BABABA; text-transform:capitalize;margin-right: 5px}
#header #employee_infos a:hover {color:#fff;}
#header #employee_infos .employee_name { float:left; color:#fff;padding: 0 20px 0 0;}
#header .separator { background: transparent url('../img/separator.png') no-repeat scroll center top;height: 19px; width: 16px; margin-right: 5px}
#header ul#employee_links {list-style: none;display: block;text-align: left;}
#header ul#employee_links li {display: inline;line-height: 20px;}
#header #header_infos #header_shopname span{display:block; font-size:24px; height:28px; overflow:hidden;margin:0; color:#fff; text-shadow: 0 1px 0 #000000;}
#header #header_infos a#header_logout { background: transparent url('../img/logout.png') no-repeat scroll left top; padding-left:20px; color:#bababa;}
#header #header_infos a#header_logout:hover {color:#fff;}
#header #header_infos #header_logout a span {color:#bababa}
#header #header_infos #header_foaccess{ text-decoration:none; color:#bababa;}
#header #header_infos #header_foaccess a {color:#bababa !important;}
#header #header_infos a#header_foaccess:hover { color:#fff;}
#header #header_search{ background-color:#fff; border:2px solid #000; float:left; margin-top:15px; position:relative; height:25px; box-shadow: 0 1px 0 #666666; }
#header #header_search #bo_query{ font: 13px Arial,sans-serif; float:left;background: none repeat scroll 0 0 transparent; border:none; box-shadow:none; padding: 5px 0px 5px 4px; width: 160px; }
#header #header_search #bo_search_type_chzn{ font-size:13px; float:left; margin:0 23px 0 0; padding:0 4px; vertical-align:middle;width:80px !important;height:27px; border:none;}
#header #header_search #bo_search_type_chzn.chzn-container-single .chzn-single { box-shadow:none; border-radius:0px; border:none; border-left:1px dotted #ccc;}
#header #header_search #bo_search_submit { background: url('../img/icon-search2.png') no-repeat scroll center; border:none; width:27px; height:25px; float:left; font-weight:normal; margin:0; padding:0; cursor:pointer; text-indent:-9999em; position:absolute; right:0; display:block; border-left:1px solid #3079ED; border-radius:0px; /*hacking ie7*/ font-size:0 !ie7; color: transparent !ie;}
#header #header_quick{float:right; display:block; margin-top:15px;}
#header #header_quick #quick_select_chzn{ font-size:13px; margin:0 10px 0 0; padding:0px 0 4px; }
#header #header_myaccount{background:url('../img/bg-lang.png') no-repeat;display:block;float:right;height:16px;margin:8px 1px 0 0;width:16px}
.path_bar {display:none;}
#notifs_icon_wrapper {float: left;position: relative;margin:15px 10px 0; width:95px;}
.notifs { float: left;position: relative;cursor: pointer;margin:0; padding:5px; width: 18px;height: 16px;}
#orders_notif {background: url('../img/notif_order.png') no-repeat center top;}
#customers_notif {background: url('../img/notif_customer.png') no-repeat center top;}
#customer_messages_notif {background: url('../img/notif_message.png') no-repeat center top;}
#orders_notif.open_notifs,
#customers_notif.open_notifs,
#customer_messages_notif.open_notifs { background-color: #FFFFFF;border: 1px solid #000000; position: relative; display: block; background-position:center bottom; }
.number_wrapper {color: white;display: none;font-size: 13px;font-weight: bold;position: absolute; right: -8px;top: -10px;z-index: 101;padding: 2px 5px;}
.number_wrapper span {background-color: #F03D25; font-size:11px; display: block; padding: 1px 3px;border-color: -moz-use-text-color #DD3822 #DD3822;border-radius: 2px 2px 2px 2px;border-right: 1px solid #DD3822;border-style: none solid solid;border-width: 0 0px;}
.notifs_wrapper {background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #000; border-top:none;display: none; cursor:auto; position: absolute; top: 25px; left: -1px; width:300px; padding: 10px;color: black; z-index:9999;}
.notifs_wrapper h3 {font-size: 14px;padding-bottom:8px;margin:0;border-bottom: 1px solid #E5E5E5;}
.notifs_wrapper ul {padding:6px 0;margin:0;}
.notifs_wrapper ul li {text-decoration: none;list-style: none;font-size:12px;padding:5px 0;}
#header_infos .notifs_wrapper a {font-weight: bold; font-size:11px; color: black; float:right;}
.notifs_wrapper p {font-size: 12px;padding-top:8px;margin:0;border-top: 1px solid #E5E5E5;}
.notifs_wrapper p.no_notifs {border: none;}
/*MENU*/
#header #menu{ background-color: #f8f8f8; border-bottom:1px solid #e5e5e5; float:left;line-height:normal;margin:0;padding:0;width:100%;}
#header #menu li.maintab{float:left;height:29px;list-style:none;list-style:none;display:block; border-left:1px solid #fff; border-right:1px solid #ccc;}
#header #menu li.submenu_size .title{cursor:default;color:#000;display:block; padding:8px 3px 4px 0;font-weight:normal;font-size:12px;}
#header #menu li.submenu_size .title{_display:inline;_padding:6px 5px 4px 0}
#header #menu li{_height:32px;_padding-top:3px}
#header #menu img{display:inline;padding:0 3px 0 6px; margin-top:-4px; vertical-align:middle;width:16px;height:16px}
#header #menu li.active, #header #menu li:hover{background-position:0 -38px;white-space:nowrap;}
#header #menu li.active a{}
#header #menu li:hover, #header #menu li.active {background-color:#49B2FF;}
#header #menu li.maintab:hover, #header #menu li.active {border-left:1px solid #49B2FF;border-right:1px solid #49B2FF;}
#header #menu li.active a.title, #header #menu li:hover a.title {color:#fff; text-shadow: -1px -1px 0 #3293D6;}
#header #menu .withLeftBorder{background:transparent url('../img/separator_subnav.png') no-repeat 0 5px}
#header #menu .submenu{background:#f8f8f8;clear:both;margin:0;padding:0;border:1px solid #d9d9d9;z-index:9999; box-shadow: 1px 5px 5px #CCCCCC; -moz-box-shadow:1px 5px 10px #CCCCCC; -webkit-box-shadow:1px 5px 10px #CCCCCC;}
#header #menu .submenu li{list-style:none;margin:0;padding:0;display:block;min-width:150px;}
#header #menu .submenu li a{ font-size:12px;display:block;padding: 5px 15px 5px 10px; color:#666666;border-top:1px solid #fff; border-bottom:1px solid #ccc;}
#header #menu .submenu li a:hover { background-color:#eee; text-shadow:0 1px 0 #fff;}
#header #menu .submenu li.active a { color: #fff;}
#header #menu .submenu li.active a:hover { color:#666666}
/*SEPARATION*/
.separation { background-color:#ccc;border-bottom:1px solid #fff; width:100%; height:1px; margin:10px 0;}
/*TABLE*/
.table_grid {width:100%;}
.table{ background-color:#fff;border:1px solid #ccc;padding:0: border-radius:3px; -moz-border-radius:3px;-webkit-border-radius:3px;}
.filter {background-color:#f1f9ff;}
.table .filter {margin:2px;}
.table th a{text-decoration:underline}
.table a:hover{text-decoration:none}
.table tr th{ background-color: #F1F1F1; text-shadow:0 1px 0 #fff; padding:4px 6px;
background: #ececec url('../img/bg-degrade-table.png') repeat-x scroll left top;
background-image: -moz-linear-gradient(center top , #F9F9F9, #ECECEC);
background: -webkit-gradient(linear, center top ,center bottom, from(#F9F9F9), to(#ECECEC)) repeat scroll 0 0 transparent;
font-size:13px; text-align:left; color:#333;}
.table tr th.right { text-align:center;}
.table tr td{border-bottom:1px solid #ccc;color:#333;font-size:12px;padding: 4px 4px 4px 6px;}
.table tr.row_hover:hover td{background:#fff1b5}
.table tr.row_hover.filter:hover td{background:#F1F9FF}
.table tr td.row_hover:hover table tr td{background:none}
.table tr.action_details td{background:#FAFAFA;}
.table tr.alt_row.action_details td{background:#E8E8E8;}
.table tr td.empty{border-bottom:none;background:white!important}
.table tr td.first{border-left:1px solid #DEDEDE}
.table tr td.last{border-right:1px solid #DEDEDE}
.table tr.small td{height:15px}
.table tr.last td{border-bottom:none}
.col-left {vertical-align:top; padding-right:10px;}
.col-right {padding-bottom:5px;}
#tabPane1 td.col-left { width:200px;}
#product-tab-content-wait{display:block;background:url('../img/bg_loaderSpace.png');min-height:420px;position:absolute;width:96.5%;}
div#loading{height:128px;width:128px;background:url('../img/ajax-loader.gif');display:block;text-indent:-9999px;margin:100px auto;}
td.col-left label { display:block; width:100%; text-align:right;}
.alt_row{background-color:#f8f8f8}
.path_bar{background-color:#E2EBEE;border:1px solid #999999;font-family:Trebuchet,Arial,Helvetica,sans-serif;font-size:13px;margin-bottom:20px;padding:5px}
.path_bar a{font-weight:700}
.cat_bar{background-color:#F4E8CD;border:1px solid #999999;font-family:Trebuchet,Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;margin-bottom:20px;padding:5px}
.cat_bar a{font-weight:700}
.table tr#total_products,
.table tr#total_discounts,
.table tr#total_wrapping,
.table tr#total_shipping { height:35px;}
.table tr#total_order { height:50px;}
a.action_module{color: #268CCD;text-decoration: underline;}
a.header_module_toggle{font-weight: bold;color: #268CCD;display:block;}
a.module_toggle_all{color: #268CCD;}
.nbr_module{float:right;margin-right:10px;font-style:italic;font-size:12px;color: #268CCD;}
.autoupgradeSteps div { line-height: 30px; }
.upgradestep { margin-right: 5px;padding-left: 10px; padding-right: 5px;}
#upgradeNow.stepok, .autoupgradeSteps a.stepok { background-image: url('../img/admin/enabled.gif');background-position: left center;background-repeat: no-repeat;padding-left: 15px;}
#upgradeNow {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;}
.button-autoupgrade {-moz-border-bottom-colors: none;-moz-border-image: none;-moz-border-left-colors: none;-moz-border-right-colors: none;-moz-border-top-colors: none;border-color: #FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right: 1px solid #DFD5AF;border-style: solid;border-width: 1px;color: #268CCD;font-size: medium;padding: 5px;}
.processing {overflow: auto;}
/*UI ACCORDEON*/
.ui-accordion-header { background-color: #ccc; color:#000;}
/*BLOC*/
.Bloc { background: none repeat scroll 0 0 #EBEDF4;}
/*TABLE STATUS COMMANDE*/
.table td span.color_field { font-size:11px; padding:2px 5px; border-radius:3px; text-transform:uppercase; color:#fff; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;}
/*multishop toolbar*/
.multishop_toolbar { background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 10px; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px; font-size: 18px;}
.multishop_toolbar span.text_multishop {vertical-align: 7px; padding-right: 5px; }
.multishop_toolbar select.shopList { width: 300px; }
.multishop_toolbar a.chzn-single { background: url('../img/icon-multishop.png') no-repeat 5px 5px; padding: 1px 2px 2px 25px; font-weight: bold; }
.multishop_toolbar .chzn-container .chzn-results .first{font-weight: bold;background-color: #408BD5;color: #ffffff;}
.multishop_toolbar .chzn-container .chzn-results .group{font-weight: bold;font-style: italic;padding-left: 15px;background-color: #C6DEFC;}
.multishop_toolbar .chzn-container .chzn-results .shop{padding-left: 30px;background-color: #EAF2FC;}
/*toolbarBox*/
.toolbar-placeholder {position:relative}
.toolbarBox {background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 5px 0; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;position:relative}
.toolbarBox .pageTitle { margin-left:10px; line-height:48px}
.toolbarBox .pageTitle h3 {font-size: 1.6em; font-weight: normal; line-height: 52px; margin: 0; padding: 0; text-shadow:0 1px 0 #fff;}
.toolbarBox ul.cc_button {float:right;margin:0 5px 0 0;padding:0;}
.toolbarBox ul.cc_button li {color: #666666; float: left; height: 48px; list-style: none outside none; padding: 1px 1px 3px 4px; text-align: center;}
.toolbarBox a.toolbar_btn { border:1px solid #f8f8f8; min-width:50px; border-width: 1px; font-size:11px;cursor: pointer; display: block; float: left; padding: 3px 5px; white-space: nowrap; text-shadow: 0 1px 0 #ffffff;}
.toolbarBox a.toolbar_btn:hover { background-color:#fff; border:1px inset #ccc; border-radius:3px;-moz-border-radius:3px; -webkit-border-radius:3px;-o-border-radius:3px;}
.toolbarBox .toolbar_btn span{ display: block;float: none;height: 32px;margin: 0 auto;width: 32px; /*hacking ie7*/ margin:0 !ie; position:relative !ie;}
.toolbarBox .process-icon-delete { background-image: url('../img/process-icon-delete.png');}
.toolbarBox .process-icon-duplicate { background-image: url('../img/process-icon-duplicate.png');}
.toolbarBox .process-icon-preview { background-image: url('../img/process-icon-preview.png');}
.toolbarBox .process-icon-stats { background-image: url('../img/process-icon-stats.png');}
.toolbarBox .process-icon-cancel, .toolbarBox .toolbar-cancel { background-image: url('../img/process-icon-cancel.png');}
.toolbarBox .process-icon-new, .toolbarBox .toolbar-new{ background-image: url('../img/process-icon-new.png');}
.toolbarBox .process-icon-save { background-image: url('../img/process-icon-save.png');}
.toolbarBox .process-icon-save-and-stay { background-image: url('../img/process-icon-save-and-stay.png');}
.toolbarBox .process-icon-edit { background-image: url('../img/process-icon-edit.png');}
.toolbarBox .process-icon-back { background-image: url('../img/process-icon-back.png');}
.toolbarBox .process-icon-refresh-index { background-image: url('../img/process-icon-refresh-index.png');}
.toolbarBox .process-icon-refresh-cache { background-image: url('../img/process-icon-refresh-cache.png');}
.toolbarBox .process-icon-save-calendar { background-image: url('../img/process-icon-save-calendar.png');}
.toolbarBox .process-icon-new-module { background-image: url('../img/process-icon-new-module.png');}
.toolbarBox .process-icon-new-url { background-image: url('../img/process-icon-new-url.png');}
.toolbarBox .process-icon-new-module-addon { background-image: url('../img/process-icon-new-module-addon.png');}
.toolbarBox .process-icon-save-and-preview { background-image: url('../img/process-icon-preview.png');}
.toolbarBox .process-icon-import { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export-all { background-image: url('../img/process-icon-export-csv-details.png');}
.toolbarBox .process-icon-export-stock-state-quantities-csv { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export-stock-state-prices-csv { background-image: url('../img/process-icon-export-csv-details.png');}
.toolbarBox .process-icon-export-csv-orders { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-export-csv-details { background-image: url('../img/process-icon-export-csv-details.png');}
.toolbarBox .process-icon-export-stock-mvt-csv { background-image: url('../img/process-icon-export-csv.png');}
.toolbarBox .process-icon-newAttributes, .toolbarBox .toolbar-new{ background-image: url('../img/process-icon-new.png');}
.toolbarBox .process-icon-new.add_product{ background-image: url('../img/process-icon-addProduct.png');}
.toolbarBox .process-icon-partialRefund{ background-image: url('../img/process-icon-partial-refund.png');}
.toolbarBox .process-icon-standardRefund{ background-image: url('../img/process-icon-standard-refund.png');}
.toolbarBox .process-icon-help{ background-image: url('../img/process-icon-help.png');}
.toolbarBox .process-icon-help-new{ background-image: url('../img/process-icon-help-new.png');}
.toolbarBox .process-icon-modules-list{ background-image: url('../img/process-icon-modules-list.png');}
.toolbarReduced {margin-right:221px}
#modules_list_button {width:211px;height:63px;border:none;position:absolute;top:0;right:0;background-image:url('../img/modules_list_button.png');font-size: 1.6em;cursor:pointer;padding-left:45px}
.toolbarBox #modules_list_container {
background: none repeat scroll 0 0 #FFF;
border: solid 1px #CCC;
display: block;
float: right;
height: auto;
width: 500px;
position: absolute;
right: 13px;
top: 63px;
z-index: 100;
box-shadow: 1px 5px 5px #CCCCCC;
-moz-box-shadow: 1px 5px 10px #CCCCCC;
-webkit-box-shadow: 1px 5px 10px #CCCCCC;
opacity: 1;
}
.toolbarBox #modules_list_container #modules_list_container_content
{
max-height: 500px;
overflow: auto;
}
.toolbarBox #modules_list_container #modules_list_container_tab {margin-top: 10px;width: auto;height: auto; }
.toolbarBox #modules_list_container #modules_list_container_tab table {width: 100%;border-spacing: 0px; }
.toolbarBox #modules_list_container #modules_list_container_tab tr { height: auto}
.toolbarBox #modules_list_container #modules_list_container_tab tr.rowalt {background-color: #F0F7FF}
.toolbarBox #modules_list_container #modules_list_container_tab #tab_module_switch {margin-bottom: 10px;}
.toolbarBox #modules_list_container #modules_list_loader {margin-top: 10px}
.toolbarBox #modules_list_container .nav-tabs-modules:after {clear: both;}
.toolbarBox #modules_list_container .nav-tabs-modules > li {height: 19px;}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a {
padding-right: 12px;
padding-left: 12px;
margin-right: 2px;
line-height: 14px;
}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a {
padding-top: 8px;
padding-bottom: 7px;
border: 1px solid transparent;
-webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
-o-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a:hover {
border-color: #C0C0C0;
background-color: #ffffff;
}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a {border: 1px solid #ddd;border-bottom:none;}
.toolbarBox #modules_list_container .nav-tabs-modules > .active > a,
.toolbarBox #modules_list_container .nav-tabs-modules > .active > a:hover {
color: #555555;
cursor: default;
background-color: #F8F8F8;
border: 1px solid #ddd;
border-bottom-color: transparent;
}
div.fix-toolbar {border-bottom: 1px solid #E0E0E0;position:fixed;top:0;opacity:0.9;z-index:500;margin:auto}
/*button upload files*/
#content .qq-upload-button {
background: #e4e4e4 url('../img/bg-button-degrade.png') repeat-x scroll left top;
background: -moz-linear-gradient(center top , #F9F9F9, #E3E3E3) repeat scroll 0 0 transparent;
background: -webkit-gradient(linear, center top ,center bottom, from(#F9F9F9), to(#E3E3E3)) repeat scroll 0 0 transparent;
color:#333;
width:180px;
text-shadow: 0 1px 0 #fff;
border-color: #CCCCCC #BBBBBB #A0A0A0;
border-left: 1px solid #BBBBBB;
border-radius: 3px 3px 3px 3px;
border-right: 1px solid #BBBBBB;
border-style: solid;
border-width: 1px;
color: #000000;
}
#content .qq-upload-button:hover { border:1px solid #939393;}
.file_upload_label {margin-top:5px;}
/*leadin*/
.leadin {}
.leadin .bloc-leadin{ padding:10px 3px;}
/*productBox*/
#productBox { position:relative; width:100%; float:left;}
/*tab-pane*/
form#product_form, form#access_form, form#cart_rule_form, #modules_tab_list { background-color:#ebedf4; border:1px solid #ccced7; min-height:404px; padding: 5px 10px 10px; margin-left:140px;}
#modules_tab_list {min-height: inherit}
#content form.adminstockmanagement {margin-left:0px;}
form#product_form h3 { font-size:14px; font-weight:normal;}
form#product_form h4 { font-size:18px; font-weight:normal;}
.tab-row {}
.tab-row .tab {background:#EFEFEF;width:100px;}
.tab-row .tab-page.selected {}
.tab-row .tab-page {}
.productTabs{ background-color:#fafafa; border:1px solid #ccced7; border-right:none; float:left; width:140px;}
.productTabs ul{padding:0;margin:0;}
.productTabs ul li.tab-row { border:none; }
.productTabs ul li.tab-row:first-child a {border-top:none;}
.productTabs ul li.tab-row a { display:block; font-weight:normal; color:#666;padding: 7px 10px; border-top:1px solid #CCCED7; border-right:1px solid #CCCED7;}
.productTabs ul li.tab-row a.selected { background-color:#EBEDF4;font-weight:bold;color:#000; border-right:none;}
.product-tab-content h4.tab { display:none;}
#product_list {margin-bottom:0.5em}
#categories-treeview { }
#product-tab-content-3-Associations .Association td.col-left { width:200px;}
/*FILTER MODULE*/
.filter-module { background-color:#ebedf4; border:1px solid #c2c4d9; padding:10px; display:block; min-height:35px;}
.filter-module #filternameForm {float:left; margin-right:30px;}
.filter-module label {width:auto;}
.filter-module .select-filter { float:left;}
.filter-module .button-filter { float:right;}
/*FILTER STOCK*/
.filter-stock { background-color:#ebedf4; border:1px solid #c2c4d9; margin-bottom:15px; padding:10px; display:block; min-height:25px;}
.filter-stock #stock_instant_state {float:left; margin-right:30px;}
.filter-stock label {width:auto;}
.filter-stock .select-filter { float:left;}
.filter-stock .button-filter { float:right;}
.filter-stock-extended { background-color:#ebedf4; border:1px solid #c2c4d9; margin-bottom:15px; padding:10px; display:block; min-height:65px;}
.filter-stock-extended #stock_cover {float:left; margin-right:30px;}
.filter-stock-extended #supply_orders {float:left; margin-right:30px;}
.filter-stock-extended label {width:auto;}
.filter-stock-extended .select-filter { float:left;}
.filter-stock-extended .button-filter { float:right;}
/*ADDONS LOGIN*/
#addons_login_div { background: #EBEDF4 url('../img/lock.png') no-repeat scroll left 5px;}
#addons_login_div form#addons_login_form { float:right;}
#addons_login_div p {float:left; font-size:16px; color:#585A69; line-height:24px; text-shadow: 0 1px 0 #fff; margin:0; padding-left:25px;}
#addons_login_div label {}
#addons_login_div input { float:left; margin-right:10px;}
#addons_login_div input#addons_login_button { margin-right: 0px; }
/*SIDEBAR*/
.sidebar { position:relative; float:left; width:220px; display:inline;}
.sidebar h3 { background-color:#ebedf4; font-weight:bold; display:block; padding:5px;}
.sidebar.navigation h3 {margin:0;}
.sidebar .subHeadline { font-weight:bold; float:right; margin-top:-28px; margin-right:5px;}
.sidebar ul.categorieList {}
.sidebar ul.categorieList li { border-top:1px solid #ccc; position:relative; line-height:20px;}
.sidebar ul.categorieList li:first-child { border-top:none;}
.sidebar ul.categorieList li a {color:#3a6ea7; display:block; padding-left:5px;}
.sidebar ul.categorieList li a:hover { background-color: #EBEDF4;}
.sidebar ul.categorieList li div.categorieWidth { overflow:hidden;}
.sidebar ul.categorieList li div.count{ position:absolute; top:0; right:5px;}
.sidebar .categorieStatus { display:none;}
/*NAVIGATION ENGINE*/
.blocEngine { background-color:#eee;}
.blocEngine .rowForm { display: block;float: left;margin: 0; padding: 5px 0; }
.blocEngine .rowForm label { font-weight:normal;}
.blocEngine .rowForm label,
.blocEngine .rowForm select {width:220px; float:left; text-align:left;}
.blocEngine p { margin-top:10px;display:block; float:left;}
/*STATCONTAINER*/
#statsContainer {margin-left:220px; padding:0 0 0 20px;}
#statsContainer #calendar,
#referrersContainer #calendar{ background-color: #EEEEEE;border-top: 1px solid #CCCCCC; display: block; margin: 10px 0;min-height: 25px; padding: 5px;}
#statsContainer #calendar form,
#referrersContainer #calendar form {float:left;}
#statsContainer #calendar input, #statsContainer #calendar p,
#referrersContainer #calendar input, #referrersContainer #calendar p { float:left;}
#statsContainer #calendar input.submitDateDay, #referrersContainer #calendar input.submitDateDay { border-top-right-radius: 0px; border-bottom-right-radius:0px; border-right:none;}
#statsContainer #calendar input.submitDateMonth, #statsContainer #calendar input.submitDateMonth,
#referrersContainer #calendar input.submitDateMonth, #referrersContainer #calendar input.submitDateMonth { border-radius:0px;}
#statsContainer #calendar input.submitDateYear,
#referrersContainer #calendar input.submitDateYear { border-top-left-radius: 0px; border-bottom-left-radius:0px; border-left:none; margin-right:10px;}
#statsContainer #calendar input.submitDateDayPrev,
#referrersContainer #calendar input.submitDateDayPrev { border-top-right-radius: 0px; border-bottom-right-radius:0px; border-right:none;}
#statsContainer #calendar input.submitDateMonthPrev,
#referrersContainer #calendar input.submitDateMonthPrev { border-radius:0px;}
#statsContainer #calendar input.submitDateYearPrev,
#referrersContainer #calendar input.submitDateYearPrev { border-top-left-radius: 0px; border-bottom-left-radius:0px; border-left:none; margin-right:10px;}
#statsContainer #calendar p, #referrersContainer #calendar p { margin:2px;}
#statsContainer #calendar p span, #referrersContainer #calendar p span { float:left; display:block; padding:3px;}
#statsContainer .blocStats { background-color: #EBEDF4;border: 1px solid #C2C4D9; display: block; position:relative; padding: 10px;}
#statsContainer .blocStats h2 { font-weight:normal; margin:0; font-size:1.4em}
#statsContainer .blocStats h2.icon-statsproduct span,
#statsContainer .blocStats h2.icon-statsbestsuppliers span,
#statsContainer .blocStats h2.icon-statsforecast span,
#statsContainer .blocStats h2.icon-pagesnotfound span,
#statsContainer .blocStats h2.icon-sekeywords span,
#statsContainer .blocStats h2.icon-guide span,
#statsContainer .blocStats h2.icon-statsequipment span,
#statsContainer .blocStats h2.icon-statsvisits span,
#statsContainer .blocStats h2.icon-statssales span,
#statsContainer .blocStats h2.icon-statsregistrations span,
#statsContainer .blocStats h2.icon-statspersonalinfos span,
#statsContainer .blocStats h2.icon-statscatalog span,
#statsContainer .blocStats h2.icon-basket-delete span,
#statsContainer .blocStats h2.icon-statsbestcustomers span,
#statsContainer .blocStats h2.icon-statsorigin span,
#statsContainer .blocStats h2.icon-statsbestproducts span,
#statsContainer .blocStats h2.icon-statsbestvouchers span,
#statsContainer .blocStats h2.icon-statsbestcategories span,
#statsContainer .blocStats h2.icon-statscarrier span,
#statsContainer .blocStats h2.icon-statssearch span,
#statsContainer .blocStats h2.icon-statsstock span,
#statsContainer .blocStats h2.icon-conversion span,
#statsContainer .blocStats h2.icon-payment span,
#statsContainer .blocStats h2.icon-category span,
#statsContainer .blocStats h2.icon-currency span,
#statsContainer .blocStats h2.icon-language span,
#statsContainer .blocStats h2.icon-attribute span { background: transparent url('../img/icon-sprites-title.png') no-repeat scroll left top; width:16px; height:16px; padding-right:18px; margin-right:3px;}
#statsContainer .blocStats h2.icon-statsproduct span { background-position :2px 2px;}
#statsContainer .blocStats h2.icon-statsforecast span { background-position :-18px 2px;}
#statsContainer .blocStats h2.icon-guide span { background-position :-36px 2px;}
#statsContainer .blocStats h2.icon-statsbestsuppliers span { background-position :-54px 2px;}
#statsContainer .blocStats h2.icon-pagesnotfound span { background-position :-72px 2px;}
#statsContainer .blocStats h2.icon-sekeywords span { background-position :-90px 2px;}
#statsContainer .blocStats h2.icon-statsequipment span { background-position :-108px 2px;}
#statsContainer .blocStats h2.icon-statsvisits span { background-position :-126px 2px;}
#statsContainer .blocStats h2.icon-statsregistrations span { background-position :-147px 2px;}
#statsContainer .blocStats h2.icon-statssales span { background-position : 0 -16px;}
#statsContainer .blocStats h2.icon-statspersonalinfos span { background-position : -18px -16px;}
#statsContainer .blocStats h2.icon-statscatalog span { background-position : -36px -16px;}
#statsContainer .blocStats h2.icon-category span { background-position : -36px -16px;}
#statsContainer .blocStats h2.icon-basket-delete span { background-position : -54px -16px;}
#statsContainer .blocStats h2.icon-statsbestcustomers span { background-position : -72px -16px;}
#statsContainer .blocStats h2.icon-statsorigin span { background-position : -90px -16px;}
#statsContainer .blocStats h2.icon-statsbestproducts span { background-position : -108px -16px;}
#statsContainer .blocStats h2.icon-statsbestvouchers span { background-position : -126px -16px;}
#statsContainer .blocStats h2.icon-statsbestcategories span { background-position : -147px -17px;}
#statsContainer .blocStats h2.icon-statscarrier span { background-position : 2px -36px;}
#statsContainer .blocStats h2.icon-statssearch span { background-position : -18px -36px;}
#statsContainer .blocStats h2.icon-statsstock span { background-position : -36px -36px;}
#statsContainer .blocStats h2.icon-conversion span { background-position : -54px -36px;}
#statsContainer .blocStats h2.icon-payment span { background-position : -72px -36px;}
#statsContainer .blocStats h2.icon-currency span { background-position : -90px -36px;}
#statsContainer .blocStats h2.icon-language span { background-position : -106px -36px;}
#statsContainer .blocStats h2.icon-attribute span { background-position : -126px -36px;}
#statsContainer .blocStats form { position:absolute; top:10px; right:5px;}
#statsContainer .blocStats form.checkup { position:relative; top:0; left:0;}
#statsContainer .totalStats { font-size:16px; font-weight:bold;}
#statsContainer .blocStats .blocConversion { display:block; display:inline-table; min-height:80px !ie; }
/*MODULECONTAINER*/
#moduleContainer { margin-left:220px; padding:13px 0 0 20px;}
#moduleContainer .table tr th { height:40px;}
#moduleContainer .table tr td { font-size:12px; vertical-align:top; padding: 5px 7px 0; border-top:1px solid #ccc; border-bottom:none;}
#moduleContainer .table tr:first-child {border-top:1px solid #ccc}
#moduleContainer .table tr td .imgm , #modules_list_container_tab .imgm {width:32px;}
#moduleContainer .moduleDesc { font-size:12px; position:relative; margin-bottom:10px;}
#moduleContainer .moduleDesc h3 { color:#3A6EA7; margin:0;}
#moduleContainer .moduleDesc .metadata { float:left; display:block; margin:5px 0;}
#moduleContainer .moduleDesc .metadata dl { float:left; margin:0; padding-right:10px;}
#moduleContainer .moduleDesc .metadata dl dt, .moduleDesc .metadata dl dd { float:left; margin:0; padding:0;}
#moduleContainer .moduleDesc .metadata dl dd { padding-right:10px;}
#moduleContainer .moduleDesc .metadata dl dt { font-weight:bold; padding-right:5px;}
#moduleContainer .moduleDesc p.desc { color:#666; font-family: Georgia; font-style: italic; font-size:12px; display:block; clear:both;}
#moduleContainer .setup {background-color:#6db300; font-weight:bold; font-size:10px; color:#fff; text-transform:uppercase; position:relative; left:10px; padding:0px 4px; display: inline-block; border-radius:3px;}
#moduleContainer .setup.non-install { background-color:#ec7000;}
#moduleContainer .setup.must-have { background-color: #ec7000;}
#moduleContainer .setup.off{ background-color:#ccc; color:#666666}
#moduleContainer .row-actions-module span {padding-right:5px;}
#moduleContainer .row-actions-module span a { font-size:12px;}
#moduleContainer .button.uninstalled,
#moduleContainer .button.installed { float:right; clear:both; margin-top:15px; font-size:12px;}
#moduleContainer ul.listing-grid-module { position:relative; margin:0; padding:0;}
#moduleContainer ul.listing-grid-module li { float:left; border:1px solid #ccc; width:400px; min-height:30px; margin:10px; padding:5px; border-radius:4px;}
#moduleContainer .moduleGridDesc { position:relative; display:block; height:30px;}
#moduleContainer .moduleGridDesc h3 { color:#3A6EA7; margin:0;}
#moduleContainer ul.listing-grid-module li select { position:absolute; top:0; right:0px; }
/*TAB MODULES LIST*/
#modules_list_container_tab #modules_list_container_content{
list-style-type:none;
padding:0;
margin:0;
white-space: nowrap;
overflow: auto;
height: 370px;
}
#modules_list_container_tab #modules_list_container_content li{display:inline-block;}
#modules_list_container_tab table tr th { height:40px;}
#modules_list_container_tab table tr td { font-size:12px; padding: 3px 3px 3px; border-top:1px solid #ccc; border-bottom:none;}
#modules_list_container_tab table tr td tr td {border: none}
#modules_list_container_tab table tr:first-child {border-top:1px solid #ccc}
#modules_list_container_tab .imgm {width:32px;}
#modules_list_container_tab .moduleDesc {font-size:12px}
#modules_list_container_tab .moduleDesc h3 { color:#3A6EA7;margin: 0;font-size: 1.1em;text-align: left;white-space: normal;}
#modules_list_container_tab .moduleDesc .metadata { float:left; display:block; margin:5px 0;}
#modules_list_container_tab .moduleDesc .metadata dl { float:left; margin:0; padding-right:10px;}
#modules_list_container_tab .moduleDesc .metadata dl dt, .moduleDesc .metadata dl dd { float:left; margin:0; padding:0;}
#modules_list_container_tab .moduleDesc .metadata dl dd { padding-right:10px;}
#modules_list_container_tab .moduleDesc .metadata dl dt { font-weight:bold; padding-right:5px;}
#modules_list_container_tab .moduleDesc p.desc { color:#666; font-family: Georgia; font-style: italic; font-size:12px; text-align: left;white-space: normal;}
#modules_list_container_tab .setup {background-color:#6db300; font-weight:bold; font-size:10px; color:#fff; text-transform:uppercase; padding:0 10px; display: inline-block; border-radius:3px;}
#modules_list_container_tab .row-actions-module {float: right;}
#modules_list_container_tab .setup.non-install { background-color:#ec7000;}
#modules_list_container_tab .setup.must-have { background-color: #ec7000;}
#modules_list_container_tab .setup.off{ background-color:#ccc; color:#666666}
#modules_list_container_tab .row-actions-module span { padding-right:5px;}
#modules_list_container_tab .row-actions-module span a { font-size:12px;}
#modules_list_container_tab ul.listing-grid-module { position:relative; margin:0; padding:0;}
#modules_list_container_tab ul.listing-grid-module li { float:left; border:1px solid #ccc; width:400px; min-height:30px; margin:10px; padding:5px; border-radius:4px;}
#modules_list_container_tab .moduleGridDesc { position:relative; display:block; height:30px;}
#modules_list_container_tab .moduleGridDesc h3 { color:#3A6EA7; margin:0;}
#modules_list_container_tab ul.listing-grid-module li select { position:absolute; top:0; right:0px; }
.default_modules_list_display_type #modules_list_container_content li table tr td{border: none}
.default_modules_list_display_type #modules_list_container_content li table {border:solid 1px #ccc;height:105px;width:100%;margin-bottom:10px}
#modules_list_container_tab ul li {height:105px}
/******** ie7 ******/
.ie7 #modules_list_container_tab #modules_list_container_content li{zoom:1;display:inline;}
.ie7 #modules_list_container_content li table {width: 21%;}
.ie7 #modules_list_container_content li table td .btn_right{width:100%;float:right;}
.ie7 #modules_list_container_content li table td .btn_right select{float:left;}
.ie7 #modules_list_container_content li table td a.button{display:block;float:right;}
/*MODULE POSITION*/
.blocLiveEdit { float:right; clear:right; background-color: #EBEDF4; border: 1px solid #C2C4D9;display: block; width:250px;}
.blocLiveEdit h2 { background: transparent url('../img/live_edit.png') no-repeat scroll 10px 10px; height: 40px; line-height: 50px;margin: 0; padding: 0 10px; text-indent: 40px;}
.blocLiveEdit p { padding: 0 10px;}
.blocLiveEdit a.button {float: left; margin:10px; display: inline-block;}
#modulePosition { width:100%; float:left; clear:left;}
#modulePosition .table tr th { height:40px;}
#modulePosition form{ margin-right:270px;}
#modulePosition .lab_modules_positions h3 { color:#3A6EA7; margin:0 0 0 10px; float:left;}
#modulePosition .lab_modules_positions p { font-family:Georgia; font-style: italic; font-size:12px; padding-left:40px; clear:both;}
#modulePosition .lab_modules_positions span { font-size:12px; padding-top:4px; padding-left:5px; float:left; }
select#show_modules { font-size:12px;}
label.text { padding:1px 12px 0 0;}
label.radioCheck {font-weight:normal; padding:0; float:none; margin:0 1em 0 0.25em}
.listForm {}
ul.listForm {}
ul.listForm li {padding-bottom:3px;}
/*FOOTER*/
#footer {height:40px; font-size:12px;clear:both;font-size:0.9em;color:#666666}
#footer .footerLeft { float:left; margin-left:10px;}
#footer .footerRight {float:right; margin-right:10px;}
#footer .footer_link, #footer .footer_link:hover { color:#268CCD;}
/*DASHBOARD*/
.pageTitleHome { font-size: 1.6em; font-weight: normal; margin:0; padding:10px 0;}
.pageTitleHome h3 { font-weight: normal; margin:0;}
#dashboard { background-color: #EBEDF4; border: 1px solid #C2C4D9; display: block; padding: 10px; position: relative; min-width:1200px;}
#dashboard h2 {font-size: 1.4em; font-weight:normal; margin:0 0 15px 0;}
#iframe {}
#iframe #video-content { float:left;}
#iframe {position:relative; display:block; min-height:180px;}
#adminpresentation #video { float:left; padding-right:15px; min-height:150px;}
#adminpresentation #video a { position:relative; height:128px; width:220px; display:block; padding:6px; }
#adminpresentation #video a img { }
#adminpresentation #video a span {background: transparent url("../img/play.png") no-repeat scroll left top; height:128px; width:220px; position:absolute; top:0; left:0; z-index:1; display:block; border:6px solid #fff; border-radius:3px; }
#adminpresentation #video a span:hover {background-position:left bottom;border:6px solid #C2C4D9; transition:background 0.5s;}
#adminpresentation #video-content { padding-left:10px; min-height:150px; }
#adminpresentation #video-content p { font-size:20px; line-height: 26px; color:#585A69; text-shadow: 0 1px 0 #fff;}
.view-modules { float:right; margin: 10px 0;}
.view-modules li { float:left;}
.view-modules li img { padding-right:5px;}
.view-modules li.normal-view-disabled { background: -moz-linear-gradient(center top ,#cccccc, #F9F9F9 ) repeat scroll 0 0 transparent; border-bottom-right-radius: 0; border-right: 1px solid #ccc; border-top-right-radius: 0; color:#999; }
.view-modules li.favorites-view-disabled { background: -moz-linear-gradient(center top ,#cccccc, #F9F9F9 ) repeat scroll 0 0 transparent; border-bottom-left-radius: 0; border-left: 1px solid #fff; border-top-left-radius: 0; color:#999; }
.view-modules li.normal-view-disabled:hover,
.view-modules li.favorites-view-disabled:hover {border-color: #CCCCCC #BBBBBB #A0A0A0;}
.view-modules li.favorites-view {border-bottom-left-radius: 0;border-left: 1px solid #fff; border-top-left-radius: 0;}
.view-modules li.normal-view {border-bottom-right-radius: 0;border-right: 1px solid #ccc; border-top-right-radius: 0;}
.margin-form select.chosen{width: 200px;}
.selected-line {background:#fff1b5;}
#changedFiles ul{list-style-type: square; padding-left: 40px;}
.tooltip { position: relative; }
.tooltip .tooltip_content {
z-index: 100;
text-align: left;
display: none;
white-space: nowrap;
position: absolute;
padding: 5px 5px;
background: black;
color: white;
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);
margin-top: 5px;
}
.tooltip .tooltip_label { cursor: pointer; }
.tooltip .title { text-align: center; padding-bottom: 5px; display: block; font-weight: bold }
.tooltip:hover .tooltip_content { display: block; }
.tooltip_button {
border: 1px solid silver;
border-radius: 3px;
padding: 0 3px;
background: -moz-linear-gradient(top, #ddd, #aaa);
background: -o-linear-gradient(top, #ddd, #aaa);
background: -webkit-linear-gradient(top, #ddd, #aaa);
background: linear-gradient(top, #ddd, #aaa);
color: #666
}
/******** CREATE AN ORDER **************/
#carrier_form label{padding-top:0}
#carrier_form input{margin-top:3px}
/************** SCENE *****************/
#large_scene_image{clear:both;border:1px solid transparent;}

View File

@@ -0,0 +1 @@
#nobootstrap{width:100%;background-color:#fff;margin:-20px 0 0 -20px;padding:20px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#nobootstrap *,#nobootstrap *:before,#nobootstrap *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}#nobootstrap fieldset h1,#nobootstrap fieldset h2,#nobootstrap fieldset h3,#nobootstrap fieldset h4,#nobootstrap fieldset h5,#nobootstrap fieldset h6{margin:0 !important;padding:0 !important;background-color:transparent !important;border:none !important;text-transform:none !important}#nobootstrap a{line-height:normal}#nobootstrap .categorieList a{line-height:20px}#nobootstrap p{line-height:normal}#nobootstrap legend{font-size:13px;line-height:20px;width:auto}#nobootstrap label{font-size:13px;display:inline;line-height:normal}#nobootstrap .breadcrumb{padding:0}#nobootstrap li{line-height:normal}#nobootstrap select,#nobootstrap textarea,#nobootstrap input{height:inherit}#nobootstrap label,#nobootstrap input,#nobootstrap button,#nobootstrap select,#nobootstrap textarea{font-size:12px;line-height:13px;border-radius:none !important}#nobootstrap input[type="radio"],#nobootstrap input[type="checkbox"]{margin:0}#nobootstrap input[type="text"]{height:14px !important}#nobootstrap table.table{margin:0;padding:0;width:100%;border-collapse:collapse}#nobootstrap table.widthfull{width:100%}#nobootstrap .table thead th{vertical-align:top}#nobootstrap .table th,#nobootstrap .table td{line-height:normal;vertical-align:middle;border-top:none}#nobootstrap [class^="icon-"],#nobootstrap [class*=" icon-"]{width:auto}#nobootstrap .toolbarBox [class^="process-icon-"],#nobootstrap .toolbarBox [class*=" process-icon-"]{text-indent:-9000px;overflow:hidden}

File diff suppressed because one or more lines are too long

View File

@@ -1,84 +0,0 @@
.path_bar {display:none;}
#notifs_icon_wrapper {float: left;position: relative;margin:15px 10px 0; width:90px;}
.notifs { float: left;position: relative;cursor: pointer;margin:0; padding:5px; width: 18px;height: 16px;}
#orders_notif {background: url('../img/notif_order.png') no-repeat center top;}
#customers_notif {background: url('../img/notif_customer.png') no-repeat center top;}
#messages_notif {background: url('../img/notif_message.png') no-repeat center top;}
#orders_notif.open_notifs,
#customers_notif.open_notifs,
#messages_notif.open_notifs { background-color: #FFFFFF;border: 1px solid #000000; position: relative; display: block; background-position:center bottom; }
/*toolbarBox*/
.toolbarBox { background-color: #F8F8F8; border: 1px solid #CCCCCC; margin-bottom:10px; padding: 10px 0; border-radius:3px; -moz-border-radius:3px; -webkit-border-radius:3px;}
.toolbarBox .pageTitle { margin-left:10px; line-height:48px}
.toolbarBox .pageTitle h3 {font-size: 2em; font-weight: bold; line-height: 48px; margin: 0; padding: 0}
.toolbarBox ul.cc_button {float:right;margin:0;padding:0}
.toolbarBox ul.cc_button li {color: #666666; float: left; height: 48px; list-style: none outside none; padding: 1px 1px 3px 4px; text-align: center}
.toolbarBox a.toolbar_btn { border-width: 1px;font-size:11px;cursor: pointer; display: block; float: left; padding: 1px 5px; white-space: nowrap; text-shadow: 0 1px 0 #ffffff}
.toolbarBox a.toolbar_btn:hover {}
.toolbarBox .toolbar_btn span{ display: block;float: none;height: 32px;margin: 0 auto;width: 32px}
.toolbarBox .process-icon-delete { background-image: url('../img/process-icon-delete.png')}
.toolbarBox .process-icon-duplicate { background-image: url('../img/process-icon-duplicate.png')}
.toolbarBox .process-icon-preview { background-image: url('../img/process-icon-preview.png')}
.toolbarBox .process-icon-stats { background-image: url('../img/process-icon-stats.png')}
.toolbarBox .process-icon-cancel { background-image: url('../img/process-icon-cancel.png')}
.toolbarBox .process-icon-new, .toolbarBox .process-icon-newAttributes{ background-image: url('../img/process-icon-new.png')}
.toolbarBox .process-icon-save, .toolbarBox .process-icon-save-settings { background-image: url('../img/process-icon-save.png')}
.toolbarBox .process-icon-save-and-stay { background-image: url('../img/process-icon-save-and-stay.png')}
.toolbarBox .process-icon-edit { background-image: url('../img/process-icon-edit.png')}
.toolbarBox .process-icon-back { background-image: url('../img/process-icon-back.png')}
.toolbarBox .process-icon-refresh-index { background-image: url('../img/process-icon-refresh-index.png')}
.toolbarBox .process-icon-refresh-cache { background-image: url('../img/process-icon-refresh-cache.png')}
.toolbarBox .process-icon-save-calendar { background-image: url('../img/process-icon-save-calendar.png')}
.toolbarBox .process-icon-new-module { background-image: url('../img/process-icon-new-module.png')}
.toolbarBox .process-icon-new-module-addon { background-image: url('../img/process-icon-new-module-addon.png')}
div.fix-toolbar {border-bottom: 1px solid #E0E0E0;position:fixed;top:0;opacity:0.9;z-index:1}
/*FILTER MODULE*/
.filter-module { background-color:#ebedf4; border:1px solid #c2c4d9; padding:10px; display:block; min-height:35px;}
.filter-module #filternameForm {float:left; margin-right:30px;}
.filter-module label {width:auto;}
.filter-module .select-filter { float:left;}
.filter-module .button-filter { float:right;}
/*SIDEBAR*/
.sidebar { position:relative; float:left; width:220px; display:inline;}
.sidebar h3 { background-color:#ebedf4; font-weight:bold; display:block; padding:5px;}
.sidebar .subHeadline { font-weight:bold; float:right; margin-top:-28px; margin-right:5px;}
.sidebar ul.categorieList {}
.sidebar ul.categorieList li { border-top:1px solid #ccc; position:relative; line-height:20px;}
.sidebar ul.categorieList li:first-child { border-top:none;}
.sidebar ul.categorieList li a {color:#3a6ea7;}
.sidebar ul.categorieList li div.categorieWidth { text-indent:5px; overflow:hidden;}
.sidebar ul.categorieList li div.count{ position:absolute; top:0; right:5px;}
/*MODULECONTAINER*/
#moduleContainer { margin-left:220px; padding:13px 0 0 20px;}
#moduleContainer .table tr th { height:40px;}
#moduleContainer .table tr td { font-size:12px; vertical-align:top; padding: 5px 7px 0; border-top:1px solid #ccc; border-bottom:none;}
#moduleContainer .table tr:first-child {border-top:1px solid #ccc}
#moduleContainer .table tr:hover { background-color:#FFF1B5;}
#moduleContainer .moduleDesc { font-size:12px; position:relative; margin-bottom:10px;}
#moduleContainer .moduleDesc h3 { color:#3A6EA7; margin:0;}
#moduleContainer .moduleDesc .metadata { float:left; display:block; margin:5px 0;}
#moduleContainer .moduleDesc .metadata dl { float:left; margin:0; padding-right:10px;}
#moduleContainer .moduleDesc .metadata dl dt, .moduleDesc .metadata dl dd { float:left; margin:0; padding:0;}
#moduleContainer .moduleDesc .metadata dl dd { padding-right:10px;}
#moduleContainer .moduleDesc .metadata dl dt { font-weight:bold; padding-right:5px;}
#moduleContainer .moduleDesc p.desc { color:#666; font-size:12px; display:block; clear:both;}
#moduleContainer .setup {background-color:#6db300; font-size:10px; color:#fff; text-transform:uppercase; position:relative; left:10px; padding:0px 4px; display: inline-block; border-radius:3px;}
#moduleContainer .setup.non-install { border: solid 1px #ec7000; background-color: #ffedb1; color: #ec7000}
#moduleContainer .setup.must-have { background-color: #ec7000;}
#moduleContainer .setup.off{ background-color:#ccc;}
#moduleContainer .row-actions-module span { padding-right:5px;}
#moduleContainer .row-actions-module span a { font-size:12px;}
#moduleContainer .button.uninstalled,
#moduleContainer .button.installed { float:right; display: inline-block; margin-top:15px; font-size:12px;}
#moduleContainer .button.updated { margin-top:15px; display: inline-block; font-size:12px;}
#list-action-button{width:175px}
#list-action-button li{margin-left:10px;display: inline;float: left;}
#moduleContainer .moduleName {font-size:12px; color:#3A6EA7;font-weight:bold;}
#moduleContainer .moduleFavDesc { font-family:Georgia; font-style:italic; color:#666;}

35
admin-dev/themes/default/css/vendor/index.php vendored Executable file
View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

769
admin-dev/themes/default/css/vendor/nv.d3.css vendored Executable file
View File

@@ -0,0 +1,769 @@
/********************
* HTML CSS
*/
.chartWrap {
margin: 0;
padding: 0;
overflow: hidden;
}
/********************
Box shadow and border radius styling
*/
.nvtooltip.with-3d-shadow, .with-3d-shadow .nvtooltip {
-moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
box-shadow: 0 5px 10px rgba(0,0,0,.2);
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
/********************
* TOOLTIP CSS
*/
.nvtooltip {
position: absolute;
background-color: rgba(255,255,255,1.0);
padding: 1px;
border: 1px solid rgba(0,0,0,.2);
z-index: 10000;
font-family: Arial;
font-size: 13px;
text-align: left;
pointer-events: none;
white-space: nowrap;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/*Give tooltips that old fade in transition by
putting a "with-transitions" class on the container div.
*/
.nvtooltip.with-transitions, .with-transitions .nvtooltip {
transition: opacity 250ms linear;
-moz-transition: opacity 250ms linear;
-webkit-transition: opacity 250ms linear;
transition-delay: 250ms;
-moz-transition-delay: 250ms;
-webkit-transition-delay: 250ms;
}
.nvtooltip.x-nvtooltip,
.nvtooltip.y-nvtooltip {
padding: 8px;
}
.nvtooltip h3 {
margin: 0;
padding: 4px 14px;
line-height: 18px;
font-weight: normal;
background-color: rgba(247,247,247,0.75);
text-align: center;
border-bottom: 1px solid #ebebeb;
-webkit-border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
border-radius: 5px 5px 0 0;
}
.nvtooltip p {
margin: 0;
padding: 5px 14px;
text-align: center;
}
.nvtooltip span {
display: inline-block;
margin: 2px 0;
}
.nvtooltip table {
margin: 6px;
border-spacing:0;
}
.nvtooltip table td {
padding: 2px 9px 2px 0;
vertical-align: middle;
}
.nvtooltip table td.key {
font-weight:normal;
}
.nvtooltip table td.value {
text-align: right;
font-weight: bold;
}
.nvtooltip table tr.highlight td {
padding: 1px 9px 1px 0;
border-bottom-style: solid;
border-bottom-width: 1px;
border-top-style: solid;
border-top-width: 1px;
}
.nvtooltip table td.legend-color-guide div {
width: 8px;
height: 8px;
vertical-align: middle;
}
.nvtooltip .footer {
padding: 3px;
text-align: center;
}
.nvtooltip-pending-removal {
position: absolute;
pointer-events: none;
}
/********************
* SVG CSS
*/
svg {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Trying to get SVG to act like a greedy block in all browsers */
display: block;
width:100%;
height:100%;
}
svg text {
font: normal 12px Arial;
}
svg .title {
font: bold 14px Arial;
}
.nvd3 .nv-background {
fill: white;
fill-opacity: 0;
/*
pointer-events: none;
*/
}
.nvd3.nv-noData {
font-size: 18px;
font-weight: bold;
}
/**********
* Brush
*/
.nv-brush .extent {
fill-opacity: .125;
shape-rendering: crispEdges;
}
/**********
* Legend
*/
.nvd3 .nv-legend .nv-series {
cursor: pointer;
}
.nvd3 .nv-legend .disabled circle {
fill-opacity: 0;
}
/**********
* Axes
*/
.nvd3 .nv-axis {
pointer-events:none;
}
.nvd3 .nv-axis path {
fill: none;
stroke: #000;
stroke-opacity: .75;
shape-rendering: crispEdges;
}
.nvd3 .nv-axis path.domain {
stroke-opacity: .75;
}
.nvd3 .nv-axis.nv-x path.domain {
stroke-opacity: 0;
}
.nvd3 .nv-axis line {
fill: none;
stroke: #e5e5e5;
shape-rendering: crispEdges;
}
.nvd3 .nv-axis .zero line,
/*this selector may not be necessary*/ .nvd3 .nv-axis line.zero {
stroke-opacity: .75;
}
.nvd3 .nv-axis .nv-axisMaxMin text {
font-weight: bold;
}
.nvd3 .x .nv-axis .nv-axisMaxMin text,
.nvd3 .x2 .nv-axis .nv-axisMaxMin text,
.nvd3 .x3 .nv-axis .nv-axisMaxMin text {
text-anchor: middle
}
/**********
* Brush
*/
.nv-brush .resize path {
fill: #eee;
stroke: #666;
}
/**********
* Bars
*/
.nvd3 .nv-bars .negative rect {
zfill: brown;
}
.nvd3 .nv-bars rect {
zfill: steelblue;
fill-opacity: .75;
transition: fill-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear;
}
.nvd3 .nv-bars rect.hover {
fill-opacity: 1;
}
.nvd3 .nv-bars .hover rect {
fill: lightblue;
}
.nvd3 .nv-bars text {
fill: rgba(0,0,0,0);
}
.nvd3 .nv-bars .hover text {
fill: rgba(0,0,0,1);
}
/**********
* Bars
*/
.nvd3 .nv-multibar .nv-groups rect,
.nvd3 .nv-multibarHorizontal .nv-groups rect,
.nvd3 .nv-discretebar .nv-groups rect {
stroke-opacity: 0;
transition: fill-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear;
}
.nvd3 .nv-multibar .nv-groups rect:hover,
.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,
.nvd3 .nv-discretebar .nv-groups rect:hover {
fill-opacity: 1;
}
.nvd3 .nv-discretebar .nv-groups text,
.nvd3 .nv-multibarHorizontal .nv-groups text {
font-weight: bold;
fill: rgba(0,0,0,1);
stroke: rgba(0,0,0,0);
}
/***********
* Pie Chart
*/
.nvd3.nv-pie path {
stroke-opacity: 0;
transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear, stroke-width 250ms linear, stroke-opacity 250ms linear;
}
.nvd3.nv-pie .nv-slice text {
stroke: #000;
stroke-width: 0;
}
.nvd3.nv-pie path {
stroke: #fff;
stroke-width: 1px;
stroke-opacity: 1;
}
.nvd3.nv-pie .hover path {
fill-opacity: .7;
}
.nvd3.nv-pie .nv-label {
pointer-events: none;
}
.nvd3.nv-pie .nv-label rect {
fill-opacity: 0;
stroke-opacity: 0;
}
/**********
* Lines
*/
.nvd3 .nv-groups path.nv-line {
fill: none;
stroke-width: 1.5px;
/*
stroke-linecap: round;
shape-rendering: geometricPrecision;
transition: stroke-width 250ms linear;
-moz-transition: stroke-width 250ms linear;
-webkit-transition: stroke-width 250ms linear;
transition-delay: 250ms
-moz-transition-delay: 250ms;
-webkit-transition-delay: 250ms;
*/
}
.nvd3 .nv-groups path.nv-line.nv-thin-line {
stroke-width: 1px;
}
.nvd3 .nv-groups path.nv-area {
stroke: none;
/*
stroke-linecap: round;
shape-rendering: geometricPrecision;
stroke-width: 2.5px;
transition: stroke-width 250ms linear;
-moz-transition: stroke-width 250ms linear;
-webkit-transition: stroke-width 250ms linear;
transition-delay: 250ms
-moz-transition-delay: 250ms;
-webkit-transition-delay: 250ms;
*/
}
.nvd3 .nv-line.hover path {
stroke-width: 6px;
}
/*
.nvd3.scatter .groups .point {
fill-opacity: 0.1;
stroke-opacity: 0.1;
}
*/
.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point {
fill-opacity: 0;
stroke-opacity: 0;
}
.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point {
fill-opacity: .5 !important;
stroke-opacity: .5 !important;
}
.with-transitions .nvd3 .nv-groups .nv-point {
transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
-moz-transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
-webkit-transition: stroke-width 250ms linear, stroke-opacity 250ms linear;
}
.nvd3.nv-scatter .nv-groups .nv-point.hover,
.nvd3 .nv-groups .nv-point.hover {
stroke-width: 7px;
fill-opacity: .95 !important;
stroke-opacity: .95 !important;
}
.nvd3 .nv-point-paths path {
stroke: #aaa;
stroke-opacity: 0;
fill: #eee;
fill-opacity: 0;
}
.nvd3 .nv-indexLine {
cursor: ew-resize;
}
/**********
* Distribution
*/
.nvd3 .nv-distribution {
pointer-events: none;
}
/**********
* Scatter
*/
/* **Attempting to remove this for useVoronoi(false), need to see if it's required anywhere
.nvd3 .nv-groups .nv-point {
pointer-events: none;
}
*/
.nvd3 .nv-groups .nv-point.hover {
stroke-width: 20px;
stroke-opacity: .5;
}
.nvd3 .nv-scatter .nv-point.hover {
fill-opacity: 1;
}
/*
.nv-group.hover .nv-point {
fill-opacity: 1;
}
*/
/**********
* Stacked Area
*/
.nvd3.nv-stackedarea path.nv-area {
fill-opacity: .7;
/*
stroke-opacity: .65;
fill-opacity: 1;
*/
stroke-opacity: 0;
transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
-moz-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
-webkit-transition: fill-opacity 250ms linear, stroke-opacity 250ms linear;
/*
transition-delay: 500ms;
-moz-transition-delay: 500ms;
-webkit-transition-delay: 500ms;
*/
}
.nvd3.nv-stackedarea path.nv-area.hover {
fill-opacity: .9;
/*
stroke-opacity: .85;
*/
}
/*
.d3stackedarea .groups path {
stroke-opacity: 0;
}
*/
.nvd3.nv-stackedarea .nv-groups .nv-point {
stroke-opacity: 0;
fill-opacity: 0;
}
/*
.nvd3.nv-stackedarea .nv-groups .nv-point.hover {
stroke-width: 20px;
stroke-opacity: .75;
fill-opacity: 1;
}*/
/**********
* Line Plus Bar
*/
.nvd3.nv-linePlusBar .nv-bar rect {
fill-opacity: .75;
}
.nvd3.nv-linePlusBar .nv-bar rect:hover {
fill-opacity: 1;
}
/**********
* Bullet
*/
.nvd3.nv-bullet { font: 10px sans-serif; }
.nvd3.nv-bullet .nv-measure { fill-opacity: .8; }
.nvd3.nv-bullet .nv-measure:hover { fill-opacity: 1; }
.nvd3.nv-bullet .nv-marker { stroke: #000; stroke-width: 2px; }
.nvd3.nv-bullet .nv-markerTriangle { stroke: #000; fill: #fff; stroke-width: 1.5px; }
.nvd3.nv-bullet .nv-tick line { stroke: #666; stroke-width: .5px; }
.nvd3.nv-bullet .nv-range.nv-s0 { fill: #eee; }
.nvd3.nv-bullet .nv-range.nv-s1 { fill: #ddd; }
.nvd3.nv-bullet .nv-range.nv-s2 { fill: #ccc; }
.nvd3.nv-bullet .nv-title { font-size: 14px; font-weight: bold; }
.nvd3.nv-bullet .nv-subtitle { fill: #999; }
.nvd3.nv-bullet .nv-range {
fill: #bababa;
fill-opacity: .4;
}
.nvd3.nv-bullet .nv-range:hover {
fill-opacity: .7;
}
/**********
* Sparkline
*/
.nvd3.nv-sparkline path {
fill: none;
}
.nvd3.nv-sparklineplus g.nv-hoverValue {
pointer-events: none;
}
.nvd3.nv-sparklineplus .nv-hoverValue line {
stroke: #333;
stroke-width: 1.5px;
}
.nvd3.nv-sparklineplus,
.nvd3.nv-sparklineplus g {
pointer-events: all;
}
.nvd3 .nv-hoverArea {
fill-opacity: 0;
stroke-opacity: 0;
}
.nvd3.nv-sparklineplus .nv-xValue,
.nvd3.nv-sparklineplus .nv-yValue {
/*
stroke: #666;
*/
stroke-width: 0;
font-size: .9em;
font-weight: normal;
}
.nvd3.nv-sparklineplus .nv-yValue {
stroke: #f66;
}
.nvd3.nv-sparklineplus .nv-maxValue {
stroke: #2ca02c;
fill: #2ca02c;
}
.nvd3.nv-sparklineplus .nv-minValue {
stroke: #d62728;
fill: #d62728;
}
.nvd3.nv-sparklineplus .nv-currentValue {
/*
stroke: #444;
fill: #000;
*/
font-weight: bold;
font-size: 1.1em;
}
/**********
* historical stock
*/
.nvd3.nv-ohlcBar .nv-ticks .nv-tick {
stroke-width: 2px;
}
.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover {
stroke-width: 4px;
}
.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive {
stroke: #2ca02c;
}
.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative {
stroke: #d62728;
}
.nvd3.nv-historicalStockChart .nv-axis .nv-axislabel {
font-weight: bold;
}
.nvd3.nv-historicalStockChart .nv-dragTarget {
fill-opacity: 0;
stroke: none;
cursor: move;
}
.nvd3 .nv-brush .extent {
/*
cursor: ew-resize !important;
*/
fill-opacity: 0 !important;
}
.nvd3 .nv-brushBackground rect {
stroke: #000;
stroke-width: .4;
fill: #fff;
fill-opacity: .7;
}
/**********
* Indented Tree
*/
/**
* TODO: the following 3 selectors are based on classes used in the example. I should either make them standard and leave them here, or move to a CSS file not included in the library
*/
.nvd3.nv-indentedtree .name {
margin-left: 5px;
}
.nvd3.nv-indentedtree .clickable {
color: #08C;
cursor: pointer;
}
.nvd3.nv-indentedtree span.clickable:hover {
color: #005580;
text-decoration: underline;
}
.nvd3.nv-indentedtree .nv-childrenCount {
display: inline-block;
margin-left: 5px;
}
.nvd3.nv-indentedtree .nv-treeicon {
cursor: pointer;
/*
cursor: n-resize;
*/
}
.nvd3.nv-indentedtree .nv-treeicon.nv-folded {
cursor: pointer;
/*
cursor: s-resize;
*/
}
/**********
* Parallel Coordinates
*/
.nvd3 .background path {
fill: none;
stroke: #ccc;
stroke-opacity: .4;
shape-rendering: crispEdges;
}
.nvd3 .foreground path {
fill: none;
stroke: steelblue;
stroke-opacity: .7;
}
.nvd3 .brush .extent {
fill-opacity: .3;
stroke: #fff;
shape-rendering: crispEdges;
}
.nvd3 .axis line, .axis path {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
.nvd3 .axis text {
text-shadow: 0 1px 0 #fff;
}
/****
Interactive Layer
*/
.nvd3 .nv-interactiveGuideLine {
pointer-events:none;
}
.nvd3 line.nv-guideline {
stroke: #ccc;
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,399 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="fontawesomeregular" horiz-adv-x="1536" >
<font-face units-per-em="1792" ascent="1536" descent="-256" />
<missing-glyph horiz-adv-x="448" />
<glyph unicode=" " horiz-adv-x="448" />
<glyph unicode="&#x09;" horiz-adv-x="448" />
<glyph unicode="&#xa0;" horiz-adv-x="448" />
<glyph unicode="&#xa8;" horiz-adv-x="1792" />
<glyph unicode="&#xa9;" horiz-adv-x="1792" />
<glyph unicode="&#xae;" horiz-adv-x="1792" />
<glyph unicode="&#xb4;" horiz-adv-x="1792" />
<glyph unicode="&#xc6;" horiz-adv-x="1792" />
<glyph unicode="&#x2000;" horiz-adv-x="768" />
<glyph unicode="&#x2001;" />
<glyph unicode="&#x2002;" horiz-adv-x="768" />
<glyph unicode="&#x2003;" />
<glyph unicode="&#x2004;" horiz-adv-x="512" />
<glyph unicode="&#x2005;" horiz-adv-x="384" />
<glyph unicode="&#x2006;" horiz-adv-x="256" />
<glyph unicode="&#x2007;" horiz-adv-x="256" />
<glyph unicode="&#x2008;" horiz-adv-x="192" />
<glyph unicode="&#x2009;" horiz-adv-x="307" />
<glyph unicode="&#x200a;" horiz-adv-x="85" />
<glyph unicode="&#x202f;" horiz-adv-x="307" />
<glyph unicode="&#x205f;" horiz-adv-x="384" />
<glyph unicode="&#x2122;" horiz-adv-x="1792" />
<glyph unicode="&#x221e;" horiz-adv-x="1792" />
<glyph unicode="&#x2260;" horiz-adv-x="1792" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
<glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
<glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
<glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
<glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
<glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
<glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
<glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
<glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
<glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
<glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
<glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
<glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
<glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
<glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
<glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
<glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
<glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
<glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
<glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
<glyph unicode="&#xf034;" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
<glyph unicode="&#xf035;" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
<glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
<glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
<glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
<glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
<glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
<glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
<glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
<glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
<glyph unicode="&#xf053;" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
<glyph unicode="&#xf054;" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
<glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
<glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
<glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
<glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
<glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
<glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
<glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf077;" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
<glyph unicode="&#xf078;" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
<glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf082;" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
<glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
<glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
<glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
<glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
<glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
<glyph unicode="&#xf09a;" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
<glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
<glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
<glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
<glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
<glyph unicode="&#xf0d4;" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
<glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
<glyph unicode="&#xf0f3;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f6;" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
<glyph unicode="&#xf116;" horiz-adv-x="1152" d="M896 608v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h224q14 0 23 -9t9 -23zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28 t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68zM1152 928v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704q93 0 158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf117;" horiz-adv-x="1152" d="M928 1152q93 0 158.5 -65.5t65.5 -158.5v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68z M864 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576z" />
<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1708 881l-188 -881h-304l181 849q4 21 1 43q-4 20 -16 35q-10 14 -28 24q-18 9 -40 9h-197l-205 -960h-303l204 960h-304l-205 -960h-304l272 1280h1139q157 0 245 -118q86 -116 52 -281z" />
<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
<glyph unicode="&#xf158;" horiz-adv-x="1664" d="M1664 352v-32q0 -132 -94 -226t-226 -94h-128q-132 0 -226 94t-94 226v480h-224q-2 -102 -14.5 -190.5t-30.5 -156t-48.5 -126.5t-57 -99.5t-67.5 -77.5t-69.5 -58.5t-74 -44t-69 -32t-65.5 -25.5q-4 -2 -32 -13q-8 -2 -12 -2q-22 0 -30 20l-71 178q-5 13 0 25t17 17 q7 3 20 7.5t18 6.5q31 12 46.5 18.5t44.5 20t45.5 26t42 32.5t40.5 42.5t34.5 53.5t30.5 68.5t22.5 83.5t17 103t6.5 123h-256q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h1216q14 0 23 -9t9 -23v-160q0 -14 -9 -23t-23 -9h-224v-512q0 -26 19 -45t45 -19h128q26 0 45 19t19 45 v64q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1280 1376v-160q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h960q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
<glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
<glyph unicode="&#xf15c;" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
<glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
<glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf173;" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
<glyph unicode="&#xf174;" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
<glyph unicode="&#xf180;" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
<glyph unicode="&#xf18b;" horiz-adv-x="1920" d="M805 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM453 1176v-344q0 -179 -89.5 -326t-234.5 -217q-129 152 -129 351q0 200 129.5 352t323.5 184zM958 991q-128 -152 -128 -351q0 -201 128 -351q-145 70 -234.5 218t-89.5 328 v341q196 -33 324 -185zM1638 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM1286 1176v-344q0 -179 -91 -326t-237 -217v0q133 154 133 351q0 195 -133 351q129 151 328 185zM1920 640q0 -201 -129 -351q-145 70 -234.5 218 t-89.5 328v341q194 -32 323.5 -184t129.5 -352z" />
<glyph unicode="&#xf18c;" horiz-adv-x="1792" />
<glyph unicode="&#xf18d;" horiz-adv-x="1792" />
<glyph unicode="&#xf18e;" horiz-adv-x="1792" />
<glyph unicode="&#xf500;" horiz-adv-x="1792" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@@ -0,0 +1,218 @@
/*
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
$( document ).ready(function() {
//nav side bar
function navSidebar(){
//$('body.page-topbar').removeClass('page-topbar').addClass('page-sidebar');
//$('#nav-topbar').attr('id','nav-sidebar');
var sidebar = $('#nav-sidebar');
sidebar.off();
$('.expanded').removeClass('expanded');
$('.maintab').not('.active').closest('.submenu').hide();
sidebar.find('li.maintab.has_submenu').append('<span class="submenu_expand"></span>');
sidebar.on('click','.submenu_expand', function(){
var $navId = $(this).parent();
$('.submenu-collapse').remove();
if($('.expanded').length ){
$('.expanded > ul').slideUp('fast', function(){
var $target = $('.expanded');
$target.removeClass('expanded');
$($navId).not($target).not('.active').addClass('expanded');
$($navId).not($target).not('.active').children('ul:first').hide().slideDown();
});
}
else {
$($navId).not('.active').addClass('expanded');
$($navId).not('.active').children('ul:first').hide().slideDown();
}
});
//sidebar menu collapse
sidebar.find('.menu-collapse').on('click',function(){
$('body').toggleClass('page-sidebar-closed');
$('.expanded').removeClass('expanded');
});
}
//nav top bar
function navTopbar(){
//$('body').removeClass('page-sidebar').addClass('page-topbar').removeClass('page-sidebar-closed');
//$('#nav-sidebar').attr('id','nav-topbar');
var topbar = $('#nav-topbar');
topbar.off();
$('span.submenu_expand').remove();
$('.expanded').removeClass('expanded');
// expand elements with submenu
topbar.on('mouseenter', 'li.has_submenu', function(){
$(this).addClass('expanded');
});
topbar.on('mouseleave', 'li.has_submenu', function(){
$(this).removeClass('expanded');
});
// hide element over menu width on load
topbar.find('li.maintab').each(function(){
navEllipsis();
});
//hide element over menu width on resize
$(window).on('resize', function() {
navEllipsis();
});
}
function navEllipsis() {
var ellipsed = [];
$('#ellipsistab').remove();
$('#nav-topbar ul.menu').find('li.maintab').each(function(){
$(this).removeClass('hide');
if ($(this).position().top > 0) {
ellipsed.push($(this));
$(this).addClass('hide');
}
});
if (ellipsed.length > 0) {
$('#nav-topbar ul.menu').append('<li id="ellipsistab" class="subtab has_submenu"><a href="#"><i class="icon-ellipsis-horizontal"></i></a><ul id="ellipsis_submenu" class="submenu"></ul></li>');
for (var i = 0; i < ellipsed.length; i++) {
$('#ellipsis_submenu').append('<li class="subtab has_submenu">'+ellipsed[i].html()+'</li>');
}
}
}
function mobileNav() {
//clean actual menu type
// get it in navigation whatever type it is.
var navigation = $('#nav-sidebar,#nav-topbar');
var submenu = "";
// clean trigger
navigation.off().attr('id','nav-mobile');
$('span.menu-collapse').off();
navigation.on('click.collapse','span.menu-collapse',function(){
if ($(this).hasClass('expanded')){
$(this).html('<i class="icon-align-justify"></i>');
navigation.find('ul.menu').hide();
navigation.removeClass('expanded');
$(this).removeClass('expanded');
//remove submenu when closing nav
$('#nav-mobile-submenu').remove();
}
else {
$(this).html('<i class="icon-remove"></i>');
navigation.find('ul.menu').removeClass('menu-close').show();
navigation.addClass('expanded');
$(this).addClass('expanded');
}
});
//get click for item which has submenu
navigation.on('click.submenu','.maintab.has_submenu a.title', function(e){
e.preventDefault();
navigation.find('.menu').addClass('menu-close');
$('#nav-mobile-submenu').remove();
//create submenu
submenu = $('<ul id="nav-mobile-submenu" class="menu"><li><a href="#" id="nav-mobile-submenu-back"><i class="icon-arrow-left"></i>'+ $(this).html() +'</a></li></ul>');
submenu.append($(this).closest('.maintab').find('.submenu').html());
//show submenu
navigation.append(submenu);
submenu.show();
});
navigation.on('click.back','#nav-mobile-submenu-back',function(e){
e.preventDefault();
submenu.remove();
navigation.find('.menu').removeClass('menu-close').show();
});
}
function removeMobileNav(){
navigation = $('#nav-mobile');
$('#nav-mobile-submenu').remove();
$('span.menu-collapse').html('<i class="icon-align-justify"></i>');
navigation.off();
if ($('body').hasClass('page-sidebar')){
navigation.attr('id',"nav-sidebar");
navSidebar();
} else if ($('body').hasClass('page-sidebar')){
navigation.attr('id',"nav-topbar");
navTopbar();
}
}
//nav switch - not used for now
function navSwitch(){
if ($('body').hasClass('page-sidebar')){
navTopbar();
} else {
navSidebar();
}
}
//init menu
function initNav(){
if ($('body').hasClass('page-sidebar')){
navSidebar();
}
else if ($('body').hasClass('page-topbar')) {
navTopbar();
}
}
initNav();
//tooltip
$('.label-tooltip').tooltip();
//scroll top
function animateGoTop() {
if ($(window).scrollTop())
{
$('#go-top:hidden').stop(true, true).fadeIn();
$('#go-top:hidden').removeClass('hide');
} else {
$('#go-top').stop(true, true).fadeOut();
}
}
$("#go-top").on('click',function() {
$("html, body").animate({ scrollTop: 0 }, "slow");
return false;
});
$(window).scroll(function() {
animateGoTop();
});
//media queries - depends of enquire.js
enquire.register("screen and (max-width: 992px)", {
match : function() {
$('body.page-sidebar').addClass('page-sidebar-closed');
},
unmatch : function() {
$('body.page-sidebar').removeClass('page-sidebar-closed');
}
});
enquire.register("screen and (max-width: 480px)", {
match : function() {
mobileNav();
},
unmatch : function() {
removeMobileNav();
}
});
});

View File

@@ -0,0 +1,415 @@
Date.prototype.addDays = function(value) {
this.setDate(this.getDate() + value);
return this;
};
Date.prototype.addMonths = function(value) {
var date = this.getDate();
this.setMonth(this.getMonth() + value);
if (this.getDate() < date) {
this.setDate(0);
}
return this;
};
Date.prototype.addWeeks = function(value) {
this.addDays(value * 7);
return this;
};
Date.prototype.addYears = function(value) {
var month = this.getMonth();
this.setFullYear(this.getFullYear() + value);
if (month < this.getMonth()) {
this.setDate(0);
}
return this;
};
Date.parseDate = function(date, format) {
if (format === undefined)
format = 'Y-m-d';
var formatSeparator = format.match(/[.\/\-\s].*?/);
var formatParts = format.split(/\W+/);
var parts = date.split(formatSeparator);
var date = new Date();
if (parts.length === formatParts.length) {
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0);
for (var i=0; i<=formatParts.length; i++) {
switch(formatParts[i]) {
case 'dd':
case 'd':
case 'j':
date.setDate(parseInt(parts[i], 10)||1);
break;
case 'mm':
case 'm':
date.setMonth((parseInt(parts[i], 10)||1) - 1);
break;
case 'yy':
case 'y':
date.setFullYear(2000 + (parseInt(parts[i], 10)||1));
break;
case 'yyyy':
case 'Y':
date.setFullYear(parseInt(parts[i], 10)||1);
break;
}
}
}
return date;
};
Date.prototype.subDays = function(value) {
this.setDate(this.getDate() - value);
return this;
};
Date.prototype.subMonths = function(value) {
var date = this.getDate();
this.setMonth(this.getMonth() - value);
if (this.getDate() < date) {
this.setDate(0);
}
return this;
};
Date.prototype.subWeeks = function(value) {
this.subDays(value * 7);
return this;
};
Date.prototype.subYears = function(value) {
var month = this.getMonth();
this.setFullYear(this.getFullYear() - value);
if (month < this.getMonth()) {
this.setDate(0);
}
return this;
};
Date.prototype.format = function(format) {
if (format === undefined)
return this.toString();
var formatSeparator = format.match(/[.\/\-\s].*?/);
var formatParts = format.split(/\W+/);
var result = '';
for (var i=0; i<=formatParts.length; i++) {
switch(formatParts[i]) {
case 'dd':
case 'd':
case 'j':
result += this.getDate() + formatSeparator;
break;
case 'mm':
case 'm':
result += (this.getMonth() + 1) + formatSeparator;
break;
case 'yy':
case 'y':
result += this.getFullYear() + formatSeparator;
break;
case 'yyyy':
case 'Y':
result += this.getFullYear() + formatSeparator;
break;
}
}
return result.slice(0, -1);
}
function updatePickerFromInput() {
datepickerStart.setStart($("#date-start").val());
datepickerStart.setEnd($("#date-end").val());
datepickerStart.update();
datepickerEnd.setStart($("#date-start").val());
datepickerEnd.setEnd($("#date-end").val());
datepickerEnd.update();
$('#date-start').trigger('change');
if ($('#datepicker-compare').attr("checked")) {
if ($('#compare-options').val() == 1)
setPreviousPeriod();
if ($('#compare-options').val() == 2)
setPreviousYear();
datepickerStart.setStartCompare($("#date-start-compare").val());
datepickerStart.setEndCompare($("#date-end-compare").val());
datepickerEnd.setStartCompare($("#date-start-compare").val());
datepickerEnd.setEndCompare($("#date-end-compare").val());
datepickerStart.setCompare(true);
datepickerEnd.setCompare(true);
}
}
function setDayPeriod() {
date = new Date();
$("#date-start").val(date.format($("#date-start").data('date-format')));
$("#date-end").val(date.format($("#date-end").data('date-format')));
$('#date-start').trigger('change');
updatePickerFromInput();
$('button[name="submitDateRange"]').click();
}
function setPreviousDayPeriod() {
date = new Date();
date = date.subDays(1);
$("#date-start").val(date.format($("#date-start").data('date-format')));
$("#date-end").val(date.format($("#date-end").data('date-format')));
$('#date-start').trigger('change');
updatePickerFromInput();
$('button[name="submitDateRange"]').click();
}
function setMonthPeriod() {
date = new Date();
$("#date-end").val(date.format($("#date-end").data('date-format')));
date = new Date(date.setDate(1));
$("#date-start").val(date.format($("#date-start").data('date-format')));
$('#date-start').trigger('change');
updatePickerFromInput();
$('button[name="submitDateRange"]').click();
}
function setPreviousMonthPeriod() {
date = new Date();
date = new Date(date.getFullYear(), date.getMonth(), 0);
$("#date-end").val(date.format($("#date-end").data('date-format')));
date = new Date(date.setDate(1));
$("#date-start").val(date.format($("#date-start").data('date-format')));
$('#date-start').trigger('change');
updatePickerFromInput();
$('button[name="submitDateRange"]').click();
}
function setYearPeriod() {
date = new Date();
$("#date-end").val(date.format($("#date-end").data('date-format')));
date = new Date(date.getFullYear(), 0, 1);
$("#date-start").val(date.format($("#date-start").data('date-format')));
$('#date-start').trigger('change');
updatePickerFromInput();
$('button[name="submitDateRange"]').click();
}
function setPreviousYearPeriod() {
date = new Date();
date = date.subYears(1);
$("#date-end").val(date.format($("#date-end").data('date-format')));
date = new Date(date.getFullYear(), 0, 1);
$("#date-start").val(date.format($("#date-start").data('date-format')));
$('#date-start').trigger('change');
updatePickerFromInput();
$('button[name="submitDateRange"]').click();
}
function setPreviousPeriod() {
startDate = Date.parseDate($("#date-start").val(), $("#date-start").data('date-format')).subDays(1);
endDate = Date.parseDate($("#date-end").val(), $("#date-end").data('date-format')).subDays(1);
diff = endDate - startDate;
startDateCompare = new Date(startDate-diff);
$("#date-end-compare").val(startDate.format($("#date-end-compare").data('date-format')));
$("#date-start-compare").val(startDateCompare.format($("#date-start-compare").data('date-format')));
}
function setPreviousYear() {
startDate = Date.parseDate($("#date-start").val(), $("#date-start").data('date-format')).subYears(1);
endDate = Date.parseDate($("#date-end").val(), $("#date-end").data('date-format')).subYears(1);
$("#date-start-compare").val(startDate.format($("#date-start").data('date-format')));
$("#date-end-compare").val(endDate.format($("#date-start").data('date-format')));
}
$( document ).ready(function() {
//Instanciate datepickers
datepickerStart = $('.datepicker1').daterangepicker({
"dates": translated_dates,
"weekStart": 1,
"start": $("#date-start").val(),
"end": $("#date-end").val()
}).on('changeDate', function(ev){
if (ev.date.valueOf() >= datepickerEnd.date.valueOf()){
datepickerEnd.setValue(ev.date.setMonth(ev.date.getMonth()+1));
}
}).data('daterangepicker');
datepickerEnd = $('.datepicker2').daterangepicker({
"dates": translated_dates,
"weekStart": 1,
"start": $("#date-start").val(),
"end": $("#date-end").val()
}).on('changeDate', function(ev){
if (ev.date.valueOf() <= datepickerStart.date.valueOf()){
datepickerStart.setValue(ev.date.setMonth(ev.date.getMonth()-1));
}
}).data('daterangepicker');
//Set first date picker to month -1 if same month
startDate = Date.parseDate($("#date-start").val(), $("#date-start").data('date-format'));
endDate = Date.parseDate($("#date-end").val(), $("#date-end").data('date-format'));
if (startDate.getFullYear() == endDate.getFullYear() && startDate.getMonth() == endDate.getMonth())
datepickerStart.setValue(startDate.subMonths(1));
//Events binding
$("#date-start").focus(function() {
datepickerStart.setCompare(false);
datepickerEnd.setCompare(false);
$(".date-input").removeClass("input-selected");
$(this).addClass("input-selected");
});
$("#date-end").focus(function() {
datepickerStart.setCompare(false);
datepickerEnd.setCompare(false);
$(".date-input").removeClass("input-selected");
$(this).addClass("input-selected");
});
$("#date-start-compare").focus(function() {
datepickerStart.setCompare(true);
datepickerEnd.setCompare(true);
$('#compare-options').val(3);
$(".date-input").removeClass("input-selected");
$(this).addClass("input-selected");
});
$("#date-end-compare").focus(function() {
datepickerStart.setCompare(true);
datepickerEnd.setCompare(true);
$('#compare-options').val(3);
$(".date-input").removeClass("input-selected");
$(this).addClass("input-selected");
});
$('#datepicker-cancel').click(function() {
$('#datepicker').addClass('hide');
});
$('#datepicker').show(function() {
$('#date-start').focus();
$('#date-start').trigger('change');
});
$('#datepicker-compare').click(function() {
if ($(this).attr("checked")) {
$('#compare-options').trigger('change');
$('#form-date-body-compare').show();
$('#compare-options').prop('disabled', false);
} else {
datepickerStart.setStartCompare(null);
datepickerStart.setEndCompare(null);
datepickerEnd.setStartCompare(null);
datepickerEnd.setEndCompare(null);
$('#form-date-body-compare').hide();
$('#compare-options').prop('disabled', true);
$('#date-start').focus();
}
})
$('#compare-options').change(function() {
if (this.value == 1)
setPreviousPeriod();
if (this.value == 2)
setPreviousYear();
datepickerStart.setStartCompare($("#date-start-compare").val());
datepickerStart.setEndCompare($("#date-end-compare").val());
datepickerEnd.setStartCompare($("#date-start-compare").val());
datepickerEnd.setEndCompare($("#date-end-compare").val());
datepickerStart.setCompare(true);
datepickerEnd.setCompare(true);
if (this.value == 3)
$('#date-start-compare').focus();
});
if ($('#datepicker-compare').attr("checked"))
{
if ($("#date-start-compare").val().replace(/^\s+|\s+$/g, '').length == 0)
$('#compare-options').trigger('change');
datepickerStart.setStartCompare($("#date-start-compare").val());
datepickerStart.setEndCompare($("#date-end-compare").val());
datepickerEnd.setStartCompare($("#date-start-compare").val());
datepickerEnd.setEndCompare($("#date-end-compare").val());
datepickerStart.setCompare(true);
datepickerEnd.setCompare(true);
}
$('#datepickerExpand').on('click',function() {
if ($('#datepicker').hasClass('hide'))
{
$('#datepicker').removeClass('hide');
$('#date-start').focus();
}
else
$('#datepicker').addClass('hide');
});
$('.submitDateDay').on('click',function(e){
e.preventDefault;
setDayPeriod();
});
$('.submitDateMonth').on('click',function(e){
e.preventDefault;
setMonthPeriod()
});
$('.submitDateYear').on('click',function(e){
e.preventDefault;
setYearPeriod();
});
$('.submitDateDayPrev').on('click',function(e){
e.preventDefault;
setPreviousDayPeriod();
});
$('.submitDateMonthPrev').on('click',function(e){
e.preventDefault;
setPreviousMonthPeriod();
});
$('.submitDateYearPrev').on('click',function(e){
e.preventDefault;
setPreviousYearPeriod();
});
});

View File

@@ -0,0 +1,745 @@
/* =========================================================
* bootstrap-datepicker.js
* http://www.eyecon.ro/bootstrap-datepicker
* =========================================================
* Copyright 2012 Stefan Petre
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================= */
//click action
!function( $ ) {
var click, switched, val, start, end, over, compare, startCompare, endCompare;
// Picker object
var DateRangePicker = function(element, options){
this.element = $(element);
compare = false;
if (typeof options.dates !== 'undefined'){
DPGlobal.dates = options.dates;
}
if (typeof options.start !== 'undefined'){
if (options.start.constructor === String){
start = DPGlobal.parseDate(options.start, DPGlobal.parseFormat('Y-m-d')).getTime();
} else if (options.start.constructor === Number){
start = options.start;
} else if (options.start.constructor === Date){
start = options.start.getTime();
}
}
if (typeof options.end !== 'undefined'){
if (options.end.constructor === String){
end = DPGlobal.parseDate(options.end, DPGlobal.parseFormat('Y-m-d')).getTime();
} else if (options.end.constructor === Number) {
end = options.end;
} else if (options.end.constructor === Date) {
end = options.end.getTime();
}
}
if (typeof options.compare !== 'undefined'){
compare = options.compare;
}
this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'Y-m-d');
this.picker = $(DPGlobal.template).appendTo(this.element).show()
.on({
click: $.proxy(this.click, this),
mouseover: $.proxy(this.mouseover, this),
mouseout: $.proxy(this.mouseout, this)
});
this.minViewMode = options.minViewMode||this.element.data('date-minviewmode')||0;
if (typeof this.minViewMode === 'string') {
switch (this.minViewMode) {
case 'months':
this.minViewMode = 1;
break;
case 'years':
this.minViewMode = 2;
break;
default:
this.minViewMode = 0;
break;
}
}
this.viewMode = options.viewMode||this.element.data('date-viewmode')||0;
if (typeof this.viewMode === 'string') {
switch (this.viewMode) {
case 'months':
this.viewMode = 1;
break;
case 'years':
this.viewMode = 2;
break;
default:
this.viewMode = 0;
break;
}
}
this.startViewMode = this.viewMode;
this.weekStart = options.weekStart||this.element.data('date-weekstart')||0;
this.weekEnd = this.weekStart === 0 ? 6 : this.weekStart - 1;
this.onRender = options.onRender;
this.fillDow();
this.fillMonths();
this.update();
this.showMode();
};
DateRangePicker.prototype = {
constructor: DateRangePicker,
show: function(e) {
this.picker.show();
if (e ) {
e.stopPropagation();
e.preventDefault();
}
var that = this;
$(document).on('mousedown', function(ev){
if ($(ev.target).closest('.daterangepicker').length === 0) {
that.hide();
}
});
this.element.trigger({
type: 'show',
date: this.date
});
},
set: function() {
var formated = DPGlobal.formatDate(this.date, this.format);
this.element.data('date', formated);
},
setCompare: function(value) {
compare = value;
this.updateRange();
},
setStart: function(date) {
if (date.constructor === String) {
start = DPGlobal.parseDate(date, DPGlobal.parseFormat('Y-m-d')).getTime();
} else if (date.constructor === Number){
start = date;
} else if (date.constructor === Date){
start = date.getTime();
}
},
setEnd: function(date) {
if (date.constructor === String){
end = DPGlobal.parseDate(date, DPGlobal.parseFormat('Y-m-d')).getTime();
} else if (date.constructor === Number){
end = date;
} else if (date.constructor === Date){
end = date.getTime();
}
},
setStartCompare: function(date) {
if (date === null){
startCompare = date;
}
else if (date.constructor === String){
startCompare = DPGlobal.parseDate(date, DPGlobal.parseFormat('Y-m-d')).getTime();
}
else if (date.constructor === Number){
startCompare = date;
}
else if (date.constructor === Date){
startCompare = date.getTime();
}
},
setEndCompare: function(date) {
if (date === null){
endCompare = date;
} else if (date.constructor === String){
endCompare = DPGlobal.parseDate(date, DPGlobal.parseFormat('Y-m-d')).getTime();
} else if (date.constructor === Number){
endCompare = date;
} else if (date.constructor === Date){
endCompare = date.getTime();
}
},
setValue: function(newDate) {
if (typeof newDate === 'string') {
this.date = DPGlobal.parseDate(newDate, this.format);
} else {
this.date = new Date(newDate);
}
this.set();
this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0);
this.fill();
},
update: function(newDate){
this.date = DPGlobal.parseDate(
typeof newDate === 'string' ? newDate : (this.isInput ? this.element.prop('value') : this.element.data('date')),
this.format
);
this.viewDate = new Date(this.date.getFullYear(), this.date.getMonth(), 1, 0, 0, 0, 0);
this.fill();
},
fillDow: function(){
var dowCnt = this.weekStart;
var html = '<tr>';
while (dowCnt < this.weekStart + 7) {
html += '<th class="dow">'+DPGlobal.dates.daysMin[(dowCnt++)%7]+'</th>';
}
html += '</tr>';
this.picker.find('.daterangepicker-days thead').append(html);
},
fillMonths: function(){
var html = '';
var i = 0;
while (i < 12) {
html += '<span class="month">'+DPGlobal.dates.monthsShort[i++]+'</span>';
}
this.picker.find('.daterangepicker-months td').append(html);
},
fill: function() {
var d = new Date(this.viewDate),
year = d.getFullYear(),
month = d.getMonth(),
currentDate = this.date.valueOf();
this.picker.find('.daterangepicker-days th:eq(1)')
.text(year+' / '+DPGlobal.dates.months[month]).append('&nbsp;<small><i class="icon-angle-down"></i><small>');
var prevMonth = new Date(year, month-1, 28,0,0,0,0),
day = DPGlobal.getDaysInMonth(prevMonth.getFullYear(), prevMonth.getMonth());
prevMonth.setDate(day);
prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7)%7);
var nextMonth = new Date(prevMonth);
nextMonth.setDate(nextMonth.getDate() + 42);
nextMonth = nextMonth.valueOf();
var html = [];
var clsName, prevY, prevM;
while(prevMonth.valueOf() < nextMonth) {
if (prevMonth.getDay() === this.weekStart) {
html.push('<tr>');
}
clsName = this.onRender(prevMonth);
prevY = prevMonth.getFullYear();
prevM = prevMonth.getMonth();
if ((prevM < month && prevY === year) || prevY < year) {
clsName += ' old';
} else if ((prevM > month && prevY === year) || prevY > year) {
clsName += ' new';
}
if (!clsName){
html.push('<td class="day" data-val="'+prevMonth.getTime()+'">' + prevMonth.getDate() + '</td>');
} else {
html.push('<td class="'+clsName+'"></td>');
}
if (prevMonth.getDay() === this.weekEnd) {
html.push('</tr>');
}
prevMonth.setDate(prevMonth.getDate()+1);
}
this.picker.find('.daterangepicker-days tbody').empty().append(html.join(''));
var currentYear = this.date.getFullYear();
var months = this.picker.find('.daterangepicker-months')
.find('th:eq(1)')
.text(year)
.end()
.find('span').removeClass('active');
if (currentYear === year) {
months.eq(this.date.getMonth()).addClass('active');
}
html = '';
year = parseInt(year/10, 10) * 10;
var yearCont = this.picker.find('.daterangepicker-years')
.find('th:eq(1)')
.text(year + '-' + (year + 9))
.end()
.find('td');
year -= 1;
for (var i = -1; i < 11; i++) {
html += '<span class="year'+(i === -1 || i === 10 ? ' old' : '')+(currentYear === year ? ' active' : '')+'">'+year+'</span>';
year += 1;
}
yearCont.html(html);
this.updateRange();
//click = 2;
},
click: function(e) {
e.stopPropagation();
e.preventDefault();
var target = $(e.target).closest('span, td, th');
if (target.length === 1) {
switch(target[0].nodeName.toLowerCase()) {
case 'th':
switch(target[0].className) {
case 'month-switch':
this.showMode(1);
break;
case 'prev':
case 'next':
this.viewDate['set'+DPGlobal.modes[this.viewMode].navFnc].call(
this.viewDate,
this.viewDate['get'+DPGlobal.modes[this.viewMode].navFnc].call(this.viewDate) +
DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1)
);
this.date = new Date(this.viewDate);
this.element.trigger({
type: 'changeDate',
date: this.date,
viewMode: DPGlobal.modes[this.viewMode].clsName
});
this.fill();
this.set();
break;
}
break;
case 'span':
if (target.is('.month')) {
var month = target.parent().find('span').index(target);
this.viewDate.setMonth(month);
} else {
var year = parseInt(target.text(), 10)||0;
this.viewDate.setFullYear(year);
}
if (this.viewMode !== 0) {
this.date = new Date(this.viewDate);
this.element.trigger({
type: 'changeDate',
date: this.date,
viewMode: DPGlobal.modes[this.viewMode].clsName
});
}
this.showMode(-1);
this.fill();
this.set();
break;
case 'td':
//reset
if (target.is('.day') && !target.is('.disabled')){
// reset process for a new range
if (start && end) {
if (!compare) {
click = 2 ;
$(".range").removeClass('range');
$(".start-selected").removeClass("start-selected");
$(".end-selected").removeClass("end-selected");
}
}
if(click === 2) {
if (compare) {
startCompare = null;
endCompare = null;
}
else {
start = null;
end = null;
}
click = null;
switched = false;
if (compare) {
$("td.day").removeClass("start-selected-compare").removeClass("end-selected-compare");
$(".date-input").removeClass("input-selected").removeClass("input-complete");
$(".range-compare").removeClass("range-compare");
} else {
$("td.day").removeClass("start-selected").removeClass("end-selected");
$(".date-input").removeClass("input-selected").removeClass("input-complete");
$(".range").removeClass("range");
}
}
//define start with first click or switched one
if (!click || switched === true) {
if (compare) {
$(".start-selected-compare").removeClass("start-selected-compare");
target.addClass("start-selected-compare");
startCompare = target.data("val");
$("#date-start-compare").val(DPGlobal.formatDate(new Date(startCompare), DPGlobal.parseFormat('Y-m-d')));
} else {
$(".start-selected").removeClass("start-selected");
target.addClass("start-selected");
start = target.data("val");
$("#date-start").val(DPGlobal.formatDate(new Date(start), DPGlobal.parseFormat('Y-m-d')));
$('#date-start').trigger('change');
}
if(!switched) {click = 1;} else {click = 2;}
if(!switched) {
if (compare) {
$("#date-end-compare").val(null).focus().addClass("input-selected");
target.addClass("start-selected-compare").addClass("end-selected-compare");
} else {
$("#date-end").val(null).focus().addClass("input-selected");
target.addClass("start-selected").addClass("end-selected");
}
}
if (compare) {
$("#date-start-compare").removeClass("input-selected").addClass("input-complete");
}
else {
$("#date-start").removeClass("input-selected").addClass("input-complete");
}
}
//define end
else {
if (compare) {
$(".end-selected-compare").removeClass("end-selected-compare");
target.addClass("end-selected-compare");
endCompare = target.data("val");
$("#date-end-compare").val(DPGlobal.formatDate(new Date(endCompare), DPGlobal.parseFormat('Y-m-d')));
click = 2;
$("#date-end-compare").removeClass("input-selected").addClass("input-complete");
} else {
$(".end-selected").removeClass("end-selected");
target.addClass("end-selected");
end = target.data("val");
$("#date-end").val(DPGlobal.formatDate(new Date(end), DPGlobal.parseFormat('Y-m-d')));
click = 2;
$("#date-end").removeClass("input-selected").addClass("input-complete");
$('#date-end').trigger('change');
}
}
}
break;
}
}
},
updateRange: function() {
$("#datepicker .day").each(function(){
var date_val = parseInt($(this).data('val'),10);
if (end && start) {
if(date_val > start && date_val < end) {
$(this).addClass("range");
}
if(date_val === start) {
$(this).addClass("start-selected");
}
if(date_val === end) {
$(this).addClass("end-selected");
}
}
if (endCompare && startCompare) {
$(this).removeClass("range-compare").removeClass("start-selected-compare").removeClass("end-selected-compare");
if(date_val > startCompare && date_val < endCompare) {
$(this).addClass("range-compare");
}
if(date_val === startCompare) {
$(this).addClass("start-selected-compare");
}
if(date_val === endCompare) {
$(this).addClass("end-selected-compare");
}
} else {
$(this).removeClass("range-compare").removeClass("start-selected-compare").removeClass("end-selected-compare");
}
});
},
mouseoverRange: function(){
//range
$("#datepicker .day").each(function(){
var date_val = parseInt($(this).data('val'),10);
if (compare) {
if (!endCompare && date_val > startCompare && date_val < over) {
$(this).not(".old").not(".new").addClass("range-compare");
}
else if (!startCompare && date_val > over && date_val < endCompare) {
$(this).not(".old").not(".new").addClass("range-compare");
}
else if (startCompare && endCompare) {
$(this).addClass("range-compare");
}
}
else {
if (!end && date_val > start && date_val < over) {
$(this).not(".old").not(".new").addClass("range");
}
else if (!start && date_val > over && date_val < end) {
$(this).not(".old").not(".new").addClass("range");
}
}
});
},
mouseover: function(e){
//data-val from day overed
over = $(e.target).data("val");
//action when one of two dates has been set
if(click === 1 && over){
if (compare) {
$("#datepicker .range-compare").removeClass("range-compare");
if (startCompare && over < startCompare) {
endCompare = startCompare;
$("#date-end-compare").val(DPGlobal.formatDate(new Date(startCompare), DPGlobal.parseFormat('Y-m-d'))).removeClass("input-selected");
$("#date-start-compare").val(null).focus().addClass("input-selected");
$("#datepicker .start-selected-compare").removeClass("start-selected-compare").addClass("end-selected-compare");
startCompare = null;
switched = true;
}
else if (endCompare && over > endCompare) {
startCompare = endCompare;
$("#date-start-compare").val(DPGlobal.formatDate(new Date(endCompare), DPGlobal.parseFormat('Y-m-d'))).removeClass("input-selected");
$("#date-end-compare").val(null).focus().addClass("input-selected");
$("#datepicker .end-selected-compare").removeClass("end-selected-compare").addClass("start-selected-compare");
endCompare = null;
switched = false;
}
if (startCompare) {
$(".end-selected-compare").removeClass("end-selected-compare");
$(e.target).addClass("end-selected-compare");
}
else if (endCompare) {
$(".start-selected-compare").removeClass("start-selected-compare");
$(e.target).addClass("start-selected-compare");
}
}
else {
$("#datepicker .range").removeClass("range");
if (start && over < start) {
end = start;
$("#date-end").val(DPGlobal.formatDate(new Date(start), DPGlobal.parseFormat('Y-m-d'))).removeClass("input-selected");
$('#date-end').trigger('change');
$("#date-start").val(null).focus().addClass("input-selected");
$("#datepicker .start-selected").removeClass("start-selected").addClass("end-selected");
start = null;
switched = true;
}
else if (end && over > end) {
start = end;
$("#date-start").val(DPGlobal.formatDate(new Date(end), DPGlobal.parseFormat('Y-m-d'))).removeClass("input-selected");
$('#date-start').trigger('change');
$("#date-end").val(null).focus().addClass("input-selected");
$("#datepicker .end-selected").removeClass("end-selected").addClass("start-selected");
end = null;
switched = false;
}
if (start) {
$(".end-selected").removeClass("end-selected");
$(e.target).addClass("end-selected");
}
else if (end) {
$(".start-selected").removeClass("start-selected");
$(e.target).addClass("start-selected");
}
}
//switch
$(".date-input").removeClass("input-complete");
this.mouseoverRange();
}
},
mouseout: function(){
if (compare) {
if (!startCompare||!endCompare) {
$("#datepicker .range-compare").removeClass("range-compare");
}
if (!endCompare) {
$(".end-selected-compare").removeClass("end-selected-compare");
}
else if (!startCompare)
$(".start-selected-compare").removeClass("start-selected-compare");
}
else {
if (!start||!end) {
$("#datepicker .range").removeClass("range");
}
if (!end) {
$(".end-selected").removeClass("end-selected");
}
else if (!start) {
$(".start-selected").removeClass("start-selected");
}
}
},
mousedown: function(e){
e.stopPropagation();
e.preventDefault();
},
showMode: function(dir) {
if (dir)
this.viewMode = Math.max(this.minViewMode, Math.min(2, this.viewMode + dir));
this.picker.find('>div').hide().filter('.daterangepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
}
};
$.fn.daterangepicker = function ( option, val ) {
return this.each(function () {
var $this = $(this),
data = $this.data('daterangepicker'),
options = typeof option === 'object' && option;
if (!data) {
$this.data('daterangepicker', (data = new DateRangePicker(this, $.extend({}, $.fn.daterangepicker.defaults,options))));
}
if (typeof option === 'string') { data[option](val);}
});
};
$.fn.daterangepicker.defaults = {
onRender: function() {
return '';
}
};
$.fn.daterangepicker.Constructor = DateRangePicker;
var DPGlobal = {
modes: [
{
clsName: 'days',
navFnc: 'Month',
navStep: 1
},
{
clsName: 'months',
navFnc: 'FullYear',
navStep: 1
},
{
clsName: 'years',
navFnc: 'FullYear',
navStep: 10
}],
dates:{
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
},
isLeapYear: function (year) {
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
},
getDaysInMonth: function (year, month) {
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
},
parseFormat: function(format){
var separator = format.match(/[.\/\-\s].*?/),
parts = format.split(/\W+/);
if (!separator || !parts || parts.length === 0){
throw new Error("Invalid date format.");
}
return {separator: separator, parts: parts};
},
parseDate: function(date, format) {
var parts = date.split(format.separator),
date = new Date(),
val;
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0);
if (parts.length === format.parts.length) {
var year = date.getFullYear(), day = date.getDate(), month = date.getMonth();
for (var i=0, cnt = format.parts.length; i < cnt; i++) {
val = parseInt(parts[i], 10)||1;
switch(format.parts[i]) {
case 'dd':
case 'd':
day = val;
date.setDate(val);
break;
case 'mm':
case 'm':
month = val - 1;
date.setMonth(val - 1);
break;
case 'yy':
case 'y':
year = 2000 + val;
date.setFullYear(2000 + val);
break;
case 'yyyy':
case 'Y':
year = val;
date.setFullYear(val);
break;
}
}
date = new Date(year, month, day, 0 ,0 ,0);
}
return date;
},
formatDate: function(date, format){
var val = {
d: date.getDate(),
m: date.getMonth() + 1,
yy: date.getFullYear().toString().substring(2),
y: date.getFullYear().toString().substring(2),
yyyy: date.getFullYear(),
Y: date.getFullYear()
};
val.d = (val.d < 10 ? '0' : '') + val.d;
val.m = (val.m < 10 ? '0' : '') + val.m;
var date = [];
for (var i=0, cnt = format.parts.length; i < cnt; i++) {
date.push(val[format.parts[i]]);
}
return date.join(format.separator);
},
headTemplate: '<thead>'+
'<tr>'+
'<th class="prev"><i class="icon-angle-left"></i></th>'+
'<th colspan="5" class="month-switch"></th>'+
'<th class="next"><i class="icon-angle-right"</th>'+
'</tr>'+
'</thead>',
contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>'
};
DPGlobal.template = '<div class="daterangepicker">'+
'<div class="daterangepicker-days">'+
'<table class=" table-condensed">'+
DPGlobal.headTemplate+
'<tbody></tbody>'+
'</table>'+
'</div>'+
'<div class="daterangepicker-months">'+
'<table class="table-condensed">'+
DPGlobal.headTemplate+
DPGlobal.contTemplate+
'</table>'+
'</div>'+
'<div class="daterangepicker-years">'+
'<table class="table-condensed">'+
DPGlobal.headTemplate+
DPGlobal.contTemplate+
'</table>'+
'</div>'+
'</div>';
}( window.jQuery );

View File

@@ -0,0 +1,294 @@
/*
* jQuery File Upload Image Preview & Resize Plugin 1.3.1
* https://github.com/blueimp/jQuery-File-Upload
*
* Copyright 2013, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/MIT
*/
/*jslint nomen: true, unparam: true, regexp: true */
/*global define, window, document, DataView, Blob, Uint8Array */
(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
define([
'jquery',
'load-image',
'load-image-meta',
'load-image-exif',
'load-image-ios',
'canvas-to-blob',
'./jquery.fileupload-process'
], factory);
} else {
// Browser globals:
factory(
window.jQuery,
window.loadImage
);
}
}(function ($, loadImage) {
'use strict';
// Prepend to the default processQueue:
$.blueimp.fileupload.prototype.options.processQueue.unshift(
{
action: 'loadImageMetaData',
disableImageHead: '@',
disableExif: '@',
disableExifThumbnail: '@',
disableExifSub: '@',
disableExifGps: '@',
disabled: '@disableImageMetaDataLoad'
},
{
action: 'loadImage',
// Use the action as prefix for the "@" options:
prefix: true,
fileTypes: '@',
maxFileSize: '@',
noRevoke: '@',
disabled: '@disableImageLoad'
},
{
action: 'resizeImage',
// Use "image" as prefix for the "@" options:
prefix: 'image',
maxWidth: '@',
maxHeight: '@',
minWidth: '@',
minHeight: '@',
crop: '@',
orientation: '@',
disabled: '@disableImageResize'
},
{
action: 'saveImage',
disabled: '@disableImageResize'
},
{
action: 'saveImageMetaData',
disabled: '@disableImageMetaDataSave'
},
{
action: 'resizeImage',
// Use "preview" as prefix for the "@" options:
prefix: 'preview',
maxWidth: '@',
maxHeight: '@',
minWidth: '@',
minHeight: '@',
crop: '@',
orientation: '@',
thumbnail: '@',
canvas: '@',
disabled: '@disableImagePreview'
},
{
action: 'setImage',
name: '@imagePreviewName',
disabled: '@disableImagePreview'
}
);
// The File Upload Resize plugin extends the fileupload widget
// with image resize functionality:
$.widget('blueimp.fileupload', $.blueimp.fileupload, {
options: {
// The regular expression for the types of images to load:
// matched against the file type:
loadImageFileTypes: /^image\/(gif|jpeg|png)$/,
// The maximum file size of images to load:
loadImageMaxFileSize: 10000000, // 10MB
// The maximum width of resized images:
imageMaxWidth: 1920,
// The maximum height of resized images:
imageMaxHeight: 1080,
// Defines the image orientation (1-8) or takes the orientation
// value from Exif data if set to true:
imageOrientation: false,
// Define if resized images should be cropped or only scaled:
imageCrop: false,
// Disable the resize image functionality by default:
disableImageResize: true,
// The maximum width of the preview images:
previewMaxWidth: 80,
// The maximum height of the preview images:
previewMaxHeight: 80,
// Defines the preview orientation (1-8) or takes the orientation
// value from Exif data if set to true:
previewOrientation: true,
// Create the preview using the Exif data thumbnail:
previewThumbnail: true,
// Define if preview images should be cropped or only scaled:
previewCrop: false,
// Define if preview images should be resized as canvas elements:
previewCanvas: true
},
processActions: {
// Loads the image given via data.files and data.index
// as img element, if the browser supports the File API.
// Accepts the options fileTypes (regular expression)
// and maxFileSize (integer) to limit the files to load:
loadImage: function (data, options) {
if (options.disabled) {
return data;
}
var that = this,
file = data.files[data.index],
dfd = $.Deferred();
if (($.type(options.maxFileSize) === 'number' &&
file.size > options.maxFileSize) ||
(options.fileTypes &&
!options.fileTypes.test(file.type)) ||
!loadImage(
file,
function (img) {
if (img.src) {
data.img = img;
}
dfd.resolveWith(that, [data]);
},
options
)) {
return data;
}
return dfd.promise();
},
// Resizes the image given as data.canvas or data.img
// and updates data.canvas or data.img with the resized image.
// Also stores the resized image as preview property.
// Accepts the options maxWidth, maxHeight, minWidth,
// minHeight, canvas and crop:
resizeImage: function (data, options) {
if (options.disabled || !(data.canvas || data.img)) {
return data;
}
options = $.extend({canvas: true}, options);
var that = this,
dfd = $.Deferred(),
img = (options.canvas && data.canvas) || data.img,
resolve = function (newImg) {
if (newImg && (newImg.width !== img.width ||
newImg.height !== img.height)) {
data[newImg.getContext ? 'canvas' : 'img'] = newImg;
}
data.preview = newImg;
dfd.resolveWith(that, [data]);
},
thumbnail;
if (data.exif) {
if (options.orientation === true) {
options.orientation = data.exif.get('Orientation');
}
if (options.thumbnail) {
thumbnail = data.exif.get('Thumbnail');
if (thumbnail) {
loadImage(thumbnail, resolve, options);
return dfd.promise();
}
}
}
if (img) {
resolve(loadImage.scale(img, options));
return dfd.promise();
}
return data;
},
// Saves the processed image given as data.canvas
// inplace at data.index of data.files:
saveImage: function (data, options) {
if (!data.canvas || options.disabled) {
return data;
}
var that = this,
file = data.files[data.index],
name = file.name,
dfd = $.Deferred(),
callback = function (blob) {
if (!blob.name) {
if (file.type === blob.type) {
blob.name = file.name;
} else if (file.name) {
blob.name = file.name.replace(
/\..+$/,
'.' + blob.type.substr(6)
);
}
}
// Store the created blob at the position
// of the original file in the files list:
data.files[data.index] = blob;
dfd.resolveWith(that, [data]);
};
// Use canvas.mozGetAsFile directly, to retain the filename, as
// Gecko doesn't support the filename option for FormData.append:
if (data.canvas.mozGetAsFile) {
callback(data.canvas.mozGetAsFile(
(/^image\/(jpeg|png)$/.test(file.type) && name) ||
((name && name.replace(/\..+$/, '')) ||
'blob') + '.png',
file.type
));
} else if (data.canvas.toBlob) {
data.canvas.toBlob(callback, file.type);
} else {
return data;
}
return dfd.promise();
},
loadImageMetaData: function (data, options) {
if (options.disabled) {
return data;
}
var that = this,
dfd = $.Deferred();
loadImage.parseMetaData(data.files[data.index], function (result) {
$.extend(data, result);
dfd.resolveWith(that, [data]);
}, options);
return dfd.promise();
},
saveImageMetaData: function (data, options) {
if (!(data.imageHead && data.canvas &&
data.canvas.toBlob && !options.disabled)) {
return data;
}
var file = data.files[data.index],
blob = new Blob([
data.imageHead,
// Resized images always have a head size of 20 bytes,
// including the JPEG marker and a minimal JFIF header:
this._blobSlice.call(file, 20)
], {type: file.type});
blob.name = file.name;
data.files[data.index] = blob;
return data;
},
// Sets the resized version of the image as a property of the
// file object, must be called after "saveImage":
setImage: function (data, options) {
if (data.preview && !options.disabled) {
data.files[data.index][options.name || 'preview'] = data.preview;
}
return data;
}
}
});
}));

View File

@@ -0,0 +1,164 @@
/*
* jQuery File Upload Processing Plugin 1.2.2
* https://github.com/blueimp/jQuery-File-Upload
*
* Copyright 2012, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/MIT
*/
/*jslint nomen: true, unparam: true */
/*global define, window */
(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
define([
'jquery',
'./jquery.fileupload'
], factory);
} else {
// Browser globals:
factory(
window.jQuery
);
}
}(function ($) {
'use strict';
var originalAdd = $.blueimp.fileupload.prototype.options.add;
// The File Upload Processing plugin extends the fileupload widget
// with file processing functionality:
$.widget('blueimp.fileupload', $.blueimp.fileupload, {
options: {
// The list of processing actions:
processQueue: [
/*
{
action: 'log',
type: 'debug'
}
*/
],
add: function (e, data) {
var $this = $(this);
data.process(function () {
return $this.fileupload('process', data);
});
originalAdd.call(this, e, data);
}
},
processActions: {
/*
log: function (data, options) {
console[options.type](
'Processing "' + data.files[data.index].name + '"'
);
}
*/
},
_processFile: function (data) {
var that = this,
dfd = $.Deferred().resolveWith(that, [data]),
chain = dfd.promise();
this._trigger('process', null, data);
$.each(data.processQueue, function (i, settings) {
var func = function (data) {
return that.processActions[settings.action].call(
that,
data,
settings
);
};
chain = chain.pipe(func, settings.always && func);
});
chain
.done(function () {
that._trigger('processdone', null, data);
that._trigger('processalways', null, data);
})
.fail(function () {
that._trigger('processfail', null, data);
that._trigger('processalways', null, data);
});
return chain;
},
// Replaces the settings of each processQueue item that
// are strings starting with an "@", using the remaining
// substring as key for the option map,
// e.g. "@autoUpload" is replaced with options.autoUpload:
_transformProcessQueue: function (options) {
var processQueue = [];
$.each(options.processQueue, function () {
var settings = {},
action = this.action,
prefix = this.prefix === true ? action : this.prefix;
$.each(this, function (key, value) {
if ($.type(value) === 'string' &&
value.charAt(0) === '@') {
settings[key] = options[
value.slice(1) || (prefix ? prefix +
key.charAt(0).toUpperCase() + key.slice(1) : key)
];
} else {
settings[key] = value;
}
});
processQueue.push(settings);
});
options.processQueue = processQueue;
},
// Returns the number of files currently in the processsing queue:
processing: function () {
return this._processing;
},
// Processes the files given as files property of the data parameter,
// returns a Promise object that allows to bind callbacks:
process: function (data) {
var that = this,
options = $.extend({}, this.options, data);
if (options.processQueue && options.processQueue.length) {
this._transformProcessQueue(options);
if (this._processing === 0) {
this._trigger('processstart');
}
$.each(data.files, function (index) {
var opts = index ? $.extend({}, options) : options,
func = function () {
return that._processFile(opts);
};
opts.index = index;
that._processing += 1;
that._processingQueue = that._processingQueue.pipe(func, func)
.always(function () {
that._processing -= 1;
if (that._processing === 0) {
that._trigger('processstop');
}
});
});
}
return this._processingQueue;
},
_create: function () {
this._super();
this._processing = 0;
this._processingQueue = $.Deferred().resolveWith(this)
.promise();
}
});
}));

View File

@@ -0,0 +1,117 @@
/*
* jQuery File Upload Validation Plugin 1.1.1
* https://github.com/blueimp/jQuery-File-Upload
*
* Copyright 2013, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/MIT
*/
/*jslint nomen: true, unparam: true, regexp: true */
/*global define, window */
(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
define([
'jquery',
'./jquery.fileupload-process'
], factory);
} else {
// Browser globals:
factory(
window.jQuery
);
}
}(function ($) {
'use strict';
// Append to the default processQueue:
$.blueimp.fileupload.prototype.options.processQueue.push(
{
action: 'validate',
// Always trigger this action,
// even if the previous action was rejected:
always: true,
// Options taken from the global options map:
acceptFileTypes: '@',
maxFileSize: '@',
minFileSize: '@',
maxNumberOfFiles: '@',
disabled: '@disableValidation'
}
);
// The File Upload Validation plugin extends the fileupload widget
// with file validation functionality:
$.widget('blueimp.fileupload', $.blueimp.fileupload, {
options: {
/*
// The regular expression for allowed file types, matches
// against either file type or file name:
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
// The maximum allowed file size in bytes:
maxFileSize: 10000000, // 10 MB
// The minimum allowed file size in bytes:
minFileSize: undefined, // No minimal file size
// The limit of files to be uploaded:
maxNumberOfFiles: 10,
*/
// Function returning the current number of files,
// has to be overriden for maxNumberOfFiles validation:
getNumberOfFiles: $.noop,
// Error and info messages:
messages: {
maxNumberOfFiles: 'Maximum number of files exceeded',
acceptFileTypes: 'File type not allowed',
maxFileSize: 'File is too large',
minFileSize: 'File is too small'
}
},
processActions: {
validate: function (data, options) {
if (options.disabled) {
return data;
}
var dfd = $.Deferred(),
settings = this.options,
file = data.files[data.index];
if ($.type(options.maxNumberOfFiles) === 'number' &&
(settings.getNumberOfFiles() || 0) + data.files.length >
options.maxNumberOfFiles) {
file.error = settings.i18n('maxNumberOfFiles');
} else if (options.acceptFileTypes &&
!(options.acceptFileTypes.test(file.type) ||
options.acceptFileTypes.test(file.name))) {
file.error = settings.i18n('acceptFileTypes');
} else if (options.maxFileSize && file.size >
options.maxFileSize) {
file.error = settings.i18n('maxFileSize');
} else if ($.type(file.size) === 'number' &&
file.size < options.minFileSize) {
file.error = settings.i18n('minFileSize');
} else {
delete file.error;
}
if (file.error || data.files.error) {
data.files.error = true;
dfd.rejectWith(this, [data]);
} else {
dfd.resolveWith(this, [data]);
}
return dfd.promise();
}
}
});
}));

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,208 @@
/*
* jQuery Iframe Transport Plugin 1.8.0
* https://github.com/blueimp/jQuery-File-Upload
*
* Copyright 2011, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/MIT
*/
/*jslint unparam: true, nomen: true */
/*global define, window, document */
(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
define(['jquery'], factory);
} else {
// Browser globals:
factory(window.jQuery);
}
}(function ($) {
'use strict';
// Helper variable to create unique names for the transport iframes:
var counter = 0;
// The iframe transport accepts four additional options:
// options.fileInput: a jQuery collection of file input fields
// options.paramName: the parameter name for the file form data,
// overrides the name property of the file input field(s),
// can be a string or an array of strings.
// options.formData: an array of objects with name and value properties,
// equivalent to the return data of .serializeArray(), e.g.:
// [{name: 'a', value: 1}, {name: 'b', value: 2}]
// options.initialIframeSrc: the URL of the initial iframe src,
// by default set to "javascript:false;"
$.ajaxTransport('iframe', function (options) {
if (options.async) {
// javascript:false as initial iframe src
// prevents warning popups on HTTPS in IE6:
var initialIframeSrc = options.initialIframeSrc || 'javascript:false;',
form,
iframe,
addParamChar;
return {
send: function (_, completeCallback) {
form = $('<form style="display:none;"></form>');
form.attr('accept-charset', options.formAcceptCharset);
addParamChar = /\?/.test(options.url) ? '&' : '?';
// XDomainRequest only supports GET and POST:
if (options.type === 'DELETE') {
options.url = options.url + addParamChar + '_method=DELETE';
options.type = 'POST';
} else if (options.type === 'PUT') {
options.url = options.url + addParamChar + '_method=PUT';
options.type = 'POST';
} else if (options.type === 'PATCH') {
options.url = options.url + addParamChar + '_method=PATCH';
options.type = 'POST';
}
// IE versions below IE8 cannot set the name property of
// elements that have already been added to the DOM,
// so we set the name along with the iframe HTML markup:
counter += 1;
iframe = $(
'<iframe src="' + initialIframeSrc +
'" name="iframe-transport-' + counter + '"></iframe>'
).bind('load', function () {
var fileInputClones,
paramNames = $.isArray(options.paramName) ?
options.paramName : [options.paramName];
iframe
.unbind('load')
.bind('load', function () {
var response;
// Wrap in a try/catch block to catch exceptions thrown
// when trying to access cross-domain iframe contents:
try {
response = iframe.contents();
// Google Chrome and Firefox do not throw an
// exception when calling iframe.contents() on
// cross-domain requests, so we unify the response:
if (!response.length || !response[0].firstChild) {
throw new Error();
}
} catch (e) {
response = undefined;
}
// The complete callback returns the
// iframe content document as response object:
completeCallback(
200,
'success',
{'iframe': response}
);
// Fix for IE endless progress bar activity bug
// (happens on form submits to iframe targets):
$('<iframe src="' + initialIframeSrc + '"></iframe>')
.appendTo(form);
window.setTimeout(function () {
// Removing the form in a setTimeout call
// allows Chrome's developer tools to display
// the response result
form.remove();
}, 0);
});
form
.prop('target', iframe.prop('name'))
.prop('action', options.url)
.prop('method', options.type);
if (options.formData) {
$.each(options.formData, function (index, field) {
$('<input type="hidden"/>')
.prop('name', field.name)
.val(field.value)
.appendTo(form);
});
}
if (options.fileInput && options.fileInput.length &&
options.type === 'POST') {
fileInputClones = options.fileInput.clone();
// Insert a clone for each file input field:
options.fileInput.after(function (index) {
return fileInputClones[index];
});
if (options.paramName) {
options.fileInput.each(function (index) {
$(this).prop(
'name',
paramNames[index] || options.paramName
);
});
}
// Appending the file input fields to the hidden form
// removes them from their original location:
form
.append(options.fileInput)
.prop('enctype', 'multipart/form-data')
// enctype must be set as encoding for IE:
.prop('encoding', 'multipart/form-data');
}
form.submit();
// Insert the file input fields at their original location
// by replacing the clones with the originals:
if (fileInputClones && fileInputClones.length) {
options.fileInput.each(function (index, input) {
var clone = $(fileInputClones[index]);
$(input).prop('name', clone.prop('name'));
clone.replaceWith(input);
});
}
});
form.append(iframe).appendTo(document.body);
},
abort: function () {
if (iframe) {
// javascript:false as iframe src aborts the request
// and prevents warning popups on HTTPS in IE6.
// concat is used to avoid the "Script URL" JSLint error:
iframe
.unbind('load')
.prop('src', initialIframeSrc);
}
if (form) {
form.remove();
}
}
};
}
});
// The iframe transport returns the iframe content document as response.
// The following adds converters from iframe to text, json, html, xml
// and script.
// Please note that the Content-Type for JSON responses has to be text/plain
// or text/html, if the browser doesn't include application/json in the
// Accept header, else IE will show a download dialog.
// The Content-Type for XML responses on the other hand has to be always
// application/xml or text/xml, so IE properly parses the XML response.
// See also
// https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation
$.ajaxSetup({
converters: {
'iframe text': function (iframe) {
return iframe && $(iframe[0].body).text();
},
'iframe json': function (iframe) {
return iframe && $.parseJSON($(iframe[0].body).text());
},
'iframe html': function (iframe) {
return iframe && $(iframe[0].body).html();
},
'iframe xml': function (iframe) {
var xmlDoc = iframe && iframe[0];
return xmlDoc && $.isXMLDoc(xmlDoc) ? xmlDoc :
$.parseXML((xmlDoc.XMLDocument && xmlDoc.XMLDocument.xml) ||
$(xmlDoc.body).html());
},
'iframe script': function (iframe) {
return iframe && $.globalEval($(iframe[0].body).text());
}
}
});
}));

View File

@@ -0,0 +1,8 @@
Modernizr.load([
{
test: window.matchMedia,
nope: ["themes/default/js/vendor/matchMedia.js", "themes/default/js/vendor/matchMedia.addListener.js"]
},
"themes/default/js/vendor/enquire.js",
"themes/default/js/admin-theme.js"
]);

View File

@@ -0,0 +1,102 @@
var Tree = function (element, options)
{
this.$element = $(element);
this.options = $.extend({}, $.fn.tree.defaults, options);
this.init();
};
Tree.prototype =
{
constructor: Tree,
init: function ()
{
var that = $(this);
this.$element.find("label.tree-toggler").click(
function ()
{
if ($(this).parent().parent().children("ul.tree").is(":visible"))
{
$(this).parent().children(".icon-folder-open")
.removeClass("icon-folder-open")
.addClass("icon-folder-close");
that.trigger('collapse');
}
else
{
$(this).parent().children(".icon-folder-close")
.removeClass("icon-folder-close")
.addClass("icon-folder-open");
that.trigger('expand');
}
$(this).parent().parent().children("ul.tree").toggle(300);
}
);
this.$element.find("li").click(
function ()
{
$('.tree-selected').removeClass("tree-selected");
$('li input:checked').parent().addClass("tree-selected");
}
);
return $(this);
},
collapseAll : function($speed)
{
this.$element.find("label.tree-toggler").each(
function()
{
$(this).parent().children(".icon-folder-open")
.removeClass("icon-folder-open")
.addClass("icon-folder-close");
$(this).parent().parent().children("ul.tree").hide($speed);
}
);
return $(this);
},
expandAll : function($speed)
{
this.$element.find("label.tree-toggler").each(
function()
{
$(this).parent().children(".icon-folder-close")
.removeClass("icon-folder-close")
.addClass("icon-folder-open");
$(this).parent().parent().children("ul.tree").show($speed);
}
);
return $(this);
},
};
$.fn.tree = function (option, value)
{
var methodReturn;
var $set = this.each(
function ()
{
var $this = $(this);
var data = $this.data('tree');
var options = typeof option === 'object' && option;
if (!data){
$this.data('tree', (data = new Tree(this, options)));
}
if (typeof option === 'string') {
methodReturn = data[option](value);
}
}
);
return (methodReturn === undefined) ? $set : methodReturn;
};
$.fn.tree.Constructor = Tree;

1999
admin-dev/themes/default/js/vendor/bootstrap.js vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,293 @@
/*!
* enquire.js v2.1.0 - Awesome Media Queries in JavaScript
* Copyright (c) 2013 Nick Williams - http://wicky.nillia.ms/enquire.js
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
*/
;(function (name, context, factory) {
var matchMedia = context.matchMedia;
if (typeof module !== 'undefined' && module.exports) {
module.exports = factory(matchMedia);
}
else if (typeof define === 'function' && define.amd) {
define(function() {
return (context[name] = factory(matchMedia));
});
}
else {
context[name] = factory(matchMedia);
}
}('enquire', this, function (matchMedia) {
'use strict';
/*jshint unused:false */
/**
* Helper function for iterating over a collection
*
* @param collection
* @param fn
*/
function each(collection, fn) {
var i = 0,
length = collection.length,
cont;
for(i; i < length; i++) {
cont = fn(collection[i], i);
if(cont === false) {
break; //allow early exit
}
}
}
/**
* Helper function for determining whether target object is an array
*
* @param target the object under test
* @return {Boolean} true if array, false otherwise
*/
function isArray(target) {
return Object.prototype.toString.apply(target) === '[object Array]';
}
/**
* Helper function for determining whether target object is a function
*
* @param target the object under test
* @return {Boolean} true if function, false otherwise
*/
function isFunction(target) {
return typeof target === 'function';
}
/**
* Delegate to handle a media query being matched and unmatched.
*
* @param {object} options
* @param {function} options.match callback for when the media query is matched
* @param {function} [options.unmatch] callback for when the media query is unmatched
* @param {function} [options.setup] one-time callback triggered the first time a query is matched
* @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?
* @constructor
*/
function QueryHandler(options) {
this.options = options;
!options.deferSetup && this.setup();
}
QueryHandler.prototype = {
/**
* coordinates setup of the handler
*
* @function
*/
setup : function() {
if(this.options.setup) {
this.options.setup();
}
this.initialised = true;
},
/**
* coordinates setup and triggering of the handler
*
* @function
*/
on : function() {
!this.initialised && this.setup();
this.options.match && this.options.match();
},
/**
* coordinates the unmatch event for the handler
*
* @function
*/
off : function() {
this.options.unmatch && this.options.unmatch();
},
/**
* called when a handler is to be destroyed.
* delegates to the destroy or unmatch callbacks, depending on availability.
*
* @function
*/
destroy : function() {
this.options.destroy ? this.options.destroy() : this.off();
},
/**
* determines equality by reference.
* if object is supplied compare options, if function, compare match callback
*
* @function
* @param {object || function} [target] the target for comparison
*/
equals : function(target) {
return this.options === target || this.options.match === target;
}
};
/**
* Represents a single media query, manages it's state and registered handlers for this query
*
* @constructor
* @param {string} query the media query string
* @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design
*/
function MediaQuery(query, isUnconditional) {
this.query = query;
this.isUnconditional = isUnconditional;
this.handlers = [];
this.mql = matchMedia(query);
var self = this;
this.listener = function(mql) {
self.mql = mql;
self.assess();
};
this.mql.addListener(this.listener);
}
MediaQuery.prototype = {
/**
* add a handler for this query, triggering if already active
*
* @param {object} handler
* @param {function} handler.match callback for when query is activated
* @param {function} [handler.unmatch] callback for when query is deactivated
* @param {function} [handler.setup] callback for immediate execution when a query handler is registered
* @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?
*/
addHandler : function(handler) {
var qh = new QueryHandler(handler);
this.handlers.push(qh);
this.matches() && qh.on();
},
/**
* removes the given handler from the collection, and calls it's destroy methods
*
* @param {object || function} handler the handler to remove
*/
removeHandler : function(handler) {
var handlers = this.handlers;
each(handlers, function(h, i) {
if(h.equals(handler)) {
h.destroy();
return !handlers.splice(i,1); //remove from array and exit each early
}
});
},
/**
* Determine whether the media query should be considered a match
*
* @return {Boolean} true if media query can be considered a match, false otherwise
*/
matches : function() {
return this.mql.matches || this.isUnconditional;
},
/**
* Clears all handlers and unbinds events
*/
clear : function() {
each(this.handlers, function(handler) {
handler.destroy();
});
this.mql.removeListener(this.listener);
this.handlers.length = 0; //clear array
},
/*
* Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match
*/
assess : function() {
var action = this.matches() ? 'on' : 'off';
each(this.handlers, function(handler) {
handler[action]();
});
}
};
/**
* Allows for registration of query handlers.
* Manages the query handler's state and is responsible for wiring up browser events
*
* @constructor
*/
function MediaQueryDispatch () {
if(!matchMedia) {
throw new Error('matchMedia not present, legacy browsers require a polyfill');
}
this.queries = {};
this.browserIsIncapable = !matchMedia('only all').matches;
}
MediaQueryDispatch.prototype = {
/**
* Registers a handler for the given media query
*
* @param {string} q the media query
* @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers
* @param {function} options.match fired when query matched
* @param {function} [options.unmatch] fired when a query is no longer matched
* @param {function} [options.setup] fired when handler first triggered
* @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched
* @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers
*/
register : function(q, options, shouldDegrade) {
var queries = this.queries,
isUnconditional = shouldDegrade && this.browserIsIncapable;
if(!queries[q]) {
queries[q] = new MediaQuery(q, isUnconditional);
}
//normalise to object in an array
if(isFunction(options)) {
options = { match : options };
}
if(!isArray(options)) {
options = [options];
}
each(options, function(handler) {
queries[q].addHandler(handler);
});
return this;
},
/**
* unregisters a query and all it's handlers, or a specific handler for a query
*
* @param {string} q the media query to target
* @param {object || function} [handler] specific handler to unregister
*/
unregister : function(q, handler) {
var query = this.queries[q];
if(query) {
if(handler) {
query.removeHandler(handler);
}
else {
query.clear();
delete this.queries[q];
}
}
return this;
}
};
return new MediaQueryDispatch();
}));

View File

@@ -0,0 +1,530 @@
/*
* jQuery UI Widget 1.10.3+amd
* https://github.com/blueimp/jQuery-File-Upload
*
* Copyright 2013 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/jQuery.widget/
*/
(function (factory) {
if (typeof define === "function" && define.amd) {
// Register as an anonymous AMD module:
define(["jquery"], factory);
} else {
// Browser globals:
factory(jQuery);
}
}(function( $, undefined ) {
var uuid = 0,
slice = Array.prototype.slice,
_cleanData = $.cleanData;
$.cleanData = function( elems ) {
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
try {
$( elem ).triggerHandler( "remove" );
// http://bugs.jquery.com/ticket/8235
} catch( e ) {}
}
_cleanData( elems );
};
$.widget = function( name, base, prototype ) {
var fullName, existingConstructor, constructor, basePrototype,
// proxiedPrototype allows the provided prototype to remain unmodified
// so that it can be used as a mixin for multiple widgets (#8876)
proxiedPrototype = {},
namespace = name.split( "." )[ 0 ];
name = name.split( "." )[ 1 ];
fullName = namespace + "-" + name;
if ( !prototype ) {
prototype = base;
base = $.Widget;
}
// create selector for plugin
$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
return !!$.data( elem, fullName );
};
$[ namespace ] = $[ namespace ] || {};
existingConstructor = $[ namespace ][ name ];
constructor = $[ namespace ][ name ] = function( options, element ) {
// allow instantiation without "new" keyword
if ( !this._createWidget ) {
return new constructor( options, element );
}
// allow instantiation without initializing for simple inheritance
// must use "new" keyword (the code above always passes args)
if ( arguments.length ) {
this._createWidget( options, element );
}
};
// extend with the existing constructor to carry over any static properties
$.extend( constructor, existingConstructor, {
version: prototype.version,
// copy the object used to create the prototype in case we need to
// redefine the widget later
_proto: $.extend( {}, prototype ),
// track widgets that inherit from this widget in case this widget is
// redefined after a widget inherits from it
_childConstructors: []
});
basePrototype = new base();
// we need to make the options hash a property directly on the new instance
// otherwise we'll modify the options hash on the prototype that we're
// inheriting from
basePrototype.options = $.widget.extend( {}, basePrototype.options );
$.each( prototype, function( prop, value ) {
if ( !$.isFunction( value ) ) {
proxiedPrototype[ prop ] = value;
return;
}
proxiedPrototype[ prop ] = (function() {
var _super = function() {
return base.prototype[ prop ].apply( this, arguments );
},
_superApply = function( args ) {
return base.prototype[ prop ].apply( this, args );
};
return function() {
var __super = this._super,
__superApply = this._superApply,
returnValue;
this._super = _super;
this._superApply = _superApply;
returnValue = value.apply( this, arguments );
this._super = __super;
this._superApply = __superApply;
return returnValue;
};
})();
});
constructor.prototype = $.widget.extend( basePrototype, {
// TODO: remove support for widgetEventPrefix
// always use the name + a colon as the prefix, e.g., draggable:start
// don't prefix for widgets that aren't DOM-based
widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name
}, proxiedPrototype, {
constructor: constructor,
namespace: namespace,
widgetName: name,
widgetFullName: fullName
});
// If this widget is being redefined then we need to find all widgets that
// are inheriting from it and redefine all of them so that they inherit from
// the new version of this widget. We're essentially trying to replace one
// level in the prototype chain.
if ( existingConstructor ) {
$.each( existingConstructor._childConstructors, function( i, child ) {
var childPrototype = child.prototype;
// redefine the child widget using the same prototype that was
// originally used, but inherit from the new version of the base
$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
});
// remove the list of existing child constructors from the old constructor
// so the old child constructors can be garbage collected
delete existingConstructor._childConstructors;
} else {
base._childConstructors.push( constructor );
}
$.widget.bridge( name, constructor );
};
$.widget.extend = function( target ) {
var input = slice.call( arguments, 1 ),
inputIndex = 0,
inputLength = input.length,
key,
value;
for ( ; inputIndex < inputLength; inputIndex++ ) {
for ( key in input[ inputIndex ] ) {
value = input[ inputIndex ][ key ];
if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
// Clone objects
if ( $.isPlainObject( value ) ) {
target[ key ] = $.isPlainObject( target[ key ] ) ?
$.widget.extend( {}, target[ key ], value ) :
// Don't extend strings, arrays, etc. with objects
$.widget.extend( {}, value );
// Copy everything else by reference
} else {
target[ key ] = value;
}
}
}
}
return target;
};
$.widget.bridge = function( name, object ) {
var fullName = object.prototype.widgetFullName || name;
$.fn[ name ] = function( options ) {
var isMethodCall = typeof options === "string",
args = slice.call( arguments, 1 ),
returnValue = this;
// allow multiple hashes to be passed on init
options = !isMethodCall && args.length ?
$.widget.extend.apply( null, [ options ].concat(args) ) :
options;
if ( isMethodCall ) {
this.each(function() {
var methodValue,
instance = $.data( this, fullName );
if ( !instance ) {
return $.error( "cannot call methods on " + name + " prior to initialization; " +
"attempted to call method '" + options + "'" );
}
if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
return $.error( "no such method '" + options + "' for " + name + " widget instance" );
}
methodValue = instance[ options ].apply( instance, args );
if ( methodValue !== instance && methodValue !== undefined ) {
returnValue = methodValue && methodValue.jquery ?
returnValue.pushStack( methodValue.get() ) :
methodValue;
return false;
}
});
} else {
this.each(function() {
var instance = $.data( this, fullName );
if ( instance ) {
instance.option( options || {} )._init();
} else {
$.data( this, fullName, new object( options, this ) );
}
});
}
return returnValue;
};
};
$.Widget = function( /* options, element */ ) {};
$.Widget._childConstructors = [];
$.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "<div>",
options: {
disabled: false,
// callbacks
create: null
},
_createWidget: function( options, element ) {
element = $( element || this.defaultElement || this )[ 0 ];
this.element = $( element );
this.uuid = uuid++;
this.eventNamespace = "." + this.widgetName + this.uuid;
this.options = $.widget.extend( {},
this.options,
this._getCreateOptions(),
options );
this.bindings = $();
this.hoverable = $();
this.focusable = $();
if ( element !== this ) {
$.data( element, this.widgetFullName, this );
this._on( true, this.element, {
remove: function( event ) {
if ( event.target === element ) {
this.destroy();
}
}
});
this.document = $( element.style ?
// element within the document
element.ownerDocument :
// element is window or document
element.document || element );
this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
}
this._create();
this._trigger( "create", null, this._getCreateEventData() );
this._init();
},
_getCreateOptions: $.noop,
_getCreateEventData: $.noop,
_create: $.noop,
_init: $.noop,
destroy: function() {
this._destroy();
// we can probably remove the unbind calls in 2.0
// all event bindings should go through this._on()
this.element
.unbind( this.eventNamespace )
// 1.9 BC for #7810
// TODO remove dual storage
.removeData( this.widgetName )
.removeData( this.widgetFullName )
// support: jquery <1.6.3
// http://bugs.jquery.com/ticket/9413
.removeData( $.camelCase( this.widgetFullName ) );
this.widget()
.unbind( this.eventNamespace )
.removeAttr( "aria-disabled" )
.removeClass(
this.widgetFullName + "-disabled " +
"ui-state-disabled" );
// clean up events and states
this.bindings.unbind( this.eventNamespace );
this.hoverable.removeClass( "ui-state-hover" );
this.focusable.removeClass( "ui-state-focus" );
},
_destroy: $.noop,
widget: function() {
return this.element;
},
option: function( key, value ) {
var options = key,
parts,
curOption,
i;
if ( arguments.length === 0 ) {
// don't return a reference to the internal hash
return $.widget.extend( {}, this.options );
}
if ( typeof key === "string" ) {
// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
options = {};
parts = key.split( "." );
key = parts.shift();
if ( parts.length ) {
curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
for ( i = 0; i < parts.length - 1; i++ ) {
curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
curOption = curOption[ parts[ i ] ];
}
key = parts.pop();
if ( value === undefined ) {
return curOption[ key ] === undefined ? null : curOption[ key ];
}
curOption[ key ] = value;
} else {
if ( value === undefined ) {
return this.options[ key ] === undefined ? null : this.options[ key ];
}
options[ key ] = value;
}
}
this._setOptions( options );
return this;
},
_setOptions: function( options ) {
var key;
for ( key in options ) {
this._setOption( key, options[ key ] );
}
return this;
},
_setOption: function( key, value ) {
this.options[ key ] = value;
if ( key === "disabled" ) {
this.widget()
.toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value )
.attr( "aria-disabled", value );
this.hoverable.removeClass( "ui-state-hover" );
this.focusable.removeClass( "ui-state-focus" );
}
return this;
},
enable: function() {
return this._setOption( "disabled", false );
},
disable: function() {
return this._setOption( "disabled", true );
},
_on: function( suppressDisabledCheck, element, handlers ) {
var delegateElement,
instance = this;
// no suppressDisabledCheck flag, shuffle arguments
if ( typeof suppressDisabledCheck !== "boolean" ) {
handlers = element;
element = suppressDisabledCheck;
suppressDisabledCheck = false;
}
// no element argument, shuffle and use this.element
if ( !handlers ) {
handlers = element;
element = this.element;
delegateElement = this.widget();
} else {
// accept selectors, DOM elements
element = delegateElement = $( element );
this.bindings = this.bindings.add( element );
}
$.each( handlers, function( event, handler ) {
function handlerProxy() {
// allow widgets to customize the disabled handling
// - disabled as an array instead of boolean
// - disabled class as method for disabling individual parts
if ( !suppressDisabledCheck &&
( instance.options.disabled === true ||
$( this ).hasClass( "ui-state-disabled" ) ) ) {
return;
}
return ( typeof handler === "string" ? instance[ handler ] : handler )
.apply( instance, arguments );
}
// copy the guid so direct unbinding works
if ( typeof handler !== "string" ) {
handlerProxy.guid = handler.guid =
handler.guid || handlerProxy.guid || $.guid++;
}
var match = event.match( /^(\w+)\s*(.*)$/ ),
eventName = match[1] + instance.eventNamespace,
selector = match[2];
if ( selector ) {
delegateElement.delegate( selector, eventName, handlerProxy );
} else {
element.bind( eventName, handlerProxy );
}
});
},
_off: function( element, eventName ) {
eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
element.unbind( eventName ).undelegate( eventName );
},
_delay: function( handler, delay ) {
function handlerProxy() {
return ( typeof handler === "string" ? instance[ handler ] : handler )
.apply( instance, arguments );
}
var instance = this;
return setTimeout( handlerProxy, delay || 0 );
},
_hoverable: function( element ) {
this.hoverable = this.hoverable.add( element );
this._on( element, {
mouseenter: function( event ) {
$( event.currentTarget ).addClass( "ui-state-hover" );
},
mouseleave: function( event ) {
$( event.currentTarget ).removeClass( "ui-state-hover" );
}
});
},
_focusable: function( element ) {
this.focusable = this.focusable.add( element );
this._on( element, {
focusin: function( event ) {
$( event.currentTarget ).addClass( "ui-state-focus" );
},
focusout: function( event ) {
$( event.currentTarget ).removeClass( "ui-state-focus" );
}
});
},
_trigger: function( type, event, data ) {
var prop, orig,
callback = this.options[ type ];
data = data || {};
event = $.Event( event );
event.type = ( type === this.widgetEventPrefix ?
type :
this.widgetEventPrefix + type ).toLowerCase();
// the original event may come from any element
// so we need to reset the target on the new event
event.target = this.element[ 0 ];
// copy original event properties over to the new event
orig = event.originalEvent;
if ( orig ) {
for ( prop in orig ) {
if ( !( prop in event ) ) {
event[ prop ] = orig[ prop ];
}
}
}
this.element.trigger( event, data );
return !( $.isFunction( callback ) &&
callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
event.isDefaultPrevented() );
}
};
$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
if ( typeof options === "string" ) {
options = { effect: options };
}
var hasOptions,
effectName = !options ?
method :
options === true || typeof options === "number" ?
defaultEffect :
options.effect || defaultEffect;
options = options || {};
if ( typeof options === "number" ) {
options = { duration: options };
}
hasOptions = !$.isEmptyObject( options );
options.complete = callback;
if ( options.delay ) {
element.delay( options.delay );
}
if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
element[ method ]( options );
} else if ( effectName !== method && element[ effectName ] ) {
element[ effectName ]( options.duration, options.easing, callback );
} else {
element.queue(function( next ) {
$( this )[ method ]();
if ( callback ) {
callback.call( element[ 0 ] );
}
next();
});
}
};
});
}));

View File

@@ -0,0 +1,75 @@
/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
(function(){
// Bail out for browsers that have addListener support
if (window.matchMedia && window.matchMedia('all').addListener) {
return false;
}
var localMatchMedia = window.matchMedia,
hasMediaQueries = localMatchMedia('only all').matches,
isListening = false,
timeoutID = 0, // setTimeout for debouncing 'handleChange'
queries = [], // Contains each 'mql' and associated 'listeners' if 'addListener' is used
handleChange = function(evt) {
// Debounce
clearTimeout(timeoutID);
timeoutID = setTimeout(function() {
for (var i = 0, il = queries.length; i < il; i++) {
var mql = queries[i].mql,
listeners = queries[i].listeners || [],
matches = localMatchMedia(mql.media).matches;
// Update mql.matches value and call listeners
// Fire listeners only if transitioning to or from matched state
if (matches !== mql.matches) {
mql.matches = matches;
for (var j = 0, jl = listeners.length; j < jl; j++) {
listeners[j].call(window, mql);
}
}
}
}, 30);
};
window.matchMedia = function(media) {
var mql = localMatchMedia(media),
listeners = [],
index = 0;
mql.addListener = function(listener) {
// Changes would not occur to css media type so return now (Affects IE <= 8)
if (!hasMediaQueries) {
return;
}
// Set up 'resize' listener for browsers that support CSS3 media queries (Not for IE <= 8)
// There should only ever be 1 resize listener running for performance
if (!isListening) {
isListening = true;
window.addEventListener('resize', handleChange, true);
}
// Push object only if it has not been pushed already
if (index === 0) {
index = queries.push({
mql : mql,
listeners : listeners
});
}
listeners.push(listener);
};
mql.removeListener = function(listener) {
for (var i = 0, il = listeners.length; i < il; i++){
if (listeners[i] === listener){
listeners.splice(i, 1);
}
}
};
return mql;
};
}());

View File

@@ -0,0 +1,46 @@
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
window.matchMedia || (window.matchMedia = function() {
"use strict";
// For browsers that support matchMedium api such as IE 9 and webkit
var styleMedia = (window.styleMedia || window.media);
// For those that don't support matchMedium
if (!styleMedia) {
var style = document.createElement('style'),
script = document.getElementsByTagName('script')[0],
info = null;
style.type = 'text/css';
style.id = 'matchmediajs-test';
script.parentNode.insertBefore(style, script);
// 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;
styleMedia = {
matchMedium: function(media) {
var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
// 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
if (style.styleSheet) {
style.styleSheet.cssText = text;
} else {
style.textContent = text;
}
// Test if media query is true or false
return info.width === '1px';
}
};
}
return function(media) {
return {
matches: styleMedia.matchMedium(media || 'all'),
media: media || 'all'
};
};
}());

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,150 @@
@import "compass"
@import "admin-theme/admin-theme-colors"
@import "admin-theme/_bootstrap-variables"
@import "admin-theme/_bootstrap-init"
@import "admin-theme/_font-awesome"
@import "admin-theme/animate"
html, body
min-height: 100%
height: 100%
#header
z-index: 20
#main
z-index: 10
float: left
width: 100%
min-height: 100%
padding: 36px 0 60px
margin: 0 0 -60px 0
background-color: $bg-content-color
background-image: url('../img/patterns/bedge_grunge.png') // texture
#content
padding: 80px 10px 0
@include transition-property(margin)
@include transition-duration(0.4s)
@include transition-timing-function(ease-out)
.panel
padding: 20px
margin-bottom: 20px
border: solid 1px darken($bg-content-color,10%)
background-color: lighten($bg-content-color,20%)
@include border-radius(5px)
@include box-shadow(rgba(black,0.10) 0 2px 0, white 0 0 0 3px inset)
.panel-heading
@extend h3
h3:not(.modal-title), .panel-heading
border: none
padding: 0 5px
margin: -16px -16px 15px -16px
color: contrasted($bg-panel-heading-color)
font-size: 1.2em
line-height: 30px
font-weight: 300
text-transform: uppercase
background-color: white
border-bottom: solid 1px #ccc
i, a
color: contrasted($bg-panel-heading-color)
.badge
background-color: $brand-primary
+border-radius(0)
height: 29px
line-height: 25px
font-size: 1.3em
margin-right: 7px
font-weight: 300
float: left
margin-left: -5px
.panel-heading-action
@extend .pull-right
margin-right: -5px
a.list-toolbar-btn
float: left
height: 30px
width: 30px
color: $brand-primary
border-left: solid 1px #ccc
&:hover
text-decoration: none
color: black
i
text-align: center
font-size: 1.3em
line-height: 30px
.panel-danger .panel-heading
background-color: $badge-notif-color!important
form .alert
clear: both
@media (max-width: $screen-phone)
margin: 0
padding: 80px 5px 0
//backward
#nobootstrap
float: left
//data-focus
.data-focus
&.data-focus-primary
background-color: $brand-primary
color: white
@include border-radius(10px)
//orders
#customer_part
.customerCard
&.selected-customer .panel
color: $brand-success
border: solid 2px $brand-success
//modal
body.display-modal
#content, #main
margin: 0
padding: 0
background: #F8F8F8
//todo: remove temp fix for bootstrap RC1 -> final
input[type="text"],input[type="search"],input[type="password"], textarea, select
@extend .form-control
//panels
#content
.panel
.panel-footer
margin: 15px -20px -20px
height: 73px
.panel-footer
.btn.pull-right
margin-left: 3px
//colors
.attributes-color-container
width: 40px
height: 25px
display: block
border: solid 1px black
//components
@import "admin-theme/admin-header"
@import "admin-theme/admin-footer"
@import "admin-theme/admin-nav"
@import "admin-theme/admin-commons"
@import "admin-theme/admin-tables"
@import "admin-theme/admin-tree"
@import "admin-theme/admin-forms"
@import "admin-theme/admin-kpi"
@import "admin-theme/admin-switch"
@import "admin-theme/admin-toolbar"
@import "admin-theme/admin-date-range-picker"
@import "admin-theme/ladda"
//page specific
@import "admin-theme/admin-login"
@import "admin-theme/admin-carrier-wizard"
@import "admin-theme/admin-modules"
@import "admin-theme/admin-dashboard"
@import "admin-theme/admin-search"

View File

@@ -0,0 +1,147 @@
#carrier_wizard
position: relative
display: block
.stepContainer
position: relative
display: block
//overflow: hidden
clear: both
div.content
position: absolute
display: block
width: 100%
clear: both
.StepTitle
display: block
position: relative
clear: both
ul.anchor
position: relative
display: block
float: left
list-style: none
padding: 0
margin: 0 0 10px 0
clear: both
width: 100%
&.nbr_steps_4
li
width: 25%
float: left
&.nbr_steps_5
li
width: 25%
float: left
li
position: relative
display: block
overflow: hidden
a
color: #ccc
height: 32px
display: block
position: relative
margin: 0 16px 0 0
text-decoration: none
outline-style: none
.stepNumber
position: relative
float: left
width: 24px
height: 32px
margin-right: 3px
text-align: center
padding: 0 5px
font-size: 30px
line-height: 32px
color: white
.stepDesc
position: relative
text-align: left
font-size: 13px
height: 32px
display: table-cell
vertical-align: middle
line-height: 13px
.chevron
border: 16px solid transparent
border-left: 14px solid white
border-right: 0
position: absolute
right: -16px
top: 0
&:after
border: 16px solid transparent
border-left: 14px solid #ccc
border-right: 0
position: absolute
content: ""
right: 2px
top: -16px
a.disabled
color: #777
background-color: #ccc
.chevron:after
border-left: 14px solid #ccc
a.selected
color: #F8F8F8
cursor: text
background-color: $main-color
.chevron:after
border-left: 14px solid $main-color
a.done
color: white
background-color: $brand-success
.chevron:after
border-left: 14px solid $brand-success
.loader
display: none
.buttonNext
.buttonDisabled
.buttonPrevious
.buttonFinish
.msgBox
position: relative
display: none
float: left
margin: 4px 0 0 5px
padding: 5px
border: 1px solid #FFD700
background-color: #FFFFDD
color: #5A5655
+border-radius(5px)
.msgBox .content
padding: 0px
float: left
#carrier_logo_block
right: 10px
.wizard_error
@extend .alert
@extend .alert-danger
.range_inf td, .range_sup td
background-color: #ccc
.range_type
width: 220px
text-align: right
font-weight: bold
.range_data
width: 110px
.range_sign
width: 18px
font-size: 20px
text-align: center
.range_data_new
width: 110px
table#zones_table
width: auto
.field_error
border-color: $brand-danger
.actionBar
height: 30px
.actionBar a
float: right
margin-right: 10px

View File

@@ -0,0 +1,105 @@
.fixed-width-xs
width: 40px!important
.fixed-width-sm
width: 80px!important
.fixed-width-md
width: 120px!important
.fixed-width-lg
width: 160px!important
.fixed-width-xl
width: 200px!important
.fixed-width-xxl
width: 250px!important
.row-margin-bottom
margin-bottom: 15px
.row-padding-top
padding-top: 15px
.thumbnail, .img-thumbnail
background-color: white
border-color: #ccc!important
.highlight
background-color: #FFFF00
.badge
background-color: $secondary-color
&.badge-success
@extend .badge
background-color: $brand-success
&.badge-error
@extend .badge
background-color: $brand-danger
//tabs
.nav-tabs
border-bottom: none
li a
font-size: 1.1em
font-family: $headings-font-family
text-transform: uppercase
font-weight: 300
li.active
a, a:hover, a:focus
background-color: white
.alert.alert-danger
padding-left: 60px
position: relative
&:before
position: absolute
top: 0
left: 10px
display: block
min-height: 25px
min-width: 25px
font-family: FontAwesome
font-weight: normal
font-style: normal
font-size: 35px
text-decoration: inherit
-webkit-font-smoothing: antialiased
content: "\f00d"
.alert.alert-success
padding-left: 60px
position: relative
&:before
position: absolute
top: 0
left: 10px
display: block
min-height: 25px
min-width: 25px
font-family: FontAwesome
font-weight: normal
font-style: normal
font-size: 35px
text-decoration: inherit
-webkit-font-smoothing: antialiased
content: "\f00c"
.alert.alert-info
padding-left: 60px
position: relative
&:before
position: absolute
top: 0
left: 10px
display: block
min-height: 25px
min-width: 25px
font-family: FontAwesome
font-weight: normal
font-style: normal
font-size: 35px
text-decoration: inherit
-webkit-font-smoothing: antialiased
content: "\F05A"
.overflow-y
max-height: 200px
margin-bottom: 15px
overflow-y: auto

View File

@@ -0,0 +1,247 @@
//DASHBOARD
.size_s, .size_md, .size_l, .size_xl, .size_xxl
font-family: $headings-font-family
.size_s
font-size: 1.1em
.size_md
font-size: 1.3em
.size_l
font-size: 1.7em
.size_xl
font-size: 2em
.size_xxl
font-size: 2.3em
.color_success
color: $brand-success
.color_danger
color: $brand-danger
.dash_trend_down
color: red
&:before
margin-right: 4px
font-family: FontAwesome
content: "\f0ab"
.dash_trend_up
color: green
&:before
margin-right: 4px
font-family: FontAwesome
content: "\f0aa"
.dash_trend_right
color: darkblue
&:before
margin-right: 4px
font-family: FontAwesome
content: "\f0a9"
.box-stats
height: 70px
#dashboard
section
header
padding: 3px 8px
margin: 0 0 3px 0
color: white
font-size: 1.2em
background-color: $brand-primary
.small
font-variant: small-cap
text-transform: uppercase
font-size: 0.7em
header.panel-heading
color: #555
.data_list
@extend .list-group
margin: 0 0 10px 0
padding: 0
li
@extend .list-group-item
position: relative
.data_label
small
.data_value
line-height: 39px
position: absolute
top: 0
right: 0
padding: 0 10px 0 0
.data_list_small
margin: 8px 0 10px 0
padding: 0 0 0 0
border-top: solid 1px #ddd
li
padding: 3px 0
position: relative
border: none
margin: 0
border-bottom: dashed 1px #ddd
.data_label
text-transform: uppercase
color: #bbb
.data_value
line-height: 25px
position: absolute
top: 0
right: 0
padding: 0
.data_list_large
margin: 8px 0 10px 0
padding: 0
@extend .list-unstyled
li
padding: 6px 0
position: relative
border: none
margin: 0
.data_label
line-height: 0.8em
small
font-size: 0.6em
.data_value
text-align: right
line-height: 0.6em
position: absolute
top: 0
right: 0
padding: 8px 0 0 0
small
font-size: 0.5em
.data_list_vertical
@extend .list-unstyled
@extend .row
padding: 0
margin: 0 0 10px 0
border: 1px solid #ddd
@include border-radius(3px)
li
border-left: solid 1px #ddd
@extend .col-xs-4
padding: 6px
&:first-child
border: none
.data_label
min-height: 32px
display: block
line-height: 1em
text-align: center
.data_value
display: block
text-align: center
#dashtrends
header
margin-bottom: 0
#dashtrends_toolbar
margin: 4px -16px
dl
cursor: pointer
margin: 0
min-height: 120px
text-align: center
background-color: white
padding: 10px
border-left: 1px solid #ddd
border-bottom: 1px solid #ddd
&:first-child
border-left: none
&.active
background-color: #eee
dt
text-align: center
height: 37px
line-height: 1em
font: 300 1.1em/120% $headings-font-family
svg
height: 350px
#dashgoals
svg
height: 250px
#dashproducts
#dashaddons
background-color: white
border: 1px dashed #C0C0C0
@include border-radius(3px)
a
display: block
&:hover
text-decoration: none
padding: 10px 20px
font-size: 1.3em
text-align: center
#dashactivity
svg
height: 150px
.data_value
span, .dash_trend
@extend .data_loading
.loading
.data_value
min-width: 30px
text-align: center
&:before
@extend .icon-spin
font-size: 0.7em
font-family: FontAwesome
content: "\f021"
color: #ccc
span, small
display: none
.data_trend
display: none
.data_table
.data_chart
.data_trends
=animation($name,$value)
-webkit-animation-#{$name}: $value
animation-#{$name}: $value
=keyframes($name)
@-webkit-keyframes #{$name}
@content
@-moz-keyframes #{$name}
@content
@-ms-keyframes #{$name}
@content
@-o-keyframes #{$name}
@content
@keyframes #{$name}
@content
.data_loading
opacity: 1
+animation(name,bounceG)
+animation(duration,0.7s)
+animation(direction,linear)
+scale(0.7)
+keyframes(bounceG)
0%
+opacity(0)
+scale(0.1)
100%
+opacity(1)
+scale(1)
#dash_version
@extend .panel
padding: 0!important
overflow: hidden
iframe
height: 80px
width: 100%

View File

@@ -0,0 +1,272 @@
$color-bright: white
$color-calendar: #00A4E7
$color-calendar-compare: #FF8000
$color-calendar-day: $color-bright
$color-calendar-outrange: #ccc
$color-calendar-day-selected: $color-calendar
$color-calendar-day-selected-compare: $color-calendar-compare
$color-calendar-range: lighten($color-calendar,10%)
$color-calendar-range-compare: lighten($color-calendar-compare,10%)
#datepicker
.input-selected
margin: 0
#date-start.input-selected, #date-end.input-selected,
border: solid 3px $color-calendar-day-selected
#date-start-compare.input-selected, #date-end-compare.input-selected,
border: solid 3px $color-calendar-day-selected-compare
div#datepicker-form
#date-range
border: solid 1px darken($color-calendar,5%)
.form-date-heading
background-color: darken($color-calendar,5%)
#date-compare
border: solid 1px darken($color-calendar-compare,5%)
.form-date-heading
background-color: darken($color-calendar-compare,5%)
.form-date-heading
height: 30px
line-height: 30px
padding: 0 0 0 8px
.title, .checkbox-title label
font-size: 1.15em
color: $color-bright
font-weight: 200
text-transform: uppercase
line-height: 2em
.btn-default
background-color: rgba($color-bright,0.3)
font-weight: 700
color: $color-bright
border: none
select
margin: 2px 2px 0 0
.form-date-body, .form-date-actions
width: 100%
padding: 10px
background-color: white
display: inline-block
.form-date-actions
border: solid 1px #ccc
.form-date-group
clear: both
width: 100%
margin: 0 auto 6px auto
label
font-size: 0.8em
font-weight: 700
text-transform: uppercase
color: #666
input
margin: 4px 4px 0 0
input[type='text']
width: 35%
button
margin: 5px 0 0 0
.daterangepicker
position: relative
margin: 0 0 8px 0
width: 100%
font-size: 13px
border: solid 1px #ccc
table
width: 100%
margin: 0
border-spacing: 1px
thead
tr th
background-color: darken($color-calendar,5%)
color: white
font-size: 0.7em
height: 1.5em
text-transform: uppercase
tr:first-child th
background-color: $color-bright
border-bottom: 1px solid darken($color-calendar,5%)
font-weight: 200
font-size: 1.4em
color: $color-calendar-day-selected
td, th
text-align: center
padding: 0
position: relative
tr
border-bottom: solid 1px white
td
color: $color-calendar-day-selected
height: 2.4em
padding: 0 8px
@include transition-property(all)
@include transition-duration(0.2s)
@include transition-timing-function(ease-out)
&.day:after
content: ""
position: absolute
display: block
top: 0
left: 0
width: 100%
z-index: 0
background-color: transparent
&.day:hover
cursor: pointer
&.day.disabled
color: $color-calendar-outrange
&.old, &.new
color: $color-calendar-outrange
&.start-selected:not(.old):not(.new):not(.end-selected)
color: $color-bright
font-weight: 700
background-color: $color-calendar-day-selected
+border-left-radius(15px)
//@extend .chevron-left
&.range-compare
background-color: mix($color-calendar-day-selected,$color-calendar-range-compare,70%)
+border-left-radius(0)
&.end-selected-compare, &.start-selected-compare
background-color: mix($color-calendar-day-selected,$color-calendar-day-selected-compare,70%)
&.end-selected-compare
+border-radius(0)
&.end-selected:not(.old):not(.new):not(.start-selected)
color: $color-bright
font-weight: 700
background-color: $color-calendar-day-selected
//@extend .chevron-right
+border-right-radius(15px)
&.range-compare
background-color: mix($color-calendar-day-selected,$color-calendar-range-compare,70%)
+border-right-radius(0)
&.end-selected-compare, &.start-selected-compare
background-color: mix($color-calendar-day-selected,$color-calendar-day-selected-compare,70%)
&.start-selected-compare
+border-radius(0)
&.start-selected-compare:not(.old):not(.new):not(.end-selected-compare)
color: $color-bright
font-weight: 700
background-color: $color-calendar-day-selected-compare
+border-left-radius(15px)
//@extend .chevron-left
&.range
background-color: mix($color-calendar-day-selected-compare,$color-calendar-range,70%)
+border-left-radius(0)
&.end-selected-compare:not(.old):not(.new):not(.start-selected-compare)
color: $color-bright
font-weight: 700
background-color: $color-calendar-day-selected-compare
//@extend .chevron-right
+border-right-radius(15px)
&.range
background-color: mix($color-calendar-day-selected-compare,$color-calendar-range,70%)
+border-right-radius(0)
&.end-selected.start-selected
color: $color-bright
+border-radius(15px)
font-weight: 700
background-color: $color-calendar-day-selected
&.range-compare
background-color: mix($color-calendar-day-selected,$color-calendar-range-compare,70%)
+border-radius(0)
&.end-selected-compare.start-selected-compare
color: $color-bright
+border-radius(15px)
font-weight: 700
background-color: $color-calendar-day-selected-compare
&.range
background-color: mix($color-calendar-day-selected-compare,$color-calendar-range,70%)
+border-radius(0)
&.range
color: lighten($color-calendar-range,35%)
background-color: $color-calendar-range
&.range-compare
background-color: mix($color-calendar-range,$color-calendar-range-compare,50%)
&.range-compare
color: lighten($color-calendar-range-compare,35%)
background-color: $color-calendar-range-compare
&.range
background-color: mix($color-calendar-range,$color-calendar-range-compare,50%)
&.today
background-color: $color-bright
span
padding: 0
display: block
width: 33.333%
height: 3em
line-height: 3em
font-weight: 400
float: left
text-transform: uppercase
cursor: pointer
&:hover
color: white
background-color: $color-calendar-day-selected
&.active
background-color: $color-calendar-day-selected
color: #fff
&.old
color: $color-calendar-outrange
th
&.next
text-align: right
padding: 0 10px 0 0
&.prev
text-align: left
padding: 0 0 0 10px
&.next, &.prev, &.month-switch
font-size: 1.3em
line-height: 2em
height: 2em
&:hover
background-color: darken($color-calendar,5%)
color: white
thead tr:first-child th
cursor: pointer
//chevrons are disabled time to figure out the firefox incompatibility..
.chevron-left, .chevron-right
position: relative
.chevron-left:before, .chevron-right:before
display: block
content: ""
width: 0
height: 0
border-style: solid
position: absolute
.chevron-left:before
right: 0
top: 0
border-width: 1.2em 0 1.2em 0.5em
border-color: transparent transparent transparent $color-calendar-day-selected
background-color: $color-calendar-range
.chevron-right:before
left: 0
top: 0
border-width: 1.2em 0 1.2em 0.5em
border-color: transparent transparent transparent $color-calendar-range
background-color: $color-calendar-day-selected
.input-complete
-webkit-animation: one 0.2s ease-in-out
-moz-animation: one 0.2s ease-in-out
-ms-animation: one 0.2s ease-in-out
-o-animation: one 0.2s ease-in-out
animation: one 0.2s ease-in-out
@-webkit-keyframes one
0%
background-color: $color-calendar
100%
background-color: $color-bright
@-webkit-keyframes two
0%
+box-shadow($color-calendar 0 0 0 20px inset)
100%
+box-shadow($color-calendar 0 0 0 inset)

View File

@@ -0,0 +1,70 @@
#footer
z-index: 600
display: block
width: 100%
background-color: rgba($bg-footer-color,0.85)
color: #888
position: fixed
bottom: 0
height: 50px
line-height: 50px
a
color: #ccc
#go-top
position: fixed
bottom: 10px
height: 30px
width: 30px
text-align: center
line-height: 30px
right: 10px
z-index: 9003
display: block
padding: 0px 6px 0px 6px
margin: -2px 0px 0px
text-decoration: none
color: #fff
cursor: pointer
font-size: 16px
background-color: rgba(0,0,0,0.5)
&:hover
background-color: black
.social-networks
margin: 4px 0 0 0
a.link-social
i
font-size: 2em
width: 30px
height: 30px
display: inline-block
line-height: 30px
text-align: center
@include border-radius(30px)
&:hover
text-decoration: none
.link-twitter i
color: white
background-color: #7CCEEF
&:hover
color: #7CCEEF
background-color: white
.link-facebook i
color: white
background-color: #557DBB
&:hover
color: #557DBB
background-color: white
.link-github i
color: black
background-color: white
&:hover
color: white
background-color: black
.link-google i
color: white
background-color: #E6644E
&:hover
color: #E6644E
background-color: white

View File

@@ -0,0 +1,127 @@
//form
label.control-label
font-size: 13px
font-weight: normal
color: #666
label.control-label span.label-tooltip
text-decoration: none
font-size: 13px
color: #3586AE
background-color: lighten(#D8EDF7,5%)
border: none
border-bottom: solid 1px #D8EDF7
padding: 0 5px
@include border-radius(3px)
label.required:before
content: '*'
color: red
font-size: 14px
position: relative
line-height: 12px
.tooltip
font-size: 12px
select.input-tiny,
input[type="text"].input-tiny,
input[type="password"].input-tiny
width: 80px
float: left
textarea
resize: none
textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, .uneditable-input:focus
background-color: #FEFBE2
@include box-shadow(none)
//buttons
.btn
text-transform: uppercase
.caret
border-top-color: $gray-dark!important
&:hover, &:focus
.caret
border-top-color: white!important
&.btn-default
@include box-shadow(darken($btn-default-bg,10%) 0 -2px 0 inset)
&:hover
@include box-shadow(none)
background-color: $brand-primary
color: white
border-color: darken($brand-primary,10%)
i
color: white
&.btn-primary
background-color: $brand-primary
color: white
border-color: darken($brand-primary,10%)
&.btn-default[disabled]
border-color: $gray-light
color: $gray-light
background-color: lighten($gray-light,35%)
@include box-shadow(lighten($gray-light,20%) 0 -2px 0 inset)
.dropdown-menu
text-align: left
.btn-group-action
width: 160px
float: right
.btn-group
float: right
a
text-decoration: none
//typeahead
.tt-query
+border-right-radius(3px!important)
.tt-dropdown-menu
background-color: white
border: solid 1px #ccc
font-size: 0.9em
text-transform: none
.tt-suggestions
padding: 0 6px
+box-shadow(rgba(black,0.25) 0 1px 4px)
.tt-suggestion p
border-bottom: solid 1px #ccc
margin: 0!important
padding: 0!important
.tt-suggestion:last-child p
border-bottom: none
//tag
.tagify-container
background-color: white
padding: 2px 6px
min-height: 30px
overflow: auto
+border-radius(5px)
border: solid 1px #ccc
+box-shadow(rgba(0, 0, 0, 0.075) 0 1px 1px inset)
span
float: left
> span
display: inline-block
padding: 3px 5px
margin: 3px
border-radius: 2px
border: 1px solid $brand-primary
background-color: lighten($brand-primary,15%)
color: white
> a
padding-left: 5px
color: $brand-primary
text-decoration: none
font-weight: bold
> input
margin-top: 2px
border: 0 none
width: 100px
+box-shadow(none)
> input:focus
outline: 0
+box-shadow(none)

View File

@@ -0,0 +1,116 @@
#header_infos
@extend .navbar
@extend .navbar-inverse
@extend .navbar-fixed-top
background-color: $bg-header-color
#header_shopname
@extend .navbar-brand
font: 300 1.3em/100% $headings-font-family
position: relative
padding: 0 0 0 45px
margin: 0 20px 0 0
height: 37px
line-height: 37px
img
position: absolute
top: 0
left: 0
width: 37px
height: 37px
#header_notifs_icon_wrapper
@extend .hidden-xs
@extend .nav
@extend .navbar-nav
li a
padding: 9px 5px
> li > a > i
font-size: 1.4em
color: white
vertical-align: middle
.notifs_badge
@extend .badge
background-color: $badge-notif-color
.notifs_dropdown
background-color: transparent
border: none
box-shadow: none
.notifs_panel
@extend .panel
@extend .panel-default
width: 300px
@include box-shadow(rgba(black,0.5) 2px 2px 8px)
.notifs_panel_header
@extend .panel-heading
h3
padding: 0
font-size: 1.3em
margin: 0
.notifs_panel_footer
@extend .panel-footer
#header_nav_toggle
background-color: black
border: none
color: white
display: none
#header_employee_box
@extend .nav
@extend .navbar-nav
@extend .navbar-right
a img
margin-right: 5px
#header_foaccess i
font-size: 1.2em
#header_search
@extend .navbar-form
@extend .navbar-left
width: 160px
padding: 0 0 0 10px
position: relative
@media (max-width: $screen-tablet)
width: 100%
input, .form-group
margin: 0
.form-group.focus-search
position: absolute
z-index: 900
top: 0
left: 10px
width: 400px
#employee_infos
.employee_name
position: relative
padding-left: 34px!important
.employee_avatar_small
height: 30px
width: 30px
display: inline-block
position: absolute
top: 4px
left: 0
img
width: 100%
height: 100%
@include border-radius(30px)
.employee_avatar
height: 100px
width: 100px
display: block
margin: 10px auto 10px auto
overflow: hidden
@include border-radius(120px)
@include box-shadow(white 0 0 0 2px, #ccc 0 0 10px 3px)
img
width: 100%
height: 100%
#header_quick
@extend .nav
@extend .navbar-nav
@extend .navbar-left

View File

@@ -0,0 +1,70 @@
.box-stats
background-color: white
.boxchart-overlay
padding: 10px 10px 5px 10px
margin-right: 10px
float: left
color: white
@include border-radius(3px)
i
float: left
height: 64px
width: 64px
margin-right: 10px
color: white
font-size: 35px
text-align: center
line-height: 64px
@include border-radius(3px)
.title
color: #666
display: block
.value
font-size: 22px
small
line-height: 0.3em
color: #aaa
text-transform: uppercase
&:hover
text-decoration: none
.color1
i, .boxchart-overlay
background-color: #2BA8E3
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #2BA8E3
.color2
i, .boxchart-overlay
background-color: #FF5450
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #FF5450
.color3
i, .boxchart-overlay
background-color: #9E5BA1
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #9E5BA1
.color4
i, .boxchart-overlay
background-color: #95CC6B
@include box-shadow(rgba(black,0.15) 0 -3px 0 inset)
.value
color: #95CC6B
.data_chart
rect
fill: white
path
stroke: white
stroke-width: 2
fill: none
line
stroke: black
.area
fill: rgba(white,0.30)
stroke-width: 0
.icon-big
font-size: 4em
color: darken($bg-content-color,20%)

View File

@@ -0,0 +1,122 @@
#login
height: 100%
@include background(radial-gradient(color-stops(rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), top left),linear-gradient(top,rgba(57,173,219,.25),rgba(42,60,87,.4)),linear-gradient(left top,#670D10,#092756))
#login-header
margin: 0 0 60px 0
color: white
#login-panel
margin: 0 auto
width: 420px
.panel
@include box-shadow(rgba(white,0.45) 0 0 0 6px)
.panel-footer
margin: 0 -20px -20px
.flip-container
@include perspective(1000px)
height: 370px
&.flip .flipper
@include rotateY(180deg)
.flipper
@include transition-duration(0.6s)
@include transform-style(preserve-3d)
position: relative
.front, .back
@include backface-visibility(hidden)
width: 420px
position: absolute
top: 0
left: 0
.front
z-index: 2
.back
@include rotateY(180deg)
#login-footer
a
color: #A0AAB5
.animated
-webkit-animation-duration: 1s
-moz-animation-duration: 1s
-o-animation-duration: 1s
animation-duration: 1s
-webkit-animation-fill-mode: both
-moz-animation-fill-mode: both
-o-animation-fill-mode: both
animation-fill-mode: both
@-webkit-keyframes fadeInDown
0%
opacity: 0
-webkit-transform: translateY(-20px)
100%
opacity: 1
-webkit-transform: translateY(0)
@-moz-keyframes fadeInDown
0%
opacity: 0
-moz-transform: translateY(-20px)
100%
opacity: 1
-moz-transform: translateY(0)
@-o-keyframes fadeInDown
0%
opacity: 0
-o-transform: translateY(-20px)
100%
opacity: 1
-o-transform: translateY(0)
@keyframes fadeInDown
0%
opacity: 0
transform: translateY(-20px)
100%
opacity: 1
transform: translateY(0)
.animated.fadeInDown
-webkit-animation-name: fadeInDown
-moz-animation-name: fadeInDown
-o-animation-name: fadeInDown
animation-name: fadeInDown
@-webkit-keyframes fadeIn
0%
opacity: 0
100%
opacity: 1
@-moz-keyframes fadeIn
0%
opacity: 0
100%
opacity: 1
@-o-keyframes fadeIn
0%
opacity: 0
100%
opacity: 1
@keyframes fadeIn
0%
opacity: 0
100%
opacity: 1
.animated.fadeIn
-webkit-animation-name: fadeIn
-moz-animation-name: fadeIn
-o-animation-name: fadeIn
animation-name: fadeIn

View File

@@ -0,0 +1,93 @@
#module-list
h3
position: relative
top: 0
left: 0
margin: 0
padding: 0
background-color: transparent
color: $main-color
font-weight: 500
.hook_panel
@extend .well
@include box-shadow(rgba(white,0.9) 0 0 0 1px inset)
padding: 10px 10px 5px 10px
margin-bottom: 3px!important
.module_name
font-size: 1.2em
.module_description
@extend .text-muted
.hook_panel_header
margin: 0 -10px 0 -10px
padding: 0 10px 10px 10px
.hook_name
font-weight: 400
font-size: 1.2em
@include border-radius(3px)
color: $brand-primary
border: solid 1px #ccc
background-color: white
padding: 0 4px
.hook_title
text-transform: uppercase
font-size: 1em
.hook_description
@extend .text-muted
padding: 3px 0 0 3px
.module_list
.module_list_item
display: table
width: 100%
padding: 5px 0
margin-bottom: 4px
background-color: white
@include box-shadow(rgba(0,0,0,0.3) 0 0 3px,rgba(black,0.10) 0 -2px 0 inset)
@include border-radius(3px)
.module_col_select
display: table-cell
width: 22px
min-height: 35px
vertical-align: middle
text-align: center
border-right: 1px solid #ddd
.module_col_position
display: table-cell
width: 60px
vertical-align: middle
text-align: right
.positions
font-family: $headings-font-family
font-weight: 200
@include text-shadow(white 1px 1px)
padding: 0 5px
font-size: 1.6em
color: #aaa
@include border-radius(3px)
@include box-shadow(rgba(0,0,0,0.2) 0 1px 3px inset)
border: solid 1px #ccc
background-color: #eee
cursor: n-resize
.module_col_icon
display: table-cell
width: 50px
text-align: center
vertical-align: middle
.module_col_infos
display: table-cell
height: 50px
vertical-align: middle
.module_col_actions
display: table-cell
width: 160px
padding: 0 10px
vertical-align: middle
text-align: right
.btn-group
text-align: left
li.sortable-placeholder
border: 1px dashed #CCC
background-color: #BBB
margin-bottom: 4px
+border-radius(5px)

View File

@@ -0,0 +1,399 @@
#nav-mobile
position: fixed
top: 0
left: 0
overflow: hidden
width: 100%
height: 38px
z-index: 1100
&.expanded
height: 100%
li > a > i
display: inline-block
height: 30px
width: 30px
font-size: 20px
line-height: 30px
color: white
text-align: center
background: black
@include border-radius(40px)
ul.menu
top: 37px
position: absolute
display: none
width: 480px
height: 100%
background-color: rgba(black,0.8)
margin: 0 0 100px 0
padding: 0
border-top: 1px black solid
list-style: none
@include transition(all 0.35s ease-out)
@include animate(fadeInLeft, 0.3s)
li
background: $main-color
position: relative
a
display: block
position: relative
padding: 2px 0 2px 10px
border-bottom: 1px solid darken($main-color,10%)
font-size: 12px
line-height: 40px
height: 40px
$color: contrast-color($main-color, white, #333, 10%)
color: mix($main-color, $color, 30%)
background-color: $main-color
text-transform: uppercase
text-decoration: none
@include transition-property(background-color)
@include transition-duration(0.4s)
@include transition-timing-function(ease-out)
i
color: lighten($main-color,25%)
background-color: darken($main-color,25%)
@include transition-property(color)
@include transition-duration(0.4s)
@include transition-timing-function(ease-out)
&:hover
background-color: lighten($main-color,10%)
color: white
i
color: white
ul.submenu
display: none
#nav-mobile-submenu
a:not(#nav-mobile-submenu-back)
font-size: 1.2em
padding-left: 50px
text-transform: none
a#nav-mobile-submenu-back
background-color: darken($main-color,5%)
font-size: 1.5em
ul.menu.menu-close
@include animate(fadeOutLeft, 0.2s)
.menu-collapse
position: absolute
width: 50px
height: 37px
line-height: 1.3em
top: 0
right: 0
#nav-sidebar
position: fixed
width: 240px
height: 100%!important
overflow-y: auto
z-index: 500
background-color: $main-color
border-right: 1px solid black
li.maintab > a > i
display: inline-block
height: 30px
width: 30px
font-size: 20px
line-height: 30px
color: white
text-align: center
@include border-radius(40px)
li:not(.active)
ul
display: none
li.active
span.submenu_expand
display: none
ul.menu
margin: 0 0 100px 0
padding: 0
border-top: 1px black solid
list-style: none
li.maintab
position: relative
&.active
a.title, a.title:hover
color: contrast-color($brand-primary, white, #333, 10%)
background-color: $brand-primary
i
color: black
background-color: white
&.active
a.title:hover
color: contrast-color($main-color, white, #333, 10%)
&.expanded
a.title
color: white
background-color: darken($main-color,10%)
border-bottom: solid 1px darken($main-color,25%)
&:hover
background-color: lighten($main-color,10%)
i
color: white
span.submenu_expand
@extend .icon-angle-up
ul.submenu
display: block
a
color: lighten($main-color,30%)
background-color: darken($main-color,15%)
border-bottom: solid 1px darken($main-color,25%)
&:hover
color: white
background-color: darken($main-color,5%)
a.title
display: block
position: relative
padding: 2px 0 2px 8px
border-bottom: 1px solid darken($main-color,10%)
font-size: 12px
line-height: 28px
$color: contrast-color($main-color, white, #333, 10%)
color: mix($main-color, $color, 30%)
background-color: $main-color
text-transform: uppercase
text-decoration: none
@include transition-property(background-color)
@include transition-duration(0.4s)
@include transition-timing-function(ease-out)
i
color: lighten($main-color,25%)
background-color: darken($main-color,25%)
@include transition-property(color)
@include transition-duration(0.4s)
@include transition-timing-function(ease-out)
&:hover
background-color: lighten($main-color,10%)
color: white
i
color: white
span.submenu_expand
position: absolute
right: 10px
top: 2px
cursor: pointer
font-family: FontAwesome
font-size: 24px
font-weight: 100
color: black
background-color: transparent
@extend .icon-angle-down
@include text-shadow(lighten($main-color,10%) 1px 1px 0)
&:hover
color: white
@include text-shadow(darken($main-color,20%) -1px -1px 0)
ul.submenu
list-style: none
padding: 0
li
a
display: block
padding: 4px 5px 4px 10px
font-size: 12px
border: none
border-bottom: solid 1px #eee
background-color: white
&:hover
color: $main-color
background-color: mix(white, $main-color, 90%)
text-decoration: none
&:last-child a
border-bottom: none
&.active a
color: contrast-color($brand-primary, white, #333, 10%)
background-color: $brand-primary
border-bottom: solid 1px darken($brand-primary,10%)
@media (max-width: $screen-phone)
display: none
#nav-topbar
position: fixed
height: 28px
top: 38px
left: 80
width: 100%
padding: 0 40px 0 0
z-index: 600
background-color: white
ul.menu
margin: 0
padding: 0
display: block
list-style: none
li.maintab, li.subtab
height: 28px
padding: 0
margin: 0
list-style: none
position: relative
float: left
> a
display: block
line-height: 30px
color: $main-color
padding: 0 6px
margin: 0
font-size: 12px
i
margin: 0
width: 15px
background-color: transparent
font-size: 14px
&.active, &:hover
background-color: $brand-primary
> a
text-decoration: none
color: contrast-color($main-color, white, #333, 10%)
i
color: white
li.expanded > ul.submenu
display: block
ul.submenu
background-color: white
@include box-shadow(rgba(black,0.3) 0 2px 4px)
display: none
position: absolute
margin: 0
padding: 0
left: 0
top: 28px
width: 200px!important
> li
width: 200px
padding: 0
list-style: none
> a
display: block
padding: 4px 5px 4px 10px
font-size: 12px
border-bottom: solid 1px #eee
&:hover
color: white
background-color: $brand-primary
text-decoration: none
&.active a
color: contrast-color($brand-primary, white, #333, 10%)
background-color: $brand-primary
border-bottom: solid 1px darken($brand-primary,10%)
#ellipsistab
display: block
width: 40px
height: 28px
padding: 0
margin: 0
position: absolute
right: 0
> a
text-align: center
font-size: 15px
line-height: 30px
color: $main-color
cursor: pointer
ul#ellipsis_submenu
right: 0
left: inherit
a.title
padding: 0 8px
text-align: left
li.subtab.expanded > ul
left: -200px
top: 0
.menu-collapse
display: none
.menu-collapse
cursor: pointer
height: 54px
width: 100%
font-size: 2em
text-align: center
line-height: 55px
display: block
background-color: $main-color
border-bottom: 4px solid darken($main-color,10%)
color: darken($main-color,30%)
.page-topbar
#main
padding-top: 64px
#nav-sidebar
display: none
.page-head
top: 66px
#content
margin-left: 0
width: 100%
.page-head h2.page-title
padding: 0 0 0 20px
.page-sidebar
#content
margin-left: 240px
.page-sidebar-closed
#nav-sidebar
overflow: visible
width: 50px
@include transition-property(width)
@include transition-duration(0.4s)
@include transition-timing-function(ease-out)
span.title
display: none
ul.submenu
display: none!important
padding-top: 37px
position: relative
top: 0
@include box-shadow(rgba(black,0.2) 1px 1px 0,rgba(black,0.3) 2px 2px 4px)
> ul > li:hover
width: 250px!important
position: relative
span.title
display: inline-block
ul.submenu
display: block!important
position: absolute
left: 50px
width: 200px!important
#content
margin-left: 55px
.page-head h2.page-title
padding: 0 0 0 70px
@media (max-width: $screen-phone)
padding: 0 0 0 20px
@media (max-width: $screen-phone)
margin-left: 0
.submenu_expand
display: none
//icons
.icon-AdminDashboard
@extend .icon-dashboard
.icon-AdminCatalog
@extend .icon-book
.icon-AdminParentOrders
@extend .icon-credit-card
.icon-AdminParentCustomer
@extend .icon-group
.icon-AdminPriceRule
@extend .icon-tags
.icon-AdminParentShipping
@extend .icon-truck
.icon-AdminParentLocalization
@extend .icon-globe
.icon-AdminParentModules
@extend .icon-puzzle-piece
.icon-AdminParentPreferences
@extend .icon-wrench
.icon-AdminTools
@extend .icon-cogs
.icon-AdminAdmin
@extend .icon-cog
.icon-AdminParentStats
@extend .icon-bar-chart
.icon-AdminStock
@extend .icon-archive
[class^="icon-Admin"]
margin-right: 6px

View File

@@ -0,0 +1,8 @@
.adminsearch
#content
.panel .panel
padding: 0
margin: 0
border: none
@include border-radius(0)
@include box-shadow(0)

View File

@@ -0,0 +1,167 @@
// CSS TOGGLE SWITCHES (Ionuț Colceriu)
// Licensed under Unlicense
// https://github.com/ghinda/css-toggle-switch
//Hide by default
.switch .slide-button, .toggle p span
display: none
.switch
background-color: #E9E9E9
border-radius: 3px
label
padding: 0
cursor: pointer
//Toggle Switches
//We can't test for a specific feature, so we only target browsers with support for media queries.
//Position the label over all the elements, except the slide-button
//Clicking anywhere on the label will change the switch-state
// Don't hide the input from screen-readers and keyboard access
@media only screen
// Checkbox
.toggle
position: relative
padding: 0
margin-left: 100px
label
position: relative
z-index: 3
display: block
width: 100%
input
position: absolute
opacity: 0
z-index: 5
p
position: absolute
left: -100px
width: 100%
margin: 0
padding-right: 100px
text-align: left
p span
position: absolute
top: 0
left: 0
z-index: 5
display: block
width: 50%
margin-left: 100px
text-align: center
&:last-child
left: 50%
.slide-button
position: absolute
right: 0
top: 0
z-index: 4
display: block
width: 50%
height: 100%
padding: 0
// Radio Switch
.switch
position: relative
padding: 0
input
position: absolute
opacity: 0
label
position: relative
z-index: 2
float: left
width: 50%
height: 100%
margin: 0
text-align: center
.slide-button
position: absolute
top: 0
left: 0
padding: 0
z-index: 1
width: 50%
height: 100%
input:last-of-type:checked ~ .slide-button
left: 50%
// Switch with 3 items
&.switch-three label, &.switch-three .slide-button
width: 33.3%
&.switch-three input:checked:nth-of-type(2) ~ .slide-button
left: 33.3%
&.switch-three input:checked:last-of-type ~ .slide-button
left: 66.6%
// Switch with 4 items
&.switch-four label, &.switch-four .slide-button
width: 25%
&.switch-four input:checked:nth-of-type(2) ~ .slide-button
left: 25%
&.switch-four input:checked:nth-of-type(3) ~ .slide-button
left: 50%
&.switch-four input:checked:last-of-type ~ .slide-button
left: 75%
// Switch with 5 items
&.switch-five label, &.switch-five .slide-button
width: 20%
&.switch-five input:checked:nth-of-type(2) ~ .slide-button
left: 20%
&.switch-five input:checked:nth-of-type(3) ~ .slide-button
left: 40%
&.switch-five input:checked:nth-of-type(4) ~ .slide-button
left: 60%
&.switch-five input:checked:last-of-type ~ .slide-button
left: 80%
// Shared
.toggle, .switch
display: block
height: $input-height-base
.switch *, .toggle *
-webkit-box-sizing: border-box
-moz-box-sizing: border-box
-ms-box-sizing: border-box
-o-box-sizing: border-box
box-sizing: border-box
.switch .slide-button, .toggle .slide-button
display: block
-webkit-transition: all 0.3s ease-out
-moz-transition: all 0.3s ease-out
-ms-transition: all 0.3s ease-out
-o-transition: all 0.3s ease-out
transition: all 0.3s ease-out
.toggle label, .toggle p, .switch label
line-height: $input-height-base
vertical-align: middle
.toggle input:checked ~ .slide-button
right: 50%
// Outline the toggles when the inputs are focused
.toggle input:focus ~ .slide-button, .switch input:focus + label
outline: 1px dotted #888
// Bugfix for older Webkit, including mobile Webkit. Adapted from:
// http://css-tricks.com/webkit-sibling-bug/
.switch, .toggle
-webkit-animation: bugfix infinite 1s
//@-webkit-keyframes bugfix { from { position: relative; } to { position: relative; } }
// Prestashop Theme
.prestashop-switch
min-width: 150px
color: #999
text-align: center
border-radius: 3px
@include box-shadow(rgba(black,0.2) 0 2px 5px 1px inset)
label
padding-top: 0!important
font-weight: 500
input:checked + label
color: #333!important
@include text-shadow(rgba(white,0.7) 1px 1px 0)
input:not(:checked) + label
i
color: #999!important
.slide-button
position: relative
margin-right: 3px
color: lighten($bg-content-color,50%)
p
color: #333
span
color: #fff

View File

@@ -0,0 +1,58 @@
.table
border-collapse: separate
border-spacing: 0 2px 0 0
margin-bottom: 5px
thead > tr > th
border: none
font-weight: normal
vertical-align: top
border-bottom: solid 1px darken(#CAE5F4,15%)
span.title_box
color: black
font-size: 1.1em
font-weight: bold
display: block
word-wrap: nowrap
white-space: nowrap
&.active
font-weight: bold
a
text-decoration: none
a.active
color: black
input, select
margin: 0
tbody
> tr > td
border-top: none
background-color: white
padding: 3px 7px
vertical-align: middle
word-wrap: nowrap
font-size: 12px
border-bottom: solid 1px #eee
> tr.odd > td
background-color: $table-bg-accent
> tr:hover > td
background-color: $table-bg-hover
td.center, th.center
text-align: center
td.pointer
cursor: pointer
tr.filter
background-color: lighten(#CAE5F4,5%)
input[type="text"].filter, input[type="password"].filter, select.filter
font-size: 12px
border-color: darken(#CAE5F4,10%)
tr.highlighted td
background-color: $brand-primary!important
color: white
td.actions
min-width: 200px
.bulk-actions
margin: 17px 0 0 0

View File

@@ -0,0 +1,76 @@
//light
//$main-color: #F7F7F7
//$main-color: #DBD8CF //sable
//$main-color: #CFD7DD //bleu
//$main-color: #E0E0E0 //gris
//$main-color: #D7D6DE //violet
//$main-color: #F1F8FE //theme wordpress
//dark
//$main-color: #272A31 //bleu PrestaShop
//$main-color: #3D3D3D //gris
$main-color: #515561 //gris bleu clair
//$main-color: #4D4645 //taupe
//$main-color: #272822 //gris vert
//$main-color: #313A45 //gris bleu
//$main-color: #7B8676
//$main-color: #443A42 //violet
//$main-color: #373E35 //vert camo
//$main-color: #262C3F //bleu nuit - pretty sure that a girl could do better naming the colors, sorry about that...
//$main-color: #8C8574
//$main-color: #3A3A4A
//$secondary-color: white //blanc
//$secondary-color: #F5792B //orange
//$secondary-color: #81A98C //vert d'eau
//$secondary-color: #1EAEC0 //bleu
//$secondary-color: #00C3C1 //turquoise
//$secondary-color: #97C885 //vert menthe
//$secondary-color: #4691D2 //bleu ciel
//$secondary-color: #814C76 //violet
//$secondary-color: #FE635F //saumon
//$secondary-color: #FFB4B8 //rose
//$secondary-color: #F2B100 //moutarde
//$secondary-color: #F6A88A //abricot
//$secondary-color: #937976 //taupe clair
//$secondary-color: #60C276 //vert
$secondary-color: #8FC04D //vert pomme
//$secondary-color: #6992AF //theme wordpress
//$secondary-color: #8BC954 //vert PrestaShop
//$secondary-color: #AB7073
//$secondary-color: black
$brand-primary: #1BA6E5
//$brand-primary: #1BA6E5
//some tests
//$secondary-color: #79C09D
//$secondary-color: invert($main-color)
//$secondary-color: lighten(invert($main-color),20%)
//$secondary-color: adjust-hue($main-color, 80%)
//$hue: hue(adjust-hue($main-color, 80%))
//$secondary-color: hsl($hue, 50%, 50%) //Creates a Color from hue, saturation, and lightness values
//$secondary-color: #00A89C
//dark and light, love and war, fire and ice, etc...
$contrasted-dark-default: #333
$contrasted-light-default: white
$contrasted-lightness-threshold: 10% //30% default
//50 shades of gray
//$bg-content-color: #F8F9FB //bleu gris clair
//$bg-content-color: #F8FBF8 //vert gris clair
//$bg-content-color: #F8F4E3 //gris foncé
//$bg-content-color: #F6F6F6 //gris
$bg-content-color: #F8F8F8 //gris
//heading
//$bg-header-color: darken($secondary-color,20%)
$bg-header-color: #242424
$bg-footer-color: #242424
$bg-page-head-color : $secondary-color
$bg-panel-heading-color: hsl(hue($secondary-color), 10, 90)
//others
$badge-notif-color: #8BC954
$icon-color: #87C795

View File

@@ -0,0 +1,119 @@
.page-head
width: 100%
height: 55px
padding: 0 10px 0 0
margin: 0
border-bottom: 4px solid darken($secondary-color,10%)
position: fixed
top: 36px
left: 0px
z-index: 499
background-color: $secondary-color
@include box-shadow(rgba(black,0.15) 0 7px 0)
h2.page-title
@extend .pull-left
padding: 0 0 0 260px
font-size: 18px
color: white
text-transform: uppercase
@media (max-width: $screen-tablet)
padding: 0 0 0 20px
a
border-bottom: dotted 1px white
&:hover
color: black
border-color: black
a
color: white
text-decoration: none
.btn-toolbar
margin: 0
padding: 3px 0 0 0
.nav-tabs
margin: 0
.nav-tabs > li > a
color: #333
.toolbar_btn
position: relative
padding: 2px 5px !important
margin-right: 3px
font-size: 12px
font-weight: 600
color: white
text-align: center
text-shadow: none
&:hover
color: $secondary-color
border-color: white
background-color: white!important
[class^="process-icon-"], [class*=" process-icon-"]
height: 25px
min-width: 32px
background-position: center
background-repeat: no-repeat
display: block
font-family: FontAwesome
font-weight: normal
font-style: normal
font-size: 25px
line-height: 25px
text-decoration: inherit
-webkit-font-smoothing: antialiased
*margin-right: .3em
.page-header-toolbar-back
border: none!important
display: inline-block
.process-icon-save, .process-icon-save-and-stay, .process-icon-save-and-preview
@extend .icon-save
.process-icon-cancel
@extend .icon-remove
.process-icon-back
@extend .icon-circle-arrow-left
.process-icon-help
@extend .icon-question-sign
.process-icon-export
@extend .icon-cloud-download
.process-icon-import
@extend .icon-cloud-upload
.process-icon-help-new
@extend .icon-question-sign
.process-icon-edit
@extend .icon-edit
.process-icon-newAttributes, .process-icon-new, .process-icon-new-url
@extend .icon-plus-sign-alt
.process-icon-modules-list
@extend .icon-puzzle-piece
.process-icon-save-date
@extend .icon-download
.process-icon-save-status
@extend .icon-download
.process-icon-new-module
@extend .icon-plus
.process-icon-delete
@extend .icon-trash
.process-icon-update
@extend icon-refresh
.process-icon-preview, .process-icon-previewURL
@extend .icon-eye-open
.process-icon-stats
@extend .icon-bar-chart
.process-icon-duplicate
@extend .icon-copy
.process-icon-newCombination.toolbar-new
@extend .icon-plus-sign
.process-icon-newCombination.toolbar-cancel
@extend .icon-minus-sign
.process-icon-partial_refund
@extend .icon-exchange
.process-icon-anchor
@extend .icon-anchor
.process-icon-refresh
@extend .icon-refresh
.process-icon-configure
@extend .icon-cog

View File

@@ -0,0 +1,38 @@
.tree
padding: 0 0 0 20px
list-style: none
input
margin-right: 4px
i
font-size: 1.3em
.tree-item-name, .tree-folder-name
padding: 0 5px
+border-radius(6px)
font-weight: normal
&:hover
background-color: #eee
cursor: pointer
.tree-selected
background-color: lighten($brand-primary,30%)
i.tree-dot
background-color: $brand-primary
i.tree-dot
display: inline-block
position: relative
width: 6px
height: 6px
margin: 0 4px 0 6px
background-color: #ccc
+border-radius(6px)
.tree-item-disable, .tree-folder-name-disable
color: #ccc
&:hover
color: #ccc
background-color: none
.tree-actions
display: inline-block
.tree-panel-heading-controls
margin: -20px -20px 20px
padding: 5px
border-bottom: solid 1px #DFDFDF

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
/*!
* Bootstrap v3.0.0
*
* Copyright 2013 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world by @mdo and @fat.
*/
// Core variables and mixins
@import "../bower_components/sass-bootstrap/lib/variables";
@import "../bower_components/sass-bootstrap/lib/mixins";
// Reset
@import "../bower_components/sass-bootstrap/lib/normalize";
@import "../bower_components/sass-bootstrap/lib/print";
// Core CSS
@import "../bower_components/sass-bootstrap/lib/scaffolding";
@import "../bower_components/sass-bootstrap/lib/type";
@import "../bower_components/sass-bootstrap/lib/code";
@import "../bower_components/sass-bootstrap/lib/grid";
@import "../bower_components/sass-bootstrap/lib/tables";
@import "../bower_components/sass-bootstrap/lib/forms";
@import "../bower_components/sass-bootstrap/lib/buttons";
// Components
@import "../bower_components/sass-bootstrap/lib/component-animations";
@import "../bower_components/sass-bootstrap/lib/glyphicons";
@import "../bower_components/sass-bootstrap/lib/dropdowns";
@import "../bower_components/sass-bootstrap/lib/button-groups";
@import "../bower_components/sass-bootstrap/lib/input-groups";
@import "../bower_components/sass-bootstrap/lib/navs";
@import "../bower_components/sass-bootstrap/lib/navbar";
@import "../bower_components/sass-bootstrap/lib/breadcrumbs";
@import "../bower_components/sass-bootstrap/lib/pagination";
@import "../bower_components/sass-bootstrap/lib/pager";
@import "../bower_components/sass-bootstrap/lib/labels";
@import "../bower_components/sass-bootstrap/lib/badges";
@import "../bower_components/sass-bootstrap/lib/jumbotron";
@import "../bower_components/sass-bootstrap/lib/thumbnails";
@import "../bower_components/sass-bootstrap/lib/alerts";
@import "../bower_components/sass-bootstrap/lib/progress-bars";
@import "../bower_components/sass-bootstrap/lib/media";
@import "../bower_components/sass-bootstrap/lib/list-group";
@import "../bower_components/sass-bootstrap/lib/panels";
@import "../bower_components/sass-bootstrap/lib/wells";
@import "../bower_components/sass-bootstrap/lib/close";
// Components w/ JavaScript
@import "../bower_components/sass-bootstrap/lib/modals";
@import "../bower_components/sass-bootstrap/lib/tooltip";
@import "../bower_components/sass-bootstrap/lib/popovers";
@import "../bower_components/sass-bootstrap/lib/carousel";
// Utility classes
@import "../bower_components/sass-bootstrap/lib/utilities";
@import "../bower_components/sass-bootstrap/lib/responsive-utilities";

View File

@@ -0,0 +1,728 @@
//
// Mixins
// --------------------------------------------------
// Utilities
// -------------------------
// Clearfix
// Source: http://nicolasgallagher.com/micro-clearfix-hack/
//
// For modern browsers
// 1. The space content is one way to avoid an Opera bug when the
// contenteditable attribute is included anywhere else in the document.
// Otherwise it causes space to appear at the top and bottom of elements
// that are clearfixed.
// 2. The use of `table` rather than `block` is only necessary if using
// `:before` to contain the top-margins of child elements.
@mixin clearfix() {
&:before,
&:after {
content: " "; /* 1 */
display: table; /* 2 */
}
&:after {
clear: both;
}
}
// Webkit-style focus
@mixin tab-focus() {
// Default
outline: thin dotted #333;
// Webkit
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
// Center-align a block level element
@mixin center-block() {
display: block;
margin-left: auto;
margin-right: auto;
}
// Sizing shortcuts
@mixin size($width, $height) {
width: $width;
height: $height;
}
@mixin square($size) {
@include size($size, $size);
}
// Placeholder text
@mixin placeholder($color: $input-color-placeholder) {
&:-moz-placeholder { color: $color; } // Firefox 4-18
&::-moz-placeholder { color: $color; } // Firefox 19+
&:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
&::-webkit-input-placeholder { color: $color; } // Safari and Chrome
}
// Text overflow
// Requires inline-block or block for proper styling
@mixin text-overflow() {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// CSS image replacement
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
@mixin hide-text() {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
// CSS3 PROPERTIES
// --------------------------------------------------
// Single side border-radius
@mixin border-top-radius($radius) {
border-top-right-radius: $radius;
border-top-left-radius: $radius;
}
@mixin border-right-radius($radius) {
border-bottom-right-radius: $radius;
border-top-right-radius: $radius;
}
@mixin border-bottom-radius($radius) {
border-bottom-right-radius: $radius;
border-bottom-left-radius: $radius;
}
@mixin border-left-radius($radius) {
border-bottom-left-radius: $radius;
border-top-left-radius: $radius;
}
// Drop shadows
@mixin box-shadow($shadow...) {
-webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
box-shadow: $shadow;
}
// Transitions
@mixin transition($transition...) {
-webkit-transition: $transition;
transition: $transition;
}
@mixin transition-delay($transition-delay) {
-webkit-transition-delay: $transition-delay;
transition-delay: $transition-delay;
}
@mixin transition-duration($transition-duration) {
-webkit-transition-duration: $transition-duration;
transition-duration: $transition-duration;
}
@mixin transition-transform($transition...) {
-webkit-transition: -webkit-transform $transition;
-moz-transition: -moz-transform $transition;
-o-transition: -o-transform $transition;
transition: transform $transition;
}
// Transformations
@mixin rotate($degrees) {
-webkit-transform: rotate($degrees);
-ms-transform: rotate($degrees); // IE9+
transform: rotate($degrees);
}
@mixin scale($ratio) {
-webkit-transform: scale($ratio);
-ms-transform: scale($ratio); // IE9+
transform: scale($ratio);
}
@mixin translate($x, $y) {
-webkit-transform: translate($x, $y);
-ms-transform: translate($x, $y); // IE9+
transform: translate($x, $y);
}
@mixin skew($x, $y) {
-webkit-transform: skew($x, $y);
-ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
transform: skew($x, $y);
}
@mixin translate3d($x, $y, $z) {
-webkit-transform: translate3d($x, $y, $z);
transform: translate3d($x, $y, $z);
}
// Backface visibility
// Prevent browsers from flickering when using CSS 3D transforms.
// Default value is `visible`, but can be changed to `hidden`
// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
@mixin backface-visibility($visibility){
-webkit-backface-visibility: $visibility;
-moz-backface-visibility: $visibility;
backface-visibility: $visibility;
}
// Box sizing
@mixin box-sizing($boxmodel) {
-webkit-box-sizing: $boxmodel;
-moz-box-sizing: $boxmodel;
box-sizing: $boxmodel;
}
// User select
// For selecting text on the page
@mixin user-select($select) {
-webkit-user-select: $select;
-moz-user-select: $select;
-ms-user-select: $select; // IE10+
-o-user-select: $select;
user-select: $select;
}
// Resize anything
@mixin resizable($direction) {
resize: $direction; // Options: horizontal, vertical, both
overflow: auto; // Safari fix
}
// CSS3 Content Columns
@mixin content-columns($column-count, $column-gap: $grid-gutter-width) {
-webkit-column-count: $column-count;
-moz-column-count: $column-count;
column-count: $column-count;
-webkit-column-gap: $column-gap;
-moz-column-gap: $column-gap;
column-gap: $column-gap;
}
// Optional hyphenation
@mixin hyphens($mode: auto) {
word-wrap: break-word;
-webkit-hyphens: $mode;
-moz-hyphens: $mode;
-ms-hyphens: $mode; // IE10+
-o-hyphens: $mode;
hyphens: $mode;
}
// Opacity
@mixin opacity($opacity) {
opacity: $opacity;
// IE8 filter
$opacity-ie: ($opacity * 100);
filter: alpha(opacity=$opacity-ie);
}
// GRADIENTS
// --------------------------------------------------
// Horizontal gradient, from left to right
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
// Color stops are not available in IE9 and below.
@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
background-image: -webkit-gradient(linear, $start-percent top, $end-percent top, from($start-color), to($end-color)); // Safari 4+, Chrome 2+
background-image: -webkit-linear-gradient(left, color-stop($start-color $start-percent), color-stop($end-color $end-percent)); // Safari 5.1+, Chrome 10+
background-image: -moz-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // FF 3.6+
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
}
// Vertical gradient, from top to bottom
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
// Color stops are not available in IE9 and below.
@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
background-image: -webkit-gradient(linear, left $start-percent, left $end-percent, from($start-color), to($end-color)); // Safari 4+, Chrome 2+
background-image: -webkit-linear-gradient(top, $start-color, $start-percent, $end-color, $end-percent); // Safari 5.1+, Chrome 10+
background-image: -moz-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // FF 3.6+
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
}
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
background-repeat: repeat-x;
background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1+, Chrome 10+
background-image: -moz-linear-gradient($deg, $start-color, $end-color); // FF 3.6+
background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10
}
@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from($start-color), color-stop($color-stop, $mid-color), to($end-color));
background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
background-image: -moz-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
background-repeat: no-repeat;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
}
@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($start-color), color-stop($color-stop, $mid-color), to($end-color));
background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
background-image: -moz-linear-gradient(top, $start-color, $mid-color $color-stop, $end-color);
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
background-repeat: no-repeat;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
}
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($inner-color), to($outer-color));
background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
background-image: -moz-radial-gradient(circle, $inner-color, $outer-color);
background-image: radial-gradient(circle, $inner-color, $outer-color);
background-repeat: no-repeat;
}
@mixin gradient-striped($color: #555, $angle: 45deg) {
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
background-image: -webkit-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
background-image: -moz-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
background-image: linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
}
// Reset filters for IE
//
// When you need to remove a gradient background, do not forget to use this to reset
// the IE filter for IE9 and below.
@mixin reset-filter() {
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
// Retina images
//
// Short retina mixin for setting background-image and -size
@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
background-image: url("#{$file-1x}");
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
background-image: url("#{$file-2x}");
background-size: $width-1x $height-1x;
}
}
// Responsive image
//
// Keep images from scaling beyond the width of their parents.
@mixin img-responsive($display: block) {
display: $display;
max-width: 100%; // Part 1: Set a maximum relative to the parent
height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching
}
// COMPONENT MIXINS
// --------------------------------------------------
// Horizontal dividers
// -------------------------
// Dividers (basically an hr) within dropdowns and nav lists
@mixin nav-divider($color: #e5e5e5) {
height: 1px;
margin: (($line-height-computed / 2) - 1) 0;
overflow: hidden;
background-color: $color;
}
// Panels
// -------------------------
@mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {
border-color: $border;
& > .panel-heading {
color: $heading-text-color;
background-color: $heading-bg-color;
border-color: $heading-border;
+ .panel-collapse .panel-body {
border-top-color: $border;
}
}
& > .panel-footer {
+ .panel-collapse .panel-body {
border-bottom-color: $border;
}
}
}
// Alerts
// -------------------------
@mixin alert-variant($background, $border, $text-color) {
background-color: $background;
border-color: $border;
color: $text-color;
hr {
border-top-color: darken($border, 5%);
}
.alert-link {
color: darken($text-color, 10%);
}
}
// Tables
// -------------------------
@mixin table-row-variant($state, $background, $border) {
// Exact selectors below required to override `.table-striped` and prevent
// inheritance to nested tables.
.table > thead > tr,
.table > tbody > tr,
.table > tfoot > tr {
> td.#{$state},
> th.#{$state},
&.#{$state} > td,
&.#{$state} > th {
background-color: $background;
border-color: $border;
}
}
// Hover states for `.table-hover`
// Note: this is not available for cells or rows within `thead` or `tfoot`.
.table-hover > tbody > tr {
> td.#{$state}:hover,
> th.#{$state}:hover,
&.#{$state}:hover > td {
background-color: darken($background, 5%);
border-color: darken($border, 5%);
}
}
}
// Button variants
// -------------------------
// Easily pump out default styles, as well as :hover, :focus, :active,
// and disabled options for all buttons
@mixin button-variant($color, $background, $border) {
color: $color;
background-color: $background;
border-color: $border;
&:hover,
&:focus,
&:active,
&.active {
color: $color;
background-color: darken($background, 8%);
border-color: darken($border, 12%);
}
.open & { &.dropdown-toggle {
color: $color;
background-color: darken($background, 8%);
border-color: darken($border, 12%);
} }
&:active,
&.active {
background-image: none;
}
.open & { &.dropdown-toggle {
background-image: none;
} }
&.disabled,
&[disabled],
fieldset[disabled] & {
&,
&:hover,
&:focus,
&:active,
&.active {
background-color: $background;
border-color: $border
}
}
}
// Button sizes
// -------------------------
@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
padding: $padding-vertical $padding-horizontal;
font-size: $font-size;
line-height: $line-height;
border-radius: $border-radius;
}
// Pagination
// -------------------------
@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $border-radius) {
> li {
> a,
> span {
padding: $padding-vertical $padding-horizontal;
font-size: $font-size;
}
&:first-child {
> a,
> span {
@include border-left-radius($border-radius);
}
}
&:last-child {
> a,
> span {
@include border-right-radius($border-radius);
}
}
}
}
// Labels
// -------------------------
@mixin label-variant($color) {
background-color: $color;
&[href] {
&:hover,
&:focus {
background-color: darken($color, 10%);
}
}
}
// Navbar vertical align
// -------------------------
// Vertically center elements in the navbar.
// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.
@mixin navbar-vertical-align($element-height) {
margin-top: (($navbar-height - $element-height) / 2);
margin-bottom: (($navbar-height - $element-height) / 2);
}
// Progress bars
// -------------------------
@mixin progress-bar-variant($color) {
background-color: $color;
.progress-striped & {
@include gradient-striped($color);
}
}
// Responsive utilities
// -------------------------
// More easily include all the states for responsive-utilities.less.
// $parent hack because sass doesn't support tr& (without space)
@mixin responsive-visibility($parent) {
#{$parent} { display: block !important; }
tr#{$parent} { display: table-row !important; }
th#{$parent},
td#{$parent} { display: table-cell !important; }
}
@mixin responsive-invisibility($parent) {
#{$parent} { display: none !important; }
tr#{$parent} { display: none !important; }
th#{$parent},
td#{$parent} { display: none !important; }
}
// Grid System
// -----------
// Centered container element
@mixin container-fixed() {
margin-right: auto;
margin-left: auto;
padding-left: ($grid-gutter-width / 2);
padding-right: ($grid-gutter-width / 2);
@include clearfix();
}
// Creates a wrapper for a series of columns
@mixin make-row($gutter: $grid-gutter-width) {
margin-left: ($gutter / -2);
margin-right: ($gutter / -2);
@include clearfix();
}
// Generate the extra small columns
@mixin make-xs-column($columns, $gutter: $grid-gutter-width) {
position: relative;
float: left;
width: percentage(($columns / $grid-columns));
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
}
// Generate the small columns
@mixin make-sm-column($columns, $gutter: $grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
// Calculate width based on number of columns available
@media (min-width: $screen-sm) {
float: left;
width: percentage(($columns / $grid-columns));
}
}
// Generate the small column offsets
@mixin make-sm-column-offset($columns) {
@media (min-width: $screen-sm) {
margin-left: percentage(($columns / $grid-columns));
}
}
@mixin make-sm-column-push($columns) {
@media (min-width: $screen-sm) {
left: percentage(($columns / $grid-columns));
}
}
@mixin make-sm-column-pull($columns) {
@media (min-width: $screen-sm) {
right: percentage(($columns / $grid-columns));
}
}
// Generate the medium columns
@mixin make-md-column($columns, $gutter: $grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
// Calculate width based on number of columns available
@media (min-width: $screen-md) {
float: left;
width: percentage(($columns / $grid-columns));
}
}
// Generate the large column offsets
@mixin make-md-column-offset($columns) {
@media (min-width: $screen-md) {
margin-left: percentage(($columns / $grid-columns));
}
}
@mixin make-md-column-push($columns) {
@media (min-width: $screen-md) {
left: percentage(($columns / $grid-columns));
}
}
@mixin make-md-column-pull($columns) {
@media (min-width: $screen-md) {
right: percentage(($columns / $grid-columns));
}
}
// Generate the large columns
@mixin make-lg-column($columns, $gutter: $grid-gutter-width) {
position: relative;
// Prevent columns from collapsing when empty
min-height: 1px;
// Inner gutter via padding
padding-left: ($gutter / 2);
padding-right: ($gutter / 2);
// Calculate width based on number of columns available
@media (min-width: $screen-lg) {
float: left;
width: percentage(($columns / $grid-columns));
}
}
// Generate the large column offsets
@mixin make-lg-column-offset($columns) {
@media (min-width: $screen-lg) {
margin-left: percentage(($columns / $grid-columns));
}
}
@mixin make-lg-column-push($columns) {
@media (min-width: $screen-lg) {
left: percentage(($columns / $grid-columns));
}
}
@mixin make-lg-column-pull($columns) {
@media (min-width: $screen-lg) {
right: percentage(($columns / $grid-columns));
}
}
// Form validation states
//
// Used in forms.less to generate the form validation CSS for warnings, errors,
// and successes.
@mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {
// Color the label and help text
.help-block,
.control-label {
color: $text-color;
}
// Set the border and box shadow on specific inputs to match
.form-control {
border-color: $border-color;
@include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
&:focus {
border-color: darken($border-color, 10%);
$shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);
@include box-shadow($shadow);
}
}
// Set validation states also for addons
.input-group-addon {
color: $text-color;
border-color: $border-color;
background-color: $background-color;
}
}
// Form control focus state
//
// Generate a customized focus state and for any input with the specified color,
// which defaults to the `$input-focus-border` variable.
//
// We highly encourage you to not customize the default value, but instead use
// this to tweak colors on an as-needed basis. This aesthetic change is based on
// WebKit's default styles, but applicable to a wider range of browsers. Its
// usability and accessibility should be taken into account with any change.
//
// Example usage: change the default blue border and shadow to white for better
// contrast against a dark gray background.
@mixin form-control-focus($color: $input-border-focus) {
$color-rgba: rgba(red($color), green($color), blue($color), .6);
&:focus {
border-color: $color;
outline: 0;
@include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba);
}
}
// Form control sizing
//
// Relative text size, padding, and border-radii changes for form controls. For
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
// element gets special love because it's special, and that's a fact!
@mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
#{$parent} { height: $input-height;
padding: $padding-vertical $padding-horizontal;
font-size: $font-size;
line-height: $line-height;
border-radius: $border-radius; }
select#{$parent} {
height: $input-height;
line-height: $input-height;
}
textarea#{$parent} {
height: auto;
}
}

View File

@@ -0,0 +1,420 @@
// Font
@import url(http://fonts.googleapis.com/css?family=Ubuntu:300|Open+Sans&subset=latin,cyrillic-ext,greek-ext,greek,latin-ext,cyrillic,vietnamese);
$gray-darker: lighten(#000, 13.5%) ; //#222
$gray-dark: lighten(#000, 20%) ; //#333
$gray: lighten(#000, 33.5%) ; //#555
$gray-light: lighten(#000, 60%) ; //#999
$gray-lighter: lighten(#000, 93.5%) ; //#eee
// Brand colors
// -------------------------
//$brand-primary: #EF1778 ; //moved to admin-theme sass
$brand-success: #5cb85c ;
$brand-warning: #f0ad4e ;
$brand-danger: #d9534f ;
$brand-info: #5bc0de ;
// Scaffolding
// -------------------------
$body-bg: $main-color ;
$text-color: $gray ;
// Links
// -------------------------
// $link-color: $brand-primary ;
// $link-hover-color: darken($link-color, 15%) ;
// Typography
// -------------------------
$font-family-sans-serif: 'Open Sans', Helvetica, Arial, sans-serif ;
// $font-family-serif: Georgia, "Times New Roman", Times, serif ;
// $font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace ;
// $font-family-base: $font-family-sans-serif ;
$font-size-base: 12px ;
// $font-size-large: ceil($font-size-base * 1.25) ; ~18px
// $font-size-small: ceil($font-size-base * 0.85) ; ~12px
// $font-size-mini: ceil($font-size-base * 0.75) ; ~11px
$line-height-base: 1.428571429 ;
$line-height-computed: floor($font-size-base * $line-height-base) ;
$headings-font-family: 'Ubuntu', sans-serif ;
$headings-font-weight: 300 ;
// $headings-line-height: 1.1 ;
// Components
// -------------------------
// Based on 14px font-size and 1.428 line-height (~20px to start)
$padding-base-vertical: 4px ;
$padding-base-horizontal: 8px ;
// $padding-large-vertical: 14px ;
// $padding-large-horizontal: 16px ;
// $padding-small-vertical: 5px ;
// $padding-small-horizontal: 10px ;
$border-radius-base: 3px ;
// $border-radius-large: 6px ;
// $border-radius-small: 3px ;
// $component-active-bg: $brand-primary ;
// Tables
// -------------------------
// $table-bg: transparent ; overall background-color
// $table-bg-accent: #f9f9f9 ; for striping
$table-bg-hover: $bg-panel-heading-color ;
// $table-border-color: #ddd ; table and cell border
// Buttons
// -------------------------
$btn-default-color: $text-color ;
$btn-default-bg: white ;
$btn-default-border: #ccc ;
$btn-primary-color: $btn-default-color ;
$btn-primary-bg: white ;
$btn-primary-border: $brand-success ;
// $btn-success-color: $btn-default-color ;
// $btn-success-bg: $brand-success ;
// $btn-success-border: $btn-success-bg ;
// $btn-warning-color: $btn-default-color ;
// $btn-warning-bg: $brand-warning ;
// $btn-warning-border: $btn-warning-bg ;
// $btn-danger-color: $btn-default-color ;
// $btn-danger-bg: $brand-danger ;
// $btn-danger-border: $btn-danger-bg ;
// $btn-info-color: $btn-default-color ;
// $btn-info-bg: $brand-info ;
// $btn-info-border: $btn-info-bg ;
// Forms
// -------------------------
$input-bg: #FFF ;
// $input-bg-disabled: $gray-lighter ;
// $input-border: #ccc ;
// $input-border-radius: $border-radius-base ;
// $input-color-placeholder: $gray-light ;
$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) ;
// $input-height-large: (ceil($font-size-large * $line-height-base) + ($padding-large-vertical * 2) + 2) ;
// $input-height-small: (ceil($font-size-small * $line-height-base) + ($padding-small-vertical * 2) + 2) ;
// Dropdowns
// -------------------------
// $dropdown-bg: #fff ;
// $dropdown-border: rgba(0,0,0,.15) ;
// $dropdown-divider-top: #e5e5e5 ;
// $dropdown-divider-bottom: #fff ;
// $dropdown-link-active-color: #fff ;
// $dropdown-link-active-bg: $component-active-bg ;
// $dropdown-link-color: $gray-dark ;
// $dropdown-link-hover-color: #fff ;
// $dropdown-link-hover-bg: $dropdown-link-active-bg ;
// Grid system
// --------------------------------------------------
// Number of columns in the grid system
// $grid-columns: 12 ;
// Padding, to be divided by two and applied to the left and right of all columns
$grid-gutter-width: 10px ;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
// $zindex-dropdown: 1000 ;
// $zindex-popover: 1010 ;
// $zindex-tooltip: 1030 ;
// $zindex-navbar-fixed: 1030 ;
// $zindex-modal-background: 1040 ;
// $zindex-modal: 1050 ;
// Navbar
// -------------------------
// Basics of a navbar
$navbar-height: 35px ;
// $navbar-color: #777 ;
// $navbar-bg: #eee ;
// $navbar-padding: floor($grid-gutter-width / 2) ; ~15px
// Navbar links
// $navbar-link-color: #777 ;
// $navbar-link-hover-color: #333 ;
// $navbar-link-hover-bg: transparent ;
// $navbar-link-active-color: #555 ;
// $navbar-link-active-bg: darken($navbar-bg, 10%) ;
// $navbar-link-disabled-color: #ccc ;
// $navbar-link-disabled-bg: transparent ;
// Navbar brand label
// $navbar-brand-color: $navbar-link-color ;
// $navbar-brand-hover-color: darken($navbar-link-color, 10%) ;
// $navbar-brand-hover-bg: transparent ;
// Inverted navbar
// $navbar-inverse-color: $gray-light ;
// $navbar-inverse-bg: #222 ;
// Inverted navbar links
// $navbar-inverse-link-color: $gray-light ;
// $navbar-inverse-link-hover-color: #fff ;
// $navbar-inverse-link-hover-bg: transparent ;
// $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color ;
// $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) ;
// $navbar-inverse-link-disabled-color: #444 ;
// $navbar-inverse-link-disabled-bg: transparent ;
// Inverted navbar brand label
// $navbar-inverse-brand-color: $navbar-inverse-link-color ;
// $navbar-inverse-brand-hover-color: #fff ;
// $navbar-inverse-brand-hover-bg: transparent ;
// Inverted navbar search
// Normal navbar needs no special styles or vars
// $navbar-inverse-search-bg: lighten($navbar-inverse-bg, 25%) ;
// $navbar-inverse-search-bg-focus: #fff ;
// $navbar-inverse-search-border: $navbar-inverse-bg ;
// $navbar-inverse-search-placeholder-color: #ccc ;
// Pagination
// -------------------------
// $pagination-bg: #fff ;
// $pagination-border: #ddd ;
// $pagination-active-bg: #f5f5f5 ;
// Jumbotron
// -------------------------
// $jumbotron-bg: $gray-lighter ;
// $jumbotron-heading-color: inherit ;
// $jumbotron-lead-color: inherit ;
// Form states and alerts
// -------------------------
// $state-warning-text: #c09853 ;
// $state-warning-bg: #fcf8e3 ;
// $state-warning-border: darken(adjust-hue($state-warning-bg, -10), 3%) ;
// $state-danger-text: #b94a48 ;
// $state-danger-bg: #f2dede ;
// $state-danger-border: darken(adjust-hue($state-danger-bg, -10), 3%) ;
// $state-success-text: #468847 ;
// $state-success-bg: #dff0d8 ;
// $state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) ;
// $state-info-text: #3a87ad ;
// $state-info-bg: #d9edf7 ;
// $state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) ;
// Tooltips and popovers
// -------------------------
// $tooltip-color: #fff ;
// $tooltip-bg: rgba(0,0,0,.9) ;
// $tooltip-arrow-width: 5px ;
// $tooltip-arrow-color: $tooltip-bg ;
// $popover-bg: #fff ;
// $popover-arrow-width: 10px ;
// $popover-arrow-color: #fff ;
// $popover-title-bg: darken($popover-bg, 3%) ;
// Special enhancement for popovers
// $popover-arrow-outer-width: ($popover-arrow-width + 1) ;
// $popover-arrow-outer-color: rgba(0,0,0,.25) ;
// Labels
// -------------------------
// $label-success-bg: $brand-success ;
// $label-info-bg: $brand-info ;
// $label-warning-bg: $brand-warning ;
// $label-danger-bg: $brand-danger ;
// Modals
// -------------------------
// $modal-inner-padding: 20px ;
// $modal-title-padding: 15px ;
// $modal-title-line-height: $line-height-base ;
// Alerts
// -------------------------
// $alert-bg: $state-warning-bg ;
// $alert-text: $state-warning-text ;
// $alert-border: $state-warning-border ;
// $alert-border-radius: $border-radius-base ;
// $alert-success-bg: $state-success-bg ;
// $alert-success-text: $state-success-text ;
// $alert-success-border: $state-success-border ;
// $alert-danger-bg: $state-danger-bg ;
// $alert-danger-text: $state-danger-text ;
// $alert-danger-border: $state-danger-border ;
// $alert-info-bg: $state-info-bg ;
// $alert-info-text: $state-info-text ;
// $alert-info-border: $state-info-border ;
// Progress bars
// -------------------------
// $progress-bg: #f5f5f5 ;
// $progress-bar-bg: $brand-primary ;
// $progress-bar-success-bg: $brand-success ;
// $progress-bar-warning-bg: $brand-warning ;
// $progress-bar-danger-bg: $brand-danger ;
// $progress-bar-info-bg: $brand-info ;
// List group
// -------------------------
// $list-group-bg: #fff ;
// $list-group-border: #ddd ;
// $list-group-border-radius: $border-radius-base ;
// $list-group-hover-bg: #f5f5f5 ;
// $list-group-active-color: #fff ;
// $list-group-active-bg: $component-active-bg ;
// $list-group-active-border: $list-group-active-bg ;
// Panels
// -------------------------
// $panel-bg: #fff ;
// $panel-border: #ddd ;
// $panel-border-radius: $border-radius-base ;
// $panel-heading-bg: #f5f5f5 ;
// $panel-footer-bg: #f5f5f5 ;
// $panel-primary-text: #fff ;
// $panel-primary-border: $brand-primary ;
// $panel-primary-heading-bg: $brand-primary ;
// $panel-success-text: $state-success-text ;
// $panel-success-border: $state-success-border ;
// $panel-success-heading-bg: $state-success-bg ;
// $panel-warning-text: $state-warning-text ;
// $panel-warning-border: $state-warning-border ;
// $panel-warning-heading-bg: $state-warning-bg ;
// $panel-danger-text: $state-danger-text ;
// $panel-danger-border: $state-danger-border ;
// $panel-danger-heading-bg: $state-danger-bg ;
// $panel-info-text: $state-info-text ;
// $panel-info-border: $state-info-border ;
// $panel-info-heading-bg: $state-info-bg ;
// Thumbnails
// -------------------------
// $thumbnail-caption-color: $text-color ;
// $thumbnail-bg: $body-bg ;
// $thumbnail-border: #ddd ;
// $thumbnail-border-radius: $border-radius-base ;
// Wells
// -------------------------
$well-bg: darken($bg-content-color,5%) ;
// Miscellaneous
// -------------------------
// Hr border color
// $hr-border: $gray-lighter ;
// Horizontal forms & lists
// $component-offset-horizontal: 180px ;
// Media queries breakpoints
// --------------------------------------------------
// Tiny screen / phone
$screen-tiny: 480px ;
$screen-phone: $screen-tiny ;
// Small screen / tablet
$screen-small: 768px ;
$screen-tablet: $screen-small ;
// Medium screen / desktop
$screen-medium: 992px ;
$screen-desktop: $screen-medium ;
// So media queries don't overlap when required, provide a maximum
$screen-small-max: ($screen-medium - 1) ;
$screen-tablet-max: $screen-small-max ;
// Large screen / wide desktop
$screen-large: 1200px ;
$screen-large-desktop: $screen-large ;
// Container sizes
// --------------------------------------------------
// Small screen / tablet
$container-tablet: 728px ;
// Medium screen / desktop
$container-desktop: 940px ;
// Large screen / wide desktop
$container-large-desktop: 1170px ;
// Grid system
// --------------------------------------------------
// Point at which the navbar stops collapsing
// $grid-float-breakpoint: $screen-tablet ;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,318 @@
/*!
* Ladda
* http://lab.hakim.se/ladda
* MIT licensed
*
* Copyright (C) 2013 Hakim El Hattab, http://hakim.se
*/
// CONFIG
$spinnerSize: 32px
// MIXINS
@mixin prefix ( $property, $value )
-webkit-#{$property}: $value
-moz-#{$property}: $value
-ms-#{$property}: $value
-o-#{$property}: $value
#{$property}: $value
@mixin transition( $value )
-webkit-transition: $value !important // important to override bootstrap
-moz-transition: $value !important
-ms-transition: $value !important
-o-transition: $value !important
transition: $value !important
@mixin vendor-transform( $value )
@include prefix( transform, $value )
@mixin transform-origin( $value )
@include prefix( transform-origin, $value )
@mixin buttonColor( $name, $color )
&[data-color=#{$name}]
background: $color
&:hover
background-color: lighten( $color, 5% )
// BUTTON BASE
.ladda-button
position: relative
.ladda-spinner
position: absolute
z-index: 2
display: inline-block
width: $spinnerSize
height: $spinnerSize
top: 50%
margin-top: -$spinnerSize/2
opacity: 0
pointer-events: none
.ladda-label
position: relative
z-index: 3
.ladda-progress
position: absolute
width: 0
height: 100%
left: 0
top: 0
background: rgba( 0, 0, 0, 0.2 )
visibility: hidden
opacity: 0
@include transition( 0.1s linear all )
&[data-loading] .ladda-progress
opacity: 1
visibility: visible
// EASING
.ladda-button, .ladda-button .ladda-spinner, .ladda-button .ladda-label
@include transition( 0.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) all )
.ladda-button[data-style=zoom-in],
.ladda-button[data-style=zoom-in] .ladda-spinner,
.ladda-button[data-style=zoom-in] .ladda-label,
.ladda-button[data-style=zoom-out],
.ladda-button[data-style=zoom-out] .ladda-spinner,
.ladda-button[data-style=zoom-out] .ladda-label
@include transition( 0.3s ease all )
// EXPAND LEFT
.ladda-button[data-style=expand-right]
.ladda-spinner
right: 14px
&[data-size="s"] .ladda-spinner,
&[data-size="xs"] .ladda-spinner
right: 4px
&[data-loading]
padding-right: 56px
.ladda-spinner
opacity: 1
&[data-size="s"],
&[data-size="xs"]
padding-right: 40px
// EXPAND RIGHT
.ladda-button[data-style=expand-left]
.ladda-spinner
left: 14px
&[data-size="s"] .ladda-spinner,
&[data-size="xs"] .ladda-spinner
left: 4px
&[data-loading]
padding-left: 56px
.ladda-spinner
opacity: 1
&[data-size="s"],
&[data-size="xs"]
padding-left: 40px
// EXPAND UP
.ladda-button[data-style=expand-up]
overflow: hidden
.ladda-spinner
top: -$spinnerSize
left: 50%
margin-left: -$spinnerSize/2
&[data-loading]
padding-top: 54px
.ladda-spinner
opacity: 1
top: 14px
margin-top: 0
&[data-size="s"],
&[data-size="xs"]
padding-top: 32px
.ladda-spinner
top: 4px
// EXPAND DOWN
.ladda-button[data-style=expand-down]
overflow: hidden
.ladda-spinner
top: 62px
left: 50%
margin-left: -$spinnerSize/2
&[data-size="s"] .ladda-spinner,
&[data-size="xs"] .ladda-spinner
top: 40px
&[data-loading]
padding-bottom: 54px
.ladda-spinner
opacity: 1
&[data-size="s"]
&[data-size="xs"]
padding-bottom: 32px
// SLIDE LEFT
.ladda-button[data-style=slide-left]
overflow: hidden
.ladda-label
position: relative
.ladda-spinner
left: 100%
margin-left: -$spinnerSize/2
&[data-loading]
.ladda-label
opacity: 0
left: -100%
.ladda-spinner
opacity: 1
left: 50%
// SLIDE RIGHT
.ladda-button[data-style=slide-right]
overflow: hidden
.ladda-label
position: relative
.ladda-spinner
right: 100%
margin-left: -$spinnerSize/2
&[data-loading]
.ladda-label
opacity: 0
left: 100%
.ladda-spinner
opacity: 1
left: 50%
// SLIDE UP
.ladda-button[data-style=slide-up]
overflow: hidden
.ladda-label
position: relative
.ladda-spinner
left: 50%
margin-left: -$spinnerSize/2
margin-top: 1em
&[data-loading]
.ladda-label
opacity: 0
top: -1em
.ladda-spinner
opacity: 1
margin-top: -$spinnerSize/2
// SLIDE DOWN
.ladda-button[data-style=slide-down]
overflow: hidden
.ladda-label
position: relative
.ladda-spinner
left: 50%
margin-left: -$spinnerSize/2
margin-top: -2em
&[data-loading]
.ladda-label
opacity: 0
top: 1em
.ladda-spinner
opacity: 1
margin-top: -$spinnerSize/2
// ZOOM-OUT
.ladda-button[data-style=zoom-out]
overflow: hidden
.ladda-spinner
left: 50%
margin-left: -$spinnerSize/2
@include vendor-transform( scale( 2.5 ) )
.ladda-label
position: relative
display: inline-block
&[data-loading] .ladda-label
opacity: 0
@include vendor-transform( scale( 0.5 ) )
&[data-loading] .ladda-spinner
opacity: 1
@include vendor-transform( none )
// ZOOM-IN
.ladda-button[data-style=zoom-in]
overflow: hidden
.ladda-spinner
left: 50%
margin-left: -$spinnerSize/2
@include vendor-transform( scale( 0.2 ) )
.ladda-label
position: relative
display: inline-block
&[data-loading] .ladda-label
opacity: 0
@include vendor-transform( scale( 2.2 ) )
&[data-loading] .ladda-spinner
opacity: 1
@include vendor-transform( none )
// CONTRACT
.ladda-button[data-style=contract]
overflow: hidden
width: 100px
.ladda-spinner
left: 50%
margin-left: -16px
.ladda-button[data-style=contract][data-loading]
border-radius: 50%
width: 52px
.ladda-label
opacity: 0
.ladda-spinner
opacity: 1
// OVERLAY
.ladda-button[data-style=contract-overlay]
overflow: hidden
width: 100px
box-shadow: 0px 0px 0px 3000px rgba(0,0,0,0)
.ladda-spinner
left: 50%
margin-left: -16px
&[data-loading]
border-radius: 50%
width: 52px
/*outline: 10000px solid rgba( 0, 0, 0, 0.5 );*/
box-shadow: 0px 0px 0px 3000px rgba(0,0,0,0.8)
.ladda-label
opacity: 0
.ladda-spinner
opacity: 1
// THEME
$red: #ea8557
$purple: #9973C2
$mint: #16a085
$green: #2aca76
$blue: #53b5e6
.ladda-button
&[disabled],
&[data-loading]
border-color: rgba( 0, 0, 0, 0.07 )
cursor: default
background-color: #999
&:hover
cursor: default
background-color: #999
&[data-size=xs]
padding: 4px 8px
.ladda-label
font-size: 0.7em
&[data-size=s]
padding: 6px 10px
.ladda-label
font-size: 0.9em
&[data-size=l] .ladda-label
font-size: 1.2em
&[data-size=xl] .ladda-label
font-size: 1.5em

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,63 @@
@import compass
#nobootstrap
width: 100%
background-color: white
margin: -20px 0 0 -20px
padding: 20px
@include box-sizing(content-box)
*, *:before, *:after
@include box-sizing(content-box)
fieldset
h1, h2, h3, h4, h5, h6
margin: 0!important
padding: 0!important
background-color: transparent!important
border: none!important
text-transform: none!important
a
line-height: normal
.categorieList a
line-height: 20px
p
line-height: normal
legend
font-size: 13px
line-height: 20px
width: auto
label
font-size: 13px
display: inline
line-height: normal
.breadcrumb
padding: 0
li
line-height: normal
select, textarea, input
height: inherit
label, input, button, select, textarea
font-size: 12px
line-height: 13px
border-radius: none!important
input[type="radio"], input[type="checkbox"]
margin: 0
input[type="text"]
height: 14px!important
table.table
margin: 0
padding: 0
width: 100%
border-collapse: collapse
table.widthfull
width: 100%
.table thead th
vertical-align: top
.table th, .table td
line-height: normal
vertical-align: middle
border-top: none
[class^="icon-"], [class*=" icon-"]
width: auto
.toolbarBox [class^="process-icon-"], .toolbarBox [class*=" process-icon-"]
text-indent: -9000px
overflow: hidden

View File

@@ -0,0 +1,715 @@
#nobootstrap {
//old admin theme
h1,h2,h3,h4{font-family:Arial, Helvetica, sans-serif;line-height:1.4em;margin-bottom:.5em}
h2{font-size:1.7em}
h3{font-size:1.25em}
h4{font-size:1.05em}
h6{font-size:1em}
ul,ol{list-style:none;margin:0;padding:0}
ul li{color:#585A69}
label{color:#585a69}
fieldset{background-color:#EBEDF4;border:1px solid #CCCED7;color:#585A69;margin:0;padding:1em}
.Bloc{background:none repeat scroll 0 0 #EBEDF4;background-color:#EBEDF4;border:1px solid #CCCED7;font-size:1.1em;margin:0;padding:1em}
legend{background:#EBEDF4;border:1px solid #CCCED7;font-weight:700;margin:0;padding:.2em .5em;text-align:left}
input[type=text],input[type=password],input[type=file],textarea{background-color:#fff;border:1px solid #ccc}
input[type=text]:disabled,input[type=password]:disabled,input[type=file]:disabled,textarea:disabled{background-color:#dedede;border:1px solid #ccc;color:#444}
select{border:1px solid #ccc;font-size:12px}
select[disabled=disabled],input[disabled=disabled],textarea[disabled=disabled],option[disabled=disabled]{border:1px solid #CCC;color:#AAA}
.header_module{background:url(../img/header_module.png);border:solid 1px #CCC;color:#812143;height:20px;padding-left:.5em;padding-top:.8em}
.double_select select{height:160px;width:300px}
.double_select a{background-color:#fafafa;border:1px solid #aaa;color:#123456;display:block;margin:2px;padding:2px;text-align:center;text-decoration:none}
.icon{vertical-align:middle}
.icon-top{vertical-align:top}
.button{background:#E3E3E3 repeat scroll 0 0 transparent;border-color:#CCC #BBB #A0A0A0;border-left:1px solid #BBB;border-right:1px solid #BBB;border-style:solid;border-width:1px;color:#000;cursor:pointer;margin:0;outline:medium none;padding:3px 8px;text-align:center;vertical-align:middle;white-space:nowrap}
.button[disabled=disabled]{color:#8C8C8C}
.button.bt-icon{display:inline-block;margin-bottom:7px}
.button.bt-icon span{padding-left:5px}
input.button[disabled=disabled]:hover{background-color:#FFF6D3}
.button.export-csv span{background:transparent url(../img/export-csv.png) no-repeat scroll left top;padding:1px 0 1px 20px}
#top_container{margin:0;padding:0}
#header{background-color:#394049;height:90px}
#header #header_infos{height:60px;margin:0;padding:0;position:relative}
#header #header_shopname{float:left;margin:10px 15px 0 10px}
#header #employee_box{display:block;float:right}
#header #employee_infos{display:block;margin:5px 15px 0 10px}
#header #employee_infos a{color:#BABABA;margin-right:5px;text-transform:capitalize}
#header #employee_infos .employee_name{color:#fff;float:left;padding:0 20px 0 0}
#header .separator{background:transparent url(../img/separator.png) no-repeat scroll center top;height:19px;margin-right:5px;width:16px}
#header ul#employee_links{display:block;list-style:none;text-align:left}
#header ul#employee_links li{display:inline;line-height:20px}
#header #header_infos #header_shopname span{color:#fff;display:block;font-size:24px;height:28px;margin:0;overflow:hidden}
#header #header_infos a#header_logout{background:transparent url(../img/logout.png) no-repeat scroll left top;color:#bababa;padding-left:20px}
#header #header_infos #header_logout a span{color:#bababa}
#header #header_infos #header_foaccess{color:#bababa;text-decoration:none}
#header #header_infos #header_foaccess a{color:#bababa!important}
#header #header_search{background-color:#fff;border:2px solid #000;float:left;height:25px;margin-top:15px;position:relative}
#header #header_search #bo_query{background:none repeat scroll 0 0 transparent;border:none;float:left;font:13px Arial,sans-serif;padding:5px 0 5px 4px;width:160px}
#header #header_search #bo_search_type_chzn{border:none;float:left;font-size:13px;height:27px;margin:0 23px 0 0;padding:0 4px;vertical-align:middle;width:80px!important}
#header #header_search #bo_search_type_chzn.chzn-container-single .chzn-single{border:none;border-left:1px dotted #ccc}
#header #header_search #bo_search_submit{background:url(../img/icon-search2.png) no-repeat scroll center;border:none;border-left:1px solid #3079ED;color:transparent;cursor:pointer;display:block;float:left;font-weight:400;height:25px;margin:0;padding:0;position:absolute;right:0;text-indent:-9999em;width:27px}
#header #header_quick{display:block;float:right;margin-top:15px}
#header #header_quick #quick_select_chzn{font-size:13px;margin:0 10px 0 0;padding:0 0 4px}
#header #header_myaccount{background:url(../img/bg-lang.png) no-repeat;display:block;float:right;height:16px;margin:8px 1px 0 0;width:16px}
.path_bar{background-color:#E2EBEE;border:1px solid #999;display:none;font-family:Trebuchet,Arial,Helvetica,sans-serif;font-size:13px;margin-bottom:20px;padding:5px}
#notifs_icon_wrapper{float:left;margin:15px 10px 0;position:relative;width:95px}
.notifs{cursor:pointer;float:left;height:16px;margin:0;padding:5px;position:relative;width:18px}
#orders_notif{background:url(../img/notif_order.png) no-repeat center top}
#customers_notif{background:url(../img/notif_customer.png) no-repeat center top}
#customer_messages_notif{background:url(../img/notif_message.png) no-repeat center top}
#orders_notif.open_notifs,#customers_notif.open_notifs,#customer_messages_notif.open_notifs{background-color:#FFF;background-position:center bottom;border:1px solid #000;display:block;position:relative}
.number_wrapper{color:#FFF;display:none;font-size:13px;font-weight:700;padding:2px 5px;position:absolute;right:-8px;top:-10px;z-index:101}
.number_wrapper span{background-color:#F03D25;border-color:0 #DD3822 #DD3822;border-right:1px solid #DD3822;border-style:none solid solid;border-width:0;display:block;font-size:11px;padding:1px 3px}
.notifs_wrapper{background:none repeat scroll 0 0 #FFF;border:1px solid #000;border-top:none;color:#000;cursor:auto;display:none;left:-1px;padding:10px;position:absolute;top:25px;width:300px;z-index:9999}
.notifs_wrapper h3{border-bottom:1px solid #E5E5E5;font-size:14px;margin:0;padding-bottom:8px}
.notifs_wrapper ul{margin:0;padding:6px 0}
.notifs_wrapper ul li{font-size:12px;list-style:none;padding:5px 0;text-decoration:none}
#header_infos .notifs_wrapper a{color:#000;float:right;font-size:11px;font-weight:700}
.notifs_wrapper p{border-top:1px solid #E5E5E5;font-size:12px;margin:0;padding-top:8px}
#header #menu{background-color:#f8f8f8;border-bottom:1px solid #e5e5e5;float:left;line-height:normal;margin:0;padding:0;width:100%}
#header #menu li.maintab{border-left:1px solid #fff;border-right:1px solid #ccc;display:block;float:left;height:29px;list-style:none}
#header #menu li.submenu_size .title{color:#000;cursor:default;display:block;font-size:12px;font-weight:400;padding:8px 3px 4px 0}
#header #menu img{display:inline;height:16px;margin-top:-4px;padding:0 3px 0 6px;vertical-align:middle;width:16px}
#header #menu li.active,#header #menu li:hover{background-position:0 -38px;white-space:nowrap}
#header #menu li:hover,#header #menu li.active{background-color:#49B2FF}
#header #menu li.maintab:hover,#header #menu li.active{border-left:1px solid #49B2FF;border-right:1px solid #49B2FF}
#header #menu .withLeftBorder{background:transparent url(../img/separator_subnav.png) no-repeat 0 5px}
#header #menu .submenu{background:#f8f8f8;border:1px solid #d9d9d9;clear:both;margin:0;padding:0;z-index:9999}
#header #menu .submenu li{display:block;list-style:none;margin:0;min-width:150px;padding:0}
#header #menu .submenu li a{border-bottom:1px solid #ccc;border-top:1px solid #fff;color:#666;display:block;font-size:12px;padding:5px 15px 5px 10px}
#header #menu .submenu li.active a:hover{color:#666}
.separation{background-color:#ccc;border-bottom:1px solid #fff;height:1px;margin:10px 0;width:100%}
.table_grid{width:100%}
.table{background-color:#fff;border:1px solid #ccc;padding:0;border-radius:3px}
.filter{background-color:#f1f9ff}
.table th a{text-decoration:underline}
.table a:hover{text-decoration:none}
.table tr th{background-color:#F1F1F1;color:#333;font-size:13px;padding:4px 6px;text-align:left}
.table tr th.right{text-align:center}
.table tr td{border-bottom:1px solid #ccc;color:#333;font-size:12px;padding:4px 4px 4px 6px}
.table tr.row_hover.filter:hover td{background:#F1F9FF}
.table tr td.row_hover:hover table tr td{background:none}
.table tr.action_details td{background:#FAFAFA}
.table tr.alt_row.action_details td{background:#E8E8E8}
.table tr td.empty{background:#FFF!important;border-bottom:none}
.table tr td.first{border-left:1px solid #DEDEDE}
.table tr td.last{border-right:1px solid #DEDEDE}
.table tr.small td{height:15px}
.table tr.last td{border-bottom:none}
.col-left{padding-right:10px;vertical-align:top}
.col-right{padding-bottom:5px}
#product-tab-content-wait{background:url(../img/bg_loaderSpace.png);display:block;min-height:420px;position:absolute;width:96.5%}
div#loading{background:url(../img/ajax-loader.gif);display:block;height:128px;margin:100px auto;text-indent:-9999px;width:128px}
td.col-left label{display:block;text-align:right;width:100%}
.alt_row{background-color:#f8f8f8}
.cat_bar{background-color:#F4E8CD;border:1px solid #999;font-family:Trebuchet,Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;margin-bottom:20px;padding:5px}
.table tr#total_products,.table tr#total_discounts,.table tr#total_wrapping,.table tr#total_shipping{height:35px}
.table tr#total_order{height:50px}
a.action_module{color:#268CCD;text-decoration:underline}
a.header_module_toggle{color:#268CCD;display:block;font-weight:700}
.nbr_module{color:#268CCD;float:right;font-size:12px;font-style:italic;margin-right:10px}
.autoupgradeSteps div{line-height:30px}
.upgradestep{margin-right:5px;padding-left:10px;padding-right:5px}
#upgradeNow.stepok,.autoupgradeSteps a.stepok{background-image:url(../img/admin/enabled.gif);background-position:left center;background-repeat:no-repeat;padding-left:15px}
.processing{overflow:auto}
.ui-accordion-header{background-color:#ccc;color:#000}
.table td span.color_field{color:#fff;font-size:11px;padding:2px 5px;text-transform:uppercase}
.multishop_toolbar{background-color:#F8F8F8;border:1px solid #CCC;font-size:18px;margin-bottom:10px;padding:10px}
.multishop_toolbar span.text_multishop{padding-right:5px;vertical-align:7px}
.multishop_toolbar select.shopList{width:300px}
.multishop_toolbar a.chzn-single{background:url(../img/icon-multishop.png) no-repeat 5px 5px;font-weight:700;padding:1px 2px 2px 25px}
.multishop_toolbar .chzn-container .chzn-results .first{background-color:#408BD5;color:#fff;font-weight:700}
.multishop_toolbar .chzn-container .chzn-results .group{background-color:#C6DEFC;font-style:italic;font-weight:700;padding-left:15px}
.multishop_toolbar .chzn-container .chzn-results .shop{background-color:#EAF2FC;padding-left:30px}
.toolbarBox .process-icon-delete{background-image:url(../img/process-icon-delete.png)}
.toolbarBox .process-icon-duplicate{background-image:url(../img/process-icon-duplicate.png)}
.toolbarBox .process-icon-stats{background-image:url(../img/process-icon-stats.png)}
.toolbarBox .process-icon-save-and-stay{background-image:url(../img/process-icon-save-and-stay.png)}
.toolbarBox .process-icon-edit{background-image:url(../img/process-icon-edit.png)}
.toolbarBox .process-icon-back{background-image:url(../img/process-icon-back.png)}
.toolbarBox .process-icon-refresh-index{background-image:url(../img/process-icon-refresh-index.png)}
.toolbarBox .process-icon-refresh-cache{background-image:url(../img/process-icon-refresh-cache.png)}
.toolbarBox .process-icon-save-calendar{background-image:url(../img/process-icon-save-calendar.png)}
.toolbarBox .process-icon-new-module{background-image:url(../img/process-icon-new-module.png)}
.toolbarBox .process-icon-new-url{background-image:url(../img/process-icon-new-url.png)}
.toolbarBox .process-icon-new-module-addon{background-image:url(../img/process-icon-new-module-addon.png)}
.toolbarBox .process-icon-new.add_product{background-image:url(../img/process-icon-addProduct.png)}
.toolbarBox .process-icon-partialRefund{background-image:url(../img/process-icon-partial-refund.png)}
.toolbarBox .process-icon-standardRefund{background-image:url(../img/process-icon-standard-refund.png)}
.toolbarBox .process-icon-help{background-image:url(../img/process-icon-help.png)}
.toolbarBox .process-icon-help-new{background-image:url(../img/process-icon-help-new.png)}
.toolbarBox .process-icon-modules-list{background-image:url(../img/process-icon-modules-list.png)}
.toolbarReduced{margin-right:221px}
#modules_list_button{background-image:url(../img/modules_list_button.png);border:none;cursor:pointer;font-size:1.6em;height:63px;padding-left:45px;position:absolute;right:0;top:0;width:211px}
.toolbarBox #modules_list_container{background:none repeat scroll 0 0 #FFF;border:solid 1px #CCC;display:block;float:right;height:auto;position:absolute;right:13px;top:63px;width:500px;z-index:100}
.toolbarBox #modules_list_container #modules_list_container_content{max-height:500px;overflow:auto}
.toolbarBox #modules_list_container #modules_list_container_tab{height:auto;margin-top:10px;width:auto}
.toolbarBox #modules_list_container #modules_list_container_tab table{border-spacing:0;width:100%}
.toolbarBox #modules_list_container #modules_list_container_tab tr{height:auto}
.toolbarBox #modules_list_container #modules_list_container_tab tr.rowalt{background-color:#F0F7FF}
.toolbarBox #modules_list_container #modules_list_container_tab #tab_module_switch{margin-bottom:10px}
.toolbarBox #modules_list_container #modules_list_loader{margin-top:10px}
.toolbarBox #modules_list_container .nav-tabs-modules:after{clear:both}
.toolbarBox #modules_list_container .nav-tabs-modules > li{height:19px}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a{border:1px solid #ddd;border-bottom:none;line-height:14px;margin-right:2px;padding:8px 12px 7px}
.toolbarBox #modules_list_container .nav-tabs-modules > li > a:hover{background-color:#fff;border-color:silver}
.toolbarBox #modules_list_container .nav-tabs-modules > .active > a,.toolbarBox #modules_list_container .nav-tabs-modules > .active > a:hover{background-color:#F8F8F8;border:1px solid #ddd;border-bottom-color:transparent;color:#555;cursor:default}
div.fix-toolbar{border-bottom:1px solid #E0E0E0;margin:auto;position:fixed;top:0;z-index:1}
#content .qq-upload-button{background:#E3E3E3;border-color:#CCC #BBB #A0A0A0;border-left:1px solid #BBB;border-right:1px solid #BBB;border-style:solid;border-width:1px;color:#000;width:180px}
.file_upload_label{margin-top:5px}
.leadin .bloc-leadin{padding:10px 3px}
#productBox{float:left;position:relative;width:100%}
form#product_form,form#access_form,form#cart_rule_form,#modules_tab_list{background-color:#ebedf4;border:1px solid #ccced7;margin-left:140px;min-height:404px;padding:5px 10px 10px}
#modules_tab_list{min-height:inherit}
#content form.adminstockmanagement{margin-left:0}
form#product_form h3{font-size:14px;font-weight:400}
form#product_form h4{font-size:18px;font-weight:400}
.tab-row .tab{background:#EFEFEF;width:100px}
.productTabs{background-color:#fafafa;border:1px solid #ccced7;border-right:none;float:left;width:140px}
.productTabs ul{margin:0;padding:0}
.productTabs ul li.tab-row a{border-right:1px solid #CCCED7;border-top:1px solid #CCCED7;color:#666;display:block;font-weight:400;padding:7px 10px}
.productTabs ul li.tab-row a.selected{background-color:#EBEDF4;border-right:none;color:#000;font-weight:700}
#product_list{margin-bottom:.5em}
.filter-module{background-color:#ebedf4;border:1px solid #c2c4d9;display:block;min-height:35px;padding:10px}
.filter-stock{background-color:#ebedf4;border:1px solid #c2c4d9;display:block;margin-bottom:15px;min-height:25px;padding:10px}
.filter-stock-extended{background-color:#ebedf4;border:1px solid #c2c4d9;display:block;margin-bottom:15px;min-height:65px;padding:10px}
#addons_login_div{background:#EBEDF4 url(../img/lock.png) no-repeat scroll left 5px}
#addons_login_div p{color:#585A69;float:left;font-size:16px;line-height:24px;margin:0;padding-left:25px}
#addons_login_div input{float:left;margin-right:10px}
#addons_login_div input#addons_login_button{margin-right:0}
.sidebar{display:inline;float:left;position:relative;width:220px}
.sidebar h3{background-color:#ebedf4;display:block;font-weight:700;padding:5px}
.sidebar.navigation h3{margin:0}
.sidebar .subHeadline{float:right;font-weight:700;margin-right:5px;margin-top:-28px}
.sidebar ul.categorieList li{border-top:1px solid #ccc;line-height:20px;position:relative}
.sidebar ul.categorieList li a{color:#3a6ea7;display:block;padding-left:5px}
.sidebar ul.categorieList li a:hover{background-color:#EBEDF4}
.sidebar ul.categorieList li div.categorieWidth{overflow:hidden;text-indent:5px}
.sidebar ul.categorieList li div.count{position:absolute;right:5px;top:0}
.blocEngine .rowForm{display:block;float:left;margin:0;padding:5px 0}
.blocEngine .rowForm label{font-weight:400}
.blocEngine .rowForm label,.blocEngine .rowForm select{float:left;text-align:left;width:220px}
.blocEngine p{display:block;float:left;margin-top:10px}
#statsContainer{margin-left:220px;padding:0 0 0 20px}
#statsContainer #calendar,#referrersContainer #calendar{background-color:#EEE;border-top:1px solid #CCC;display:block;margin:10px 0;min-height:25px;padding:5px}
#statsContainer #calendar p span,#referrersContainer #calendar p span{display:block;float:left;padding:3px}
#statsContainer .blocStats{background-color:#EBEDF4;border:1px solid #C2C4D9;display:block;padding:10px;position:relative}
#statsContainer .blocStats h2{font-size:1.4em;font-weight:400;margin:0}
#statsContainer .blocStats h2.icon-statsproduct span,#statsContainer .blocStats h2.icon-statsbestsuppliers span,#statsContainer .blocStats h2.icon-statsforecast span,#statsContainer .blocStats h2.icon-pagesnotfound span,#statsContainer .blocStats h2.icon-sekeywords span,#statsContainer .blocStats h2.icon-guide span,#statsContainer .blocStats h2.icon-statsequipment span,#statsContainer .blocStats h2.icon-statsvisits span,#statsContainer .blocStats h2.icon-statssales span,#statsContainer .blocStats h2.icon-statsregistrations span,#statsContainer .blocStats h2.icon-statspersonalinfos span,#statsContainer .blocStats h2.icon-statscatalog span,#statsContainer .blocStats h2.icon-basket-delete span,#statsContainer .blocStats h2.icon-statsbestcustomers span,#statsContainer .blocStats h2.icon-statsorigin span,#statsContainer .blocStats h2.icon-statsbestproducts span,#statsContainer .blocStats h2.icon-statsbestvouchers span,#statsContainer .blocStats h2.icon-statsbestcategories span,#statsContainer .blocStats h2.icon-statscarrier span,#statsContainer .blocStats h2.icon-statssearch span,#statsContainer .blocStats h2.icon-statsstock span,#statsContainer .blocStats h2.icon-conversion span,#statsContainer .blocStats h2.icon-payment span,#statsContainer .blocStats h2.icon-category span,#statsContainer .blocStats h2.icon-currency span,#statsContainer .blocStats h2.icon-language span,#statsContainer .blocStats h2.icon-attribute span{background:transparent url(../img/icon-sprites-title.png) no-repeat scroll left top;height:16px;margin-right:3px;padding-right:18px;width:16px}
#statsContainer .blocStats h2.icon-statsproduct span{background-position:2px 2px}
#statsContainer .blocStats h2.icon-statsforecast span{background-position:-18px 2px}
#statsContainer .blocStats h2.icon-guide span{background-position:-36px 2px}
#statsContainer .blocStats h2.icon-statsbestsuppliers span{background-position:-54px 2px}
#statsContainer .blocStats h2.icon-pagesnotfound span{background-position:-72px 2px}
#statsContainer .blocStats h2.icon-sekeywords span{background-position:-90px 2px}
#statsContainer .blocStats h2.icon-statsequipment span{background-position:-108px 2px}
#statsContainer .blocStats h2.icon-statsvisits span{background-position:-126px 2px}
#statsContainer .blocStats h2.icon-statsregistrations span{background-position:-147px 2px}
#statsContainer .blocStats h2.icon-statssales span{background-position:0 -16px}
#statsContainer .blocStats h2.icon-statspersonalinfos span{background-position:-18px -16px}
#statsContainer .blocStats h2.icon-basket-delete span{background-position:-54px -16px}
#statsContainer .blocStats h2.icon-statsbestcustomers span{background-position:-72px -16px}
#statsContainer .blocStats h2.icon-statsorigin span{background-position:-90px -16px}
#statsContainer .blocStats h2.icon-statsbestproducts span{background-position:-108px -16px}
#statsContainer .blocStats h2.icon-statsbestvouchers span{background-position:-126px -16px}
#statsContainer .blocStats h2.icon-statsbestcategories span{background-position:-147px -17px}
#statsContainer .blocStats h2.icon-statscarrier span{background-position:2px -36px}
#statsContainer .blocStats h2.icon-statssearch span{background-position:-18px -36px}
#statsContainer .blocStats h2.icon-statsstock span{background-position:-36px -36px}
#statsContainer .blocStats h2.icon-conversion span{background-position:-54px -36px}
#statsContainer .blocStats h2.icon-payment span{background-position:-72px -36px}
#statsContainer .blocStats h2.icon-currency span{background-position:-90px -36px}
#statsContainer .blocStats h2.icon-language span{background-position:-106px -36px}
#statsContainer .blocStats h2.icon-attribute span{background-position:-126px -36px}
#statsContainer .blocStats form{position:absolute;right:5px;top:10px}
#statsContainer .blocStats form.checkup{left:0;position:relative;top:0}
#statsContainer .totalStats{font-size:16px;font-weight:700}
#statsContainer .blocStats .blocConversion{display:inline-table;min-height:80px}
#moduleContainer{margin-left:220px;padding:13px 0 0 20px}
#moduleContainer .table tr td{border-bottom:none;border-top:1px solid #ccc;font-size:12px;padding:5px 7px 0;vertical-align:top}
#moduleContainer .moduleDesc{font-size:12px;margin-bottom:10px;position:relative}
#moduleContainer .moduleDesc p.desc{clear:both;color:#666;display:block;font-family:Georgia;font-size:12px;font-style:italic}
#moduleContainer .setup{background-color:#6db300;color:#fff;display:inline-block;font-size:10px;font-weight:700;left:10px;padding:0 4px;position:relative;text-transform:uppercase}
#moduleContainer .setup.non-install{background-color:#ffedb1;border:solid 1px #ec7000;color:#ec7000}
#moduleContainer .setup.off{background-color:#ccc;color:#666}
#moduleContainer .button.uninstalled,#moduleContainer .button.installed{clear:both;display:inline-block;float:right;font-size:12px;margin-top:15px}
#modules_list_container_tab #modules_list_container_content{height:370px;list-style-type:none;margin:0;overflow:auto;padding:0;white-space:nowrap}
#modules_list_container_tab #modules_list_container_content li{display:inline-block}
#modules_list_container_tab table tr td{border-bottom:none;border-top:1px solid #ccc;font-size:12px;padding:3px}
#modules_list_container_tab .moduleDesc h3{color:#3A6EA7;font-size:1.1em;margin:0;text-align:left;white-space:normal}
#modules_list_container_tab .moduleDesc p.desc{color:#666;font-family:Georgia;font-size:12px;font-style:italic;text-align:left;white-space:normal}
#modules_list_container_tab .setup{background-color:#6db300;color:#fff;display:inline-block;font-size:10px;font-weight:700;padding:0 10px;text-transform:uppercase}
#modules_list_container_tab .setup.off{background-color:#ccc;color:#666}
.default_modules_list_display_type #modules_list_container_content li table{border:solid 1px #ccc;height:105px;margin-bottom:10px;width:100%}
#modules_list_container_tab ul li{height:105px}
.blocLiveEdit{background-color:#EBEDF4;border:1px solid #C2C4D9;clear:right;display:block;float:right;width:250px}
.blocLiveEdit h2{background:transparent url(../img/live_edit.png) no-repeat scroll 10px 10px;height:40px;line-height:50px;margin:0;padding:0 10px;text-indent:40px}
.blocLiveEdit p{padding:0 10px}
.blocLiveEdit a.button{display:inline-block;float:left;margin:10px}
#modulePosition{clear:left;float:left;width:100%}
#modulePosition form{margin-right:270px}
#modulePosition .lab_modules_positions h3{color:#3A6EA7;float:left;margin:0 0 0 10px}
#modulePosition .lab_modules_positions p{clear:both;font-family:Georgia;font-size:12px;font-style:italic;padding-left:40px}
#modulePosition .lab_modules_positions span{float:left;font-size:12px;padding-left:5px;padding-top:4px}
label.text{padding:1px 12px 0 0}
label.radioCheck{float:none;font-weight:400;margin:0 1em 0 .25em;padding:0}
ul.listForm li{padding-bottom:3px}
#footer{clear:both;color:#666;font-size:.9em;height:40px}
#footer .footerLeft{float:left;margin-left:10px}
#footer .footerRight{float:right;margin-right:10px}
.pageTitleHome{font-size:1.6em;font-weight:400;margin:0;padding:10px 0}
.pageTitleHome h3{font-weight:400;margin:0}
#dashboard{background-color:#EBEDF4;border:1px solid #C2C4D9;display:block;min-width:1200px;padding:10px;position:relative}
#dashboard h2{font-size:1.4em;font-weight:400;margin:0 0 15px}
#iframe{display:block;min-height:180px;position:relative}
#adminpresentation #video{float:left;min-height:150px;padding-right:15px}
#adminpresentation #video a{display:block;height:128px;padding:6px;position:relative;width:220px}
#adminpresentation #video a span{background:transparent url(../img/play.png) no-repeat scroll left top;border:6px solid #fff;display:block;height:128px;left:0;position:absolute;top:0;width:220px;z-index:1}
#adminpresentation #video a span:hover{background-position:left bottom;border:6px solid #C2C4D9}
#adminpresentation #video-content{min-height:150px;padding-left:10px}
#adminpresentation #video-content p{color:#585A69;font-size:20px;line-height:26px}
.view-modules{float:right;margin:10px 0}
.view-modules li.normal-view-disabled{background:0 repeat scroll 0 0 transparent;border-right:1px solid #ccc;color:#999}
.view-modules li.favorites-view-disabled{background:0 repeat scroll 0 0 transparent;border-left:1px solid #fff;color:#999}
.view-modules li.normal-view-disabled:hover,.view-modules li.favorites-view-disabled:hover{border-color:#CCC #BBB #A0A0A0}
.view-modules li.favorites-view{border-left:1px solid #fff}
.view-modules li.normal-view{border-right:1px solid #ccc}
#changedFiles ul{list-style-type:square;padding-left:40px}
.tooltip .tooltip_content{background:#000;color:#FFF;display:none;margin-top:5px;padding:5px;position:absolute;text-align:left;white-space:nowrap;z-index:100}
.tooltip .tooltip_label{cursor:pointer}
.tooltip .title{display:block;font-weight:700;padding-bottom:5px;text-align:center}
.tooltip:hover .tooltip_content{display:block}
.tooltip_button{background:linear-gradient(top,#ddd,#aaa);border:1px solid silver;color:#666;padding:0 3px}
#carrier_form label{padding-top:0}
#carrier_form input{margin-top:3px}
#large_scene_image{border:1px solid transparent;clear:both}
#moduleContainer .table tr:hover{background-color:#FFF1B5}
#moduleContainer .button.updated{display:inline-block;font-size:12px;margin-top:15px}
#list-action-button{width:175px}
#list-action-button li{display:inline;float:left;margin-left:10px}
#moduleContainer .moduleName{color:#3A6EA7;font-size:12px;font-weight:700}
#moduleContainer .moduleFavDesc{color:#666;font-family:Georgia;font-style:italic}
.button:hover,.button:active,#content .qq-upload-button:hover{border:1px solid #939393}
#header #employee_infos a:hover,#header #header_infos a#header_logout:hover,#header #header_infos a#header_foaccess:hover,#header #menu li.active a.title,#header #menu li:hover a.title,#header #menu .submenu li.active a{color:#fff}
.notifs_wrapper p.no_notifs,.productTabs ul li.tab-row,#modules_list_container_tab table tr td tr td,.default_modules_list_display_type #modules_list_container_content li table tr td{border:none}
#header #menu .submenu li a:hover,.blocEngine{background-color:#eee}
.table .filter,#statsContainer #calendar p,#referrersContainer #calendar p{margin:2px}
.table tr.row_hover:hover td,.selected-line{background:#fff1b5}
#tabPane1 td.col-left,#product-tab-content-3-Associations .Association td.col-left,.margin-form select.chosen{width:200px}
.path_bar a,.cat_bar a{font-weight:700}
a.module_toggle_all,#footer .footer_link,#footer .footer_link:hover{color:#268CCD}
#upgradeNow,.button-autoupgrade{border-color:#FFF6D3 #DFD5AF #DFD5AF #FFF6D3;border-right:1px solid #DFD5AF;border-style:solid;border-width:1px;color:#268CCD;font-size:medium;padding:5px}
.toolbar-placeholder,.tooltip{position:relative}
.toolbarBox .process-icon-preview,.toolbarBox .process-icon-save-and-preview{background-image:url(../img/process-icon-preview.png)}
.toolbarBox .process-icon-cancel,.toolbarBox .toolbar-cancel,.toolbarBox .process-icon-cancel{background-image:url(../img/process-icon-cancel.png)}
.toolbarBox .process-icon-new,.toolbarBox .toolbar-new,.toolbarBox .process-icon-newAttributes,.toolbarBox .toolbar-new,.toolbarBox .process-icon-new,.toolbarBox .process-icon-newAttributes{background-image:url(../img/process-icon-new.png)}
.toolbarBox .process-icon-save,.toolbarBox .process-icon-save,.toolbarBox .process-icon-save-settings{background-image:url(../img/process-icon-save.png)}
.toolbarBox .process-icon-import,.toolbarBox .process-icon-export,.toolbarBox .process-icon-export-stock-state-quantities-csv,.toolbarBox .process-icon-export-csv-orders,.toolbarBox .process-icon-export-stock-mvt-csv{background-image:url(../img/process-icon-export-csv.png)}
.toolbarBox .process-icon-export-all,.toolbarBox .process-icon-export-stock-state-prices-csv,.toolbarBox .process-icon-export-csv-details{background-image:url(../img/process-icon-export-csv-details.png)}
.productTabs ul li.tab-row:first-child a,.sidebar ul.categorieList li:first-child{border-top:none}
.product-tab-content h4.tab,.sidebar .categorieStatus{display:none}
.filter-module #filternameForm,.filter-stock #stock_instant_state,.filter-stock-extended #stock_cover,.filter-stock-extended #supply_orders{float:left;margin-right:30px}
.filter-module label,.filter-stock label,.filter-stock-extended label{width:auto}
.filter-module .select-filter,.filter-stock .select-filter,.filter-stock-extended .select-filter,#statsContainer #calendar form,#referrersContainer #calendar form,#statsContainer #calendar input,#statsContainer #calendar p,#referrersContainer #calendar input,#referrersContainer #calendar p,#iframe #video-content,.view-modules li{float:left}
.filter-module .button-filter,.filter-stock .button-filter,.filter-stock-extended .button-filter,#addons_login_div form#addons_login_form,#modules_list_container_tab .row-actions-module{float:right}
#statsContainer #calendar input.submitDateDay,#referrersContainer #calendar input.submitDateDay,#statsContainer #calendar input.submitDateDayPrev,#referrersContainer #calendar input.submitDateDayPrev{border-right:none}
#statsContainer #calendar input.submitDateYear,#referrersContainer #calendar input.submitDateYear,#statsContainer #calendar input.submitDateYearPrev,#referrersContainer #calendar input.submitDateYearPrev{border-left:none;margin-right:10px}
#statsContainer .blocStats h2.icon-statscatalog span,#statsContainer .blocStats h2.icon-category span{background-position:-36px -16px}
#moduleContainer .table tr th,#modules_list_container_tab table tr th,#modulePosition .table tr th{height:40px}
#moduleContainer .table tr:first-child,#modules_list_container_tab table tr:first-child{border-top:1px solid #ccc}
#moduleContainer .table tr td .imgm,#modules_list_container_tab .imgm,#modules_list_container_tab .imgm{width:32px}
#moduleContainer .moduleDesc h3,#moduleContainer .moduleGridDesc h3,#modules_list_container_tab .moduleGridDesc h3{color:#3A6EA7;margin:0}
#moduleContainer .moduleDesc .metadata,#modules_list_container_tab .moduleDesc .metadata{display:block;float:left;margin:5px 0}
#moduleContainer .moduleDesc .metadata dl,#modules_list_container_tab .moduleDesc .metadata dl{float:left;margin:0;padding-right:10px}
#moduleContainer .moduleDesc .metadata dl dt,.moduleDesc .metadata dl dd,#modules_list_container_tab .moduleDesc .metadata dl dt,.moduleDesc .metadata dl dd{float:left;margin:0;padding:0}
#moduleContainer .moduleDesc .metadata dl dd,#modules_list_container_tab .moduleDesc .metadata dl dd{padding-right:10px}
#moduleContainer .moduleDesc .metadata dl dt,#modules_list_container_tab .moduleDesc .metadata dl dt{font-weight:700;padding-right:5px}
#moduleContainer .setup.must-have,#modules_list_container_tab .setup.non-install,#modules_list_container_tab .setup.must-have{background-color:#ec7000}
#moduleContainer .row-actions-module span,#modules_list_container_tab .row-actions-module span,.view-modules li img{padding-right:5px}
#moduleContainer .row-actions-module span a,#modules_list_container_tab .moduleDesc,#modules_list_container_tab .row-actions-module span a,select#show_modules{font-size:12px}
#moduleContainer ul.listing-grid-module,#modules_list_container_tab ul.listing-grid-module{margin:0;padding:0;position:relative}
#moduleContainer ul.listing-grid-module li,#modules_list_container_tab ul.listing-grid-module li{border:1px solid #ccc;float:left;margin:10px;min-height:30px;padding:5px;width:400px}
#moduleContainer .moduleGridDesc,#modules_list_container_tab .moduleGridDesc{display:block;height:30px;position:relative}
#moduleContainer ul.listing-grid-module li select,#modules_list_container_tab ul.listing-grid-module li select{position:absolute;right:0;top:0}
//root css
body{color:#000;font-size:12px;margin:0;padding:0}
a img{border:0}
a{color:#000;outline:0;text-decoration:none}
a:hover{color:#222;text-decoration:none}
a.link,a.link:hover{color:#999}
p{color:#585A69;margin:.5em 0}
hr{border:none;margin-bottom:10px;margin-top:10px;padding:0}
.blue{color:#268CCD}
.red{color:red}
form p{margin:.5em 0 0;padding:0 0 .5em}
form sup{color:#C00;font-weight:700;vertical-align:text-top}
form .simulate-disable-input{background-color:#ddd;border:1px solid #E0D0B1;color:#666;display:inline-block;font-size:12px;min-width:127px;padding:3px}
.block-mail{margin:0 0 20px}
.mail-form{color:#7F7F7F;font-size:.85em;margin:0 0 0 220px;width:auto}
.label-subject{margin:0 0 10px;padding:0;text-align:left}
.mails_field{background:none repeat scroll 0 0 #FFF;border:1px solid #CCC;font-size:1.1em;margin:20px 0;padding:0;position:relative}
.mails_field h3{background:0 repeat-x scroll left top #ECECEC;color:#333;display:block;font-size:1em;margin:0;padding:10px 5px;text-align:left}
.margin-form{color:#7F7F7F;font-size:.85em;padding:0 0 1em 260px}
.margin-form .normal-text{color:#000;display:block;font-size:1.2em;padding-top:.2em}
fieldset.width1 .margin-form{margin:0 0 1em 130px}
fieldset img{padding:0 4px 0 0;vertical-align:bottom}
label{float:left;font-weight:700;padding:.2em .5em 0 0;text-align:right;width:250px}
#preview_import label{float:left;font-weight:700;padding:.2em 0 0;text-align:left;width:320px}
label.t{clear:none;float:none;font-size:12px;font-weight:400;margin:0;padding:0 5px}
label.child{clear:none;float:none;font-size:12px;font-weight:400;margin:0;padding:0}
label.std{display:block;float:none;font-size:12px;font-weight:700;margin:0;text-align:right;width:170px}
form div.std{margin-top:-2em}
fieldset.width1 label{width:110px}
input,textarea,option{color:#000;font-size:12px;margin:0;padding:0}
input[type=text],input[type=password],input[type=file],textarea{padding:2px 4px}
input[type=radio],input[type=checkbox]{background-color:transparent}
input:focus,textarea:focus{border:1px solid #3293D6}
select optgroup{background:#fff;color:#000;padding:2px}
select optgroup option{color:#000;padding:0 9px}
.lab_modules_positions{cursor:pointer;display:block;float:none;font-weight:400;padding:0;text-align:left;width:500px}
.lab_modules{cursor:pointer;display:block;float:none;font-weight:400;padding-left:10px;text-align:left;width:500px}
.lab_modules_positions img{float:left;height:32px;width:32px}
#container{margin:0 auto 2em;text-align:left}
#main{background:#fff;clear:left;min-height:600px}
#content{padding:1.25em 1.25em .5em;position:relative}
#news{border:1px solid #E0D0B1;width:640px}
#help{border:1px solid #DFD5C3;float:right;font-size:.9em;padding:4px;width:150px}
#image{background:#fff;border:1px solid #DFD5C3;float:none;font-size:.9em;padding:6px;text-align:center}
#product_link{clear:right;float:right;font-size:.9em;margin-top:8px;padding:4px;text-align:center;width:240px}
#nav{float:right;font-size:1.1em;font-weight:700;margin:1em 0;vertical-align:middle}
#nav li{display:inline;list-style:none;margin:0 0 0 2em}
#nav img{vertical-align:bottom}
.warn .pico{margin:0;padding:0;vertical-align:middle}
#content .alert{background-color:#FFE6E6;border-bottom:1px solid #DF7B7B;border-top:1px solid #DF7B7B;margin:0 0 15px;padding:10px 15px;width:auto}
#content .warning{background-color:#FFEBCC;border-bottom:1px solid #F90;border-top:1px solid #F90;line-height:20px;margin:0 0 15px;padding:10px 20px}
#unhook_button_position_bottom{overflow:hidden;padding-top:10px;width:100%}
#unhook_button_position_top{overflow:hidden;width:100%}
#content .conf,#content .warn,#content .error{color:#383838;font-size:12px;font-weight:400;line-height:20px;margin:0 0 10px;min-height:28px;padding:13px 5px 5px 40px}
#content .conf img,#content .warn img,#content .error img{margin:0 5px 0 0}
#content .error{background:#FFBABA url(../img/admin/icon-cancel.png) no-repeat scroll 6px 6px;border:1px solid #C00;color:#D8000C}
#content .conf a,#content .warn a,#content .error a{color:#D8000C;font-weight:700}
#ajax_confirmation .error{background:#FFBABA url(../img/admin/icon-cancel.png) no-repeat scroll 6px 6px;border:1px solid #C00;bottom:0;color:#D8000C;left:0;padding:20px 40px;position:fixed;width:100%}
#ajax_confirmation .conf{background:#DFF2BF url(../img/admin/icon-valid.png) no-repeat scroll 6px 6px;border:1px solid #4F8A10;bottom:0;color:#4F8A10;left:0;padding:20px 40px;position:fixed;width:100%}
#content .warn{background:#FEEFB3 url(../img/admin/icon-attention.png) no-repeat scroll 6px 6px;border:1px solid #9e6014;color:#9e6014}
#content .warn ul li,#content .warn p,#content .warn a{color:#9e6014}
#content .warn ul li label{color:#9e6014;font-weight:400}
#content .error ol{clear:both;margin-top:5px;padding-bottom:0}
#content .error ol li{font-weight:200;margin-left:30px}
#content .confirm h3{background:url(../img/admin/ok.gif) no-repeat 0 0;padding:0 0 0 20px}
#blockNewVersionCheck .warn h3{background:none;margin:0;padding:0 0 0 5px}
.column{float:left;margin:0 50px 1.5em 0;padding:10px;text-align:center;width:173px}
#col_1{background:#FF8C76 url(../img/admin/col_1.gif) no-repeat;color:#FFF;height:235px}
#col_2{background:#FFC44F url(../img/admin/col_2.gif) no-repeat;color:#FFF;height:235px}
#col_3{background:#8CFF70 url(../img/admin/col_3.gif) no-repeat;color:#FFF;height:235px}
#news img{padding:0 6px 0 0;vertical-align:middle}
#news .infos,#news .content{font-family:Arial,Helvetica,sans-serif;font-weight:400;margin:0;padding:4px}
.table tr.last td{border-bottom:none}
.footer_link,.footer_link:hover{color:#812143;font-weight:700;text-decoration:underline}
h3.title{border:none;clear:both;margin:0;padding:4px 10px}
h3.subtitle{color:#FF8D42;font-size:1.2em}
p.infos{float:right;font-size:.9em;line-height:1em;margin:0;padding:0;vertical-align:top}
.width1{width:350px}
.width2{width:500px}
.width3{width:600px}
.width4{width:745px}
.width5{width:655px}
tr.deleted td{background-color:#EEE}
.contextnav{border:1px solid #E0D0B1;line-height:1.3em;margin:10px 0;padding:3px 6px}
.contextnav img{vertical-align:text-top}
.contextnavleft{float:left;width:6em}
.contextnavcenter a,.contextnavcenter b{letter-spacing:6pt}
.contextnavright{float:right;text-align:right;width:6em}
.hidden{border-color:#fff;border-style:solid;border-width:1px 0 0;height:1px}
.flatclear{clear:both;height:0;line-height:0}
.space{margin-top:13px}
.pspace{padding-top:1em}
.double-space{margin-top:2em}
.space-bottom{margin-bottom:1em}
.double-bottom-space{margin-bottom:2em}
.center{text-align:center!important}
.right{text-align:right}
.small{font-size:.85em}
.uppercase{text-transform:uppercase}
.highlight{background-color:#FF6;font-weight:700}
.discount_name{background:#FFEBCC;padding:2px;text-transform:uppercase}
.displayed_flag{float:left;margin:4px 0 0 4px}
.language_flags{background:#FFF;border:1px solid #555;display:none;float:left;margin:4px;padding:8px;width:80px}
.pointer{cursor:pointer}
.imgm{margin:3px 0}
.green{color:#228B22}
.bullet{display:list-item;list-style:disc;margin-left:30px}
#ajax_confirmation{padding-bottom:6px;padding-top:3px}
.hint{background:#BDE5F8 url(../img/admin/icon-info.png) no-repeat 6px 5px;border:1px solid #00529B;color:#00529B;display:none;margin-bottom:2px;margin-top:4px;min-height:15px;padding:15px 5px 15px 40px;position:absolute;z-index:10}
.hint p{color:#00529B}
.hint .addImageDescription{font-size:16px;font-weight:700}
div.hint ul li{color:#00529B;padding-left:5px}
table tr th .hint{background:#FFFBE5 url(../img/admin/icon-info.png) no-repeat 6px 5px;border:1px solid #ECE52F;color:#383838;display:none;margin:30px 5px 5px;padding:8px 6px 8px 34px;position:absolute;width:400px}
.hintGroup{background:#DDE9F7 url(../img/admin/help2.png) no-repeat 6px 5px;border:1px solid #50B0EC;color:#383838;margin-bottom:10px;margin-top:10px;padding:8px 6px 8px 40px;position:relative}
.hint .hint-pointer{height:19px;left:-10px;position:absolute;top:5px;width:10px}
#flagsLanguage img{margin-bottom:-4px;padding:3px}
#flagsLanguage .selected_language{border:1px solid #BBB;margin-bottom:-4px;padding:2px}
.disable,.disable:hover{background-color:#CCC;color:#AAA}
.ajax-warning,.ajax-success,.ajax-error{border:1px solid #CCC;margin:5px;padding:5px 20px;width:70%}
.ajax-warning{background-color:#FFBD6F}
.ajax-success{background-color:#9FDF8B}
.ajax-error{background-color:#FF7F84}
.ajax-loader{margin:5px 10px}
.productFieldComment{color:#7F7F7F;font-size:.8em}
a.confirm_yes,a.confirm_no{border-style:solid;border-width:1px;color:#FFF;font-weight:700;margin-left:60px;padding:10px;text-align:center;width:50px}
a.confirm_yes{background-color:red;border-color:red}
a.confirm_no{background-color:green;border-color:green}
form#import_form{margin-bottom:20px;margin-left:15px;padding-bottom:22px}
.table_overflow{height:500px;overflow:auto;width:900px}
.new_message{background-color:#FFE35C}
.myDragClass{background-color:#FA5}
.dragHandle{cursor:move}
p#mailResultCheck{font-size:12px;margin:2px 0;padding-left:18px}
p.ok{background:url(../img/admin/enabled.gif) no-repeat top left;color:green}
p.fail{background:url(../img/admin/disabled.gif) no-repeat top left;color:red;font-weight:700}
#lang_pack_msg{border:1px solid #DFD5C3;margin-bottom:10px;padding:10px}
span.defaultSkin .mceToolbar{height:auto}
table.permissions{border:1px solid #DFD5C3}
table.permissions th{background:#FFF6D3;height:20px;text-align:center}
table.permissions td{padding:5px;text-align:center}
.path_bar{background-color:#EFEFEF;font-family:Arial;font-size:13px;margin-bottom:20px;padding:5px}
.adminHeader h1{color:#812143;font-family:Arial;font-size:18pt;margin:0}
#adminHeader hr{background-color:#812143;margin:0}
#header_shoplist{background-image:url(../img/t/AdminShop.gif);background-position:0 3px;background-repeat:no-repeat;height:20px;padding-left:17px}
#header_shoplist select.shopList option{padding:2px}
#header_shoplist select.shopList .first{background-color:#408BD5;color:#fff;font-weight:700}
#header_shoplist select.shopList .group{background-color:#C6DEFC;font-style:italic;font-weight:700;padding-left:10px}
#header_shoplist select.shopList .shop{background-color:#EAF2FC;padding-left:20px}
.multishop_info{background:#BDE5F8 url(../img/admin/icon-info.png) no-repeat 6px 5px;border:1px solid #00529B;color:#00529B;margin-bottom:10px;margin-top:4px;min-height:32px;padding:13px 5px 0 40px}
.assoShop{max-height:300px;max-width:600px;overflow:auto;width:100%}
.clearfix:after{clear:both;content:".";display:block;height:0;line-height:0;visibility:hidden}
.clearfix{display:inline-block}
* html .clearfix{height:1%}
#adminHeader #help_img{float:right;margin-top:5px}
#adminpresentation{position:relative;width:100%}
#listpresentation{float:left;width:100px}
#iframe{background:#DDD;border:1px solid #666;float:left;height:220px;margin:10px;width:450px}
#list_video{float:left;width:220px}
#list_video h3{color:#882F4F;font-size:12pt;margin:0;padding-top:25px}
#list_video ul{margin:0;padding:0;text-align:left}
#list_video ul li{float:left;margin-top:5px;padding-left:25px;text-decoration:underline;width:195px}
#footer{padding-top:5px}
#footer_iframe_home{position:absolute;right:0;top:0}
#footer_iframe_home label{color:#585A69;float:none;font-weight:400;line-height:15px}
#footer_iframe_home input{margin-left:10px}
#footer_iframe_home a{color:#903E5B;float:right;margin:0 15px 0 0;text-decoration:underline}
#column_left{float:left;padding-top:5px;width:49.1%}
#column_right{float:right;padding:0;width:49.1%}
#column_right .table_info{float:left;width:48.1%}
#column_right #table_info_last.table_info{float:right;width:48.1%}
.F_list{list-style:none;margin:0;padding:0}
#first_block a,#second_block a,#third_block a,#fourth_block a,#fifth_block a,#sixth_block a,#seventh_block a,#eighth_block a{background:#F8F8F8 none no-repeat scroll center 25px}
#first_block a{background-image:url(../img/admin/package_go.png)}
#second_block a{background-image:url(../img/admin/cart_add.png)}
#third_block a{background-image:url(../img/admin/book.png)}
#fourth_block a{background-image:url(../img/admin/package_add.png)}
#fifth_block a{background-image:url(../img/admin/plugin_add.png)}
#sixth_block a{background-image:url(../img/admin/cart_remove.png)}
#seventh_block a{background-image:url(../img/admin/page_white_add.png)}
#eighth_block a{background-image:url(../img/admin/abandonedcart.png)}
.F_list li{display:block;float:left;margin-bottom:15px;margin-right:15px}
.F_list li h4{font-size:11px;font-weight:400;line-height:15px;margin-bottom:0;margin-top:55px;width:95px}
.F_list a{border:1px solid #ccc;color:#333;float:left;height:95px;padding:5px;text-align:center;width:95px}
.F_list a:hover{border:1px solid #666}
.F_list li p{display:none;font-size:8pt}
.table_info{background-color:#fff;border:1px solid #ccc;float:left;margin:0;padding:0}
.table_info h5{background:#ECECEC;color:#000;display:block;font-size:16px;font-weight:400;margin:0;padding:6px}
.table_info h5 a,.admin-box1 h5 a{color:#000;float:right;font-size:8pt;font-weight:400;padding-right:10px;text-decoration:underline}
.admin-box2 h5 a{color:#FFF;float:right;font-size:8pt;font-weight:400;padding-right:10px;text-decoration:underline}
.admin-box1 a#optimizationTipsFold img{padding:5px 0}
#table_info_last{float:left;margin-left:0}
.table_info_details{border:none;border-collapse:collapse}
.table_info_details tr{border:none;color:#000;font-weight:700;height:30px;padding-left:5px;text-align:center;width:100%}
.tr_odd{background-color:#eff4f9}
.table_info_details tr td.td_align_left{font-size:13px;font-weight:400;padding-left:10px;text-align:left}
.table_info_details tr td{font-size:16px;padding-right:10px;text-align:right;white-space:nowrap}
#table_info_large{background-color:#fff;border:1px solid #ccc;float:left;margin-bottom:20px;margin-top:20px;padding:0;width:100%}
#table_info_large h5{background:#ECECEC;color:#000;display:block;font-size:12pt;font-weight:400;line-height:29px;margin:0;padding-left:15px}
#table_info_large h5 a{color:#000;float:right;font-size:8pt;font-weight:400;padding-right:8px;text-decoration:underline}
#stat_google{background-color:#fff;height:175px;margin:15px auto;text-align:center;width:586px}
.admin-box1{background-color:#F8F8F8;border:1px solid #ccc;float:left;font-size:8pt;margin-bottom:20px;padding:0;width:48.1%}
.admin-box2{background-color:#f2f2f2;border:1px solid #CCC;float:right;font-size:8pt;margin-bottom:20px;padding:0;width:100%}
#discover_prestashop{float:right!important;width:48.1%!important}
.admin-home-box-list li img{margin:0 5px}
.admin-home-box-list{list-style:none;margin:0;padding-left:0}
#prestashop_link{background:transparent none no-repeat 0 0}
.admin-home-box-list li{margin:1px;padding:5px 0}
#prestashop_link li{height:58px;margin:0}
.admin-home-box-list li p{font-family:Georgia, 'Lucida Grande', Arial;font-size:13px;font-style:italic;margin:2px 0;padding:0 5px 0 15px}
.admin-home-box-list li a{color:#812143;font-size:12px;line-height:18px;text-align:left}
#prestashop_link li a{color:#3A6EA7;float:left;font-size:8.5pt;font-weight:700;line-height:18px;margin-left:15px;text-align:left;text-decoration:underline}
#table_customer{background-color:#fff;border:1px solid #ccc;border-spacing:0;padding:0}
#table_customer thead span{background:#ECECEC;border-left:none;border-right:none;color:#000;display:block;height:39px;line-height:35px}
#order_id{text-align:center;width:52px}
#order_customer{width:175px}
#order_status{width:130px}
#order_total{width:100px}
#table_customer tbody{font-size:8pt}
#table_customer tbody tr td.order_td_first{height:35px;padding:0;text-align:center}
#table_customer tbody tr td{border:none;font-size:12px;height:35px}
#table_info_news{border:1px solid #ccc;float:left;font-size:8pt;margin-top:20px;padding:1px;width:310px}
#table_info_news h5{background-color:#7Ab51D;color:#FFF;font-size:12pt;line-height:29px;margin:0;padding-left:15px}
#table_info_news h5 a{color:#FFF;float:right;font-size:8pt;font-weight:400;padding-right:10px;text-decoration:underline}
#table_info_news ul{list-style:none outside none;margin:0;padding:0}
#block_news_first{background-color:#E1EBD2;padding:5px}
#block_news_first a{color:#812143;font-weight:700;line-height:18px;text-decoration:underline}
#block_news_first p{line-height:12px;margin:0;padding-left:10px}
#block_news_first p a{color:#812143;font-weight:700;margin-left:200px;margin-right:8px}
#table_info_news ul li a{line-height:25px;margin:0;padding-left:10px;text-decoration:underline}
.block_news_odd{background-color:#DEDEDE;line-height:25px}
#see_newsletter{background:url(../img/admin/email.gif) no-repeat left center;margin-left:5px}
#follow_on_facebook{background:url(../img/admin/facebook.jpg) no-repeat left center;margin-left:5px}
#follow_on_twitter{background:url(../img/admin/twitter.jpg) no-repeat left center;margin-left:5px}
#block_news_last ul li a{color:#812143;padding-left:20px}
.viewed{background:url(../img/admin/enabled.gif) no-repeat left center}
a.blue{color:blue}
a.blue:hover{color:#00A}
.cluetip-help-button{background:#F1F2F4 url(../img/admin/block_bg.jpg) repeat-x scroll left bottom;background-color:#FFF;border:1px solid gray;padding:10px;text-align:left;width:auto}
.ac_results ul{background:#FFF;list-style:none;padding:0;text-align:left}
.ac_results li{padding:5px}
.ac_even{background:#EFEFEF}
.ac_over{background:#ECEADE;color:#585A69}
.button-translate{cursor:pointer;height:15px;margin:0 0 0 10px;padding:0;width:15px}
#importList label{float:none}
#importList ul{list-style-type:none}
.multishop_config{margin-left:-10px;position:absolute}
.multishop_config div{background-color:#DFFAD3;border:1px solid #DFD5C3;display:none;margin-top:2px;padding:5px;width:200px}
.multishop_product_checkbox{position:absolute}
a.action_module_delete{color:#CB1C00;margin-right:30px;text-decoration:underline}
.select_theme{border:1px solid #FFFFF0;color:#000;cursor:pointer;float:left;font-weight:700;margin:10px;padding:10px;text-align:center;width:220px}
.select_theme_choice{background-color:#FAEEC2;border:1px dotted #000}
fieldset .optionsDescription,fieldset p.description,.info{background:url(../img/admin/icon-info.png) no-repeat scroll 6px 6px #BDE5F8;border:1px solid #00529B;color:#00529B;font-family:Arial,Verdana,Helvetica,sans-serif;font-size:12px;margin-bottom:15px;min-height:32px;padding:10px 5px 5px 40px}
fieldset .optionsDescription ul li{color:#00529B;margin:0;padding:0}
p.product_description{clear:both;color:#7F7F7F;font-family:Georgia, Arial, sans-serif;font-style:italic;text-align:right}
p.preference_description{clear:both;color:#7F7F7F;font-family:Georgia, Arial, sans-serif;font-size:11px;font-style:italic;text-align:left;width:500px}
.preference_default_multishop{float:left;margin-top:4px;padding-right:5px}
.multishop_warning{background-image:url(../img/admin/warning.gif);background-repeat:no-repeat;color:#FE2744;font-weight:700;padding-left:22px;padding-top:1px}
.warning_mod_rewrite{background:#FEEFB3 url(../img/admin/warning.gif) 2px 0 no-repeat;color:#9E6014;font-weight:700;height:20px;line-height:20px;padding:2px 5px 2px 22px}
label.conf_title{width:235px}
input.disable_me[disabled=disabled]{background-color:red}
div.progressBarImage{float:left;height:15px;margin-left:3px;position:relative;width:233px}
#showCounter{float:left;font-weight:700;margin-left:25px;margin-top:1px}
#listImage{list-style:none outside none;margin-bottom:10px;margin-top:10px}
#listImage li{clear:both;float:left;font-weight:700;margin-top:10px}
#listImage li p.errorImg{background:none repeat scroll 0 0 #FAE2E3;border:1px solid #EC9B9B;clear:both;display:none;margin-bottom:18px;padding:6px}
#progressBarImage div.ui-progressbar-value{height:100%}
#createImageDescription ul.smallImage li{display:block;float:left;list-style-type:none;margin-bottom:15px;margin-right:20px;text-align:center}
#menu .submenu_size .submenu{display:none;position:absolute}
.submenu li{clear:left;float:none}
#customers{display:block;position:relative}
#customer_part #customers ul li{background-color:#fff;border:1px solid #ccc;display:inline;float:left;list-style-type:none;margin:10px;padding:5px;width:200px}
#customer_part #customers ul li div.customerName{background-color:#eee;font-size:14px;padding:2px}
#customer_part #customers ul li div.customerName .customerBirthday{float:right;font-size:12px}
#customer_part #customers ul li div.customerEmail a{color:#666;display:block;font-size:12px;line-height:20px}
#address_part #address_delivery,#address_part #address_invoice{float:left;width:400px}
#address_part #address_delivery h3,#address_part #address_invoice h3{margin-top:0}
#address_part #address_delivery{border-right:1px solid #ccc}
#address_part #address_invoice{border-left:1px solid #fff;padding-left:20px}
#address_part #address_delivery_detail,#address_invoice #address_invoice_detail{color:#585A69;font-size:12px;line-height:18px;padding:10px 0}
#address_part a#new_address{clear:both;float:left;margin:20px 0}
#summary_part b{border:1px solid red;display:block;float:left}
#summary_part #total_products,#summary_part #total_vouchers,#summary_part #total_shipping,#summary_part #total_without_taxes,#summary_part #total_taxes,#summary_part #total_with_taxes{color:#000;font-size:20px;font-weight:400}
#summary_part .currency_sign{font-weight:400}
#summary_part .order_message_right{border-left:1px solid #ccc;float:left}
#cart_summary{border-right:1px solid #fff;float:left;width:400px}
#cart_summary ul li{float:left;margin-bottom:20px;padding:5px;position:relative;width:185px}
#cart_summary ul li .total_cart{display:block;font-size:12px}
#loader_container{background:transparent url(../img/bg_loader.png) repeat 0 0;display:none;height:100%;left:0;position:absolute;top:0;width:100%;z-index:100}
#loader{background:url(../img/loader.gif);color:#fff;display:none;height:24px;margin:0 auto;width:24px}
ul.connectedSortable{padding-left:0}
ul.connectedSortable li.module_list{background:#F6F6F6;border:1px solid #CCC;color:#1C94C4;font-size:1.2em;font-weight:700;margin:0 5px 5px;outline:none;padding:5px}
.input-error{color:#D8000C;display:none;font-size:12px;font-weight:400;line-height:20px;margin:0 0 10px;padding:10px 15px}
#CustomerThreadContacts div.blocSAV{background-color:#f8f8f8;border:1px solid #ccc;float:left;margin:0 10px 10px 0;min-height:178px;width:24%}
#CustomerThreadContacts p{border-bottom:1px solid #ccc;border-top:1px solid #fff;font-family:Georgia,Arial, Helvetica;font-size:13px;font-style:italic;height:45px;line-height:18px;margin:0 auto;overflow:hidden;padding:10px;text-align:center}
#CustomerThreadContacts .message-mail{border-top:1px solid #fff;display:block;margin:0 auto;padding:25px 10px;text-align:center}
#CustomerThreadContacts h3{background:#ECECEC;border-bottom:1px solid #ccc;font-size:16px;font-weight:400;height:25px;line-height:25px;margin:0;overflow:hidden;padding:5px 10px}
#CustomerThreadContacts a{border:0;display:block;height:23px;line-height:23px;padding:0 5px}
#CustomerThreadContacts h4{border:0;height:23px;line-height:23px;margin:0;padding:0 5px}
#CustomerThreadContacts div#CustomerService{background:none;border:none;float:left;width:24%}
#CustomerThreadContacts div#CustomerService table.table thead{border:0;font-weight:700;height:23px;line-height:23px;margin:0;padding:0 5px;text-align:center}
#CustomerThreadContacts div#CustomerService table.table tr td span{font-size:14px;font-weight:700}
#ChangeStatus{float:right;margin:20px 20px 0 0;right:10px}
#CustomerService table{border-collapse:collapse}
#CustomerService .table tr.alt_row{background-color:#EFF4F9}
div#scrollTop a{background:url(../img/admin/scroll_top.png);bottom:30px;display:none;height:40px;position:fixed;right:30px;width:40px}
.loader{background-image:url(../img/loader.gif);color:#fff;display:none;height:128px;margin:450px 0 0 440px;width:128px}
.category-filter{background-color:#dde0e9;min-height:20px;padding:5px 10px}
.category-filter span{color:#585A69;float:left;line-height:18px}
.category-filter a{color:#585A69;float:left;line-height:20px;padding:0 5px}
.category-filter #filternameForm{color:#585A69;float:left;margin-left:10px}
.current-edit{background-color:#E9F1F6}
.edit-note{height:100px;width:98%}
.payment_information{background-color:#BDE5F8}
#conditions .condition_separator{font-size:16px;margin:10px 0}
#conditions a#add_condition_group{font-size:16px}
#conditions #condition_list .row{background-color:transparent;height:25px;padding:10px 0;position:relative}
#conditions #condition_list select{float:left;margin-right:10px;width:200px}
.container-command-top-spacing{margin-top:25px}
.bloc-command{background-color:#EBEDF4;border:1px solid #CCCED7;margin-bottom:10px}
.button-command{float:right;padding:10px}
.button-command-prev-next{float:right;margin-bottom:10px;margin-right:10px}
.history-status tr th{background:#eee none}
.metadata-command dl{float:left;margin-left:10px}
.metadata-command dl dt,.metadata-command dl dd{color:#585A69;float:left;margin:0;padding-right:10px}
#content #customers .warn{margin:10px 0 0}
#customers li{background-color:#ABDFF7;border:1px solid #ccc;float:left;margin:5px;padding:5px}
#customers li .button{display:block;margin-top:5px}
#container-customer h2{color:#000;font-weight:400;margin:0}
#container-customer h2 img{margin-right:5px}
#container-customer .info-customer-left{border-right:1px solid #fff;float:left;min-height:120px;padding-right:15px;width:47%}
#container-customer .info-customer-right{border-left:1px solid #ccc;float:left;min-height:120px;padding-left:15px;width:49%}
#container-customer .info-customer-left h2,#container-customer .info-customer-right h2{margin-bottom:7px}
.infoCustomer dl{margin:7px 0}
.infoCustomer dl dt{float:left;font-weight:700;padding-right:5px}
#container-carts{background-color:#EBEDF4;border:1px solid #CCCED7;padding:10px}
#cart_rule_form h4{font-size:18px;font-weight:400;margin-top:0}
#ajax_running{background-color:#FFF1A8;border:1px solid #FFD96F;color:#000;display:none;font-size:14px;font-weight:700;left:40%;padding:5px 20px;position:fixed;top:0;width:300px;z-index:10000}
#container_category_tree{border:1px solid #ccc;padding:5px}
#container_category_tree a input{margin-right:3px}
#block_discover{float:left;width:48.1%}
.row-news{float:left;width:100%}
.multishop-left{background-color:#F9F9F9;border:1px solid #CCCED7;float:left;max-height:400px;min-height:200px;overflow:auto;padding:3px;width:250px}
.multishop-left .multishop-title{background-color:#F0F0F0;border-bottom:1px solid #CCCED7;color:#333;font-size:14px;font-weight:700;padding:2px;text-align:left;width:247px}
.multishop-right{margin-left:270px}
#multishop-tree{background-color:#F9F9F9;font-size:13px;margin-top:3px}
#multishop-tree a.selected{background-color:#49B2FF;color:#FFF;padding:3px}
.datepicker{position:relative;z-index:20}
#BoxUseSpecialSyntax{bottom:50px;display:none;position:fixed;width:100%;z-index:10}
#BoxUseSpecialSyntax .warn{margin:0 auto;width:500px}
#BoxUseSpecialSyntax ul{list-style-type:disc;margin-left:30px}
.id_customization .customization_field{min-width:205px;width:205px}
.float,span.defaultSkin table.mceLayout tr.mceFirst td,#customer_part #customers ul,#MeaningStatus,#CustomerThreadContacts div#MeaningStatus,#conditions #condition_list a{float:left}
.floatr,#customer_part #customers ul li a.id_customer.button{float:right}
a.link,.warn a,#content .conf a:hover,#content .warn a:hover,#content .error a:hover{text-decoration:underline}
img,input{vertical-align:middle}
.block,html[xmlns] .clearfix,#menu .submenu_size:hover > .submenu{display:block}
.bold,.path_bar a,#customer_part #customers ul li div.customerName a,.metadata-command dl dd,#container_category_tree a{font-weight:700}
legend,th,h1,h2,h3,h4,h5,h6{font-family:Arial,Helvetica,sans-serif}
form,#image img,.infoCustomer dl dd{margin:0;padding:0}
.label-subject input,.mail-label table{width:555px}
.style-themeModuleMail,.style-themeModuleName{background:#FFF6D3;border:1px solid #DFD5C3;cursor:pointer;font-size:12px;font-weight:700;margin:0;padding:.2em .5em;text-align:left}
label:after,#help:after,#image:after,.clear{clear:both}
#id_image_attr,#adminpresentation ul li{list-style:none}
#content .error-inline,p.preference_description .light-warning{color:red;font-weight:700}
#content .conf,#content .confirm{background:#DFF2BF url(../img/admin/icon-valid.png) no-repeat scroll 6px 6px;border:1px solid #4F8A10;color:#4F8A10}
#content .warn h2,#table_customer thead th{margin:0}
#content .warn h3,#content .error h3{background:url(../img/admin/warning.gif) no-repeat 0 0;padding:0 0 0 20px}
.widthfull,#CustomerThreadContacts div#CustomerService table.table,.container-command{width:100%}
.contextnavcenter,#table_customer thead span.first,.order_action,#carrier_wizard table td.center{text-align:center}
.left,#fancybox-content,#customer_form #fieldset_0{text-align:left}
.noborder,#CustomerService .table tr td{border:none}
span.hint,div.hint{position:relative}
.admin-box1 h5,.admin-box2 h5{background:#ECECEC;color:#333;font-size:12pt;font-weight:400;line-height:29px;margin:0;padding:0 0 0 15px}
#order_line1,#block_news_last{background-color:#EFEFEF}
#products_part #products_found,#vouchers_part #voucher_list,#vouchers_part #vouchers_err{display:none}
#conditions .condition_group h3,#conditions #condition_list h4{margin:0 0 10px}
#container-customer,#container-multishop{background-color:#EBEDF4;border:1px solid #CCCED7;color:#585A69;padding:10px}
#block_tips,#block_partner_tips{float:right;width:48.1%}
}

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -22,7 +22,31 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<div id="ajax_confirmation" class="alert alert-success" style="display:none"></div>
{* ajaxBox allows*} <div id="ajaxBox" style="display:none"></div>
{if isset($content)}
{if isset($show_page_header_toolbar) && $show_page_header_toolbar &&(!isset($lite_display) || !$lite_display)}
<div class="leadin">
{foreach from=$page_header_toolbar_btn item=btn key=k}
{if $k == 'modules-list'}
<div class="modal fade" id="modules_list_container">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3 class="modal-title">{l s='Modules'}</h3>
</div>
<div class="modal-body">
<div id="modules_list_container_tab" style="display:none;"></div>
<div id="modules_list_loader"><img src="../img/loader.gif" alt=""/></div>
</div>
</div>
</div>
</div>
{/if}
{/foreach}
</div>
{include file="page_header_toolbar.tpl" toolbar_btn=$page_header_toolbar_btn title=$page_header_toolbar_title}
{/if}
{$content}
{/if}

View File

@@ -32,7 +32,8 @@
$('div.productTabs a').click(function() {
var id = $(this).attr('id');
$('.nav-profile').removeClass('selected');
$(this).addClass('selected');
$(this).addClass('selected active');
$(this).siblings().removeClass('active');
$('.tab-profile').hide()
$('.'+id).show();
});
@@ -171,247 +172,258 @@
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div class="leadin">{block name="leadin"}{/block}</div>
{/if}
<div class="productTabs">
<ul class="tab">
{foreach $profiles as $profile}
<li class="tab-row">
<a class="nav-profile {if $profile.id_profile == $current_profile}selected{/if}" id="profile-{$profile.id_profile}" href="{$current}&token={$token}&id_profile={$profile.id_profile}">{$profile.name}</a>
</li>
{/foreach}
</ul>
</div>
<form id="{$table}_form" class="defaultForm" action="{$current}&{$submit_action}=1&token={$token}" method="post" enctype="multipart/form-data">
{if $form_id}
<input type="hidden" name="{$identifier}" id="{$identifier}" value="{$form_id}" />
{/if}
{assign var=tabsize value=count($tabs)}
{foreach $tabs AS $tab}
{if $tab.id_tab > $tabsize}
{assign var=tabsize value=$tab.id_tab}
<div class="row">
<div class="productTabs col-lg-2">
<div class="tab list-group">
{foreach $profiles as $profile}
<a class="list-group-item nav-profile {if $profile.id_profile == $current_profile}active{/if}" id="profile-{$profile.id_profile}" href="{$current}&token={$token}&id_profile={$profile.id_profile}">{$profile.name}</a>
{/foreach}
</div>
</div>
<form id="{$table}_form" class="defaultForm form-horizontal col-lg-10" action="{$current}&{$submit_action}=1&token={$token}" method="post" enctype="multipart/form-data">
{if $form_id}
<input type="hidden" name="{$identifier}" id="{$identifier}" value="{$form_id}" />
{/if}
{/foreach}
{foreach $profiles as $profile}
<div class="profile-{$profile.id_profile} tab-profile" style="display:{if $profile.id_profile == $current_profile}block{else}none{/if}">
{assign var=tabsize value=count($tabs)}
{foreach $tabs AS $tab}
{if $tab.id_tab > $tabsize}
{assign var=tabsize value=$tab.id_tab}
{/if}
{/foreach}
{foreach $profiles as $profile}
<div class="profile-{$profile.id_profile} tab-profile" style="display:{if $profile.id_profile != $current_profile}none{/if}">
<div class="row">
{if $profile.id_profile != $admin_profile}
<table class="table float" cellspacing="0" style="margin-right:50px" id="table_{$profile.id_profile}">
<tr>
<th class="center">
{l s='Menus'}
</th>
<th class="center">
<input type="checkbox" name="1" id="viewall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||view||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='View'}
</th>
<th class="center">
<input type="checkbox" name="1" id="addall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||add||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Add'}
</th>
<th class="center">
<input type="checkbox" name="1" id="editall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||edit||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Edit'}
</th>
<th class="center">
<input type="checkbox" name="1" id="deleteall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||delete||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Delete'}
</th>
<th class="center">
<input type="checkbox" name="1" id="allall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='All'}
</th>
</tr>
{if !count($tabs)}
<tr>
<td colspan="6">{l s='No menu'}</td>
</tr>
{else}
{foreach $tabs AS $tab}
{assign var=access value=$accesses[$profile.id_profile]}
{if !$tab.id_parent OR $tab.id_parent == -1}
{assign var=is_child value=false}
{assign var=result_accesses value=0}
<tr{if !$is_child} class="parent"{/if}>
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}<strong>{$tab.name}</strong></td>
{foreach $perms as $perm}
{if $access_edit == 1}
<td>
<input type="checkbox"
id="{$perm}{$access[$tab.id_tab]['id_tab']}"
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$tab.id_tab]['id_tab']}"
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{else}
<td>
<input type="checkbox"
disabled="disabled"
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{/if}
{assign var=result_accesses value=$result_accesses + $access[$tab.id_tab][$perm]}
{/foreach}
<td>
<input type="checkbox"
id='all{$access[$tab.id_tab]['id_tab']}'
<div class="col-lg-6">
<div class="panel">
<h3>{l s='Menu'}</h3>
<table class="table" id="table_{$profile.id_profile}">
<thead>
<tr>
<th></th>
<th>
<input type="checkbox" name="1" id="viewall"
{if $access_edit == 1}
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$tab.id_tab]['id_tab']}"
rel="-1||{$profile.id_profile}||view||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
class="all {$access[$tab.id_tab]['id_tab']}"
disabled="disabled"
{/if}
{if $result_accesses == 4}checked="checked"{/if}/>
</td>
{/if} />
{l s='View'}
</th>
<th>
<input type="checkbox" name="1" id="addall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||add||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Add'}
</th>
<th>
<input type="checkbox" name="1" id="editall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||edit||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Edit'}
</th>
<th>
<input type="checkbox" name="1" id="deleteall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||delete||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='Delete'}
</th>
<th>
<input type="checkbox" name="1" id="allall"
{if $access_edit == 1}
rel="-1||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower"
{else}
disabled="disabled"
{/if} />
{l s='All'}
</th>
</tr>
</thead>
<tbody>
{if !count($tabs)}
<tr>
<td colspan="6">{l s='No menu'}</td>
</tr>
{else}
{foreach $tabs AS $tab}
{foreach $tabs AS $child}
{if $child.id_parent === $tab.id_tab}
{if isset($access[$child.id_tab])}
{assign var=is_child value=true}
{assign var=access value=$accesses[$profile.id_profile]}
{if !$tab.id_parent OR $tab.id_parent == -1}
{assign var=is_child value=false}
{assign var=result_accesses value=0}
<tr class="child-{$child.id_parent}">
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}{$child.name}</td>
<tr{if !$is_child} class="parent"{/if}>
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}<strong>{$tab.name}</strong></td>
{foreach $perms as $perm}
{if $access_edit == 1}
<td>
<input type="checkbox"
id="{$perm}{$access[$child.id_tab]['id_tab']}"
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$child.id_tab]['id_tab']}"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
id="{$perm}{$access[$tab.id_tab]['id_tab']}"
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$tab.id_tab]['id_tab']}"
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{else}
<td>
<input type="checkbox"
disabled="disabled"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
{if $access[$tab.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{/if}
{assign var=result_accesses value=$result_accesses + $access[$child.id_tab][$perm]}
{assign var=result_accesses value=$result_accesses + $access[$tab.id_tab][$perm]}
{/foreach}
<td>
<input type="checkbox"
id='all{$access[$child.id_tab]['id_tab']}'
id='all{$access[$tab.id_tab]['id_tab']}'
{if $access_edit == 1}
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$child.id_tab]['id_tab']}"
rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$tab.id_tab]['id_tab']}"
{else}
class="all {$access[$child.id_tab]['id_tab']}"
class="all {$access[$tab.id_tab]['id_tab']}"
disabled="disabled"
{/if}
{if $result_accesses == 4}checked="checked"{/if}/>
</td>
</tr>
{foreach $tabs AS $child}
{if $child.id_parent === $tab.id_tab}
{if isset($access[$child.id_tab])}
{assign var=is_child value=true}
{assign var=result_accesses value=0}
<tr class="child-{$child.id_parent}">
<td{if !$is_child} class="bold"{/if}>{if $is_child} &raquo; {/if}{$child.name}</td>
{foreach $perms as $perm}
{if $access_edit == 1}
<td>
<input type="checkbox"
id="{$perm}{$access[$child.id_tab]['id_tab']}"
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||{$perm}||{$tabsize}||{count($tabs)}"
class="ajaxPower {$perm} {$access[$child.id_tab]['id_tab']}"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{else}
<td>
<input type="checkbox"
disabled="disabled"
{if $access[$child.id_tab][$perm] == 1}checked="checked"{/if}/>
</td>
{/if}
{assign var=result_accesses value=$result_accesses + $access[$child.id_tab][$perm]}
{/foreach}
<td>
<input type="checkbox"
id='all{$access[$child.id_tab]['id_tab']}'
{if $access_edit == 1}
rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}"
class="ajaxPower all {$access[$child.id_tab]['id_tab']}"
{else}
class="all {$access[$child.id_tab]['id_tab']}"
disabled="disabled"
{/if}
{if $result_accesses == 4}checked="checked"{/if}/>
</td>
</tr>
{/if}
{/if}
{/foreach}
{/if}
{/if}
{/foreach}
{/if}
{/foreach}
{/if}
</table>
<table class="table" cellspacing="0" style="margin-left:20px" id="table_module_{$profile.id_profile}">
<tr>
<th>{l s='Modules'}</th>
<th class="center">
<input type="checkbox"
id="ajax-ma-view-master"
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||view||{$profile.id_profile}"
{/foreach}
{/if}
</tbody>
</table>
</div>
</div>
<div class="col-lg-6">
<div class="panel">
<h3>{l s='Modules'}</h3>
<table class="table" id="table_module_{$profile.id_profile}">
<thead>
<tr>
<th></th>
<th>
<input type="checkbox"
id="ajax-ma-view-master"
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||view||{$profile.id_profile}"
{else}
disabled="disabled"
{/if} /> {l s='View'}
</th>
<th>
<input type="checkbox"
id="ajax-ma-configure-master"
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||configure||{$profile.id_profile}"
{else}
disabled="disabled"
{/if} /> {l s='Configure'}</th>
</tr>
</thead>
<tbody>
{if !count($modules)}
<tr>
<td colspan="3">{l s='No modules are installed'}</td>
</tr>
{else}
disabled="disabled"
{/if} /> {l s='View'}
</th>
<th class="center">
<input type="checkbox"
id="ajax-ma-configure-master"
{if $access_edit == 1}
class="changeModuleAccess" rel="-1||configure||{$profile.id_profile}"
{else}
disabled="disabled"
{/if} /> {l s='Configure'}</th>
</tr>
{if !count($modules)}
<tr>
<td colspan="3">{l s='No modules are installed'}</td>
</tr>
{else}
{foreach $modules[$profile.id_profile] AS $module}
<tr>
<td>&raquo; {$module.name}</td>
<td>
<input type="checkbox"
value="1"
{if $module.view == true}checked="checked"{/if}
{if $access_edit == 1}
class="ajax-ma-view changeModuleAccess"
rel="{$module.id_module}||view||{$profile.id_profile}"
{else}
class="ajax-ma-view"
disabled="disabled"
{/if}
/>
</td>
<td>
<input type="checkbox"
value="1"
{if $module.configure == true}checked="checked"{/if}
{if $access_edit == 1}
class="ajax-ma-configure changeModuleAccess"
rel="{$module.id_module}||configure||{$profile.id_profile}"
{else}
class="ajax-ma-configure"
disabled="disabled"
{/if}
/>
</td>
</tr>
{/foreach}
{/if}
</table>
<div class="clear">&nbsp;</div>
{foreach $modules[$profile.id_profile] AS $module}
<tr>
<td>&raquo; {$module.name}</td>
<td>
<input type="checkbox"
value="1"
{if $module.view == true}checked="checked"{/if}
{if $access_edit == 1}
class="ajax-ma-view changeModuleAccess"
rel="{$module.id_module}||view||{$profile.id_profile}"
{else}
class="ajax-ma-view"
disabled="disabled"
{/if}
/>
</td>
<td>
<input type="checkbox"
value="1"
{if $module.configure == true}checked="checked"{/if}
{if $access_edit == 1}
class="ajax-ma-configure changeModuleAccess"
rel="{$module.id_module}||configure||{$profile.id_profile}"
{else}
class="ajax-ma-configure"
disabled="disabled"
{/if}
/>
</td>
</tr>
{/foreach}
{/if}
</tbody>
</table>
</div>
</div>
{else}
{l s='Administrator permissions cannot be modified.'}
<div class="col-lg-12">
<div class="panel">
{l s='Administrator permissions cannot be modified.'}
</div>
</div>
{/if}
</div>
</div>
{/foreach}
</form>
{/foreach}
</form>
</div>

View File

@@ -22,6 +22,33 @@
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
{if isset($content)}
{if isset($show_page_header_toolbar) && $show_page_header_toolbar &&(!isset($lite_display) || !$lite_display)}
<div class="leadin">
{foreach from=$page_header_toolbar_btn item=btn key=k}
{if $k == 'modules-list'}
<div class="modal fade" id="modules_list_container">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3 class="modal-title">{l s='Modules'}</h3>
</div>
<div class="modal-body">
<div id="modules_list_container_tab" style="display:none;"></div>
<div id="modules_list_loader"><img src="../img/loader.gif" alt=""/></div>
</div>
</div>
</div>
</div>
{/if}
{/foreach}
</div>
{include file="page_header_toolbar.tpl" toolbar_btn=$page_header_toolbar_btn title=$page_header_toolbar_title}
{/if}
{$content}
{/if}
<iframe frameborder="no" style="margin:0px;padding:0px;width:100%;height:920px" src="http://addons.prestashop.com/iframe/search.php?parentUrl={$parentDomain}"></iframe>
<div class="clear">&nbsp;</div>

View File

@@ -31,7 +31,7 @@
{/if}
{if $input.type == 'text_customer' && !isset($customer)}
<label>{l s='Customer email'}</label>
<label class="control-label col-lg-3 required" for="email">{l s='Customer email'}</label>
{else}
{$smarty.block.parent}
{/if}
@@ -40,7 +40,11 @@
{block name="field"}
{if $input.type == 'text_customer'}
{if isset($customer)}
<div class="margin-form"><a style="display: block; padding-top: 4px;" href="?tab=AdminCustomers&id_customer={$customer->id}&viewcustomer&token={$tokenCustomer}">{$customer->lastname} {$customer->firstname} ({$customer->email})</a></div>
<div class="col-lg-9">
<a class="btn btn-default" href="?tab=AdminCustomers&id_customer={$customer->id}&viewcustomer&token={$tokenCustomer}">
<i class="icon-eye-open"></i> {$customer->lastname} {$customer->firstname} ({$customer->email})
</a>
</div>
<input type="hidden" name="id_customer" value="{$customer->id}" />
<input type="hidden" name="email" value="{$customer->email}" />
{else}
@@ -80,8 +84,9 @@
}
});
</script>
<div class="margin-form">
<input type="text" size="33" name="email" value="{$fields_value[$input.name]|escape:'htmlall':'UTF-8'}" style="text-transform: lowercase;" /> <sup>*</sup>
<div class="col-lg-4">
<input type="text" id="email" name="email" value="{$fields_value[$input.name]|escape:'htmlall':'UTF-8'}"/>
</div>
{/if}
{else}

View File

@@ -24,6 +24,20 @@
*}
<script type="text/javascript">
var attrs = new Array();
attrs[0] = new Array(0, '---');
{foreach $attribute_js as $idgrp => $group}
{assign var="row" value="attrs[{$idgrp}] = new Array(0, '---'"}
{foreach $group as $idattr => $attrname}
{assign var="row" value="{$row}, {$idattr}, '{$attrname|escape}'"}
{/foreach}
{assign var="row" value="{$row});"}
{$row}
{/foreach}
i18n_tax_exc = '{l s='Tax Excluded'} ';
i18n_tax_inc = '{l s='Tax Included'} ';
@@ -47,75 +61,86 @@
$(document).ready(function() { $('.price_impact').each(function() { calcPrice($(this), false); }); });
</script>
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
{include file="page_header_toolbar.tpl" toolbar_btn=$page_header_toolbar_btn title=$page_header_toolbar_title}
<div class="leadin">{block name="leadin"}{/block}</div>
{if $generate}<div class="module_confirmation conf confirm">{l s='%d product(s) successfully created.' sprintf=$combinations_size}</div>{/if}
<script type="text/javascript" src="../js/attributesBack.js"></script>
<form enctype="multipart/form-data" method="post" id="generator" action="{$url_generator}">
<fieldset style="margin-bottom: 35px;">
<legend><img src="../img/admin/asterisk.gif" alt="" />{l s='Attributes generator'}</legend>
<div style="float: left; margin-right: 50px;">
<select multiple name="attributes[]" id="attribute_group" style="height: 500px; margin-bottom: 10px;">
<div class="panel">
<h3>
<i class="icon-asterisk"></i>
{l s='Attributes generator'}
</h3>
<div class="row">
<div class="col-lg-3">
<div class="form-group">
<select multiple name="attributes[]" id="attribute_group" style="height: 500px">
{foreach $attribute_groups as $k => $attribute_group}
{if isset($attribute_js[$attribute_group['id_attribute_group']])}
<optgroup name="{$attribute_group['id_attribute_group']}" id="{$attribute_group['id_attribute_group']}" label="{$attribute_group['name']|escape:'htmlall':'UTF-8'}">
{foreach $attribute_js[$attribute_group['id_attribute_group']] as $k => $v}
<option name="{$k}" id="attr_{$k}" value="{$v|escape:'htmlall':'UTF-8'}" title="{$v|escape:'htmlall':'UTF-8'}">{$v|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</optgroup>
{/if}
{/foreach}
</select>
</div>
<div class="form-group">
<button type="button" class="btn btn-default" onclick="del_attr_multiple();"><i class="icon-minus-sign"></i> {l s='Delete'}</button>
<button type="button" class="btn btn-default pull-right" onclick="add_attr_multiple();"><i class="icon-plus-sign"></i> {l s='Add'}</button>
</div>
</div>
<div class="col-lg-8 col-lg-offset-1">
<div class="alert alert-info">{l s='The Combinations Generator is a tool that allows you to easily create a series of combinations by selecting the related attributes. For example, if you\'re selling t-shirts in three different sizes and two different colors, the generator will create six combinations for you.'}</div>
<div class="alert alert-info">{l s='You\'re currently generating combinations for the following product:'} <b>{$product_name|escape:'htmlall':'UTF-8'}</b></div>
<div class="alert alert-info"><strong>{l s='Step 1: On the left side, select the attributes you want to use (Hold down the "Ctrl" key on your keyboard and validate by clicking on "Add")'}</strong></div>
{foreach $attribute_groups as $k => $attribute_group}
{if isset($attribute_js[$attribute_group['id_attribute_group']])}
<optgroup name="{$attribute_group['id_attribute_group']}" id="{$attribute_group['id_attribute_group']}" label="{$attribute_group['name']|escape:'htmlall':'UTF-8'}">
{foreach $attribute_js[$attribute_group['id_attribute_group']] as $k => $v}
<option name="{$k}" id="attr_{$k}" value="{$v|escape:'htmlall':'UTF-8'}" title="{$v|escape:'htmlall':'UTF-8'}">{$v|escape:'htmlall':'UTF-8'}</option>
<div class="row">
<table class="table" style="display: none;">
<thead>
<tr>
<th id="tab_h1" class="fixed-width-md"><span class="title_box">{$attribute_group['name']|escape:'htmlall':'UTF-8'}</span></th>
<th id="tab_h2" colspan="2"><span class="title_box">{l s='Impact on the product price'} ({$currency_sign})</span></th>
<th><span class="title_box">{l s='Impact on the product weight'} ({$weight_unit})</span></th>
</tr>
</thead>
<tbody id="table_{$attribute_group['id_attribute_group']}" name="result_table">
</tbody>
</table>
<hr />
</div>
{if isset($attributes[$attribute_group['id_attribute_group']])}
{foreach $attributes[$attribute_group['id_attribute_group']] AS $k => $attribute}
<script type="text/javascript">
$('#table_{$attribute_group['id_attribute_group']}').append(create_attribute_row({$k}, {$attribute_group['id_attribute_group']}, '{$attribute['attribute_name']|addslashes}', {$attribute['price']}, {$attribute['weight']}));
toggle(getE('table_' + {$attribute_group['id_attribute_group']}).parentNode, true);
</script>
{/foreach}
</optgroup>
{/if}
{/if}
{/foreach}
</select>
<div style="text-align: center; margin-bottom: 10px;">
<p>
<input class="button" type="button" style="margin-right: 15px;" value="{l s='Add'}" class="button" onclick="add_attr_multiple();" />
<input class="button" type="button" value="{l s='Delete'}" class="button" onclick="del_attr_multiple();" />
</p>
<div class="alert alert-info">{l s='Select a default quantity, and reference, for each combination the generator will create for this product.'}</div>
<table class="table">
<tbody>
<tr>
<td>{l s='Default Quantity:'}</td>
<td><input type="text" name="quantity" value="0" /></td>
</tr>
<tr>
<td>{l s='Default Reference:'}</td>
<td><input type="text" name="reference" value="{$product_reference|escape:'htmlall':'UTF-8'}" /></td>
</tr>
</tbody>
</table>
<div class="alert alert-info">{l s='Please click on "Generate these Combinations"'}</div>
<button type="submit" class="btn btn-default" name="generate"><i class="icon-random"></i> {l s='Generate these Combinations'}</button>
</div>
</div>
<div style="float: left; width: 570px;">
<div class="hint" style="width: 570px; padding-left: 45px; margin-bottom: 15px; display: block; position: inherit;">{l s='The Combinations Generator is a tool that allows you to easily create a series of combinations by selecting the related attributes. For example, if you\'re selling t-shirts in three different sizes and two different colors, the generator will create six combinations for you.'}</div>
<p>{l s='You\'re currently generating combinations for the following product:'} <b>{$product_name|escape:'htmlall':'UTF-8'}</b></p>
<h4>{l s='Step 1: On the left side, select the attributes you want to use (Hold down the "Ctrl" key on your keyboard and validate by clicking on "Add")'}</h4>
<div>
{foreach $attribute_groups as $k => $attribute_group}
{if isset($attribute_js[$attribute_group['id_attribute_group']])}
<table class="table clear" cellpadding="0" cellspacing="0" style="margin-bottom: 10px; display: none;">
<thead>
<tr>
<th id="tab_h1" style="width: 150px">{$attribute_group['name']|escape:'htmlall':'UTF-8'}</th>
<th id="tab_h2" style="width: 350px" colspan="2">{l s='Impact on the product price'} ({$currency_sign})</th>
<th style="width: 150px">{l s='Impact on the product weight'} ({$weight_unit})</th>
</tr>
</thead>
<tbody id="table_{$attribute_group['id_attribute_group']}" name="result_table">
</tbody>
</table>
{if isset($attributes[$attribute_group['id_attribute_group']])}
{foreach $attributes[$attribute_group['id_attribute_group']] AS $k => $attribute}
<script type="text/javascript">
$('#table_{$attribute_group['id_attribute_group']}').append(create_attribute_row({$k}, {$attribute_group['id_attribute_group']}, '{$attribute['attribute_name']|addslashes}', {$attribute['price']}, {$attribute['weight']}));
toggle(getE('table_' + {$attribute_group['id_attribute_group']}).parentNode, true);
</script>
{/foreach}
{/if}
{/if}
{/foreach}
</div>
<h4>{l s='Select a default quantity, and reference, for each combination the generator will create for this product.'}</h4>
<table border="0" class="table" cellpadding="0" cellspacing="0">
<tr>
<td>{l s='Default Quantity:'}</td>
<td><input type="text" size="20" name="quantity" value="0" style="width: 50px;" /></td>
</tr>
<tr>
<td>{l s='Default Reference:'}</td>
<td><input type="text" size="20" name="reference" value="{$product_reference|escape:'htmlall':'UTF-8'}" /></td>
</tr>
</table>
<h4>{l s='Please click on "Generate these Combinations"'}</h4>
<p><input type="submit" class="button" style="margin-bottom:5px;" name="generate" value="{l s='Generate these Combinations'}" /></p>
</div>
</fieldset>
</div>
</form>

View File

@@ -27,7 +27,7 @@
{block name="label"}
{if $input.type == 'color'}
<div id="colorAttributeProperties" style="display:{if $colorAttributeProperties}block{else}none{/if};">
<div id="colorAttributeProperties" {if !$colorAttributeProperties}class="hide"{/if}>
{/if}
{if $input.type == 'closediv'}
</div>
@@ -37,11 +37,11 @@
{block name="field"}
{if $input.name == 'current_texture'}
<div class="margin-form">
<div class="col-lg-9">
{if isset($imageTextureExists) && $imageTextureExists}
<img src="{$imageTexture}" alt="{l s='Texture'}" />
{else}
{l s='None'}
<p class="form-control-static">{l s='None'}</p>
{/if}
</div>
{else}

View File

@@ -62,8 +62,7 @@
{if isset($params.active)}
{$tr.$key}
{elseif isset($params.activeVisu)}
<img src="../img/admin/{if $tr.$key}enabled.gif{else}disabled.gif{/if}"
alt="{if $tr.$key}{l s='Enabled'}{else}{l s='Disabled'}{/if}" title="{if $tr.$key}{l s='Enabled'}{else}{l s='Disabled'}{/if}" />
<i class="{if $tr.$key}icon-check-sign{else}icon-ban-circle{/if}"></i>
{elseif isset($params.position)}
{if $order_by == 'position' && $order_way != 'DESC'}
<a href="{$tr.$key.position_url_down}" {if !($tr.$key.position != $positions[count($positions) - 1])}style="display: none;"{/if}>
@@ -131,6 +130,6 @@
</tr>
{/foreach}
{else}
<tr><td class="center" colspan="{count($fields_display) + 2}">{l s='No items found'}</td></tr>
<tr><td class="center" colspan="{count($fields_display) + 2}">{l s='No records found'}</td></tr>
{/if}
</tbody>

View File

@@ -25,9 +25,9 @@
{extends file="helpers/form/form.tpl"}
{block name="field"}
{block name="input_row"}
{$smarty.block.parent}
{if $input.name == 'public_name'}
{hook h="displayAttributeGroupForm" id_attribute_group=$form_id}
{/if}
{/block}
{/block}

View File

@@ -24,14 +24,12 @@
* International Registered Trademark & Property of PrestaShop SA
*/
/**
* This file will be removed in 1.6
* You have to use index.php?controller=page_name instead of this page
*
* @deprecated 1.5.0
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
require(dirname(__FILE__).'/config/config.inc.php');
Tools::displayFileAsDeprecated();
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
Tools::redirect('index.php?controller=cart'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');
header('Location: ../../../../../../../../');
exit;

View File

@@ -26,48 +26,60 @@
{extends file="helpers/view/view.tpl"}
{block name="override_tpl"}
<fieldset class="width3">
<legend><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /> {l s='Download'}</legend>
<p style="font-size: 13px;">
<a href="{$backup_url}"><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /></a>
<b><a href="{$backup_url}">{l s='Download the backup file'} ({$backup_weight}{l s='MB'})</a></b><br /><br />
{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</fieldset><br /><br />
<div class="error width1" style="float: left; margin-right: 10px;">
<p>{l s='Disclaimer before creating a new backup'}</p>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px; padding-left: 10px;">
<li>{l s='PrestaShop is not responsible for your database, its backups and/or recovery.'}</li>
<li>{l s='PrestaShop is open-source software. You are using it at your own risk under the license agreement.'}</li>
<li>{l s='You should backup your data on a regular basis (both files and database).'}</li>
<li>{l s='This function only backs up your database, not your files.'}</li>
<li>{l s='By default, your existing database tables will be dropped during the backup recovery (see "Backup options" below).'}</li>
<li>{l s='Always verify the quality and integrity of your backup files!'}</li>
<li>{l s='Always verify that your backup files are complete, up-to-date and valid, even if you had a success message appear during the backup process.'}</li>
<li>{l s='Always check your data.'}</li>
<li>{l s='Never restore a backup on a live site.'}</li>
</ol>
<div class="panel">
<h3>
<i class="icon-download"></i>
{l s='Download'}
</h3>
<p>
<a class="btn btn-default" href="{$backup_url}">
<i class="icon-download"></i>
{l s='Download the backup file'} ({$backup_weight}{l s='MB'})
</a>
</p>
<p>{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</div>
<div class="warn width2" style="float: left;">
<p>{l s='How to restore a database backup in 10 easy steps:'}</p>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px;">
<li>{l s='Set "Enable Shop" to "No" in the "Maintenance" page under the "Preferences" menu.'}</li>
<li>{l s='Download the backup from the list below or from your FTP server (in the folder "admin/backups").'}</li>
<li>{l s='Check the backup integrity: Look for errors, incomplete file, etc... Be sure to verify all of your data.'}</li>
<li>{l s='Please ask your hosting provider for "phpMyAdmin" access to your database.'}</li>
<li>{l s='Connect to "phpMyAdmin" and select your current database.'}</li>
<li>{l s='Unless you enabled the "Drop existing tables" option, you must delete all tables from your current database.'}</li>
<li>{l s='At the top of the screen, please select the "Import" tab'}</li>
<li>{l s='Click on the "Browse" button and select the backup file from your hard drive.'}</li>
<li>{l s='Check the maximum filesize allowed (e.g. Max: 16MB)'}<br />{l s='If your backup file exceeds this limit, contact your hosting provider for assistence. '}</li>
<li>{l s='Click on the "Go" button and please wait patiently for the import process to conclude. This may take several minutes.'}</li>
</ol>
<div class="row">
<div class="alert alert-warning">
<button data-dismiss="alert" class="close" type="button">×</button>
<p>{l s='Disclaimer before creating a new backup'}</p>
<ol>
<li>{l s='PrestaShop is not responsible for your database, its backups and/or recovery.'}</li>
<li>{l s='PrestaShop is open-source software. You are using it at your own risk under the license agreement.'}</li>
<li>{l s='You should backup your data on a regular basis (both files and database).'}</li>
<li>{l s='This function only backs up your database, not your files.'}</li>
<li>{l s='By default, your existing database tables will be dropped during the backup recovery (see "Backup options" below).'}</li>
<li>{l s='Always verify the quality and integrity of your backup files!'}</li>
<li>{l s='Always verify that your backup files are complete, up-to-date and valid, even if you had a success message appear during the backup process.'}</li>
<li>{l s='Always check your data.'}</li>
<li>{l s='Never restore a backup on a live site.'}</li>
</ol>
<form action="{$currentIndex}&add{$table}&token={$token}" method="post" class="form-horizontal">
<button type="submit" class="btn btn-default">
<i class="icon-save"></i>
{l s='I have read the disclaimer. Please create a new backup.'}
</button>
</form>
</div>
</div>
<div class="clear"></div>
{/block}
<div class="row">
<div class="alert alert-info">
<p>{l s='How to restore a database backup in 10 easy steps:'}</p>
<ol>
<li>{l s='Set "Enable Shop" to "No" in the "Maintenance" page under the "Preferences" menu.'}</li>
<li>{l s='Download the backup from the list below or from your FTP server (in the folder "admin/backups").'}</li>
<li>{l s='Check the backup integrity: Look for errors, incomplete file, etc... Be sure to verify all of your data.'}</li>
<li>{l s='Please ask your hosting provider for "phpMyAdmin" access to your database.'}</li>
<li>{l s='Connect to "phpMyAdmin" and select your current database.'}</li>
<li>{l s='Unless you enabled the "Drop existing tables" option, you must delete all tables from your current database.'}</li>
<li>{l s='At the top of the screen, please select the "Import" tab'}</li>
<li>{l s='Click on the "Browse" button and select the backup file from your hard drive.'}</li>
<li>{l s='Check the maximum filesize allowed (e.g. Max: 16MB)'}<br />{l s='If your backup file exceeds this limit, contact your hosting provider for assistence. '}</li>
<li>{l s='Click on the "Go" button and please wait patiently for the import process to conclude. This may take several minutes.'}</li>
</ol>
</div>
</div>
{/block}

View File

@@ -28,52 +28,57 @@
{block name="override_header"}
{if isset($backup_url) && isset($backup_weight)}
<fieldset>
<legend><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /> {l s='Download'}</legend>
<p style="font-size: 13px;">
<a href="{$backup_url}"><img src="../img/admin/AdminBackup.gif" alt="" class="icon" /></a>
<b><a href="{$backup_url}">{l s='Download the backup file'} ({$backup_weight}{l s='MB'})</a></b><br /><br />
{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</fieldset><br /><br />
<div class="panel">
<h3>
<i class="icon-download"></i>
{l s='Download'}
</h3>
<p>
<a class="btn btn-default" href="{$backup_url}">
<i class="icon-download"></i>
{l s='Download the backup file'} ({$backup_weight}{l s='MB'})
</a>
</p>
<p>{l s='Tip: You can also download this file over to your FTP. Backup files are located in the "admin/backups" directory.'}</p>
</div>
{/if}
<div class="error width1" style="float: left; margin-right: 10px;">
<p>{l s='Disclaimer before creating a new backup'}</p>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px; padding-left: 10px;">
<li>{l s='PrestaShop is not responsible for your database, its backups and/or recovery.'}</li>
<li>{l s='PrestaShop is open-source software. You are using it at your own risk under the license agreement.'}</li>
<li>{l s='You should backup your data on a regular basis (both files and database).'}</li>
<li>{l s='This function only backs up your database, not your files.'}</li>
<li>{l s='By default, your existing database tables will be dropped during the backup recovery (see "Backup options" below).'}</li>
<li>{l s='Always verify the quality and integrity of your backup files!'}</li>
<li>{l s='Always verify that your backup files are complete, up-to-date and valid, even if you had a success message appear during the backup process.'}</li>
<li>{l s='Always check your data.'}</li>
<li>{l s='Never restore a backup on a live site.'}</li>
</ol>
<br />
<div class="alert alert-warning">
<button data-dismiss="alert" class="close" type="button">×</button>
<p>{l s='Disclaimer before creating a new backup'}</p>
<ol>
<li>{l s='PrestaShop is not responsible for your database, its backups and/or recovery.'}</li>
<li>{l s='PrestaShop is open-source software. You are using it at your own risk under the license agreement.'}</li>
<li>{l s='You should backup your data on a regular basis (both files and database).'}</li>
<li>{l s='This function only backs up your database, not your files.'}</li>
<li>{l s='By default, your existing database tables will be dropped during the backup recovery (see "Backup options" below).'}</li>
<li>{l s='Always verify the quality and integrity of your backup files!'}</li>
<li>{l s='Always verify that your backup files are complete, up-to-date and valid, even if you had a success message appear during the backup process.'}</li>
<li>{l s='Always check your data.'}</li>
<li>{l s='Never restore a backup on a live site.'}</li>
</ol>
<form action="{$currentIndex}&add{$table}&token={$token}" method="post" class="form-horizontal">
<button type="submit" class="btn btn-default">
<i class="icon-save"></i>
{l s='I have read the disclaimer. Please create a new backup.'}
</button>
</form>
</div>
<form action="{$currentIndex}&add{$table}&token={$token}" method="post" style="text-align:center;">
<input type="submit" class="button" value="{l s='I have read the disclaimer. Please create a new backup.'}" style="padding:10px;font-weight:bold;border:1px solid;cursor:pointer;" />
</form>
</div>
<div class="warn width2" style="float: left;">
<p>{l s='How to restore a database backup in 10 easy steps:'}</p>
<ol style="font-size: 11px; font-weight: normal; line-height: 20px;">
<li>{l s='Set "Enable Shop" to "No" in the "Maintenance" page under the "Preferences" menu.'}</li>
<li>{l s='Download the backup from the list below or from your FTP server (in the folder "admin/backups").'}</li>
<li>{l s='Check the backup integrity: Look for errors, incomplete file, etc... Be sure to verify all of your data.'}</li>
<li>{l s='Please ask your hosting provider for "phpMyAdmin" access to your database.'}</li>
<li>{l s='Connect to "phpMyAdmin" and select your current database.'}</li>
<li>{l s='Unless you enabled the "Drop existing tables" option, you must delete all tables from your current database.'}</li>
<li>{l s='At the top of the screen, please select the "Import" tab'}</li>
<li>{l s='Click on the "Browse" button and select the backup file from your hard drive.'}</li>
<li>{l s='Check the maximum filesize allowed (e.g. Max: 16MB)'}<br />{l s='If your backup file exceeds this limit, contact your hosting provider for assistence. '}</li>
<li>{l s='Click on the "Go" button and please wait patiently for the import process to conclude. This may take several minutes.'}</li>
</ol>
</div>
<div class="clear"></div>
<div class="alert alert-info">
<p>{l s='How to restore a database backup in 10 easy steps:'}</p>
<ol>
<li>{l s='Set "Enable Shop" to "No" in the "Maintenance" page under the "Preferences" menu.'}</li>
<li>{l s='Download the backup from the list below or from your FTP server (in the folder "admin/backups").'}</li>
<li>{l s='Check the backup integrity: Look for errors, incomplete file, etc... Be sure to verify all of your data.'}</li>
<li>{l s='Please ask your hosting provider for "phpMyAdmin" access to your database.'}</li>
<li>{l s='Connect to "phpMyAdmin" and select your current database.'}</li>
<li>{l s='Unless you enabled the "Drop existing tables" option, you must delete all tables from your current database.'}</li>
<li>{l s='At the top of the screen, please select the "Import" tab'}</li>
<li>{l s='Click on the "Browse" button and select the backup file from your hard drive.'}</li>
<li>{l s='Check the maximum filesize allowed (e.g. Max: 16MB)'}<br />{l s='If your backup file exceeds this limit, contact your hosting provider for assistence. '}</li>
<li>{l s='Click on the "Go" button and please wait patiently for the import process to conclude. This may take several minutes.'}</li>
</ol>
</div>
{/block}

View File

@@ -26,15 +26,13 @@
{extends file="helpers/view/view.tpl"}
{block name="override_tpl"}
<div class="conf">{l s='Beginning the download ...'}</div>
<div class="panel">
<h3><i class="icon-download"></i> {l s='Download'}</h3>
<div class="alert alert-success">{l s='Beginning the download ...'}</div>
<p>{l s='Backup files should automatically download.'}</p>
<p>{l s='If not,'} <b><a href="{$url_backup}">{l s='please click here!'}</a></b></p>
<p>{l s='If not,'} <b><a href="{$url_backup}" class="btn btn-default"><i class="icon-download"></i> {l s='please click here!'}</a></b></p>
<iframe width="0" height="0" scrolling="no" frameborder="0" src="{$url_backup}"></iframe>
</div>
{/block}

View File

@@ -32,27 +32,44 @@
{if $input.name == 'zones'}
<div class="ranges_not_follow warn" style="display:none">
<label>{l s="Ranges are not correctly ordered:"}</label>
<a href="#" onclick="checkRangeContinuity(true); return false;" class="button" style="text-decoration:none">{l s="Reordering"}</a>
<a href="#" onclick="checkRangeContinuity(true); return false;" class="btn btn-default">{l s="Reordering"}</a>
</div>
{include file='controllers/carrier_wizard/helpers/form/form_ranges.tpl'}
<!--
<div class="validate_range" style="display:none">
<a href="#" class="button" id="validate_range_button">{l s="Validate"}</a>
</div>
-->
<div class="new_range">
<a href="#" onclick="add_new_range();return false;" class="button" id="add_new_range">{l s='Add new range'}</a>
<a href="#" onclick="add_new_range();return false;" class="btn btn-default" id="add_new_range">{l s='Add new range'}</a>
</div>
{/if}
{if $input.name == 'logo'}
<div class="margin-form">
<input id="carrier_logo_input" type="file" onchange="uploadCarrierLogo();" name="carrier_logo_input" />
<div class="col-lg-9">
<input id="carrier_logo_input" class="hide" type="file" onchange="uploadCarrierLogo();" name="carrier_logo_input" />
<input type="hidden" id="logo" name="logo" value="" />
<p class="preference_description">
{l s='Format:'} JPG, GIF, PNG. {l s='Filesize:'} {$max_image_size|string_format:"%.2f"} {l s='MB max.'}
<br />{l s='Current size:'} <span id="carrier_logo_size">{l s='undefined'}</span>.
<div class="dummyfile input-group">
<span class="input-group-addon"><i class="icon-file"></i></span>
<input id="attachement_filename" type="text" class="disabled" name="filename" readonly="">
<span class="input-group-btn">
<button id="attachement_fileselectbutton" type="button" name="submitAddAttachments" class="btn btn-default">
<i class="icon-folder-open"></i> Choose a file
</button>
</span>
</div>
<p class="help-block">
{l s='Format:'} JPG, GIF, PNG. {l s='Filesize:'} {$max_image_size|string_format:"%.2f"} {l s='MB max.'}
{l s='Current size:'} <span id="carrier_logo_size">{l s='undefined'}</span>.
</p>
</div>
<script>
$(document).ready(function(){
$('#attachement_fileselectbutton').click(function(e){
$('#carrier_logo_input').trigger('click');
});
$('#carrier_logo_input').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#attachement_filename').val(file[file.length-1]);
});
});
</script>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -1,61 +1,104 @@
<script>var zones_nbr = {$zones|count +3} ; /*corresponds to the third input text (max, min and all)*/</script>
<div style="float:left" id="zone_ranges">
<table cellpadding="5" cellspacing="0" id="zones_table">
<tr class="range_inf">
<td class="range_type"></td>
<td class="border_left border_bottom range_sign">>=</td>
{foreach from=$ranges key=r item=range}
<td class="border_bottom center"><input name="range_inf[{$range.id_range|intval}]" type="text" value="{$range.delimiter1|string_format:"%.6f"}" /><sup>*</sup><span class="weight_unit">&nbsp; {$PS_WEIGHT_UNIT}</span><span class="price_unit">&nbsp; {$currency_sign}</span></td>
{foreachelse}
<td class="border_bottom center"><input name="range_inf[{$range.id_range|intval}]" type="text" /><sup>*</sup><span class="weight_unit">&nbsp; {$PS_WEIGHT_UNIT}</span><span class="price_unit">&nbsp; {$currency_sign}</span></td>
{/foreach}
</tr>
<tr class="range_sup">
<td class="center range_type"></td>
<td class="border_left range_sign"><</td>
{foreach from=$ranges key=r item=range}
<td class="center"><input name="range_sup[{$range.id_range|intval}]" type="text" {if isset($form_id) && !$form_id} value="" {else} value="{if isset($change_ranges) && $range.id_range == 0} {else}{$range.delimiter2|string_format:"%.6f"}{/if}" {/if}/><sup>*</sup><span class="weight_unit">&nbsp; {$PS_WEIGHT_UNIT}</span><span class="price_unit">&nbsp; {$currency_sign}</span></td>
{foreachelse}
<td class="center"><input name="range_sup[{$range.id_range|intval}]" type="text" /><sup>*</sup><span class="weight_unit">&nbsp; {$PS_WEIGHT_UNIT}</span><span class="price_unit">&nbsp; {$currency_sign}</span></td>
{/foreach}
</tr>
<tr class="fees_all">
<td class="border_top border_bottom border_bold"><span class="fees_all" {if $ranges|count == 0}style="display:none" {/if}>All</span></td>
<td><input type="checkbox" onclick="checkAllZones(this);" ></td>
{foreach from=$ranges key=r item=range}
<td class="center border_top border_bottom {if $range.id_range != 0} validated {/if}" >
<input type="text" {if isset($form_id) && !$form_id} disabled="disabled"{/if} {if $range.id_range == 0} style="display:none"{/if} /><span class="currency_sign" {if $range.id_range == 0} style="display:none" {/if}>&nbsp; {$currency_sign}</span>
<div id="zone_ranges">
<h4>{l s='Tranches'}</h4>
<table id="zones_table" class="table">
<tbody>
<tr class="range_inf">
<td class="range_type"></td>
<td class="border_left border_bottom range_sign">&gt;=</th>
{foreach from=$ranges key=r item=range}
<td class="border_bottom">
<div class="input-group">
<span class="input-group-addon weight_unit">{$PS_WEIGHT_UNIT}</span>
<span class="input-group-addon price_unit">{$currency_sign}</span>
<input class="form-control" name="range_inf[{$range.id_range|intval}]" type="text" value="{$range.delimiter1|string_format:"%.6f"}" />
</div>
</td>
{foreachelse}
<td class="center border_top border_bottom">
<input style="display:none" type="text" /><span class="currency_sign" style="display:none">&nbsp; {$currency_sign}</span>
{foreachelse}
<td class="border_bottom">
<div class="input-group">
<span class="input-group-addon weight_unit">{$PS_WEIGHT_UNIT}</span>
<span class="input-group-addon price_unit">{$currency_sign}</span>
<input name="form-control range_inf[{$range.id_range|intval}]" type="text" />
</div>
</td>
{/foreach}
</tr>
{foreach from=$zones key=i item=zone}
<tr class="fees {if $i is odd}alt_row{/if}" data-zoneid="{$zone.id_zone}">
<td><label for="zone_{$zone.id_zone}">{$zone.name}</label></td>
<td class="zone">
<input class="input_zone" id="zone_{$zone.id_zone}" name="zone_{$zone.id_zone}" value="1" type="checkbox" {if isset($fields_value['zones'][$zone.id_zone]) && $fields_value['zones'][$zone.id_zone]} checked="checked"{/if}/>
</td>
{foreach from=$ranges key=r item=range}
<td class="center">
<input name="fees[{$zone.id_zone|intval}][{$range.id_range|intval}]" type="text"
{if !isset($fields_value['zones'][$zone.id_zone]) || (isset($fields_value['zones'][$zone.id_zone]) && !$fields_value['zones'][$zone.id_zone])} disabled="disabled"{/if} {if isset($price_by_range[$range.id_range][$zone.id_zone]) && $price_by_range[$range.id_range][$zone.id_zone] && isset($fields_value['zones'][$zone.id_zone]) && $fields_value['zones'][$zone.id_zone]} value="{$price_by_range[$range.id_range][$zone.id_zone]|string_format:'%.6f'}" {else} value="" {/if} /> &nbsp; {$currency_sign}
{/foreach}
</tr>
<tr class="range_sup">
<td class="range_type"></td>
<td class="border_left range_sign">&lt;</td>
{foreach from=$ranges key=r item=range}
<td class="range_data">
<div class="input-group">
<span class="input-group-addon weight_unit">{$PS_WEIGHT_UNIT}</span>
<span class="input-group-addon price_unit">{$currency_sign}</span>
<input class="form-control" name="range_sup[{$range.id_range|intval}]" type="text" {if isset($form_id) && !$form_id} value="" {else} value="{if isset($change_ranges) && $range.id_range == 0} {else}{$range.delimiter2|string_format:"%.6f"}{/if}" {/if}/>
</div>
</td>
{foreachelse}
<td class="range_data_new">
<div class="input-group">
<span class="input-group-addon weight_unit">{$PS_WEIGHT_UNIT}</span>
<span class="input-group-addon price_unit">{$currency_sign}</span>
<input class="form-control" name="range_sup[{$range.id_range|intval}]" type="text" />
</div>
</td>
{/foreach}
</tr>
<tr class="fees_all">
<td class="border_top border_bottom border_bold">
<span class="fees_all" {if $ranges|count == 0}style="display:none" {/if}>All</span>
</td>
<td>
<input type="checkbox" onclick="checkAllZones(this);" class="form-control">
</td>
{foreach from=$ranges key=r item=range}
<td class="border_top border_bottom {if $range.id_range != 0} validated {/if}" >
<div class="input-group">
<span class="input-group-addon currency_sign" {if $range.id_range == 0} style="display:none" {/if}>{$currency_sign}</span>
<input class="form-control" type="text" {if isset($form_id) && !$form_id} disabled="disabled"{/if} {if $range.id_range == 0} style="display:none"{/if} />
</div>
</td>
{foreachelse}
<td class="border_top border_bottom">
<div class="input-group">
<span class="input-group-addon currency_sign" style="display:none">{$currency_sign}</span>
<input class="form-control" style="display:none" type="text" />
</div>
</td>
{/foreach}
</tr>
{foreach from=$zones key=i item=zone}
<tr class="fees" data-zoneid="{$zone.id_zone}">
<td>
<label for="zone_{$zone.id_zone}">{$zone.name}</label>
</td>
<td class="zone">
<input class="form-control input_zone" id="zone_{$zone.id_zone}" name="zone_{$zone.id_zone}" value="1" type="checkbox" {if isset($fields_value['zones'][$zone.id_zone]) && $fields_value['zones'][$zone.id_zone]} checked="checked"{/if}/>
</td>
{foreach from=$ranges key=r item=range}
<td>
<div class="input-group">
<span class="input-group-addon">{$currency_sign}</span>
<input class="form-control" name="fees[{$zone.id_zone|intval}][{$range.id_range|intval}]" type="text" {if !isset($fields_value['zones'][$zone.id_zone]) || (isset($fields_value['zones'][$zone.id_zone]) && !$fields_value['zones'][$zone.id_zone])} disabled="disabled"{/if} {if isset($price_by_range[$range.id_range][$zone.id_zone]) && $price_by_range[$range.id_range][$zone.id_zone] && isset($fields_value['zones'][$zone.id_zone]) && $fields_value['zones'][$zone.id_zone]} value="{$price_by_range[$range.id_range][$zone.id_zone]|string_format:'%.6f'}" {else} value="" {/if} />
</div>
</td>
{/foreach}
</tr>
{/foreach}
</tr>
{/foreach}
<tr class="delete_range">
<td>&nbsp;</td>
<td>&nbsp;</td>
{foreach from=$ranges name=ranges key=r item=range}
{if $smarty.foreach.ranges.first}
<td class="center">&nbsp;</td>
{else}
<td class="center"><button class="button">{l s='Delete'}</button></td>
{/if}
{/foreach}
</tr>
<tr class="delete_range">
<td>&nbsp;</td>
<td>&nbsp;</td>
{foreach from=$ranges name=ranges key=r item=range}
{if $smarty.foreach.ranges.first}
<td>&nbsp;</td>
{else}
<td>
<button class="btn btn-default">{l s='Delete'}</button>
</td>
{/if}
{/foreach}
</tr>
</tbody>
</table>
</div>

View File

@@ -43,24 +43,28 @@
var range_is_overlapping = '{l s='Ranges are overlapping' js=1}';
var multistore_enable = '{$multistore_enable}';
</script>
<div id="carrier_wizard" class="swMain">
<ul class="nbr_steps_{$wizard_steps.steps|count}">
{foreach from=$wizard_steps.steps key=step_nbr item=step}
<li>
<a href="#step-{$step_nbr + 1}">
<label class="stepNumber">{$step_nbr + 1}</label>
<span class="stepDesc">
{$step.title}<br />
{if isset($step.desc)}<small>{$step.desc}</small>{/if}
</span>
</a>
</li>
{/foreach}
</ul>
{foreach from=$wizard_contents.contents key=step_nbr item=content}
<div id="step-{$step_nbr + 1}" class="step_container">
{$content}
</div>
{/foreach}
<div class="row">
<div id="carrier_wizard" class="panel swMain">
<ul class="steps nbr_steps_{$wizard_steps.steps|count}">
{foreach from=$wizard_steps.steps key=step_nbr item=step}
<li>
<a href="#step-{$step_nbr + 1}">
<span class="stepNumber">{$step_nbr + 1}</span>
<span class="stepDesc">
{$step.title}<br />
{if isset($step.desc)}<small>{$step.desc}</small>{/if}
</span>
<span class="chevron"></span>
</a>
</li>
{/foreach}
</ul>
{foreach from=$wizard_contents.contents key=step_nbr item=content}
<div id="step-{$step_nbr + 1}" class="step_container">
{$content}
</div>
{/foreach}
</div>
</div>
{/block}

View File

@@ -24,9 +24,8 @@
*}
<div id="carrier_logo_block">
<img id="carrier_logo_img" src="{if $carrier_logo}{$carrier_logo}{else}../img/admin/carrier-default.jpg{/if}" />
<br/>
<a id="carrier_logo_remove" {if !$carrier_logo}style="display:none"{/if} href="javascript:removeCarrierLogo();"><img src="../img/admin/disabled.gif" /> {l s='Remove the logo'}</a>
<img id="carrier_logo_img" src="{if $carrier_logo}{$carrier_logo}{else}../img/admin/carrier-default.jpg{/if}" class="thumbnail" />
<a id="carrier_logo_remove" class="btn btn-default" {if !$carrier_logo}style="display:none"{/if} href="javascript:removeCarrierLogo();"><i class="icon-trash"></i> {l s='Remove the logo'}</a>
</div>
<script type="text/javascript">

View File

@@ -34,35 +34,27 @@
var summary_translation_price = '<strong>{l s='according to the price' js=1}</strong>';
var summary_translation_weight = '<strong>{l s='according to the weight' js=1}</strong>';
</script>
<div class="defaultForm">
<fieldset>
<div class="panel">
{l s='Carrier name:'} <strong id="summary_name"></strong>
<div class="clear">&nbsp;</div>
<div id="summary_meta_informations"></div>
<div class="clear">&nbsp;</div>
<div id="summary_shipping_cost"></div>
<div class="clear">&nbsp;</div>
<div id="summary_range"></div>
<div class="clear">&nbsp;</div>
<div>
{l s='This carrier will be proposed for those delivery zones:'}
<ul id="summary_zones"></ul>
</div>
<div class="clear">&nbsp;</div>
<div>
{l s='And it will be proposed for those client groups:'}
<ul id="summary_groups"></ul>
</div>
{if $is_multishop}
<div class="clear">&nbsp;</div>
<div>
{l s='Finally, this carrier will be proposed in those shops:'}
<ul id="summary_shops"></ul>
</div>
{/if}
<div class="clear">&nbsp;</div>
{$active_form}
</fieldset>
</div>
<div class="clear">&nbsp;</div>
</div>

View File

@@ -1,101 +1,155 @@
<label>{l s='Free shipping'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="free_shipping" id="free_shipping_on" value="1" {if $currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t" for="free_shipping_on"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="free_shipping" id="free_shipping_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t" for="free_shipping_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /></label>
</div>
<hr />
<label>{l s='Apply a discount'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="apply_discount" id="apply_discount_percent" value="percent" {if $currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_percent"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /> {l s='Percent (%)'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount" id="apply_discount_amount" value="amount" {if $currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_amount"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /> {l s='Amount'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount" id="apply_discount_off" value="off" {if !$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0 && !$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /> {l s='None'}</label>
</div>
<div id="apply_discount_percent_div">
<label>{l s='Value'}</label>
<div class="margin-form">
<input type="text" id="reduction_percent" name="reduction_percent" value="{$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval}" style="width:40px" /> %
<p>{l s='Does not apply to the shipping costs'}</p>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Free shipping'}</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="free_shipping" id="free_shipping_on" value="1" {if $currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t radio" for="free_shipping_on">
<i class="icon-check-sign color_success"></i> {l s='Yes'}
</label>
<input type="radio" name="free_shipping" id="free_shipping_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'free_shipping')|intval}checked="checked"{/if} />
<label class="t radio" for="free_shipping_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<div id="apply_discount_amount_div">
<label>{l s='Amount'}</label>
<div class="margin-form">
<input type="text" id="reduction_amount" name="reduction_amount" value="{$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval}" onchange="this.value = this.value.replace(/,/g, '.');" />
<select name="reduction_currency">
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}" {if $currentTab->getFieldValue($currentObject, 'reduction_currency') == $currency.id_currency || (!$currentTab->getFieldValue($currentObject, 'reduction_currency') && $currency.id_currency == $defaultCurrency)}selected="selected"{/if}>{$currency.iso_code}</option>
{/foreach}
</select>
<select name="reduction_tax">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
</div>
</div>
<div id="apply_discount_to_div">
<label>{l s='Apply a discount to'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_order" value="order" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == 0}checked="checked"{/if} />
<label class="t" for="apply_discount_to_order"> {l s='Order (without shipping)'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_product" value="specific" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval > 0}checked="checked"{/if} />
<label class="t" for="apply_discount_to_product"> {l s='Specific product'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_cheapest" value="cheapest" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -1}checked="checked"{/if} />
<label class="t" for="apply_discount_to_cheapest"> {l s='Cheapest product'}</label>
&nbsp;&nbsp;
<input type="radio" name="apply_discount_to" id="apply_discount_to_selection" value="selection" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -2}checked="checked"{/if} />
<label class="t" for="apply_discount_to_selection"> {l s='Selected product(s)'}</label>
</div>
<div id="apply_discount_to_product_div">
<label>{l s='Product'}</label>
<div class="margin-form">
<input type="hidden" id="reduction_product" name="reduction_product" value="{$currentTab->getFieldValue($currentObject, 'reduction_product')|intval}" />
<input type="text" id="reductionProductFilter" name="reductionProductFilter" value="{$reductionProductFilter|escape:'htmlall':'UTF-8'}" style="width:400px" />
<div class="form-group">
<label class="control-label col-lg-3">{l s='Apply a discount'}</label>
<div class="col-lg-9">
<div class="radio">
<label for="apply_discount_percent">
<input type="radio" name="apply_discount" id="apply_discount_percent" value="percent" {if $currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
{l s='Percent (%)'}
</label>
</div>
<div class="radio">
<label for="apply_discount_amount">
<input type="radio" name="apply_discount" id="apply_discount_amount" value="amount" {if $currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0}checked="checked"{/if} />
{l s='Amount'}
</label>
</div>
<div class="radio">
<label for="apply_discount_off">
<input type="radio" name="apply_discount" id="apply_discount_off" value="off" {if !$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval > 0 && !$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval > 0}checked="checked"{/if} />
<i class="icon-ban-circle color_danger"></i> {l s='None'}
</label>
</div>
</div>
</div>
<hr />
<label>{l s='Send a free gift'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="free_gift" id="free_gift_on" value="1" {if $currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t" for="free_gift_on"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="free_gift" id="free_gift_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t" for="free_gift_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /></label>
</div>
<div id="free_gift_div">
<label>{l s='Search a product'}</label>
<div class="margin-form">
<input type="text" id="giftProductFilter" value="{$giftProductFilter}" style="width:400px" />
<div id="apply_discount_percent_div" class="form-group">
<label class="control-label col-lg-3">{l s='Value'}</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">%</span>
<input type="text" id="reduction_percent" class="input-mini" name="reduction_percent" value="{$currentTab->getFieldValue($currentObject, 'reduction_percent')|floatval}" />
</div>
<div id="gift_products_found" {if $gift_product_select == ''}style="display:none"{/if}>
<div id="gift_product_list">
<label>{l s='Matching products'}</label>
<select name="gift_product" id="gift_product" onclick="displayProductAttributes();">
<span class="help-block"><i class="icon-warning-sign"></i> {l s='Does not apply to the shipping costs'}</span>
</div>
<div id="apply_discount_amount_div" class="form-group">
<label class="control-label col-lg-3">{l s='Amount'}</label>
<div class="col-lg-7">
<div class="row">
<div class="col-lg-4">
<input type="text" id="reduction_amount" name="reduction_amount" value="{$currentTab->getFieldValue($currentObject, 'reduction_amount')|floatval}" onchange="this.value = this.value.replace(/,/g, '.');" />
</div>
<div class="col-lg-4">
<select name="reduction_currency" >
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}" {if $currentTab->getFieldValue($currentObject, 'reduction_currency') == $currency.id_currency || (!$currentTab->getFieldValue($currentObject, 'reduction_currency') && $currency.id_currency == $defaultCurrency)}selected="selected"{/if}>{$currency.iso_code}</option>
{/foreach}
</select>
</div>
<div class="col-lg-4">
<select name="reduction_tax" >
<option value="0" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'reduction_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
</div>
</div>
</div>
</div>
<div id="apply_discount_to_div" class="form-group">
<label class="control-label col-lg-3">{l s='Apply a discount to'}</label>
<div class="col-lg-7">
<p class="checkbox">
<label class="t radio" for="apply_discount_to_order">
<input type="radio" name="apply_discount_to" id="apply_discount_to_order" value="order" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == 0}checked="checked"{/if} />
{l s='Order (without shipping)'}
</label>
</p>
<p class="checkbox">
<label class="t radio" for="apply_discount_to_product">
<input type="radio" name="apply_discount_to" id="apply_discount_to_product" value="specific" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval > 0}checked="checked"{/if} />
{l s='Specific product'}
</label>
</p>
<p class="checkbox">
<label class="t radio" for="apply_discount_to_cheapest">
<input type="radio" name="apply_discount_to" id="apply_discount_to_cheapest" value="cheapest" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -1}checked="checked"{/if} />
{l s='Cheapest product'}
</label>
</p>
<p class="checkbox">
<label class="t radio" for="apply_discount_to_selection">
<input type="radio" name="apply_discount_to" id="apply_discount_to_selection" value="selection" {if $currentTab->getFieldValue($currentObject, 'reduction_product')|intval == -2}checked="checked"{/if} />
{l s='Selected product(s)'}
</label>
</p>
</div>
</div>
<div id="apply_discount_to_product_div" class="form-group">
<label class="control-label col-lg-3">{l s='Product'}</label>
<div class="input-group col-lg-5">
<input type="text" id="reductionProductFilter" name="reductionProductFilter" value="{$reductionProductFilter|escape:'htmlall':'UTF-8'}" />
<input type="hidden" id="reduction_product" name="reduction_product" value="{$currentTab->getFieldValue($currentObject, 'reduction_product')|intval}" />
<span class="input-group-addon"><i class="icon-search"></i></span>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Send a free gift'}</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="free_gift" id="free_gift_on" value="1" {if $currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t radio" for="free_gift_on">
<i class="icon-check-sign color_success"></i> {l s='Yes'}
</label>
<input type="radio" name="free_gift" id="free_gift_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'gift_product')|intval}checked="checked"{/if} />
<label class="t radio" for="free_gift_off">
<i class="icon-ban-circle color_danger"></i> {l s='No'}
</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<div id="free_gift_div" class="form-group">
<label class="control-label col-lg-3">{l s='Search a product'}</label>
<div class="input-group col-lg-5">
<input type="text" id="giftProductFilter" value="{$giftProductFilter}" />
<span class="input-group-addon"><i class="icon-search"></i></span>
</div>
</div>
<div id="gift_products_found" {if $gift_product_select == ''}style="display:none"{/if}>
<div id="gift_product_list" class="form-group">
<label class="control-label col-lg-3">{l s='Matching products'}</label>
<div class="col-lg-5">
<select name="gift_product" id="gift_product" onclick="displayProductAttributes();" class="control-form">
{$gift_product_select}
</select>
</div>
<div class="clear">&nbsp;</div>
<div id="gift_attributes_list" {if !$hasAttribute}style="display:none"{/if}>
<label>{l s='Available combinations'}</label>
<div id="gift_attributes_list_select">
{$gift_product_attribute_select}
</div>
</div>
<div class="clear">&nbsp;</div>
</div>
<div id="gift_products_err" class="warn" style="display:none"></div>
<div id="gift_attributes_list" class="form-group" {if !$hasAttribute}style="display:none"{/if}>
<label class="control-label col-lg-3">{l s='Available combinations'}</label>
<div class="col-lg-5" id="gift_attributes_list_select">
{$gift_product_attribute_select}
</div>
</div>
</div>
<div id="gift_products_err" class="alert alert-warning" style="display:none"></div>

View File

@@ -1,256 +1,301 @@
<label>{l s='Limit to a single customer'}</label>
<div class="margin-form">
<input type="hidden" id="id_customer" name="id_customer" value="{$currentTab->getFieldValue($currentObject, 'id_customer')|intval}" />
<input type="text" id="customerFilter" name="customerFilter" value="{$customerFilter|escape:'htmlall':'UTF-8'}" style="width:400px" />
<p class="preference_description">{l s='Optional: The cart rule will be available to everyone if you leave this field blank.'}</p>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Optional: The cart rule will be available to everyone if you leave this field blank.'}">
{l s='Limit to a single customer'}
</span>
</label>
<div class="input-group col-lg-9">
<span class="input-group-addon"><i class="icon-user"></i></i></span>
<input type="hidden" id="id_customer" name="id_customer" value="{$currentTab->getFieldValue($currentObject, 'id_customer')|intval}" />
<input type="text" id="customerFilter" class="input-xlarge" name="customerFilter" value="{$customerFilter|escape:'htmlall':'UTF-8'}" />
<span class="input-group-addon"><i class="icon-search"></i></span>
</div>
</div>
<label>{l s='Valid'}</label>
<div class="margin-form">
<strong>{l s='From'}</strong>
<input type="text" class="datepicker" name="date_from"
value="{if $currentTab->getFieldValue($currentObject, 'date_from')}{$currentTab->getFieldValue($currentObject, 'date_from')|escape}{else}{$defaultDateFrom}{/if}" />
<strong>{l s='To'}</strong>
<input type="text" class="datepicker" name="date_to"
value="{if $currentTab->getFieldValue($currentObject, 'date_to')}{$currentTab->getFieldValue($currentObject, 'date_to')|escape}{else}{$defaultDateTo}{/if}" />
<p class="preference_description">{l s='The default period is one month.'}</p>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='The default period is one month.'}">
{l s='Valid'}
</span>
</label>
<div class="col-lg-9">
<div class="row">
<div class="input-group col-lg-6">
<span class="input-group-addon">{l s='From'}</span>
<input type="text" class="datepicker input-medium" name="date_from"
value="{if $currentTab->getFieldValue($currentObject, 'date_from')}{$currentTab->getFieldValue($currentObject, 'date_from')|escape}{else}{$defaultDateFrom}{/if}" />
<span class="input-group-addon"><i class="icon-calendar-empty"></i></span>
</div>
<div class="input-group col-lg-6">
<span class="input-group-addon">{l s='To'}</span>
<input type="text" class="datepicker input-medium" name="date_to"
value="{if $currentTab->getFieldValue($currentObject, 'date_to')}{$currentTab->getFieldValue($currentObject, 'date_to')|escape}{else}{$defaultDateTo}{/if}" />
<span class="input-group-addon"><i class="icon-calendar-empty"></i></span>
</div>
</div>
</div>
</div>
<label>{l s='Minimum amount'}</label>
<div class="margin-form">
<input type="text" name="minimum_amount" value="{$currentTab->getFieldValue($currentObject, 'minimum_amount')|floatval}" />
<select name="minimum_amount_currency">
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}"
{if $currentTab->getFieldValue($currentObject, 'minimum_amount_currency') == $currency.id_currency
|| (!$currentTab->getFieldValue($currentObject, 'minimum_amount_currency') && $currency.id_currency == $defaultCurrency)}
selected="selected"
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='You can choose a minimum amount for the cart either with or without the taxes and shipping.'}">
{l s='Minimum amount'}
</span>
</label>
<div class="col-lg-9">
<div class="row">
<div class="col-lg-3">
<input type="text" name="minimum_amount" value="{$currentTab->getFieldValue($currentObject, 'minimum_amount')|floatval}" />
</div>
<div class="col-lg-2">
<select name="minimum_amount_currency">
{foreach from=$currencies item='currency'}
<option value="{$currency.id_currency|intval}"
{if $currentTab->getFieldValue($currentObject, 'minimum_amount_currency') == $currency.id_currency
|| (!$currentTab->getFieldValue($currentObject, 'minimum_amount_currency') && $currency.id_currency == $defaultCurrency)}
selected="selected"
{/if}
>
{$currency.iso_code}
</option>
{/foreach}
</select>
</div>
<div class="col-lg-3">
<select name="minimum_amount_tax">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
</div>
<div class="col-lg-4">
<select name="minimum_amount_shipping">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 0}selected="selected"{/if}>{l s='Shipping excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 1}selected="selected"{/if}>{l s='Shipping included'}</option>
</select>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='The cart rule will be applied to the first "X" customers only.'}">
{l s='Total available'}
</span>
</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="quantity" value="{$currentTab->getFieldValue($currentObject, 'quantity')|intval}" />
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='A customer will only be able to use the cart rule "X" time(s).'}">
{l s='Total available for each user.'}
</span>
</label>
<div class="col-lg-9">
<input class="form-control" type="text" name="quantity_per_user" value="{$currentTab->getFieldValue($currentObject, 'quantity_per_user')|intval}" />
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
{l s='Restrictions'}
</label>
<div class="col-lg-9">
{if $countries.unselected|@count + $countries.selected|@count > 1}
<p class="checkbox">
<label>
<input type="checkbox" id="country_restriction" name="country_restriction" value="1" {if $countries.unselected|@count}checked="checked"{/if} />
{l s='Country selection'}
</label>
</p>
<span class="help-block">{l s='This restriction applies to the country of delivery.'}</span>
<div id="country_restriction_div">
<table class="table">
<tr>
<td>
<p>{l s='Unselected countries'}</p>
<select id="country_select_1" multiple>
{foreach from=$countries.unselected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{/foreach}
</select>
<a id="country_select_add" class="btn btn-block clearfix">{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Selected countries'}</p>
<select name="country_select[]" id="country_select_2" class="input-large" multiple>
{foreach from=$countries.selected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{/foreach}
</select>
<a id="country_select_remove" class="btn btn-block clearfix"><i class="icon-arrow-left"></i> {l s='Remove'} </a>
</td>
</tr>
</table>
</div>
{/if}
>
{$currency.iso_code}
</option>
{/foreach}
</select>
<select name="minimum_amount_tax">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 0}selected="selected"{/if}>{l s='Tax excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_tax') == 1}selected="selected"{/if}>{l s='Tax included'}</option>
</select>
<select name="minimum_amount_shipping">
<option value="0" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 0}selected="selected"{/if}>{l s='Shipping excluded'}</option>
<option value="1" {if $currentTab->getFieldValue($currentObject, 'minimum_amount_shipping') == 1}selected="selected"{/if}>{l s='Shipping included'}</option>
</select>
<p class="preference_description">{l s='You can choose a minimum amount for the cart either with or without the taxes and shipping.'}</p>
</div>
<label>{l s='Total available'}</label>
<div class="margin-form">
<input type="text" name="quantity" value="{$currentTab->getFieldValue($currentObject, 'quantity')|intval}" />
<p class="preference_description">{l s='The cart rule will be applied to the first "X" customers only.'}</p>
</div>
<label>{l s='Total available for each user.'}</label>
<div class="margin-form">
<input type="text" name="quantity_per_user" value="{$currentTab->getFieldValue($currentObject, 'quantity_per_user')|intval}" />
<p class="preference_description">{l s='A customer will only be able to use the cart rule "X" time(s).'}</p>
</div>
{if $countries.unselected|@count + $countries.selected|@count > 1}
<br />
<input type="checkbox" id="country_restriction" name="country_restriction" value="1" {if $countries.unselected|@count}checked="checked"{/if} /> <strong>{l s='Country selection'}</strong>
<div id="country_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected countries'}</strong></p>
<select id="country_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$countries.unselected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{if $carriers.unselected|@count + $carriers.selected|@count > 1}
<p class="checkbox">
<label>
<input type="checkbox" id="carrier_restriction" name="carrier_restriction" value="1" {if $carriers.unselected|@count}checked="checked"{/if} />
{l s='Carrier selection'}
</label>
</p>
<div id="carrier_restriction_div">
<table class="table">
<tr>
<td>
<p>{l s='Unselected carriers'}</p>
<select id="carrier_select_1" class="input-large" multiple>
{foreach from=$carriers.unselected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select>
<a id="carrier_select_add" class="btn btn-default btn-block clearfix" >{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Selected carriers'}</p>
<select name="carrier_select[]" id="carrier_select_2" class="input-large" multiple>
{foreach from=$carriers.selected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select>
<a id="carrier_select_remove" class="btn btn-default btn-block clearfix"><i class="icon-arrow-left"></i> {l s='Remove'} </a>
</td>
</tr>
</table>
</div>
{/if}
{if $groups.unselected|@count + $groups.selected|@count > 1}
<p class="checkbox">
<label>
<input type="checkbox" id="group_restriction" name="group_restriction" value="1" {if $groups.unselected|@count}checked="checked"{/if} />
{l s='Customer group selection'}
</label>
</p>
<div id="group_restriction_div">
<table class="table">
<tr>
<td>
<p>{l s='Unselected groups'}</p>
<select id="group_select_1" class="input-large" multiple>
{foreach from=$groups.unselected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select>
<a id="group_select_add" class="btn btn-default btn-block clearfix" >{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Selected groups'}</p>
<select name="group_select[]" class="input-large" id="group_select_2" multiple>
{foreach from=$groups.selected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select>
<a id="group_select_remove" class="btn btn-default btn-block clearfix" ><i class="icon-arrow-left"></i> {l s='Remove'}</a>
</td>
</tr>
</table>
</div>
{/if}
{if $cart_rules.unselected|@count + $cart_rules.selected|@count > 0}
<p class="checkbox">
<label>
<input type="checkbox" id="cart_rule_restriction" name="cart_rule_restriction" value="1" {if $cart_rules.unselected|@count}checked="checked"{/if} />
{l s='Compatibility with other cart rules'}
</label>
</p>
<div id="cart_rule_restriction_div" >
<table class="table">
<tr>
<td>
<p>{l s='Uncombinable cart rules'}</p>
<select id="cart_rule_select_1" multiple="">
{foreach from=$cart_rules.unselected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select>
<a id="cart_rule_select_add" class="btn btn-default btn-block clearfix">{l s='Add'} <i class="icon-arrow-right"></i></a>
</td>
<td>
<p>{l s='Combinable cart rules'}</p>
<select name="cart_rule_select[]" id="cart_rule_select_2" multiple>
{foreach from=$cart_rules.selected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select>
<a id="cart_rule_select_remove" class="btn btn-default btn-block clearfix" ><i class="icon-arrow-left"></i> {l s='Remove'}</a>
</td>
</tr>
</table>
</div>
{/if}
<p class="checkbox">
<label>
<input type="checkbox" id="product_restriction" name="product_restriction" value="1" {if $product_rule_groups|@count}checked="checked"{/if} />
{l s='Product selection'}
</label>
</p>
<div id="product_restriction_div">
<table id="product_rule_group_table" class="table">
{foreach from=$product_rule_groups item='product_rule_group'}
{$product_rule_group}
{/foreach}
</select><br /><br />
<a
id="country_select_add"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</table>
<a href="javascript:addProductRuleGroup();" class="btn btn-default ">
<i class="icon-plus-sign"></i> {l s='Product selection'}
</a>
</td>
<td>
<p><strong>{l s='Selected countries'}</strong></p>
<select name="country_select[]" id="country_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$countries.selected item='country'}
<option value="{$country.id_country|intval}">&nbsp;{$country.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="country_select_remove"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
<p>{l s='This restriction applies to the country of delivery.'}</p>
</div>
{/if}
{if $carriers.unselected|@count + $carriers.selected|@count > 1}
<br />
<input type="checkbox" id="carrier_restriction" name="carrier_restriction" value="1" {if $carriers.unselected|@count}checked="checked"{/if} /> <strong>{l s='Carrier selection'}</strong>
<div id="carrier_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected carriers'}</strong></p>
<select id="carrier_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$carriers.unselected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="carrier_select_add"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected carriers'}</strong></p>
<select name="carrier_select[]" id="carrier_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$carriers.selected item='carrier'}
<option value="{$carrier.id_reference|intval}">&nbsp;{$carrier.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="carrier_select_remove"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}
{if $groups.unselected|@count + $groups.selected|@count > 1}
<br />
<input type="checkbox" id="group_restriction" name="group_restriction" value="1" {if $groups.unselected|@count}checked="checked"{/if} />
<strong>{l s='Customer group selection'}</strong>
<div id="group_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected groups'}</strong></p>
<select id="group_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$groups.unselected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="group_select_add"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected groups'}</strong></p>
<select name="group_select[]" id="group_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$groups.selected item='group'}
<option value="{$group.id_group|intval}">&nbsp;{$group.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="group_select_remove"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}
{if $cart_rules.unselected|@count + $cart_rules.selected|@count > 0}
<br />
<input type="checkbox" id="cart_rule_restriction" name="cart_rule_restriction" value="1" {if $cart_rules.unselected|@count}checked="checked"{/if} />
<strong>{l s='Compatibility with other cart rules'}</strong>
<div id="cart_rule_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Uncombinable cart rules'}</strong></p>
<select id="cart_rule_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple="">
{foreach from=$cart_rules.unselected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="cart_rule_select_add"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Combinable cart rules'}</strong></p>
<select name="cart_rule_select[]" id="cart_rule_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$cart_rules.selected item='cart_rule'}
<option value="{$cart_rule.id_cart_rule|intval}">&nbsp;{$cart_rule.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="cart_rule_select_remove"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}
<br />
<input type="checkbox" id="product_restriction" name="product_restriction" value="1" {if $product_rule_groups|@count}checked="checked"{/if} /> <strong>{l s='Product selection'}</strong>
<div id="product_restriction_div">
<table id="product_rule_group_table" style="border:1px solid #AAAAAA;margin:10px 0 10px 0;padding:10px 10px 10px 10px;background-color:#FFF5D3;width:600px;display:none" cellpadding="0" cellspacing="0">
{foreach from=$product_rule_groups item='product_rule_group'}
{$product_rule_group}
{/foreach}
</table>
<a href="javascript:addProductRuleGroup();" style="margin-top:5px;display:block">
<img src="../img/admin/add.gif" alt="{l s='Add'}" title="{l s='Add'}" /> {l s='Product selection'}
</a>
</div>
{if $shops.unselected|@count + $shops.selected|@count > 1}
<br />
<input type="checkbox" id="shop_restriction" name="shop_restriction" value="1" {if $shops.unselected|@count}checked="checked"{/if} /> <strong>{l s='Shop selection'}</strong>
<div id="shop_restriction_div" style="border:1px solid #AAAAAA;margin-top:10px;padding:0 10px 10px 10px;background-color:#FFF5D3">
<table>
<tr>
<td style="padding-left:20px;">
<p><strong>{l s='Unselected shops'}</strong></p>
<select id="shop_select_1" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$shops.unselected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="shop_select_add"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected shops'}</strong></p>
<select name="shop_select[]" id="shop_select_2" style="border:1px solid #AAAAAA;width:400px;height:160px" multiple>
{foreach from=$shops.selected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select><br /><br />
<a
id="shop_select_remove"
style="text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
</div>
{/if}
</div>
{if $shops.unselected|@count + $shops.selected|@count > 1}
<p class="checkbox">
<label>
<input type="checkbox" id="shop_restriction" name="shop_restriction" value="1" {if $shops.unselected|@count}checked="checked"{/if} />
{l s='Shop selection'}
</label>
</p>
<div id="shop_restriction_div">
<br/>
<table class="table">
<tr>
<td>
<p>{l s='Unselected shops'}</p>
<select id="shop_select_1" multiple>
{foreach from=$shops.unselected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select>
<br/>
<a id="shop_select_add" class="btn btn-default" >{l s='Add'} &gt;&gt; </a>
</td>
<td>
<p>{l s='Selected shops'}</p>
<select name="shop_select[]" id="shop_select_2" multiple>
{foreach from=$shops.selected item='shop'}
<option value="{$shop.id_shop|intval}">&nbsp;{$shop.name|escape}</option>
{/foreach}
</select>
<br/>
<a id="shop_select_remove" class="btn btn-default" > &lt;&lt; {l s='Remove'} </a>
</td>
</tr>
</table>
</div>
</div>
{/if}
</div>
</div>

View File

@@ -303,16 +303,16 @@ $('#customerFilter')
function displayCartRuleTab(tab)
{
$('.cart_rule_tab').hide();
$('.tab-page').removeClass('selected');
$('.tab-row.active').removeClass('active');
$('#cart_rule_' + tab).show();
$('#cart_rule_link_' + tab).addClass('selected');
$('#cart_rule_link_' + tab).parent().addClass('active');
$('#currentFormTab').val(tab);
}
$('.cart_rule_tab').hide();
$('.tab-page').removeClass('selected');
$('.tab-row.active').removeClass('active');
$('#cart_rule_' + currentFormTab).show();
$('#cart_rule_link_' + currentFormTab).addClass('selected');
$('#cart_rule_link_' + currentFormTab).parent().addClass('active');
var date = new Date();
var hours = date.getHours();

View File

@@ -1,59 +1,51 @@
{include file="toolbar.tpl" toolbar_btn=$toolbar_btn toolbar_scroll=$toolbar_scroll title=$title}
<div class="leadin">{block name="leadin"}{/block}</div>
<div>
<div class="productTabs">
<ul class="tab">
<div class="panel">
<h3><i class="icon-tag"></i> {l s='Cart rule'}</h3>
<div class="productTabs">
<ul class="tab nav nav-tabs">
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_informations" href="javascript:displayCartRuleTab('informations');">{l s='Information'}</a>
<a class="tab-page" id="cart_rule_link_informations" href="javascript:displayCartRuleTab('informations');"><i class="icon-info"></i> {l s='Information'}</a>
</li>
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_conditions" href="javascript:displayCartRuleTab('conditions');">{l s='Conditions'}</a>
<a class="tab-page" id="cart_rule_link_conditions" href="javascript:displayCartRuleTab('conditions');"><i class="icon-random"></i> {l s='Conditions'}</a>
</li>
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_actions" href="javascript:displayCartRuleTab('actions');">{l s='Actions'}</a>
<a class="tab-page" id="cart_rule_link_actions" href="javascript:displayCartRuleTab('actions');"><i class="icon-wrench"></i> {l s='Actions'}</a>
</li>
</ul>
</div>
</div>
<form action="{$currentIndex|escape}&token={$currentToken|escape}&addcart_rule" id="cart_rule_form" method="post">
{if $currentObject->id}<input type="hidden" name="id_cart_rule" value="{$currentObject->id|intval}" />{/if}
<input type="hidden" id="currentFormTab" name="currentFormTab" value="informations" />
<div id="cart_rule_informations" class="cart_rule_tab">
<h4>{l s='Cart-rule information'}</h4>
<div class="separation"></div>
{include file='controllers/cart_rules/informations.tpl'}
</div>
<div id="cart_rule_conditions" class="cart_rule_tab">
<h4>{l s='Cart-rule conditions'}</h4>
<div class="separation"></div>
{include file='controllers/cart_rules/conditions.tpl'}
</div>
<div id="cart_rule_actions" class="cart_rule_tab">
<h4>{l s='Cart-rule actions'}</h4>
<div class="separation"></div>
{include file='controllers/cart_rules/actions.tpl'}
</div>
<div class="separation"></div>
<div style="text-align:center">
<input type="submit" value="{l s='Save'}" class="button" name="submitAddcart_rule" id="{$table|escape}_form_submit_btn" />
<form action="{$currentIndex|escape}&token={$currentToken|escape}&addcart_rule" id="cart_rule_form" class="form-horizontal" method="post">
{if $currentObject->id}<input type="hidden" name="id_cart_rule" value="{$currentObject->id|intval}" />{/if}
<input type="hidden" id="currentFormTab" name="currentFormTab" value="informations" />
<div id="cart_rule_informations" class="panel cart_rule_tab">
{include file='controllers/cart_rules/informations.tpl'}
</div>
<div id="cart_rule_conditions" class="panel cart_rule_tab">
{include file='controllers/cart_rules/conditions.tpl'}
</div>
<div id="cart_rule_actions" class="panel cart_rule_tab">
{include file='controllers/cart_rules/actions.tpl'}
</div>
<button type="submit" class="btn btn-default pull-right" name="submitAddcart_rule" id="{$table|escape}_form_submit_btn">{l s='Save'}
</button>
<!--<input type="submit" value="{l s='Save and stay'}" class="button" name="submitAddcart_ruleAndStay" id="" />-->
</div>
</form>
<script type="text/javascript">
var product_rule_groups_counter = {if isset($product_rule_groups_counter)}{$product_rule_groups_counter|intval}{else}0{/if};
var product_rule_counters = new Array();
var currentToken = '{$currentToken|escape:'quotes'}';
var currentFormTab = '{if isset($smarty.post.currentFormTab)}{$smarty.post.currentFormTab|escape:'quotes'}{else}informations{/if}';
var languages = new Array();
{foreach from=$languages item=language key=k}
languages[{$k}] = {
id_lang: {$language.id_lang},
iso_code: '{$language.iso_code|escape:'quotes'}',
name: '{$language.name|escape:'quotes'}'
};
{/foreach}
displayFlags(languages, {$id_lang_default});
</script>
<script type="text/javascript" src="themes/default/template/controllers/cart_rules/form.js"></script>
</form>
<script type="text/javascript">
var product_rule_groups_counter = {if isset($product_rule_groups_counter)}{$product_rule_groups_counter|intval}{else}0{/if};
var product_rule_counters = new Array();
var currentToken = '{$currentToken|escape:'quotes'}';
var currentFormTab = '{if isset($smarty.post.currentFormTab)}{$smarty.post.currentFormTab|escape:'quotes'}{else}informations{/if}';
var languages = new Array();
{foreach from=$languages item=language key=k}
languages[{$k}] = {
id_lang: {$language.id_lang},
iso_code: '{$language.iso_code|escape:'quotes'}',
name: '{$language.name|escape:'quotes'}'
};
{/foreach}
displayFlags(languages, {$id_lang_default});
</script>
<script type="text/javascript" src="themes/default/template/controllers/cart_rules/form.js"></script>
{include file="footer_toolbar.tpl"}
</div>

View File

@@ -1,68 +1,126 @@
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<label>{l s='Name'}</label>
<div class="margin-form">
<div class="translatable">
{foreach from=$languages item=language}
<div class="lang_{$language.id_lang|intval}" style="display:{if $language.id_lang == $id_lang_default}block{else}none{/if};float:left">
<input type="text" id="name_{$language.id_lang|intval}" name="name_{$language.id_lang|intval}" value="{$currentTab->getFieldValue($currentObject, 'name', $language.id_lang|intval)|escape:html:'UTF-8'}" style="width:400px" />
<sup>*</sup>
</div>
{/foreach}
<div class="form-group">
<label class="control-label col-lg-3 required">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='This will be displayed in the cart summary, as well as on the invoice.'}">
{l s='Name'}
</span>
</label>
<div class="col-lg-8">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="row">
<div class="translatable-field lang-{$language.id_lang}" {if $language.id_lang != $id_lang_default}style="display:none"{/if}>
<div class="col-lg-9">
{/if}
<input id="name_{$language.id_lang|intval}" type="text" name="name_{$language.id_lang|intval}" value="{$currentTab->getFieldValue($currentObject, 'name', $language.id_lang|intval)|escape:html:'UTF-8'}">
{if $languages|count > 1}
</div>
<p class="preference_description">{l s='This will be displayed in the cart summary, as well as on the invoice.'}</p>
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
{$language.iso_code}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=language}
<li><a href="javascript:hideOtherLanguage({$language.id_lang});" tabindex="-1">{$language.name}</a></li>
{/foreach}
</ul>
</div>
</div>
<label>{l s='Description'}</label>
<div class="margin-form">
<textarea name="description" style="width:80%;height:100px">{$currentTab->getFieldValue($currentObject, 'description')|escape}</textarea>
<p class="preference_description">{l s='For your eyes only. This will never be displayed to the customer.'}</p>
</div>
<label>{l s='Code'}</label>
<div class="margin-form">
<input type="text" id="code" name="code" value="{$currentTab->getFieldValue($currentObject, 'code')|escape}" />
<a href="javascript:gencode(8);" class="button">{l s='(Click to generate random code)'}</a>
<p class="preference_description">{l s='Caution! The rule will automatically be applied if you leave this field blank.'}</p>
</div>
<label>{l s='Highlight'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="highlight" id="highlight_on" value="1" {if $currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if} />
<label class="t" for="highlight_on"> <img src="../img/admin/enabled.gif" alt="{l s='Yes'}" title="{l s='Yes'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="highlight" id="highlight_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if} />
<label class="t" for="highlight_off"> <img src="../img/admin/disabled.gif" alt="{l s='No'}" title="{l s='No'}" style="cursor:pointer" /></label>
<p class="preference_description">
{l s='If the voucher is not yet in the cart, it will be displayed in the cart summary.'}
</p>
</div>
<label>{l s='Partial use'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="partial_use" id="partial_use_on" value="1" {if $currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t" for="partial_use_on"> <img src="../img/admin/enabled.gif" alt="{l s='Allowed'}" title="{l s='Allowed'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="partial_use" id="partial_use_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t" for="partial_use_off"> <img src="../img/admin/disabled.gif" alt="{l s='Not allowed'}" title="{l s='Not allowed'}" style="cursor:pointer" /></label>
<p class="preference_description">
{l s='Only applicable if the voucher value is greater than the cart total.'}<br />
{l s='If you do not allow partial use, the voucher value will be lowered to the total order amount. If you allow partial use, however, a new voucher will be created with the remainder.'}
</p>
</div>
<label>{l s='Priority'}</label>
<div class="margin-form">
<input type="text" name="priority" value="{$currentTab->getFieldValue($currentObject, 'priority')|intval}" />
<p class="preference_description">{l s='Cart rules are applied by priority. A cart rule with a priority of "1" will be processed before a cart rule with a priority of "2".'}</p>
</div>
<label>{l s='Status'}</label>
<div class="margin-form">
&nbsp;&nbsp;
<input type="radio" name="active" id="active_on" value="1" {if $currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t" for="active_on"> <img src="../img/admin/enabled.gif" alt="{l s='Enabled'}" title="{l s='Enabled'}" style="cursor:pointer" /></label>
&nbsp;&nbsp;
<input type="radio" name="active" id="active_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t" for="active_off"> <img src="../img/admin/disabled.gif" alt="{l s='Disabled'}" title="{l s='Disabled'}" style="cursor:pointer" /></label>
</div>
</td>
</tr>
</table>
</div>
{/if}
{/foreach}
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='For your eyes only. This will never be displayed to the customer.'}">
{l s='Description'}
</span>
</label>
<div class="col-lg-8">
<textarea name="description" rows="2" class="textarea-autosize">{$currentTab->getFieldValue($currentObject, 'description')|escape}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Caution! The rule will automatically be applied if you leave this field blank.'}">
{l s='Code'}
</span>
</label>
<div class="input-group col-lg-4">
<input type="text" id="code" name="code" value="{$currentTab->getFieldValue($currentObject, 'code')|escape}" />
<span class="input-group-btn">
<a href="javascript:gencode(8);" class="btn btn-default"><i class="icon-random"></i> {l s='Generate'}</a>
</span>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='If the voucher is not yet in the cart, it will be displayed in the cart summary.'}">
{l s='Highlight'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="highlight" id="highlight_on" value="1" {if $currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if}/>
<label class="t radio" for="highlight_on"><i class="icon-check-sign color_success"></i> {l s='Yes'}</label>
<input type="radio" name="highlight" id="highlight_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'highlight')|intval}checked="checked"{/if} />
<label class="t radio" for="highlight_off"><i class="icon-ban-circle color_danger"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Only applicable if the voucher value is greater than the cart total.'}
{l s='If you do not allow partial use, the voucher value will be lowered to the total order amount. If you allow partial use, however, a new voucher will be created with the remainder.'}">
{l s='Partial use'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="partial_use" id="partial_use_on" value="1" {if $currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t radio" for="partial_use_on"><i class="icon-check-sign color_success"></i> {l s='Yes'}</label>
<input type="radio" name="partial_use" id="partial_use_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'partial_use')|intval}checked="checked"{/if} />
<label class="t radio" for="partial_use_off"><i class="icon-ban-circle color_danger"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Cart rules are applied by priority. A cart rule with a priority of "1" will be processed before a cart rule with a priority of "2".'}">
{l s='Priority'}
</span>
</label>
<div class="col-lg-1">
<input type="text" class="input-mini" name="priority" value="{$currentTab->getFieldValue($currentObject, 'priority')|intval}" />
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Status'}</label>
<div class="input-group col-lg-2">
<span class="switch prestashop-switch">
<input type="radio" name="active" id="active_on" value="1" {if $currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t radio" for="active_on"><i class="icon-check-sign color_success"></i> {l s='Yes'}</label>
<input type="radio" name="active" id="active_off" value="0" {if !$currentTab->getFieldValue($currentObject, 'active')|intval}checked="checked"{/if} />
<label class="t radio" for="active_off"><i class="icon-ban-circle color_danger"></i> {l s='No'}</label>
<span class="slide-button btn btn-default"></span>
</span>
</div>
</div>
<script type="text/javascript">
$(".textarea-autosize").autosize();
</script>

View File

@@ -1,24 +1,17 @@
<tr id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_tr">
<td>
<a href="javascript:removeProductRule({$product_rule_group_id|intval}, {$product_rule_id|intval});">
<img src="../img/admin/disabled.gif" alt="{l s='Remove'}" title="{l s='Remove'}" />
</a>
</td>
<td>
<input type="hidden" name="product_rule_{$product_rule_group_id|intval}[]" value="{$product_rule_id}" />
<input type="hidden" name="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_type" value="{$product_rule_type|escape}" />
{* Everything is on a single line in order to avoid a empty space between the [ ] and the word *}
[{if $product_rule_type == 'products'}{l s='Products:'}{elseif $product_rule_type == 'categories'}{l s='Categories:'}{elseif $product_rule_type == 'manufacturers'}{l s='Manufacturers:'}{elseif $product_rule_type == 'suppliers'}{l s='Suppliers'}{elseif $product_rule_type == 'attributes'}{l s='Attributes'}{/if}]
</td>
<td>
{l s='The product(s) are matching on of these'}
</td>
<td>
<input type="text" id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_match" value="" disabled="disabled" />
</td>
<td>
<a id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_link" href="#product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_content">
<img src="../img/admin/choose.gif" alt="{l s='Choose'}" title="{l s='Choose'}" /> {l s='Choose'}
<a class="btn btn-default" id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_link" href="#product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_content">
<i class="icon-list-ul"></i>
{l s='Choose'}
</a>
<div>
<div id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_content">
@@ -26,6 +19,11 @@
</div>
</div>
</td>
<td>
<a class="btn btn-default" href="javascript:removeProductRule({$product_rule_group_id|intval}, {$product_rule_id|intval});">
<i class="icon-remove"></i>
</a>
</td>
</tr>
<script type="text/javascript">

View File

@@ -1,36 +1,55 @@
<tr id="product_rule_group_{$product_rule_group_id|intval}_tr">
<td style="vertical-align:center;padding-right:10px">
<a href="javascript:removeProductRuleGroup({$product_rule_group_id|intval});">
<img src="../img/admin/disabled.gif" alt="{l s='Remove'}" title="{l s='Remove'}" />
<td>
<a class="btn btn-default" href="javascript:removeProductRuleGroup({$product_rule_group_id|intval});">
<i class="icon-remove text-danger"></i>
</a>
</td>
<td style="padding-bottom:15px">
<input type="hidden" name="product_rule_group[]" value="{$product_rule_group_id|intval}" />
{l s='The cart must contain at least'}
<input type="text" name="product_rule_group_{$product_rule_group_id|intval}_quantity" value="{$product_rule_group_quantity|intval}" style="width:30px" />
{l s='Product(s) matching the following rules:'}
<br />
<a href="javascript:addProductRule({$product_rule_group_id|intval});">
<img src="../img/admin/add.gif" alt="{l s='Add'}" title="{l s='Add'}" />
{l s='Add a rule concerning'}
</a>
<select id="product_rule_type_{$product_rule_group_id|intval}">
<option value="">{l s='-- Choose --'}</option>
<option value="products">{l s='Products:'}</option>
<option value="attributes">{l s='Attributes'}</option>
<option value="categories">{l s='Categories:'}</option>
<option value="manufacturers">{l s='Manufacturers:'}</option>
<option value="suppliers">{l s='Suppliers'}</option>
</select>
<a href="javascript:addProductRule({$product_rule_group_id|intval});">
<input type="button" class="button" value="OK" />
</a>
<table id="product_rule_table_{$product_rule_group_id|intval}" class="table" cellpadding="0" cellspacing="0">
<td>
<div class="form-group">
<label class="control-label col-lg-4">{l s='The cart must contain at least'}</label>
<div class="col-lg-1">
<input type="hidden" name="product_rule_group[]" value="{$product_rule_group_id|intval}" />
<input class="form-control" type="text" name="product_rule_group_{$product_rule_group_id|intval}_quantity" value="{$product_rule_group_quantity|intval}" />
</div>
<div class="col-lg-7">
<p class="form-control-static">{l s='Product(s) matching the following rules:'}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4">{l s='Add a rule concerning'}</label>
<div class="col-lg-4">
<select class="form-control" id="product_rule_type_{$product_rule_group_id|intval}">
<option value="">{l s='-- Choose --'}</option>
<option value="products">{l s='Products:'}</option>
<option value="attributes">{l s='Attributes'}</option>
<option value="categories">{l s='Categories:'}</option>
<option value="manufacturers">{l s='Manufacturers:'}</option>
<option value="suppliers">{l s='Suppliers'}</option>
</select>
</div>
<div class="col-lg-4">
<a class="btn btn-default" href="javascript:addProductRule({$product_rule_group_id|intval});">
<i class="icon-plus-sign"></i>
{l s="Add"}
</a>
</div>
</div>
{l s='The product(s) are matching on of these'}
<table id="product_rule_table_{$product_rule_group_id|intval}" class="table table-bordered">
{if isset($product_rules) && $product_rules|@count}
{foreach from=$product_rules item='product_rule'}
{$product_rule}
{/foreach}
{/if}
</table>
</td>
</tr>

View File

@@ -1,46 +1,28 @@
<table>
<tr>
<td style="padding-left:20px">
<p><strong>{l s='Unselected'}</strong></p>
<select
id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_1"
style="border:1px solid #AAAAAA;width:400px;height:160px"
multiple
>
{foreach from=$product_rule_itemlist.unselected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select><br /><br />
<a
id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_add"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected'}</strong></p>
<select
name="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}[]"
id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_2"
class="product_rule_toselect"
style="border:1px solid #AAAAAA;width:400px;height:160px"
multiple
>
{foreach from=$product_rule_itemlist.selected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select><br /><br />
<a
id="product_rule_select_{$product_rule_group_id}_{$product_rule_id}_remove"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
<div class="col-lg-6">
{l s='Unselected'}
<select multiple id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_1">
{foreach from=$product_rule_itemlist.unselected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select>
<a id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_add" class="btn btn-default btn-block" >
{l s='Add'}
<i class="icon-arrow-right"></i>
</a>
</div>
<div class="col-lg-6">
{l s='Selected'}
<select multiple name="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}[]" id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_2" class="product_rule_toselect" >
{foreach from=$product_rule_itemlist.selected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select>
<a id="product_rule_select_{$product_rule_group_id}_{$product_rule_id}_remove" class="btn btn-default btn-block" >
<i class="icon-arrow-left"></i>
{l s='Remove'}
</a>
</div>
<script type="text/javascript">
$('#product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_remove').click(function() { removeCartRuleOption(this); updateProductRuleShortDescription(this); });
$('#product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_add').click(function() { addCartRuleOption(this); updateProductRuleShortDescription(this); });

View File

@@ -26,148 +26,174 @@
{extends file="helpers/view/view.tpl"}
{block name="override_tpl"}
<div id="container-customer">
<h2><img src="../img/admin/basket.png" /><span>{if $customer->id}{$customer->firstname} {$customer->lastname}{else}{l s='Guest'}{/if} - {l s='Cart #'}{$cart->id|string_format:"%06d"}</span><span style="color:#585A69;padding-left:10px;">{l s='On'} {$cart->date_upd}</span></h2>
<div class="separation"></div>
<div class="info-customer-left">
<h2><img src="../img/admin/vcard.png" />{l s='Customer information'}</h2>
<span style="font-size: 14px;">
{if $customer->id}
<a href="{$link->getAdminLink('AdminCustomers')|escape:'htmlall':'UTF-8'}&id_customer={$customer->id}&viewcustomer">{$customer->firstname} {$customer->lastname}</a></span>
{l s='#'}{$customer->id}<br />
<a style="text-decoration: underline; color:#268CCD;" href="mailto:{$customer->email}">{$customer->email}</a> <br /><br />
{l s='Account registration date:'} {dateFormat date=$customer->date_add}<br />
{l s='Valid orders placed:'} <b>{$customer_stats.nb_orders}</b><br />
{l s='Total spent since registration:'} <b>{displayWtPriceWithCurrency price=$customer_stats.total_orders currency=$currency}</b><br />
{else}
{l s='Guest not registered'}
{/if}
</span>
<div class="panel">
{include file="helpers/kpi/kpi.tpl"
id="kpi-cart"
color="color1"
icon="icon-shopping-cart"
title="{l s='Cart #%06d'|sprintf:$cart->id}"
subtitle="{if $customer->id}{$customer->firstname} {$customer->lastname}{else}{l s='Guest'}{/if} {l s='On'} {$cart->date_upd}"
value="{displayWtPriceWithCurrency price=$total_price currency=$currency}"
source=''
chart=null
}
</div>
<div class="row">
<div class="col-lg-6">
<div class="panel">
<h3><i class="icon-user"></i> {l s='Customer information'}</h3>
{if $customer->id}
<a class="btn btn-default pull-right" href="mailto:{$customer->email}"><i class="icon-envelope"></i> {$customer->email}</a>
<h2>
{if $customer->id_gender == 1}
<i class="icon-male"></i>
{elseif $customer->id_gender == 2}
<i class="icon-female"></i>
{else}
<i class="icon-question"></i>
{/if}
<a href="{$link->getAdminLink('AdminCustomers')|escape:'htmlall':'UTF-8'}&id_customer={$customer->id}&viewcustomer">{$customer->firstname} {$customer->lastname}</a></h2>
<div class="form-horizontal">
<div class="form-group">
<label class="col-lg-3 control-label">{l s='Account registration date:'}</label>
<div class="col-lg-3"><p class="form-control-static">{dateFormat date=$customer->date_add}</p></div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">{l s='Valid orders placed:'}</label>
<div class="col-lg-3"><p class="form-control-static">{$customer_stats.nb_orders}</p></div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">{l s='Total spent since registration:'}</label>
<div class="col-lg-3"><p class="form-control-static">{displayWtPriceWithCurrency price=$customer_stats.total_orders currency=$currency}</p></div>
</div>
</div>
{else}
<h2>{l s='Guest not registered'}</h2>
{/if}
</div>
</div>
<div class="info-customer-right">
<h2><img src="../img/admin/cart.gif" /> {l s='Order information'}</h2>
<span>
{if $order->id}
<a href="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&id_order={$order->id}&vieworder"> {l s='Order #%d' sprintf=$order->id|string_format:"%06d"}</a></span>
<br /><br />
{l s='Made on:'} {dateFormat date=$order->date_add}<br /><br /><br /><br />
{else}
{l s='No order was created from this cart.'}</span>
{if $customer->id}<p><a class="button" href="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&id_cart={$cart->id}&addorder">{l s='Create an order from this cart.'}</a></p>{/if}
{/if}
<div class="col-lg-6">
<div class="panel">
<h3><i class="icon-shopping-cart"></i> {l s='Order information'}</h3>
{if $order->id}
<h2><a href="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&id_order={$order->id}&vieworder"> {l s='Order #%d' sprintf=$order->id|string_format:"%06d"}</a></h2>
{l s='Made on:'} {dateFormat date=$order->date_add}
{else}
<h2>{l s='No order was created from this cart.'}</h2>
{if $customer->id}
<a class="btn btn-default" href="{$link->getAdminLink('AdminOrders')|escape:'htmlall':'UTF-8'}&id_cart={$cart->id}&addorder"><i class="icon-shopping-cart"></i> {l s='Create an order from this cart.'}</a>
{/if}
{/if}
</div>
</div>
<br style="clear:both;" />
<div class="separation"></div>
<h2><img src="../img/admin/cart.gif" alt="{l s='Products:'}" />{l s='Cart summary'}</h2>
<br/>
<table style="width:100%;" cellspacing="0" cellpadding="0" class="table" id="orderProducts">
<thead>
<tr>
<th height="39" align="center" style="width: 60px">&nbsp;</th>
<th>{l s='Product'}</th>
<th style="width: 80px; text-align: center">{l s='Unit price'}</th>
<th style="width: 20px; text-align: center">{l s='Quantity'}</th>
<th style="width: 30px; text-align: center">{l s='Stock'}</th>
<th style="width: 90px; text-align: right; font-weight:bold;">{l s='Total'}</th>
</tr>
<tbody>
{foreach from=$products item='product'}
{if isset($customized_datas[$product.id_product][$product.id_product_attribute][$product.id_address_delivery])}
</div>
<div class="panel">
<h3><i class="icon-archive"></i> {l s='Cart summary'}</h3>
<table class="table" id="orderProducts">
<thead>
<tr>
<td align="center">{$product.image}</td>
<td><a href="{$link->getAdminLink('AdminProducts')|escape:'htmlall':'UTF-8'}&id_product={$product.id_product}&updateproduct">
<span class="productName">{$product.name}</span>{if isset($product.attributes)}<br />{$product.attributes}{/if}<br />
<th class="fixed-width-xs">&nbsp;</th>
<th><span class="title_box">{l s='Product'}</span></th>
<th class="text-right fixed-width-md"><span class="title_box">{l s='Unit price'}</span></th>
<th class="text-center fixed-width-md"><span class="title_box">{l s='Quantity'}</span></th>
<th class="text-center fixed-width-sm"><span class="title_box">{l s='Stock'}</span></th>
<th class="text-right fixed-width-sm"><span class="title_box">{l s='Total'}</span></th>
</tr>
</thead>
<tbody>
{foreach from=$products item='product'}
{if isset($customized_datas[$product.id_product][$product.id_product_attribute][$product.id_address_delivery])}
<tr>
<td>{$product.image}</td>
<td><a href="{$link->getAdminLink('AdminProducts')|escape:'htmlall':'UTF-8'}&id_product={$product.id_product}&updateproduct">
<span class="productName">{$product.name}</span>{if isset($product.attributes)}<br />{$product.attributes}{/if}<br />
{if $product.reference}{l s='Ref:'} {$product.reference}{/if}
{if $product.reference && $product.supplier_reference} / {$product.supplier_reference}{/if}
</a>
</td>
<td class="text-right">{displayWtPriceWithCurrency price=$product.price_wt currency=$currency}</td>
<td class="text-center">{$product.customization_quantity}</td>
<td class="text-center">{$product.qty_in_stock}</td>
<td class="text-right">{displayWtPriceWithCurrency price=$product.total_customization_wt currency=$currency}</td>
</tr>
{foreach from=$customized_datas[$product.id_product][$product.id_product_attribute][$product.id_address_delivery] item='customization'}
<tr>
<td colspan="2">
{foreach from=$customization.datas key='type' item='datas'}
{if $type == constant('Product::CUSTOMIZE_FILE')}
<ul style="margin: 0; padding: 0; list-style-type: none;">
{foreach from=$datas key='index' item='data'}
<li style="display: inline; margin: 2px;">
<a href="displayImage.php?img={$data.value}&name={$order->id}-file{$index}" target="_blank">
<img src="{$pic_dir}{$data.value}_small" alt="" /></a>
</li>
{/foreach}
</ul>
{elseif $type == constant('Product::CUSTOMIZE_TEXTFIELD')}
<ul style="margin-bottom: 4px; padding: 0; list-style-type: none;">
{foreach from=$datas key='index' item='data'}
<li>{if $data.name}{$data.name}{else}{l s='Text #'}{$index}{/if}{l s=':'}<b>{$data.value}</b></li>
{/foreach}
</ul>
{/if}
{/foreach}
</td>
<td></td>
<td class="text-center">{$customization.quantity}</td>
<td></td>
<td></td>
</tr>
{/foreach}
{/if}
{if $product.cart_quantity > $product.customization_quantity}
<tr>
<td>{$product.image}</td>
<td>
<a href="{$link->getAdminLink('AdminProducts')|escape:'htmlall':'UTF-8'}&id_product={$product.id_product}&updateproduct">
<span class="productName">{$product.name}</span>{if isset($product.attributes)}<br />{$product.attributes}{/if}<br />
{if $product.reference}{l s='Ref:'} {$product.reference}{/if}
{if $product.reference && $product.supplier_reference} / {$product.supplier_reference}{/if}
</a>
</td>
<td align="center">{displayWtPriceWithCurrency price=$product.price_wt currency=$currency}</td>
<td align="center" class="productQuantity">{$product.customization_quantity}</td>
<td align="center" class="productQuantity">{$product.qty_in_stock}</td>
<td align="right">{displayWtPriceWithCurrency price=$product.total_customization_wt currency=$currency}</td>
</tr>
{foreach from=$customized_datas[$product.id_product][$product.id_product_attribute][$product.id_address_delivery] item='customization'}
<tr>
<td colspan="2">
{foreach from=$customization.datas key='type' item='datas'}
{if $type == constant('Product::CUSTOMIZE_FILE')}
<ul style="margin: 0; padding: 0; list-style-type: none;">
{foreach from=$datas key='index' item='data'}
<li style="display: inline; margin: 2px;">
<a href="displayImage.php?img={$data.value}&name={$order->id}-file{$index}" target="_blank">
<img src="{$pic_dir}{$data.value}_small" alt="" /></a>
</li>
{/foreach}
</ul>
{elseif $type == constant('Product::CUSTOMIZE_TEXTFIELD')}
<ul style="margin-bottom: 4px; padding: 0; list-style-type: none;">
{foreach from=$datas key='index' item='data'}
<li>{if $data.name}{$data.name}{else}{l s='Text #'}{$index}{/if}{l s=':'}<b>{$data.value}</b></li>
{/foreach}
</ul>
{/if}
{/foreach}
</td>
<td align="center"></td>
<td align="center" class="productQuantity">{$customization.quantity}</td>
<td align="center" class="productQuantity"></td>
<td align="center"></td>
</tr>
{/foreach}
{/if}
{if $product.cart_quantity > $product.customization_quantity}
<tr>
<td align="center">{$product.image}</td>
<td>
<a href="{$link->getAdminLink('AdminProducts')|escape:'htmlall':'UTF-8'}&id_product={$product.id_product}&updateproduct">
<span class="productName">{$product.name}</span>{if isset($product.attributes)}<br />{$product.attributes}{/if}<br />
{if $product.reference}{l s='Ref:'} {$product.reference}{/if}
{if $product.reference && $product.supplier_reference} / {$product.supplier_reference}{/if}
</a>
</td>
<td align="center">{displayWtPriceWithCurrency price=$product.product_price currency=$currency}</td>
<td align="center" class="productQuantity">{math equation='x - y' x=$product.cart_quantity y=$product.customization_quantity|intval}</td>
<td align="center" class="productQuantity">{$product.qty_in_stock}</td>
<td align="right">{displayWtPriceWithCurrency price=$product.product_total currency=$currency}</td>
</tr>
{/if}
{/foreach}
<tr class="cart_total_product">
<td colspan="5">{l s='Total cost of products:'}</td>
<td class="price bold right">{displayWtPriceWithCurrency price=$total_products currency=$currency}</td>
</tr>
{if $total_discounts != 0}
<tr class="cart_total_voucher">
</a>
</td>
<td class="text-right">{displayWtPriceWithCurrency price=$product.product_price currency=$currency}</td>
<td class="text-center">{math equation='x - y' x=$product.cart_quantity y=$product.customization_quantity|intval}</td>
<td class="text-center">{$product.qty_in_stock}</td>
<td class="text-right">{displayWtPriceWithCurrency price=$product.product_total currency=$currency}</td>
</tr>
{/if}
{/foreach}
<tr>
<td colspan="5">{l s='Total cost of products:'}</td>
<td class="text-right">{displayWtPriceWithCurrency price=$total_products currency=$currency}</td>
</tr>
{if $total_discounts != 0}
<tr>
<td colspan="5">{l s='Total value of vouchers:'}</td>
<td class="price-discount bold right">{displayWtPriceWithCurrency price=$total_discounts currency=$currency}</td>
<td class="text-right">{displayWtPriceWithCurrency price=$total_discounts currency=$currency}</td>
</tr>
{/if}
{if $total_wrapping > 0}
<tr class="cart_total_voucher">
{/if}
{if $total_wrapping > 0}
<tr>
<td colspan="5">{l s='Total cost of gift wrapping:'}</td>
<td class="price-discount bold right">{displayWtPriceWithCurrency price=$total_wrapping currency=$currency}</td>
<td class="text-right">{displayWtPriceWithCurrency price=$total_wrapping currency=$currency}</td>
</tr>
{/if}
{if $cart->getOrderTotal(true, Cart::ONLY_SHIPPING) > 0}
<tr class="cart_total_delivery">
{/if}
{if $cart->getOrderTotal(true, Cart::ONLY_SHIPPING) > 0}
<tr>
<td colspan="5">{l s='Total cost of shipping:'}</td>
<td class="price bold right">{displayWtPriceWithCurrency price=$total_shipping currency=$currency}</td>
<td class="text-right">{displayWtPriceWithCurrency price=$total_shipping currency=$currency}</td>
</tr>
{/if}
<tr class="cart_total_price">
<td colspan="5" class="bold">{l s='Total:'}</td>
<td class="price bold right">{displayWtPriceWithCurrency price=$total_price currency=$currency}</td>
</tr>
{/if}
<tr>
<td colspan="5" class=" success"><strong>{l s='Total:'}</strong></td>
<td class="text-right success"><strong>{displayWtPriceWithCurrency price=$total_price currency=$currency}</strong></td>
</tr>
</tbody>
</table>
{if $discounts}
<table cellspacing="0" cellpadding="0" class="table" style="width:280px; margin:15px 0px 0px 420px;">
<table class="table">
<tr>
<th><img src="../img/admin/coupon.gif" alt="{l s='Discounts'}" />{l s='Discount name'}</th>
<th align="center" style="width: 100px">{l s='Value'}</th>
@@ -180,11 +206,9 @@
{/foreach}
</table>
{/if}
<div style="float:left; margin-top:15px;">
{l s='For this particular customer group, prices are displayed as:'} <b>{if $order->getTaxCalculationMethod() == $smarty.const.PS_TAX_EXC}{l s='Tax excluded'}{else}{l s='Tax included'}{/if}</b>
</div>
<div class="alert alert-warning">
{l s='For this particular customer group, prices are displayed as:'} <b>{if $order->getTaxCalculationMethod() == $smarty.const.PS_TAX_EXC}{l s='Tax excluded'}{else}{l s='Tax included'}{/if}</b>
</div>
<div class="clear" style="height:20px;">&nbsp;</div>
{/block}
</div>

View File

@@ -24,29 +24,6 @@
*}
{extends file="helpers/form/form.tpl"}
{block name="input"}
{if $input.type == 'file'}
{if isset($input.display_image) && $input.display_image}
{if isset($fields_value.image) && $fields_value.image}
<div id="image">
{$fields_value.image}
<p align="center">{l s='File size'} {$fields_value.size}kb</p>
{if $shared_category}
<p class="warn">{l s='If you delete this picture, it will be deleted in all of your shared shops!'}</p>
{/if}
<br />
<a href="{$current}&{$identifier}={$form_id}&token={$token}&{if $shared_category}forcedeleteImage=1{else}deleteImage=1{/if}">
<img src="../img/admin/delete.gif" alt="{l s='Delete'}" /> {l s='Delete'}
</a>
</div><br />
{/if}
{/if}
<input type="file" name="{$input.name}" {if isset($input.id)}id="{$input.id}"{/if} />
{if !empty($input.hint)}<span class="hint" name="help_box">{$input.hint}<span class="hint-pointer">&nbsp;</span></span>{/if}
{else}
{$smarty.block.parent}
{/if}
{/block}
{block name="input"}
{if $input.name == "link_rewrite"}
<script type="text/javascript">
@@ -64,11 +41,17 @@
{block name="description"}
{$smarty.block.parent}
{if ($input.name == 'groupBox')}
<p class="hint" style="display:block; position:relative; display:inline-block;">
<span>{$input.info_introduction}</span><br />
<span>{$input.unidentified}</span><br />
<span>{$input.guest}</span><br />
<span>{$input.customer}</span><br />
</p>
<div class="alert alert-info">
<h4>{$input.info_introduction}</h4>
<p>{$input.unidentified}<br />
{$input.guest}<br />
{$input.customer}</p>
</div>
{/if}
{/block}
{block name="input_row"}
{$smarty.block.parent}
{if ($input.name == 'image')}
{$displayBackOfficeCategory}
{/if}
{/block}

View File

@@ -25,67 +25,85 @@
{extends file="helpers/list/list_header.tpl"}
{block name=override_header}
<ul class="breadcrumb cat_bar2">
{assign var=i value=0}
{foreach $categories_tree key=key item=category}
<li>
{if $i++ == 0}
<i class="icon-home"></i>
{assign var=params_url value=""}
{else}
{assign var=params_url value="&id_category={$category.id_category|intval}&viewcategory"}
{/if}
{if $category.id_category == $categories_tree_current_id}
{$category.name}
{else}
<a href="{$currentIndex}{$params_url}&token={$token}">{$category.name}</a>
{/if}
</li>
{/foreach}
</ul>
{/block}
{block name=leadin}
<div class="cat_bar2">
{assign var=i value=0}
{foreach $categories_tree key=key item=category}
{if $i++ == 0}
&nbsp;<img src="../img/admin/home.gif" alt="" />
{assign var=params_url value=""}
{else}
{assign var=params_url value="&id_category={$category.id_category|intval}&viewcategory"}
{/if}
{if $category.id_category == $categories_tree_current_id}
{$category.name}
{else}
<a href="{$currentIndex}{$params_url}&token={$token}">{$category.name}</a>&nbsp;>&nbsp;
{/if}
{/foreach}
</div>
{if isset($delete_category) && $delete_category}
<form action="{$REQUEST_URI|escape:'htmlall':'UTF-8'}" method="post">
<div class="warn">
<h2>
{if $need_delete_mode}
{l s='Do you want to delete the products too?'}
{else}
{l s='Deleting this category will remove products linked only within this category and no others. Are you sure you want to continue?'}
{/if}
</h2>
<div class="panel">
<div class="panel-heading">
{if $need_delete_mode}
<ul class="listForm">
<li>
<input type="radio" name="deleteMode" value="linkanddisable" id="deleteMode_linkanddisable" />
<label for="deleteMode_linkanddisable" style="float:none;">{l s='No. I want to link products without other categories -- within the parent category -- and then disable them.'}</label>
</li>
<li>
<input type="radio" name="deleteMode" value="link" id="deleteMode_link" />
<label for="deleteMode_link" style="float:none;">{l s='No. I want to link products without other categories and within the parent category.'}</label>
</li>
<li>
<input type="radio" name="deleteMode" value="delete" id="deleteMode_delete" />
<label for="deleteMode_delete" style="float:none">{l s='Yes. I want to remove products linked only within this category and no others.'}</label>
</li>
</ul>
{l s='What do you want to do with the products associated with this category?'}
{else}
<input type="hidden" name="deleteMode" value="delete" id="deleteMode_delete" />
{l s='Deleting this category will remove products linked only within this category and no others. Are you sure you want to continue?'}
{/if}
{foreach $POST as $key => $value}
{if $key != 'deleteMode'}
{if is_array($value)}
{foreach $value as $val}
<input type="hidden" name="{$key|escape:'htmlall':'UTF-8'}[]" value="{$val|escape:'htmlall':'UTF-8'}" />
{/foreach}
{else}
<input type="hidden" name="{$key|escape:'htmlall':'UTF-8'}" value="{$value|escape:'htmlall':'UTF-8'}" />
{/if}
{/if}
{/foreach}
<br />
<input type="submit" name="cancel" class="button" value="{l s='Cancel'}" />
<input type="submit" class="button" value="{l s='Validate'}" />
</div>
</form>
<div class="clear">&nbsp;</div>
{if $need_delete_mode}
<form action="{$REQUEST_URI}" method="post">
<div class="radio">
<label for="deleteMode_linkanddisable">
<input type="radio" name="deleteMode" value="linkanddisable" id="deleteMode_linkanddisable" checked="checked" />
{l s='I want to associate the products without other categories with the parent category and then disable them.'} <strong>{l s='(Recommended)'}</strong>
</label>
</div>
<div class="radio">
<label for="deleteMode_link">
<input type="radio" name="deleteMode" value="link" id="deleteMode_link" />
{l s='I want to associate the products without other categories with the parent category.'}
</label>
</div>
<div class="radio">
<label for="deleteMode_delete">
<input type="radio" name="deleteMode" value="delete" id="deleteMode_delete" />
{l s='I want to remove products linked only within this category and no others.'}
</label>
</div>
{else}
<input type="hidden" name="deleteMode" value="delete" id="deleteMode_delete" />
{/if}
{foreach $POST as $key => $value}
{if $key != 'deleteMode'}
{if is_array($value)}
{foreach $value as $val}
<input type="hidden" name="{$key|escape:'htmlall':'UTF-8'}[]" value="{$val|escape:'htmlall':'UTF-8'}" />
{/foreach}
{else}
<input type="hidden" name="{$key|escape:'htmlall':'UTF-8'}" value="{$value|escape:'htmlall':'UTF-8'}" />
{/if}
{/if}
{/foreach}
<div class="panel-footer">
<button type="button" name="cancel" class="btn btn-default">
<i class="icon-remove"></i>
{l s='Cancel'}
</button>
<button type="submit" class="btn btn-default">
<i class="icon-trash text-danger"></i>
{l s='Delete'}
</button>
</div>
</form>
</div>
{/if}
{/block}

Some files were not shown because too many files have changed in this diff Show More