Squeezol_Payment - Version 1.0.0

Version Notes

Download this release

Release Info

Developer Davide Costa
Extension Squeezol_Payment
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

Files changed (86) hide show
  1. README.md +63 -0
  2. app/code/local/Squeezol/Payment/Block/Logo.php +8 -0
  3. app/code/local/Squeezol/Payment/Block/Start.php +67 -0
  4. app/code/local/Squeezol/Payment/Helper/Data.php +127 -0
  5. app/code/local/Squeezol/Payment/Model/Mysql4/Params.php +8 -0
  6. app/code/local/Squeezol/Payment/Model/Mysql4/Params/Collection.php +8 -0
  7. app/code/local/Squeezol/Payment/Model/Params.php +25 -0
  8. app/code/local/Squeezol/Payment/Model/Paramsandbox.php +25 -0
  9. app/code/local/Squeezol/Payment/Model/PaymentMethod.php +11 -0
  10. app/code/local/Squeezol/Payment/Model/Resource/Setup.php +5 -0
  11. app/code/local/Squeezol/Payment/Model/Session.php +12 -0
  12. app/code/local/Squeezol/Payment/controllers/IndexController.php +300 -0
  13. app/code/local/Squeezol/Payment/controllers/OrderProcessingController.php +11 -0
  14. app/code/local/Squeezol/Payment/data/squeezol_payment_setup/data-install-0.1.0.php +22 -0
  15. app/code/local/Squeezol/Payment/etc/config.xml +117 -0
  16. app/code/local/Squeezol/Payment/etc/system.xml +96 -0
  17. app/code/local/Squeezol/Payment/sql/squeezol_payment_setup/install-0.1.0.php +18 -0
  18. app/code/local/Squeezol/Payment/sql/squeezol_payment_setup/upgrade-0.1.0-0.2.0.php +16 -0
  19. app/code/local/Squeezol/Payment/sql/squeezol_payment_setup/upgrade-0.2.0-1.0.0.php +20 -0
  20. app/design/frontend/base/default/layout/squeezol_payment.xml +146 -0
  21. app/design/frontend/base/default/template/squeezol_payment/create.phtml +45 -0
  22. app/design/frontend/base/default/template/squeezol_payment/digest.phtml +27 -0
  23. app/design/frontend/base/default/template/squeezol_payment/invitation.phtml +26 -0
  24. app/design/frontend/base/default/template/squeezol_payment/logo.phtml +51 -0
  25. app/design/frontend/base/default/template/squeezol_payment/review.phtml +53 -0
  26. app/design/frontend/base/default/template/squeezol_payment/start.phtml +50 -0
  27. app/etc/modules/Squeezol_Payment.xml +9 -0
  28. lib/Squeezol/endpoints.php +443 -0
  29. lib/oauth2/Client.php +515 -0
  30. lib/oauth2/GrantType/AuthorizationCode.php +41 -0
  31. lib/oauth2/GrantType/ClientCredentials.php +25 -0
  32. lib/oauth2/GrantType/IGrantType.php +15 -0
  33. lib/oauth2/GrantType/Password.php +41 -0
  34. lib/oauth2/GrantType/RefreshToken.php +34 -0
  35. lib/oauth2/README +117 -0
  36. lib/oauth2/auth_request.php +26 -0
  37. lib/oauth2/composer.json +20 -0
  38. package.xml +25 -0
  39. skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.eot +0 -0
  40. skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.svg +603 -0
  41. skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.ttf +0 -0
  42. skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.woff +0 -0
  43. skin/frontend/base/default/css/absolut_pro_boldcondensed-webfont.ttf +0 -0
  44. skin/frontend/base/default/css/absolut_pro_boldcondensed-webfont.woff +0 -0
  45. skin/frontend/base/default/css/absolut_pro_bookcondensed-webfont.ttf +0 -0
  46. skin/frontend/base/default/css/absolut_pro_bookcondensed-webfont.woff +0 -0
  47. skin/frontend/base/default/css/bootstrap-responsive.css +1109 -0
  48. skin/frontend/base/default/css/bootstrap-responsive.min.css +9 -0
  49. skin/frontend/base/default/css/bootstrap.css +6167 -0
  50. skin/frontend/base/default/css/bootstrap.min.css +3321 -0
  51. skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.eot +0 -0
  52. skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.svg +489 -0
  53. skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.ttf +0 -0
  54. skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.woff +0 -0
  55. skin/frontend/base/default/css/dejavusanscondensed-webfont.ttf +0 -0
  56. skin/frontend/base/default/css/dejavusanscondensed-webfont.woff +0 -0
  57. skin/frontend/base/default/css/pikaday.css +171 -0
  58. skin/frontend/base/default/css/squeezol.css +1052 -0
  59. skin/frontend/base/default/images/squeezol_payment/btn-finger.png +0 -0
  60. skin/frontend/base/default/images/squeezol_payment/btn2.jpg +0 -0
  61. skin/frontend/base/default/images/squeezol_payment/busta.png +0 -0
  62. skin/frontend/base/default/images/squeezol_payment/busta2.jpg +0 -0
  63. skin/frontend/base/default/images/squeezol_payment/default.jpg +0 -0
  64. skin/frontend/base/default/images/squeezol_payment/facebook_small.png +0 -0
  65. skin/frontend/base/default/images/squeezol_payment/fenicottero.png +0 -0
  66. skin/frontend/base/default/images/squeezol_payment/ghianda_step_blu.png +0 -0
  67. skin/frontend/base/default/images/squeezol_payment/ghianda_step_grigia.png +0 -0
  68. skin/frontend/base/default/images/squeezol_payment/info-black.png +0 -0
  69. skin/frontend/base/default/images/squeezol_payment/logo_min.png +0 -0
  70. skin/frontend/base/default/images/squeezol_payment/mail_small.png +0 -0
  71. skin/frontend/base/default/images/squeezol_payment/pay_button.png +0 -0
  72. skin/frontend/base/default/images/squeezol_payment/pay_button2.png +0 -0
  73. skin/frontend/base/default/images/squeezol_payment/salva2.jpg +0 -0
  74. skin/frontend/base/default/images/squeezol_payment/salvadanaio.png +0 -0
  75. skin/frontend/base/default/images/squeezol_payment/shopping-cart.jpg +0 -0
  76. skin/frontend/base/default/images/squeezol_payment/squeezol.png +0 -0
  77. skin/frontend/base/default/images/squeezol_payment/squeezol_icon-aziende.png +0 -0
  78. skin/frontend/base/default/images/squeezol_payment/squeezol_icon-creasplit-pink.png +0 -0
  79. skin/frontend/base/default/images/squeezol_payment/squeezol_icon-creasplit.png +0 -0
  80. skin/frontend/base/default/images/squeezol_payment/squeezol_icon-invita-pink.png +0 -0
  81. skin/frontend/base/default/images/squeezol_payment/squeezol_icon-invita.png +0 -0
  82. skin/frontend/base/default/images/squeezol_payment/squeezol_icon-riassunto-pink.png +0 -0
  83. skin/frontend/base/default/images/squeezol_payment/squeezol_icon-riassunto.png +0 -0
  84. skin/frontend/base/default/js/_squeezol3.js +2644 -0
  85. skin/frontend/base/default/js/bootstrap.min.js +1288 -0
  86. skin/frontend/base/default/js/pikaday.js +901 -0
README.md ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Squeezol Payments, plugin Magento
2
+ ## Sandbox ##
3
+ * Estrarre il plugin magento
4
+ * Copiare l'intero contenuto nella cartella di Magento cp -r DirectorySqueezolModule/* /var/www/magentoRoot/ (o scaricarlo dal Magento store)
5
+ * Andare su https://sandbox.squeezol.com/api/partner/join e seguire la procedura per creare l'account di test e ottenere **Application ID** e ** Application Secret KEY**. Inserire:
6
+
7
+ 1. L' Url del sito, ad esempio: http://www.yourmagentoshop.com
8
+ 2. Callback Url, nella forma: http://www.yourmagentoshop.com/squeezol/index/oauth
9
+ 3. IPN Url, nella forma: http://www.yourmagentoshop.com/squeezol/index/ipn/
10
+
11
+ * Configurare il plugin Squeezol nella sezione Admin: System->Configurations.
12
+ Nella barra laterale cercare: ->Payment methods.
13
+ Trovare Squeezol e impostare **Application ID** e **Application Secret KEY** e selezionare *enable sandbox*.
14
+ * Andare nella sezione System -> Cache Management ed eseguire il Flush della cache.
15
+ * Fine.
16
+
17
+ ## Andare il produzione ##
18
+ * Andare su https://www.squeezol.com/api/partner/join e seguire la procedura per creare l'account di produzione e ottenere **Application ID** and **Application Secret KEY**. Inserire:
19
+
20
+ 1. L'Url del sito ad esempio: http://www.yourmagentoshop.com
21
+ 2. Callback Url, nella forma: http://www.yourmagentoshop.com/squeezol/index/oauth
22
+ 3. IPN Url, nella forma: http://www.yourmagentoshop.com/squeezol/index/ipn/
23
+
24
+ * Andare nella sezione Admin: System->Configurations. Nella barra laterale cercare Squeezol: disabilitare sandbox and sostituire **Application ID** e **Application Secret KEY** con quelli di produzione (appena ottenuti su www.squeezol.com).
25
+ * Andare su -> Cache Management ed eseguire il Flush della cache.
26
+ * Aspettare l'approvazione dello staff di Squeezol.
27
+
28
+ ## Risoluzione dei problemi ##
29
+ 1. Controllare che tutti gli Url abbiano http:// o https://
30
+ 2. The Callback Url non dovrebbe avere "/" finale
31
+ 3. Contattare support@squeezol.com
32
+
33
+ # Squeezol Payments, plugin Magento
34
+ ## Sandbox ##
35
+ * Extract Squeezol Magento Plugin
36
+ * Copy the entire plugin content in your Magento root directory cp -r DirectorySqueezolModule/* /var/www/magentoRoot/
37
+ * Go to https://sandbox.squeezol.com/api/partner/join and follow the procedure in order to create your test partner account and get your **Application ID** and ** Application Secret KEY**. Insert:
38
+
39
+ 1. The Web site Url e.g. http://www.yourmagentoshop.com
40
+ 2. Callback Url e.g. http://www.yourmagentoshop.com/squeezol/index/oauth
41
+ 3. IPN Url e.g. http://www.yourmagentoshop.com/squeezol/index/ipn/
42
+
43
+ * Configure Squeezol plugin in Magento Admin section: System->Configurations.
44
+ In the side bar go to Payment methods.
45
+ Find Squeezol, set **Application ID** and **Application Secret KEY** and *enable sandbox*.
46
+ * Go to System -> Cache Management and Flush the entire cache.
47
+ * Done.
48
+
49
+ ## Go to production ##
50
+ * Go to https://www.squeezol.com/api/partner/join and follow the procedure in order to create your partner account and get your **Application ID** and **Application Secret KEY**. Insert:
51
+
52
+ 1. The Web site Url e.g. http://www.yourmagentoshop.com
53
+ 2. Callback Url e.g. http://www.yourmagentoshop.com/squeezol/index/oauth
54
+ 3. IPN Url e.g. http://www.yourmagentoshop.com/squeezol/index/ipn/
55
+
56
+ * Go to the magento Admin section System->Configurations. In the Side bar go to Payment methods and find Squeezol: disable sandbox and replace **Application ID** and **Application Secret KEY** to the production ones (just obtained on www.squeezol.com).
57
+ * Go to System -> Cache Management and Flush the entire cache.
58
+ * Wait for Squeezol staff approval.
59
+
60
+ ## TroubleShooting ##
61
+ 1. Double check: every Url must have http:// or https://
62
+ 2. The Callback Url should **not** have a trailing "/"
63
+ 3. Contact support@squeezol.com
app/code/local/Squeezol/Payment/Block/Logo.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Block_Logo extends Mage_Payment_Block_Form {
4
+ protected function _construct () {
5
+ parent::_construct();
6
+ $this->setTemplate('squeezol_payment/logo.phtml');
7
+ }
8
+ }
app/code/local/Squeezol/Payment/Block/Start.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Block_Start extends Mage_Core_Block_Template {
4
+
5
+ protected $_ses;
6
+
7
+ public function getOrderItems () {
8
+ $this->_ses = Mage::getSingleton('squeezol_payment/session');
9
+
10
+ $salesModel = Mage::getModel('sales/order');
11
+ $order_id = $this->_ses->getCurrOrder();
12
+
13
+ if ($order_id) {
14
+ $order_data = $salesModel->loadByIncrementId($order_id)->getAllItems();
15
+ }
16
+
17
+ return $order_data;
18
+ }
19
+
20
+ public function getOrderData () {
21
+ $this->_ses = Mage::getSingleton('squeezol_payment/session');
22
+
23
+ $salesModel = Mage::getModel('sales/order');
24
+ $order_id = $this->_ses->getCurrOrder();
25
+
26
+ if ($order_id) {
27
+ $order_data = $salesModel->loadByIncrementId($order_id)->getData();
28
+ }
29
+
30
+ return $order_data;
31
+ }
32
+
33
+ public function getProductsIds () {
34
+ $items = $this->getOrderItems();
35
+ $ids = array();
36
+
37
+ foreach ($items as $item) {
38
+ $data = $item->getData();
39
+ $ids[] = $data['sku'];
40
+ }
41
+
42
+ return $ids;
43
+ }
44
+
45
+ public function getJsonProductsData () {
46
+ $items = $this->getOrderItems();
47
+
48
+ $data = array();
49
+
50
+ foreach ($items as $i) {
51
+ $info = $i->getData();
52
+ $product = Mage::getModel('catalog/product')->load($info['product_id']);
53
+ $image = $imageUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product' . $product->getImage();
54
+
55
+ $data[] = array(
56
+ 'name' => $info['name'],
57
+ 'image' => $image,
58
+ 'description' => $product->getShortDescription(),
59
+ 'product_id' => $info['sku'],
60
+ 'url' => $product->getProductUrl()
61
+ );
62
+ }
63
+
64
+ return json_encode($data);
65
+ }
66
+
67
+ }
app/code/local/Squeezol/Payment/Helper/Data.php ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Squeezol_Payment_Helper_Data extends Mage_Core_Helper_Abstract {
3
+ protected $_ses;
4
+
5
+ public function getGTableName () {
6
+ return Mage::getSingleton('core/resource')->getTableName('squeezol_groups');
7
+ }
8
+
9
+ public function getOrderItems () {
10
+ $this->_ses = Mage::getSingleton('squeezol_payment/session');
11
+
12
+ $salesModel = Mage::getModel('sales/order');
13
+ $order_id = $this->_ses->getCurrOrder();
14
+
15
+ if ($order_id) {
16
+ $order_data = $salesModel->loadByIncrementId($order_id)->getAllItems();
17
+ }
18
+
19
+ return $order_data;
20
+ }
21
+
22
+ public function getOrderData () {
23
+ $this->_ses = Mage::getSingleton('squeezol_payment/session');
24
+
25
+ $salesModel = Mage::getModel('sales/order');
26
+ $order_id = $this->_ses->getCurrOrder();
27
+
28
+ if ($order_id) {
29
+ $order_data = $salesModel->loadByIncrementId($order_id)->getData();
30
+ }
31
+
32
+ return $order_data;
33
+ }
34
+
35
+ public function getProductsIds () {
36
+ $items = $this->getOrderItems();
37
+ $ids = array();
38
+
39
+ foreach ($items as $item) {
40
+ $data = $item->getData();
41
+ $ids[] = $data['sku'];
42
+ }
43
+
44
+ return $ids;
45
+ }
46
+
47
+ public function getJsonProductsData () {
48
+ $items = $this->getOrderItems();
49
+
50
+ $data = array();
51
+
52
+ foreach ($items as $i) {
53
+ $info = $i->getData();
54
+ $product = Mage::getModel('catalog/product')->load($info['product_id']);
55
+ $image = $imageUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product' . $product->getImage();
56
+ $curr = Mage::app()->getStore()->getCurrentCurrencyCode();
57
+
58
+ $data[] = array(
59
+ 'name' => $info['name'],
60
+ 'image' => $image,
61
+ 'description' => $product->getShortDescription(),
62
+ 'product_id' => $info['sku'],
63
+ 'url' => $product->getProductUrl(),
64
+ 'price' => number_format($info['price'], 2),
65
+ 'price_currency' => $curr
66
+ );
67
+ }
68
+
69
+ return $data;
70
+ }
71
+
72
+ public function squeezol_call ($url, $squeezolToken, $data) {
73
+ $ch = curl_init();
74
+ }
75
+
76
+ public function getPartnerId () {
77
+ $model = Mage::getModel('squeezol_payment/paymentMethod');
78
+ return $model->getConfigData('app_id');
79
+ }
80
+
81
+ public function getGroupsData () {
82
+ require_once Mage::getBaseDir('lib') . '/Squeezol/endpoints.php';
83
+ $this->_ses = Mage::getSingleton('squeezol_payment/session');
84
+
85
+ $endpoint = new SqueezolGetGroupsEndpoint($this->_ses->getSqueezolToken(), array());
86
+ $data = $endpoint->get_groups();
87
+
88
+ return json_decode($data['groups'], true);
89
+ }
90
+
91
+ public function getGroupByOrder($lastOrderId) {
92
+ $sql = 'SELECT * FROM ' . $this->getGTableName() . ' WHERE order_id = :order';
93
+ $bind = array(
94
+ 'order' => $lastOrderId
95
+ );
96
+
97
+ $group = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchRow($sql, $bind);
98
+
99
+ return $group;
100
+ }
101
+
102
+ public function insertOrder ($lastOrderId) {
103
+ $customerId = Mage::getSingleton('customer/session')->getCustomer()->getId();
104
+
105
+ if ($customerId) {
106
+ $sql = 'INSERT INTO ' . $this->getGTableName() . ' VALUES (:customer, :order, null);';
107
+
108
+ $bind = array(
109
+ 'customer' => $customerId,
110
+ 'order' => $lastOrderId
111
+ );
112
+
113
+ $group = Mage::getSingleton('core/resource') ->getConnection('core_write')->query($sql, $bind);
114
+ }
115
+ }
116
+
117
+ public function updateGroup ($group, $order) {
118
+ $sql = 'UPDATE ' . $this->getGTableName() . ' SET group_id = :group WHERE order_id = :order';
119
+
120
+ $bind = array(
121
+ 'group' => $group,
122
+ 'order' => $order
123
+ );
124
+
125
+ Mage::getSingleton('core/resource') ->getConnection('core_write')->query($sql, $bind);
126
+ }
127
+ }
app/code/local/Squeezol/Payment/Model/Mysql4/Params.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Model_Mysql4_Params extends Mage_Core_Model_Mysql4_Abstract {
4
+
5
+ public function _construct () {
6
+ $this->_init('squeezol_payment/params', 'param_id');
7
+ }
8
+ }
app/code/local/Squeezol/Payment/Model/Mysql4/Params/Collection.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Model_Mysql4_Params_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract {
4
+ public function __construct () {
5
+ $this->_init('squeezol_payment/params');
6
+ parent::__construct();
7
+ }
8
+ }
app/code/local/Squeezol/Payment/Model/Params.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Model_Params extends Mage_Core_Model_Abstract {
4
+
5
+ const CALLBACK_URL = 'squeezol/index/oauth';
6
+ const REQUEST_TOKEN_URL = 'https://test.squeezol.com/api/oauth2/request_token/';
7
+ const ACCESS_TOKEN_URL = 'https://test.squeezol.com/api/oauth2/access_token/';
8
+ const AUTHORIZATION_URL = 'https://test.squeezol.com/api/oauth2/authorize/';
9
+
10
+ const PAY_PAGE = 'squeezol/index/pay';
11
+ const REVIEW_PAGE = 'squeezol/index/review';
12
+
13
+ const RESOURCE_USER_URL = 'https://test.squeezol.com/api/user/';
14
+ const RESOURCE_GROUP_URL = 'https://test.squeezol.com/api/group/create/.json';
15
+ const RESOURCE_PRODUCT_URL = 'https://test.squeezol.com/api/product/create/';
16
+ const RESOURCE_DIGEST_URL = 'https://test.squeezol.com/api/group/digest/';
17
+ const RESOURCE_INVITATION_URL = 'https://test.squeezol.com/api/group/invitation/';
18
+ const RESOURCE_ADDPRODUCT_URL = 'https://test.squeezol.com/api/partner/add_product/';
19
+ const RESOURCE_GET_GROUPS_URL = 'https://test.squeezol.com/api/groups/';
20
+
21
+ public function __construct () {
22
+ $this->_init('squeezol_payment/params');
23
+ parent::__construct();
24
+ }
25
+ }
app/code/local/Squeezol/Payment/Model/Paramsandbox.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Model_Paramsandbox extends Mage_Core_Model_Abstract {
4
+
5
+ const CALLBACK_URL = 'squeezol/index/oauth';
6
+ const REQUEST_TOKEN_URL = 'https://sandbox.squeezol.com/api/oauth2/request_token/';
7
+ const ACCESS_TOKEN_URL = 'https://sandbox.squeezol.com/api/oauth2/access_token/';
8
+ const AUTHORIZATION_URL = 'https://sandbox.squeezol.com/api/oauth2/authorize/';
9
+
10
+ const PAY_PAGE = 'squeezol/index/pay';
11
+ const REVIEW_PAGE = 'squeezol/index/review';
12
+
13
+ const RESOURCE_USER_URL = 'https://sandbox.squeezol.com/api/user/';
14
+ const RESOURCE_GROUP_URL = 'https://sandbox.squeezol.com/api/group/create/.json';
15
+ const RESOURCE_PRODUCT_URL = 'https://sandbox.squeezol.com/api/product/create/';
16
+ const RESOURCE_DIGEST_URL = 'https://sandbox.squeezol.com/api/group/digest/';
17
+ const RESOURCE_INVITATION_URL = 'https://sandbox.squeezol.com/api/group/invitation/';
18
+ const RESOURCE_ADDPRODUCT_URL = 'https://sandbox.squeezol.com/api/partner/add_product/';
19
+ const RESOURCE_GET_GROUPS_URL = 'https://sandbox.squeezol.com/api/groups/';
20
+
21
+ public function __construct () {
22
+ $this->_init('squeezol_payment/params');
23
+ parent::__construct();
24
+ }
25
+ }
app/code/local/Squeezol/Payment/Model/PaymentMethod.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Model_PaymentMethod extends Mage_Payment_Model_Method_Abstract {
4
+
5
+ protected $_code = 'squeezol_payment';
6
+ protected $_formBlockType = 'squeezol_payment/logo';
7
+
8
+ public function getOrderPlaceRedirectUrl () {
9
+ return Mage::getUrl('squeezol/index/gateway');
10
+ }
11
+ }
app/code/local/Squeezol/Payment/Model/Resource/Setup.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup {
4
+
5
+ }
app/code/local/Squeezol/Payment/Model/Session.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_Model_Session extends Mage_Core_Model_Session_Abstract {
4
+
5
+ public function __construct () {
6
+ $namespace = 'squeezol';
7
+ $namespace .= '_' . (Mage::app()->getStore()->getWebsite()->getCode());
8
+
9
+ $this->init($namespace);
10
+ Mage::dispatchEvent('squeezol_session_init', array('squeezol_session' => $this));
11
+ }
12
+ }
app/code/local/Squeezol/Payment/controllers/IndexController.php ADDED
@@ -0,0 +1,300 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_IndexController extends Mage_Core_Controller_Front_Action {
4
+
5
+ protected $_ses;
6
+
7
+ public function preDispatch () {
8
+ parent::preDispatch();
9
+
10
+ $this->_ses = Mage::getSingleton('squeezol_payment/session');
11
+ }
12
+
13
+ public function getSession () {
14
+ return $this->_ses;
15
+ }
16
+
17
+ public function indexAction () {
18
+ $this->loadLayout();
19
+ $this->renderLayout();
20
+ return $this;
21
+ }
22
+
23
+ public function gatewayAction () {
24
+
25
+ $lastOrderId = isset($_GET['oid']) ? $_GET['oid'] : null;
26
+
27
+ if (!$lastOrderId) {
28
+ $lastOrderId = Mage::getSingleton('checkout/session')
29
+ ->getLastRealOrderId();
30
+ }
31
+
32
+ if (!$lastOrderId) {
33
+ die();
34
+ }
35
+
36
+ $this->getSession()->setCurrOrder($lastOrderId);
37
+ $group = Mage::helper('squeezol_payment')->getGroupByOrder($lastOrderId);
38
+
39
+ if (!$group) {
40
+ Mage::helper('squeezol_payment')->insertOrder($lastOrderId);
41
+ }
42
+
43
+ $this->loadLayout();
44
+ $this->renderLayout();
45
+
46
+ return $this;
47
+ }
48
+
49
+ public function payAction () {
50
+ require_once Mage::getBaseDir('lib') . '/Squeezol/endpoints.php';
51
+
52
+ $UNAUTH_ERROR = array("status" => "error", "error" => "unauth_request");
53
+ $FORM_OK = array("status" => "ok");
54
+ $INVALID_FORM_ERROR = array("status" => "error", "error" => "form_error" );
55
+ $BAD_REQUEST = array("status" => "error", "error" => "bad_request");
56
+
57
+ if (empty($_POST)) {
58
+ $helper = Mage::helper('squeezol_payment');
59
+ $prod_data = $helper->getJsonProductsData();
60
+ $token = $this->getSession()->getSqueezolToken();
61
+ $endpoint = new SqueezolProductsEndpoint($token, $prod_data);
62
+
63
+ $data = $endpoint->create_product();
64
+ } else {
65
+ $token = $this->getSession()->getSqueezolToken();
66
+ if(!empty($token)) {
67
+
68
+ if($_SERVER['REQUEST_METHOD'] == 'POST') {
69
+ $endpoint = new SqueezolGroupsEndpoint($token, $_POST);
70
+ $res = $endpoint->create_group();
71
+
72
+ if ($res['status'] !== 'error') {
73
+ Mage::helper('squeezol_payment')->updateGroup($res['group_id'], $this->getSession()->getCurrOrder());
74
+ }
75
+
76
+ } else if($_SERVER['REQUEST_METHOD'] == 'GET') {
77
+ $endpoint = new SqueezolGroupsEndpoint($token, $_POST);
78
+ $res = $endpoint->get_group();
79
+ } else {
80
+ $ret = $BAD_REQUEST;
81
+ }
82
+
83
+ if($endpoint->isValid()) {
84
+ $ret = $res;
85
+ } else {
86
+ $ret = $res;
87
+ }
88
+ } else {
89
+ $ret = $UNAUTH_ERROR;
90
+ }
91
+
92
+ echo json_encode($ret);
93
+ die();
94
+ }
95
+
96
+ $this->loadLayout();
97
+ $this->renderLayout();
98
+
99
+ return $this;
100
+ }
101
+
102
+ public function oauthAction () {
103
+ require_once Mage::getBaseDir('lib') . '/oauth2/Client.php';
104
+ require_once Mage::getBaseDir('lib') . '/oauth2/GrantType/IGrantType.php';
105
+ require_once Mage::getBaseDir('lib') . '/oauth2/GrantType/AuthorizationCode.php';
106
+
107
+ $model = Mage::getModel('squeezol_payment/paymentMethod');
108
+ if ($model->getConfigData('use_sandbox') == 1) {
109
+ $paramsModel = Mage::getModel('squeezol_payment/paramsandbox');
110
+ } else {
111
+ $paramsModel = Mage::getModel('squeezol_payment/params');
112
+ }
113
+
114
+ $app_id = $model->getConfigData('app_id');
115
+ $secret = $model->getConfigData('app_secret');
116
+ $basePath = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
117
+
118
+ $callbackUrl = $basePath . $paramsModel::CALLBACK_URL;
119
+
120
+ $client = new OAuth2\Client($app_id, $secret);
121
+
122
+ if (!isset($_GET['code'])) {
123
+ $extra_parameters = array('scope' => 'create+pay');
124
+ $auth_url = $client->getAuthenticationUrl($paramsModel::AUTHORIZATION_URL, $callbackUrl, $extra_parameters);
125
+ header('Location: ' . $auth_url);
126
+ die('Redirect');
127
+ } else {
128
+ $params = array('code' => $_GET['code'], 'redirect_uri' => $callbackUrl);
129
+ $response = $client->getAccessToken($paramsModel::ACCESS_TOKEN_URL, 'authorization_code', $params);
130
+ $info = $response['result'];
131
+
132
+ $client->setAccessToken($info['access_token']);
133
+
134
+ $this->getSession()->setSqueezolToken($info['access_token']);
135
+
136
+ if ($this->getSession()->getFromReview()) {
137
+ header('Location: ' . $basePath . $paramsModel::REVIEW_PAGE);
138
+ $this->getSession()->unsFromReview();
139
+ } else {
140
+ header('Location: ' . $basePath . $paramsModel::PAY_PAGE);
141
+ }
142
+ die();
143
+ }
144
+ }
145
+
146
+ public function reviewAction () {
147
+
148
+ $token = $this->getSession()->getSqueezolToken();
149
+ if (empty($token)) {
150
+
151
+ require_once Mage::getBaseDir('lib') . '/oauth2/Client.php';
152
+ require_once Mage::getBaseDir('lib') . '/oauth2/GrantType/IGrantType.php';
153
+ require_once Mage::getBaseDir('lib') . '/oauth2/GrantType/AuthorizationCode.php';
154
+
155
+ $model = Mage::getModel('squeezol_payment/paymentMethod');
156
+ if ($model->getConfigData('use_sandbox') == 1) {
157
+ $paramsModel = Mage::getModel('squeezol_payment/paramsandbox');
158
+ } else {
159
+ $paramsModel = Mage::getModel('squeezol_payment/params');
160
+ }
161
+
162
+ $app_id = $model->getConfigData('app_id');
163
+ $secret = $model->getConfigData('app_secret');
164
+ $basePath = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
165
+
166
+ $callbackUrl = $basePath . $paramsModel::CALLBACK_URL;
167
+ $this->getSession()->setFromReview(true);
168
+
169
+ $client = new OAuth2\Client($app_id, $secret);
170
+
171
+ if (!isset($_GET['code'])) {
172
+ $extra_parameters = array('scope' => 'create+pay');
173
+ $auth_url = $client->getAuthenticationUrl($paramsModel::AUTHORIZATION_URL, $callbackUrl, $extra_parameters);
174
+ header('Location: ' . $auth_url);
175
+ die('Redirect');
176
+ } else {
177
+ $params = array('code' => $_GET['code'], 'redirect_uri' => $callbackUrl);
178
+ $response = $client->getAccessToken($paramsModel::ACCESS_TOKEN_URL, 'authorization_code', $params);
179
+ $info = $response['result'];
180
+
181
+ $client->setAccessToken($info['access_token']);
182
+
183
+ $this->getSession()->setSqueezolToken($info['access_token']);
184
+ header('Location: ' . $basePath . $paramsModel::REVIEW_PAGE);
185
+ die();
186
+ }
187
+ }
188
+
189
+ $this->loadLayout();
190
+ $this->renderLayout();
191
+
192
+ return $this;
193
+ }
194
+
195
+ public function invitationAction () {
196
+
197
+ $this->loadLayout();
198
+ $this->renderLayout();
199
+
200
+ return $this;
201
+ }
202
+
203
+ public function digestAction () {
204
+
205
+ $this->loadLayout();
206
+ $this->renderLayout();
207
+
208
+ return $this;
209
+ }
210
+
211
+ public function getinvitationAction () {
212
+ require_once Mage::getBaseDir('lib') . '/Squeezol/endpoints.php';
213
+
214
+ $token = $this->getSession()->getSqueezolToken();
215
+ if(!empty($token))
216
+ {
217
+
218
+ if (!empty($_POST))
219
+ {
220
+ $endpoint = new SqueezolInvitationEndpoint($token, $_POST);
221
+ $res = $endpoint->update_invitation();
222
+ }
223
+ else
224
+ {
225
+ $endpoint = new SqueezolInvitationEndpoint($token, $_GET);
226
+ $res = $endpoint->get_invitation();
227
+ }
228
+ if($endpoint->isValid())
229
+ {
230
+ $ret = $FORM_OK;
231
+ $ret = $res;
232
+ }
233
+ else
234
+ {
235
+ $ret = $INVALID_FORM_ERROR;
236
+ foreach($endpoint->getErrors() as $i => $value)
237
+ {
238
+ $ret[$i] = $value;
239
+ }
240
+ }
241
+ } else {
242
+ $ret = $UNAUTH_ERROR;
243
+ }
244
+ echo json_encode($ret);
245
+ }
246
+
247
+ public function getdigestAction () {
248
+ require_once Mage::getBaseDir('lib') . '/Squeezol/endpoints.php';
249
+
250
+ $token = $this->getSession()->getSqueezolToken();
251
+ if(!empty($token))
252
+ {
253
+
254
+ if($_SERVER['REQUEST_METHOD'] == 'POST')
255
+ {
256
+ $endpoint = new SqueezolDigestEndpoint($token, $_POST);
257
+ $res = $endpoint->update_digest();
258
+ }
259
+ else if($_SERVER['REQUEST_METHOD'] == 'GET')
260
+ {
261
+ $endpoint = new SqueezolDigestEndpoint($token, $_GET);
262
+ $res = $endpoint->get_digest();
263
+ }
264
+ else
265
+ {
266
+ $ret = $BAD_REQUEST;
267
+ }
268
+ if($endpoint->isValid())
269
+ {
270
+ $ret = $res;
271
+ }
272
+ else
273
+ {
274
+ $ret = $res;
275
+ }
276
+ } else {
277
+ $ret = $UNAUTH_ERROR;
278
+ }
279
+ echo json_encode($ret);
280
+ }
281
+
282
+ public function ipnAction () {
283
+ $payload = file_get_contents('php://input');
284
+ $data = json_decode($payload, true);
285
+
286
+ $group = Mage::helper('squeezol_payment')->getGroupByOrder($data['group']);
287
+
288
+ $order = Mage::getModel('sales/order')->loadByIncrementId($group['order_id']);
289
+
290
+ if ($data['status'] == 'S') {
291
+ $order->setStatus(Mage_Sales_Model_Order::STATE_COMPLETE);
292
+ $order->save();
293
+ } else {
294
+ $order->setStatus(Mage_Sales_Model_Order::STATE_CANCELED);
295
+ $order->cancel()->save();
296
+ }
297
+
298
+ echo 'OK';
299
+ }
300
+ }
app/code/local/Squeezol/Payment/controllers/OrderProcessingController.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Squeezol_Payment_OrderProcessingController extends Mage_Core_Controller_Front_Action {
4
+
5
+ public function cancelAction () {
6
+ }
7
+
8
+ public function confirmAction () {
9
+
10
+ }
11
+ }
app/code/local/Squeezol/Payment/data/squeezol_payment_setup/data-install-0.1.0.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $data = array(
4
+ array(
5
+ 'param_key' => 'username',
6
+ 'param_val' => 'alfietto91',
7
+ 'store_id' => Mage_Core_Model_App::ADMIN_STORE_ID
8
+ ),
9
+
10
+ array(
11
+ 'param_key' => 'secret',
12
+ 'param_val' => 'jnusin2357b6vka1u997ss12',
13
+ 'store_id' => Mage_Core_Model_App::ADMIN_STORE_ID
14
+ )
15
+ );
16
+
17
+ foreach ($data as $d) {
18
+ Mage::getModel('squeezol_payment/params')
19
+ ->addData($d)
20
+ ->setStoreId($d['store_id'])
21
+ ->save();
22
+ }
app/code/local/Squeezol/Payment/etc/config.xml ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Squeezol_Payment>
5
+ <version>1.0.0</version>
6
+ </Squeezol_Payment>
7
+ </modules>
8
+
9
+ <global>
10
+ <models>
11
+ <squeezol_payment>
12
+ <class>Squeezol_Payment_Model</class>
13
+ <resourceModel>squeezol_payment_mysql4</resourceModel>
14
+ </squeezol_payment>
15
+
16
+ <squeezol_payment_mysql4>
17
+ <class>Squeezol_Payment_Model_Mysql4</class>
18
+ <entities>
19
+ <params>
20
+ <table>squeezol_payment_params</table>
21
+ </params>
22
+ </entities>
23
+ </squeezol_payment_mysql4>
24
+ </models>
25
+
26
+ <blocks>
27
+ <squeezol_payment>
28
+ <class>Squeezol_Payment_Block</class>
29
+ </squeezol_payment>
30
+ </blocks>
31
+
32
+ <helpers>
33
+ <squeezol_payment>
34
+ <class>Squeezol_Payment_Helper</class>
35
+ </squeezol_payment>
36
+ </helpers>
37
+
38
+ <resources>
39
+ <squeezol_payment_setup>
40
+ <setup>
41
+ <module>Squeezol_Payment</module>
42
+ <class>Squeezol_Payment_Model_Resource_Setup</class>
43
+ </setup>
44
+ <connection>
45
+ <use>core_setup</use>
46
+ </connection>
47
+ </squeezol_payment_setup>
48
+
49
+ <squeezol_payment_read>
50
+ <connection>
51
+ <use>core_read</use>
52
+ </connection>
53
+ </squeezol_payment_read>
54
+
55
+ <squeezol_payment_write>
56
+ <connection>
57
+ <use>core_write</use>
58
+ </connection>
59
+ </squeezol_payment_write>
60
+ </resources>
61
+ </global>
62
+
63
+ <frontend>
64
+ <layout>
65
+ <updates>
66
+ <squeezol_payment module="squeezol_payment">
67
+ <file>squeezol_payment.xml</file>
68
+ </squeezol_payment>
69
+ </updates>
70
+ </layout>
71
+
72
+ <routers>
73
+ <squeezol_payment>
74
+ <use>standard</use>
75
+ <args>
76
+ <module>Squeezol_Payment</module>
77
+ <frontName>squeezol</frontName>
78
+ </args>
79
+ </squeezol_payment>
80
+ </routers>
81
+
82
+ <translate>
83
+ <modules>
84
+ <Squeezol_Payment>
85
+ <files>
86
+ <default>Squeezol_Payment.csv</default>
87
+ </files>
88
+ </Squeezol_Payment>
89
+ </modules>
90
+ </translate>
91
+ </frontend>
92
+
93
+ <adminhtml>
94
+ <translate>
95
+ <modules>
96
+ <Squeezol_Payment>
97
+ <files>
98
+ <default>Squeezol_Payment.csv</default>
99
+ </files>
100
+ </Squeezol_Payment>
101
+ </modules>
102
+ </translate>
103
+ </adminhtml>
104
+
105
+ <default>
106
+ <payment>
107
+ <squeezol_payment>
108
+ <active>1</active>
109
+ <model>squeezol_payment/paymentMethod</model>
110
+ <order_status>pending</order_status>
111
+ <title>Paga con Squeezol</title>
112
+ <payment_action>sale</payment_action>
113
+ <allowspecific>0</allowspecific>
114
+ </squeezol_payment>
115
+ </payment>
116
+ </default>
117
+ </config>
app/code/local/Squeezol/Payment/etc/system.xml ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <sections>
4
+ <payment>
5
+ <groups>
6
+ <squeezol_payment translate="label" module="paygate">
7
+ <label>Paga con Squeezol</label>
8
+ <sort_order>670</sort_order>
9
+ <show_in_default>1</show_in_default>
10
+ <show_in_website>1</show_in_website>
11
+ <show_in_store>0</show_in_store>
12
+ <fields>
13
+ <!-- is this payment method active for the website? -->
14
+ <active translate="label">
15
+ <!-- label for the field -->
16
+ <label>Enabled</label>
17
+ <!-- input type for configuration value -->
18
+ <frontend_type>select</frontend_type>
19
+ <!-- model to take the option values from -->
20
+ <source_model>adminhtml/system_config_source_yesno</source_model>
21
+ <!-- field position -->
22
+ <sort_order>1</sort_order>
23
+ <!-- do not show this field in store scope -->
24
+ <show_in_default>1</show_in_default>
25
+ <show_in_website>1</show_in_website>
26
+ <show_in_store>1</show_in_store>
27
+ </active>
28
+ <order_status translate="label">
29
+ <label>New order status</label>
30
+ <frontend_type>select</frontend_type>
31
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
32
+ <sort_order>4</sort_order>
33
+ <show_in_default>1</show_in_default>
34
+ <show_in_website>1</show_in_website>
35
+ <show_in_store>1</show_in_store>
36
+ </order_status>
37
+ <title translate="label">
38
+ <label>Title</label>
39
+ <frontend_type>text</frontend_type>
40
+ <sort_order>2</sort_order>
41
+ <show_in_default>1</show_in_default>
42
+ <show_in_website>1</show_in_website>
43
+ <show_in_store>1</show_in_store>
44
+ </title>
45
+ <use_sandbox translate="label">
46
+ <label>Use Sandbox</label>
47
+ <frontend_type>select</frontend_type>
48
+ <source_model>adminhtml/system_config_source_yesno</source_model>
49
+ <sort_order>7</sort_order>
50
+ <show_in_default>1</show_in_default>
51
+ <show_in_website>1</show_in_website>
52
+ <show_in_store>1</show_in_store>
53
+ </use_sandbox>
54
+ <app_id translate="label,comment">
55
+ <label>Application ID</label>
56
+ <comment>Squeezol internal Application id.</comment>
57
+ <frontend_type>text</frontend_type>
58
+ <sort_order>7</sort_order>
59
+ <show_in_default>1</show_in_default>
60
+ <show_in_website>1</show_in_website>
61
+ <show_in_store>1</show_in_store>
62
+ </app_id>
63
+
64
+ <app_secret translate="label,comment">
65
+ <label>Application Secret KEY</label>
66
+ <comment>Squeezol internal Secret KEY</comment>
67
+ <frontend_type>text</frontend_type>
68
+ <sort_order>8</sort_order>
69
+ <show_in_default>1</show_in_default>
70
+ <show_in_website>1</show_in_website>
71
+ <show_in_store>1</show_in_store>
72
+ </app_secret>
73
+ <order_canceled translate="label">
74
+ <label>Order canceled set to</label>
75
+ <frontend_type>select</frontend_type>
76
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
77
+ <sort_order>5</sort_order>
78
+ <show_in_default>1</show_in_default>
79
+ <show_in_website>1</show_in_website>
80
+ <show_in_store>1</show_in_store>
81
+ </order_canceled>
82
+ <order_closed translate="label">
83
+ <label>Order closed set to</label>
84
+ <frontend_type>select</frontend_type>
85
+ <source_model>adminhtml/system_config_source_order_status_processing</source_model>
86
+ <sort_order>6</sort_order>
87
+ <show_in_default>1</show_in_default>
88
+ <show_in_website>1</show_in_website>
89
+ <show_in_store>1</show_in_store>
90
+ </order_closed>
91
+ </fields>
92
+ </squeezol_payment>
93
+ </groups>
94
+ </payment>
95
+ </sections>
96
+ </config>
app/code/local/Squeezol/Payment/sql/squeezol_payment_setup/install-0.1.0.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+
5
+ $installer->startSetup();
6
+ $tableName = $installer->getTable('squeezol_payment/params');
7
+
8
+ if ($installer->getConnection()->isTableExists($tableName) != true) {
9
+ $table = $installer->getConnection()
10
+ ->newTable($tableName)
11
+ ->addColumn('param_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array('primary' => true, 'identity' => true), 'Param Id')
12
+ ->addColumn('param_key', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array(), 'Param Key')
13
+ ->addColumn('param_val', Varien_Db_Ddl_Table::TYPE_TEXT, 255, array(), 'Param Value');
14
+
15
+ $installer->getConnection()->createTable($table);
16
+ }
17
+
18
+ $installer->endSetup();
app/code/local/Squeezol/Payment/sql/squeezol_payment_setup/upgrade-0.1.0-0.2.0.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+ $installer->startSetup();
5
+
6
+ $installer->run('
7
+ CREATE TABLE IF NOT EXISTS squeezol_groups (
8
+ user_id INT NOT NULL,
9
+ order_id INT NOT NULL,
10
+ group_id INT,
11
+ PRIMARY KEY (user_id, order_id)
12
+ );
13
+ ');
14
+
15
+
16
+ $installer->endSetup();
app/code/local/Squeezol/Payment/sql/squeezol_payment_setup/upgrade-0.2.0-1.0.0.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+ $installer->startSetup();
5
+
6
+ $prefix = Mage::getConfig()->getTablePrefix();
7
+
8
+ $installer->run('
9
+ DROP TABLE IF EXISTS squeezol_groups;
10
+ CREATE TABLE IF NOT EXISTS ' . $prefix . 'squeezol_groups (
11
+ user_id INT NOT NULL,
12
+ order_id INT NOT NULL,
13
+ group_id INT,
14
+ PRIMARY KEY (user_id, order_id)
15
+ );
16
+ ');
17
+
18
+
19
+ $installer->endSetup();
20
+
app/design/frontend/base/default/layout/squeezol_payment.xml ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <layout version="0.1.0">
2
+ <customer_logged_in>
3
+ <reference name="top.links">
4
+ <action method="addLink" translate="label title" module="squeezol_payment">
5
+ <label>Collette Squeezol</label>
6
+ <path>squeezol/index/review</path>
7
+ <title>Collette Squeezol</title>
8
+ <urlParams helper="core/url/getHomeUrl"/>
9
+ <prepare/>
10
+ <position>20</position>
11
+ </action>
12
+ </reference>
13
+ </customer_logged_in>
14
+
15
+ <squeezol_payment_index_gateway>
16
+ <reference name="head">
17
+ <action method="addCss"><stylesheet>css/squeezol.css</stylesheet></action>
18
+ <action method="addCss"><stylesheet>css/bootstrap.min.css</stylesheet></action>
19
+ <!--action method="addItem">
20
+ <type>skin_js</type>
21
+ <name>js/jquery.min.js</name>
22
+ </action-->
23
+ <action method="addItem">
24
+ <type>skin_js</type>
25
+ <name>js/bootstrap.min.js</name>
26
+ </action>
27
+ <action method="addItem">
28
+ <type>skin_js</type>
29
+ <name>js/_squeezol3.js</name>
30
+ </action>
31
+ </reference>
32
+ <reference name="content">
33
+ <block name="squeezol_payment.start" as="squeezol_payment_start" type="squeezol_payment/start" template="squeezol_payment/start.phtml" />
34
+ </reference>
35
+ </squeezol_payment_index_gateway>
36
+
37
+ <squeezol_payment_index_pay>
38
+ <reference name="head">
39
+ <action method="addCss"><stylesheet>css/bootstrap.min.css</stylesheet></action>
40
+ <action method="addCss"><stylesheet>css/squeezol.css</stylesheet></action>
41
+ <!--<action method="addCss"><stylesheet>css/_squeezol.css</stylesheet></action>>
42
+ <action method="addItem">
43
+ <type>skin_js</type>
44
+ <name>js/jquery.min.js</name>
45
+ </action-->
46
+ <action method="addItem">
47
+ <type>skin_js</type>
48
+ <name>js/bootstrap.min.js</name>
49
+ </action>
50
+ <action method="addItem">
51
+ <type>skin_js</type>
52
+ <name>js/_squeezol3.js</name>
53
+ </action>
54
+ </reference>
55
+
56
+ <reference name="content">
57
+ <block name="squeezol_payment.create" as="squeezol_payment_create" type="squeezol_payment/start" template="squeezol_payment/create.phtml" />
58
+ </reference>
59
+ </squeezol_payment_index_pay>
60
+
61
+ <squeezol_payment_index_invitation>
62
+ <reference name="head">
63
+ <action method="addCss"><stylesheet>css/bootstrap.min.css</stylesheet></action>
64
+ <action method="addCss"><stylesheet>css/squeezol.css</stylesheet></action>
65
+ <!--<action method="addCss"><stylesheet>css/_squeezol.css</stylesheet></action>>
66
+ <action method="addItem">
67
+ <type>skin_js</type>
68
+ <name>js/jquery.min.js</name>
69
+ </action-->
70
+ <action method="addItem">
71
+ <type>skin_js</type>
72
+ <name>js/bootstrap.min.js</name>
73
+ </action>
74
+ <action method="addItem">
75
+ <type>skin_js</type>
76
+ <name>js/_squeezol3.js</name>
77
+ </action>
78
+ </reference>
79
+
80
+ <reference name="content">
81
+ <block name="squeezol_payment.invitation" as="squeezol_payment_invitation" type="squeezol_payment/start" template="squeezol_payment/invitation.phtml" />
82
+ </reference>
83
+ </squeezol_payment_index_invitation>
84
+
85
+ <squeezol_payment_index_digest>
86
+ <reference name="head">
87
+ <action method="addCss"><stylesheet>css/bootstrap.min.css</stylesheet></action>
88
+ <action method="addCss"><stylesheet>css/squeezol.css</stylesheet></action>
89
+ <!--<action method="addCss"><stylesheet>css/_squeezol.css</stylesheet></action>>
90
+ <action method="addItem">
91
+ <type>skin_js</type>
92
+ <name>js/jquery.min.js</name>
93
+ </action-->
94
+ <action method="addItem">
95
+ <type>skin_js</type>
96
+ <name>js/bootstrap.min.js</name>
97
+ </action>
98
+ <action method="addItem">
99
+ <type>skin_js</type>
100
+ <name>js/_squeezol3.js</name>
101
+ </action>
102
+ </reference>
103
+
104
+ <reference name="content">
105
+ <block name="squeezol_payment.digest" as="squeezol_payment_digest" type="squeezol_payment/start" template="squeezol_payment/digest.phtml" />
106
+ </reference>
107
+ </squeezol_payment_index_digest>
108
+
109
+ <squeezol_payment_index_review>
110
+ <reference name="head">
111
+ <action method="addCss"><stylesheet>css/bootstrap.min.css</stylesheet></action>
112
+ <action method="addCss"><stylesheet>css/squeezol.css</stylesheet></action>
113
+ <!--<action method="addCss"><stylesheet>css/_squeezol.css</stylesheet></action>>
114
+ <action method="addItem">
115
+ <type>skin_js</type>
116
+ <name>js/jquery.min.js</name>
117
+ </action-->
118
+ <action method="addItem">
119
+ <type>skin_js</type>
120
+ <name>js/bootstrap.min.js</name>
121
+ </action>
122
+ <action method="addItem">
123
+ <type>skin_js</type>
124
+ <name>js/_squeezol3.js</name>
125
+ </action>
126
+ </reference>
127
+
128
+ <reference name="content">
129
+ <block name="squeezol_payment.review" as="squeezol_payment_review" type="squeezol_payment/start" template="squeezol_payment/review.phtml" />
130
+ </reference>
131
+ </squeezol_payment_index_review>
132
+ <checkout_onepage_index>
133
+ <reference name="head">
134
+ <action method="addCss"><stylesheet>css/bootstrap.min.css</stylesheet></action>
135
+ <!--<action method="addCss"><stylesheet>css/_squeezol.css</stylesheet></action>>
136
+ <action method="addItem">
137
+ <type>skin_js</type>
138
+ <name>js/jquery.min.js</name>
139
+ </action-->
140
+ <action method="addItem">
141
+ <type>skin_js</type>
142
+ <name>js/bootstrap.min.js</name>
143
+ </action>
144
+ </reference>
145
+ </checkout_onepage_index>
146
+ </layout>
app/design/frontend/base/default/template/squeezol_payment/create.phtml ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script>
2
+ var img_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/images/squeezol_payment/';
3
+ var css_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/css/';
4
+ var js_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/js/';
5
+ </script>
6
+
7
+ <?php
8
+ $order = $this->getOrderData();
9
+ $model = Mage::getModel('squeezol_payment/params');
10
+
11
+ $items = $this->getOrderItems();
12
+ ?>
13
+ <div id="squeezol_view"></div>
14
+
15
+ <?php
16
+ $model = Mage::getModel('squeezol_payment/params');
17
+ $invitation_url = Mage::getBaseUrl() . '/squeezol/index/invitation/?page=group_id';
18
+ $digest_url = Mage::getBaseUrl() . '/squeezol/index/digest/?page=group_id';
19
+ ?>
20
+
21
+ <script>
22
+ SqueezolApi.createGroup(
23
+ '<?php echo money_format('%.2n', $order['base_grand_total']) ?>',
24
+ '<?php echo $order['base_currency_code']; ?>',
25
+ '<?php echo json_encode($this->getProductsIds()) ?>',
26
+ '<?php echo Mage::getBaseUrl() . '/squeezol/index/pay'; ?>',
27
+ '<?php echo $invitation_url; ?>',
28
+ '<?php echo $digest_url; ?>'
29
+ );
30
+ </script>
31
+
32
+ <style>
33
+ .col-main {
34
+ width: 100% !important;
35
+ float: left !important;
36
+ }
37
+
38
+ .col-md-8 {
39
+ width: 90% !important;
40
+ }
41
+
42
+ .col-md-offset-2 {
43
+ margin-left: 0px !important;
44
+ }
45
+ </style>
app/design/frontend/base/default/template/squeezol_payment/digest.phtml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script>
2
+ var img_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/images/squeezol_payment/';
3
+ var css_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/css/';
4
+ var js_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/js/';
5
+ </script>
6
+
7
+ <div id="squeezol_view"></div>
8
+
9
+ <script>
10
+ SqueezolApi.getDigestData( '<?php echo $_GET['page']; ?>', '<?php echo Mage::getBaseUrl(); ?>/squeezol/index/getdigest');
11
+ </script>
12
+
13
+ <style>
14
+ .col-main {
15
+ width: 100% !important;
16
+ float: left !important;
17
+ }
18
+
19
+ .col-md-8 {
20
+ width: 90% !important;
21
+ }
22
+
23
+ .col-md-offset-2 {
24
+ margin-left: 0px !important;
25
+ }
26
+ </style>
27
+
app/design/frontend/base/default/template/squeezol_payment/invitation.phtml ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script>
2
+ var img_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/images/squeezol_payment/';
3
+ var css_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/css/';
4
+ var js_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/js/';
5
+ </script>
6
+
7
+ <div id="squeezol_view"></div>
8
+
9
+ <script>
10
+ SqueezolApi.getInvitationData( '<?php echo $_GET['page']; ?>', '<?php echo Mage::getBaseUrl(); ?>/squeezol/index/getinvitation');
11
+ </script>
12
+
13
+ <style>
14
+ .col-main {
15
+ width: 100% !important;
16
+ float: left !important;
17
+ }
18
+
19
+ .col-md-8 {
20
+ width: 90% !important;
21
+ }
22
+
23
+ .col-md-offset-2 {
24
+ margin-left: 0px !important;
25
+ }
26
+ </style>
app/design/frontend/base/default/template/squeezol_payment/logo.phtml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/images/squeezol_payment/logo_min.png" style="height: 24px; margin-left:10px; margin-right: 10px; display:inline;" />
2
+ <a id="squeezol_btn" target="_blank" style="float: left; margin-top: 7px; display:inline; cursor: pointer;">
3
+ <div>
4
+ <h4>Scopri come</h4>
5
+ </div>
6
+ </a>
7
+
8
+ <div style="width: 100px; height: 1px; clear:both;"></div>
9
+
10
+ <script>
11
+ jQuery(document).ready(function () {
12
+ var img_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/images/squeezol_payment/';
13
+ var div ='<div class="sq-row wizard">'+
14
+ '<div class="sq-col-xs-4">'+
15
+ '<img class="sq-img-responsive" src="' + img_url + 'btn2.jpg" alt="Think">'+
16
+ '<h4 class="sq-text-center">1.Crea una colletta</h4>'+
17
+ '</div>'+
18
+ '<div class="sq-col-xs-4">'+
19
+ '<img class="sq-img-responsive" src="' + img_url + 'busta2.jpg" alt="Find">'+
20
+ '<h4 class="sq-text-center">2.Invita i tuoi amici</h4>'+
21
+ '</div>'+
22
+ '<div class="sq-col-xs-4">'+
23
+ '<img class="sq-img-responsive" src="' + img_url + 'salva2.jpg" alt="Fun">'+
24
+ '<h4 class="sq-text-center">3. Versa la tua quota</h4>'+
25
+ '</div>'+
26
+ '</div>'+
27
+ '<div class="sq-row">'+
28
+ '<h4 class="sq-text-center"> Dividi l\'acquisto con i tuoi amici senza anticipare... &egrave; gratis!</h4>'+
29
+ '</div>';
30
+ jQuery('#squeezol_btn').popover({ title:'Come funziona',
31
+ html:true ,
32
+ content: div,
33
+ delay: { show: 100, hide:100 },
34
+ placement: {top: 100, left: 100},
35
+ trigger: 'manual'
36
+ });
37
+
38
+ jQuery('#squeezol_btn').on('click', function(){
39
+ jQuery('#squeezol_btn').popover('toggle');
40
+ });
41
+ jQuery('#squeezol_btn').on('shown.bs.popover', function(){
42
+ jQuery('.sq-popover').attr('style','display: block; top: -20px; left: 127px;max-width:500px;');
43
+ });
44
+ jQuery('#squeezol_btn').on('hidden.bs.popover', function(){
45
+ jQuery('.sq-popover').attr('style','');
46
+ jQuery(this).css("display", "");
47
+ });
48
+
49
+ });
50
+
51
+ </script>
app/design/frontend/base/default/template/squeezol_payment/review.phtml ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $groups = Mage::helper('squeezol_payment')->getGroupsData();
3
+
4
+ $customerId = Mage::getSingleton('customer/session')->getCustomer()->getId();
5
+
6
+ $sql = 'SELECT * FROM squeezol_groups WHERE group_id IS NULL AND user_id = ' . $customerId;
7
+ $orders = Mage::getSingleton('core/resource') ->getConnection('core_read')->fetchAll($sql);
8
+ ?>
9
+
10
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>frontend/base/default/images/squeezol_payment/fenicottero.png" style="height: 100px;float: left;" />
11
+ <h2 style="float: left;margin-left: 20px; margin-top: 62px;">Collette attive</h2>
12
+
13
+ <table class="sq-table sq-table-bordered">
14
+ <tr>
15
+ <th>Nome colletta</th>
16
+ <th>Immagine</th>
17
+ <th>Giorni mancanti</th>
18
+ <th>Totale da pagare</th>
19
+ <th>Totale pagato</th>
20
+ <th></th>
21
+ </tr>
22
+
23
+ <?php foreach ($groups as $g): ?>
24
+ <tr>
25
+ <td><?php echo $g['name']; ?></td>
26
+ <td><img style="width: 80px;" src="<?php echo $g['picture']; ?>" /></td>
27
+ <td><?php echo $g['days_left']; ?></td>
28
+ <td><?php echo money_format('%.2n', $g['amount']) . ' ' . $g['currency']; ?></td>
29
+ <td><?php echo money_format('%.2n', $g['total_paid']) . ' ' . $g['currency']; ?></td>
30
+ <td><a href="<?php echo Mage::getBaseUrl(); ?>squeezol/index/digest/?page=<?php echo $g['id']; ?>">Vai alla colletta</a></td>
31
+ </tr>
32
+ <?php endforeach; ?>
33
+ </table>
34
+
35
+ <img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>frontend/base/default/images/squeezol_payment/fenicottero.png" style="height: 100px;float: left;" />
36
+ <h2 style="float: left;margin-left: 20px; margin-top: 62px;">Ordini da completare</h2>
37
+
38
+ <table class="sq-table sq-table-bordered">
39
+ <tr>
40
+ <th>Ordine</th>
41
+ <th>Visualizza</th>
42
+ <th>Crea colletta</th>
43
+ </tr>
44
+
45
+ <?php foreach ($orders as $o): ?>
46
+ <?php $ord = Mage::getModel('sales/order')->loadByIncrementId($o['order_id'])->getId(); ?>
47
+ <tr>
48
+ <td>#<?php echo $o['order_id']; ?></td>
49
+ <td><a href="<?php echo Mage::getBaseUrl(); ?>sales/order/view/order_id/<?php echo $ord; ?>/">Visualizza</a></td>
50
+ <td><a href="<?php echo Mage::getBaseUrl(); ?>squeezol/index/gateway/?oid=<?php echo $o['order_id']; ?>">Crea</a></td>
51
+ </tr>
52
+ <?php endforeach; ?>
53
+ </table>
app/design/frontend/base/default/template/squeezol_payment/start.phtml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script>
2
+ var img_url = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN); ?>/frontend/base/default/images/squeezol_payment/';
3
+ </script>
4
+
5
+ <h3>Paga con Squeezol</h3>
6
+
7
+ <h4>
8
+ Squeezol ti permette di dividire il costo del carrello con amici, colleghi e parenti.
9
+ </h4>
10
+
11
+ <h3> Come procedere: </h3>
12
+ <p> <p class="sq-text">Clicca su Pay With Squeezol</p> e autorizza l'utilizzo del servizio. </p>
13
+ <p> Dai un nome e una descrizione alla colletta e dillo ai tuoi invitati con email e Facebook.</p>
14
+ <p> <p class="sq-text">Paga la tua quota</p> e...non aver fretta, i partecipanti avranno <p class="sq-text">25 giorni</p> di tempo per completare l'acquisto!</p>
15
+
16
+ <div id="squeezol_btn"></div>
17
+
18
+ <table class="shipping-data sq-table sq-table-bordered">
19
+ <tr>
20
+ <th>Oggetto</th>
21
+ <th>Quantit&agrave;</th>
22
+ <th>Prezzo</th>
23
+ </tr>
24
+
25
+ <?php foreach ($this->getOrderItems() as $item): ?>
26
+ <?php
27
+ $data = $item->getData();
28
+ ?>
29
+
30
+ <tr>
31
+ <td><?php echo $data['name']; ?></td>
32
+ <td><?php echo round($data['qty_ordered']); ?></td>
33
+ <td><?php echo money_format('%.2n', $data['price_incl_tax']); ?></td>
34
+ </tr>
35
+ <?php endforeach; ?>
36
+
37
+ <?php $order = $this->getOrderData(); ?>
38
+ <tr>
39
+ <td></td>
40
+ <td class="bld">Spedizione</td>
41
+ <td><?php echo money_format('%.2n', $order['base_shipping_amount']); ?></td>
42
+ </tr>
43
+ <tr>
44
+ <td></td>
45
+ <td class="bld">Totale</td>
46
+ <td><?php echo money_format('%.2n', $order['base_grand_total']); ?></td>
47
+ </tr>
48
+ </table>
49
+
50
+ <script> SqueezolApi.createSqButton('<?php echo Mage::getBaseUrl(); ?>/squeezol/index/oauth', 'big'); </script>
app/etc/modules/Squeezol_Payment.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Squeezol_Payment>
5
+ <codePool>local</codePool>
6
+ <active>true</active>
7
+ </Squeezol_Payment>
8
+ </modules>
9
+ </config>
lib/Squeezol/endpoints.php ADDED
@@ -0,0 +1,443 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $model1 = Mage::getModel('squeezol_payment/paymentMethod');
4
+
5
+ if ($model1->getConfigData('use_sandbox') == 1) {
6
+
7
+ $model = Mage::getModel('squeezol_payment/paramsandbox');
8
+
9
+ } else {
10
+
11
+ $model = Mage::getModel('squeezol_payment/params');
12
+ }
13
+
14
+
15
+ define('RESOURCE_GROUP_URL', $model::RESOURCE_GROUP_URL);
16
+ define('RESOURCE_INVITATION_URL', $model::RESOURCE_INVITATION_URL);
17
+ define('RESOURCE_PRODUCT_URL', $model::RESOURCE_PRODUCT_URL);
18
+ define('RESOURCE_DIGEST_URL', $model::RESOURCE_DIGEST_URL);
19
+ define('RESOURCE_ADDPRODUCT_URL', $model::RESOURCE_ADDPRODUCT_URL);
20
+ define('RESOURCE_GET_GROUPS_URL', $model::RESOURCE_GET_GROUPS_URL);
21
+
22
+ class SqueezolEndpoint
23
+ {
24
+ /* Base class for Squeezol API call */
25
+ protected $headers = array();
26
+ protected $raw_response = Null;
27
+ protected $response = Null;
28
+ protected $error_class = Exception;
29
+ protected $url = Null;
30
+ protected $data = array();
31
+
32
+ const HTTP_METHOD_GET = 'GET';
33
+ const HTTP_METHOD_PUT = 'PUT';
34
+ const HTTP_METHOD_DELETE = 'DELETE';
35
+ const HTTP_METHOD_HEAD = 'HEAD';
36
+ const HTTP_METHOD_PATCH = 'PATCH';
37
+
38
+ /* Constructor */
39
+ function __construct($user_token, $data)
40
+ {
41
+ $this->build_headers($user_token);
42
+ $this->prepare_data($data);
43
+
44
+ Mage::log('Richiesta a squeezol, url: ' . $this->url, null, 'squeezol.log');
45
+ Mage::log('Token: ' . $user_token, null, 'squeezol.log');
46
+ Mage::log('Dump richiesta: ' . json_encode($data), null, 'squeezol.log');
47
+ }
48
+
49
+ private function build_headers($user_token)
50
+ {
51
+ if(!empty($user_token))
52
+ {
53
+ $this->headers['Authorization'] = "Bearer " . $user_token;
54
+ }
55
+ $this->headers['Content-Type'] = 'application/json';
56
+ $this->headers['Referer'] = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}/{$_SERVER['REQUEST_URI']}";
57
+ return;
58
+ }
59
+
60
+ protected function prepare_data($data)
61
+ {
62
+
63
+ return;
64
+ }
65
+
66
+ public function call($method='POST')
67
+ {
68
+ $u = new UrlRequest;
69
+ $this->raw_response = $u->run($this->url, $this->data, $this->headers, $method);
70
+
71
+ Mage::log('Risposta di squeezol: ' . $this->raw_response, null, 'squeezol.log');
72
+
73
+ $this->response = json_decode($this->raw_response, true);
74
+ }
75
+ }
76
+
77
+ class URLRequest
78
+ {
79
+ public function __construct()
80
+ {
81
+ if (!extension_loaded('curl'))
82
+ {
83
+ throw new $error_class('The PHP exention curl must be installed to use this library.', Exception::CURL_NOT_FOUND);
84
+ }
85
+ }
86
+
87
+ public function run($url, $data, $headers, $method='POST'){
88
+ // create curl resource
89
+ $ch = curl_init();
90
+ error_log("Data: " . json_encode($data));
91
+ // set url
92
+ if ($method == 'GET')
93
+ {
94
+ $new_url = $url . "?";
95
+ foreach($data as $i => $value)
96
+ {
97
+ $new_url = $new_url . urlencode($i);
98
+ $new_url = $new_url . '=';
99
+ $new_url = $new_url . urlencode($value) . '&';
100
+ }
101
+ $new_url = rtrim($new_url, '&');
102
+ curl_setopt($ch, CURLOPT_URL, $new_url);
103
+ } else {
104
+ curl_setopt($ch, CURLOPT_URL, $url);
105
+ if ($method == 'POST')
106
+ {
107
+ curl_setopt($ch, CURLOPT_POST, 1);
108
+ curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
109
+ }
110
+ }
111
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $this->convert_header($headers));
112
+ // TODO: Only for testing purposes
113
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
114
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
115
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
116
+ // $output contains the output string
117
+ $output = curl_exec($ch);
118
+ $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
119
+ error_log("Status code: " . $http_status);
120
+ if($http_status == 500){
121
+ return;
122
+ }
123
+ // close curl resource to free up system resources
124
+ curl_close($ch);
125
+
126
+ return $output;
127
+ }
128
+
129
+ private function convert_header($header)
130
+ {
131
+ $toSend = array();
132
+ foreach($header as $i => $value)
133
+ {
134
+ array_push($toSend, $i . ": " . $value);
135
+ }
136
+ return $toSend;
137
+ }
138
+ }
139
+
140
+ class SqueezolGroupsEndpoint extends SqueezolEndpoint
141
+ {
142
+ /*
143
+ Models the group operations.
144
+ */
145
+ protected $url = RESOURCE_GROUP_URL;
146
+
147
+ protected function prepare_data($data)
148
+ {
149
+ foreach ($data as $i => $value)
150
+ {
151
+ if($i == 'money'){
152
+ $this->data['amount'] = $value;
153
+ } else if ($i == 'money_currency'){
154
+ $this->data['currency'] = $value;
155
+ } else if ($i == 'products'){
156
+ $this->data['products'] = json_decode($value);
157
+ } else if ($i == 'firstUrl') {
158
+ $this->data['invitation_url'] = $value;
159
+ } else if ($i == 'secondUrl') {
160
+ $this->data['digest_url'] = $value;
161
+ }
162
+ else {
163
+ $this->data[$i] = $value;
164
+ }
165
+ }
166
+ $this->data['partner'] = Mage::helper('squeezol_payment')->getPartnerId();
167
+ return;
168
+ }
169
+
170
+ public function create_group()
171
+ {
172
+ $this->call('POST');
173
+ return $this->response;
174
+ }
175
+
176
+ public function get_group()
177
+ {
178
+ $this->call('GET');
179
+ return $this->response;
180
+ }
181
+
182
+ public function getError()
183
+ {
184
+ return $this->response['error'];
185
+ }
186
+
187
+ public function getErrors()
188
+ {
189
+ $ret = array();
190
+ $err = array();
191
+ $resp = $this->response;
192
+ if(!empty($resp['non_field_errors']))
193
+ {
194
+ $ret['non_field_errors'] = $resp['non_field_errors'];
195
+ $indexCompleted = array_search('non_field_errors', $resp);
196
+ unset($resp[$indexCompleted]);
197
+ }
198
+ else{
199
+ foreach($resp as $i => $value)
200
+ {
201
+ if($i != 'status')
202
+ {
203
+ $err[$i] = $value;
204
+ }
205
+ }
206
+ $ret['genericerror'] = $err;
207
+ }
208
+ $ret['status'] = $resp['status'];
209
+ return $ret;
210
+ }
211
+
212
+ public function isValid()
213
+ {
214
+ if(empty($this->response['status']))
215
+ {
216
+ return False;
217
+ }
218
+ if($this->response['status'] == 'ok')
219
+ {
220
+ return True;
221
+ }
222
+ return False;
223
+ }
224
+ }
225
+
226
+ class SqueezolProductsEndpoint extends SqueezolEndpoint
227
+ {
228
+ /*
229
+ Models the products operations
230
+ */
231
+ protected $url = RESOURCE_ADDPRODUCT_URL;
232
+
233
+ public function __construct($user_token, $data) {
234
+ parent::__construct($user_token, $data);
235
+
236
+ $this->url = $this->url;
237
+ }
238
+
239
+
240
+ protected function prepare_data($data)
241
+ {
242
+ $tot_data = array();
243
+ foreach ($data as $i => $value)
244
+ {
245
+ $tot_data[$i] = $value;
246
+ $tot_data[$i]['partner'] = Mage::helper('squeezol_payment')->getPartnerId();
247
+ }
248
+
249
+ $this->data['products'] = $tot_data;
250
+
251
+ return;
252
+ }
253
+
254
+ public function create_product()
255
+ {
256
+ $this->call('POST');
257
+ return $this->response;
258
+ }
259
+
260
+ public function get_product()
261
+ {
262
+ $this->call('GET');
263
+ return $this->response;
264
+ }
265
+
266
+ public function getError()
267
+ {
268
+ return $this->response['error'];
269
+ }
270
+
271
+ }
272
+
273
+ class SqueezolDigestEndpoint extends SqueezolEndpoint {
274
+ /*
275
+ Models the digest operations
276
+ */
277
+ protected $url = RESOURCE_DIGEST_URL;
278
+
279
+ public function __construct($user_token, $data) {
280
+ parent::__construct($user_token, $data);
281
+ }
282
+
283
+ protected function prepare_data($data)
284
+ {
285
+ foreach ($data as $i => $value)
286
+ {
287
+ if($i == 'participant_id'){
288
+ $this->data['participant_id'] = $value;
289
+ } else if ($i == 'action'){
290
+ $this->data['action'] = $value;
291
+ } else if ($i == 'single_amount'){
292
+ $this->data['single_amount'] = $value;
293
+ } else {
294
+ $this->data[$i] = $value;
295
+ }
296
+ }
297
+ $this->data['partner'] = Mage::helper('squeezol_payment')->getPartnerId();
298
+ return;
299
+ }
300
+
301
+ public function isValid()
302
+ {
303
+ error_log("Status: " . $this->response['status']);
304
+ if(empty($this->response['status']))
305
+ {
306
+ return False;
307
+ }
308
+ if($this->response['status'] == 'ok')
309
+ {
310
+ return True;
311
+ }
312
+ return False;
313
+ }
314
+
315
+ public function getErrors()
316
+ {
317
+ return $this->response;
318
+ }
319
+
320
+ public function get_digest()
321
+ {
322
+ $this->call('GET');
323
+ return $this->response;
324
+ }
325
+
326
+ public function update_digest()
327
+ {
328
+ $this->call('POST');
329
+ return $this->response;
330
+ }
331
+ }
332
+
333
+ class SqueezolInvitationEndpoint extends SqueezolEndpoint {
334
+ /*
335
+ Models the digest operations
336
+ */
337
+ protected $url = RESOURCE_INVITATION_URL;
338
+
339
+ public function __construct($user_token, $data) {
340
+ parent::__construct($user_token, $data);
341
+ }
342
+
343
+ protected function prepare_data($data)
344
+ {
345
+ foreach ($data as $i => $value)
346
+ {
347
+ if ($i == 'group_id'){
348
+ $this->data['group_id'] = $value;
349
+ }
350
+ else if ($i == 'action'){
351
+ $this->data['action'] = $value;
352
+ }
353
+ else if ($i == 'mailArray'){
354
+ $this->data['mailArray'] = json_decode($value);
355
+ }
356
+ else if ($i == 'admin_cntrib'){
357
+ $this->data['admin_contrib'] = $value;
358
+ }
359
+ else if ($i == 'participant_id'){
360
+ $this->data['participant_id'] = $value;
361
+ }
362
+ else if ($i == 'fbArray'){
363
+ $this->data['fbArray'] = $value;
364
+ }
365
+ else {
366
+ $this->data[$i] = $value;
367
+ }
368
+ }
369
+ $this->data['partner'] = Mage::helper('squeezol_payment')->getPartnerId();
370
+ return;
371
+ }
372
+
373
+ public function isValid()
374
+ {
375
+ error_log("Status: " . $this->response['status']);
376
+ if(empty($this->response['status']))
377
+ {
378
+ return False;
379
+ }
380
+ if($this->response['status'] == 'ok')
381
+ {
382
+ return True;
383
+ }
384
+ return False;
385
+ }
386
+
387
+ public function getErrors()
388
+ {
389
+ return $this->response['error'];
390
+ }
391
+
392
+ public function get_invitation()
393
+ {
394
+ $this->call('GET');
395
+ return $this->response;
396
+ }
397
+
398
+ public function update_invitation()
399
+ {
400
+ $this->call('POST');
401
+ return $this->response;
402
+ }
403
+ }
404
+
405
+
406
+ class SqueezolGetGroupsEndpoint extends SqueezolEndpoint {
407
+ /*
408
+ Models the digest operations
409
+ */
410
+ protected $url = RESOURCE_GET_GROUPS_URL;
411
+
412
+ public function __construct($user_token, $data) {
413
+ parent::__construct($user_token, $data);
414
+ }
415
+
416
+
417
+ public function isValid()
418
+ {
419
+ error_log("Status: " . $this->response['status']);
420
+ if(empty($this->response['status']))
421
+ {
422
+ return False;
423
+ }
424
+ if($this->response['status'] == 'ok')
425
+ {
426
+ return True;
427
+ }
428
+ return False;
429
+ }
430
+
431
+ public function getErrors()
432
+ {
433
+ return $this->response;
434
+ }
435
+
436
+ public function get_groups()
437
+ {
438
+ $this->call('GET');
439
+ return $this->response;
440
+ }
441
+
442
+ }
443
+ ?>
lib/oauth2/Client.php ADDED
@@ -0,0 +1,515 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Note : Code is released under the GNU LGPL
4
+ *
5
+ * Please do not change the header of this file
6
+ *
7
+ * This library is free software; you can redistribute it and/or modify it under the terms of the GNU
8
+ * Lesser General Public License as published by the Free Software Foundation; either version 2 of
9
+ * the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
+ *
14
+ * See the GNU Lesser General Public License for more details.
15
+ */
16
+
17
+ /**
18
+ * Light PHP wrapper for the OAuth 2.0 protocol.
19
+ *
20
+ * This client is based on the OAuth2 specification draft v2.15
21
+ * http://tools.ietf.org/html/draft-ietf-oauth-v2-15
22
+ *
23
+ * @author Pierrick Charron <pierrick@webstart.fr>
24
+ * @author Anis Berejeb <anis.berejeb@gmail.com>
25
+ * @version 1.2-dev
26
+ */
27
+ namespace OAuth2;
28
+
29
+ class Client
30
+ {
31
+ /**
32
+ * Different AUTH method
33
+ */
34
+ const AUTH_TYPE_URI = 0;
35
+ const AUTH_TYPE_AUTHORIZATION_BASIC = 1;
36
+ const AUTH_TYPE_FORM = 2;
37
+
38
+ /**
39
+ * Different Access token type
40
+ */
41
+ const ACCESS_TOKEN_URI = 0;
42
+ const ACCESS_TOKEN_BEARER = 1;
43
+ const ACCESS_TOKEN_OAUTH = 2;
44
+ const ACCESS_TOKEN_MAC = 3;
45
+
46
+ /**
47
+ * Different Grant types
48
+ */
49
+ const GRANT_TYPE_AUTH_CODE = 'authorization_code';
50
+ const GRANT_TYPE_PASSWORD = 'password';
51
+ const GRANT_TYPE_CLIENT_CREDENTIALS = 'client_credentials';
52
+ const GRANT_TYPE_REFRESH_TOKEN = 'refresh_token';
53
+
54
+ /**
55
+ * HTTP Methods
56
+ */
57
+ const HTTP_METHOD_GET = 'GET';
58
+ const HTTP_METHOD_POST = 'POST';
59
+ const HTTP_METHOD_PUT = 'PUT';
60
+ const HTTP_METHOD_DELETE = 'DELETE';
61
+ const HTTP_METHOD_HEAD = 'HEAD';
62
+ const HTTP_METHOD_PATCH = 'PATCH';
63
+
64
+ /**
65
+ * HTTP Form content types
66
+ */
67
+ const HTTP_FORM_CONTENT_TYPE_APPLICATION = 0;
68
+ const HTTP_FORM_CONTENT_TYPE_MULTIPART = 1;
69
+
70
+ /**
71
+ * Client ID
72
+ *
73
+ * @var string
74
+ */
75
+ protected $client_id = null;
76
+
77
+ /**
78
+ * Client Secret
79
+ *
80
+ * @var string
81
+ */
82
+ protected $client_secret = null;
83
+
84
+ /**
85
+ * Client Authentication method
86
+ *
87
+ * @var int
88
+ */
89
+ protected $client_auth = self::AUTH_TYPE_URI;
90
+
91
+ /**
92
+ * Access Token
93
+ *
94
+ * @var string
95
+ */
96
+ protected $access_token = null;
97
+
98
+ /**
99
+ * Access Token Type
100
+ *
101
+ * @var int
102
+ */
103
+ protected $access_token_type = self::ACCESS_TOKEN_URI;
104
+
105
+ /**
106
+ * Access Token Secret
107
+ *
108
+ * @var string
109
+ */
110
+ protected $access_token_secret = null;
111
+
112
+ /**
113
+ * Access Token crypt algorithm
114
+ *
115
+ * @var string
116
+ */
117
+ protected $access_token_algorithm = null;
118
+
119
+ /**
120
+ * Access Token Parameter name
121
+ *
122
+ * @var string
123
+ */
124
+ protected $access_token_param_name = 'access_token';
125
+
126
+ /**
127
+ * The path to the certificate file to use for https connections
128
+ *
129
+ * @var string Defaults to .
130
+ */
131
+ protected $certificate_file = null;
132
+
133
+ /**
134
+ * cURL options
135
+ *
136
+ * @var array
137
+ */
138
+ protected $curl_options = array();
139
+
140
+ /**
141
+ * Construct
142
+ *
143
+ * @param string $client_id Client ID
144
+ * @param string $client_secret Client Secret
145
+ * @param int $client_auth (AUTH_TYPE_URI, AUTH_TYPE_AUTHORIZATION_BASIC, AUTH_TYPE_FORM)
146
+ * @param string $certificate_file Indicates if we want to use a certificate file to trust the server. Optional, defaults to null.
147
+ * @return void
148
+ */
149
+ public function __construct($client_id, $client_secret, $client_auth = self::AUTH_TYPE_URI, $certificate_file = null)
150
+ {
151
+ if (!extension_loaded('curl')) {
152
+ throw new Exception('The PHP exention curl must be installed to use this library.', Exception::CURL_NOT_FOUND);
153
+ }
154
+
155
+ $this->client_id = $client_id;
156
+ $this->client_secret = $client_secret;
157
+ $this->client_auth = $client_auth;
158
+ $this->certificate_file = $certificate_file;
159
+ if (!empty($this->certificate_file) && !is_file($this->certificate_file)) {
160
+ throw new InvalidArgumentException('The certificate file was not found', InvalidArgumentException::CERTIFICATE_NOT_FOUND);
161
+ }
162
+ }
163
+
164
+ /**
165
+ * Get the client Id
166
+ *
167
+ * @return string Client ID
168
+ */
169
+ public function getClientId()
170
+ {
171
+ return $this->client_id;
172
+ }
173
+
174
+ /**
175
+ * Get the client Secret
176
+ *
177
+ * @return string Client Secret
178
+ */
179
+ public function getClientSecret()
180
+ {
181
+ return $this->client_secret;
182
+ }
183
+
184
+ /**
185
+ * getAuthenticationUrl
186
+ *
187
+ * @param string $auth_endpoint Url of the authentication endpoint
188
+ * @param string $redirect_uri Redirection URI
189
+ * @param array $extra_parameters Array of extra parameters like scope or state (Ex: array('scope' => null, 'state' => ''))
190
+ * @return string URL used for authentication
191
+ */
192
+ public function getAuthenticationUrl($auth_endpoint, $redirect_uri, array $extra_parameters = array())
193
+ {
194
+ $parameters = array_merge(array(
195
+ 'response_type' => 'code',
196
+ 'client_id' => $this->client_id,
197
+ 'redirect_uri' => $redirect_uri
198
+ ), $extra_parameters);
199
+ return $auth_endpoint . '?' . http_build_query($parameters, null, '&');
200
+ }
201
+
202
+ /**
203
+ * getAccessToken
204
+ *
205
+ * @param string $token_endpoint Url of the token endpoint
206
+ * @param int $grant_type Grant Type ('authorization_code', 'password', 'client_credentials', 'refresh_token', or a custom code (@see GrantType Classes)
207
+ * @param array $parameters Array sent to the server (depend on which grant type you're using)
208
+ * @return array Array of parameters required by the grant_type (CF SPEC)
209
+ */
210
+ public function getAccessToken($token_endpoint, $grant_type, array $parameters)
211
+ {
212
+ if (!$grant_type) {
213
+ throw new InvalidArgumentException('The grant_type is mandatory.', InvalidArgumentException::INVALID_GRANT_TYPE);
214
+ }
215
+ $grantTypeClassName = $this->convertToCamelCase($grant_type);
216
+ $grantTypeClass = __NAMESPACE__ . '\\GrantType\\' . $grantTypeClassName;
217
+ if (!class_exists($grantTypeClass)) {
218
+ throw new InvalidArgumentException('Unknown grant type \'' . $grant_type . '\'', InvalidArgumentException::INVALID_GRANT_TYPE);
219
+ }
220
+ $grantTypeObject = new $grantTypeClass();
221
+ $grantTypeObject->validateParameters($parameters);
222
+ if (!defined($grantTypeClass . '::GRANT_TYPE')) {
223
+ throw new Exception('Unknown constant GRANT_TYPE for class ' . $grantTypeClassName, Exception::GRANT_TYPE_ERROR);
224
+ }
225
+ $parameters['grant_type'] = $grantTypeClass::GRANT_TYPE;
226
+ $http_headers = array();
227
+ switch ($this->client_auth) {
228
+ case self::AUTH_TYPE_URI:
229
+ case self::AUTH_TYPE_FORM:
230
+ $parameters['client_id'] = $this->client_id;
231
+ $parameters['client_secret'] = $this->client_secret;
232
+ break;
233
+ case self::AUTH_TYPE_AUTHORIZATION_BASIC:
234
+ $parameters['client_id'] = $this->client_id;
235
+ $http_headers['Authorization'] = 'Basic ' . base64_encode($this->client_id . ':' . $this->client_secret);
236
+ break;
237
+ default:
238
+ throw new Exception('Unknown client auth type.', Exception::INVALID_CLIENT_AUTHENTICATION_TYPE);
239
+ break;
240
+ }
241
+
242
+ return $this->executeRequest($token_endpoint, $parameters, self::HTTP_METHOD_POST, $http_headers, self::HTTP_FORM_CONTENT_TYPE_APPLICATION);
243
+ }
244
+
245
+ /**
246
+ * setToken
247
+ *
248
+ * @param string $token Set the access token
249
+ * @return void
250
+ */
251
+ public function setAccessToken($token)
252
+ {
253
+ $this->access_token = $token;
254
+ }
255
+
256
+ /**
257
+ * Set the client authentication type
258
+ *
259
+ * @param string $client_auth (AUTH_TYPE_URI, AUTH_TYPE_AUTHORIZATION_BASIC, AUTH_TYPE_FORM)
260
+ * @return void
261
+ */
262
+ public function setClientAuthType($client_auth)
263
+ {
264
+ $this->client_auth = $client_auth;
265
+ }
266
+
267
+ /**
268
+ * Set an option for the curl transfer
269
+ *
270
+ * @param int $option The CURLOPT_XXX option to set
271
+ * @param mixed $value The value to be set on option
272
+ * @return void
273
+ */
274
+ public function setCurlOption($option, $value)
275
+ {
276
+ $this->curl_options[$option] = $value;
277
+ }
278
+
279
+ /**
280
+ * Set multiple options for a cURL transfer
281
+ *
282
+ * @param array $options An array specifying which options to set and their values
283
+ * @return void
284
+ */
285
+ public function setCurlOptions($options)
286
+ {
287
+ $this->curl_options = array_merge($this->curl_options, $options);
288
+ }
289
+
290
+ /**
291
+ * Set the access token type
292
+ *
293
+ * @param int $type Access token type (ACCESS_TOKEN_BEARER, ACCESS_TOKEN_MAC, ACCESS_TOKEN_URI)
294
+ * @param string $secret The secret key used to encrypt the MAC header
295
+ * @param string $algorithm Algorithm used to encrypt the signature
296
+ * @return void
297
+ */
298
+ public function setAccessTokenType($type, $secret = null, $algorithm = null)
299
+ {
300
+ $this->access_token_type = $type;
301
+ $this->access_token_secret = $secret;
302
+ $this->access_token_algorithm = $algorithm;
303
+ }
304
+
305
+ /**
306
+ * Fetch a protected ressource
307
+ *
308
+ * @param string $protected_ressource_url Protected resource URL
309
+ * @param array $parameters Array of parameters
310
+ * @param string $http_method HTTP Method to use (POST, PUT, GET, HEAD, DELETE)
311
+ * @param array $http_headers HTTP headers
312
+ * @param int $form_content_type HTTP form content type to use
313
+ * @return array
314
+ */
315
+ public function fetch($protected_resource_url, $parameters = array(), $http_method = self::HTTP_METHOD_GET, array $http_headers = array(), $form_content_type = self::HTTP_FORM_CONTENT_TYPE_MULTIPART)
316
+ {
317
+ if ($this->access_token) {
318
+ switch ($this->access_token_type) {
319
+ case self::ACCESS_TOKEN_URI:
320
+ if (is_array($parameters)) {
321
+ $parameters[$this->access_token_param_name] = $this->access_token;
322
+ } else {
323
+ throw new InvalidArgumentException(
324
+ 'You need to give parameters as array if you want to give the token within the URI.',
325
+ InvalidArgumentException::REQUIRE_PARAMS_AS_ARRAY
326
+ );
327
+ }
328
+ break;
329
+ case self::ACCESS_TOKEN_BEARER:
330
+ $http_headers['Authorization'] = 'Bearer ' . $this->access_token;
331
+ break;
332
+ case self::ACCESS_TOKEN_OAUTH:
333
+ $http_headers['Authorization'] = 'OAuth ' . $this->access_token;
334
+ break;
335
+ case self::ACCESS_TOKEN_MAC:
336
+ $http_headers['Authorization'] = 'MAC ' . $this->generateMACSignature($protected_resource_url, $parameters, $http_method);
337
+ break;
338
+ default:
339
+ throw new Exception('Unknown access token type.', Exception::INVALID_ACCESS_TOKEN_TYPE);
340
+ break;
341
+ }
342
+ }
343
+ return $this->executeRequest($protected_resource_url, $parameters, $http_method, $http_headers, $form_content_type);
344
+ }
345
+
346
+ /**
347
+ * Generate the MAC signature
348
+ *
349
+ * @param string $url Called URL
350
+ * @param array $parameters Parameters
351
+ * @param string $http_method Http Method
352
+ * @return string
353
+ */
354
+ private function generateMACSignature($url, $parameters, $http_method)
355
+ {
356
+ $timestamp = time();
357
+ $nonce = uniqid();
358
+ $parsed_url = parse_url($url);
359
+ if (!isset($parsed_url['port']))
360
+ {
361
+ $parsed_url['port'] = ($parsed_url['scheme'] == 'https') ? 443 : 80;
362
+ }
363
+ if ($http_method == self::HTTP_METHOD_GET) {
364
+ if (is_array($parameters)) {
365
+ $parsed_url['path'] .= '?' . http_build_query($parameters, null, '&');
366
+ } elseif ($parameters) {
367
+ $parsed_url['path'] .= '?' . $parameters;
368
+ }
369
+ }
370
+
371
+ $signature = base64_encode(hash_hmac($this->access_token_algorithm,
372
+ $timestamp . "\n"
373
+ . $nonce . "\n"
374
+ . $http_method . "\n"
375
+ . $parsed_url['path'] . "\n"
376
+ . $parsed_url['host'] . "\n"
377
+ . $parsed_url['port'] . "\n\n"
378
+ , $this->access_token_secret, true));
379
+
380
+ return 'id="' . $this->access_token . '", ts="' . $timestamp . '", nonce="' . $nonce . '", mac="' . $signature . '"';
381
+ }
382
+
383
+ /**
384
+ * Execute a request (with curl)
385
+ *
386
+ * @param string $url URL
387
+ * @param mixed $parameters Array of parameters
388
+ * @param string $http_method HTTP Method
389
+ * @param array $http_headers HTTP Headers
390
+ * @param int $form_content_type HTTP form content type to use
391
+ * @return array
392
+ */
393
+ private function executeRequest($url, $parameters = array(), $http_method = self::HTTP_METHOD_GET, array $http_headers = null, $form_content_type = self::HTTP_FORM_CONTENT_TYPE_MULTIPART)
394
+ {
395
+ $curl_options = array(
396
+ CURLOPT_RETURNTRANSFER => true,
397
+ CURLOPT_SSL_VERIFYPEER => true,
398
+ CURLOPT_CUSTOMREQUEST => $http_method
399
+ );
400
+
401
+ switch($http_method) {
402
+ case self::HTTP_METHOD_POST:
403
+ $curl_options[CURLOPT_POST] = true;
404
+ /* No break */
405
+ case self::HTTP_METHOD_PUT:
406
+ case self::HTTP_METHOD_PATCH:
407
+
408
+ /**
409
+ * Passing an array to CURLOPT_POSTFIELDS will encode the data as multipart/form-data,
410
+ * while passing a URL-encoded string will encode the data as application/x-www-form-urlencoded.
411
+ * http://php.net/manual/en/function.curl-setopt.php
412
+ */
413
+ if(is_array($parameters) && self::HTTP_FORM_CONTENT_TYPE_APPLICATION === $form_content_type) {
414
+ $parameters = http_build_query($parameters, null, '&');
415
+ }
416
+ $curl_options[CURLOPT_POSTFIELDS] = $parameters;
417
+ break;
418
+ case self::HTTP_METHOD_HEAD:
419
+ $curl_options[CURLOPT_NOBODY] = true;
420
+ /* No break */
421
+ case self::HTTP_METHOD_DELETE:
422
+ case self::HTTP_METHOD_GET:
423
+ if (is_array($parameters)) {
424
+ $url .= '?' . http_build_query($parameters, null, '&');
425
+ } elseif ($parameters) {
426
+ $url .= '?' . $parameters;
427
+ }
428
+ break;
429
+ default:
430
+ break;
431
+ }
432
+
433
+ $curl_options[CURLOPT_URL] = $url;
434
+
435
+ if (is_array($http_headers)) {
436
+ $header = array();
437
+ foreach($http_headers as $key => $parsed_urlvalue) {
438
+ $header[] = "$key: $parsed_urlvalue";
439
+ }
440
+ $curl_options[CURLOPT_HTTPHEADER] = $header;
441
+ }
442
+
443
+ $ch = curl_init();
444
+ curl_setopt_array($ch, $curl_options);
445
+ // https handling
446
+ if (!empty($this->certificate_file)) {
447
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
448
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
449
+ curl_setopt($ch, CURLOPT_CAINFO, $this->certificate_file);
450
+ } else {
451
+ // bypass ssl verification
452
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
453
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
454
+ }
455
+ if (!empty($this->curl_options)) {
456
+ curl_setopt_array($ch, $this->curl_options);
457
+ }
458
+ $result = curl_exec($ch);
459
+ $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
460
+ $content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
461
+ if ($curl_error = curl_error($ch)) {
462
+ throw new Exception($curl_error, Exception::CURL_ERROR);
463
+ } else {
464
+ $json_decode = json_decode($result, true);
465
+ }
466
+ curl_close($ch);
467
+
468
+ return array(
469
+ 'result' => (null === $json_decode) ? $result : $json_decode,
470
+ 'code' => $http_code,
471
+ 'content_type' => $content_type
472
+ );
473
+ }
474
+
475
+ /**
476
+ * Set the name of the parameter that carry the access token
477
+ *
478
+ * @param string $name Token parameter name
479
+ * @return void
480
+ */
481
+ public function setAccessTokenParamName($name)
482
+ {
483
+ $this->access_token_param_name = $name;
484
+ }
485
+
486
+ /**
487
+ * Converts the class name to camel case
488
+ *
489
+ * @param mixed $grant_type the grant type
490
+ * @return string
491
+ */
492
+ private function convertToCamelCase($grant_type)
493
+ {
494
+ $parts = explode('_', $grant_type);
495
+ array_walk($parts, function(&$item) { $item = ucfirst($item);});
496
+ return implode('', $parts);
497
+ }
498
+ }
499
+
500
+ class Exception extends \Exception
501
+ {
502
+ const CURL_NOT_FOUND = 0x01;
503
+ const CURL_ERROR = 0x02;
504
+ const GRANT_TYPE_ERROR = 0x03;
505
+ const INVALID_CLIENT_AUTHENTICATION_TYPE = 0x04;
506
+ const INVALID_ACCESS_TOKEN_TYPE = 0x05;
507
+ }
508
+
509
+ class InvalidArgumentException extends \InvalidArgumentException
510
+ {
511
+ const INVALID_GRANT_TYPE = 0x01;
512
+ const CERTIFICATE_NOT_FOUND = 0x02;
513
+ const REQUIRE_PARAMS_AS_ARRAY = 0x03;
514
+ const MISSING_PARAMETER = 0x04;
515
+ }
lib/oauth2/GrantType/AuthorizationCode.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace OAuth2\GrantType;
3
+
4
+ use OAuth2\InvalidArgumentException;
5
+
6
+ /**
7
+ * Authorization code Grant Type Validator
8
+ */
9
+ class AuthorizationCode implements IGrantType
10
+ {
11
+ /**
12
+ * Defines the Grant Type
13
+ *
14
+ * @var string Defaults to 'authorization_code'.
15
+ */
16
+ const GRANT_TYPE = 'authorization_code';
17
+
18
+ /**
19
+ * Adds a specific Handling of the parameters
20
+ *
21
+ * @return array of Specific parameters to be sent.
22
+ * @param mixed $parameters the parameters array (passed by reference)
23
+ */
24
+ public function validateParameters(&$parameters)
25
+ {
26
+ if (!isset($parameters['code']))
27
+ {
28
+ throw new InvalidArgumentException(
29
+ 'The \'code\' parameter must be defined for the Authorization Code grant type',
30
+ InvalidArgumentException::MISSING_PARAMETER
31
+ );
32
+ }
33
+ elseif (!isset($parameters['redirect_uri']))
34
+ {
35
+ throw new InvalidArgumentException(
36
+ 'The \'redirect_uri\' parameter must be defined for the Authorization Code grant type',
37
+ InvalidArgumentException::MISSING_PARAMETER
38
+ );
39
+ }
40
+ }
41
+ }
lib/oauth2/GrantType/ClientCredentials.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace OAuth2\GrantType;
3
+
4
+ /**
5
+ * Client Credentials Parameters
6
+ */
7
+ class ClientCredentials implements IGrantType
8
+ {
9
+ /**
10
+ * Defines the Grant Type
11
+ *
12
+ * @var string Defaults to 'client_credentials'.
13
+ */
14
+ const GRANT_TYPE = 'client_credentials';
15
+
16
+ /**
17
+ * Adds a specific Handling of the parameters
18
+ *
19
+ * @return array of Specific parameters to be sent.
20
+ * @param mixed $parameters the parameters array (passed by reference)
21
+ */
22
+ public function validateParameters(&$parameters)
23
+ {
24
+ }
25
+ }
lib/oauth2/GrantType/IGrantType.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace OAuth2\GrantType;
3
+ /**
4
+ * Specific GrantType Interface
5
+ */
6
+ interface IGrantType
7
+ {
8
+ /**
9
+ * Adds a specific Handling of the parameters
10
+ *
11
+ * @return array of Specific parameters to be sent.
12
+ * @param mixed $parameters the parameters array (passed by reference)
13
+ */
14
+ public function validateParameters(&$parameters);
15
+ }
lib/oauth2/GrantType/Password.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace OAuth2\GrantType;
3
+
4
+ use OAuth2\InvalidArgumentException;
5
+
6
+ /**
7
+ * Password Parameters
8
+ */
9
+ class Password implements IGrantType
10
+ {
11
+ /**
12
+ * Defines the Grant Type
13
+ *
14
+ * @var string Defaults to 'password'.
15
+ */
16
+ const GRANT_TYPE = 'password';
17
+
18
+ /**
19
+ * Adds a specific Handling of the parameters
20
+ *
21
+ * @return array of Specific parameters to be sent.
22
+ * @param mixed $parameters the parameters array (passed by reference)
23
+ */
24
+ public function validateParameters(&$parameters)
25
+ {
26
+ if (!isset($parameters['username']))
27
+ {
28
+ throw new InvalidArgumentException(
29
+ 'The \'username\' parameter must be defined for the Password grant type',
30
+ InvalidArgumentException::MISSING_PARAMETER
31
+ );
32
+ }
33
+ elseif (!isset($parameters['password']))
34
+ {
35
+ throw new InvalidArgumentException(
36
+ 'The \'password\' parameter must be defined for the Password grant type',
37
+ InvalidArgumentException::MISSING_PARAMETER
38
+ );
39
+ }
40
+ }
41
+ }
lib/oauth2/GrantType/RefreshToken.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace OAuth2\GrantType;
3
+
4
+ use OAuth2\InvalidArgumentException;
5
+
6
+ /**
7
+ * Refresh Token Parameters
8
+ */
9
+ class RefreshToken implements IGrantType
10
+ {
11
+ /**
12
+ * Defines the Grant Type
13
+ *
14
+ * @var string Defaults to 'refresh_token'.
15
+ */
16
+ const GRANT_TYPE = 'refresh_token';
17
+
18
+ /**
19
+ * Adds a specific Handling of the parameters
20
+ *
21
+ * @return array of Specific parameters to be sent.
22
+ * @param mixed $parameters the parameters array (passed by reference)
23
+ */
24
+ public function validateParameters(&$parameters)
25
+ {
26
+ if (!isset($parameters['refresh_token']))
27
+ {
28
+ throw new InvalidArgumentException(
29
+ 'The \'refresh_token\' parameter must be defined for the refresh token grant type',
30
+ InvalidArgumentException::MISSING_PARAMETER
31
+ );
32
+ }
33
+ }
34
+ }
lib/oauth2/README ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ___________________________________
2
+
3
+ Light PHP wrapper for the OAuth 2.0
4
+ ___________________________________
5
+
6
+
7
+ AUTHOR & CONTACT
8
+ ================
9
+
10
+ Charron Pierrick
11
+ - pierrick@webstart.fr
12
+
13
+ Berejeb Anis
14
+ - anis.berejeb@gmail.com
15
+
16
+
17
+ DOCUMENTATION & DOWNLOAD
18
+ ========================
19
+
20
+ Latest version is available on github at :
21
+ - https://github.com/adoy/PHP-OAuth2
22
+
23
+ Documentation can be found on :
24
+ - https://github.com/adoy/PHP-OAuth2
25
+
26
+
27
+ LICENSE
28
+ =======
29
+
30
+ This Code is released under the GNU LGPL
31
+
32
+ Please do not change the header of the file(s).
33
+
34
+ This library is free software; you can redistribute it and/or modify it
35
+ under the terms of the GNU Lesser General Public License as published
36
+ by the Free Software Foundation; either version 2 of the License, or
37
+ (at your option) any later version.
38
+
39
+ This library is distributed in the hope that it will be useful, but
40
+ WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
41
+ or FITNESS FOR A PARTICULAR PURPOSE.
42
+
43
+ See the GNU Lesser General Public License for more details.
44
+
45
+
46
+ How can I use it ?
47
+ ==================
48
+
49
+ require('client.php');
50
+ require('GrantType/IGrantType.php');
51
+ require('GrantType/AuthorizationCode.php');
52
+
53
+ const CLIENT_ID = 'your client id';
54
+ const CLIENT_SECRET = 'your client secret';
55
+
56
+ const REDIRECT_URI = 'http://url/of/this.php';
57
+ const AUTHORIZATION_ENDPOINT = 'https://graph.facebook.com/oauth/authorize';
58
+ const TOKEN_ENDPOINT = 'https://graph.facebook.com/oauth/access_token';
59
+
60
+ $client = new OAuth2\Client(CLIENT_ID, CLIENT_SECRET);
61
+ if (!isset($_GET['code']))
62
+ {
63
+ $auth_url = $client->getAuthenticationUrl(AUTHORIZATION_ENDPOINT, REDIRECT_URI);
64
+ header('Location: ' . $auth_url);
65
+ die('Redirect');
66
+ }
67
+ else
68
+ {
69
+ $params = array('code' => $_GET['code'], 'redirect_uri' => REDIRECT_URI);
70
+ $response = $client->getAccessToken(TOKEN_ENDPOINT, 'authorization_code', $params);
71
+ parse_str($response['result'], $info);
72
+ $client->setAccessToken($info['access_token']);
73
+ $response = $client->fetch('https://graph.facebook.com/me');
74
+ var_dump($response, $response['result']);
75
+ }
76
+
77
+ How can I add a new Grant Type ?
78
+ ================================
79
+ Simply write a new class in the namespace OAuth2\GrantType. You can place the class file under GrantType.
80
+ Here is an example :
81
+
82
+ namespace OAuth2\GrantType;
83
+
84
+ /**
85
+ * MyCustomGrantType Grant Type
86
+ */
87
+ class MyCustomGrantType implements IGrantType
88
+ {
89
+ /**
90
+ * Defines the Grant Type
91
+ *
92
+ * @var string Defaults to 'my_custom_grant_type'.
93
+ */
94
+ const GRANT_TYPE = 'my_custom_grant_type';
95
+
96
+ /**
97
+ * Adds a specific Handling of the parameters
98
+ *
99
+ * @return array of Specific parameters to be sent.
100
+ * @param mixed $parameters the parameters array (passed by reference)
101
+ */
102
+ public function validateParameters(&$parameters)
103
+ {
104
+ if (!isset($parameters['first_mandatory_parameter']))
105
+ {
106
+ throw new \Exception('The \'first_mandatory_parameter\' parameter must be defined for the Password grant type');
107
+ }
108
+ elseif (!isset($parameters['second_mandatory_parameter']))
109
+ {
110
+ throw new \Exception('The \'seconde_mandatory_parameter\' parameter must be defined for the Password grant type');
111
+ }
112
+ }
113
+ }
114
+
115
+ call the OAuth client getAccessToken with the grantType you defined in the GRANT_TYPE constant, As following :
116
+ $response = $client->getAccessToken(TOKEN_ENDPOINT, 'my_custom_grant_type', $params);
117
+
lib/oauth2/auth_request.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require('Client.php');
3
+ require('GrantType/IGrantType.php');
4
+ require('GrantType/AuthorizationCode.php');
5
+ require('../config.php');
6
+ session_start();
7
+ $client = new OAuth2\Client(SQUEEZOL_ID, SQUEEZOL_SECRET);
8
+ if (!isset($_GET['code']))
9
+ {
10
+ $extra_parameters = array('scope' => SCOPE );
11
+ $auth_url = $client->getAuthenticationUrl(AUTHORIZATION_URL, CALLBACK_URL, $extra_parameters);
12
+ die(var_dump($auth_url));
13
+ header('Location: ' . $auth_url);
14
+ die('Redirect');
15
+ }
16
+ else
17
+ {
18
+ $params = array('code' => $_GET['code'], 'redirect_uri' => CALLBACK_URL);
19
+ $response = $client->getAccessToken(ACCESS_TOKEN_URL, 'authorization_code', $params);
20
+ $info = $response['result'];
21
+ $client->setAccessToken($info['access_token']);
22
+ $_SESSION['squeezolToken'] = $info['access_token'];
23
+ header('Location: ' . SQUEEZOL_PAY_PAGE);
24
+ error_log('Access token' . "{$_SESSION['squeezolToken']}");
25
+ }
26
+ ?>
lib/oauth2/composer.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "adoy/oauth2",
3
+ "description": "Light PHP wrapper for the OAuth 2.0 protocol (based on OAuth 2.0 Authorization Protocol draft-ietf-oauth-v2-15)",
4
+ "license": "LGPL-2.1",
5
+ "authors": [
6
+ {
7
+ "name": "Charron Pierrick",
8
+ "email": "pierrick@webstart.fr"
9
+ },
10
+ {
11
+ "name": "Berejeb Anis",
12
+ "email": "anis.berejeb@gmail.com"
13
+ }
14
+ ],
15
+ "autoload": {
16
+ "classmap": [
17
+ "../"
18
+ ]
19
+ }
20
+ }
package.xml ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package><name>Squeezol_Payment</name><version>1.0.0</version><stability>stable</stability><license>OSL</license><channel>community</channel><extends></extends><summary>It enables group payment, a split of cart amount.</summary><description>Squeezol Split is the innovative payment technology that solves personal fundraising problems
3
+ between people, simplifying scheduling, budget planning and finally payments. Enable group
4
+ purchasing on your e-commerce site or marketplace just integrating 'Pay with Squeezol' button:
5
+ everyone puts his share in, then the merchant receives the entire payment due. A buying system
6
+ used in current life now completely digitalized, taking advantage of social media tools to ease at the
7
+ same time the whole customers' experience and the viral diffusion of merchants brand.
8
+ Squeezol Split is essential in the organization of a plurality of social activities: birthday and degree
9
+ gifts, trips, wedding lists, concert tickets, parties... generally every situation in which a group of
10
+ people funds products or services for its own benefit or amusement. Those products or services
11
+ could be yours, so just offer your customers a tool that rides out problems like sums advances, cash
12
+ transfers and meetings with distant people. How it works? Your customer adds items to cart and
13
+ proceeds to checkout as usual. Here he chooses to split the cost with Squeezol, giving start to a
14
+ simple three steps procedure:
15
+
16
+ 1) Split creation and personalization with description, deadlines and management options.
17
+
18
+ 2) Invitation through Facebook and Google Account contacts, e-mail insertion and link sharing.
19
+
20
+ 3) Everyone pays his own part with credit card, with easy and free refund system in case of
21
+ failed Split.
22
+
23
+ Squeezol carries its own PoS system and it's completely integrated on your site. It means no redirect
24
+ and no change in financial partnership for your everyday activity.
25
+ Please contact us for any further information.</description><notes></notes><authors><author><name>Davide Costa</name><user>infosqueezol</user><email>info@squeezol.com</email></author></authors><date>2014-11-20</date><time>7:36:05</time><compatible></compatible><dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies><contents><target name="mage"><file name="README.md" hash="97f9dbb159f7cfa3f574c2374f906b83"/><dir name="app"><dir name="etc"><dir name="modules"><file name="Squeezol_Payment.xml" hash="8069f82ec151f6c45be892bcc32460f8"/></dir></dir><dir name="code"><dir name="local"><dir name="Squeezol"><dir name="Payment"><dir name="etc"><file name="config.xml" hash="816f839cf9155c94838938ee9b4c1532"/><file name="system.xml" hash="f21029a6dce1a2225501fe793e03897c"/></dir><dir name="Helper"><file name="Data.php" hash="2da605b5b30c72be00873aa4a864305c"/></dir><dir name="Model"><file name="Params.php" hash="0890bb351ed8f73333bc28ff6244afd7"/><file name="Paramsandbox.php" hash="1f90070265de7948188c79590009ac1d"/><file name="PaymentMethod.php" hash="37fcaf2619c43b2713c4a5441d5345cc"/><file name="Session.php" hash="6453e3413705bde3e492ac9829b954e8"/><dir name="Mysql4"><file name="Params.php" hash="b12305337a72803ed2d61f6b8cac0159"/><dir name="Params"><file name="Collection.php" hash="5c73d0c799b880eed0bfc65bd50f17b6"/></dir></dir><dir name="Resource"><file name="Setup.php" hash="0340022ca0914dfcd7b6b589767dbc21"/></dir></dir><dir name="sql"><dir name="squeezol_payment_setup"><file name="install-0.1.0.php" hash="404031896ca519d8739300687fc1ab9e"/><file name="upgrade-0.1.0-0.2.0.php" hash="1bd99cfd46a27f7d94754540d32af500"/><file name="upgrade-0.2.0-1.0.0.php" hash="36edcf31ba4f44b97b80d77868da31e9"/></dir></dir><dir name="Block"><file name="Logo.php" hash="f9c7b30ccf3d9c947ec4a33c1662c395"/><file name="Start.php" hash="7edb0747a52d16fa21a2952c6d356191"/></dir><dir name="controllers"><file name="IndexController.php" hash="240141985147707c7f4cc3efb48e86d9"/><file name="OrderProcessingController.php" hash="5e56204902a16dd1c726dc61050c2503"/></dir><dir name="data"><dir name="squeezol_payment_setup"><file name="data-install-0.1.0.php" hash="3b58d0cdbc68e0260e839a2c8f0d4675"/></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="squeezol_payment.xml" hash="b0ff388085484492f5cfc3be096eabc8"/></dir><dir name="template"><dir name="squeezol_payment"><file name="create.phtml" hash="7f33a4cd28d0f09ab8b8b94af207b326"/><file name="digest.phtml" hash="ad115777c40a2bf9de8287963340c42c"/><file name="invitation.phtml" hash="769550bdcdeec4c37d2dc46befe32db1"/><file name="logo.phtml" hash="f8f30fee1e32388ef74eb2ba22f629eb"/><file name="review.phtml" hash="788d3e1812a08c0ec53675d16b5ff11e"/><file name="start.phtml" hash="147963cd3b32a0fad1857c1e6d6eae8f"/></dir></dir></dir></dir></dir></dir></dir><dir name="skin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><file name="DejaVuSansCondensed-BoldOblique.eot" hash="2c79dd754287cea48f32a3fff983bf15"/><file name="DejaVuSansCondensed-BoldOblique.svg" hash="326f9917a1db7537c95bf0b6124b899f"/><file name="DejaVuSansCondensed-BoldOblique.ttf" hash="7bb71c1ec629c0bf5d27e2e2d5e20066"/><file name="DejaVuSansCondensed-BoldOblique.woff" hash="3242cc1f8b2373420e38d3aefcc9e408"/><file name="absolut_pro_boldcondensed-webfont.ttf" hash="dee7ac19c5727e29ba33192f466560ea"/><file name="absolut_pro_boldcondensed-webfont.woff" hash="585c3a24a09cd230d2e456db4a04d4d7"/><file name="absolut_pro_bookcondensed-webfont.ttf" hash="2c8c3c2eb35d5d36ab0927d2fd6f1732"/><file name="absolut_pro_bookcondensed-webfont.woff" hash="4868c6df04841d20c0ff3ee3a2e9830d"/><file name="bootstrap-responsive.css" hash="d2c30d07a98d50e945570bf32c56435f"/><file name="bootstrap-responsive.min.css" hash="365a247af4036532701d83957e490adc"/><file name="bootstrap.css" hash="08f2256002f66a415dbc2e8afb722d70"/><file name="bootstrap.min.css" hash="7f1ef7e98cc02f65b5dce59bafa038db"/><file name="dejavusanscondensed-bold-webfont.eot" hash="fa2f3a00c08cc9f47201cac746a06bf2"/><file name="dejavusanscondensed-bold-webfont.svg" hash="f4f7213b78edc8ce3756a61868540ea4"/><file name="dejavusanscondensed-bold-webfont.ttf" hash="c2ca6902c10cb361346e2561c41af171"/><file name="dejavusanscondensed-bold-webfont.woff" hash="2eefe2ee018b50741c817aff2e25931a"/><file name="dejavusanscondensed-webfont.ttf" hash="5c1e2a1d836ff13b21d208ae62263331"/><file name="dejavusanscondensed-webfont.woff" hash="3aa174b6ab569947533738c8d9cd1808"/><file name="pikaday.css" hash="5a32b7adc30d7de002b204036e5c40ae"/><file name="squeezol.css" hash="837c3a198138bac9609d9f97c87798f0"/></dir><dir name="images"><dir name="squeezol_payment"><file name="btn-finger.png" hash="32939ad91cd1416e303fe72edde3389e"/><file name="btn2.jpg" hash="ddc15e5c081115513a9e9e6dc41cdafc"/><file name="busta.png" hash="f5da1e0e1e1a5eb3cea2d6d9d89a91d6"/><file name="busta2.jpg" hash="6056ab70cbb9fb274510fafc79ebc745"/><file name="default.jpg" hash="dd9154d475d1abaa69163378cfa482f8"/><file name="facebook_small.png" hash="24a08c9069e7a37d56ef7c2514c652b5"/><file name="fenicottero.png" hash="dd5753b966338ca1f711ceec5dbcf75b"/><file name="ghianda_step_blu.png" hash="9ff125808d9fbdef766caf502a304ad2"/><file name="ghianda_step_grigia.png" hash="4d58eee97a1f8655a87c7a0f20e66eda"/><file name="info-black.png" hash="10de26a1713ff21b9a4f169da5abdbdb"/><file name="logo_min.png" hash="70e11306eda7fbd42d78a72f1109a17d"/><file name="mail_small.png" hash="da8257e98dd2ad413c61309043f71ed9"/><file name="pay_button.png" hash="970ec7feff9b6b7b9062d8f5a8e10bd1"/><file name="pay_button2.png" hash="6f6727fb922f128dc3cf3a9b42b00e1a"/><file name="salva2.jpg" hash="557ff279658464685464b856d4d3f634"/><file name="salvadanaio.png" hash="a2a0d69adabe332b8106bfaec0d49f87"/><file name="shopping-cart.jpg" hash="ccf6a2d64c387127e988724f2a986ca3"/><file name="squeezol.png" hash="e2059411e9f14fdfe1e8b21739f7a512"/><file name="squeezol_icon-aziende.png" hash="e1231a071b99b6fe07db08d247a4a086"/><file name="squeezol_icon-creasplit-pink.png" hash="a7d5094fca629f3f8d068049db852d03"/><file name="squeezol_icon-creasplit.png" hash="decd22b53c32b8472b0a46d0aed4afe9"/><file name="squeezol_icon-invita-pink.png" hash="b1eb9ef65c147d6552d4d402373bcf10"/><file name="squeezol_icon-invita.png" hash="0b274298ec828752a61db8686af9f720"/><file name="squeezol_icon-riassunto-pink.png" hash="82db5c7c4329194760ad7cb728bd1014"/><file name="squeezol_icon-riassunto.png" hash="2e50238f01e7a407e5d491ec75c25ec8"/></dir></dir><dir name="js"><file name="_squeezol3.js" hash="40379e6f5a0e58386888f93f4047bbbf"/><file name="bootstrap.min.js" hash="a121f0e47edc5182e1aca1396807db70"/><file name="pikaday.js" hash="441d514c9231d36b1d589bb3b78accb1"/></dir></dir></dir></dir></dir><dir name="lib"><dir name="oauth2"><file name="Client.php" hash="cd46e543dc9ce042347e929bafb2637a"/><file name="README" hash="8ef3bf723c93b6e091b707a546df2804"/><file name="auth_request.php" hash="d78edf267fee0e4c9c483d46f4405d98"/><file name="composer.json" hash="b1a24295215d44d727f603e7da644a5a"/><dir name="GrantType"><file name="AuthorizationCode.php" hash="a1ff324a733fc33dbf938153c4c1667c"/><file name="ClientCredentials.php" hash="21b30fbb06d4b67263499d687316ae8b"/><file name="IGrantType.php" hash="ee03d4c5bc20f518716fc2c616b4d38d"/><file name="Password.php" hash="2e938e60c4af8bad71b5c4f0f1a40969"/><file name="RefreshToken.php" hash="a773f48348ad7aa510955099ba18d3ad"/></dir></dir><dir name="Squeezol"><file name="endpoints.php" hash="bb57c3f817e4a7bbe578056475c2c85b"/></dir></dir></target></contents></package>
skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.eot ADDED
Binary file
skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.svg ADDED
@@ -0,0 +1,603 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg>
4
+ <metadata>
5
+ Created by FontForge 20110222 at Tue Feb 14 10:31:59 2012
6
+ By www-data
7
+ Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.
8
+ Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
9
+ DejaVu changes are in public domain
10
+
11
+ </metadata>
12
+ <defs>
13
+ <font id="DejaVuSansCondensed-BoldOblique" horiz-adv-x="1282" >
14
+ <font-face
15
+ font-family="DejaVu Sans Condensed"
16
+ font-weight="700"
17
+ font-style="oblique"
18
+ font-stretch="semi-condensed"
19
+ units-per-em="2048"
20
+ panose-1="2 11 8 6 3 3 4 11 2 4"
21
+ ascent="1556"
22
+ descent="-492"
23
+ x-height="1120"
24
+ cap-height="1493"
25
+ bbox="-306 -483 2582 1901"
26
+ underline-thickness="90"
27
+ underline-position="-85"
28
+ slope="-11"
29
+ unicode-range="U+0020-2122"
30
+ />
31
+ <missing-glyph />
32
+ <glyph glyph-name="space" unicode=" " horiz-adv-x="641"
33
+ />
34
+ <glyph glyph-name="exclam" unicode="!" horiz-adv-x="840"
35
+ d="M389 1493h325l-102 -573l-118 -418h-232l25 418zM190 356h324l-62 -356h-325z" />
36
+ <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="960"
37
+ d="M785 1493v-555h-213v555h213zM389 1493v-555h-213v555h213z" />
38
+ <glyph glyph-name="numbersign" unicode="#"
39
+ d="M922 872h-238l-63 -274h238zM820 1470l-86 -385h237l87 385h199l-87 -385h267l-47 -213h-268l-62 -274h268l-49 -215h-266l-86 -383h-199l86 383h-237l-87 -383h-200l86 383h-256l47 215h253l63 274h-254l47 213h257l86 385h201z" />
40
+ <glyph glyph-name="dollar" unicode="$"
41
+ d="M536 -301h-145l53 301q-115 5 -213 26.5t-181 59.5l44 262q86 -55 183.5 -85.5t205.5 -34.5l55 311q-189 31 -275 111.5t-86 223.5q0 199 134.5 321.5t364.5 131.5l40 229h144l-38 -227q91 -6 175.5 -23t163.5 -44l-44 -254q-57 37 -143 60.5t-193 30.5l-51 -288
42
+ q192 -36 284 -117t92 -215q0 -220 -135.5 -345t-381.5 -134zM590 836l45 262q-75 -8 -120 -48.5t-45 -101.5q0 -48 29 -75.5t91 -36.5zM679 512l-50 -285q89 5 137 48t48 118q0 51 -32.5 79.5t-102.5 39.5z" />
43
+ <glyph glyph-name="percent" unicode="%" horiz-adv-x="1846"
44
+ d="M1408 616q-77 0 -127 -84t-50 -217q0 -87 27.5 -130.5t83.5 -43.5q78 0 127.5 84t49.5 219q0 85 -28.5 128.5t-82.5 43.5zM1434 784q141 0 226 -85.5t85 -225.5q0 -224 -119 -363t-312 -139q-141 0 -226 86.5t-85 227.5q0 222 119 360.5t312 138.5zM479 -29h-221
45
+ l1112 1549h220zM535 1520q140 0 225.5 -86t85.5 -226q0 -223 -120 -362t-313 -139q-141 0 -226 85t-85 226q0 222 120 362t313 140zM507 1352q-78 0 -127.5 -84.5t-49.5 -216.5q0 -88 27.5 -132.5t82.5 -44.5q78 0 127.5 85t49.5 221q0 84 -28 128t-82 44z" />
46
+ <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1607"
47
+ d="M789 915l268 -374q55 63 95.5 151t66.5 203h279q-38 -175 -109.5 -318t-179.5 -255l230 -322h-394l-76 106q-106 -68 -212 -101.5t-217 -33.5q-220 0 -354.5 123t-134.5 322q0 151 86 277.5t267 240.5q-23 44 -35 89t-12 93q0 176 136 290t351 114q82 0 168 -14.5
48
+ t177 -43.5l-48 -278q-78 48 -149 71t-142 23q-78 0 -123 -36t-45 -97q0 -38 27 -96.5t80 -133.5zM518 743q-72 -51 -109.5 -117.5t-37.5 -142.5q0 -107 68.5 -180.5t170.5 -73.5q54 0 107 21t107 63z" />
49
+ <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="564"
50
+ d="M389 1493v-555h-213v555h213z" />
51
+ <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="842"
52
+ d="M544 -270h-262q-70 166 -105 325.5t-35 317.5q0 295 114.5 589.5t344.5 591.5h261q-210 -310 -313 -613.5t-103 -608.5q0 -150 24.5 -299.5t73.5 -302.5z" />
53
+ <glyph glyph-name="parenright" unicode=")" horiz-adv-x="842"
54
+ d="M269 1554h264q69 -164 103 -323.5t34 -319.5q0 -298 -113.5 -592.5t-342.5 -588.5h-264q210 310 313.5 614t103.5 610q0 150 -24 298.5t-74 301.5z" />
55
+ <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="963"
56
+ d="M927 1217l-297 -173l297 -174l-68 -141l-300 184v-344h-153v344l-301 -184l-68 141l301 174l-301 173l68 141l301 -182v344h153v-344l300 182z" />
57
+ <glyph glyph-name="plus" unicode="+" horiz-adv-x="1544"
58
+ d="M879 1284v-524h470v-236h-470v-524h-214v524h-470v236h470v524h214z" />
59
+ <glyph glyph-name="comma" unicode="," horiz-adv-x="700"
60
+ d="M148 387h324l-54 -305l-289 -373h-192l157 373z" />
61
+ <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="765"
62
+ d="M98 735h565l-51 -291h-566z" />
63
+ <glyph glyph-name="period" unicode="." horiz-adv-x="700"
64
+ d="M153 387h324l-67 -387h-325z" />
65
+ <glyph glyph-name="slash" unicode="/" horiz-adv-x="673"
66
+ d="M591 1493h209l-768 -1683h-209z" />
67
+ <glyph glyph-name="zero" unicode="0"
68
+ d="M551 233q69 0 122.5 46t89.5 135q25 63 46 143.5t39 190.5q15 89 23 164t8 128q0 112 -36 164.5t-111 52.5q-70 0 -123.5 -44.5t-88.5 -135.5q-27 -65 -49 -148t-38 -181q-15 -90 -23.5 -167t-8.5 -130q0 -111 37 -164.5t113 -53.5zM1217 983q0 -199 -49.5 -387
69
+ t-138.5 -330q-91 -146 -220 -220.5t-287 -74.5q-220 0 -337.5 139t-117.5 400q0 196 49 384.5t137 328.5q93 147 220.5 222t287.5 75q219 0 337.5 -139.5t118.5 -397.5z" />
70
+ <glyph glyph-name="one" unicode="1"
71
+ d="M127 266h306l168 965l-327 -72l46 262l325 72h330l-214 -1227h305l-46 -266h-941z" />
72
+ <glyph glyph-name="two" unicode="2"
73
+ d="M455 283h585l-50 -283h-976l51 285l571 479q94 80 143 162t49 159q0 82 -50.5 127t-141.5 45q-85 0 -190.5 -37.5t-237.5 -115.5l58 317q122 50 240 74.5t233 24.5q205 0 323 -98.5t118 -268.5q0 -146 -72 -266t-317 -324z" />
74
+ <glyph glyph-name="three" unicode="3"
75
+ d="M870 805q102 -26 158.5 -105t56.5 -194q0 -248 -176.5 -391.5t-486.5 -143.5q-117 0 -222.5 18.5t-199.5 55.5l51 297q80 -52 174.5 -80.5t189.5 -28.5q152 0 240.5 63.5t88.5 170.5q0 89 -67.5 133.5t-203.5 44.5h-137l44 248h146q141 0 223.5 57t82.5 154
76
+ q0 76 -57.5 116t-166.5 40q-76 0 -166 -22t-187 -64l49 282q106 32 209 48t204 16q228 0 342.5 -84t114.5 -250q0 -149 -79.5 -248.5t-224.5 -132.5z" />
77
+ <glyph glyph-name="four" unicode="4"
78
+ d="M760 1165l-478 -614h369zM751 1493h394l-167 -942h192l-48 -279h-191l-48 -272h-329l49 272h-605l59 330z" />
79
+ <glyph glyph-name="five" unicode="5"
80
+ d="M326 1493h861l-49 -283h-585l-41 -231q40 12 82.5 18.5t85.5 6.5q206 0 322.5 -104.5t116.5 -289.5q0 -294 -179.5 -466.5t-485.5 -172.5q-113 0 -219 24.5t-211 74.5l53 303q100 -72 194 -106t192 -34q142 0 227.5 82.5t85.5 216.5q0 96 -65 152.5t-176 56.5
81
+ q-76 0 -163.5 -21.5t-192.5 -66.5z" />
82
+ <glyph glyph-name="six" unicode="6"
83
+ d="M667 737q-103 0 -168.5 -94t-65.5 -242q0 -89 40.5 -138.5t112.5 -49.5q102 0 168 92.5t66 233.5q0 96 -39.5 147t-113.5 51zM1217 1454l-49 -276q-77 44 -150 66t-146 22q-167 0 -270.5 -100t-126.5 -281q70 51 144.5 75.5t158.5 24.5q165 0 270.5 -109t105.5 -278
84
+ q0 -276 -162.5 -452.5t-418.5 -176.5q-229 0 -355 144.5t-126 408.5q0 204 55.5 389.5t156.5 319.5q108 143 255 215t331 72q85 0 165 -16t162 -48z" />
85
+ <glyph glyph-name="seven" unicode="7"
86
+ d="M266 1493h1013l-41 -219l-748 -1274h-346l711 1210h-637z" />
87
+ <glyph glyph-name="eight" unicode="8"
88
+ d="M619 668q-105 0 -175.5 -79.5t-70.5 -195.5q0 -83 45.5 -131.5t125.5 -48.5q107 0 177 78.5t70 195.5q0 83 -46.5 132t-125.5 49zM398 795q-97 45 -145.5 117t-48.5 173q0 203 150 319t415 116q212 0 329 -88t117 -248q0 -142 -81.5 -243t-232.5 -146q110 -47 162 -126
89
+ t52 -200q0 -230 -161.5 -364t-443.5 -134q-222 0 -346 98.5t-124 274.5q0 159 95 278.5t263 172.5zM737 1278q-92 0 -147 -59.5t-55 -157.5q0 -68 40 -110t105 -42q92 0 147.5 59.5t55.5 157.5q0 69 -40 110.5t-106 41.5z" />
90
+ <glyph glyph-name="nine" unicode="9"
91
+ d="M76 33l47 276q79 -45 151.5 -66.5t145.5 -21.5q168 0 271.5 100t124.5 281q-69 -51 -143 -75.5t-157 -24.5q-165 0 -270.5 109t-105.5 278q0 276 162.5 452.5t418.5 176.5q229 0 355 -144.5t126 -408.5q0 -203 -56 -388.5t-158 -320.5q-108 -143 -254 -215t-330 -72
92
+ q-85 0 -166 16t-162 48zM625 750q102 0 168 94t66 241q0 91 -39.5 140t-112.5 49q-101 0 -168 -93t-67 -233q0 -96 39.5 -147t113.5 -51z" />
93
+ <glyph glyph-name="colon" unicode=":" horiz-adv-x="737"
94
+ d="M271 1120h325l-67 -387h-325zM144 387h324l-68 -387h-324z" />
95
+ <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="737"
96
+ d="M144 387h324l-53 -305l-288 -373h-192l155 373zM271 1120h325l-67 -387h-325z" />
97
+ <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="1544"
98
+ d="M1349 973l-867 -332l867 -330v-250l-1154 463v236l1154 463v-250z" />
99
+ <glyph glyph-name="equal" unicode="=" horiz-adv-x="1544"
100
+ d="M195 987h1154v-235h-1154v235zM195 532h1154v-237h-1154v237z" />
101
+ <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="1544"
102
+ d="M195 973v250l1154 -463v-236l-1154 -463v250l869 330z" />
103
+ <glyph glyph-name="question" unicode="?" horiz-adv-x="1069"
104
+ d="M255 356h324l-63 -356h-324zM605 504h-325l7 49q15 80 54 142.5t157 164.5l66 58q71 61 103.5 114t32.5 107q0 57 -36.5 87.5t-104.5 30.5q-72 0 -162.5 -33.5t-194.5 -99.5l56 314q115 42 209.5 62t181.5 20q175 0 274 -85.5t99 -234.5q0 -119 -48 -213t-163 -196
105
+ l-69 -60q-72 -62 -97.5 -100.5t-32.5 -81.5z" />
106
+ <glyph glyph-name="at" unicode="@" horiz-adv-x="1843"
107
+ d="M931 801q-96 0 -164.5 -105t-68.5 -250q0 -84 36.5 -128t106.5 -44q95 0 161.5 100.5t66.5 246.5q0 86 -36 133t-102 47zM1032 246q-40 -75 -107.5 -116.5t-148.5 -41.5q-129 0 -202.5 94.5t-73.5 261.5q0 221 127.5 382t304.5 161q75 0 131.5 -42t74.5 -111l21 133h183
108
+ l-120 -693q136 22 227.5 163.5t91.5 332.5q0 213 -148 348t-385 135q-176 0 -328 -76t-258 -219q-83 -110 -126 -242t-43 -274q0 -269 149 -439.5t383 -170.5q106 0 210 43.5t197 126.5l99 -158q-132 -98 -260.5 -147t-256.5 -49q-122 0 -234 41t-201 118q-126 108 -191 267
109
+ t-65 360q0 176 54 340t156 301q132 176 317 270.5t398 94.5q149 0 276 -46.5t227 -138.5q95 -89 146 -208.5t51 -249.5q0 -315 -184 -512t-483 -197q-4 0 -12 -1t-12 -1q-5 0 -8 0.5t-5 1.5z" />
110
+ <glyph glyph-name="A" unicode="A" horiz-adv-x="1426"
111
+ d="M905 272h-536l-133 -272h-356l760 1493h396l238 -1493h-330zM500 543h360l-81 575z" />
112
+ <glyph glyph-name="B" unicode="B" horiz-adv-x="1404"
113
+ d="M737 915q93 0 145 52t52 143q0 59 -36.5 90t-104.5 31h-194l-55 -316h193zM634 262q119 0 183 63t64 181q0 75 -44 111t-135 36h-204l-69 -391h205zM1045 799q88 -28 136 -102.5t48 -184.5q0 -241 -161.5 -376.5t-453.5 -135.5h-575l262 1493h519q239 0 354 -78t115 -241
114
+ q0 -137 -67.5 -240.5t-176.5 -134.5z" />
115
+ <glyph glyph-name="C" unicode="C" horiz-adv-x="1352"
116
+ d="M1117 70q-124 -49 -238.5 -74t-216.5 -25q-271 0 -433 165t-162 437q0 179 51 337.5t151 289.5q118 154 284 237t358 83q104 0 209.5 -27.5t214.5 -83.5l-56 -309q-87 73 -174 107t-187 34q-208 0 -348.5 -178t-140.5 -445q0 -172 86.5 -270t238.5 -98q91 0 193 36.5
117
+ t229 114.5z" />
118
+ <glyph glyph-name="D" unicode="D" horiz-adv-x="1530"
119
+ d="M598 1202l-162 -911h125q242 0 383 151t141 408q0 174 -92 263t-274 89h-121zM301 1493h364q261 0 391.5 -34.5t217.5 -115.5t131 -196.5t44 -261.5q0 -203 -75 -382.5t-211 -301.5q-119 -109 -276 -155t-483 -46h-365z" />
120
+ <glyph glyph-name="E" unicode="E" horiz-adv-x="1259"
121
+ d="M301 1493h934l-51 -291h-588l-49 -278h554l-53 -291h-552l-60 -342h607l-49 -291h-955z" />
122
+ <glyph glyph-name="F" unicode="F" horiz-adv-x="1259"
123
+ d="M301 1493h934l-51 -291h-588l-49 -278h554l-53 -291h-552l-111 -633h-346z" />
124
+ <glyph glyph-name="G" unicode="G" horiz-adv-x="1512"
125
+ d="M1256 111q-132 -71 -273 -105.5t-303 -34.5q-286 0 -449.5 161.5t-163.5 440.5q0 181 51 339.5t153 289.5q124 160 293 239t386 79q120 0 242.5 -28t241.5 -83l-53 -309q-110 71 -215 106t-211 35q-232 0 -378 -172t-146 -442q0 -179 85 -278t240 -99q50 0 100.5 7.5
126
+ t101.5 23.5l52 290h-212l44 258h539z" />
127
+ <glyph glyph-name="H" unicode="H" horiz-adv-x="1542"
128
+ d="M301 1493h346l-100 -569h511l99 569h347l-262 -1493h-346l110 633h-510l-111 -633h-346z" />
129
+ <glyph glyph-name="I" unicode="I" horiz-adv-x="685"
130
+ d="M301 1493h346l-262 -1493h-346z" />
131
+ <glyph glyph-name="J" unicode="J" horiz-adv-x="685"
132
+ d="M301 1493h346l-236 -1348q-52 -292 -204.5 -423.5t-442.5 -131.5h-70l51 291h54q107 0 175 67.5t91 196.5z" />
133
+ <glyph glyph-name="K" unicode="K" horiz-adv-x="1428"
134
+ d="M301 1493h346l-94 -537l571 537h419l-771 -725l581 -768h-407l-452 623l-109 -623h-346z" />
135
+ <glyph glyph-name="L" unicode="L" horiz-adv-x="1174"
136
+ d="M301 1493h346l-211 -1202h607l-49 -291h-955z" />
137
+ <glyph glyph-name="M" unicode="M" horiz-adv-x="1834"
138
+ d="M301 1493h425l173 -793l454 793h443l-262 -1493h-329l192 1102l-466 -815h-187l-185 815l-192 -1102h-328z" />
139
+ <glyph glyph-name="N" unicode="N" horiz-adv-x="1542"
140
+ d="M301 1493h387l307 -1034l181 1034h328l-262 -1493h-387l-308 1034l-180 -1034h-328z" />
141
+ <glyph glyph-name="O" unicode="O" horiz-adv-x="1566"
142
+ d="M1134 881q0 176 -71.5 268t-207.5 92q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234zM905 1520q269 0 432 -165.5t163 -432.5q0 -182 -50 -344t-145 -291q-117 -159 -277 -237.5t-368 -78.5
143
+ q-268 0 -430.5 165t-162.5 433q0 183 49.5 345t145.5 292q115 158 275 236t368 78z" />
144
+ <glyph glyph-name="P" unicode="P" horiz-adv-x="1350"
145
+ d="M301 1493h575q211 0 330.5 -107.5t119.5 -298.5q0 -117 -40 -222.5t-113 -184.5q-80 -85 -191 -123.5t-278 -38.5h-229l-90 -518h-346zM599 1214l-73 -417h191q123 0 187.5 64t64.5 186q0 81 -46 124t-134 43h-190z" />
146
+ <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1566"
147
+ d="M684 -27q-10 -1 -20 -1.5t-32 -0.5q-102 0 -192 31t-164 92q-99 81 -154 206.5t-55 268.5q0 183 49.5 345.5t145.5 291.5q116 159 275 236.5t368 77.5q269 0 432 -165.5t163 -432.5q0 -314 -137 -550.5t-382 -344.5l206 -326h-330zM1134 881q0 176 -71.5 268t-207.5 92
148
+ q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234z" />
149
+ <glyph glyph-name="R" unicode="R" horiz-adv-x="1419"
150
+ d="M677 831q118 0 178.5 61t60.5 179q0 74 -42 108.5t-132 34.5h-143l-68 -383h146zM485 565l-100 -565h-346l262 1493h512q221 0 335.5 -92t114.5 -271q0 -181 -90 -298t-244 -134q70 -16 117 -79.5t82 -194.5l114 -424h-345l-101 371q-30 111 -73.5 152.5t-126.5 41.5
151
+ h-111z" />
152
+ <glyph glyph-name="S" unicode="S" horiz-adv-x="1327"
153
+ d="M1226 1446l-56 -316q-102 56 -201 83.5t-193 27.5q-130 0 -202.5 -45t-72.5 -125q0 -51 32 -79.5t132 -55.5l142 -39q179 -50 262 -144.5t83 -244.5q0 -243 -166 -390t-446 -147q-130 0 -259.5 27t-252.5 80l55 325q119 -77 232 -115t223 -38q119 0 193.5 54t74.5 138
154
+ q0 55 -33.5 85.5t-146.5 62.5l-141 39q-157 43 -233 136t-76 241q0 233 160.5 373.5t432.5 140.5q109 0 223.5 -18.5t233.5 -55.5z" />
155
+ <glyph glyph-name="T" unicode="T" horiz-adv-x="1257"
156
+ d="M140 1493h1239l-51 -291h-447l-211 -1202h-346l211 1202h-447z" />
157
+ <glyph glyph-name="U" unicode="U" horiz-adv-x="1496"
158
+ d="M301 1493h346l-157 -894q-8 -48 -12.5 -85t-4.5 -65q0 -98 47.5 -146.5t141.5 -48.5q126 0 193 78.5t100 265.5l157 895h346l-157 -895q-58 -330 -221.5 -478.5t-467.5 -148.5q-238 0 -362.5 113.5t-124.5 329.5q0 36 4.5 80.5t14.5 103.5z" />
159
+ <glyph glyph-name="V" unicode="V" horiz-adv-x="1426"
160
+ d="M140 1493h330l164 -1116l557 1116h357l-759 -1493h-413z" />
161
+ <glyph glyph-name="W" unicode="W" horiz-adv-x="2033"
162
+ d="M197 1493h321l41 -1085l422 1085h329l44 -1085l408 1085h345l-579 -1493h-392l-45 1135l-435 -1135h-401z" />
163
+ <glyph glyph-name="X" unicode="X" horiz-adv-x="1421"
164
+ d="M914 756l330 -756h-352l-219 500l-393 -500h-374l604 766l-318 727h353l207 -469l368 469h377z" />
165
+ <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1334"
166
+ d="M116 1493h347l228 -553l400 553h400l-663 -870l-109 -623h-346l109 623z" />
167
+ <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1336"
168
+ d="M234 1493h1130l-43 -238l-871 -964h724l-52 -291h-1170l41 238l874 964h-684z" />
169
+ <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="842"
170
+ d="M301 1556h558l-41 -225h-250l-242 -1376h253l-41 -225h-556z" />
171
+ <glyph glyph-name="backslash" unicode="\" horiz-adv-x="673"
172
+ d="M310 -190l-180 1683h200l178 -1683h-198z" />
173
+ <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="842"
174
+ d="M507 -270h-558l38 225h252l243 1376h-253l38 225h559z" />
175
+ <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1544"
176
+ d="M883 1493l475 -557h-217l-369 301l-368 -301h-218l476 557h221z" />
177
+ <glyph glyph-name="underscore" unicode="_" horiz-adv-x="921"
178
+ d="M940 -293v-190h-958v190h958z" />
179
+ <glyph glyph-name="grave" unicode="`" horiz-adv-x="921"
180
+ d="M496 1638l188 -376h-177l-266 376h255z" />
181
+ <glyph glyph-name="a" unicode="a" horiz-adv-x="1243"
182
+ d="M607 504q-121 0 -182.5 -41.5t-61.5 -122.5q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM1110 639l-113 -639h-322l27 166q-79 -100 -167.5 -147.5t-191.5 -47.5q-143 0 -227 82.5t-84 222.5q0 214 148.5 327.5t429.5 113.5h190l4 28q2 14 2.5 20
183
+ t0.5 11q0 66 -56 99.5t-167 33.5q-100 0 -193.5 -23t-180.5 -69l48 273q101 28 207 42.5t219 14.5q224 0 333 -85.5t109 -260.5q0 -34 -4 -74.5t-12 -87.5z" />
184
+ <glyph glyph-name="b" unicode="b" horiz-adv-x="1319"
185
+ d="M748 887q-124 0 -203 -127.5t-79 -331.5q0 -92 44.5 -144.5t123.5 -52.5q122 0 201 125.5t79 321.5q0 102 -42.5 155.5t-123.5 53.5zM410 162l-30 -162h-323l271 1556h324l-105 -600q74 98 155 144.5t177 46.5q170 0 269 -120t99 -327q0 -129 -34.5 -251t-99.5 -222
186
+ q-82 -126 -185 -191t-221 -65q-103 0 -175.5 46.5t-121.5 144.5z" />
187
+ <glyph glyph-name="c" unicode="c" horiz-adv-x="1092"
188
+ d="M1071 1085l-51 -292q-65 48 -128 73t-123 25q-158 0 -258 -117.5t-100 -300.5q0 -117 62.5 -181.5t175.5 -64.5q75 0 148 25t139 74l-50 -293q-80 -31 -161 -46.5t-163 -15.5q-237 0 -365.5 118.5t-128.5 336.5q0 137 47.5 266t135.5 232q98 113 225 168t293 55
189
+ q76 0 151.5 -15.5t150.5 -46.5z" />
190
+ <glyph glyph-name="d" unicode="d" horiz-adv-x="1319"
191
+ d="M566 231q124 0 202 127t78 332q0 93 -43.5 145t-122.5 52q-122 0 -201 -125.5t-79 -321.5q0 -102 42.5 -155.5t123.5 -53.5zM905 956l105 600h325l-273 -1556h-325l30 162q-74 -98 -155 -144.5t-177 -46.5q-170 0 -269 120t-99 327q0 129 34.5 251t99.5 222
192
+ q82 126 185 191t221 65q103 0 175.5 -46.5t122.5 -144.5z" />
193
+ <glyph glyph-name="e" unicode="e" horiz-adv-x="1250"
194
+ d="M1159 518l-11 -57h-754q0 -6 -1 -17.5t-1 -17.5q0 -109 59 -163t177 -54q102 0 215 34t237 101l-50 -278q-117 -48 -233.5 -71.5t-237.5 -23.5q-236 0 -364 121t-128 342q0 128 40.5 248.5t119.5 220.5q93 120 222 182t286 62q205 0 325 -121t120 -326q0 -40 -5 -84.5
195
+ t-16 -97.5zM855 682q3 13 4 26.5t1 26.5q0 80 -43 127t-117 47q-94 0 -160.5 -57.5t-101.5 -169.5h417z" />
196
+ <glyph glyph-name="f" unicode="f" horiz-adv-x="801"
197
+ d="M995 1556l-42 -235h-177q-68 0 -99 -27.5t-43 -94.5l-15 -79h273l-44 -256h-273l-151 -864h-324l151 864h-159l45 256h158l15 78q33 186 138.5 272t299.5 86h247z" />
198
+ <glyph glyph-name="g" unicode="g" horiz-adv-x="1319"
199
+ d="M770 190q-77 -98 -157 -144t-175 -46q-171 0 -270.5 122.5t-99.5 334.5q0 113 35 226.5t99 213.5q80 121 182.5 184.5t220.5 63.5q106 0 178.5 -46t121.5 -145l27 166h325l-170 -973q-52 -301 -223 -445t-475 -144q-94 0 -180.5 16t-171.5 49l48 279q76 -54 152.5 -80.5
200
+ t156.5 -26.5q160 0 246 76t116 242zM680 887q-118 0 -197 -119t-79 -299q0 -102 42.5 -155.5t123.5 -53.5q118 0 197 118.5t79 295.5q0 104 -42.5 158.5t-123.5 54.5z" />
201
+ <glyph glyph-name="h" unicode="h" horiz-adv-x="1312"
202
+ d="M1189 682l-120 -682h-323l102 584q11 57 16.5 96.5t5.5 62.5q0 64 -32 99t-90 35q-100 0 -171.5 -86.5t-99.5 -239.5l-97 -551h-323l271 1556h324l-105 -600q89 97 179 144t188 47q140 0 215.5 -81t75.5 -228q0 -32 -4 -71t-12 -85z" />
203
+ <glyph glyph-name="i" unicode="i" horiz-adv-x="631"
204
+ d="M253 1120h324l-197 -1120h-323zM328 1556h324l-51 -292h-325z" />
205
+ <glyph glyph-name="j" unicode="j" horiz-adv-x="631"
206
+ d="M253 1120h324l-194 -1100q-41 -235 -154 -348.5t-305 -113.5h-160l41 235h56q91 0 133 45.5t65 181.5zM328 1556h324l-51 -292h-325z" />
207
+ <glyph glyph-name="k" unicode="k" horiz-adv-x="1225"
208
+ d="M328 1556h324l-147 -843l435 407h379l-585 -518l425 -602h-368l-327 483l-84 -483h-323z" />
209
+ <glyph glyph-name="l" unicode="l" horiz-adv-x="631"
210
+ d="M328 1556h324l-272 -1556h-323z" />
211
+ <glyph glyph-name="m" unicode="m" horiz-adv-x="1920"
212
+ d="M1156 934q74 103 169 158t198 55q135 0 213 -82.5t78 -226.5q0 -30 -4.5 -68.5t-12.5 -87.5l-119 -682h-325l101 584l3 15q23 124 23 159q0 55 -28 87t-77 32q-93 0 -157 -84.5t-92 -241.5l-97 -551h-325l103 584q14 75 19.5 113.5t5.5 60.5q0 56 -28 87.5t-78 31.5
213
+ q-89 0 -156 -87.5t-93 -238.5l-97 -551h-323l196 1120h324l-30 -164q76 95 161.5 143t177.5 48q105 0 179.5 -59.5t90.5 -153.5z" />
214
+ <glyph glyph-name="n" unicode="n" horiz-adv-x="1312"
215
+ d="M1189 682l-120 -682h-323l102 584q11 57 16.5 96.5t5.5 62.5q0 64 -32 99t-90 35q-100 0 -171.5 -86.5t-99.5 -239.5l-97 -551h-323l196 1120h324l-30 -164q89 97 179 144t188 47q140 0 215.5 -81t75.5 -228q0 -32 -4 -71t-12 -85z" />
216
+ <glyph glyph-name="o" unicode="o" horiz-adv-x="1266"
217
+ d="M691 891q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5q0 105 -43.5 160t-127.5 55zM717 1147q225 0 354 -127t129 -346q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -118 -216.5 -178t-279.5 -60q-222 0 -350 127t-128 346
218
+ q0 126 41 246.5t119 220.5q90 116 214.5 176t275.5 60z" />
219
+ <glyph glyph-name="p" unicode="p" horiz-adv-x="1319"
220
+ d="M410 162l-104 -588h-324l271 1546h324l-30 -164q74 98 155 144.5t177 46.5q170 0 269 -120t99 -327q0 -129 -34.5 -251t-99.5 -222q-82 -126 -185 -191t-221 -65q-103 0 -175.5 46.5t-121.5 144.5zM748 887q-124 0 -203 -127.5t-79 -331.5q0 -92 44.5 -144.5t123.5 -52.5
221
+ q122 0 201 125.5t79 321.5q0 102 -42.5 155.5t-123.5 53.5z" />
222
+ <glyph glyph-name="q" unicode="q" horiz-adv-x="1319"
223
+ d="M905 956l27 164h325l-271 -1546h-324l103 588q-72 -98 -153 -144.5t-177 -46.5q-170 0 -269 120t-99 327q0 129 34.5 251t99.5 222q82 126 185 191t221 65q103 0 175.5 -46.5t122.5 -144.5zM566 231q124 0 202 127t78 332q0 93 -43.5 145t-122.5 52q-122 0 -201 -125.5
224
+ t-79 -321.5q0 -102 42.5 -155.5t123.5 -53.5z" />
225
+ <glyph glyph-name="r" unicode="r" horiz-adv-x="909"
226
+ d="M948 815q-34 21 -74.5 32t-86.5 11q-124 0 -205.5 -88t-109.5 -254l-92 -516h-323l196 1120h324l-35 -192q64 106 159.5 162.5t212.5 56.5q18 0 39.5 -2t50.5 -6z" />
227
+ <glyph glyph-name="s" unicode="s" horiz-adv-x="1097"
228
+ d="M1032 1085l-47 -278q-95 50 -188.5 76t-177.5 26q-95 0 -147 -27.5t-52 -78.5q0 -30 29 -48t113 -38l59 -12q195 -46 273.5 -118.5t78.5 -201.5q0 -195 -137.5 -304.5t-385.5 -109.5q-104 0 -212 18t-220 54l49 281q87 -57 186.5 -86t203.5 -29q102 0 153.5 27t51.5 79
229
+ q0 36 -29 56t-119 41l-59 12q-172 40 -246 118t-74 216q0 187 127.5 288t363.5 101q104 0 204.5 -15.5t201.5 -46.5z" />
230
+ <glyph glyph-name="t" unicode="t" horiz-adv-x="881"
231
+ d="M663 1438l-55 -318h330l-46 -256h-330l-82 -474q-4 -16 -5.5 -27t-1.5 -21q0 -46 27.5 -66t92.5 -20h167l-46 -256h-271q-146 0 -222.5 68t-76.5 196q0 28 2.5 60t8.5 65l83 475h-159l44 256h161l55 318h324z" />
232
+ <glyph glyph-name="u" unicode="u" horiz-adv-x="1312"
233
+ d="M125 436l118 684h323l-102 -583q-10 -57 -15.5 -97t-5.5 -63q0 -63 31.5 -98t89.5 -35q100 0 172 86t99 239l97 551h324l-196 -1120h-325l30 164q-83 -97 -174 -145t-191 -48q-138 0 -213.5 81t-75.5 229q0 35 3.5 74t10.5 81z" />
234
+ <glyph glyph-name="v" unicode="v" horiz-adv-x="1201"
235
+ d="M116 1120h297l131 -782l379 782h327l-592 -1120h-341z" />
236
+ <glyph glyph-name="w" unicode="w" horiz-adv-x="1702"
237
+ d="M160 1120h297l35 -770l304 770h256l37 -768l302 768h317l-461 -1120h-342l-33 770l-308 -770h-334z" />
238
+ <glyph glyph-name="x" unicode="x" horiz-adv-x="1188"
239
+ d="M408 573l-268 547h335l150 -332l261 332h351l-459 -545l280 -575h-335l-159 354l-290 -354h-350z" />
240
+ <glyph glyph-name="y" unicode="y" horiz-adv-x="1201"
241
+ d="M122 1120h304l138 -776l358 776h344l-638 -1226q-107 -207 -198 -271.5t-235 -64.5h-195l33 235h102q79 0 123 29.5t78 103.5l29 60z" />
242
+ <glyph glyph-name="z" unicode="z" horiz-adv-x="1072"
243
+ d="M201 1120h879l-44 -250l-628 -614h521l-44 -256h-901l42 250l630 614h-499z" />
244
+ <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="1312"
245
+ d="M942 -109l-38 -225h-197q-161 0 -242.5 61.5t-81.5 184.5q0 22 3.5 52t9.5 70l33 193q6 30 8.5 57.5t2.5 49.5q0 88 -41 124t-146 36h-58l41 223h56q126 0 185 58t85 208l36 205q33 193 138 280.5t302 87.5h195l-39 -225h-63q-125 0 -171 -43.5t-72 -185.5l-29 -166
246
+ q-27 -156 -80.5 -227.5t-155.5 -96.5q72 -21 105 -66t33 -122q0 -30 -3.5 -63.5t-11.5 -73.5l-29 -166q-8 -46 -10.5 -70t-2.5 -41q0 -67 36.5 -93t140.5 -26h61z" />
247
+ <glyph glyph-name="bar" unicode="|" horiz-adv-x="673"
248
+ d="M438 1565v-2048h-204v2048h204z" />
249
+ <glyph glyph-name="braceright" unicode="}" horiz-adv-x="1312"
250
+ d="M120 -109h63q126 0 172 44.5t71 185.5l29 166q27 155 81 227t157 98q-72 19 -106 64t-34 123q0 24 4 58t11 79l30 166q7 42 9.5 67t2.5 43q0 68 -36.5 93.5t-140.5 25.5h-60l38 225h197q162 0 242.5 -61t80.5 -184q0 -28 -3.5 -58.5t-9.5 -64.5l-35 -205q-5 -30 -8 -57
251
+ t-3 -49q0 -88 42 -124t146 -36h57l-41 -223h-54q-127 0 -186 -58.5t-85 -208.5l-34 -192q-33 -193 -138.5 -281t-302.5 -88h-195z" />
252
+ <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="1544"
253
+ d="M1349 850v-244q-95 -80 -175.5 -114.5t-167.5 -34.5q-96 0 -225 58q-12 6 -20 9q-6 3 -19 9q-140 61 -224 61q-80 0 -157 -38.5t-166 -121.5v244q97 80 177 114.5t166 34.5q96 0 225 -58q14 -6 20 -9t20 -9q139 -61 224 -61q77 0 153 37.5t169 122.5z" />
254
+ <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="641"
255
+ />
256
+ <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="840"
257
+ d="M651 1137h-325l63 356h325zM452 0h-325l102 573l117 418h233l-26 -418z" />
258
+ <glyph glyph-name="cent" unicode="&#xa2;"
259
+ d="M667 856q-92 -46 -147.5 -150.5t-55.5 -232.5q0 -74 26 -128.5t72 -80.5zM1124 1085l-51 -292q-68 50 -128.5 74t-118.5 24h-8l-115 -664q80 2 151.5 26.5t135.5 72.5l-50 -293q-65 -25 -135.5 -40t-146.5 -20l-50 -286h-145l49 290q-181 22 -285 138.5t-104 298.5
260
+ q0 291 164 492t430 235l50 291h146l-50 -287q61 -2 127 -17t134 -43z" />
261
+ <glyph glyph-name="sterling" unicode="&#xa3;"
262
+ d="M1274 1466l-50 -286q-53 37 -116 57t-127 20q-113 0 -176 -61.5t-86 -194.5l-30 -170h336l-40 -239h-338l-57 -326h486l-46 -266h-1017l46 266h203l57 326h-173l40 239h175l30 170q46 270 182 394.5t384 124.5q83 0 162 -13.5t155 -40.5z" />
263
+ <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="1172"
264
+ d="M391 268l-187 -207l-137 154l186 207q-25 49 -38 102.5t-13 116.5t14 117t40 100l-188 205l138 154l186 -207q44 30 92.5 44.5t103.5 14.5q48 0 97 -13.5t100 -41.5l186 207l137 -154l-186 -207q26 -55 38.5 -110t12.5 -109q0 -63 -13 -115.5t-40 -99.5l186 -207
265
+ l-138 -153l-187 206q-41 -30 -89 -44.5t-104 -14.5q-52 0 -101 13.5t-96 41.5zM588 422q82 0 139.5 63.5t57.5 155.5t-57.5 155.5t-139.5 63.5t-139.5 -63.5t-57.5 -155.5q0 -93 56.5 -156t140.5 -63z" />
266
+ <glyph glyph-name="yen" unicode="&#xa5;"
267
+ d="M1165 416h-409l-74 -416h-343l74 416h-402l35 194h400l13 76l-26 76h-361l33 192h262l-193 539h331l175 -500l347 500h364l-396 -539h264l-33 -192h-367l-53 -76l-17 -76h409z" />
268
+ <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="673"
269
+ d="M438 1432v-758h-204v758h204zM438 408v-758h-204v758h204z" />
270
+ <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="921"
271
+ d="M911 1462l-39 -227q-81 40 -145.5 59t-119.5 19q-72 0 -114.5 -30.5t-42.5 -80.5q0 -30 22 -55t73 -51l81 -41q158 -78 215.5 -153.5t57.5 -186.5q0 -123 -69.5 -218t-201.5 -153q52 -36 76 -80t24 -98q0 -162 -127 -261.5t-339 -99.5q-76 0 -157 14.5t-166 43.5l43 237
272
+ q92 -43 164 -64.5t127 -21.5q69 0 112.5 31.5t43.5 79.5q0 31 -21.5 54.5t-92.5 60.5l-121 61q-108 54 -158 127.5t-50 175.5q0 123 66 218.5t193 154.5q-47 41 -69.5 87t-22.5 99q0 156 124.5 256.5t323.5 100.5q75 0 152.5 -14.5t157.5 -43.5zM400 854
273
+ q-72 -21 -110.5 -65.5t-38.5 -106.5q0 -61 43.5 -104t190.5 -107q72 27 111.5 72.5t39.5 101.5q0 61 -51 107.5t-185 101.5z" />
274
+ <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="921"
275
+ d="M322 1585h214l-44 -246h-212zM680 1585h212l-44 -246h-212z" />
276
+ <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1843"
277
+ d="M1191 1126v-215q-52 37 -101.5 54.5t-101.5 17.5q-102 0 -159 -64t-57 -178q0 -115 57 -178t159 -63q58 0 109.5 18t93.5 53v-213q-59 -22 -118 -33.5t-115 -11.5q-189 0 -303.5 117t-114.5 311q0 195 114.5 311.5t303.5 116.5q63 0 120.5 -10.5t112.5 -32.5zM922 1331
278
+ q-109 0 -202.5 -43.5t-172.5 -130.5q-78 -87 -117 -190.5t-39 -225.5q0 -121 39 -224.5t117 -190.5q78 -86 172 -129t203 -43q110 0 203 42.5t171 129.5t117.5 190.5t39.5 224.5q0 122 -39.5 225.5t-117.5 190.5q-79 88 -172.5 131t-201.5 43zM922 1485q136 0 254.5 -55
279
+ t216.5 -164t146.5 -240t48.5 -285q0 -152 -48.5 -282.5t-146.5 -239.5t-216.5 -164t-254.5 -55q-137 0 -255.5 55t-216.5 164t-146.5 239.5t-48.5 282.5q0 154 48.5 285t146.5 240t216.5 164t255.5 55z" />
280
+ <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="1039"
281
+ d="M114 573h734l-35 -200h-734zM623 1081q-133 0 -183.5 -28.5t-50.5 -98.5q0 -44 28 -70t75 -26q76 0 134.5 56.5t73.5 144.5l4 22h-81zM962 1165l-77 -448h-223l22 125q-59 -76 -127 -111t-159 -35q-113 0 -175.5 55.5t-62.5 155.5q0 155 111 233.5t330 78.5h127l4 20
282
+ q1 4 1.5 9t0.5 16q0 44 -35 67t-103 23q-79 0 -157.5 -17.5t-154.5 -52.5l31 180q88 28 167 42t146 14q168 0 255.5 -64t87.5 -186q0 -31 -2 -56.5t-7 -48.5z" />
283
+ <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1197"
284
+ d="M1095 1063l-45 -252l-311 -229l232 -222l-39 -223l-379 369l33 186zM654 1063l-44 -252l-311 -229l232 -222l-39 -223l-380 369l34 186z" />
285
+ <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="1544"
286
+ d="M195 909h1154v-622h-211v385h-943v237z" />
287
+ <glyph glyph-name="sfthyphen" unicode="&#xad;" horiz-adv-x="765"
288
+ d="M98 735h565l-51 -291h-566z" />
289
+ <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1843"
290
+ d="M922 1331q-109 0 -202.5 -43.5t-172.5 -130.5q-78 -87 -117 -190.5t-39 -225.5q0 -121 39 -224.5t117 -190.5q78 -86 172 -129t203 -43q110 0 203 42.5t171 129.5t117.5 190.5t39.5 224.5q0 122 -39.5 225.5t-117.5 190.5q-79 88 -172.5 131t-201.5 43zM870 1036h-31
291
+ v-207h31q70 0 106 26.5t36 78.5t-35 77t-107 25zM904 1174q158 0 236.5 -59.5t78.5 -180.5q0 -86 -47.5 -142t-133.5 -73q37 -22 68.5 -62t58.5 -98l99 -221h-206l-96 213q-34 78 -60 110.5t-52 32.5h-11v-356h-192v836h257zM922 1485q136 0 254.5 -55t216.5 -164
292
+ t146.5 -240t48.5 -285q0 -152 -48.5 -282.5t-146.5 -239.5t-216.5 -164t-254.5 -55q-137 0 -255.5 55t-216.5 164t-146.5 239.5t-48.5 282.5q0 154 48.5 285t146.5 240t216.5 164t255.5 55z" />
293
+ <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="921"
294
+ d="M319 1556h567l-33 -188h-568z" />
295
+ <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="921"
296
+ d="M461 1372q-65 0 -110 -50t-45 -122t44.5 -121t110.5 -49q65 0 110 49.5t45 120.5q0 72 -45.5 122t-109.5 50zM461 1534q59 0 114 -25.5t98 -72.5q43 -48 65 -108t22 -128q0 -67 -22 -127.5t-63 -105.5q-43 -48 -99 -73.5t-117 -25.5q-127 0 -213 95.5t-86 236.5t87 237.5
297
+ t214 96.5z" />
298
+ <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="1544"
299
+ d="M879 1284v-354h470v-236h-470v-354h-214v354h-470v236h470v354h214zM195 238h1154v-238h-1154v238z" />
300
+ <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="807"
301
+ d="M382 836h339l-30 -168h-608l28 153l329 266q72 58 107 107.5t35 91.5q0 40 -29 63t-81 23q-62 0 -128 -23t-130 -67l33 186q74 26 141 39t130 13q134 0 205.5 -54.5t71.5 -154.5q0 -79 -48.5 -153.5t-156.5 -158.5z" />
302
+ <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="807"
303
+ d="M599 1120q68 -13 103 -59.5t35 -122.5q0 -137 -105.5 -211t-299.5 -74q-72 0 -137 12t-121 35l30 172q52 -36 105.5 -54.5t107.5 -18.5q98 0 153.5 38t55.5 105q0 54 -45 79.5t-138 25.5h-69l25 137h77q96 0 146.5 29t50.5 83q0 38 -34 57t-101 19q-48 0 -105.5 -13
304
+ t-126.5 -40l28 166q65 17 131.5 26t132.5 9q139 0 214 -50t75 -143q0 -81 -51 -137t-137 -70z" />
305
+ <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="921"
306
+ d="M730 1638h264l-395 -376h-181z" />
307
+ <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1356"
308
+ d="M-50 -428l271 1548h324l-114 -651q-3 -21 -5 -41t-2 -37q0 -73 38.5 -112t112.5 -39q92 0 146 56t75 173l115 651h324l-131 -749q-3 -21 -5 -38.5t-2 -31.5q0 -29 12 -43t38 -14q15 0 32.5 5.5t35.5 16.5l-45 -250q-51 -23 -95.5 -34t-84.5 -11q-79 0 -123.5 38
309
+ t-62.5 120q-56 -79 -124 -118.5t-147 -39.5q-67 0 -109 23.5t-61 71.5l-87 -494h-326z" />
310
+ <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1172"
311
+ d="M644 1493h468l-296 -1690h-171l269 1543h-170l-271 -1543h-169l148 846q-151 20 -233 112t-82 240q0 215 140.5 353.5t366.5 138.5z" />
312
+ <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="700"
313
+ d="M223 905h324l-68 -387h-324z" />
314
+ <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="921"
315
+ d="M413 0q33 -52 48.5 -96t15.5 -86q0 -104 -68 -161.5t-191 -57.5q-44 0 -88 6.5t-90 19.5l27 156q36 -17 72.5 -26t70.5 -9q59 0 93.5 28.5t34.5 75.5q0 26 -12.5 60.5t-40.5 89.5h128z" />
316
+ <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="807"
317
+ d="M151 825h185l92 521l-210 -52l27 160l219 49h198l-120 -678h186l-28 -157h-577z" />
318
+ <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="1039"
319
+ d="M647 1520q165 0 261 -90.5t96 -243.5q0 -219 -132.5 -353.5t-351.5 -134.5q-164 0 -262 91.5t-98 242.5q0 217 134 352.5t353 135.5zM120 573h740l-34 -200h-741zM625 1350q-89 0 -148 -92.5t-59 -233.5q0 -76 32 -116t92 -40q89 0 147.5 92t58.5 234q0 75 -32 115.5
320
+ t-91 40.5z" />
321
+ <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1197"
322
+ d="M105 135l44 254l310 229l-230 222l38 223l378 -371l-31 -186zM545 135l45 254l309 229l-232 222l40 223l378 -371l-31 -186z" />
323
+ <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1908"
324
+ d="M1472 640l-271 -323h215zM1490 835h223l-90 -518h123l-27 -155h-123l-29 -162h-207l29 162h-352l29 168zM534 -29h-220l1111 1549h221zM130 825h185l92 521l-210 -52l27 160l219 49h198l-120 -678h186l-28 -157h-577z" />
325
+ <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1908"
326
+ d="M534 -29h-220l1111 1549h221zM130 825h185l92 521l-210 -52l27 160l219 49h198l-120 -678h186l-28 -157h-577zM1497 168h339l-30 -168h-608l28 153l329 266q72 58 107 107.5t35 91.5q0 40 -29 63t-81 23q-62 0 -128 -23t-130 -67l33 186q74 26 141 39t130 13
327
+ q134 0 205.5 -54.5t71.5 -154.5q0 -79 -48.5 -153.5t-156.5 -158.5z" />
328
+ <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1908"
329
+ d="M1472 640l-271 -323h215zM1490 835h223l-90 -518h123l-27 -155h-123l-29 -162h-207l29 162h-352l29 168zM534 -29h-220l1111 1549h221zM612 1120q68 -13 103 -59.5t35 -122.5q0 -137 -105.5 -211t-299.5 -74q-72 0 -137 12t-121 35l30 172q52 -36 105.5 -54.5
330
+ t107.5 -18.5q98 0 153.5 38t55.5 105q0 54 -45 79.5t-138 25.5h-69l25 137h77q96 0 146.5 29t50.5 83q0 38 -34 57t-101 19q-48 0 -105.5 -13t-126.5 -40l28 166q65 17 131.5 26t132.5 9q139 0 214 -50t75 -143q0 -81 -51 -137t-137 -70z" />
331
+ <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="1069"
332
+ d="M487 989h324l-9 -51q-14 -80 -52.5 -141.5t-156.5 -163.5l-67 -60q-72 -61 -103.5 -113t-31.5 -106q0 -57 36 -87.5t104 -30.5q72 0 163.5 34t193.5 99l-55 -314q-114 -42 -209 -62t-181 -20q-176 0 -275.5 85.5t-99.5 234.5q0 119 48 213t162 196l68 60
333
+ q75 65 100.5 102.5t32.5 79.5zM837 1137h-325l63 356h324z" />
334
+ <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1426"
335
+ d="M846 1899l129 -264h-160l-207 264h238zM905 272h-536l-133 -272h-356l760 1493h396l238 -1493h-330zM500 543h360l-81 575z" />
336
+ <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1426"
337
+ d="M931 1899h252l-287 -264h-186zM905 272h-536l-133 -272h-356l760 1493h396l238 -1493h-330zM500 543h360l-81 575z" />
338
+ <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1426"
339
+ d="M719 1899h313l137 -264h-153l-148 161l-208 -161h-161zM905 272h-536l-133 -272h-356l760 1493h396l238 -1493h-330zM500 543h360l-81 575z" />
340
+ <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1426"
341
+ d="M848 1686l-45 37q-21 19 -36 25.5t-31 6.5q-32 0 -55.5 -32t-33.5 -88h-123q23 128 82 197t144 69q34 0 63 -12t61 -39l47 -41q15 -13 31 -20t31 -7q35 0 58.5 30.5t32.5 88.5h125q-24 -128 -83 -197t-142 -69q-35 0 -63.5 11t-62.5 40zM905 272h-536l-133 -272h-356
342
+ l760 1493h396l238 -1493h-330zM500 543h360l-81 575z" />
343
+ <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1426"
344
+ d="M603 1899h212l-42 -246h-212zM958 1899h215l-45 -246h-212zM905 272h-536l-133 -272h-356l760 1493h396l238 -1493h-330zM500 543h360l-81 575z" />
345
+ <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1426"
346
+ d="M716 1616q0 -54 34.5 -92.5t82.5 -38.5q49 0 83.5 38.5t34.5 92.5t-35 92.5t-83 38.5t-82.5 -38.5t-34.5 -92.5zM1040 1456l234 -1456h-330l-39 272h-536l-133 -272h-356l743 1458q-24 37 -35 75.5t-11 82.5q0 117 75 201t181 84t181 -84t75 -201q0 -48 -11.5 -86.5
347
+ t-37.5 -73.5zM500 543h360l-81 575z" />
348
+ <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1999"
349
+ d="M886 1237l-337 -610h339l107 610h-109zM697 1493h1279l-52 -291h-588l-47 -278h552l-51 -291h-553l-59 -342h606l-50 -291h-955l62 350h-443l-196 -350h-346z" />
350
+ <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1352"
351
+ d="M1117 70q-124 -49 -238.5 -74t-216.5 -25q-271 0 -433 165t-162 437q0 179 51 337.5t151 289.5q118 154 284 237t358 83q104 0 209.5 -27.5t214.5 -83.5l-56 -309q-87 73 -174 107t-187 34q-208 0 -348.5 -178t-140.5 -445q0 -172 86.5 -270t238.5 -98q91 0 193 36.5
352
+ t229 114.5zM778 0q33 -52 48.5 -96t15.5 -86q0 -104 -68 -161.5t-191 -57.5q-44 0 -88 6.5t-90 19.5l27 156q36 -17 72.5 -26t70.5 -9q59 0 93.5 28.5t34.5 75.5q0 26 -12.5 60.5t-40.5 89.5h128z" />
353
+ <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1259"
354
+ d="M809 1899l129 -264h-160l-207 264h238zM301 1493h934l-51 -291h-588l-49 -278h554l-53 -291h-552l-60 -342h607l-49 -291h-955z" />
355
+ <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1259"
356
+ d="M894 1899h252l-287 -264h-186zM301 1493h934l-51 -291h-588l-49 -278h554l-53 -291h-552l-60 -342h607l-49 -291h-955z" />
357
+ <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1259"
358
+ d="M682 1899h313l137 -264h-153l-148 161l-208 -161h-161zM301 1493h934l-51 -291h-588l-49 -278h554l-53 -291h-552l-60 -342h607l-49 -291h-955z" />
359
+ <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1259"
360
+ d="M566 1899h212l-42 -246h-212zM921 1899h215l-45 -246h-212zM301 1493h934l-51 -291h-588l-49 -278h554l-53 -291h-552l-60 -342h607l-49 -291h-955z" />
361
+ <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="685"
362
+ d="M488 1899l129 -264h-160l-207 264h238zM301 1493h346l-262 -1493h-346z" />
363
+ <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="685"
364
+ d="M573 1899h252l-287 -264h-186zM301 1493h346l-262 -1493h-346z" />
365
+ <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="685"
366
+ d="M361 1899h313l137 -264h-153l-148 161l-208 -161h-161zM301 1493h346l-262 -1493h-346z" />
367
+ <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="685"
368
+ d="M245 1899h212l-42 -246h-212zM600 1899h215l-45 -246h-212zM301 1493h346l-262 -1493h-346z" />
369
+ <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1557"
370
+ d="M626 1202l-51 -299h221l-45 -260h-222l-63 -352h124q243 0 385 151.5t142 407.5q0 174 -93 263t-276 89h-122zM330 1493h365q261 0 391.5 -34.5t216.5 -115.5q87 -81 132 -197t45 -261q0 -201 -76 -381t-212 -303q-118 -109 -275 -155t-484 -46h-365l113 643h-185l46 260
371
+ h185z" />
372
+ <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1542"
373
+ d="M892 1686l-45 37q-21 19 -36 25.5t-31 6.5q-32 0 -55.5 -32t-33.5 -88h-123q23 128 82 197t144 69q34 0 63 -12t61 -39l47 -41q15 -13 31 -20t31 -7q35 0 58.5 30.5t32.5 88.5h125q-24 -128 -83 -197t-142 -69q-35 0 -63.5 11t-62.5 40zM301 1493h387l307 -1034l181 1034
374
+ h328l-262 -1493h-387l-308 1034l-180 -1034h-328z" />
375
+ <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1566"
376
+ d="M954 1899l129 -264h-160l-207 264h238zM1134 881q0 176 -71.5 268t-207.5 92q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234zM905 1520q269 0 432 -165.5t163 -432.5q0 -182 -50 -344t-145 -291
377
+ q-117 -159 -277 -237.5t-368 -78.5q-268 0 -430.5 165t-162.5 433q0 183 49.5 345t145.5 292q115 158 275 236t368 78z" />
378
+ <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1566"
379
+ d="M1039 1899h252l-287 -264h-186zM1134 881q0 176 -71.5 268t-207.5 92q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234zM905 1520q269 0 432 -165.5t163 -432.5q0 -182 -50 -344t-145 -291
380
+ q-117 -159 -277 -237.5t-368 -78.5q-268 0 -430.5 165t-162.5 433q0 183 49.5 345t145.5 292q115 158 275 236t368 78z" />
381
+ <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1566"
382
+ d="M827 1899h313l137 -264h-153l-148 161l-208 -161h-161zM1134 881q0 176 -71.5 268t-207.5 92q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234zM905 1520q269 0 432 -165.5t163 -432.5q0 -182 -50 -344
383
+ t-145 -291q-117 -159 -277 -237.5t-368 -78.5q-268 0 -430.5 165t-162.5 433q0 183 49.5 345t145.5 292q115 158 275 236t368 78z" />
384
+ <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1566"
385
+ d="M956 1686l-45 37q-21 19 -36 25.5t-31 6.5q-32 0 -55.5 -32t-33.5 -88h-123q23 128 82 197t144 69q34 0 63 -12t61 -39l47 -41q15 -13 31 -20t31 -7q35 0 58.5 30.5t32.5 88.5h125q-24 -128 -83 -197t-142 -69q-35 0 -63.5 11t-62.5 40zM1134 881q0 176 -71.5 268
386
+ t-207.5 92q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234zM905 1520q269 0 432 -165.5t163 -432.5q0 -182 -50 -344t-145 -291q-117 -159 -277 -237.5t-368 -78.5q-268 0 -430.5 165t-162.5 433q0 183 49.5 345
387
+ t145.5 292q115 158 275 236t368 78z" />
388
+ <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1566"
389
+ d="M711 1899h212l-42 -246h-212zM1066 1899h215l-45 -246h-212zM1134 881q0 176 -71.5 268t-207.5 92q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234zM905 1520q269 0 432 -165.5t163 -432.5q0 -182 -50 -344
390
+ t-145 -291q-117 -159 -277 -237.5t-368 -78.5q-268 0 -430.5 165t-162.5 433q0 183 49.5 345t145.5 292q115 158 275 236t368 78z" />
391
+ <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="1544"
392
+ d="M1314 1075l-391 -434l391 -432l-151 -168l-391 432l-390 -432l-152 168l391 432l-391 434l152 168l390 -434l391 434z" />
393
+ <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1566"
394
+ d="M1076 1128q-36 57 -90.5 85t-128.5 28q-182 0 -303 -178.5t-121 -450.5q0 -22 3 -74v-6zM142 258q-38 74 -56.5 152.5t-18.5 158.5q0 183 49.5 345t145.5 292q116 159 275 236.5t368 77.5q134 0 238.5 -39t184.5 -117l232 215l92 -123l-233 -213q41 -76 61 -157t20 -166
395
+ q0 -182 -50 -344t-145 -291q-117 -158 -277 -236t-368 -78q-133 0 -239 41t-189 123l-227 -213l-91 123zM485 371q35 -59 90 -90t125 -31q104 0 184.5 48.5t137.5 143.5q54 92 84 206.5t30 230.5q0 25 -6 78q-1 8 -2 12z" />
396
+ <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1496"
397
+ d="M883 1899l129 -264h-160l-207 264h238zM301 1493h346l-157 -894q-8 -48 -12.5 -85t-4.5 -65q0 -98 47.5 -146.5t141.5 -48.5q126 0 193 78.5t100 265.5l157 895h346l-157 -895q-58 -330 -221.5 -478.5t-467.5 -148.5q-238 0 -362.5 113.5t-124.5 329.5q0 36 4.5 80.5
398
+ t14.5 103.5z" />
399
+ <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1496"
400
+ d="M968 1899h252l-287 -264h-186zM301 1493h346l-157 -894q-8 -48 -12.5 -85t-4.5 -65q0 -98 47.5 -146.5t141.5 -48.5q126 0 193 78.5t100 265.5l157 895h346l-157 -895q-58 -330 -221.5 -478.5t-467.5 -148.5q-238 0 -362.5 113.5t-124.5 329.5q0 36 4.5 80.5t14.5 103.5z
401
+ " />
402
+ <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1496"
403
+ d="M756 1899h313l137 -264h-153l-148 161l-208 -161h-161zM301 1493h346l-157 -894q-8 -48 -12.5 -85t-4.5 -65q0 -98 47.5 -146.5t141.5 -48.5q126 0 193 78.5t100 265.5l157 895h346l-157 -895q-58 -330 -221.5 -478.5t-467.5 -148.5q-238 0 -362.5 113.5t-124.5 329.5
404
+ q0 36 4.5 80.5t14.5 103.5z" />
405
+ <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1496"
406
+ d="M640 1899h212l-42 -246h-212zM995 1899h215l-45 -246h-212zM301 1493h346l-157 -894q-8 -48 -12.5 -85t-4.5 -65q0 -98 47.5 -146.5t141.5 -48.5q126 0 193 78.5t100 265.5l157 895h346l-157 -895q-58 -330 -221.5 -478.5t-467.5 -148.5q-238 0 -362.5 113.5
407
+ t-124.5 329.5q0 36 4.5 80.5t14.5 103.5z" />
408
+ <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1334"
409
+ d="M898 1899h252l-287 -264h-186zM116 1493h347l228 -553l400 553h400l-663 -870l-109 -623h-346l109 623z" />
410
+ <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1368"
411
+ d="M301 1493h346l-39 -223h222q211 0 331 -107.5t120 -298.5q0 -117 -39.5 -221.5t-113.5 -183.5q-80 -86 -192 -125t-278 -39h-222l-51 -295h-346zM559 993l-72 -420h183q123 0 188 65t65 187q0 82 -45.5 125t-133.5 43h-185z" />
412
+ <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1325"
413
+ d="M251 1114q38 224 177 333t385 109q203 0 309 -88t106 -258q0 -20 -2.5 -44t-6.5 -51l-14 -73q-136 -5 -216 -51.5t-80 -118.5q0 -55 92 -127q8 -6 13 -10l55 -43q76 -59 111 -128.5t35 -160.5q0 -193 -125 -312.5t-330 -119.5q-71 0 -138.5 12.5t-134.5 36.5l44 244
414
+ q50 -27 100 -41t97 -14q74 0 119 38t45 99q0 40 -21 72.5t-90 87.5l-55 43q-60 47 -87 97.5t-27 113.5q0 138 82.5 237t237.5 148q1 6 1.5 14t0.5 23q0 67 -37 102t-108 35q-91 0 -144 -53.5t-72 -165.5l-193 -1100h-323z" />
415
+ <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1243"
416
+ d="M607 504q-121 0 -182.5 -41.5t-61.5 -122.5q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM1110 639l-113 -639h-322l27 166q-79 -100 -167.5 -147.5t-191.5 -47.5q-143 0 -227 82.5t-84 222.5q0 214 148.5 327.5t429.5 113.5h190l4 28q2 14 2.5 20
417
+ t0.5 11q0 66 -56 99.5t-167 33.5q-100 0 -193.5 -23t-180.5 -69l48 273q101 28 207 42.5t219 14.5q224 0 333 -85.5t109 -260.5q0 -34 -4 -74.5t-12 -87.5zM658 1638l188 -376h-177l-266 376h255z" />
418
+ <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1243"
419
+ d="M607 504q-121 0 -182.5 -41.5t-61.5 -122.5q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM1110 639l-113 -639h-322l27 166q-79 -100 -167.5 -147.5t-191.5 -47.5q-143 0 -227 82.5t-84 222.5q0 214 148.5 327.5t429.5 113.5h190l4 28q2 14 2.5 20
420
+ t0.5 11q0 66 -56 99.5t-167 33.5q-100 0 -193.5 -23t-180.5 -69l48 273q101 28 207 42.5t219 14.5q224 0 333 -85.5t109 -260.5q0 -34 -4 -74.5t-12 -87.5zM892 1638h264l-395 -376h-181z" />
421
+ <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1243"
422
+ d="M607 504q-121 0 -182.5 -41.5t-61.5 -122.5q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM1110 639l-113 -639h-322l27 166q-79 -100 -167.5 -147.5t-191.5 -47.5q-143 0 -227 82.5t-84 222.5q0 214 148.5 327.5t429.5 113.5h190l4 28q2 14 2.5 20
423
+ t0.5 11q0 66 -56 99.5t-167 33.5q-100 0 -193.5 -23t-180.5 -69l48 273q101 28 207 42.5t219 14.5q224 0 333 -85.5t109 -260.5q0 -34 -4 -74.5t-12 -87.5zM652 1638h236l164 -376h-160l-140 225l-217 -225h-178z" />
424
+ <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1243"
425
+ d="M607 504q-121 0 -182.5 -41.5t-61.5 -122.5q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM1110 639l-113 -639h-322l27 166q-79 -100 -167.5 -147.5t-191.5 -47.5q-143 0 -227 82.5t-84 222.5q0 214 148.5 327.5t429.5 113.5h190l4 28q2 14 2.5 20
426
+ t0.5 11q0 66 -56 99.5t-167 33.5q-100 0 -193.5 -23t-180.5 -69l48 273q101 28 207 42.5t219 14.5q224 0 333 -85.5t109 -260.5q0 -34 -4 -74.5t-12 -87.5zM734 1364l-45 37q-2 2 -9 7q-34 30 -61 30q-30 0 -53.5 -34.5t-32.5 -94.5h-126q24 137 83 210.5t144 73.5
427
+ q32 0 62 -13.5t64 -43.5l47 -43q17 -15 32 -23t29 -8q34 0 57.5 33.5t32.5 95.5h126q-24 -136 -82.5 -210t-142.5 -74q-31 0 -58 11.5t-67 45.5z" />
428
+ <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1243"
429
+ d="M607 504q-121 0 -182.5 -41.5t-61.5 -122.5q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM1110 639l-113 -639h-322l27 166q-79 -100 -167.5 -147.5t-191.5 -47.5q-143 0 -227 82.5t-84 222.5q0 214 148.5 327.5t429.5 113.5h190l4 28q2 14 2.5 20
430
+ t0.5 11q0 66 -56 99.5t-167 33.5q-100 0 -193.5 -23t-180.5 -69l48 273q101 28 207 42.5t219 14.5q224 0 333 -85.5t109 -260.5q0 -34 -4 -74.5t-12 -87.5zM484 1585h214l-44 -246h-212zM842 1585h212l-44 -246h-212z" />
431
+ <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1243"
432
+ d="M1013 1524q0 -120 -74 -202.5t-181 -82.5q-108 0 -182.5 82.5t-74.5 202.5t74.5 202t182.5 82q107 0 181 -82t74 -202zM892 1524q0 65 -38 107t-96 42q-60 0 -97.5 -42t-37.5 -107t38 -107.5t97 -42.5q58 0 96 42t38 108zM607 504q-121 0 -182.5 -41.5t-61.5 -122.5
433
+ q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM1110 639l-113 -639h-322l27 166q-79 -100 -167.5 -147.5t-191.5 -47.5q-143 0 -227 82.5t-84 222.5q0 214 148.5 327.5t429.5 113.5h190l4 28q2 14 2.5 20t0.5 11q0 66 -56 99.5t-167 33.5q-100 0 -193.5 -23
434
+ t-180.5 -69l48 273q101 28 207 42.5t219 14.5q224 0 333 -85.5t109 -260.5q0 -34 -4 -74.5t-12 -87.5z" />
435
+ <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1931"
436
+ d="M607 504q-121 0 -182.5 -41.5t-61.5 -122.5q0 -61 36.5 -96t100.5 -35q98 0 165 66.5t89 187.5l7 41h-154zM262 1090q105 28 205.5 42.5t194.5 14.5q134 0 222 -36.5t139 -113.5q86 77 181.5 113.5t213.5 36.5q200 0 320 -122t120 -323q0 -45 -4.5 -91t-13.5 -93l-13 -57
437
+ h-752q0 -6 -1 -17.5t-1 -17.5q0 -109 59 -163t177 -54q100 0 212.5 33.5t237.5 101.5l-48 -278q-118 -48 -235.5 -71.5t-238.5 -23.5q-156 0 -262.5 51.5t-165.5 155.5q-105 -105 -216 -156t-236 -51q-153 0 -239 81t-86 222q0 216 148.5 329.5t433.5 113.5h184l6 29
438
+ q2 13 2.5 19t0.5 11q0 66 -55.5 99.5t-163.5 33.5q-103 0 -196 -23t-178 -69zM1535 682q3 13 4.5 26.5t1.5 26.5q0 80 -43.5 127t-116.5 47q-95 0 -162 -58t-100 -169h416z" />
439
+ <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="1092"
440
+ d="M1071 1085l-51 -292q-65 48 -128 73t-123 25q-158 0 -258 -117.5t-100 -300.5q0 -117 62.5 -181.5t175.5 -64.5q75 0 148 25t139 74l-50 -293q-80 -31 -161 -46.5t-163 -15.5q-237 0 -365.5 118.5t-128.5 336.5q0 137 47.5 266t135.5 232q98 113 225 168t293 55
441
+ q76 0 151.5 -15.5t150.5 -46.5zM621 0q33 -52 48.5 -96t15.5 -86q0 -104 -68 -161.5t-191 -57.5q-44 0 -88 6.5t-90 19.5l27 156q36 -17 72.5 -26t70.5 -9q59 0 93.5 28.5t34.5 75.5q0 26 -12.5 60.5t-40.5 89.5h128z" />
442
+ <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1250"
443
+ d="M1159 518l-11 -57h-754q0 -6 -1 -17.5t-1 -17.5q0 -109 59 -163t177 -54q102 0 215 34t237 101l-50 -278q-117 -48 -233.5 -71.5t-237.5 -23.5q-236 0 -364 121t-128 342q0 128 40.5 248.5t119.5 220.5q93 120 222 182t286 62q205 0 325 -121t120 -326q0 -40 -5 -84.5
444
+ t-16 -97.5zM855 682q3 13 4 26.5t1 26.5q0 80 -43 127t-117 47q-94 0 -160.5 -57.5t-101.5 -169.5h417zM700 1638l188 -376h-177l-266 376h255z" />
445
+ <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1250"
446
+ d="M1159 518l-11 -57h-754q0 -6 -1 -17.5t-1 -17.5q0 -109 59 -163t177 -54q102 0 215 34t237 101l-50 -278q-117 -48 -233.5 -71.5t-237.5 -23.5q-236 0 -364 121t-128 342q0 128 40.5 248.5t119.5 220.5q93 120 222 182t286 62q205 0 325 -121t120 -326q0 -40 -5 -84.5
447
+ t-16 -97.5zM855 682q3 13 4 26.5t1 26.5q0 80 -43 127t-117 47q-94 0 -160.5 -57.5t-101.5 -169.5h417zM934 1638h264l-395 -376h-181z" />
448
+ <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1250"
449
+ d="M1159 518l-11 -57h-754q0 -6 -1 -17.5t-1 -17.5q0 -109 59 -163t177 -54q102 0 215 34t237 101l-50 -278q-117 -48 -233.5 -71.5t-237.5 -23.5q-236 0 -364 121t-128 342q0 128 40.5 248.5t119.5 220.5q93 120 222 182t286 62q205 0 325 -121t120 -326q0 -40 -5 -84.5
450
+ t-16 -97.5zM855 682q3 13 4 26.5t1 26.5q0 80 -43 127t-117 47q-94 0 -160.5 -57.5t-101.5 -169.5h417zM694 1638h236l164 -376h-160l-140 225l-217 -225h-178z" />
451
+ <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1250"
452
+ d="M1159 518l-11 -57h-754q0 -6 -1 -17.5t-1 -17.5q0 -109 59 -163t177 -54q102 0 215 34t237 101l-50 -278q-117 -48 -233.5 -71.5t-237.5 -23.5q-236 0 -364 121t-128 342q0 128 40.5 248.5t119.5 220.5q93 120 222 182t286 62q205 0 325 -121t120 -326q0 -40 -5 -84.5
453
+ t-16 -97.5zM855 682q3 13 4 26.5t1 26.5q0 80 -43 127t-117 47q-94 0 -160.5 -57.5t-101.5 -169.5h417zM526 1585h214l-44 -246h-212zM884 1585h212l-44 -246h-212z" />
454
+ <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="631"
455
+ d="M253 1120h324l-197 -1120h-323zM369 1638l188 -376h-177l-266 376h255z" />
456
+ <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="631"
457
+ d="M253 1120h324l-197 -1120h-323zM603 1638h264l-395 -376h-181z" />
458
+ <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="631"
459
+ d="M253 1120h324l-197 -1120h-323zM363 1638h236l164 -376h-160l-140 225l-217 -225h-178z" />
460
+ <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="631"
461
+ d="M253 1120h324l-197 -1120h-323zM195 1585h214l-44 -246h-212zM553 1585h212l-44 -246h-212z" />
462
+ <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1266"
463
+ d="M862 743q-47 27 -92.5 40.5t-92.5 13.5q-126 0 -199.5 -94t-73.5 -252q0 -109 45 -166.5t130 -57.5q126 0 207 126.5t81 324.5q0 13 -4 53q0 7 -1 12zM1084 1100q57 -92 86.5 -198t29.5 -222q0 -130 -41 -251.5t-119 -221.5q-91 -116 -216.5 -176t-279.5 -60
464
+ q-217 0 -347 125t-130 330q0 280 163.5 454.5t427.5 174.5q44 0 83 -7t72 -20l-136 215l-347 -108l-31 129l306 94l-123 198h316l74 -116l347 106l31 -127l-306 -94z" />
465
+ <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1312"
466
+ d="M1189 682l-120 -682h-323l102 584q11 57 16.5 96.5t5.5 62.5q0 64 -32 99t-90 35q-100 0 -171.5 -86.5t-99.5 -239.5l-97 -551h-323l196 1120h324l-30 -164q89 97 179 144t188 47q140 0 215.5 -81t75.5 -228q0 -32 -4 -71t-12 -85zM767 1364l-45 37q-2 2 -9 7
467
+ q-34 30 -61 30q-30 0 -53.5 -34.5t-32.5 -94.5h-126q24 137 83 210.5t144 73.5q32 0 62 -13.5t64 -43.5l47 -43q17 -15 32 -23t29 -8q34 0 57.5 33.5t32.5 95.5h126q-24 -136 -82.5 -210t-142.5 -74q-31 0 -58 11.5t-67 45.5z" />
468
+ <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1266"
469
+ d="M691 891q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5q0 105 -43.5 160t-127.5 55zM717 1147q225 0 354 -127t129 -346q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -118 -216.5 -178t-279.5 -60q-222 0 -350 127t-128 346
470
+ q0 126 41 246.5t119 220.5q90 116 214.5 176t275.5 60zM670 1638l188 -376h-177l-266 376h255z" />
471
+ <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1266"
472
+ d="M691 891q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5q0 105 -43.5 160t-127.5 55zM717 1147q225 0 354 -127t129 -346q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -118 -216.5 -178t-279.5 -60q-222 0 -350 127t-128 346
473
+ q0 126 41 246.5t119 220.5q90 116 214.5 176t275.5 60zM904 1638h264l-395 -376h-181z" />
474
+ <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1266"
475
+ d="M691 891q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5q0 105 -43.5 160t-127.5 55zM717 1147q225 0 354 -127t129 -346q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -118 -216.5 -178t-279.5 -60q-222 0 -350 127t-128 346
476
+ q0 126 41 246.5t119 220.5q90 116 214.5 176t275.5 60zM664 1638h236l164 -376h-160l-140 225l-217 -225h-178z" />
477
+ <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1266"
478
+ d="M691 891q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5q0 105 -43.5 160t-127.5 55zM717 1147q225 0 354 -127t129 -346q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -118 -216.5 -178t-279.5 -60q-222 0 -350 127t-128 346
479
+ q0 126 41 246.5t119 220.5q90 116 214.5 176t275.5 60zM746 1364l-45 37q-2 2 -9 7q-34 30 -61 30q-30 0 -53.5 -34.5t-32.5 -94.5h-126q24 137 83 210.5t144 73.5q32 0 62 -13.5t64 -43.5l47 -43q17 -15 32 -23t29 -8q34 0 57.5 33.5t32.5 95.5h126q-24 -136 -82.5 -210
480
+ t-142.5 -74q-31 0 -58 11.5t-67 45.5z" />
481
+ <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1266"
482
+ d="M691 891q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5q0 105 -43.5 160t-127.5 55zM717 1147q225 0 354 -127t129 -346q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -118 -216.5 -178t-279.5 -60q-222 0 -350 127t-128 346
483
+ q0 126 41 246.5t119 220.5q90 116 214.5 176t275.5 60zM496 1585h214l-44 -246h-212zM854 1585h212l-44 -246h-212z" />
484
+ <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="1544"
485
+ d="M634 395h277v-309h-277v309zM634 1198h277v-309h-277v309zM195 760h1154v-236h-1154v236z" />
486
+ <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1266"
487
+ d="M814 842q-20 24 -51 36.5t-72 12.5q-126 0 -202 -119.5t-85 -333.5zM137 174q-35 59 -52.5 127.5t-17.5 144.5q0 126 40.5 245.5t119.5 219.5q90 117 214.5 176.5t279.5 59.5q93 0 170.5 -23t138.5 -69l173 168l88 -111l-165 -162q37 -59 55.5 -128t18.5 -148
488
+ q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -116 -217 -177t-279 -61q-98 0 -176.5 24.5t-139.5 74.5l-174 -172l-87 112zM448 283q23 -28 54 -42t73 -14q127 0 204 124t83 341z" />
489
+ <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1312"
490
+ d="M125 436l118 684h323l-102 -583q-10 -57 -15.5 -97t-5.5 -63q0 -63 31.5 -98t89.5 -35q100 0 172 86t99 239l97 551h324l-196 -1120h-325l30 164q-83 -97 -174 -145t-191 -48q-138 0 -213.5 81t-75.5 229q0 35 3.5 74t10.5 81zM691 1638l188 -376h-177l-266 376h255z" />
491
+ <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1312"
492
+ d="M125 436l118 684h323l-102 -583q-10 -57 -15.5 -97t-5.5 -63q0 -63 31.5 -98t89.5 -35q100 0 172 86t99 239l97 551h324l-196 -1120h-325l30 164q-83 -97 -174 -145t-191 -48q-138 0 -213.5 81t-75.5 229q0 35 3.5 74t10.5 81zM925 1638h264l-395 -376h-181z" />
493
+ <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1312"
494
+ d="M125 436l118 684h323l-102 -583q-10 -57 -15.5 -97t-5.5 -63q0 -63 31.5 -98t89.5 -35q100 0 172 86t99 239l97 551h324l-196 -1120h-325l30 164q-83 -97 -174 -145t-191 -48q-138 0 -213.5 81t-75.5 229q0 35 3.5 74t10.5 81zM685 1638h236l164 -376h-160l-140 225
495
+ l-217 -225h-178z" />
496
+ <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1312"
497
+ d="M125 436l118 684h323l-102 -583q-10 -57 -15.5 -97t-5.5 -63q0 -63 31.5 -98t89.5 -35q100 0 172 86t99 239l97 551h324l-196 -1120h-325l30 164q-83 -97 -174 -145t-191 -48q-138 0 -213.5 81t-75.5 229q0 35 3.5 74t10.5 81zM517 1585h214l-44 -246h-212zM875 1585h212
498
+ l-44 -246h-212z" />
499
+ <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1201"
500
+ d="M122 1120h304l138 -776l358 776h344l-638 -1226q-107 -207 -198 -271.5t-235 -64.5h-195l33 235h102q79 0 123 29.5t78 103.5l29 60zM870 1638h264l-395 -376h-181z" />
501
+ <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1319"
502
+ d="M410 162l-104 -588h-324l346 1982h324l-105 -600q74 98 155 144.5t177 46.5q170 0 269 -120t99 -327q0 -129 -34.5 -251t-99.5 -222q-82 -126 -185 -191t-221 -65q-103 0 -175.5 46.5t-121.5 144.5zM748 887q-124 0 -203 -127.5t-79 -331.5q0 -92 44.5 -144.5
503
+ t123.5 -52.5q122 0 201 125.5t79 321.5q0 102 -42.5 155.5t-123.5 53.5z" />
504
+ <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1201"
505
+ d="M122 1120h304l138 -776l358 776h344l-638 -1226q-107 -207 -198 -271.5t-235 -64.5h-195l33 235h102q79 0 123 29.5t78 103.5l29 60zM462 1585h214l-44 -246h-212zM820 1585h212l-44 -246h-212z" />
506
+ <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="685"
507
+ d="M257 0h128q-64 -74 -87.5 -114t-23.5 -68q0 -34 22.5 -53t62.5 -19q33 0 70 8t76 23l-26 -152q-52 -13 -92.5 -19.5t-75.5 -6.5q-95 0 -145 34.5t-50 100.5q0 65 33.5 128t107.5 138zM301 1493h346l-262 -1493h-346z" />
508
+ <glyph glyph-name="obreve" unicode="&#x14f;" horiz-adv-x="1266"
509
+ d="M483 1606h127v-9q0 -65 39 -100t111 -35q73 0 119.5 35.5t72.5 108.5h136q-30 -143 -122.5 -220t-232.5 -77q-126 0 -189.5 62t-63.5 183q0 21 0.5 31.5t2.5 20.5zM691 891q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5
510
+ q0 105 -43.5 160t-127.5 55zM717 1147q225 0 354 -127t129 -346q0 -127 -40.5 -246.5t-118.5 -218.5q-91 -118 -216.5 -178t-279.5 -60q-222 0 -350 127t-128 346q0 126 41 246.5t119 220.5q90 116 214.5 176t275.5 60z" />
511
+ <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" horiz-adv-x="1566"
512
+ d="M1248 1899h252l-287 -264h-186zM830 1899h252l-287 -264h-187zM1134 881q0 176 -71.5 268t-207.5 92q-180 0 -302 -179.5t-122 -449.5q0 -172 71 -267t198 -95q104 0 184.5 48.5t137.5 143.5q54 91 83 205t29 234zM905 1520q269 0 432 -165.5t163 -432.5q0 -182 -50 -344
513
+ t-145 -291q-117 -159 -277 -237.5t-368 -78.5q-268 0 -430.5 165t-162.5 433q0 183 49.5 345t145.5 292q115 158 275 236t368 78z" />
514
+ <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="2151"
515
+ d="M1141 1202h-94q-126 0 -219.5 -23.5t-162.5 -72.5q-102 -74 -163.5 -199t-61.5 -260q0 -183 108.5 -269.5t337.5 -86.5h97zM1112 1493h1015l-52 -291h-585l-51 -278h554l-52 -291h-553l-59 -342h608l-51 -291h-1044h-49q-341 0 -528.5 151t-187.5 424q0 242 106.5 447.5
516
+ t293.5 327.5q115 73 257 108t326 35h52z" />
517
+ <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="2016"
518
+ d="M1618 682q3 13 4.5 26.5t1.5 26.5q0 80 -43.5 127t-117.5 47q-94 0 -162 -58.5t-101 -168.5h418zM1922 518l-10 -57h-755q0 -6 -0.5 -17.5t-0.5 -17.5q0 -109 59 -163t176 -54q101 0 214.5 34t237.5 101l-49 -278q-118 -48 -235 -71.5t-240 -23.5q-139 0 -229 39
519
+ t-142 121q-81 -82 -177.5 -121t-219.5 -39q-226 0 -355 126.5t-129 346.5q0 127 40.5 247.5t117.5 219.5q91 117 217 176.5t281 59.5q126 0 217 -40.5t149 -121.5q85 81 187.5 121.5t225.5 40.5q201 0 321 -122t120 -323q0 -40 -5.5 -86.5t-15.5 -97.5zM691 891
520
+ q-125 0 -206 -126t-81 -321q0 -106 43.5 -161.5t127.5 -55.5q125 0 206 126.5t81 322.5q0 105 -43.5 160t-127.5 55z" />
521
+ <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1327"
522
+ d="M968 1635h-314l-123 264h155l133 -162l208 162h160zM1226 1446l-56 -316q-102 56 -201 83.5t-193 27.5q-130 0 -202.5 -45t-72.5 -125q0 -51 32 -79.5t132 -55.5l142 -39q179 -50 262 -144.5t83 -244.5q0 -243 -166 -390t-446 -147q-130 0 -259.5 27t-252.5 80l55 325
523
+ q119 -77 232 -115t223 -38q119 0 193.5 54t74.5 138q0 55 -33.5 85.5t-146.5 62.5l-141 39q-157 43 -233 136t-76 241q0 233 160.5 373.5t432.5 140.5q109 0 223.5 -18.5t233.5 -55.5z" />
524
+ <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="1097"
525
+ d="M765 1262h-234l-165 376h158l141 -227l219 227h177zM1032 1085l-47 -278q-95 50 -188.5 76t-177.5 26q-95 0 -147 -27.5t-52 -78.5q0 -30 29 -48t113 -38l59 -12q195 -46 273.5 -118.5t78.5 -201.5q0 -195 -137.5 -304.5t-385.5 -109.5q-104 0 -212 18t-220 54l49 281
526
+ q87 -57 186.5 -86t203.5 -29q102 0 153.5 27t51.5 79q0 36 -29 56t-119 41l-59 12q-172 40 -246 118t-74 216q0 187 127.5 288t363.5 101q104 0 204.5 -15.5t201.5 -46.5z" />
527
+ <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1334"
528
+ d="M570 1899h212l-42 -246h-212zM925 1899h215l-45 -246h-212zM116 1493h347l228 -553l400 553h400l-663 -870l-109 -623h-346l109 623z" />
529
+ <glyph glyph-name="zacute" unicode="&#x17a;" horiz-adv-x="1072"
530
+ d="M874 1645h264l-395 -376h-181zM201 1120h879l-44 -250l-628 -614h521l-44 -256h-901l42 250l630 614h-499z" />
531
+ <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1336"
532
+ d="M974 1635h-314l-123 264h155l133 -162l208 162h160zM234 1493h1130l-43 -238l-871 -964h724l-52 -291h-1170l41 238l874 964h-684z" />
533
+ <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="1072"
534
+ d="M753 1262h-234l-165 376h158l141 -227l219 227h177zM201 1120h879l-44 -250l-628 -614h521l-44 -256h-901l42 250l630 614h-499z" />
535
+ <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="801"
536
+ d="M992 1556l-42 -235h-178q-68 0 -100 -27q-32 -28 -44 -96l-13 -78h275l-45 -256h-275l-163 -932q-33 -183 -140 -270q-107 -88 -299 -88h-247l41 235h179q68 0 99 27q33 28 45 96l163 932h-161l45 256h160l14 78q32 183 140 270q107 88 299 88h247z" />
537
+ <glyph glyph-name="uni0197" unicode="&#x197;" horiz-adv-x="717"
538
+ d="M311 1493h347l-107 -612h181l-45 -260h-181l-109 -621h-347l109 621h-172l45 260h172z" />
539
+ <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="921"
540
+ d="M490 1638h236l164 -376h-160l-140 225l-217 -225h-178z" />
541
+ <glyph glyph-name="uni02CC" unicode="&#x2cc;" horiz-adv-x="564"
542
+ d="M416 390l-97 -555h-171l98 555h170z" />
543
+ <glyph glyph-name="uni02CD" unicode="&#x2cd;" horiz-adv-x="921"
544
+ d="M13 -191h567l-33 -188h-568z" />
545
+ <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="921"
546
+ d="M572 1364l-45 37q-2 2 -9 7q-34 30 -61 30q-30 0 -53.5 -34.5t-32.5 -94.5h-126q24 137 83 210.5t144 73.5q32 0 62 -13.5t64 -43.5l47 -43q17 -15 32 -23t29 -8q34 0 57.5 33.5t32.5 95.5h126q-24 -136 -82.5 -210t-142.5 -74q-31 0 -58 11.5t-67 45.5z" />
547
+ <glyph glyph-name="uni02DF" unicode="&#x2df;" horiz-adv-x="921"
548
+ d="M628 1262l-58 87l-90 -87h-180l196 187l-131 189h180l61 -86l88 86h180l-196 -189l130 -187h-180z" />
549
+ <glyph glyph-name="uni02E0" unicode="&#x2e0;" horiz-adv-x="758"
550
+ d="M558 998q128 -215 90 -430q-22 -130 -299 -132q-305 -3 -283 132q33 191 255 429l-180 307h219l99 -186l167 186h217zM417 875q-161 -174 -170 -244q-11 -70 111 -70q118 0 131 70q15 90 -72 244z" />
551
+ <glyph glyph-name="uni02E1" unicode="&#x2e1;" horiz-adv-x="404"
552
+ d="M176 1539h206l-153 -871h-207z" />
553
+ <glyph glyph-name="uni02E2" unicode="&#x2e2;" horiz-adv-x="702"
554
+ d="M654 1276l-26 -153q-62 27 -120 41q-60 13 -115 13q-59 0 -90 -14q-31 -15 -36 -44q-4 -24 16 -37q19 -13 73 -19l36 -5q154 -20 201 -65q48 -44 31 -140q-17 -100 -102 -151q-86 -50 -237 -50q-64 0 -129 10q-67 9 -135 29l26 152q57 -29 119 -43q62 -15 128 -15
555
+ q62 0 95 16q32 17 38 48q5 27 -14 40q-18 14 -80 21l-35 4q-135 17 -183 63q-47 45 -30 137q17 100 96 148q78 48 223 48q58 0 118 -8q62 -8 132 -26z" />
556
+ <glyph glyph-name="uni02E3" unicode="&#x2e3;" horiz-adv-x="760"
557
+ d="M263 989l-178 306h217l100 -186l166 186h219l-287 -305l188 -322h-218l-110 198l-179 -198h-218z" />
558
+ <glyph glyph-name="uni02E4" unicode="&#x2e4;" horiz-adv-x="601"
559
+ d="M500 1080l-72 -412h-206l49 278q-105 17 -154 70q-76 81 -53 210q21 121 111 195q141 118 279 118q105 0 150 -10q44 -10 84 -29l-28 -167q-42 24 -84 36q-43 12 -90 12q-103 0 -171 -64q-40 -37 -49 -91q-8 -39 18 -82q38 -64 163 -64h53z" />
560
+ <glyph glyph-name="uni03DE" unicode="&#x3de;" horiz-adv-x="1294"
561
+ d="M645 1167l-148 -355l760 316l-307 -653q-59 -125 -33 -172q23 -39 145 -39l-46 -260q-295 0 -379 70q-104 87 -22 264l124 269l-699 -269l272 688q52 132 31 170q-23 41 -143 41l45 256q294 0 378 -70q96 -80 22 -256z" />
562
+ <glyph glyph-name="uni03F5" unicode="&#x3f5;" horiz-adv-x="1188"
563
+ d="M919 14l-87 -18q-123 -25 -234 -25q-273 0 -398 155q-124 154 -75.5 433t226.5 433q179 155 453 155q118 0 224 -25q82 -19 81 -21l-44 -253q-16 10 -70 28q-106 33 -203 33q-128 0 -207 -63q-82 -64 -112 -177l561 1l-39 -220l-559 -1q-11 -114 48.5 -177t185.5 -63
564
+ q105 0 214 33q74 22 81 35z" />
565
+ <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="921"
566
+ d="M90 690h724l-46 -258h-724z" />
567
+ <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="1843"
568
+ d="M90 690h1645l-46 -258h-1645z" />
569
+ <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="700"
570
+ d="M514 856h-306l52 285l266 352h191l-153 -352z" />
571
+ <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="700"
572
+ d="M338 1493h306l-51 -285l-267 -352h-191l152 352z" />
573
+ <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="700"
574
+ d="M140 387h306l-50 -285l-267 -352h-192l153 352z" />
575
+ <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="1187"
576
+ d="M1001 856h-306l49 285l266 352h192l-152 -352zM514 856h-306l52 285l266 352h191l-153 -352z" />
577
+ <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="1187"
578
+ d="M822 1493h306l-50 -285l-265 -352h-192l151 352zM338 1493h306l-51 -285l-267 -352h-191l152 352z" />
579
+ <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="1187"
580
+ d="M625 387h306l-50 -285l-265 -352h-192l151 352zM140 387h306l-50 -285l-267 -352h-192l153 352z" />
581
+ <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="921"
582
+ d="M438 1493h297l-66 -381h260l-41 -238h-260l-188 -1071h-296l186 1071h-260l41 238h262z" />
583
+ <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="921"
584
+ d="M438 1493h297l-66 -381h260l-41 -238h-262l-79 -452h262l-42 -238h-260l-67 -381h-298l66 381h-259l42 238h260l79 452h-260l41 238h260z" />
585
+ <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="1178"
586
+ d="M266 762q0 74 23.5 139t69.5 115q48 51 106.5 77.5t124.5 26.5q65 0 124 -27t104 -77q47 -52 71 -116.5t24 -137.5q0 -74 -24.5 -139.5t-70.5 -116.5t-105 -78t-125 -27t-124.5 27t-104.5 78q-45 51 -69 116.5t-24 139.5z" />
587
+ <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="1843"
588
+ d="M724 387h324l-67 -387h-325zM153 387h324l-67 -387h-325zM1296 387h324l-68 -387h-324z" />
589
+ <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2680"
590
+ d="M2271 784q140 0 225.5 -85.5t85.5 -225.5q0 -223 -119.5 -362.5t-313.5 -139.5q-141 0 -226 86.5t-85 227.5q0 222 120 360.5t313 138.5zM2243 616q-78 0 -127.5 -84t-49.5 -217q0 -87 27.5 -130.5t83.5 -43.5q78 0 127.5 84t49.5 219q0 85 -28 128.5t-83 43.5zM1408 616
591
+ q-77 0 -127 -84t-50 -217q0 -87 27.5 -130.5t83.5 -43.5q78 0 127.5 84t49.5 219q0 85 -28.5 128.5t-82.5 43.5zM1434 784q141 0 226 -85.5t85 -225.5q0 -224 -119 -363t-312 -139q-141 0 -226 86.5t-85 227.5q0 222 119 360.5t312 138.5zM479 -29h-221l1112 1549h220z
592
+ M535 1520q140 0 225.5 -86t85.5 -226q0 -223 -120 -362t-313 -139q-141 0 -226 85t-85 226q0 222 120 362t313 140zM507 1352q-78 0 -127.5 -84.5t-49.5 -216.5q0 -88 27.5 -132.5t82.5 -44.5q78 0 127.5 85t49.5 221q0 84 -28 128t-82 44z" />
593
+ <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="759"
594
+ d="M654 1063l-44 -252l-311 -229l232 -222l-39 -223l-380 369l34 186z" />
595
+ <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="759"
596
+ d="M70 135l44 254l310 229l-230 222l38 223l378 -371l-31 -186z" />
597
+ <glyph glyph-name="Euro" unicode="&#x20ac;"
598
+ d="M1071 70q-112 -49 -215 -74t-194 -25q-222 0 -360 132t-172 374h-206l80 195h125q1 32 6 67t16 82h-158l77 195h140q88 231 270.5 367.5t404.5 136.5q94 0 189 -27.5t192 -83.5l-49 -309q-74 81 -151 119t-169 38q-101 0 -187 -62t-148 -179h448l-78 -195h-434
599
+ q-7 -34 -11.5 -70t-6.5 -79h394l-79 -195h-305q22 -119 92 -181.5t179 -62.5q83 0 176 43.5t187 124.5z" />
600
+ <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1843"
601
+ d="M1038 1493l107 -227l107 227h204v-578h-153v437l-123 -256h-68l-124 256v-437h-155v578h205zM732 1493v-143h-157v-435h-155v435h-154v143h466z" />
602
+ </font>
603
+ </defs></svg>
skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.ttf ADDED
Binary file
skin/frontend/base/default/css/DejaVuSansCondensed-BoldOblique.woff ADDED
Binary file
skin/frontend/base/default/css/absolut_pro_boldcondensed-webfont.ttf ADDED
Binary file
skin/frontend/base/default/css/absolut_pro_boldcondensed-webfont.woff ADDED
Binary file
skin/frontend/base/default/css/absolut_pro_bookcondensed-webfont.ttf ADDED
Binary file
skin/frontend/base/default/css/absolut_pro_bookcondensed-webfont.woff ADDED
Binary file
skin/frontend/base/default/css/bootstrap-responsive.css ADDED
@@ -0,0 +1,1109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap Responsive v2.3.2
3
+ *
4
+ * Copyright 2013 Twitter, Inc
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ * Designed and built with all the love in the world by @mdo and @fat.
9
+ */
10
+
11
+ .clearfix {
12
+ *zoom: 1;
13
+ }
14
+
15
+ .clearfix:before,
16
+ .clearfix:after {
17
+ display: table;
18
+ line-height: 0;
19
+ content: "";
20
+ }
21
+
22
+ .clearfix:after {
23
+ clear: both;
24
+ }
25
+
26
+ .hide-text {
27
+ font: 0/0 a;
28
+ color: transparent;
29
+ text-shadow: none;
30
+ background-color: transparent;
31
+ border: 0;
32
+ }
33
+
34
+ .input-block-level {
35
+ display: block;
36
+ width: 100%;
37
+ min-height: 30px;
38
+ -webkit-box-sizing: border-box;
39
+ -moz-box-sizing: border-box;
40
+ box-sizing: border-box;
41
+ }
42
+
43
+ @-ms-viewport {
44
+ width: device-width;
45
+ }
46
+
47
+ .hidden {
48
+ display: none;
49
+ visibility: hidden;
50
+ }
51
+
52
+ .visible-phone {
53
+ display: none !important;
54
+ }
55
+
56
+ .visible-tablet {
57
+ display: none !important;
58
+ }
59
+
60
+ .hidden-desktop {
61
+ display: none !important;
62
+ }
63
+
64
+ .visible-desktop {
65
+ display: inherit !important;
66
+ }
67
+
68
+ @media (min-width: 768px) and (max-width: 979px) {
69
+ .hidden-desktop {
70
+ display: inherit !important;
71
+ }
72
+ .visible-desktop {
73
+ display: none !important ;
74
+ }
75
+ .visible-tablet {
76
+ display: inherit !important;
77
+ }
78
+ .hidden-tablet {
79
+ display: none !important;
80
+ }
81
+ }
82
+
83
+ @media (max-width: 767px) {
84
+ .hidden-desktop {
85
+ display: inherit !important;
86
+ }
87
+ .visible-desktop {
88
+ display: none !important;
89
+ }
90
+ .visible-phone {
91
+ display: inherit !important;
92
+ }
93
+ .hidden-phone {
94
+ display: none !important;
95
+ }
96
+ }
97
+
98
+ .visible-print {
99
+ display: none !important;
100
+ }
101
+
102
+ @media print {
103
+ .visible-print {
104
+ display: inherit !important;
105
+ }
106
+ .hidden-print {
107
+ display: none !important;
108
+ }
109
+ }
110
+
111
+ @media (min-width: 1200px) {
112
+ .row {
113
+ margin-left: -30px;
114
+ *zoom: 1;
115
+ }
116
+ .row:before,
117
+ .row:after {
118
+ display: table;
119
+ line-height: 0;
120
+ content: "";
121
+ }
122
+ .row:after {
123
+ clear: both;
124
+ }
125
+ [class*="span"] {
126
+ float: left;
127
+ min-height: 1px;
128
+ margin-left: 30px;
129
+ }
130
+ .container,
131
+ .navbar-static-top .container,
132
+ .navbar-fixed-top .container,
133
+ .navbar-fixed-bottom .container {
134
+ width: 1170px;
135
+ }
136
+ .span12 {
137
+ width: 1170px;
138
+ }
139
+ .span11 {
140
+ width: 1070px;
141
+ }
142
+ .span10 {
143
+ width: 970px;
144
+ }
145
+ .span9 {
146
+ width: 870px;
147
+ }
148
+ .span8 {
149
+ width: 770px;
150
+ }
151
+ .span7 {
152
+ width: 670px;
153
+ }
154
+ .span6 {
155
+ width: 570px;
156
+ }
157
+ .span5 {
158
+ width: 470px;
159
+ }
160
+ .span4 {
161
+ width: 370px;
162
+ }
163
+ .span3 {
164
+ width: 270px;
165
+ }
166
+ .span2 {
167
+ width: 170px;
168
+ }
169
+ .span1 {
170
+ width: 70px;
171
+ }
172
+ .offset12 {
173
+ margin-left: 1230px;
174
+ }
175
+ .offset11 {
176
+ margin-left: 1130px;
177
+ }
178
+ .offset10 {
179
+ margin-left: 1030px;
180
+ }
181
+ .offset9 {
182
+ margin-left: 930px;
183
+ }
184
+ .offset8 {
185
+ margin-left: 830px;
186
+ }
187
+ .offset7 {
188
+ margin-left: 730px;
189
+ }
190
+ .offset6 {
191
+ margin-left: 630px;
192
+ }
193
+ .offset5 {
194
+ margin-left: 530px;
195
+ }
196
+ .offset4 {
197
+ margin-left: 430px;
198
+ }
199
+ .offset3 {
200
+ margin-left: 330px;
201
+ }
202
+ .offset2 {
203
+ margin-left: 230px;
204
+ }
205
+ .offset1 {
206
+ margin-left: 130px;
207
+ }
208
+ .row-fluid {
209
+ width: 100%;
210
+ *zoom: 1;
211
+ }
212
+ .row-fluid:before,
213
+ .row-fluid:after {
214
+ display: table;
215
+ line-height: 0;
216
+ content: "";
217
+ }
218
+ .row-fluid:after {
219
+ clear: both;
220
+ }
221
+ .row-fluid [class*="span"] {
222
+ display: block;
223
+ float: left;
224
+ width: 100%;
225
+ min-height: 30px;
226
+ margin-left: 2.564102564102564%;
227
+ *margin-left: 2.5109110747408616%;
228
+ -webkit-box-sizing: border-box;
229
+ -moz-box-sizing: border-box;
230
+ box-sizing: border-box;
231
+ }
232
+ .row-fluid [class*="span"]:first-child {
233
+ margin-left: 0;
234
+ }
235
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
236
+ margin-left: 2.564102564102564%;
237
+ }
238
+ .row-fluid .span12 {
239
+ width: 100%;
240
+ *width: 99.94680851063829%;
241
+ }
242
+ .row-fluid .span11 {
243
+ width: 91.45299145299145%;
244
+ *width: 91.39979996362975%;
245
+ }
246
+ .row-fluid .span10 {
247
+ width: 82.90598290598291%;
248
+ *width: 82.8527914166212%;
249
+ }
250
+ .row-fluid .span9 {
251
+ width: 74.35897435897436%;
252
+ *width: 74.30578286961266%;
253
+ }
254
+ .row-fluid .span8 {
255
+ width: 65.81196581196582%;
256
+ *width: 65.75877432260411%;
257
+ }
258
+ .row-fluid .span7 {
259
+ width: 57.26495726495726%;
260
+ *width: 57.21176577559556%;
261
+ }
262
+ .row-fluid .span6 {
263
+ width: 48.717948717948715%;
264
+ *width: 48.664757228587014%;
265
+ }
266
+ .row-fluid .span5 {
267
+ width: 40.17094017094017%;
268
+ *width: 40.11774868157847%;
269
+ }
270
+ .row-fluid .span4 {
271
+ width: 31.623931623931625%;
272
+ *width: 31.570740134569924%;
273
+ }
274
+ .row-fluid .span3 {
275
+ width: 23.076923076923077%;
276
+ *width: 23.023731587561375%;
277
+ }
278
+ .row-fluid .span2 {
279
+ width: 14.52991452991453%;
280
+ *width: 14.476723040552828%;
281
+ }
282
+ .row-fluid .span1 {
283
+ width: 5.982905982905983%;
284
+ *width: 5.929714493544281%;
285
+ }
286
+ .row-fluid .offset12 {
287
+ margin-left: 105.12820512820512%;
288
+ *margin-left: 105.02182214948171%;
289
+ }
290
+ .row-fluid .offset12:first-child {
291
+ margin-left: 102.56410256410257%;
292
+ *margin-left: 102.45771958537915%;
293
+ }
294
+ .row-fluid .offset11 {
295
+ margin-left: 96.58119658119658%;
296
+ *margin-left: 96.47481360247316%;
297
+ }
298
+ .row-fluid .offset11:first-child {
299
+ margin-left: 94.01709401709402%;
300
+ *margin-left: 93.91071103837061%;
301
+ }
302
+ .row-fluid .offset10 {
303
+ margin-left: 88.03418803418803%;
304
+ *margin-left: 87.92780505546462%;
305
+ }
306
+ .row-fluid .offset10:first-child {
307
+ margin-left: 85.47008547008548%;
308
+ *margin-left: 85.36370249136206%;
309
+ }
310
+ .row-fluid .offset9 {
311
+ margin-left: 79.48717948717949%;
312
+ *margin-left: 79.38079650845607%;
313
+ }
314
+ .row-fluid .offset9:first-child {
315
+ margin-left: 76.92307692307693%;
316
+ *margin-left: 76.81669394435352%;
317
+ }
318
+ .row-fluid .offset8 {
319
+ margin-left: 70.94017094017094%;
320
+ *margin-left: 70.83378796144753%;
321
+ }
322
+ .row-fluid .offset8:first-child {
323
+ margin-left: 68.37606837606839%;
324
+ *margin-left: 68.26968539734497%;
325
+ }
326
+ .row-fluid .offset7 {
327
+ margin-left: 62.393162393162385%;
328
+ *margin-left: 62.28677941443899%;
329
+ }
330
+ .row-fluid .offset7:first-child {
331
+ margin-left: 59.82905982905982%;
332
+ *margin-left: 59.72267685033642%;
333
+ }
334
+ .row-fluid .offset6 {
335
+ margin-left: 53.84615384615384%;
336
+ *margin-left: 53.739770867430444%;
337
+ }
338
+ .row-fluid .offset6:first-child {
339
+ margin-left: 51.28205128205128%;
340
+ *margin-left: 51.175668303327875%;
341
+ }
342
+ .row-fluid .offset5 {
343
+ margin-left: 45.299145299145295%;
344
+ *margin-left: 45.1927623204219%;
345
+ }
346
+ .row-fluid .offset5:first-child {
347
+ margin-left: 42.73504273504273%;
348
+ *margin-left: 42.62865975631933%;
349
+ }
350
+ .row-fluid .offset4 {
351
+ margin-left: 36.75213675213675%;
352
+ *margin-left: 36.645753773413354%;
353
+ }
354
+ .row-fluid .offset4:first-child {
355
+ margin-left: 34.18803418803419%;
356
+ *margin-left: 34.081651209310785%;
357
+ }
358
+ .row-fluid .offset3 {
359
+ margin-left: 28.205128205128204%;
360
+ *margin-left: 28.0987452264048%;
361
+ }
362
+ .row-fluid .offset3:first-child {
363
+ margin-left: 25.641025641025642%;
364
+ *margin-left: 25.53464266230224%;
365
+ }
366
+ .row-fluid .offset2 {
367
+ margin-left: 19.65811965811966%;
368
+ *margin-left: 19.551736679396257%;
369
+ }
370
+ .row-fluid .offset2:first-child {
371
+ margin-left: 17.094017094017094%;
372
+ *margin-left: 16.98763411529369%;
373
+ }
374
+ .row-fluid .offset1 {
375
+ margin-left: 11.11111111111111%;
376
+ *margin-left: 11.004728132387708%;
377
+ }
378
+ .row-fluid .offset1:first-child {
379
+ margin-left: 8.547008547008547%;
380
+ *margin-left: 8.440625568285142%;
381
+ }
382
+ input,
383
+ textarea,
384
+ .uneditable-input {
385
+ margin-left: 0;
386
+ }
387
+ .controls-row [class*="span"] + [class*="span"] {
388
+ margin-left: 30px;
389
+ }
390
+ input.span12,
391
+ textarea.span12,
392
+ .uneditable-input.span12 {
393
+ width: 1156px;
394
+ }
395
+ input.span11,
396
+ textarea.span11,
397
+ .uneditable-input.span11 {
398
+ width: 1056px;
399
+ }
400
+ input.span10,
401
+ textarea.span10,
402
+ .uneditable-input.span10 {
403
+ width: 956px;
404
+ }
405
+ input.span9,
406
+ textarea.span9,
407
+ .uneditable-input.span9 {
408
+ width: 856px;
409
+ }
410
+ input.span8,
411
+ textarea.span8,
412
+ .uneditable-input.span8 {
413
+ width: 756px;
414
+ }
415
+ input.span7,
416
+ textarea.span7,
417
+ .uneditable-input.span7 {
418
+ width: 656px;
419
+ }
420
+ input.span6,
421
+ textarea.span6,
422
+ .uneditable-input.span6 {
423
+ width: 556px;
424
+ }
425
+ input.span5,
426
+ textarea.span5,
427
+ .uneditable-input.span5 {
428
+ width: 456px;
429
+ }
430
+ input.span4,
431
+ textarea.span4,
432
+ .uneditable-input.span4 {
433
+ width: 356px;
434
+ }
435
+ input.span3,
436
+ textarea.span3,
437
+ .uneditable-input.span3 {
438
+ width: 256px;
439
+ }
440
+ input.span2,
441
+ textarea.span2,
442
+ .uneditable-input.span2 {
443
+ width: 156px;
444
+ }
445
+ input.span1,
446
+ textarea.span1,
447
+ .uneditable-input.span1 {
448
+ width: 56px;
449
+ }
450
+ .thumbnails {
451
+ margin-left: -30px;
452
+ }
453
+ .thumbnails > li {
454
+ margin-left: 30px;
455
+ }
456
+ .row-fluid .thumbnails {
457
+ margin-left: 0;
458
+ }
459
+ }
460
+
461
+ @media (min-width: 768px) and (max-width: 979px) {
462
+ .row {
463
+ margin-left: -20px;
464
+ *zoom: 1;
465
+ }
466
+ .row:before,
467
+ .row:after {
468
+ display: table;
469
+ line-height: 0;
470
+ content: "";
471
+ }
472
+ .row:after {
473
+ clear: both;
474
+ }
475
+ [class*="span"] {
476
+ float: left;
477
+ min-height: 1px;
478
+ margin-left: 20px;
479
+ }
480
+ .container,
481
+ .navbar-static-top .container,
482
+ .navbar-fixed-top .container,
483
+ .navbar-fixed-bottom .container {
484
+ width: 724px;
485
+ }
486
+ .span12 {
487
+ width: 724px;
488
+ }
489
+ .span11 {
490
+ width: 662px;
491
+ }
492
+ .span10 {
493
+ width: 600px;
494
+ }
495
+ .span9 {
496
+ width: 538px;
497
+ }
498
+ .span8 {
499
+ width: 476px;
500
+ }
501
+ .span7 {
502
+ width: 414px;
503
+ }
504
+ .span6 {
505
+ width: 352px;
506
+ }
507
+ .span5 {
508
+ width: 290px;
509
+ }
510
+ .span4 {
511
+ width: 228px;
512
+ }
513
+ .span3 {
514
+ width: 166px;
515
+ }
516
+ .span2 {
517
+ width: 104px;
518
+ }
519
+ .span1 {
520
+ width: 42px;
521
+ }
522
+ .offset12 {
523
+ margin-left: 764px;
524
+ }
525
+ .offset11 {
526
+ margin-left: 702px;
527
+ }
528
+ .offset10 {
529
+ margin-left: 640px;
530
+ }
531
+ .offset9 {
532
+ margin-left: 578px;
533
+ }
534
+ .offset8 {
535
+ margin-left: 516px;
536
+ }
537
+ .offset7 {
538
+ margin-left: 454px;
539
+ }
540
+ .offset6 {
541
+ margin-left: 392px;
542
+ }
543
+ .offset5 {
544
+ margin-left: 330px;
545
+ }
546
+ .offset4 {
547
+ margin-left: 268px;
548
+ }
549
+ .offset3 {
550
+ margin-left: 206px;
551
+ }
552
+ .offset2 {
553
+ margin-left: 144px;
554
+ }
555
+ .offset1 {
556
+ margin-left: 82px;
557
+ }
558
+ .row-fluid {
559
+ width: 100%;
560
+ *zoom: 1;
561
+ }
562
+ .row-fluid:before,
563
+ .row-fluid:after {
564
+ display: table;
565
+ line-height: 0;
566
+ content: "";
567
+ }
568
+ .row-fluid:after {
569
+ clear: both;
570
+ }
571
+ .row-fluid [class*="span"] {
572
+ display: block;
573
+ float: left;
574
+ width: 100%;
575
+ min-height: 30px;
576
+ margin-left: 2.7624309392265194%;
577
+ *margin-left: 2.709239449864817%;
578
+ -webkit-box-sizing: border-box;
579
+ -moz-box-sizing: border-box;
580
+ box-sizing: border-box;
581
+ }
582
+ .row-fluid [class*="span"]:first-child {
583
+ margin-left: 0;
584
+ }
585
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
586
+ margin-left: 2.7624309392265194%;
587
+ }
588
+ .row-fluid .span12 {
589
+ width: 100%;
590
+ *width: 99.94680851063829%;
591
+ }
592
+ .row-fluid .span11 {
593
+ width: 91.43646408839778%;
594
+ *width: 91.38327259903608%;
595
+ }
596
+ .row-fluid .span10 {
597
+ width: 82.87292817679558%;
598
+ *width: 82.81973668743387%;
599
+ }
600
+ .row-fluid .span9 {
601
+ width: 74.30939226519337%;
602
+ *width: 74.25620077583166%;
603
+ }
604
+ .row-fluid .span8 {
605
+ width: 65.74585635359117%;
606
+ *width: 65.69266486422946%;
607
+ }
608
+ .row-fluid .span7 {
609
+ width: 57.18232044198895%;
610
+ *width: 57.12912895262725%;
611
+ }
612
+ .row-fluid .span6 {
613
+ width: 48.61878453038674%;
614
+ *width: 48.56559304102504%;
615
+ }
616
+ .row-fluid .span5 {
617
+ width: 40.05524861878453%;
618
+ *width: 40.00205712942283%;
619
+ }
620
+ .row-fluid .span4 {
621
+ width: 31.491712707182323%;
622
+ *width: 31.43852121782062%;
623
+ }
624
+ .row-fluid .span3 {
625
+ width: 22.92817679558011%;
626
+ *width: 22.87498530621841%;
627
+ }
628
+ .row-fluid .span2 {
629
+ width: 14.3646408839779%;
630
+ *width: 14.311449394616199%;
631
+ }
632
+ .row-fluid .span1 {
633
+ width: 5.801104972375691%;
634
+ *width: 5.747913483013988%;
635
+ }
636
+ .row-fluid .offset12 {
637
+ margin-left: 105.52486187845304%;
638
+ *margin-left: 105.41847889972962%;
639
+ }
640
+ .row-fluid .offset12:first-child {
641
+ margin-left: 102.76243093922652%;
642
+ *margin-left: 102.6560479605031%;
643
+ }
644
+ .row-fluid .offset11 {
645
+ margin-left: 96.96132596685082%;
646
+ *margin-left: 96.8549429881274%;
647
+ }
648
+ .row-fluid .offset11:first-child {
649
+ margin-left: 94.1988950276243%;
650
+ *margin-left: 94.09251204890089%;
651
+ }
652
+ .row-fluid .offset10 {
653
+ margin-left: 88.39779005524862%;
654
+ *margin-left: 88.2914070765252%;
655
+ }
656
+ .row-fluid .offset10:first-child {
657
+ margin-left: 85.6353591160221%;
658
+ *margin-left: 85.52897613729868%;
659
+ }
660
+ .row-fluid .offset9 {
661
+ margin-left: 79.8342541436464%;
662
+ *margin-left: 79.72787116492299%;
663
+ }
664
+ .row-fluid .offset9:first-child {
665
+ margin-left: 77.07182320441989%;
666
+ *margin-left: 76.96544022569647%;
667
+ }
668
+ .row-fluid .offset8 {
669
+ margin-left: 71.2707182320442%;
670
+ *margin-left: 71.16433525332079%;
671
+ }
672
+ .row-fluid .offset8:first-child {
673
+ margin-left: 68.50828729281768%;
674
+ *margin-left: 68.40190431409427%;
675
+ }
676
+ .row-fluid .offset7 {
677
+ margin-left: 62.70718232044199%;
678
+ *margin-left: 62.600799341718584%;
679
+ }
680
+ .row-fluid .offset7:first-child {
681
+ margin-left: 59.94475138121547%;
682
+ *margin-left: 59.838368402492065%;
683
+ }
684
+ .row-fluid .offset6 {
685
+ margin-left: 54.14364640883978%;
686
+ *margin-left: 54.037263430116376%;
687
+ }
688
+ .row-fluid .offset6:first-child {
689
+ margin-left: 51.38121546961326%;
690
+ *margin-left: 51.27483249088986%;
691
+ }
692
+ .row-fluid .offset5 {
693
+ margin-left: 45.58011049723757%;
694
+ *margin-left: 45.47372751851417%;
695
+ }
696
+ .row-fluid .offset5:first-child {
697
+ margin-left: 42.81767955801105%;
698
+ *margin-left: 42.71129657928765%;
699
+ }
700
+ .row-fluid .offset4 {
701
+ margin-left: 37.01657458563536%;
702
+ *margin-left: 36.91019160691196%;
703
+ }
704
+ .row-fluid .offset4:first-child {
705
+ margin-left: 34.25414364640884%;
706
+ *margin-left: 34.14776066768544%;
707
+ }
708
+ .row-fluid .offset3 {
709
+ margin-left: 28.45303867403315%;
710
+ *margin-left: 28.346655695309746%;
711
+ }
712
+ .row-fluid .offset3:first-child {
713
+ margin-left: 25.69060773480663%;
714
+ *margin-left: 25.584224756083227%;
715
+ }
716
+ .row-fluid .offset2 {
717
+ margin-left: 19.88950276243094%;
718
+ *margin-left: 19.783119783707537%;
719
+ }
720
+ .row-fluid .offset2:first-child {
721
+ margin-left: 17.12707182320442%;
722
+ *margin-left: 17.02068884448102%;
723
+ }
724
+ .row-fluid .offset1 {
725
+ margin-left: 11.32596685082873%;
726
+ *margin-left: 11.219583872105325%;
727
+ }
728
+ .row-fluid .offset1:first-child {
729
+ margin-left: 8.56353591160221%;
730
+ *margin-left: 8.457152932878806%;
731
+ }
732
+ input,
733
+ textarea,
734
+ .uneditable-input {
735
+ margin-left: 0;
736
+ }
737
+ .controls-row [class*="span"] + [class*="span"] {
738
+ margin-left: 20px;
739
+ }
740
+ input.span12,
741
+ textarea.span12,
742
+ .uneditable-input.span12 {
743
+ width: 710px;
744
+ }
745
+ input.span11,
746
+ textarea.span11,
747
+ .uneditable-input.span11 {
748
+ width: 648px;
749
+ }
750
+ input.span10,
751
+ textarea.span10,
752
+ .uneditable-input.span10 {
753
+ width: 586px;
754
+ }
755
+ input.span9,
756
+ textarea.span9,
757
+ .uneditable-input.span9 {
758
+ width: 524px;
759
+ }
760
+ input.span8,
761
+ textarea.span8,
762
+ .uneditable-input.span8 {
763
+ width: 462px;
764
+ }
765
+ input.span7,
766
+ textarea.span7,
767
+ .uneditable-input.span7 {
768
+ width: 400px;
769
+ }
770
+ input.span6,
771
+ textarea.span6,
772
+ .uneditable-input.span6 {
773
+ width: 338px;
774
+ }
775
+ input.span5,
776
+ textarea.span5,
777
+ .uneditable-input.span5 {
778
+ width: 276px;
779
+ }
780
+ input.span4,
781
+ textarea.span4,
782
+ .uneditable-input.span4 {
783
+ width: 214px;
784
+ }
785
+ input.span3,
786
+ textarea.span3,
787
+ .uneditable-input.span3 {
788
+ width: 152px;
789
+ }
790
+ input.span2,
791
+ textarea.span2,
792
+ .uneditable-input.span2 {
793
+ width: 90px;
794
+ }
795
+ input.span1,
796
+ textarea.span1,
797
+ .uneditable-input.span1 {
798
+ width: 28px;
799
+ }
800
+ }
801
+
802
+ @media (max-width: 767px) {
803
+ body {
804
+ padding-right: 20px;
805
+ padding-left: 20px;
806
+ }
807
+ .navbar-fixed-top,
808
+ .navbar-fixed-bottom,
809
+ .navbar-static-top {
810
+ margin-right: -20px;
811
+ margin-left: -20px;
812
+ }
813
+ .container-fluid {
814
+ padding: 0;
815
+ }
816
+ .dl-horizontal dt {
817
+ float: none;
818
+ width: auto;
819
+ clear: none;
820
+ text-align: left;
821
+ }
822
+ .dl-horizontal dd {
823
+ margin-left: 0;
824
+ }
825
+ .container {
826
+ width: auto;
827
+ }
828
+ .row-fluid {
829
+ width: 100%;
830
+ }
831
+ .row,
832
+ .thumbnails {
833
+ margin-left: 0;
834
+ }
835
+ .thumbnails > li {
836
+ float: none;
837
+ margin-left: 0;
838
+ }
839
+ [class*="span"],
840
+ .uneditable-input[class*="span"],
841
+ .row-fluid [class*="span"] {
842
+ display: block;
843
+ float: none;
844
+ width: 100%;
845
+ margin-left: 0;
846
+ -webkit-box-sizing: border-box;
847
+ -moz-box-sizing: border-box;
848
+ box-sizing: border-box;
849
+ }
850
+ .span12,
851
+ .row-fluid .span12 {
852
+ width: 100%;
853
+ -webkit-box-sizing: border-box;
854
+ -moz-box-sizing: border-box;
855
+ box-sizing: border-box;
856
+ }
857
+ .row-fluid [class*="offset"]:first-child {
858
+ margin-left: 0;
859
+ }
860
+ .input-large,
861
+ .input-xlarge,
862
+ .input-xxlarge,
863
+ input[class*="span"],
864
+ select[class*="span"],
865
+ textarea[class*="span"],
866
+ .uneditable-input {
867
+ display: block;
868
+ width: 100%;
869
+ min-height: 30px;
870
+ -webkit-box-sizing: border-box;
871
+ -moz-box-sizing: border-box;
872
+ box-sizing: border-box;
873
+ }
874
+ .input-prepend input,
875
+ .input-append input,
876
+ .input-prepend input[class*="span"],
877
+ .input-append input[class*="span"] {
878
+ display: inline-block;
879
+ width: auto;
880
+ }
881
+ .controls-row [class*="span"] + [class*="span"] {
882
+ margin-left: 0;
883
+ }
884
+ .modal {
885
+ position: fixed;
886
+ top: 20px;
887
+ right: 20px;
888
+ left: 20px;
889
+ width: auto;
890
+ margin: 0;
891
+ }
892
+ .modal.fade {
893
+ top: -100px;
894
+ }
895
+ .modal.fade.in {
896
+ top: 20px;
897
+ }
898
+ }
899
+
900
+ @media (max-width: 480px) {
901
+ .nav-collapse {
902
+ -webkit-transform: translate3d(0, 0, 0);
903
+ }
904
+ .page-header h1 small {
905
+ display: block;
906
+ line-height: 20px;
907
+ }
908
+ input[type="checkbox"],
909
+ input[type="radio"] {
910
+ border: 1px solid #ccc;
911
+ }
912
+ .form-horizontal .control-label {
913
+ float: none;
914
+ width: auto;
915
+ padding-top: 0;
916
+ text-align: left;
917
+ }
918
+ .form-horizontal .controls {
919
+ margin-left: 0;
920
+ }
921
+ .form-horizontal .control-list {
922
+ padding-top: 0;
923
+ }
924
+ .form-horizontal .form-actions {
925
+ padding-right: 10px;
926
+ padding-left: 10px;
927
+ }
928
+ .media .pull-left,
929
+ .media .pull-right {
930
+ display: block;
931
+ float: none;
932
+ margin-bottom: 10px;
933
+ }
934
+ .media-object {
935
+ margin-right: 0;
936
+ margin-left: 0;
937
+ }
938
+ .modal {
939
+ top: 10px;
940
+ right: 10px;
941
+ left: 10px;
942
+ }
943
+ .modal-header .close {
944
+ padding: 10px;
945
+ margin: -10px;
946
+ }
947
+ .carousel-caption {
948
+ position: static;
949
+ }
950
+ }
951
+
952
+ @media (max-width: 979px) {
953
+ body {
954
+ padding-top: 0;
955
+ }
956
+ .navbar-fixed-top,
957
+ .navbar-fixed-bottom {
958
+ position: static;
959
+ }
960
+ .navbar-fixed-top {
961
+ margin-bottom: 20px;
962
+ }
963
+ .navbar-fixed-bottom {
964
+ margin-top: 20px;
965
+ }
966
+ .navbar-fixed-top .navbar-inner,
967
+ .navbar-fixed-bottom .navbar-inner {
968
+ padding: 5px;
969
+ }
970
+ .navbar .container {
971
+ width: auto;
972
+ padding: 0;
973
+ }
974
+ .navbar .brand {
975
+ padding-right: 10px;
976
+ padding-left: 10px;
977
+ margin: 0 0 0 -5px;
978
+ }
979
+ .nav-collapse {
980
+ clear: both;
981
+ }
982
+ .nav-collapse .nav {
983
+ float: none;
984
+ margin: 0 0 10px;
985
+ }
986
+ .nav-collapse .nav > li {
987
+ float: none;
988
+ }
989
+ .nav-collapse .nav > li > a {
990
+ margin-bottom: 2px;
991
+ }
992
+ .nav-collapse .nav > .divider-vertical {
993
+ display: none;
994
+ }
995
+ .nav-collapse .nav .nav-header {
996
+ color: #777777;
997
+ text-shadow: none;
998
+ }
999
+ .nav-collapse .nav > li > a,
1000
+ .nav-collapse .dropdown-menu a {
1001
+ padding: 9px 15px;
1002
+ font-weight: bold;
1003
+ color: #777777;
1004
+ -webkit-border-radius: 3px;
1005
+ -moz-border-radius: 3px;
1006
+ border-radius: 3px;
1007
+ }
1008
+ .nav-collapse .btn {
1009
+ padding: 4px 10px 4px;
1010
+ font-weight: normal;
1011
+ -webkit-border-radius: 4px;
1012
+ -moz-border-radius: 4px;
1013
+ border-radius: 4px;
1014
+ }
1015
+ .nav-collapse .dropdown-menu li + li a {
1016
+ margin-bottom: 2px;
1017
+ }
1018
+ .nav-collapse .nav > li > a:hover,
1019
+ .nav-collapse .nav > li > a:focus,
1020
+ .nav-collapse .dropdown-menu a:hover,
1021
+ .nav-collapse .dropdown-menu a:focus {
1022
+ background-color: #f2f2f2;
1023
+ }
1024
+ .navbar-inverse .nav-collapse .nav > li > a,
1025
+ .navbar-inverse .nav-collapse .dropdown-menu a {
1026
+ color: #999999;
1027
+ }
1028
+ .navbar-inverse .nav-collapse .nav > li > a:hover,
1029
+ .navbar-inverse .nav-collapse .nav > li > a:focus,
1030
+ .navbar-inverse .nav-collapse .dropdown-menu a:hover,
1031
+ .navbar-inverse .nav-collapse .dropdown-menu a:focus {
1032
+ background-color: #111111;
1033
+ }
1034
+ .nav-collapse.in .btn-group {
1035
+ padding: 0;
1036
+ margin-top: 5px;
1037
+ }
1038
+ .nav-collapse .dropdown-menu {
1039
+ position: static;
1040
+ top: auto;
1041
+ left: auto;
1042
+ display: none;
1043
+ float: none;
1044
+ max-width: none;
1045
+ padding: 0;
1046
+ margin: 0 15px;
1047
+ background-color: transparent;
1048
+ border: none;
1049
+ -webkit-border-radius: 0;
1050
+ -moz-border-radius: 0;
1051
+ border-radius: 0;
1052
+ -webkit-box-shadow: none;
1053
+ -moz-box-shadow: none;
1054
+ box-shadow: none;
1055
+ }
1056
+ .nav-collapse .open > .dropdown-menu {
1057
+ display: block;
1058
+ }
1059
+ .nav-collapse .dropdown-menu:before,
1060
+ .nav-collapse .dropdown-menu:after {
1061
+ display: none;
1062
+ }
1063
+ .nav-collapse .dropdown-menu .divider {
1064
+ display: none;
1065
+ }
1066
+ .nav-collapse .nav > li > .dropdown-menu:before,
1067
+ .nav-collapse .nav > li > .dropdown-menu:after {
1068
+ display: none;
1069
+ }
1070
+ .nav-collapse .navbar-form,
1071
+ .nav-collapse .navbar-search {
1072
+ float: none;
1073
+ padding: 10px 15px;
1074
+ margin: 10px 0;
1075
+ border-top: 1px solid #f2f2f2;
1076
+ border-bottom: 1px solid #f2f2f2;
1077
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
1078
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
1079
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
1080
+ }
1081
+ .navbar-inverse .nav-collapse .navbar-form,
1082
+ .navbar-inverse .nav-collapse .navbar-search {
1083
+ border-top-color: #111111;
1084
+ border-bottom-color: #111111;
1085
+ }
1086
+ .navbar .nav-collapse .nav.pull-right {
1087
+ float: none;
1088
+ margin-left: 0;
1089
+ }
1090
+ .nav-collapse,
1091
+ .nav-collapse.collapse {
1092
+ height: 0;
1093
+ overflow: hidden;
1094
+ }
1095
+ .navbar .btn-navbar {
1096
+ display: block;
1097
+ }
1098
+ .navbar-static .navbar-inner {
1099
+ padding-right: 10px;
1100
+ padding-left: 10px;
1101
+ }
1102
+ }
1103
+
1104
+ @media (min-width: 980px) {
1105
+ .nav-collapse.collapse {
1106
+ height: auto !important;
1107
+ overflow: visible !important;
1108
+ }
1109
+ }
skin/frontend/base/default/css/bootstrap-responsive.min.css ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap Responsive v2.3.2
3
+ *
4
+ * Copyright 2013 Twitter, Inc
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ * Designed and built with all the love in the world by @mdo and @fat.
9
+ */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@-ms-viewport{width:device-width}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:inherit!important}.hidden-print{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="offset"]:first-child{margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade{top:-100px}.modal.fade.in{top:20px}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.media .pull-left,.media .pull-right{display:block;float:none;margin-bottom:10px}.media-object{margin-right:0;margin-left:0}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:none;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .open>.dropdown-menu{display:block}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}}
skin/frontend/base/default/css/bootstrap.css ADDED
@@ -0,0 +1,6167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v2.3.2
3
+ *
4
+ * Copyright 2013 Twitter, Inc
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ * Designed and built with all the love in the world by @mdo and @fat.
9
+ */
10
+
11
+ .clearfix {
12
+ *zoom: 1;
13
+ }
14
+
15
+ .clearfix:before,
16
+ .clearfix:after {
17
+ display: table;
18
+ line-height: 0;
19
+ content: "";
20
+ }
21
+
22
+ .clearfix:after {
23
+ clear: both;
24
+ }
25
+
26
+ .hide-text {
27
+ font: 0/0 a;
28
+ color: transparent;
29
+ text-shadow: none;
30
+ background-color: transparent;
31
+ border: 0;
32
+ }
33
+
34
+ .input-block-level {
35
+ display: block;
36
+ width: 100%;
37
+ min-height: 30px;
38
+ -webkit-box-sizing: border-box;
39
+ -moz-box-sizing: border-box;
40
+ box-sizing: border-box;
41
+ }
42
+
43
+ article,
44
+ aside,
45
+ details,
46
+ figcaption,
47
+ figure,
48
+ footer,
49
+ header,
50
+ hgroup,
51
+ nav,
52
+ section {
53
+ display: block;
54
+ }
55
+
56
+ audio,
57
+ canvas,
58
+ video {
59
+ display: inline-block;
60
+ *display: inline;
61
+ *zoom: 1;
62
+ }
63
+
64
+ audio:not([controls]) {
65
+ display: none;
66
+ }
67
+
68
+ html {
69
+ font-size: 100%;
70
+ -webkit-text-size-adjust: 100%;
71
+ -ms-text-size-adjust: 100%;
72
+ }
73
+
74
+ a:focus {
75
+ outline: thin dotted #333;
76
+ outline: 5px auto -webkit-focus-ring-color;
77
+ outline-offset: -2px;
78
+ }
79
+
80
+ a:hover,
81
+ a:active {
82
+ outline: 0;
83
+ }
84
+
85
+ sub,
86
+ sup {
87
+ position: relative;
88
+ font-size: 75%;
89
+ line-height: 0;
90
+ vertical-align: baseline;
91
+ }
92
+
93
+ sup {
94
+ top: -0.5em;
95
+ }
96
+
97
+ sub {
98
+ bottom: -0.25em;
99
+ }
100
+
101
+ img {
102
+ width: auto\9;
103
+ height: auto;
104
+ max-width: 100%;
105
+ vertical-align: middle;
106
+ border: 0;
107
+ -ms-interpolation-mode: bicubic;
108
+ }
109
+
110
+ #map_canvas img,
111
+ .google-maps img {
112
+ max-width: none;
113
+ }
114
+
115
+ button,
116
+ input,
117
+ select,
118
+ textarea {
119
+ margin: 0;
120
+ font-size: 100%;
121
+ vertical-align: middle;
122
+ }
123
+
124
+ button,
125
+ input {
126
+ *overflow: visible;
127
+ line-height: normal;
128
+ }
129
+
130
+ button::-moz-focus-inner,
131
+ input::-moz-focus-inner {
132
+ padding: 0;
133
+ border: 0;
134
+ }
135
+
136
+ button,
137
+ html input[type="button"],
138
+ input[type="reset"],
139
+ input[type="submit"] {
140
+ cursor: pointer;
141
+ -webkit-appearance: button;
142
+ }
143
+
144
+ label,
145
+ select,
146
+ button,
147
+ input[type="button"],
148
+ input[type="reset"],
149
+ input[type="submit"],
150
+ input[type="radio"],
151
+ input[type="checkbox"] {
152
+ cursor: pointer;
153
+ }
154
+
155
+ input[type="search"] {
156
+ -webkit-box-sizing: content-box;
157
+ -moz-box-sizing: content-box;
158
+ box-sizing: content-box;
159
+ -webkit-appearance: textfield;
160
+ }
161
+
162
+ input[type="search"]::-webkit-search-decoration,
163
+ input[type="search"]::-webkit-search-cancel-button {
164
+ -webkit-appearance: none;
165
+ }
166
+
167
+ textarea {
168
+ overflow: auto;
169
+ vertical-align: top;
170
+ }
171
+
172
+ @media print {
173
+ * {
174
+ color: #000 !important;
175
+ text-shadow: none !important;
176
+ background: transparent !important;
177
+ box-shadow: none !important;
178
+ }
179
+ a,
180
+ a:visited {
181
+ text-decoration: underline;
182
+ }
183
+ a[href]:after {
184
+ content: " (" attr(href) ")";
185
+ }
186
+ abbr[title]:after {
187
+ content: " (" attr(title) ")";
188
+ }
189
+ .ir a:after,
190
+ a[href^="javascript:"]:after,
191
+ a[href^="#"]:after {
192
+ content: "";
193
+ }
194
+ pre,
195
+ blockquote {
196
+ border: 1px solid #999;
197
+ page-break-inside: avoid;
198
+ }
199
+ thead {
200
+ display: table-header-group;
201
+ }
202
+ tr,
203
+ img {
204
+ page-break-inside: avoid;
205
+ }
206
+ img {
207
+ max-width: 100% !important;
208
+ }
209
+ @page {
210
+ margin: 0.5cm;
211
+ }
212
+ p,
213
+ h2,
214
+ h3 {
215
+ orphans: 3;
216
+ widows: 3;
217
+ }
218
+ h2,
219
+ h3 {
220
+ page-break-after: avoid;
221
+ }
222
+ }
223
+
224
+ body {
225
+ margin: 0;
226
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
227
+ font-size: 14px;
228
+ line-height: 20px;
229
+ color: #333333;
230
+ background-color: #ffffff;
231
+ }
232
+
233
+ a {
234
+ color: #0088cc;
235
+ text-decoration: none;
236
+ }
237
+
238
+ a:hover,
239
+ a:focus {
240
+ color: #005580;
241
+ text-decoration: underline;
242
+ }
243
+
244
+ .img-rounded {
245
+ -webkit-border-radius: 6px;
246
+ -moz-border-radius: 6px;
247
+ border-radius: 6px;
248
+ }
249
+
250
+ .img-polaroid {
251
+ padding: 4px;
252
+ background-color: #fff;
253
+ border: 1px solid #ccc;
254
+ border: 1px solid rgba(0, 0, 0, 0.2);
255
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
256
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
257
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
258
+ }
259
+
260
+ .img-circle {
261
+ -webkit-border-radius: 500px;
262
+ -moz-border-radius: 500px;
263
+ border-radius: 500px;
264
+ }
265
+
266
+ .row {
267
+ margin-left: -20px;
268
+ *zoom: 1;
269
+ }
270
+
271
+ .row:before,
272
+ .row:after {
273
+ display: table;
274
+ line-height: 0;
275
+ content: "";
276
+ }
277
+
278
+ .row:after {
279
+ clear: both;
280
+ }
281
+
282
+ [class*="span"] {
283
+ float: left;
284
+ min-height: 1px;
285
+ margin-left: 20px;
286
+ }
287
+
288
+ .container,
289
+ .navbar-static-top .container,
290
+ .navbar-fixed-top .container,
291
+ .navbar-fixed-bottom .container {
292
+ width: 940px;
293
+ }
294
+
295
+ .span12 {
296
+ width: 940px;
297
+ }
298
+
299
+ .span11 {
300
+ width: 860px;
301
+ }
302
+
303
+ .span10 {
304
+ width: 780px;
305
+ }
306
+
307
+ .span9 {
308
+ width: 700px;
309
+ }
310
+
311
+ .span8 {
312
+ width: 620px;
313
+ }
314
+
315
+ .span7 {
316
+ width: 540px;
317
+ }
318
+
319
+ .span6 {
320
+ width: 460px;
321
+ }
322
+
323
+ .span5 {
324
+ width: 380px;
325
+ }
326
+
327
+ .span4 {
328
+ width: 300px;
329
+ }
330
+
331
+ .span3 {
332
+ width: 220px;
333
+ }
334
+
335
+ .span2 {
336
+ width: 140px;
337
+ }
338
+
339
+ .span1 {
340
+ width: 60px;
341
+ }
342
+
343
+ .offset12 {
344
+ margin-left: 980px;
345
+ }
346
+
347
+ .offset11 {
348
+ margin-left: 900px;
349
+ }
350
+
351
+ .offset10 {
352
+ margin-left: 820px;
353
+ }
354
+
355
+ .offset9 {
356
+ margin-left: 740px;
357
+ }
358
+
359
+ .offset8 {
360
+ margin-left: 660px;
361
+ }
362
+
363
+ .offset7 {
364
+ margin-left: 580px;
365
+ }
366
+
367
+ .offset6 {
368
+ margin-left: 500px;
369
+ }
370
+
371
+ .offset5 {
372
+ margin-left: 420px;
373
+ }
374
+
375
+ .offset4 {
376
+ margin-left: 340px;
377
+ }
378
+
379
+ .offset3 {
380
+ margin-left: 260px;
381
+ }
382
+
383
+ .offset2 {
384
+ margin-left: 180px;
385
+ }
386
+
387
+ .offset1 {
388
+ margin-left: 100px;
389
+ }
390
+
391
+ .row-fluid {
392
+ width: 100%;
393
+ *zoom: 1;
394
+ }
395
+
396
+ .row-fluid:before,
397
+ .row-fluid:after {
398
+ display: table;
399
+ line-height: 0;
400
+ content: "";
401
+ }
402
+
403
+ .row-fluid:after {
404
+ clear: both;
405
+ }
406
+
407
+ .row-fluid [class*="span"] {
408
+ display: block;
409
+ float: left;
410
+ width: 100%;
411
+ min-height: 30px;
412
+ margin-left: 2.127659574468085%;
413
+ *margin-left: 2.074468085106383%;
414
+ -webkit-box-sizing: border-box;
415
+ -moz-box-sizing: border-box;
416
+ box-sizing: border-box;
417
+ }
418
+
419
+ .row-fluid [class*="span"]:first-child {
420
+ margin-left: 0;
421
+ }
422
+
423
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
424
+ margin-left: 2.127659574468085%;
425
+ }
426
+
427
+ .row-fluid .span12 {
428
+ width: 100%;
429
+ *width: 99.94680851063829%;
430
+ }
431
+
432
+ .row-fluid .span11 {
433
+ width: 91.48936170212765%;
434
+ *width: 91.43617021276594%;
435
+ }
436
+
437
+ .row-fluid .span10 {
438
+ width: 82.97872340425532%;
439
+ *width: 82.92553191489361%;
440
+ }
441
+
442
+ .row-fluid .span9 {
443
+ width: 74.46808510638297%;
444
+ *width: 74.41489361702126%;
445
+ }
446
+
447
+ .row-fluid .span8 {
448
+ width: 65.95744680851064%;
449
+ *width: 65.90425531914893%;
450
+ }
451
+
452
+ .row-fluid .span7 {
453
+ width: 57.44680851063829%;
454
+ *width: 57.39361702127659%;
455
+ }
456
+
457
+ .row-fluid .span6 {
458
+ width: 48.93617021276595%;
459
+ *width: 48.88297872340425%;
460
+ }
461
+
462
+ .row-fluid .span5 {
463
+ width: 40.42553191489362%;
464
+ *width: 40.37234042553192%;
465
+ }
466
+
467
+ .row-fluid .span4 {
468
+ width: 31.914893617021278%;
469
+ *width: 31.861702127659576%;
470
+ }
471
+
472
+ .row-fluid .span3 {
473
+ width: 23.404255319148934%;
474
+ *width: 23.351063829787233%;
475
+ }
476
+
477
+ .row-fluid .span2 {
478
+ width: 14.893617021276595%;
479
+ *width: 14.840425531914894%;
480
+ }
481
+
482
+ .row-fluid .span1 {
483
+ width: 6.382978723404255%;
484
+ *width: 6.329787234042553%;
485
+ }
486
+
487
+ .row-fluid .offset12 {
488
+ margin-left: 104.25531914893617%;
489
+ *margin-left: 104.14893617021275%;
490
+ }
491
+
492
+ .row-fluid .offset12:first-child {
493
+ margin-left: 102.12765957446808%;
494
+ *margin-left: 102.02127659574467%;
495
+ }
496
+
497
+ .row-fluid .offset11 {
498
+ margin-left: 95.74468085106382%;
499
+ *margin-left: 95.6382978723404%;
500
+ }
501
+
502
+ .row-fluid .offset11:first-child {
503
+ margin-left: 93.61702127659574%;
504
+ *margin-left: 93.51063829787232%;
505
+ }
506
+
507
+ .row-fluid .offset10 {
508
+ margin-left: 87.23404255319149%;
509
+ *margin-left: 87.12765957446807%;
510
+ }
511
+
512
+ .row-fluid .offset10:first-child {
513
+ margin-left: 85.1063829787234%;
514
+ *margin-left: 84.99999999999999%;
515
+ }
516
+
517
+ .row-fluid .offset9 {
518
+ margin-left: 78.72340425531914%;
519
+ *margin-left: 78.61702127659572%;
520
+ }
521
+
522
+ .row-fluid .offset9:first-child {
523
+ margin-left: 76.59574468085106%;
524
+ *margin-left: 76.48936170212764%;
525
+ }
526
+
527
+ .row-fluid .offset8 {
528
+ margin-left: 70.2127659574468%;
529
+ *margin-left: 70.10638297872339%;
530
+ }
531
+
532
+ .row-fluid .offset8:first-child {
533
+ margin-left: 68.08510638297872%;
534
+ *margin-left: 67.9787234042553%;
535
+ }
536
+
537
+ .row-fluid .offset7 {
538
+ margin-left: 61.70212765957446%;
539
+ *margin-left: 61.59574468085106%;
540
+ }
541
+
542
+ .row-fluid .offset7:first-child {
543
+ margin-left: 59.574468085106375%;
544
+ *margin-left: 59.46808510638297%;
545
+ }
546
+
547
+ .row-fluid .offset6 {
548
+ margin-left: 53.191489361702125%;
549
+ *margin-left: 53.085106382978715%;
550
+ }
551
+
552
+ .row-fluid .offset6:first-child {
553
+ margin-left: 51.063829787234035%;
554
+ *margin-left: 50.95744680851063%;
555
+ }
556
+
557
+ .row-fluid .offset5 {
558
+ margin-left: 44.68085106382979%;
559
+ *margin-left: 44.57446808510638%;
560
+ }
561
+
562
+ .row-fluid .offset5:first-child {
563
+ margin-left: 42.5531914893617%;
564
+ *margin-left: 42.4468085106383%;
565
+ }
566
+
567
+ .row-fluid .offset4 {
568
+ margin-left: 36.170212765957444%;
569
+ *margin-left: 36.06382978723405%;
570
+ }
571
+
572
+ .row-fluid .offset4:first-child {
573
+ margin-left: 34.04255319148936%;
574
+ *margin-left: 33.93617021276596%;
575
+ }
576
+
577
+ .row-fluid .offset3 {
578
+ margin-left: 27.659574468085104%;
579
+ *margin-left: 27.5531914893617%;
580
+ }
581
+
582
+ .row-fluid .offset3:first-child {
583
+ margin-left: 25.53191489361702%;
584
+ *margin-left: 25.425531914893618%;
585
+ }
586
+
587
+ .row-fluid .offset2 {
588
+ margin-left: 19.148936170212764%;
589
+ *margin-left: 19.04255319148936%;
590
+ }
591
+
592
+ .row-fluid .offset2:first-child {
593
+ margin-left: 17.02127659574468%;
594
+ *margin-left: 16.914893617021278%;
595
+ }
596
+
597
+ .row-fluid .offset1 {
598
+ margin-left: 10.638297872340425%;
599
+ *margin-left: 10.53191489361702%;
600
+ }
601
+
602
+ .row-fluid .offset1:first-child {
603
+ margin-left: 8.51063829787234%;
604
+ *margin-left: 8.404255319148938%;
605
+ }
606
+
607
+ [class*="span"].hide,
608
+ .row-fluid [class*="span"].hide {
609
+ display: none;
610
+ }
611
+
612
+ [class*="span"].pull-right,
613
+ .row-fluid [class*="span"].pull-right {
614
+ float: right;
615
+ }
616
+
617
+ .container {
618
+ margin-right: auto;
619
+ margin-left: auto;
620
+ *zoom: 1;
621
+ }
622
+
623
+ .container:before,
624
+ .container:after {
625
+ display: table;
626
+ line-height: 0;
627
+ content: "";
628
+ }
629
+
630
+ .container:after {
631
+ clear: both;
632
+ }
633
+
634
+ .container-fluid {
635
+ padding-right: 20px;
636
+ padding-left: 20px;
637
+ *zoom: 1;
638
+ }
639
+
640
+ .container-fluid:before,
641
+ .container-fluid:after {
642
+ display: table;
643
+ line-height: 0;
644
+ content: "";
645
+ }
646
+
647
+ .container-fluid:after {
648
+ clear: both;
649
+ }
650
+
651
+ p {
652
+ margin: 0 0 10px;
653
+ }
654
+
655
+ .lead {
656
+ margin-bottom: 20px;
657
+ font-size: 21px;
658
+ font-weight: 200;
659
+ line-height: 30px;
660
+ }
661
+
662
+ small {
663
+ font-size: 85%;
664
+ }
665
+
666
+ strong {
667
+ font-weight: bold;
668
+ }
669
+
670
+ em {
671
+ font-style: italic;
672
+ }
673
+
674
+ cite {
675
+ font-style: normal;
676
+ }
677
+
678
+ .muted {
679
+ color: #999999;
680
+ }
681
+
682
+ a.muted:hover,
683
+ a.muted:focus {
684
+ color: #808080;
685
+ }
686
+
687
+ .text-warning {
688
+ color: #c09853;
689
+ }
690
+
691
+ a.text-warning:hover,
692
+ a.text-warning:focus {
693
+ color: #a47e3c;
694
+ }
695
+
696
+ .text-error {
697
+ color: #b94a48;
698
+ }
699
+
700
+ a.text-error:hover,
701
+ a.text-error:focus {
702
+ color: #953b39;
703
+ }
704
+
705
+ .text-info {
706
+ color: #3a87ad;
707
+ }
708
+
709
+ a.text-info:hover,
710
+ a.text-info:focus {
711
+ color: #2d6987;
712
+ }
713
+
714
+ .text-success {
715
+ color: #468847;
716
+ }
717
+
718
+ a.text-success:hover,
719
+ a.text-success:focus {
720
+ color: #356635;
721
+ }
722
+
723
+ .text-left {
724
+ text-align: left;
725
+ }
726
+
727
+ .text-right {
728
+ text-align: right;
729
+ }
730
+
731
+ .text-center {
732
+ text-align: center;
733
+ }
734
+
735
+ h1,
736
+ h2,
737
+ h3,
738
+ h4,
739
+ h5,
740
+ h6 {
741
+ margin: 10px 0;
742
+ font-family: inherit;
743
+ font-weight: bold;
744
+ line-height: 20px;
745
+ color: inherit;
746
+ text-rendering: optimizelegibility;
747
+ }
748
+
749
+ h1 small,
750
+ h2 small,
751
+ h3 small,
752
+ h4 small,
753
+ h5 small,
754
+ h6 small {
755
+ font-weight: normal;
756
+ line-height: 1;
757
+ color: #999999;
758
+ }
759
+
760
+ h1,
761
+ h2,
762
+ h3 {
763
+ line-height: 40px;
764
+ }
765
+
766
+ h1 {
767
+ font-size: 38.5px;
768
+ }
769
+
770
+ h2 {
771
+ font-size: 31.5px;
772
+ }
773
+
774
+ h3 {
775
+ font-size: 24.5px;
776
+ }
777
+
778
+ h4 {
779
+ font-size: 17.5px;
780
+ }
781
+
782
+ h5 {
783
+ font-size: 14px;
784
+ }
785
+
786
+ h6 {
787
+ font-size: 11.9px;
788
+ }
789
+
790
+ h1 small {
791
+ font-size: 24.5px;
792
+ }
793
+
794
+ h2 small {
795
+ font-size: 17.5px;
796
+ }
797
+
798
+ h3 small {
799
+ font-size: 14px;
800
+ }
801
+
802
+ h4 small {
803
+ font-size: 14px;
804
+ }
805
+
806
+ .page-header {
807
+ padding-bottom: 9px;
808
+ margin: 20px 0 30px;
809
+ border-bottom: 1px solid #eeeeee;
810
+ }
811
+
812
+ ul,
813
+ ol {
814
+ padding: 0;
815
+ margin: 0 0 10px 25px;
816
+ }
817
+
818
+ ul ul,
819
+ ul ol,
820
+ ol ol,
821
+ ol ul {
822
+ margin-bottom: 0;
823
+ }
824
+
825
+ li {
826
+ line-height: 20px;
827
+ }
828
+
829
+ ul.unstyled,
830
+ ol.unstyled {
831
+ margin-left: 0;
832
+ list-style: none;
833
+ }
834
+
835
+ ul.inline,
836
+ ol.inline {
837
+ margin-left: 0;
838
+ list-style: none;
839
+ }
840
+
841
+ ul.inline > li,
842
+ ol.inline > li {
843
+ display: inline-block;
844
+ *display: inline;
845
+ padding-right: 5px;
846
+ padding-left: 5px;
847
+ *zoom: 1;
848
+ }
849
+
850
+ dl {
851
+ margin-bottom: 20px;
852
+ }
853
+
854
+ dt,
855
+ dd {
856
+ line-height: 20px;
857
+ }
858
+
859
+ dt {
860
+ font-weight: bold;
861
+ }
862
+
863
+ dd {
864
+ margin-left: 10px;
865
+ }
866
+
867
+ .dl-horizontal {
868
+ *zoom: 1;
869
+ }
870
+
871
+ .dl-horizontal:before,
872
+ .dl-horizontal:after {
873
+ display: table;
874
+ line-height: 0;
875
+ content: "";
876
+ }
877
+
878
+ .dl-horizontal:after {
879
+ clear: both;
880
+ }
881
+
882
+ .dl-horizontal dt {
883
+ float: left;
884
+ width: 160px;
885
+ overflow: hidden;
886
+ clear: left;
887
+ text-align: right;
888
+ text-overflow: ellipsis;
889
+ white-space: nowrap;
890
+ }
891
+
892
+ .dl-horizontal dd {
893
+ margin-left: 180px;
894
+ }
895
+
896
+ hr {
897
+ margin: 20px 0;
898
+ border: 0;
899
+ border-top: 1px solid #eeeeee;
900
+ border-bottom: 1px solid #ffffff;
901
+ }
902
+
903
+ abbr[title],
904
+ abbr[data-original-title] {
905
+ cursor: help;
906
+ border-bottom: 1px dotted #999999;
907
+ }
908
+
909
+ abbr.initialism {
910
+ font-size: 90%;
911
+ text-transform: uppercase;
912
+ }
913
+
914
+ blockquote {
915
+ padding: 0 0 0 15px;
916
+ margin: 0 0 20px;
917
+ border-left: 5px solid #eeeeee;
918
+ }
919
+
920
+ blockquote p {
921
+ margin-bottom: 0;
922
+ font-size: 17.5px;
923
+ font-weight: 300;
924
+ line-height: 1.25;
925
+ }
926
+
927
+ blockquote small {
928
+ display: block;
929
+ line-height: 20px;
930
+ color: #999999;
931
+ }
932
+
933
+ blockquote small:before {
934
+ content: '\2014 \00A0';
935
+ }
936
+
937
+ blockquote.pull-right {
938
+ float: right;
939
+ padding-right: 15px;
940
+ padding-left: 0;
941
+ border-right: 5px solid #eeeeee;
942
+ border-left: 0;
943
+ }
944
+
945
+ blockquote.pull-right p,
946
+ blockquote.pull-right small {
947
+ text-align: right;
948
+ }
949
+
950
+ blockquote.pull-right small:before {
951
+ content: '';
952
+ }
953
+
954
+ blockquote.pull-right small:after {
955
+ content: '\00A0 \2014';
956
+ }
957
+
958
+ q:before,
959
+ q:after,
960
+ blockquote:before,
961
+ blockquote:after {
962
+ content: "";
963
+ }
964
+
965
+ address {
966
+ display: block;
967
+ margin-bottom: 20px;
968
+ font-style: normal;
969
+ line-height: 20px;
970
+ }
971
+
972
+ code,
973
+ pre {
974
+ padding: 0 3px 2px;
975
+ font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
976
+ font-size: 12px;
977
+ color: #333333;
978
+ -webkit-border-radius: 3px;
979
+ -moz-border-radius: 3px;
980
+ border-radius: 3px;
981
+ }
982
+
983
+ code {
984
+ padding: 2px 4px;
985
+ color: #d14;
986
+ white-space: nowrap;
987
+ background-color: #f7f7f9;
988
+ border: 1px solid #e1e1e8;
989
+ }
990
+
991
+ pre {
992
+ display: block;
993
+ padding: 9.5px;
994
+ margin: 0 0 10px;
995
+ font-size: 13px;
996
+ line-height: 20px;
997
+ word-break: break-all;
998
+ word-wrap: break-word;
999
+ white-space: pre;
1000
+ white-space: pre-wrap;
1001
+ background-color: #f5f5f5;
1002
+ border: 1px solid #ccc;
1003
+ border: 1px solid rgba(0, 0, 0, 0.15);
1004
+ -webkit-border-radius: 4px;
1005
+ -moz-border-radius: 4px;
1006
+ border-radius: 4px;
1007
+ }
1008
+
1009
+ pre.prettyprint {
1010
+ margin-bottom: 20px;
1011
+ }
1012
+
1013
+ pre code {
1014
+ padding: 0;
1015
+ color: inherit;
1016
+ white-space: pre;
1017
+ white-space: pre-wrap;
1018
+ background-color: transparent;
1019
+ border: 0;
1020
+ }
1021
+
1022
+ .pre-scrollable {
1023
+ max-height: 340px;
1024
+ overflow-y: scroll;
1025
+ }
1026
+
1027
+ form {
1028
+ margin: 0 0 20px;
1029
+ }
1030
+
1031
+ fieldset {
1032
+ padding: 0;
1033
+ margin: 0;
1034
+ border: 0;
1035
+ }
1036
+
1037
+ legend {
1038
+ display: block;
1039
+ width: 100%;
1040
+ padding: 0;
1041
+ margin-bottom: 20px;
1042
+ font-size: 21px;
1043
+ line-height: 40px;
1044
+ color: #333333;
1045
+ border: 0;
1046
+ border-bottom: 1px solid #e5e5e5;
1047
+ }
1048
+
1049
+ legend small {
1050
+ font-size: 15px;
1051
+ color: #999999;
1052
+ }
1053
+
1054
+ label,
1055
+ input,
1056
+ button,
1057
+ select,
1058
+ textarea {
1059
+ font-size: 14px;
1060
+ font-weight: normal;
1061
+ line-height: 20px;
1062
+ }
1063
+
1064
+ input,
1065
+ button,
1066
+ select,
1067
+ textarea {
1068
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1069
+ }
1070
+
1071
+ label {
1072
+ display: block;
1073
+ margin-bottom: 5px;
1074
+ }
1075
+
1076
+ select,
1077
+ textarea,
1078
+ input[type="text"],
1079
+ input[type="password"],
1080
+ input[type="datetime"],
1081
+ input[type="datetime-local"],
1082
+ input[type="date"],
1083
+ input[type="month"],
1084
+ input[type="time"],
1085
+ input[type="week"],
1086
+ input[type="number"],
1087
+ input[type="email"],
1088
+ input[type="url"],
1089
+ input[type="search"],
1090
+ input[type="tel"],
1091
+ input[type="color"],
1092
+ .uneditable-input {
1093
+ display: inline-block;
1094
+ height: 20px;
1095
+ padding: 4px 6px;
1096
+ margin-bottom: 10px;
1097
+ font-size: 14px;
1098
+ line-height: 20px;
1099
+ color: #555555;
1100
+ vertical-align: middle;
1101
+ -webkit-border-radius: 4px;
1102
+ -moz-border-radius: 4px;
1103
+ border-radius: 4px;
1104
+ }
1105
+
1106
+ input,
1107
+ textarea,
1108
+ .uneditable-input {
1109
+ width: 206px;
1110
+ }
1111
+
1112
+ textarea {
1113
+ height: auto;
1114
+ }
1115
+
1116
+ textarea,
1117
+ input[type="text"],
1118
+ input[type="password"],
1119
+ input[type="datetime"],
1120
+ input[type="datetime-local"],
1121
+ input[type="date"],
1122
+ input[type="month"],
1123
+ input[type="time"],
1124
+ input[type="week"],
1125
+ input[type="number"],
1126
+ input[type="email"],
1127
+ input[type="url"],
1128
+ input[type="search"],
1129
+ input[type="tel"],
1130
+ input[type="color"],
1131
+ .uneditable-input {
1132
+ background-color: #ffffff;
1133
+ border: 1px solid #cccccc;
1134
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1135
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1136
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1137
+ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
1138
+ -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
1139
+ -o-transition: border linear 0.2s, box-shadow linear 0.2s;
1140
+ transition: border linear 0.2s, box-shadow linear 0.2s;
1141
+ }
1142
+
1143
+ textarea:focus,
1144
+ input[type="text"]:focus,
1145
+ input[type="password"]:focus,
1146
+ input[type="datetime"]:focus,
1147
+ input[type="datetime-local"]:focus,
1148
+ input[type="date"]:focus,
1149
+ input[type="month"]:focus,
1150
+ input[type="time"]:focus,
1151
+ input[type="week"]:focus,
1152
+ input[type="number"]:focus,
1153
+ input[type="email"]:focus,
1154
+ input[type="url"]:focus,
1155
+ input[type="search"]:focus,
1156
+ input[type="tel"]:focus,
1157
+ input[type="color"]:focus,
1158
+ .uneditable-input:focus {
1159
+ border-color: rgba(82, 168, 236, 0.8);
1160
+ outline: 0;
1161
+ outline: thin dotted \9;
1162
+ /* IE6-9 */
1163
+
1164
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1165
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1166
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1167
+ }
1168
+
1169
+ input[type="radio"],
1170
+ input[type="checkbox"] {
1171
+ margin: 4px 0 0;
1172
+ margin-top: 1px \9;
1173
+ *margin-top: 0;
1174
+ line-height: normal;
1175
+ }
1176
+
1177
+ input[type="file"],
1178
+ input[type="image"],
1179
+ input[type="submit"],
1180
+ input[type="reset"],
1181
+ input[type="button"],
1182
+ input[type="radio"],
1183
+ input[type="checkbox"] {
1184
+ width: auto;
1185
+ }
1186
+
1187
+ select,
1188
+ input[type="file"] {
1189
+ height: 30px;
1190
+ /* In IE7, the height of the select element cannot be changed by height, only font-size */
1191
+
1192
+ *margin-top: 4px;
1193
+ /* For IE7, add top margin to align select with labels */
1194
+
1195
+ line-height: 30px;
1196
+ }
1197
+
1198
+ select {
1199
+ width: 220px;
1200
+ background-color: #ffffff;
1201
+ border: 1px solid #cccccc;
1202
+ }
1203
+
1204
+ select[multiple],
1205
+ select[size] {
1206
+ height: auto;
1207
+ }
1208
+
1209
+ select:focus,
1210
+ input[type="file"]:focus,
1211
+ input[type="radio"]:focus,
1212
+ input[type="checkbox"]:focus {
1213
+ outline: thin dotted #333;
1214
+ outline: 5px auto -webkit-focus-ring-color;
1215
+ outline-offset: -2px;
1216
+ }
1217
+
1218
+ .uneditable-input,
1219
+ .uneditable-textarea {
1220
+ color: #999999;
1221
+ cursor: not-allowed;
1222
+ background-color: #fcfcfc;
1223
+ border-color: #cccccc;
1224
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1225
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1226
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1227
+ }
1228
+
1229
+ .uneditable-input {
1230
+ overflow: hidden;
1231
+ white-space: nowrap;
1232
+ }
1233
+
1234
+ .uneditable-textarea {
1235
+ width: auto;
1236
+ height: auto;
1237
+ }
1238
+
1239
+ input:-moz-placeholder,
1240
+ textarea:-moz-placeholder {
1241
+ color: #999999;
1242
+ }
1243
+
1244
+ input:-ms-input-placeholder,
1245
+ textarea:-ms-input-placeholder {
1246
+ color: #999999;
1247
+ }
1248
+
1249
+ input::-webkit-input-placeholder,
1250
+ textarea::-webkit-input-placeholder {
1251
+ color: #999999;
1252
+ }
1253
+
1254
+ .radio,
1255
+ .checkbox {
1256
+ min-height: 20px;
1257
+ padding-left: 20px;
1258
+ }
1259
+
1260
+ .radio input[type="radio"],
1261
+ .checkbox input[type="checkbox"] {
1262
+ float: left;
1263
+ margin-left: -20px;
1264
+ }
1265
+
1266
+ .controls > .radio:first-child,
1267
+ .controls > .checkbox:first-child {
1268
+ padding-top: 5px;
1269
+ }
1270
+
1271
+ .radio.inline,
1272
+ .checkbox.inline {
1273
+ display: inline-block;
1274
+ padding-top: 5px;
1275
+ margin-bottom: 0;
1276
+ vertical-align: middle;
1277
+ }
1278
+
1279
+ .radio.inline + .radio.inline,
1280
+ .checkbox.inline + .checkbox.inline {
1281
+ margin-left: 10px;
1282
+ }
1283
+
1284
+ .input-mini {
1285
+ width: 60px;
1286
+ }
1287
+
1288
+ .input-small {
1289
+ width: 90px;
1290
+ }
1291
+
1292
+ .input-medium {
1293
+ width: 150px;
1294
+ }
1295
+
1296
+ .input-large {
1297
+ width: 210px;
1298
+ }
1299
+
1300
+ .input-xlarge {
1301
+ width: 270px;
1302
+ }
1303
+
1304
+ .input-xxlarge {
1305
+ width: 530px;
1306
+ }
1307
+
1308
+ input[class*="span"],
1309
+ select[class*="span"],
1310
+ textarea[class*="span"],
1311
+ .uneditable-input[class*="span"],
1312
+ .row-fluid input[class*="span"],
1313
+ .row-fluid select[class*="span"],
1314
+ .row-fluid textarea[class*="span"],
1315
+ .row-fluid .uneditable-input[class*="span"] {
1316
+ float: none;
1317
+ margin-left: 0;
1318
+ }
1319
+
1320
+ .input-append input[class*="span"],
1321
+ .input-append .uneditable-input[class*="span"],
1322
+ .input-prepend input[class*="span"],
1323
+ .input-prepend .uneditable-input[class*="span"],
1324
+ .row-fluid input[class*="span"],
1325
+ .row-fluid select[class*="span"],
1326
+ .row-fluid textarea[class*="span"],
1327
+ .row-fluid .uneditable-input[class*="span"],
1328
+ .row-fluid .input-prepend [class*="span"],
1329
+ .row-fluid .input-append [class*="span"] {
1330
+ display: inline-block;
1331
+ }
1332
+
1333
+ input,
1334
+ textarea,
1335
+ .uneditable-input {
1336
+ margin-left: 0;
1337
+ }
1338
+
1339
+ .controls-row [class*="span"] + [class*="span"] {
1340
+ margin-left: 20px;
1341
+ }
1342
+
1343
+ input.span12,
1344
+ textarea.span12,
1345
+ .uneditable-input.span12 {
1346
+ width: 926px;
1347
+ }
1348
+
1349
+ input.span11,
1350
+ textarea.span11,
1351
+ .uneditable-input.span11 {
1352
+ width: 846px;
1353
+ }
1354
+
1355
+ input.span10,
1356
+ textarea.span10,
1357
+ .uneditable-input.span10 {
1358
+ width: 766px;
1359
+ }
1360
+
1361
+ input.span9,
1362
+ textarea.span9,
1363
+ .uneditable-input.span9 {
1364
+ width: 686px;
1365
+ }
1366
+
1367
+ input.span8,
1368
+ textarea.span8,
1369
+ .uneditable-input.span8 {
1370
+ width: 606px;
1371
+ }
1372
+
1373
+ input.span7,
1374
+ textarea.span7,
1375
+ .uneditable-input.span7 {
1376
+ width: 526px;
1377
+ }
1378
+
1379
+ input.span6,
1380
+ textarea.span6,
1381
+ .uneditable-input.span6 {
1382
+ width: 446px;
1383
+ }
1384
+
1385
+ input.span5,
1386
+ textarea.span5,
1387
+ .uneditable-input.span5 {
1388
+ width: 366px;
1389
+ }
1390
+
1391
+ input.span4,
1392
+ textarea.span4,
1393
+ .uneditable-input.span4 {
1394
+ width: 286px;
1395
+ }
1396
+
1397
+ input.span3,
1398
+ textarea.span3,
1399
+ .uneditable-input.span3 {
1400
+ width: 206px;
1401
+ }
1402
+
1403
+ input.span2,
1404
+ textarea.span2,
1405
+ .uneditable-input.span2 {
1406
+ width: 126px;
1407
+ }
1408
+
1409
+ input.span1,
1410
+ textarea.span1,
1411
+ .uneditable-input.span1 {
1412
+ width: 46px;
1413
+ }
1414
+
1415
+ .controls-row {
1416
+ *zoom: 1;
1417
+ }
1418
+
1419
+ .controls-row:before,
1420
+ .controls-row:after {
1421
+ display: table;
1422
+ line-height: 0;
1423
+ content: "";
1424
+ }
1425
+
1426
+ .controls-row:after {
1427
+ clear: both;
1428
+ }
1429
+
1430
+ .controls-row [class*="span"],
1431
+ .row-fluid .controls-row [class*="span"] {
1432
+ float: left;
1433
+ }
1434
+
1435
+ .controls-row .checkbox[class*="span"],
1436
+ .controls-row .radio[class*="span"] {
1437
+ padding-top: 5px;
1438
+ }
1439
+
1440
+ input[disabled],
1441
+ select[disabled],
1442
+ textarea[disabled],
1443
+ input[readonly],
1444
+ select[readonly],
1445
+ textarea[readonly] {
1446
+ cursor: not-allowed;
1447
+ background-color: #eeeeee;
1448
+ }
1449
+
1450
+ input[type="radio"][disabled],
1451
+ input[type="checkbox"][disabled],
1452
+ input[type="radio"][readonly],
1453
+ input[type="checkbox"][readonly] {
1454
+ background-color: transparent;
1455
+ }
1456
+
1457
+ .control-group.warning .control-label,
1458
+ .control-group.warning .help-block,
1459
+ .control-group.warning .help-inline {
1460
+ color: #c09853;
1461
+ }
1462
+
1463
+ .control-group.warning .checkbox,
1464
+ .control-group.warning .radio,
1465
+ .control-group.warning input,
1466
+ .control-group.warning select,
1467
+ .control-group.warning textarea {
1468
+ color: #c09853;
1469
+ }
1470
+
1471
+ .control-group.warning input,
1472
+ .control-group.warning select,
1473
+ .control-group.warning textarea {
1474
+ border-color: #c09853;
1475
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1476
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1477
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1478
+ }
1479
+
1480
+ .control-group.warning input:focus,
1481
+ .control-group.warning select:focus,
1482
+ .control-group.warning textarea:focus {
1483
+ border-color: #a47e3c;
1484
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1485
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1486
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1487
+ }
1488
+
1489
+ .control-group.warning .input-prepend .add-on,
1490
+ .control-group.warning .input-append .add-on {
1491
+ color: #c09853;
1492
+ background-color: #fcf8e3;
1493
+ border-color: #c09853;
1494
+ }
1495
+
1496
+ .control-group.error .control-label,
1497
+ .control-group.error .help-block,
1498
+ .control-group.error .help-inline {
1499
+ color: #b94a48;
1500
+ }
1501
+
1502
+ .control-group.error .checkbox,
1503
+ .control-group.error .radio,
1504
+ .control-group.error input,
1505
+ .control-group.error select,
1506
+ .control-group.error textarea {
1507
+ color: #b94a48;
1508
+ }
1509
+
1510
+ .control-group.error input,
1511
+ .control-group.error select,
1512
+ .control-group.error textarea {
1513
+ border-color: #b94a48;
1514
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1515
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1516
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1517
+ }
1518
+
1519
+ .control-group.error input:focus,
1520
+ .control-group.error select:focus,
1521
+ .control-group.error textarea:focus {
1522
+ border-color: #953b39;
1523
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1524
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1525
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1526
+ }
1527
+
1528
+ .control-group.error .input-prepend .add-on,
1529
+ .control-group.error .input-append .add-on {
1530
+ color: #b94a48;
1531
+ background-color: #f2dede;
1532
+ border-color: #b94a48;
1533
+ }
1534
+
1535
+ .control-group.success .control-label,
1536
+ .control-group.success .help-block,
1537
+ .control-group.success .help-inline {
1538
+ color: #468847;
1539
+ }
1540
+
1541
+ .control-group.success .checkbox,
1542
+ .control-group.success .radio,
1543
+ .control-group.success input,
1544
+ .control-group.success select,
1545
+ .control-group.success textarea {
1546
+ color: #468847;
1547
+ }
1548
+
1549
+ .control-group.success input,
1550
+ .control-group.success select,
1551
+ .control-group.success textarea {
1552
+ border-color: #468847;
1553
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1554
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1555
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1556
+ }
1557
+
1558
+ .control-group.success input:focus,
1559
+ .control-group.success select:focus,
1560
+ .control-group.success textarea:focus {
1561
+ border-color: #356635;
1562
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1563
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1564
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1565
+ }
1566
+
1567
+ .control-group.success .input-prepend .add-on,
1568
+ .control-group.success .input-append .add-on {
1569
+ color: #468847;
1570
+ background-color: #dff0d8;
1571
+ border-color: #468847;
1572
+ }
1573
+
1574
+ .control-group.info .control-label,
1575
+ .control-group.info .help-block,
1576
+ .control-group.info .help-inline {
1577
+ color: #3a87ad;
1578
+ }
1579
+
1580
+ .control-group.info .checkbox,
1581
+ .control-group.info .radio,
1582
+ .control-group.info input,
1583
+ .control-group.info select,
1584
+ .control-group.info textarea {
1585
+ color: #3a87ad;
1586
+ }
1587
+
1588
+ .control-group.info input,
1589
+ .control-group.info select,
1590
+ .control-group.info textarea {
1591
+ border-color: #3a87ad;
1592
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1593
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1594
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1595
+ }
1596
+
1597
+ .control-group.info input:focus,
1598
+ .control-group.info select:focus,
1599
+ .control-group.info textarea:focus {
1600
+ border-color: #2d6987;
1601
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1602
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1603
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1604
+ }
1605
+
1606
+ .control-group.info .input-prepend .add-on,
1607
+ .control-group.info .input-append .add-on {
1608
+ color: #3a87ad;
1609
+ background-color: #d9edf7;
1610
+ border-color: #3a87ad;
1611
+ }
1612
+
1613
+ input:focus:invalid,
1614
+ textarea:focus:invalid,
1615
+ select:focus:invalid {
1616
+ color: #b94a48;
1617
+ border-color: #ee5f5b;
1618
+ }
1619
+
1620
+ input:focus:invalid:focus,
1621
+ textarea:focus:invalid:focus,
1622
+ select:focus:invalid:focus {
1623
+ border-color: #e9322d;
1624
+ -webkit-box-shadow: 0 0 6px #f8b9b7;
1625
+ -moz-box-shadow: 0 0 6px #f8b9b7;
1626
+ box-shadow: 0 0 6px #f8b9b7;
1627
+ }
1628
+
1629
+ .form-actions {
1630
+ padding: 19px 20px 20px;
1631
+ margin-top: 20px;
1632
+ margin-bottom: 20px;
1633
+ background-color: #f5f5f5;
1634
+ border-top: 1px solid #e5e5e5;
1635
+ *zoom: 1;
1636
+ }
1637
+
1638
+ .form-actions:before,
1639
+ .form-actions:after {
1640
+ display: table;
1641
+ line-height: 0;
1642
+ content: "";
1643
+ }
1644
+
1645
+ .form-actions:after {
1646
+ clear: both;
1647
+ }
1648
+
1649
+ .help-block,
1650
+ .help-inline {
1651
+ color: #595959;
1652
+ }
1653
+
1654
+ .help-block {
1655
+ display: block;
1656
+ margin-bottom: 10px;
1657
+ }
1658
+
1659
+ .help-inline {
1660
+ display: inline-block;
1661
+ *display: inline;
1662
+ padding-left: 5px;
1663
+ vertical-align: middle;
1664
+ *zoom: 1;
1665
+ }
1666
+
1667
+ .input-append,
1668
+ .input-prepend {
1669
+ display: inline-block;
1670
+ margin-bottom: 10px;
1671
+ font-size: 0;
1672
+ white-space: nowrap;
1673
+ vertical-align: middle;
1674
+ }
1675
+
1676
+ .input-append input,
1677
+ .input-prepend input,
1678
+ .input-append select,
1679
+ .input-prepend select,
1680
+ .input-append .uneditable-input,
1681
+ .input-prepend .uneditable-input,
1682
+ .input-append .dropdown-menu,
1683
+ .input-prepend .dropdown-menu,
1684
+ .input-append .popover,
1685
+ .input-prepend .popover {
1686
+ font-size: 14px;
1687
+ }
1688
+
1689
+ .input-append input,
1690
+ .input-prepend input,
1691
+ .input-append select,
1692
+ .input-prepend select,
1693
+ .input-append .uneditable-input,
1694
+ .input-prepend .uneditable-input {
1695
+ position: relative;
1696
+ margin-bottom: 0;
1697
+ *margin-left: 0;
1698
+ vertical-align: top;
1699
+ -webkit-border-radius: 0 4px 4px 0;
1700
+ -moz-border-radius: 0 4px 4px 0;
1701
+ border-radius: 0 4px 4px 0;
1702
+ }
1703
+
1704
+ .input-append input:focus,
1705
+ .input-prepend input:focus,
1706
+ .input-append select:focus,
1707
+ .input-prepend select:focus,
1708
+ .input-append .uneditable-input:focus,
1709
+ .input-prepend .uneditable-input:focus {
1710
+ z-index: 2;
1711
+ }
1712
+
1713
+ .input-append .add-on,
1714
+ .input-prepend .add-on {
1715
+ display: inline-block;
1716
+ width: auto;
1717
+ height: 20px;
1718
+ min-width: 16px;
1719
+ padding: 4px 5px;
1720
+ font-size: 14px;
1721
+ font-weight: normal;
1722
+ line-height: 20px;
1723
+ text-align: center;
1724
+ text-shadow: 0 1px 0 #ffffff;
1725
+ background-color: #eeeeee;
1726
+ border: 1px solid #ccc;
1727
+ }
1728
+
1729
+ .input-append .add-on,
1730
+ .input-prepend .add-on,
1731
+ .input-append .btn,
1732
+ .input-prepend .btn,
1733
+ .input-append .btn-group > .dropdown-toggle,
1734
+ .input-prepend .btn-group > .dropdown-toggle {
1735
+ vertical-align: top;
1736
+ -webkit-border-radius: 0;
1737
+ -moz-border-radius: 0;
1738
+ border-radius: 0;
1739
+ }
1740
+
1741
+ .input-append .active,
1742
+ .input-prepend .active {
1743
+ background-color: #a9dba9;
1744
+ border-color: #46a546;
1745
+ }
1746
+
1747
+ .input-prepend .add-on,
1748
+ .input-prepend .btn {
1749
+ margin-right: -1px;
1750
+ }
1751
+
1752
+ .input-prepend .add-on:first-child,
1753
+ .input-prepend .btn:first-child {
1754
+ -webkit-border-radius: 4px 0 0 4px;
1755
+ -moz-border-radius: 4px 0 0 4px;
1756
+ border-radius: 4px 0 0 4px;
1757
+ }
1758
+
1759
+ .input-append input,
1760
+ .input-append select,
1761
+ .input-append .uneditable-input {
1762
+ -webkit-border-radius: 4px 0 0 4px;
1763
+ -moz-border-radius: 4px 0 0 4px;
1764
+ border-radius: 4px 0 0 4px;
1765
+ }
1766
+
1767
+ .input-append input + .btn-group .btn:last-child,
1768
+ .input-append select + .btn-group .btn:last-child,
1769
+ .input-append .uneditable-input + .btn-group .btn:last-child {
1770
+ -webkit-border-radius: 0 4px 4px 0;
1771
+ -moz-border-radius: 0 4px 4px 0;
1772
+ border-radius: 0 4px 4px 0;
1773
+ }
1774
+
1775
+ .input-append .add-on,
1776
+ .input-append .btn,
1777
+ .input-append .btn-group {
1778
+ margin-left: -1px;
1779
+ }
1780
+
1781
+ .input-append .add-on:last-child,
1782
+ .input-append .btn:last-child,
1783
+ .input-append .btn-group:last-child > .dropdown-toggle {
1784
+ -webkit-border-radius: 0 4px 4px 0;
1785
+ -moz-border-radius: 0 4px 4px 0;
1786
+ border-radius: 0 4px 4px 0;
1787
+ }
1788
+
1789
+ .input-prepend.input-append input,
1790
+ .input-prepend.input-append select,
1791
+ .input-prepend.input-append .uneditable-input {
1792
+ -webkit-border-radius: 0;
1793
+ -moz-border-radius: 0;
1794
+ border-radius: 0;
1795
+ }
1796
+
1797
+ .input-prepend.input-append input + .btn-group .btn,
1798
+ .input-prepend.input-append select + .btn-group .btn,
1799
+ .input-prepend.input-append .uneditable-input + .btn-group .btn {
1800
+ -webkit-border-radius: 0 4px 4px 0;
1801
+ -moz-border-radius: 0 4px 4px 0;
1802
+ border-radius: 0 4px 4px 0;
1803
+ }
1804
+
1805
+ .input-prepend.input-append .add-on:first-child,
1806
+ .input-prepend.input-append .btn:first-child {
1807
+ margin-right: -1px;
1808
+ -webkit-border-radius: 4px 0 0 4px;
1809
+ -moz-border-radius: 4px 0 0 4px;
1810
+ border-radius: 4px 0 0 4px;
1811
+ }
1812
+
1813
+ .input-prepend.input-append .add-on:last-child,
1814
+ .input-prepend.input-append .btn:last-child {
1815
+ margin-left: -1px;
1816
+ -webkit-border-radius: 0 4px 4px 0;
1817
+ -moz-border-radius: 0 4px 4px 0;
1818
+ border-radius: 0 4px 4px 0;
1819
+ }
1820
+
1821
+ .input-prepend.input-append .btn-group:first-child {
1822
+ margin-left: 0;
1823
+ }
1824
+
1825
+ input.search-query {
1826
+ padding-right: 14px;
1827
+ padding-right: 4px \9;
1828
+ padding-left: 14px;
1829
+ padding-left: 4px \9;
1830
+ /* IE7-8 doesn't have border-radius, so don't indent the padding */
1831
+
1832
+ margin-bottom: 0;
1833
+ -webkit-border-radius: 15px;
1834
+ -moz-border-radius: 15px;
1835
+ border-radius: 15px;
1836
+ }
1837
+
1838
+ /* Allow for input prepend/append in search forms */
1839
+
1840
+ .form-search .input-append .search-query,
1841
+ .form-search .input-prepend .search-query {
1842
+ -webkit-border-radius: 0;
1843
+ -moz-border-radius: 0;
1844
+ border-radius: 0;
1845
+ }
1846
+
1847
+ .form-search .input-append .search-query {
1848
+ -webkit-border-radius: 14px 0 0 14px;
1849
+ -moz-border-radius: 14px 0 0 14px;
1850
+ border-radius: 14px 0 0 14px;
1851
+ }
1852
+
1853
+ .form-search .input-append .btn {
1854
+ -webkit-border-radius: 0 14px 14px 0;
1855
+ -moz-border-radius: 0 14px 14px 0;
1856
+ border-radius: 0 14px 14px 0;
1857
+ }
1858
+
1859
+ .form-search .input-prepend .search-query {
1860
+ -webkit-border-radius: 0 14px 14px 0;
1861
+ -moz-border-radius: 0 14px 14px 0;
1862
+ border-radius: 0 14px 14px 0;
1863
+ }
1864
+
1865
+ .form-search .input-prepend .btn {
1866
+ -webkit-border-radius: 14px 0 0 14px;
1867
+ -moz-border-radius: 14px 0 0 14px;
1868
+ border-radius: 14px 0 0 14px;
1869
+ }
1870
+
1871
+ .form-search input,
1872
+ .form-inline input,
1873
+ .form-horizontal input,
1874
+ .form-search textarea,
1875
+ .form-inline textarea,
1876
+ .form-horizontal textarea,
1877
+ .form-search select,
1878
+ .form-inline select,
1879
+ .form-horizontal select,
1880
+ .form-search .help-inline,
1881
+ .form-inline .help-inline,
1882
+ .form-horizontal .help-inline,
1883
+ .form-search .uneditable-input,
1884
+ .form-inline .uneditable-input,
1885
+ .form-horizontal .uneditable-input,
1886
+ .form-search .input-prepend,
1887
+ .form-inline .input-prepend,
1888
+ .form-horizontal .input-prepend,
1889
+ .form-search .input-append,
1890
+ .form-inline .input-append,
1891
+ .form-horizontal .input-append {
1892
+ display: inline-block;
1893
+ *display: inline;
1894
+ margin-bottom: 0;
1895
+ vertical-align: middle;
1896
+ *zoom: 1;
1897
+ }
1898
+
1899
+ .form-search .hide,
1900
+ .form-inline .hide,
1901
+ .form-horizontal .hide {
1902
+ display: none;
1903
+ }
1904
+
1905
+ .form-search label,
1906
+ .form-inline label,
1907
+ .form-search .btn-group,
1908
+ .form-inline .btn-group {
1909
+ display: inline-block;
1910
+ }
1911
+
1912
+ .form-search .input-append,
1913
+ .form-inline .input-append,
1914
+ .form-search .input-prepend,
1915
+ .form-inline .input-prepend {
1916
+ margin-bottom: 0;
1917
+ }
1918
+
1919
+ .form-search .radio,
1920
+ .form-search .checkbox,
1921
+ .form-inline .radio,
1922
+ .form-inline .checkbox {
1923
+ padding-left: 0;
1924
+ margin-bottom: 0;
1925
+ vertical-align: middle;
1926
+ }
1927
+
1928
+ .form-search .radio input[type="radio"],
1929
+ .form-search .checkbox input[type="checkbox"],
1930
+ .form-inline .radio input[type="radio"],
1931
+ .form-inline .checkbox input[type="checkbox"] {
1932
+ float: left;
1933
+ margin-right: 3px;
1934
+ margin-left: 0;
1935
+ }
1936
+
1937
+ .control-group {
1938
+ margin-bottom: 10px;
1939
+ }
1940
+
1941
+ legend + .control-group {
1942
+ margin-top: 20px;
1943
+ -webkit-margin-top-collapse: separate;
1944
+ }
1945
+
1946
+ .form-horizontal .control-group {
1947
+ margin-bottom: 20px;
1948
+ *zoom: 1;
1949
+ }
1950
+
1951
+ .form-horizontal .control-group:before,
1952
+ .form-horizontal .control-group:after {
1953
+ display: table;
1954
+ line-height: 0;
1955
+ content: "";
1956
+ }
1957
+
1958
+ .form-horizontal .control-group:after {
1959
+ clear: both;
1960
+ }
1961
+
1962
+ .form-horizontal .control-label {
1963
+ float: left;
1964
+ width: 160px;
1965
+ padding-top: 5px;
1966
+ text-align: right;
1967
+ }
1968
+
1969
+ .form-horizontal .controls {
1970
+ *display: inline-block;
1971
+ *padding-left: 20px;
1972
+ margin-left: 180px;
1973
+ *margin-left: 0;
1974
+ }
1975
+
1976
+ .form-horizontal .controls:first-child {
1977
+ *padding-left: 180px;
1978
+ }
1979
+
1980
+ .form-horizontal .help-block {
1981
+ margin-bottom: 0;
1982
+ }
1983
+
1984
+ .form-horizontal input + .help-block,
1985
+ .form-horizontal select + .help-block,
1986
+ .form-horizontal textarea + .help-block,
1987
+ .form-horizontal .uneditable-input + .help-block,
1988
+ .form-horizontal .input-prepend + .help-block,
1989
+ .form-horizontal .input-append + .help-block {
1990
+ margin-top: 10px;
1991
+ }
1992
+
1993
+ .form-horizontal .form-actions {
1994
+ padding-left: 180px;
1995
+ }
1996
+
1997
+ table {
1998
+ max-width: 100%;
1999
+ background-color: transparent;
2000
+ border-collapse: collapse;
2001
+ border-spacing: 0;
2002
+ }
2003
+
2004
+ .table {
2005
+ width: 100%;
2006
+ margin-bottom: 20px;
2007
+ }
2008
+
2009
+ .table th,
2010
+ .table td {
2011
+ padding: 8px;
2012
+ line-height: 20px;
2013
+ text-align: left;
2014
+ vertical-align: top;
2015
+ border-top: 1px solid #dddddd;
2016
+ }
2017
+
2018
+ .table th {
2019
+ font-weight: bold;
2020
+ }
2021
+
2022
+ .table thead th {
2023
+ vertical-align: bottom;
2024
+ }
2025
+
2026
+ .table caption + thead tr:first-child th,
2027
+ .table caption + thead tr:first-child td,
2028
+ .table colgroup + thead tr:first-child th,
2029
+ .table colgroup + thead tr:first-child td,
2030
+ .table thead:first-child tr:first-child th,
2031
+ .table thead:first-child tr:first-child td {
2032
+ border-top: 0;
2033
+ }
2034
+
2035
+ .table tbody + tbody {
2036
+ border-top: 2px solid #dddddd;
2037
+ }
2038
+
2039
+ .table .table {
2040
+ background-color: #ffffff;
2041
+ }
2042
+
2043
+ .table-condensed th,
2044
+ .table-condensed td {
2045
+ padding: 4px 5px;
2046
+ }
2047
+
2048
+ .table-bordered {
2049
+ border: 1px solid #dddddd;
2050
+ border-collapse: separate;
2051
+ *border-collapse: collapse;
2052
+ border-left: 0;
2053
+ -webkit-border-radius: 4px;
2054
+ -moz-border-radius: 4px;
2055
+ border-radius: 4px;
2056
+ }
2057
+
2058
+ .table-bordered th,
2059
+ .table-bordered td {
2060
+ border-left: 1px solid #dddddd;
2061
+ }
2062
+
2063
+ .table-bordered caption + thead tr:first-child th,
2064
+ .table-bordered caption + tbody tr:first-child th,
2065
+ .table-bordered caption + tbody tr:first-child td,
2066
+ .table-bordered colgroup + thead tr:first-child th,
2067
+ .table-bordered colgroup + tbody tr:first-child th,
2068
+ .table-bordered colgroup + tbody tr:first-child td,
2069
+ .table-bordered thead:first-child tr:first-child th,
2070
+ .table-bordered tbody:first-child tr:first-child th,
2071
+ .table-bordered tbody:first-child tr:first-child td {
2072
+ border-top: 0;
2073
+ }
2074
+
2075
+ .table-bordered thead:first-child tr:first-child > th:first-child,
2076
+ .table-bordered tbody:first-child tr:first-child > td:first-child,
2077
+ .table-bordered tbody:first-child tr:first-child > th:first-child {
2078
+ -webkit-border-top-left-radius: 4px;
2079
+ border-top-left-radius: 4px;
2080
+ -moz-border-radius-topleft: 4px;
2081
+ }
2082
+
2083
+ .table-bordered thead:first-child tr:first-child > th:last-child,
2084
+ .table-bordered tbody:first-child tr:first-child > td:last-child,
2085
+ .table-bordered tbody:first-child tr:first-child > th:last-child {
2086
+ -webkit-border-top-right-radius: 4px;
2087
+ border-top-right-radius: 4px;
2088
+ -moz-border-radius-topright: 4px;
2089
+ }
2090
+
2091
+ .table-bordered thead:last-child tr:last-child > th:first-child,
2092
+ .table-bordered tbody:last-child tr:last-child > td:first-child,
2093
+ .table-bordered tbody:last-child tr:last-child > th:first-child,
2094
+ .table-bordered tfoot:last-child tr:last-child > td:first-child,
2095
+ .table-bordered tfoot:last-child tr:last-child > th:first-child {
2096
+ -webkit-border-bottom-left-radius: 4px;
2097
+ border-bottom-left-radius: 4px;
2098
+ -moz-border-radius-bottomleft: 4px;
2099
+ }
2100
+
2101
+ .table-bordered thead:last-child tr:last-child > th:last-child,
2102
+ .table-bordered tbody:last-child tr:last-child > td:last-child,
2103
+ .table-bordered tbody:last-child tr:last-child > th:last-child,
2104
+ .table-bordered tfoot:last-child tr:last-child > td:last-child,
2105
+ .table-bordered tfoot:last-child tr:last-child > th:last-child {
2106
+ -webkit-border-bottom-right-radius: 4px;
2107
+ border-bottom-right-radius: 4px;
2108
+ -moz-border-radius-bottomright: 4px;
2109
+ }
2110
+
2111
+ .table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
2112
+ -webkit-border-bottom-left-radius: 0;
2113
+ border-bottom-left-radius: 0;
2114
+ -moz-border-radius-bottomleft: 0;
2115
+ }
2116
+
2117
+ .table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
2118
+ -webkit-border-bottom-right-radius: 0;
2119
+ border-bottom-right-radius: 0;
2120
+ -moz-border-radius-bottomright: 0;
2121
+ }
2122
+
2123
+ .table-bordered caption + thead tr:first-child th:first-child,
2124
+ .table-bordered caption + tbody tr:first-child td:first-child,
2125
+ .table-bordered colgroup + thead tr:first-child th:first-child,
2126
+ .table-bordered colgroup + tbody tr:first-child td:first-child {
2127
+ -webkit-border-top-left-radius: 4px;
2128
+ border-top-left-radius: 4px;
2129
+ -moz-border-radius-topleft: 4px;
2130
+ }
2131
+
2132
+ .table-bordered caption + thead tr:first-child th:last-child,
2133
+ .table-bordered caption + tbody tr:first-child td:last-child,
2134
+ .table-bordered colgroup + thead tr:first-child th:last-child,
2135
+ .table-bordered colgroup + tbody tr:first-child td:last-child {
2136
+ -webkit-border-top-right-radius: 4px;
2137
+ border-top-right-radius: 4px;
2138
+ -moz-border-radius-topright: 4px;
2139
+ }
2140
+
2141
+ .table-striped tbody > tr:nth-child(odd) > td,
2142
+ .table-striped tbody > tr:nth-child(odd) > th {
2143
+ background-color: #f9f9f9;
2144
+ }
2145
+
2146
+ .table-hover tbody tr:hover > td,
2147
+ .table-hover tbody tr:hover > th {
2148
+ background-color: #f5f5f5;
2149
+ }
2150
+
2151
+ table td[class*="span"],
2152
+ table th[class*="span"],
2153
+ .row-fluid table td[class*="span"],
2154
+ .row-fluid table th[class*="span"] {
2155
+ display: table-cell;
2156
+ float: none;
2157
+ margin-left: 0;
2158
+ }
2159
+
2160
+ .table td.span1,
2161
+ .table th.span1 {
2162
+ float: none;
2163
+ width: 44px;
2164
+ margin-left: 0;
2165
+ }
2166
+
2167
+ .table td.span2,
2168
+ .table th.span2 {
2169
+ float: none;
2170
+ width: 124px;
2171
+ margin-left: 0;
2172
+ }
2173
+
2174
+ .table td.span3,
2175
+ .table th.span3 {
2176
+ float: none;
2177
+ width: 204px;
2178
+ margin-left: 0;
2179
+ }
2180
+
2181
+ .table td.span4,
2182
+ .table th.span4 {
2183
+ float: none;
2184
+ width: 284px;
2185
+ margin-left: 0;
2186
+ }
2187
+
2188
+ .table td.span5,
2189
+ .table th.span5 {
2190
+ float: none;
2191
+ width: 364px;
2192
+ margin-left: 0;
2193
+ }
2194
+
2195
+ .table td.span6,
2196
+ .table th.span6 {
2197
+ float: none;
2198
+ width: 444px;
2199
+ margin-left: 0;
2200
+ }
2201
+
2202
+ .table td.span7,
2203
+ .table th.span7 {
2204
+ float: none;
2205
+ width: 524px;
2206
+ margin-left: 0;
2207
+ }
2208
+
2209
+ .table td.span8,
2210
+ .table th.span8 {
2211
+ float: none;
2212
+ width: 604px;
2213
+ margin-left: 0;
2214
+ }
2215
+
2216
+ .table td.span9,
2217
+ .table th.span9 {
2218
+ float: none;
2219
+ width: 684px;
2220
+ margin-left: 0;
2221
+ }
2222
+
2223
+ .table td.span10,
2224
+ .table th.span10 {
2225
+ float: none;
2226
+ width: 764px;
2227
+ margin-left: 0;
2228
+ }
2229
+
2230
+ .table td.span11,
2231
+ .table th.span11 {
2232
+ float: none;
2233
+ width: 844px;
2234
+ margin-left: 0;
2235
+ }
2236
+
2237
+ .table td.span12,
2238
+ .table th.span12 {
2239
+ float: none;
2240
+ width: 924px;
2241
+ margin-left: 0;
2242
+ }
2243
+
2244
+ .table tbody tr.success > td {
2245
+ background-color: #dff0d8;
2246
+ }
2247
+
2248
+ .table tbody tr.error > td {
2249
+ background-color: #f2dede;
2250
+ }
2251
+
2252
+ .table tbody tr.warning > td {
2253
+ background-color: #fcf8e3;
2254
+ }
2255
+
2256
+ .table tbody tr.info > td {
2257
+ background-color: #d9edf7;
2258
+ }
2259
+
2260
+ .table-hover tbody tr.success:hover > td {
2261
+ background-color: #d0e9c6;
2262
+ }
2263
+
2264
+ .table-hover tbody tr.error:hover > td {
2265
+ background-color: #ebcccc;
2266
+ }
2267
+
2268
+ .table-hover tbody tr.warning:hover > td {
2269
+ background-color: #faf2cc;
2270
+ }
2271
+
2272
+ .table-hover tbody tr.info:hover > td {
2273
+ background-color: #c4e3f3;
2274
+ }
2275
+
2276
+ [class^="icon-"],
2277
+ [class*=" icon-"] {
2278
+ display: inline-block;
2279
+ width: 14px;
2280
+ height: 14px;
2281
+ margin-top: 1px;
2282
+ *margin-right: .3em;
2283
+ line-height: 14px;
2284
+ vertical-align: text-top;
2285
+ background-image: url("../img/glyphicons-halflings.png");
2286
+ background-position: 14px 14px;
2287
+ background-repeat: no-repeat;
2288
+ }
2289
+
2290
+ /* White icons with optional class, or on hover/focus/active states of certain elements */
2291
+
2292
+ .icon-white,
2293
+ .nav-pills > .active > a > [class^="icon-"],
2294
+ .nav-pills > .active > a > [class*=" icon-"],
2295
+ .nav-list > .active > a > [class^="icon-"],
2296
+ .nav-list > .active > a > [class*=" icon-"],
2297
+ .navbar-inverse .nav > .active > a > [class^="icon-"],
2298
+ .navbar-inverse .nav > .active > a > [class*=" icon-"],
2299
+ .dropdown-menu > li > a:hover > [class^="icon-"],
2300
+ .dropdown-menu > li > a:focus > [class^="icon-"],
2301
+ .dropdown-menu > li > a:hover > [class*=" icon-"],
2302
+ .dropdown-menu > li > a:focus > [class*=" icon-"],
2303
+ .dropdown-menu > .active > a > [class^="icon-"],
2304
+ .dropdown-menu > .active > a > [class*=" icon-"],
2305
+ .dropdown-submenu:hover > a > [class^="icon-"],
2306
+ .dropdown-submenu:focus > a > [class^="icon-"],
2307
+ .dropdown-submenu:hover > a > [class*=" icon-"],
2308
+ .dropdown-submenu:focus > a > [class*=" icon-"] {
2309
+ background-image: url("../img/glyphicons-halflings-white.png");
2310
+ }
2311
+
2312
+ .icon-glass {
2313
+ background-position: 0 0;
2314
+ }
2315
+
2316
+ .icon-music {
2317
+ background-position: -24px 0;
2318
+ }
2319
+
2320
+ .icon-search {
2321
+ background-position: -48px 0;
2322
+ }
2323
+
2324
+ .icon-envelope {
2325
+ background-position: -72px 0;
2326
+ }
2327
+
2328
+ .icon-heart {
2329
+ background-position: -96px 0;
2330
+ }
2331
+
2332
+ .icon-star {
2333
+ background-position: -120px 0;
2334
+ }
2335
+
2336
+ .icon-star-empty {
2337
+ background-position: -144px 0;
2338
+ }
2339
+
2340
+ .icon-user {
2341
+ background-position: -168px 0;
2342
+ }
2343
+
2344
+ .icon-film {
2345
+ background-position: -192px 0;
2346
+ }
2347
+
2348
+ .icon-th-large {
2349
+ background-position: -216px 0;
2350
+ }
2351
+
2352
+ .icon-th {
2353
+ background-position: -240px 0;
2354
+ }
2355
+
2356
+ .icon-th-list {
2357
+ background-position: -264px 0;
2358
+ }
2359
+
2360
+ .icon-ok {
2361
+ background-position: -288px 0;
2362
+ }
2363
+
2364
+ .icon-remove {
2365
+ background-position: -312px 0;
2366
+ }
2367
+
2368
+ .icon-zoom-in {
2369
+ background-position: -336px 0;
2370
+ }
2371
+
2372
+ .icon-zoom-out {
2373
+ background-position: -360px 0;
2374
+ }
2375
+
2376
+ .icon-off {
2377
+ background-position: -384px 0;
2378
+ }
2379
+
2380
+ .icon-signal {
2381
+ background-position: -408px 0;
2382
+ }
2383
+
2384
+ .icon-cog {
2385
+ background-position: -432px 0;
2386
+ }
2387
+
2388
+ .icon-trash {
2389
+ background-position: -456px 0;
2390
+ }
2391
+
2392
+ .icon-home {
2393
+ background-position: 0 -24px;
2394
+ }
2395
+
2396
+ .icon-file {
2397
+ background-position: -24px -24px;
2398
+ }
2399
+
2400
+ .icon-time {
2401
+ background-position: -48px -24px;
2402
+ }
2403
+
2404
+ .icon-road {
2405
+ background-position: -72px -24px;
2406
+ }
2407
+
2408
+ .icon-download-alt {
2409
+ background-position: -96px -24px;
2410
+ }
2411
+
2412
+ .icon-download {
2413
+ background-position: -120px -24px;
2414
+ }
2415
+
2416
+ .icon-upload {
2417
+ background-position: -144px -24px;
2418
+ }
2419
+
2420
+ .icon-inbox {
2421
+ background-position: -168px -24px;
2422
+ }
2423
+
2424
+ .icon-play-circle {
2425
+ background-position: -192px -24px;
2426
+ }
2427
+
2428
+ .icon-repeat {
2429
+ background-position: -216px -24px;
2430
+ }
2431
+
2432
+ .icon-refresh {
2433
+ background-position: -240px -24px;
2434
+ }
2435
+
2436
+ .icon-list-alt {
2437
+ background-position: -264px -24px;
2438
+ }
2439
+
2440
+ .icon-lock {
2441
+ background-position: -287px -24px;
2442
+ }
2443
+
2444
+ .icon-flag {
2445
+ background-position: -312px -24px;
2446
+ }
2447
+
2448
+ .icon-headphones {
2449
+ background-position: -336px -24px;
2450
+ }
2451
+
2452
+ .icon-volume-off {
2453
+ background-position: -360px -24px;
2454
+ }
2455
+
2456
+ .icon-volume-down {
2457
+ background-position: -384px -24px;
2458
+ }
2459
+
2460
+ .icon-volume-up {
2461
+ background-position: -408px -24px;
2462
+ }
2463
+
2464
+ .icon-qrcode {
2465
+ background-position: -432px -24px;
2466
+ }
2467
+
2468
+ .icon-barcode {
2469
+ background-position: -456px -24px;
2470
+ }
2471
+
2472
+ .icon-tag {
2473
+ background-position: 0 -48px;
2474
+ }
2475
+
2476
+ .icon-tags {
2477
+ background-position: -25px -48px;
2478
+ }
2479
+
2480
+ .icon-book {
2481
+ background-position: -48px -48px;
2482
+ }
2483
+
2484
+ .icon-bookmark {
2485
+ background-position: -72px -48px;
2486
+ }
2487
+
2488
+ .icon-print {
2489
+ background-position: -96px -48px;
2490
+ }
2491
+
2492
+ .icon-camera {
2493
+ background-position: -120px -48px;
2494
+ }
2495
+
2496
+ .icon-font {
2497
+ background-position: -144px -48px;
2498
+ }
2499
+
2500
+ .icon-bold {
2501
+ background-position: -167px -48px;
2502
+ }
2503
+
2504
+ .icon-italic {
2505
+ background-position: -192px -48px;
2506
+ }
2507
+
2508
+ .icon-text-height {
2509
+ background-position: -216px -48px;
2510
+ }
2511
+
2512
+ .icon-text-width {
2513
+ background-position: -240px -48px;
2514
+ }
2515
+
2516
+ .icon-align-left {
2517
+ background-position: -264px -48px;
2518
+ }
2519
+
2520
+ .icon-align-center {
2521
+ background-position: -288px -48px;
2522
+ }
2523
+
2524
+ .icon-align-right {
2525
+ background-position: -312px -48px;
2526
+ }
2527
+
2528
+ .icon-align-justify {
2529
+ background-position: -336px -48px;
2530
+ }
2531
+
2532
+ .icon-list {
2533
+ background-position: -360px -48px;
2534
+ }
2535
+
2536
+ .icon-indent-left {
2537
+ background-position: -384px -48px;
2538
+ }
2539
+
2540
+ .icon-indent-right {
2541
+ background-position: -408px -48px;
2542
+ }
2543
+
2544
+ .icon-facetime-video {
2545
+ background-position: -432px -48px;
2546
+ }
2547
+
2548
+ .icon-picture {
2549
+ background-position: -456px -48px;
2550
+ }
2551
+
2552
+ .icon-pencil {
2553
+ background-position: 0 -72px;
2554
+ }
2555
+
2556
+ .icon-map-marker {
2557
+ background-position: -24px -72px;
2558
+ }
2559
+
2560
+ .icon-adjust {
2561
+ background-position: -48px -72px;
2562
+ }
2563
+
2564
+ .icon-tint {
2565
+ background-position: -72px -72px;
2566
+ }
2567
+
2568
+ .icon-edit {
2569
+ background-position: -96px -72px;
2570
+ }
2571
+
2572
+ .icon-share {
2573
+ background-position: -120px -72px;
2574
+ }
2575
+
2576
+ .icon-check {
2577
+ background-position: -144px -72px;
2578
+ }
2579
+
2580
+ .icon-move {
2581
+ background-position: -168px -72px;
2582
+ }
2583
+
2584
+ .icon-step-backward {
2585
+ background-position: -192px -72px;
2586
+ }
2587
+
2588
+ .icon-fast-backward {
2589
+ background-position: -216px -72px;
2590
+ }
2591
+
2592
+ .icon-backward {
2593
+ background-position: -240px -72px;
2594
+ }
2595
+
2596
+ .icon-play {
2597
+ background-position: -264px -72px;
2598
+ }
2599
+
2600
+ .icon-pause {
2601
+ background-position: -288px -72px;
2602
+ }
2603
+
2604
+ .icon-stop {
2605
+ background-position: -312px -72px;
2606
+ }
2607
+
2608
+ .icon-forward {
2609
+ background-position: -336px -72px;
2610
+ }
2611
+
2612
+ .icon-fast-forward {
2613
+ background-position: -360px -72px;
2614
+ }
2615
+
2616
+ .icon-step-forward {
2617
+ background-position: -384px -72px;
2618
+ }
2619
+
2620
+ .icon-eject {
2621
+ background-position: -408px -72px;
2622
+ }
2623
+
2624
+ .icon-chevron-left {
2625
+ background-position: -432px -72px;
2626
+ }
2627
+
2628
+ .icon-chevron-right {
2629
+ background-position: -456px -72px;
2630
+ }
2631
+
2632
+ .icon-plus-sign {
2633
+ background-position: 0 -96px;
2634
+ }
2635
+
2636
+ .icon-minus-sign {
2637
+ background-position: -24px -96px;
2638
+ }
2639
+
2640
+ .icon-remove-sign {
2641
+ background-position: -48px -96px;
2642
+ }
2643
+
2644
+ .icon-ok-sign {
2645
+ background-position: -72px -96px;
2646
+ }
2647
+
2648
+ .icon-question-sign {
2649
+ background-position: -96px -96px;
2650
+ }
2651
+
2652
+ .icon-info-sign {
2653
+ background-position: -120px -96px;
2654
+ }
2655
+
2656
+ .icon-screenshot {
2657
+ background-position: -144px -96px;
2658
+ }
2659
+
2660
+ .icon-remove-circle {
2661
+ background-position: -168px -96px;
2662
+ }
2663
+
2664
+ .icon-ok-circle {
2665
+ background-position: -192px -96px;
2666
+ }
2667
+
2668
+ .icon-ban-circle {
2669
+ background-position: -216px -96px;
2670
+ }
2671
+
2672
+ .icon-arrow-left {
2673
+ background-position: -240px -96px;
2674
+ }
2675
+
2676
+ .icon-arrow-right {
2677
+ background-position: -264px -96px;
2678
+ }
2679
+
2680
+ .icon-arrow-up {
2681
+ background-position: -289px -96px;
2682
+ }
2683
+
2684
+ .icon-arrow-down {
2685
+ background-position: -312px -96px;
2686
+ }
2687
+
2688
+ .icon-share-alt {
2689
+ background-position: -336px -96px;
2690
+ }
2691
+
2692
+ .icon-resize-full {
2693
+ background-position: -360px -96px;
2694
+ }
2695
+
2696
+ .icon-resize-small {
2697
+ background-position: -384px -96px;
2698
+ }
2699
+
2700
+ .icon-plus {
2701
+ background-position: -408px -96px;
2702
+ }
2703
+
2704
+ .icon-minus {
2705
+ background-position: -433px -96px;
2706
+ }
2707
+
2708
+ .icon-asterisk {
2709
+ background-position: -456px -96px;
2710
+ }
2711
+
2712
+ .icon-exclamation-sign {
2713
+ background-position: 0 -120px;
2714
+ }
2715
+
2716
+ .icon-gift {
2717
+ background-position: -24px -120px;
2718
+ }
2719
+
2720
+ .icon-leaf {
2721
+ background-position: -48px -120px;
2722
+ }
2723
+
2724
+ .icon-fire {
2725
+ background-position: -72px -120px;
2726
+ }
2727
+
2728
+ .icon-eye-open {
2729
+ background-position: -96px -120px;
2730
+ }
2731
+
2732
+ .icon-eye-close {
2733
+ background-position: -120px -120px;
2734
+ }
2735
+
2736
+ .icon-warning-sign {
2737
+ background-position: -144px -120px;
2738
+ }
2739
+
2740
+ .icon-plane {
2741
+ background-position: -168px -120px;
2742
+ }
2743
+
2744
+ .icon-calendar {
2745
+ background-position: -192px -120px;
2746
+ }
2747
+
2748
+ .icon-random {
2749
+ width: 16px;
2750
+ background-position: -216px -120px;
2751
+ }
2752
+
2753
+ .icon-comment {
2754
+ background-position: -240px -120px;
2755
+ }
2756
+
2757
+ .icon-magnet {
2758
+ background-position: -264px -120px;
2759
+ }
2760
+
2761
+ .icon-chevron-up {
2762
+ background-position: -288px -120px;
2763
+ }
2764
+
2765
+ .icon-chevron-down {
2766
+ background-position: -313px -119px;
2767
+ }
2768
+
2769
+ .icon-retweet {
2770
+ background-position: -336px -120px;
2771
+ }
2772
+
2773
+ .icon-shopping-cart {
2774
+ background-position: -360px -120px;
2775
+ }
2776
+
2777
+ .icon-folder-close {
2778
+ width: 16px;
2779
+ background-position: -384px -120px;
2780
+ }
2781
+
2782
+ .icon-folder-open {
2783
+ width: 16px;
2784
+ background-position: -408px -120px;
2785
+ }
2786
+
2787
+ .icon-resize-vertical {
2788
+ background-position: -432px -119px;
2789
+ }
2790
+
2791
+ .icon-resize-horizontal {
2792
+ background-position: -456px -118px;
2793
+ }
2794
+
2795
+ .icon-hdd {
2796
+ background-position: 0 -144px;
2797
+ }
2798
+
2799
+ .icon-bullhorn {
2800
+ background-position: -24px -144px;
2801
+ }
2802
+
2803
+ .icon-bell {
2804
+ background-position: -48px -144px;
2805
+ }
2806
+
2807
+ .icon-certificate {
2808
+ background-position: -72px -144px;
2809
+ }
2810
+
2811
+ .icon-thumbs-up {
2812
+ background-position: -96px -144px;
2813
+ }
2814
+
2815
+ .icon-thumbs-down {
2816
+ background-position: -120px -144px;
2817
+ }
2818
+
2819
+ .icon-hand-right {
2820
+ background-position: -144px -144px;
2821
+ }
2822
+
2823
+ .icon-hand-left {
2824
+ background-position: -168px -144px;
2825
+ }
2826
+
2827
+ .icon-hand-up {
2828
+ background-position: -192px -144px;
2829
+ }
2830
+
2831
+ .icon-hand-down {
2832
+ background-position: -216px -144px;
2833
+ }
2834
+
2835
+ .icon-circle-arrow-right {
2836
+ background-position: -240px -144px;
2837
+ }
2838
+
2839
+ .icon-circle-arrow-left {
2840
+ background-position: -264px -144px;
2841
+ }
2842
+
2843
+ .icon-circle-arrow-up {
2844
+ background-position: -288px -144px;
2845
+ }
2846
+
2847
+ .icon-circle-arrow-down {
2848
+ background-position: -312px -144px;
2849
+ }
2850
+
2851
+ .icon-globe {
2852
+ background-position: -336px -144px;
2853
+ }
2854
+
2855
+ .icon-wrench {
2856
+ background-position: -360px -144px;
2857
+ }
2858
+
2859
+ .icon-tasks {
2860
+ background-position: -384px -144px;
2861
+ }
2862
+
2863
+ .icon-filter {
2864
+ background-position: -408px -144px;
2865
+ }
2866
+
2867
+ .icon-briefcase {
2868
+ background-position: -432px -144px;
2869
+ }
2870
+
2871
+ .icon-fullscreen {
2872
+ background-position: -456px -144px;
2873
+ }
2874
+
2875
+ .dropup,
2876
+ .dropdown {
2877
+ position: relative;
2878
+ }
2879
+
2880
+ .dropdown-toggle {
2881
+ *margin-bottom: -3px;
2882
+ }
2883
+
2884
+ .dropdown-toggle:active,
2885
+ .open .dropdown-toggle {
2886
+ outline: 0;
2887
+ }
2888
+
2889
+ .caret {
2890
+ display: inline-block;
2891
+ width: 0;
2892
+ height: 0;
2893
+ vertical-align: top;
2894
+ border-top: 4px solid #000000;
2895
+ border-right: 4px solid transparent;
2896
+ border-left: 4px solid transparent;
2897
+ content: "";
2898
+ }
2899
+
2900
+ .dropdown .caret {
2901
+ margin-top: 8px;
2902
+ margin-left: 2px;
2903
+ }
2904
+
2905
+ .dropdown-menu {
2906
+ position: absolute;
2907
+ top: 100%;
2908
+ left: 0;
2909
+ z-index: 1000;
2910
+ display: none;
2911
+ float: left;
2912
+ min-width: 160px;
2913
+ padding: 5px 0;
2914
+ margin: 2px 0 0;
2915
+ list-style: none;
2916
+ background-color: #ffffff;
2917
+ border: 1px solid #ccc;
2918
+ border: 1px solid rgba(0, 0, 0, 0.2);
2919
+ *border-right-width: 2px;
2920
+ *border-bottom-width: 2px;
2921
+ -webkit-border-radius: 6px;
2922
+ -moz-border-radius: 6px;
2923
+ border-radius: 6px;
2924
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2925
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2926
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2927
+ -webkit-background-clip: padding-box;
2928
+ -moz-background-clip: padding;
2929
+ background-clip: padding-box;
2930
+ }
2931
+
2932
+ .dropdown-menu.pull-right {
2933
+ right: 0;
2934
+ left: auto;
2935
+ }
2936
+
2937
+ .dropdown-menu .divider {
2938
+ *width: 100%;
2939
+ height: 1px;
2940
+ margin: 9px 1px;
2941
+ *margin: -5px 0 5px;
2942
+ overflow: hidden;
2943
+ background-color: #e5e5e5;
2944
+ border-bottom: 1px solid #ffffff;
2945
+ }
2946
+
2947
+ .dropdown-menu > li > a {
2948
+ display: block;
2949
+ padding: 3px 20px;
2950
+ clear: both;
2951
+ font-weight: normal;
2952
+ line-height: 20px;
2953
+ color: #333333;
2954
+ white-space: nowrap;
2955
+ }
2956
+
2957
+ .dropdown-menu > li > a:hover,
2958
+ .dropdown-menu > li > a:focus,
2959
+ .dropdown-submenu:hover > a,
2960
+ .dropdown-submenu:focus > a {
2961
+ color: #ffffff;
2962
+ text-decoration: none;
2963
+ background-color: #0081c2;
2964
+ background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
2965
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
2966
+ background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
2967
+ background-image: -o-linear-gradient(top, #0088cc, #0077b3);
2968
+ background-image: linear-gradient(to bottom, #0088cc, #0077b3);
2969
+ background-repeat: repeat-x;
2970
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
2971
+ }
2972
+
2973
+ .dropdown-menu > .active > a,
2974
+ .dropdown-menu > .active > a:hover,
2975
+ .dropdown-menu > .active > a:focus {
2976
+ color: #ffffff;
2977
+ text-decoration: none;
2978
+ background-color: #0081c2;
2979
+ background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
2980
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
2981
+ background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
2982
+ background-image: -o-linear-gradient(top, #0088cc, #0077b3);
2983
+ background-image: linear-gradient(to bottom, #0088cc, #0077b3);
2984
+ background-repeat: repeat-x;
2985
+ outline: 0;
2986
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
2987
+ }
2988
+
2989
+ .dropdown-menu > .disabled > a,
2990
+ .dropdown-menu > .disabled > a:hover,
2991
+ .dropdown-menu > .disabled > a:focus {
2992
+ color: #999999;
2993
+ }
2994
+
2995
+ .dropdown-menu > .disabled > a:hover,
2996
+ .dropdown-menu > .disabled > a:focus {
2997
+ text-decoration: none;
2998
+ cursor: default;
2999
+ background-color: transparent;
3000
+ background-image: none;
3001
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3002
+ }
3003
+
3004
+ .open {
3005
+ *z-index: 1000;
3006
+ }
3007
+
3008
+ .open > .dropdown-menu {
3009
+ display: block;
3010
+ }
3011
+
3012
+ .dropdown-backdrop {
3013
+ position: fixed;
3014
+ top: 0;
3015
+ right: 0;
3016
+ bottom: 0;
3017
+ left: 0;
3018
+ z-index: 990;
3019
+ }
3020
+
3021
+ .pull-right > .dropdown-menu {
3022
+ right: 0;
3023
+ left: auto;
3024
+ }
3025
+
3026
+ .dropup .caret,
3027
+ .navbar-fixed-bottom .dropdown .caret {
3028
+ border-top: 0;
3029
+ border-bottom: 4px solid #000000;
3030
+ content: "";
3031
+ }
3032
+
3033
+ .dropup .dropdown-menu,
3034
+ .navbar-fixed-bottom .dropdown .dropdown-menu {
3035
+ top: auto;
3036
+ bottom: 100%;
3037
+ margin-bottom: 1px;
3038
+ }
3039
+
3040
+ .dropdown-submenu {
3041
+ position: relative;
3042
+ }
3043
+
3044
+ .dropdown-submenu > .dropdown-menu {
3045
+ top: 0;
3046
+ left: 100%;
3047
+ margin-top: -6px;
3048
+ margin-left: -1px;
3049
+ -webkit-border-radius: 0 6px 6px 6px;
3050
+ -moz-border-radius: 0 6px 6px 6px;
3051
+ border-radius: 0 6px 6px 6px;
3052
+ }
3053
+
3054
+ .dropdown-submenu:hover > .dropdown-menu {
3055
+ display: block;
3056
+ }
3057
+
3058
+ .dropup .dropdown-submenu > .dropdown-menu {
3059
+ top: auto;
3060
+ bottom: 0;
3061
+ margin-top: 0;
3062
+ margin-bottom: -2px;
3063
+ -webkit-border-radius: 5px 5px 5px 0;
3064
+ -moz-border-radius: 5px 5px 5px 0;
3065
+ border-radius: 5px 5px 5px 0;
3066
+ }
3067
+
3068
+ .dropdown-submenu > a:after {
3069
+ display: block;
3070
+ float: right;
3071
+ width: 0;
3072
+ height: 0;
3073
+ margin-top: 5px;
3074
+ margin-right: -10px;
3075
+ border-color: transparent;
3076
+ border-left-color: #cccccc;
3077
+ border-style: solid;
3078
+ border-width: 5px 0 5px 5px;
3079
+ content: " ";
3080
+ }
3081
+
3082
+ .dropdown-submenu:hover > a:after {
3083
+ border-left-color: #ffffff;
3084
+ }
3085
+
3086
+ .dropdown-submenu.pull-left {
3087
+ float: none;
3088
+ }
3089
+
3090
+ .dropdown-submenu.pull-left > .dropdown-menu {
3091
+ left: -100%;
3092
+ margin-left: 10px;
3093
+ -webkit-border-radius: 6px 0 6px 6px;
3094
+ -moz-border-radius: 6px 0 6px 6px;
3095
+ border-radius: 6px 0 6px 6px;
3096
+ }
3097
+
3098
+ .dropdown .dropdown-menu .nav-header {
3099
+ padding-right: 20px;
3100
+ padding-left: 20px;
3101
+ }
3102
+
3103
+ .typeahead {
3104
+ z-index: 1051;
3105
+ margin-top: 2px;
3106
+ -webkit-border-radius: 4px;
3107
+ -moz-border-radius: 4px;
3108
+ border-radius: 4px;
3109
+ }
3110
+
3111
+ .well {
3112
+ min-height: 20px;
3113
+ padding: 19px;
3114
+ margin-bottom: 20px;
3115
+ background-color: #f5f5f5;
3116
+ border: 1px solid #e3e3e3;
3117
+ -webkit-border-radius: 4px;
3118
+ -moz-border-radius: 4px;
3119
+ border-radius: 4px;
3120
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3121
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3122
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3123
+ }
3124
+
3125
+ .well blockquote {
3126
+ border-color: #ddd;
3127
+ border-color: rgba(0, 0, 0, 0.15);
3128
+ }
3129
+
3130
+ .well-large {
3131
+ padding: 24px;
3132
+ -webkit-border-radius: 6px;
3133
+ -moz-border-radius: 6px;
3134
+ border-radius: 6px;
3135
+ }
3136
+
3137
+ .well-small {
3138
+ padding: 9px;
3139
+ -webkit-border-radius: 3px;
3140
+ -moz-border-radius: 3px;
3141
+ border-radius: 3px;
3142
+ }
3143
+
3144
+ .fade {
3145
+ opacity: 0;
3146
+ -webkit-transition: opacity 0.15s linear;
3147
+ -moz-transition: opacity 0.15s linear;
3148
+ -o-transition: opacity 0.15s linear;
3149
+ transition: opacity 0.15s linear;
3150
+ }
3151
+
3152
+ .fade.in {
3153
+ opacity: 1;
3154
+ }
3155
+
3156
+ .collapse {
3157
+ position: relative;
3158
+ height: 0;
3159
+ overflow: hidden;
3160
+ -webkit-transition: height 0.35s ease;
3161
+ -moz-transition: height 0.35s ease;
3162
+ -o-transition: height 0.35s ease;
3163
+ transition: height 0.35s ease;
3164
+ }
3165
+
3166
+ .collapse.in {
3167
+ height: auto;
3168
+ }
3169
+
3170
+ .close {
3171
+ float: right;
3172
+ font-size: 20px;
3173
+ font-weight: bold;
3174
+ line-height: 20px;
3175
+ color: #000000;
3176
+ text-shadow: 0 1px 0 #ffffff;
3177
+ opacity: 0.2;
3178
+ filter: alpha(opacity=20);
3179
+ }
3180
+
3181
+ .close:hover,
3182
+ .close:focus {
3183
+ color: #000000;
3184
+ text-decoration: none;
3185
+ cursor: pointer;
3186
+ opacity: 0.4;
3187
+ filter: alpha(opacity=40);
3188
+ }
3189
+
3190
+ button.close {
3191
+ padding: 0;
3192
+ cursor: pointer;
3193
+ background: transparent;
3194
+ border: 0;
3195
+ -webkit-appearance: none;
3196
+ }
3197
+
3198
+ .btn {
3199
+ display: inline-block;
3200
+ *display: inline;
3201
+ padding: 4px 12px;
3202
+ margin-bottom: 0;
3203
+ *margin-left: .3em;
3204
+ font-size: 14px;
3205
+ line-height: 20px;
3206
+ color: #333333;
3207
+ text-align: center;
3208
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
3209
+ vertical-align: middle;
3210
+ cursor: pointer;
3211
+ background-color: #f5f5f5;
3212
+ *background-color: #e6e6e6;
3213
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
3214
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
3215
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
3216
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
3217
+ background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
3218
+ background-repeat: repeat-x;
3219
+ border: 1px solid #cccccc;
3220
+ *border: 0;
3221
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
3222
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3223
+ border-bottom-color: #b3b3b3;
3224
+ -webkit-border-radius: 4px;
3225
+ -moz-border-radius: 4px;
3226
+ border-radius: 4px;
3227
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
3228
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3229
+ *zoom: 1;
3230
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3231
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3232
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3233
+ }
3234
+
3235
+ .btn:hover,
3236
+ .btn:focus,
3237
+ .btn:active,
3238
+ .btn.active,
3239
+ .btn.disabled,
3240
+ .btn[disabled] {
3241
+ color: #333333;
3242
+ background-color: #e6e6e6;
3243
+ *background-color: #d9d9d9;
3244
+ }
3245
+
3246
+ .btn:active,
3247
+ .btn.active {
3248
+ background-color: #cccccc \9;
3249
+ }
3250
+
3251
+ .btn:first-child {
3252
+ *margin-left: 0;
3253
+ }
3254
+
3255
+ .btn:hover,
3256
+ .btn:focus {
3257
+ color: #333333;
3258
+ text-decoration: none;
3259
+ background-position: 0 -15px;
3260
+ -webkit-transition: background-position 0.1s linear;
3261
+ -moz-transition: background-position 0.1s linear;
3262
+ -o-transition: background-position 0.1s linear;
3263
+ transition: background-position 0.1s linear;
3264
+ }
3265
+
3266
+ .btn:focus {
3267
+ outline: thin dotted #333;
3268
+ outline: 5px auto -webkit-focus-ring-color;
3269
+ outline-offset: -2px;
3270
+ }
3271
+
3272
+ .btn.active,
3273
+ .btn:active {
3274
+ background-image: none;
3275
+ outline: 0;
3276
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3277
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3278
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3279
+ }
3280
+
3281
+ .btn.disabled,
3282
+ .btn[disabled] {
3283
+ cursor: default;
3284
+ background-image: none;
3285
+ opacity: 0.65;
3286
+ filter: alpha(opacity=65);
3287
+ -webkit-box-shadow: none;
3288
+ -moz-box-shadow: none;
3289
+ box-shadow: none;
3290
+ }
3291
+
3292
+ .btn-large {
3293
+ padding: 11px 19px;
3294
+ font-size: 17.5px;
3295
+ -webkit-border-radius: 6px;
3296
+ -moz-border-radius: 6px;
3297
+ border-radius: 6px;
3298
+ }
3299
+
3300
+ .btn-large [class^="icon-"],
3301
+ .btn-large [class*=" icon-"] {
3302
+ margin-top: 4px;
3303
+ }
3304
+
3305
+ .btn-small {
3306
+ padding: 2px 10px;
3307
+ font-size: 11.9px;
3308
+ -webkit-border-radius: 3px;
3309
+ -moz-border-radius: 3px;
3310
+ border-radius: 3px;
3311
+ }
3312
+
3313
+ .btn-small [class^="icon-"],
3314
+ .btn-small [class*=" icon-"] {
3315
+ margin-top: 0;
3316
+ }
3317
+
3318
+ .btn-mini [class^="icon-"],
3319
+ .btn-mini [class*=" icon-"] {
3320
+ margin-top: -1px;
3321
+ }
3322
+
3323
+ .btn-mini {
3324
+ padding: 0 6px;
3325
+ font-size: 10.5px;
3326
+ -webkit-border-radius: 3px;
3327
+ -moz-border-radius: 3px;
3328
+ border-radius: 3px;
3329
+ }
3330
+
3331
+ .btn-block {
3332
+ display: block;
3333
+ width: 100%;
3334
+ padding-right: 0;
3335
+ padding-left: 0;
3336
+ -webkit-box-sizing: border-box;
3337
+ -moz-box-sizing: border-box;
3338
+ box-sizing: border-box;
3339
+ }
3340
+
3341
+ .btn-block + .btn-block {
3342
+ margin-top: 5px;
3343
+ }
3344
+
3345
+ input[type="submit"].btn-block,
3346
+ input[type="reset"].btn-block,
3347
+ input[type="button"].btn-block {
3348
+ width: 100%;
3349
+ }
3350
+
3351
+ .btn-primary.active,
3352
+ .btn-warning.active,
3353
+ .btn-danger.active,
3354
+ .btn-success.active,
3355
+ .btn-info.active,
3356
+ .btn-inverse.active {
3357
+ color: rgba(255, 255, 255, 0.75);
3358
+ }
3359
+
3360
+ .btn-primary {
3361
+ color: #ffffff;
3362
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3363
+ background-color: #006dcc;
3364
+ *background-color: #0044cc;
3365
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
3366
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
3367
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
3368
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
3369
+ background-image: linear-gradient(to bottom, #0088cc, #0044cc);
3370
+ background-repeat: repeat-x;
3371
+ border-color: #0044cc #0044cc #002a80;
3372
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3373
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
3374
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3375
+ }
3376
+
3377
+ .btn-primary:hover,
3378
+ .btn-primary:focus,
3379
+ .btn-primary:active,
3380
+ .btn-primary.active,
3381
+ .btn-primary.disabled,
3382
+ .btn-primary[disabled] {
3383
+ color: #ffffff;
3384
+ background-color: #0044cc;
3385
+ *background-color: #003bb3;
3386
+ }
3387
+
3388
+ .btn-primary:active,
3389
+ .btn-primary.active {
3390
+ background-color: #003399 \9;
3391
+ }
3392
+
3393
+ .btn-warning {
3394
+ color: #ffffff;
3395
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3396
+ background-color: #faa732;
3397
+ *background-color: #f89406;
3398
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
3399
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
3400
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
3401
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
3402
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
3403
+ background-repeat: repeat-x;
3404
+ border-color: #f89406 #f89406 #ad6704;
3405
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3406
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
3407
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3408
+ }
3409
+
3410
+ .btn-warning:hover,
3411
+ .btn-warning:focus,
3412
+ .btn-warning:active,
3413
+ .btn-warning.active,
3414
+ .btn-warning.disabled,
3415
+ .btn-warning[disabled] {
3416
+ color: #ffffff;
3417
+ background-color: #f89406;
3418
+ *background-color: #df8505;
3419
+ }
3420
+
3421
+ .btn-warning:active,
3422
+ .btn-warning.active {
3423
+ background-color: #c67605 \9;
3424
+ }
3425
+
3426
+ .btn-danger {
3427
+ color: #ffffff;
3428
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3429
+ background-color: #da4f49;
3430
+ *background-color: #bd362f;
3431
+ background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
3432
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
3433
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
3434
+ background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
3435
+ background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
3436
+ background-repeat: repeat-x;
3437
+ border-color: #bd362f #bd362f #802420;
3438
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3439
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
3440
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3441
+ }
3442
+
3443
+ .btn-danger:hover,
3444
+ .btn-danger:focus,
3445
+ .btn-danger:active,
3446
+ .btn-danger.active,
3447
+ .btn-danger.disabled,
3448
+ .btn-danger[disabled] {
3449
+ color: #ffffff;
3450
+ background-color: #bd362f;
3451
+ *background-color: #a9302a;
3452
+ }
3453
+
3454
+ .btn-danger:active,
3455
+ .btn-danger.active {
3456
+ background-color: #942a25 \9;
3457
+ }
3458
+
3459
+ .btn-success {
3460
+ color: #ffffff;
3461
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3462
+ background-color: #5bb75b;
3463
+ *background-color: #51a351;
3464
+ background-image: -moz-linear-gradient(top, #62c462, #51a351);
3465
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
3466
+ background-image: -webkit-linear-gradient(top, #62c462, #51a351);
3467
+ background-image: -o-linear-gradient(top, #62c462, #51a351);
3468
+ background-image: linear-gradient(to bottom, #62c462, #51a351);
3469
+ background-repeat: repeat-x;
3470
+ border-color: #51a351 #51a351 #387038;
3471
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3472
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
3473
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3474
+ }
3475
+
3476
+ .btn-success:hover,
3477
+ .btn-success:focus,
3478
+ .btn-success:active,
3479
+ .btn-success.active,
3480
+ .btn-success.disabled,
3481
+ .btn-success[disabled] {
3482
+ color: #ffffff;
3483
+ background-color: #51a351;
3484
+ *background-color: #499249;
3485
+ }
3486
+
3487
+ .btn-success:active,
3488
+ .btn-success.active {
3489
+ background-color: #408140 \9;
3490
+ }
3491
+
3492
+ .btn-info {
3493
+ color: #ffffff;
3494
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3495
+ background-color: #49afcd;
3496
+ *background-color: #2f96b4;
3497
+ background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
3498
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
3499
+ background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
3500
+ background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
3501
+ background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
3502
+ background-repeat: repeat-x;
3503
+ border-color: #2f96b4 #2f96b4 #1f6377;
3504
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3505
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
3506
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3507
+ }
3508
+
3509
+ .btn-info:hover,
3510
+ .btn-info:focus,
3511
+ .btn-info:active,
3512
+ .btn-info.active,
3513
+ .btn-info.disabled,
3514
+ .btn-info[disabled] {
3515
+ color: #ffffff;
3516
+ background-color: #2f96b4;
3517
+ *background-color: #2a85a0;
3518
+ }
3519
+
3520
+ .btn-info:active,
3521
+ .btn-info.active {
3522
+ background-color: #24748c \9;
3523
+ }
3524
+
3525
+ .btn-inverse {
3526
+ color: #ffffff;
3527
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3528
+ background-color: #363636;
3529
+ *background-color: #222222;
3530
+ background-image: -moz-linear-gradient(top, #444444, #222222);
3531
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
3532
+ background-image: -webkit-linear-gradient(top, #444444, #222222);
3533
+ background-image: -o-linear-gradient(top, #444444, #222222);
3534
+ background-image: linear-gradient(to bottom, #444444, #222222);
3535
+ background-repeat: repeat-x;
3536
+ border-color: #222222 #222222 #000000;
3537
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3538
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
3539
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3540
+ }
3541
+
3542
+ .btn-inverse:hover,
3543
+ .btn-inverse:focus,
3544
+ .btn-inverse:active,
3545
+ .btn-inverse.active,
3546
+ .btn-inverse.disabled,
3547
+ .btn-inverse[disabled] {
3548
+ color: #ffffff;
3549
+ background-color: #222222;
3550
+ *background-color: #151515;
3551
+ }
3552
+
3553
+ .btn-inverse:active,
3554
+ .btn-inverse.active {
3555
+ background-color: #080808 \9;
3556
+ }
3557
+
3558
+ button.btn,
3559
+ input[type="submit"].btn {
3560
+ *padding-top: 3px;
3561
+ *padding-bottom: 3px;
3562
+ }
3563
+
3564
+ button.btn::-moz-focus-inner,
3565
+ input[type="submit"].btn::-moz-focus-inner {
3566
+ padding: 0;
3567
+ border: 0;
3568
+ }
3569
+
3570
+ button.btn.btn-large,
3571
+ input[type="submit"].btn.btn-large {
3572
+ *padding-top: 7px;
3573
+ *padding-bottom: 7px;
3574
+ }
3575
+
3576
+ button.btn.btn-small,
3577
+ input[type="submit"].btn.btn-small {
3578
+ *padding-top: 3px;
3579
+ *padding-bottom: 3px;
3580
+ }
3581
+
3582
+ button.btn.btn-mini,
3583
+ input[type="submit"].btn.btn-mini {
3584
+ *padding-top: 1px;
3585
+ *padding-bottom: 1px;
3586
+ }
3587
+
3588
+ .btn-link,
3589
+ .btn-link:active,
3590
+ .btn-link[disabled] {
3591
+ background-color: transparent;
3592
+ background-image: none;
3593
+ -webkit-box-shadow: none;
3594
+ -moz-box-shadow: none;
3595
+ box-shadow: none;
3596
+ }
3597
+
3598
+ .btn-link {
3599
+ color: #0088cc;
3600
+ cursor: pointer;
3601
+ border-color: transparent;
3602
+ -webkit-border-radius: 0;
3603
+ -moz-border-radius: 0;
3604
+ border-radius: 0;
3605
+ }
3606
+
3607
+ .btn-link:hover,
3608
+ .btn-link:focus {
3609
+ color: #005580;
3610
+ text-decoration: underline;
3611
+ background-color: transparent;
3612
+ }
3613
+
3614
+ .btn-link[disabled]:hover,
3615
+ .btn-link[disabled]:focus {
3616
+ color: #333333;
3617
+ text-decoration: none;
3618
+ }
3619
+
3620
+ .btn-group {
3621
+ position: relative;
3622
+ display: inline-block;
3623
+ *display: inline;
3624
+ *margin-left: .3em;
3625
+ font-size: 0;
3626
+ white-space: nowrap;
3627
+ vertical-align: middle;
3628
+ *zoom: 1;
3629
+ }
3630
+
3631
+ .btn-group:first-child {
3632
+ *margin-left: 0;
3633
+ }
3634
+
3635
+ .btn-group + .btn-group {
3636
+ margin-left: 5px;
3637
+ }
3638
+
3639
+ .btn-toolbar {
3640
+ margin-top: 10px;
3641
+ margin-bottom: 10px;
3642
+ font-size: 0;
3643
+ }
3644
+
3645
+ .btn-toolbar > .btn + .btn,
3646
+ .btn-toolbar > .btn-group + .btn,
3647
+ .btn-toolbar > .btn + .btn-group {
3648
+ margin-left: 5px;
3649
+ }
3650
+
3651
+ .btn-group > .btn {
3652
+ position: relative;
3653
+ -webkit-border-radius: 0;
3654
+ -moz-border-radius: 0;
3655
+ border-radius: 0;
3656
+ }
3657
+
3658
+ .btn-group > .btn + .btn {
3659
+ margin-left: -1px;
3660
+ }
3661
+
3662
+ .btn-group > .btn,
3663
+ .btn-group > .dropdown-menu,
3664
+ .btn-group > .popover {
3665
+ font-size: 14px;
3666
+ }
3667
+
3668
+ .btn-group > .btn-mini {
3669
+ font-size: 10.5px;
3670
+ }
3671
+
3672
+ .btn-group > .btn-small {
3673
+ font-size: 11.9px;
3674
+ }
3675
+
3676
+ .btn-group > .btn-large {
3677
+ font-size: 17.5px;
3678
+ }
3679
+
3680
+ .btn-group > .btn:first-child {
3681
+ margin-left: 0;
3682
+ -webkit-border-bottom-left-radius: 4px;
3683
+ border-bottom-left-radius: 4px;
3684
+ -webkit-border-top-left-radius: 4px;
3685
+ border-top-left-radius: 4px;
3686
+ -moz-border-radius-bottomleft: 4px;
3687
+ -moz-border-radius-topleft: 4px;
3688
+ }
3689
+
3690
+ .btn-group > .btn:last-child,
3691
+ .btn-group > .dropdown-toggle {
3692
+ -webkit-border-top-right-radius: 4px;
3693
+ border-top-right-radius: 4px;
3694
+ -webkit-border-bottom-right-radius: 4px;
3695
+ border-bottom-right-radius: 4px;
3696
+ -moz-border-radius-topright: 4px;
3697
+ -moz-border-radius-bottomright: 4px;
3698
+ }
3699
+
3700
+ .btn-group > .btn.large:first-child {
3701
+ margin-left: 0;
3702
+ -webkit-border-bottom-left-radius: 6px;
3703
+ border-bottom-left-radius: 6px;
3704
+ -webkit-border-top-left-radius: 6px;
3705
+ border-top-left-radius: 6px;
3706
+ -moz-border-radius-bottomleft: 6px;
3707
+ -moz-border-radius-topleft: 6px;
3708
+ }
3709
+
3710
+ .btn-group > .btn.large:last-child,
3711
+ .btn-group > .large.dropdown-toggle {
3712
+ -webkit-border-top-right-radius: 6px;
3713
+ border-top-right-radius: 6px;
3714
+ -webkit-border-bottom-right-radius: 6px;
3715
+ border-bottom-right-radius: 6px;
3716
+ -moz-border-radius-topright: 6px;
3717
+ -moz-border-radius-bottomright: 6px;
3718
+ }
3719
+
3720
+ .btn-group > .btn:hover,
3721
+ .btn-group > .btn:focus,
3722
+ .btn-group > .btn:active,
3723
+ .btn-group > .btn.active {
3724
+ z-index: 2;
3725
+ }
3726
+
3727
+ .btn-group .dropdown-toggle:active,
3728
+ .btn-group.open .dropdown-toggle {
3729
+ outline: 0;
3730
+ }
3731
+
3732
+ .btn-group > .btn + .dropdown-toggle {
3733
+ *padding-top: 5px;
3734
+ padding-right: 8px;
3735
+ *padding-bottom: 5px;
3736
+ padding-left: 8px;
3737
+ -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3738
+ -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3739
+ box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3740
+ }
3741
+
3742
+ .btn-group > .btn-mini + .dropdown-toggle {
3743
+ *padding-top: 2px;
3744
+ padding-right: 5px;
3745
+ *padding-bottom: 2px;
3746
+ padding-left: 5px;
3747
+ }
3748
+
3749
+ .btn-group > .btn-small + .dropdown-toggle {
3750
+ *padding-top: 5px;
3751
+ *padding-bottom: 4px;
3752
+ }
3753
+
3754
+ .btn-group > .btn-large + .dropdown-toggle {
3755
+ *padding-top: 7px;
3756
+ padding-right: 12px;
3757
+ *padding-bottom: 7px;
3758
+ padding-left: 12px;
3759
+ }
3760
+
3761
+ .btn-group.open .dropdown-toggle {
3762
+ background-image: none;
3763
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3764
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3765
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3766
+ }
3767
+
3768
+ .btn-group.open .btn.dropdown-toggle {
3769
+ background-color: #e6e6e6;
3770
+ }
3771
+
3772
+ .btn-group.open .btn-primary.dropdown-toggle {
3773
+ background-color: #0044cc;
3774
+ }
3775
+
3776
+ .btn-group.open .btn-warning.dropdown-toggle {
3777
+ background-color: #f89406;
3778
+ }
3779
+
3780
+ .btn-group.open .btn-danger.dropdown-toggle {
3781
+ background-color: #bd362f;
3782
+ }
3783
+
3784
+ .btn-group.open .btn-success.dropdown-toggle {
3785
+ background-color: #51a351;
3786
+ }
3787
+
3788
+ .btn-group.open .btn-info.dropdown-toggle {
3789
+ background-color: #2f96b4;
3790
+ }
3791
+
3792
+ .btn-group.open .btn-inverse.dropdown-toggle {
3793
+ background-color: #222222;
3794
+ }
3795
+
3796
+ .btn .caret {
3797
+ margin-top: 8px;
3798
+ margin-left: 0;
3799
+ }
3800
+
3801
+ .btn-large .caret {
3802
+ margin-top: 6px;
3803
+ }
3804
+
3805
+ .btn-large .caret {
3806
+ border-top-width: 5px;
3807
+ border-right-width: 5px;
3808
+ border-left-width: 5px;
3809
+ }
3810
+
3811
+ .btn-mini .caret,
3812
+ .btn-small .caret {
3813
+ margin-top: 8px;
3814
+ }
3815
+
3816
+ .dropup .btn-large .caret {
3817
+ border-bottom-width: 5px;
3818
+ }
3819
+
3820
+ .btn-primary .caret,
3821
+ .btn-warning .caret,
3822
+ .btn-danger .caret,
3823
+ .btn-info .caret,
3824
+ .btn-success .caret,
3825
+ .btn-inverse .caret {
3826
+ border-top-color: #ffffff;
3827
+ border-bottom-color: #ffffff;
3828
+ }
3829
+
3830
+ .btn-group-vertical {
3831
+ display: inline-block;
3832
+ *display: inline;
3833
+ /* IE7 inline-block hack */
3834
+
3835
+ *zoom: 1;
3836
+ }
3837
+
3838
+ .btn-group-vertical > .btn {
3839
+ display: block;
3840
+ float: none;
3841
+ max-width: 100%;
3842
+ -webkit-border-radius: 0;
3843
+ -moz-border-radius: 0;
3844
+ border-radius: 0;
3845
+ }
3846
+
3847
+ .btn-group-vertical > .btn + .btn {
3848
+ margin-top: -1px;
3849
+ margin-left: 0;
3850
+ }
3851
+
3852
+ .btn-group-vertical > .btn:first-child {
3853
+ -webkit-border-radius: 4px 4px 0 0;
3854
+ -moz-border-radius: 4px 4px 0 0;
3855
+ border-radius: 4px 4px 0 0;
3856
+ }
3857
+
3858
+ .btn-group-vertical > .btn:last-child {
3859
+ -webkit-border-radius: 0 0 4px 4px;
3860
+ -moz-border-radius: 0 0 4px 4px;
3861
+ border-radius: 0 0 4px 4px;
3862
+ }
3863
+
3864
+ .btn-group-vertical > .btn-large:first-child {
3865
+ -webkit-border-radius: 6px 6px 0 0;
3866
+ -moz-border-radius: 6px 6px 0 0;
3867
+ border-radius: 6px 6px 0 0;
3868
+ }
3869
+
3870
+ .btn-group-vertical > .btn-large:last-child {
3871
+ -webkit-border-radius: 0 0 6px 6px;
3872
+ -moz-border-radius: 0 0 6px 6px;
3873
+ border-radius: 0 0 6px 6px;
3874
+ }
3875
+
3876
+ .alert {
3877
+ padding: 8px 35px 8px 14px;
3878
+ margin-bottom: 20px;
3879
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3880
+ background-color: #fcf8e3;
3881
+ border: 1px solid #fbeed5;
3882
+ -webkit-border-radius: 4px;
3883
+ -moz-border-radius: 4px;
3884
+ border-radius: 4px;
3885
+ }
3886
+
3887
+ .alert,
3888
+ .alert h4 {
3889
+ color: #c09853;
3890
+ }
3891
+
3892
+ .alert h4 {
3893
+ margin: 0;
3894
+ }
3895
+
3896
+ .alert .close {
3897
+ position: relative;
3898
+ top: -2px;
3899
+ right: -21px;
3900
+ line-height: 20px;
3901
+ }
3902
+
3903
+ .alert-success {
3904
+ color: #468847;
3905
+ background-color: #dff0d8;
3906
+ border-color: #d6e9c6;
3907
+ }
3908
+
3909
+ .alert-success h4 {
3910
+ color: #468847;
3911
+ }
3912
+
3913
+ .alert-danger,
3914
+ .alert-error {
3915
+ color: #b94a48;
3916
+ background-color: #f2dede;
3917
+ border-color: #eed3d7;
3918
+ }
3919
+
3920
+ .alert-danger h4,
3921
+ .alert-error h4 {
3922
+ color: #b94a48;
3923
+ }
3924
+
3925
+ .alert-info {
3926
+ color: #3a87ad;
3927
+ background-color: #d9edf7;
3928
+ border-color: #bce8f1;
3929
+ }
3930
+
3931
+ .alert-info h4 {
3932
+ color: #3a87ad;
3933
+ }
3934
+
3935
+ .alert-block {
3936
+ padding-top: 14px;
3937
+ padding-bottom: 14px;
3938
+ }
3939
+
3940
+ .alert-block > p,
3941
+ .alert-block > ul {
3942
+ margin-bottom: 0;
3943
+ }
3944
+
3945
+ .alert-block p + p {
3946
+ margin-top: 5px;
3947
+ }
3948
+
3949
+ .nav {
3950
+ margin-bottom: 20px;
3951
+ margin-left: 0;
3952
+ list-style: none;
3953
+ }
3954
+
3955
+ .nav > li > a {
3956
+ display: block;
3957
+ }
3958
+
3959
+ .nav > li > a:hover,
3960
+ .nav > li > a:focus {
3961
+ text-decoration: none;
3962
+ background-color: #eeeeee;
3963
+ }
3964
+
3965
+ .nav > li > a > img {
3966
+ max-width: none;
3967
+ }
3968
+
3969
+ .nav > .pull-right {
3970
+ float: right;
3971
+ }
3972
+
3973
+ .nav-header {
3974
+ display: block;
3975
+ padding: 3px 15px;
3976
+ font-size: 11px;
3977
+ font-weight: bold;
3978
+ line-height: 20px;
3979
+ color: #999999;
3980
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3981
+ text-transform: uppercase;
3982
+ }
3983
+
3984
+ .nav li + .nav-header {
3985
+ margin-top: 9px;
3986
+ }
3987
+
3988
+ .nav-list {
3989
+ padding-right: 15px;
3990
+ padding-left: 15px;
3991
+ margin-bottom: 0;
3992
+ }
3993
+
3994
+ .nav-list > li > a,
3995
+ .nav-list .nav-header {
3996
+ margin-right: -15px;
3997
+ margin-left: -15px;
3998
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3999
+ }
4000
+
4001
+ .nav-list > li > a {
4002
+ padding: 3px 15px;
4003
+ }
4004
+
4005
+ .nav-list > .active > a,
4006
+ .nav-list > .active > a:hover,
4007
+ .nav-list > .active > a:focus {
4008
+ color: #ffffff;
4009
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
4010
+ background-color: #0088cc;
4011
+ }
4012
+
4013
+ .nav-list [class^="icon-"],
4014
+ .nav-list [class*=" icon-"] {
4015
+ margin-right: 2px;
4016
+ }
4017
+
4018
+ .nav-list .divider {
4019
+ *width: 100%;
4020
+ height: 1px;
4021
+ margin: 9px 1px;
4022
+ *margin: -5px 0 5px;
4023
+ overflow: hidden;
4024
+ background-color: #e5e5e5;
4025
+ border-bottom: 1px solid #ffffff;
4026
+ }
4027
+
4028
+ .nav-tabs,
4029
+ .nav-pills {
4030
+ *zoom: 1;
4031
+ }
4032
+
4033
+ .nav-tabs:before,
4034
+ .nav-pills:before,
4035
+ .nav-tabs:after,
4036
+ .nav-pills:after {
4037
+ display: table;
4038
+ line-height: 0;
4039
+ content: "";
4040
+ }
4041
+
4042
+ .nav-tabs:after,
4043
+ .nav-pills:after {
4044
+ clear: both;
4045
+ }
4046
+
4047
+ .nav-tabs > li,
4048
+ .nav-pills > li {
4049
+ float: left;
4050
+ }
4051
+
4052
+ .nav-tabs > li > a,
4053
+ .nav-pills > li > a {
4054
+ padding-right: 12px;
4055
+ padding-left: 12px;
4056
+ margin-right: 2px;
4057
+ line-height: 14px;
4058
+ }
4059
+
4060
+ .nav-tabs {
4061
+ border-bottom: 1px solid #ddd;
4062
+ }
4063
+
4064
+ .nav-tabs > li {
4065
+ margin-bottom: -1px;
4066
+ }
4067
+
4068
+ .nav-tabs > li > a {
4069
+ padding-top: 8px;
4070
+ padding-bottom: 8px;
4071
+ line-height: 20px;
4072
+ border: 1px solid transparent;
4073
+ -webkit-border-radius: 4px 4px 0 0;
4074
+ -moz-border-radius: 4px 4px 0 0;
4075
+ border-radius: 4px 4px 0 0;
4076
+ }
4077
+
4078
+ .nav-tabs > li > a:hover,
4079
+ .nav-tabs > li > a:focus {
4080
+ border-color: #eeeeee #eeeeee #dddddd;
4081
+ }
4082
+
4083
+ .nav-tabs > .active > a,
4084
+ .nav-tabs > .active > a:hover,
4085
+ .nav-tabs > .active > a:focus {
4086
+ color: #555555;
4087
+ cursor: default;
4088
+ background-color: #ffffff;
4089
+ border: 1px solid #ddd;
4090
+ border-bottom-color: transparent;
4091
+ }
4092
+
4093
+ .nav-pills > li > a {
4094
+ padding-top: 8px;
4095
+ padding-bottom: 8px;
4096
+ margin-top: 2px;
4097
+ margin-bottom: 2px;
4098
+ -webkit-border-radius: 5px;
4099
+ -moz-border-radius: 5px;
4100
+ border-radius: 5px;
4101
+ }
4102
+
4103
+ .nav-pills > .active > a,
4104
+ .nav-pills > .active > a:hover,
4105
+ .nav-pills > .active > a:focus {
4106
+ color: #ffffff;
4107
+ background-color: #0088cc;
4108
+ }
4109
+
4110
+ .nav-stacked > li {
4111
+ float: none;
4112
+ }
4113
+
4114
+ .nav-stacked > li > a {
4115
+ margin-right: 0;
4116
+ }
4117
+
4118
+ .nav-tabs.nav-stacked {
4119
+ border-bottom: 0;
4120
+ }
4121
+
4122
+ .nav-tabs.nav-stacked > li > a {
4123
+ border: 1px solid #ddd;
4124
+ -webkit-border-radius: 0;
4125
+ -moz-border-radius: 0;
4126
+ border-radius: 0;
4127
+ }
4128
+
4129
+ .nav-tabs.nav-stacked > li:first-child > a {
4130
+ -webkit-border-top-right-radius: 4px;
4131
+ border-top-right-radius: 4px;
4132
+ -webkit-border-top-left-radius: 4px;
4133
+ border-top-left-radius: 4px;
4134
+ -moz-border-radius-topright: 4px;
4135
+ -moz-border-radius-topleft: 4px;
4136
+ }
4137
+
4138
+ .nav-tabs.nav-stacked > li:last-child > a {
4139
+ -webkit-border-bottom-right-radius: 4px;
4140
+ border-bottom-right-radius: 4px;
4141
+ -webkit-border-bottom-left-radius: 4px;
4142
+ border-bottom-left-radius: 4px;
4143
+ -moz-border-radius-bottomright: 4px;
4144
+ -moz-border-radius-bottomleft: 4px;
4145
+ }
4146
+
4147
+ .nav-tabs.nav-stacked > li > a:hover,
4148
+ .nav-tabs.nav-stacked > li > a:focus {
4149
+ z-index: 2;
4150
+ border-color: #ddd;
4151
+ }
4152
+
4153
+ .nav-pills.nav-stacked > li > a {
4154
+ margin-bottom: 3px;
4155
+ }
4156
+
4157
+ .nav-pills.nav-stacked > li:last-child > a {
4158
+ margin-bottom: 1px;
4159
+ }
4160
+
4161
+ .nav-tabs .dropdown-menu {
4162
+ -webkit-border-radius: 0 0 6px 6px;
4163
+ -moz-border-radius: 0 0 6px 6px;
4164
+ border-radius: 0 0 6px 6px;
4165
+ }
4166
+
4167
+ .nav-pills .dropdown-menu {
4168
+ -webkit-border-radius: 6px;
4169
+ -moz-border-radius: 6px;
4170
+ border-radius: 6px;
4171
+ }
4172
+
4173
+ .nav .dropdown-toggle .caret {
4174
+ margin-top: 6px;
4175
+ border-top-color: #0088cc;
4176
+ border-bottom-color: #0088cc;
4177
+ }
4178
+
4179
+ .nav .dropdown-toggle:hover .caret,
4180
+ .nav .dropdown-toggle:focus .caret {
4181
+ border-top-color: #005580;
4182
+ border-bottom-color: #005580;
4183
+ }
4184
+
4185
+ /* move down carets for tabs */
4186
+
4187
+ .nav-tabs .dropdown-toggle .caret {
4188
+ margin-top: 8px;
4189
+ }
4190
+
4191
+ .nav .active .dropdown-toggle .caret {
4192
+ border-top-color: #fff;
4193
+ border-bottom-color: #fff;
4194
+ }
4195
+
4196
+ .nav-tabs .active .dropdown-toggle .caret {
4197
+ border-top-color: #555555;
4198
+ border-bottom-color: #555555;
4199
+ }
4200
+
4201
+ .nav > .dropdown.active > a:hover,
4202
+ .nav > .dropdown.active > a:focus {
4203
+ cursor: pointer;
4204
+ }
4205
+
4206
+ .nav-tabs .open .dropdown-toggle,
4207
+ .nav-pills .open .dropdown-toggle,
4208
+ .nav > li.dropdown.open.active > a:hover,
4209
+ .nav > li.dropdown.open.active > a:focus {
4210
+ color: #ffffff;
4211
+ background-color: #999999;
4212
+ border-color: #999999;
4213
+ }
4214
+
4215
+ .nav li.dropdown.open .caret,
4216
+ .nav li.dropdown.open.active .caret,
4217
+ .nav li.dropdown.open a:hover .caret,
4218
+ .nav li.dropdown.open a:focus .caret {
4219
+ border-top-color: #ffffff;
4220
+ border-bottom-color: #ffffff;
4221
+ opacity: 1;
4222
+ filter: alpha(opacity=100);
4223
+ }
4224
+
4225
+ .tabs-stacked .open > a:hover,
4226
+ .tabs-stacked .open > a:focus {
4227
+ border-color: #999999;
4228
+ }
4229
+
4230
+ .tabbable {
4231
+ *zoom: 1;
4232
+ }
4233
+
4234
+ .tabbable:before,
4235
+ .tabbable:after {
4236
+ display: table;
4237
+ line-height: 0;
4238
+ content: "";
4239
+ }
4240
+
4241
+ .tabbable:after {
4242
+ clear: both;
4243
+ }
4244
+
4245
+ .tab-content {
4246
+ overflow: auto;
4247
+ }
4248
+
4249
+ .tabs-below > .nav-tabs,
4250
+ .tabs-right > .nav-tabs,
4251
+ .tabs-left > .nav-tabs {
4252
+ border-bottom: 0;
4253
+ }
4254
+
4255
+ .tab-content > .tab-pane,
4256
+ .pill-content > .pill-pane {
4257
+ display: none;
4258
+ }
4259
+
4260
+ .tab-content > .active,
4261
+ .pill-content > .active {
4262
+ display: block;
4263
+ }
4264
+
4265
+ .tabs-below > .nav-tabs {
4266
+ border-top: 1px solid #ddd;
4267
+ }
4268
+
4269
+ .tabs-below > .nav-tabs > li {
4270
+ margin-top: -1px;
4271
+ margin-bottom: 0;
4272
+ }
4273
+
4274
+ .tabs-below > .nav-tabs > li > a {
4275
+ -webkit-border-radius: 0 0 4px 4px;
4276
+ -moz-border-radius: 0 0 4px 4px;
4277
+ border-radius: 0 0 4px 4px;
4278
+ }
4279
+
4280
+ .tabs-below > .nav-tabs > li > a:hover,
4281
+ .tabs-below > .nav-tabs > li > a:focus {
4282
+ border-top-color: #ddd;
4283
+ border-bottom-color: transparent;
4284
+ }
4285
+
4286
+ .tabs-below > .nav-tabs > .active > a,
4287
+ .tabs-below > .nav-tabs > .active > a:hover,
4288
+ .tabs-below > .nav-tabs > .active > a:focus {
4289
+ border-color: transparent #ddd #ddd #ddd;
4290
+ }
4291
+
4292
+ .tabs-left > .nav-tabs > li,
4293
+ .tabs-right > .nav-tabs > li {
4294
+ float: none;
4295
+ }
4296
+
4297
+ .tabs-left > .nav-tabs > li > a,
4298
+ .tabs-right > .nav-tabs > li > a {
4299
+ min-width: 74px;
4300
+ margin-right: 0;
4301
+ margin-bottom: 3px;
4302
+ }
4303
+
4304
+ .tabs-left > .nav-tabs {
4305
+ float: left;
4306
+ margin-right: 19px;
4307
+ border-right: 1px solid #ddd;
4308
+ }
4309
+
4310
+ .tabs-left > .nav-tabs > li > a {
4311
+ margin-right: -1px;
4312
+ -webkit-border-radius: 4px 0 0 4px;
4313
+ -moz-border-radius: 4px 0 0 4px;
4314
+ border-radius: 4px 0 0 4px;
4315
+ }
4316
+
4317
+ .tabs-left > .nav-tabs > li > a:hover,
4318
+ .tabs-left > .nav-tabs > li > a:focus {
4319
+ border-color: #eeeeee #dddddd #eeeeee #eeeeee;
4320
+ }
4321
+
4322
+ .tabs-left > .nav-tabs .active > a,
4323
+ .tabs-left > .nav-tabs .active > a:hover,
4324
+ .tabs-left > .nav-tabs .active > a:focus {
4325
+ border-color: #ddd transparent #ddd #ddd;
4326
+ *border-right-color: #ffffff;
4327
+ }
4328
+
4329
+ .tabs-right > .nav-tabs {
4330
+ float: right;
4331
+ margin-left: 19px;
4332
+ border-left: 1px solid #ddd;
4333
+ }
4334
+
4335
+ .tabs-right > .nav-tabs > li > a {
4336
+ margin-left: -1px;
4337
+ -webkit-border-radius: 0 4px 4px 0;
4338
+ -moz-border-radius: 0 4px 4px 0;
4339
+ border-radius: 0 4px 4px 0;
4340
+ }
4341
+
4342
+ .tabs-right > .nav-tabs > li > a:hover,
4343
+ .tabs-right > .nav-tabs > li > a:focus {
4344
+ border-color: #eeeeee #eeeeee #eeeeee #dddddd;
4345
+ }
4346
+
4347
+ .tabs-right > .nav-tabs .active > a,
4348
+ .tabs-right > .nav-tabs .active > a:hover,
4349
+ .tabs-right > .nav-tabs .active > a:focus {
4350
+ border-color: #ddd #ddd #ddd transparent;
4351
+ *border-left-color: #ffffff;
4352
+ }
4353
+
4354
+ .nav > .disabled > a {
4355
+ color: #999999;
4356
+ }
4357
+
4358
+ .nav > .disabled > a:hover,
4359
+ .nav > .disabled > a:focus {
4360
+ text-decoration: none;
4361
+ cursor: default;
4362
+ background-color: transparent;
4363
+ }
4364
+
4365
+ .navbar {
4366
+ *position: relative;
4367
+ *z-index: 2;
4368
+ margin-bottom: 20px;
4369
+ overflow: visible;
4370
+ }
4371
+
4372
+ .navbar-inner {
4373
+ min-height: 40px;
4374
+ padding-right: 20px;
4375
+ padding-left: 20px;
4376
+ background-color: #fafafa;
4377
+ background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
4378
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
4379
+ background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
4380
+ background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
4381
+ background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
4382
+ background-repeat: repeat-x;
4383
+ border: 1px solid #d4d4d4;
4384
+ -webkit-border-radius: 4px;
4385
+ -moz-border-radius: 4px;
4386
+ border-radius: 4px;
4387
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
4388
+ *zoom: 1;
4389
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4390
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4391
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4392
+ }
4393
+
4394
+ .navbar-inner:before,
4395
+ .navbar-inner:after {
4396
+ display: table;
4397
+ line-height: 0;
4398
+ content: "";
4399
+ }
4400
+
4401
+ .navbar-inner:after {
4402
+ clear: both;
4403
+ }
4404
+
4405
+ .navbar .container {
4406
+ width: auto;
4407
+ }
4408
+
4409
+ .nav-collapse.collapse {
4410
+ height: auto;
4411
+ overflow: visible;
4412
+ }
4413
+
4414
+ .navbar .brand {
4415
+ display: block;
4416
+ float: left;
4417
+ padding: 10px 20px 10px;
4418
+ margin-left: -20px;
4419
+ font-size: 20px;
4420
+ font-weight: 200;
4421
+ color: #777777;
4422
+ text-shadow: 0 1px 0 #ffffff;
4423
+ }
4424
+
4425
+ .navbar .brand:hover,
4426
+ .navbar .brand:focus {
4427
+ text-decoration: none;
4428
+ }
4429
+
4430
+ .navbar-text {
4431
+ margin-bottom: 0;
4432
+ line-height: 40px;
4433
+ color: #777777;
4434
+ }
4435
+
4436
+ .navbar-link {
4437
+ color: #777777;
4438
+ }
4439
+
4440
+ .navbar-link:hover,
4441
+ .navbar-link:focus {
4442
+ color: #333333;
4443
+ }
4444
+
4445
+ .navbar .divider-vertical {
4446
+ height: 40px;
4447
+ margin: 0 9px;
4448
+ border-right: 1px solid #ffffff;
4449
+ border-left: 1px solid #f2f2f2;
4450
+ }
4451
+
4452
+ .navbar .btn,
4453
+ .navbar .btn-group {
4454
+ margin-top: 5px;
4455
+ }
4456
+
4457
+ .navbar .btn-group .btn,
4458
+ .navbar .input-prepend .btn,
4459
+ .navbar .input-append .btn,
4460
+ .navbar .input-prepend .btn-group,
4461
+ .navbar .input-append .btn-group {
4462
+ margin-top: 0;
4463
+ }
4464
+
4465
+ .navbar-form {
4466
+ margin-bottom: 0;
4467
+ *zoom: 1;
4468
+ }
4469
+
4470
+ .navbar-form:before,
4471
+ .navbar-form:after {
4472
+ display: table;
4473
+ line-height: 0;
4474
+ content: "";
4475
+ }
4476
+
4477
+ .navbar-form:after {
4478
+ clear: both;
4479
+ }
4480
+
4481
+ .navbar-form input,
4482
+ .navbar-form select,
4483
+ .navbar-form .radio,
4484
+ .navbar-form .checkbox {
4485
+ margin-top: 5px;
4486
+ }
4487
+
4488
+ .navbar-form input,
4489
+ .navbar-form select,
4490
+ .navbar-form .btn {
4491
+ display: inline-block;
4492
+ margin-bottom: 0;
4493
+ }
4494
+
4495
+ .navbar-form input[type="image"],
4496
+ .navbar-form input[type="checkbox"],
4497
+ .navbar-form input[type="radio"] {
4498
+ margin-top: 3px;
4499
+ }
4500
+
4501
+ .navbar-form .input-append,
4502
+ .navbar-form .input-prepend {
4503
+ margin-top: 5px;
4504
+ white-space: nowrap;
4505
+ }
4506
+
4507
+ .navbar-form .input-append input,
4508
+ .navbar-form .input-prepend input {
4509
+ margin-top: 0;
4510
+ }
4511
+
4512
+ .navbar-search {
4513
+ position: relative;
4514
+ float: left;
4515
+ margin-top: 5px;
4516
+ margin-bottom: 0;
4517
+ }
4518
+
4519
+ .navbar-search .search-query {
4520
+ padding: 4px 14px;
4521
+ margin-bottom: 0;
4522
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
4523
+ font-size: 13px;
4524
+ font-weight: normal;
4525
+ line-height: 1;
4526
+ -webkit-border-radius: 15px;
4527
+ -moz-border-radius: 15px;
4528
+ border-radius: 15px;
4529
+ }
4530
+
4531
+ .navbar-static-top {
4532
+ position: static;
4533
+ margin-bottom: 0;
4534
+ }
4535
+
4536
+ .navbar-static-top .navbar-inner {
4537
+ -webkit-border-radius: 0;
4538
+ -moz-border-radius: 0;
4539
+ border-radius: 0;
4540
+ }
4541
+
4542
+ .navbar-fixed-top,
4543
+ .navbar-fixed-bottom {
4544
+ position: fixed;
4545
+ right: 0;
4546
+ left: 0;
4547
+ z-index: 1030;
4548
+ margin-bottom: 0;
4549
+ }
4550
+
4551
+ .navbar-fixed-top .navbar-inner,
4552
+ .navbar-static-top .navbar-inner {
4553
+ border-width: 0 0 1px;
4554
+ }
4555
+
4556
+ .navbar-fixed-bottom .navbar-inner {
4557
+ border-width: 1px 0 0;
4558
+ }
4559
+
4560
+ .navbar-fixed-top .navbar-inner,
4561
+ .navbar-fixed-bottom .navbar-inner {
4562
+ padding-right: 0;
4563
+ padding-left: 0;
4564
+ -webkit-border-radius: 0;
4565
+ -moz-border-radius: 0;
4566
+ border-radius: 0;
4567
+ }
4568
+
4569
+ .navbar-static-top .container,
4570
+ .navbar-fixed-top .container,
4571
+ .navbar-fixed-bottom .container {
4572
+ width: 940px;
4573
+ }
4574
+
4575
+ .navbar-fixed-top {
4576
+ top: 0;
4577
+ }
4578
+
4579
+ .navbar-fixed-top .navbar-inner,
4580
+ .navbar-static-top .navbar-inner {
4581
+ -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4582
+ -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4583
+ box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4584
+ }
4585
+
4586
+ .navbar-fixed-bottom {
4587
+ bottom: 0;
4588
+ }
4589
+
4590
+ .navbar-fixed-bottom .navbar-inner {
4591
+ -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4592
+ -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4593
+ box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4594
+ }
4595
+
4596
+ .navbar .nav {
4597
+ position: relative;
4598
+ left: 0;
4599
+ display: block;
4600
+ float: left;
4601
+ margin: 0 10px 0 0;
4602
+ }
4603
+
4604
+ .navbar .nav.pull-right {
4605
+ float: right;
4606
+ margin-right: 0;
4607
+ }
4608
+
4609
+ .navbar .nav > li {
4610
+ float: left;
4611
+ }
4612
+
4613
+ .navbar .nav > li > a {
4614
+ float: none;
4615
+ padding: 10px 15px 10px;
4616
+ color: #777777;
4617
+ text-decoration: none;
4618
+ text-shadow: 0 1px 0 #ffffff;
4619
+ }
4620
+
4621
+ .navbar .nav .dropdown-toggle .caret {
4622
+ margin-top: 8px;
4623
+ }
4624
+
4625
+ .navbar .nav > li > a:focus,
4626
+ .navbar .nav > li > a:hover {
4627
+ color: #333333;
4628
+ text-decoration: none;
4629
+ background-color: transparent;
4630
+ }
4631
+
4632
+ .navbar .nav > .active > a,
4633
+ .navbar .nav > .active > a:hover,
4634
+ .navbar .nav > .active > a:focus {
4635
+ color: #555555;
4636
+ text-decoration: none;
4637
+ background-color: #e5e5e5;
4638
+ -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4639
+ -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4640
+ box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4641
+ }
4642
+
4643
+ .navbar .btn-navbar {
4644
+ display: none;
4645
+ float: right;
4646
+ padding: 7px 10px;
4647
+ margin-right: 5px;
4648
+ margin-left: 5px;
4649
+ color: #ffffff;
4650
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4651
+ background-color: #ededed;
4652
+ *background-color: #e5e5e5;
4653
+ background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
4654
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
4655
+ background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
4656
+ background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
4657
+ background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
4658
+ background-repeat: repeat-x;
4659
+ border-color: #e5e5e5 #e5e5e5 #bfbfbf;
4660
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
4661
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
4662
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
4663
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4664
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4665
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4666
+ }
4667
+
4668
+ .navbar .btn-navbar:hover,
4669
+ .navbar .btn-navbar:focus,
4670
+ .navbar .btn-navbar:active,
4671
+ .navbar .btn-navbar.active,
4672
+ .navbar .btn-navbar.disabled,
4673
+ .navbar .btn-navbar[disabled] {
4674
+ color: #ffffff;
4675
+ background-color: #e5e5e5;
4676
+ *background-color: #d9d9d9;
4677
+ }
4678
+
4679
+ .navbar .btn-navbar:active,
4680
+ .navbar .btn-navbar.active {
4681
+ background-color: #cccccc \9;
4682
+ }
4683
+
4684
+ .navbar .btn-navbar .icon-bar {
4685
+ display: block;
4686
+ width: 18px;
4687
+ height: 2px;
4688
+ background-color: #f5f5f5;
4689
+ -webkit-border-radius: 1px;
4690
+ -moz-border-radius: 1px;
4691
+ border-radius: 1px;
4692
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4693
+ -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4694
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4695
+ }
4696
+
4697
+ .btn-navbar .icon-bar + .icon-bar {
4698
+ margin-top: 3px;
4699
+ }
4700
+
4701
+ .navbar .nav > li > .dropdown-menu:before {
4702
+ position: absolute;
4703
+ top: -7px;
4704
+ left: 9px;
4705
+ display: inline-block;
4706
+ border-right: 7px solid transparent;
4707
+ border-bottom: 7px solid #ccc;
4708
+ border-left: 7px solid transparent;
4709
+ border-bottom-color: rgba(0, 0, 0, 0.2);
4710
+ content: '';
4711
+ }
4712
+
4713
+ .navbar .nav > li > .dropdown-menu:after {
4714
+ position: absolute;
4715
+ top: -6px;
4716
+ left: 10px;
4717
+ display: inline-block;
4718
+ border-right: 6px solid transparent;
4719
+ border-bottom: 6px solid #ffffff;
4720
+ border-left: 6px solid transparent;
4721
+ content: '';
4722
+ }
4723
+
4724
+ .navbar-fixed-bottom .nav > li > .dropdown-menu:before {
4725
+ top: auto;
4726
+ bottom: -7px;
4727
+ border-top: 7px solid #ccc;
4728
+ border-bottom: 0;
4729
+ border-top-color: rgba(0, 0, 0, 0.2);
4730
+ }
4731
+
4732
+ .navbar-fixed-bottom .nav > li > .dropdown-menu:after {
4733
+ top: auto;
4734
+ bottom: -6px;
4735
+ border-top: 6px solid #ffffff;
4736
+ border-bottom: 0;
4737
+ }
4738
+
4739
+ .navbar .nav li.dropdown > a:hover .caret,
4740
+ .navbar .nav li.dropdown > a:focus .caret {
4741
+ border-top-color: #333333;
4742
+ border-bottom-color: #333333;
4743
+ }
4744
+
4745
+ .navbar .nav li.dropdown.open > .dropdown-toggle,
4746
+ .navbar .nav li.dropdown.active > .dropdown-toggle,
4747
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle {
4748
+ color: #555555;
4749
+ background-color: #e5e5e5;
4750
+ }
4751
+
4752
+ .navbar .nav li.dropdown > .dropdown-toggle .caret {
4753
+ border-top-color: #777777;
4754
+ border-bottom-color: #777777;
4755
+ }
4756
+
4757
+ .navbar .nav li.dropdown.open > .dropdown-toggle .caret,
4758
+ .navbar .nav li.dropdown.active > .dropdown-toggle .caret,
4759
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
4760
+ border-top-color: #555555;
4761
+ border-bottom-color: #555555;
4762
+ }
4763
+
4764
+ .navbar .pull-right > li > .dropdown-menu,
4765
+ .navbar .nav > li > .dropdown-menu.pull-right {
4766
+ right: 0;
4767
+ left: auto;
4768
+ }
4769
+
4770
+ .navbar .pull-right > li > .dropdown-menu:before,
4771
+ .navbar .nav > li > .dropdown-menu.pull-right:before {
4772
+ right: 12px;
4773
+ left: auto;
4774
+ }
4775
+
4776
+ .navbar .pull-right > li > .dropdown-menu:after,
4777
+ .navbar .nav > li > .dropdown-menu.pull-right:after {
4778
+ right: 13px;
4779
+ left: auto;
4780
+ }
4781
+
4782
+ .navbar .pull-right > li > .dropdown-menu .dropdown-menu,
4783
+ .navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
4784
+ right: 100%;
4785
+ left: auto;
4786
+ margin-right: -1px;
4787
+ margin-left: 0;
4788
+ -webkit-border-radius: 6px 0 6px 6px;
4789
+ -moz-border-radius: 6px 0 6px 6px;
4790
+ border-radius: 6px 0 6px 6px;
4791
+ }
4792
+
4793
+ .navbar-inverse .navbar-inner {
4794
+ background-color: #1b1b1b;
4795
+ background-image: -moz-linear-gradient(top, #222222, #111111);
4796
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
4797
+ background-image: -webkit-linear-gradient(top, #222222, #111111);
4798
+ background-image: -o-linear-gradient(top, #222222, #111111);
4799
+ background-image: linear-gradient(to bottom, #222222, #111111);
4800
+ background-repeat: repeat-x;
4801
+ border-color: #252525;
4802
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
4803
+ }
4804
+
4805
+ .navbar-inverse .brand,
4806
+ .navbar-inverse .nav > li > a {
4807
+ color: #999999;
4808
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4809
+ }
4810
+
4811
+ .navbar-inverse .brand:hover,
4812
+ .navbar-inverse .nav > li > a:hover,
4813
+ .navbar-inverse .brand:focus,
4814
+ .navbar-inverse .nav > li > a:focus {
4815
+ color: #ffffff;
4816
+ }
4817
+
4818
+ .navbar-inverse .brand {
4819
+ color: #999999;
4820
+ }
4821
+
4822
+ .navbar-inverse .navbar-text {
4823
+ color: #999999;
4824
+ }
4825
+
4826
+ .navbar-inverse .nav > li > a:focus,
4827
+ .navbar-inverse .nav > li > a:hover {
4828
+ color: #ffffff;
4829
+ background-color: transparent;
4830
+ }
4831
+
4832
+ .navbar-inverse .nav .active > a,
4833
+ .navbar-inverse .nav .active > a:hover,
4834
+ .navbar-inverse .nav .active > a:focus {
4835
+ color: #ffffff;
4836
+ background-color: #111111;
4837
+ }
4838
+
4839
+ .navbar-inverse .navbar-link {
4840
+ color: #999999;
4841
+ }
4842
+
4843
+ .navbar-inverse .navbar-link:hover,
4844
+ .navbar-inverse .navbar-link:focus {
4845
+ color: #ffffff;
4846
+ }
4847
+
4848
+ .navbar-inverse .divider-vertical {
4849
+ border-right-color: #222222;
4850
+ border-left-color: #111111;
4851
+ }
4852
+
4853
+ .navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
4854
+ .navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
4855
+ .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
4856
+ color: #ffffff;
4857
+ background-color: #111111;
4858
+ }
4859
+
4860
+ .navbar-inverse .nav li.dropdown > a:hover .caret,
4861
+ .navbar-inverse .nav li.dropdown > a:focus .caret {
4862
+ border-top-color: #ffffff;
4863
+ border-bottom-color: #ffffff;
4864
+ }
4865
+
4866
+ .navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
4867
+ border-top-color: #999999;
4868
+ border-bottom-color: #999999;
4869
+ }
4870
+
4871
+ .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
4872
+ .navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
4873
+ .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
4874
+ border-top-color: #ffffff;
4875
+ border-bottom-color: #ffffff;
4876
+ }
4877
+
4878
+ .navbar-inverse .navbar-search .search-query {
4879
+ color: #ffffff;
4880
+ background-color: #515151;
4881
+ border-color: #111111;
4882
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4883
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4884
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4885
+ -webkit-transition: none;
4886
+ -moz-transition: none;
4887
+ -o-transition: none;
4888
+ transition: none;
4889
+ }
4890
+
4891
+ .navbar-inverse .navbar-search .search-query:-moz-placeholder {
4892
+ color: #cccccc;
4893
+ }
4894
+
4895
+ .navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
4896
+ color: #cccccc;
4897
+ }
4898
+
4899
+ .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
4900
+ color: #cccccc;
4901
+ }
4902
+
4903
+ .navbar-inverse .navbar-search .search-query:focus,
4904
+ .navbar-inverse .navbar-search .search-query.focused {
4905
+ padding: 5px 15px;
4906
+ color: #333333;
4907
+ text-shadow: 0 1px 0 #ffffff;
4908
+ background-color: #ffffff;
4909
+ border: 0;
4910
+ outline: 0;
4911
+ -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4912
+ -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4913
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4914
+ }
4915
+
4916
+ .navbar-inverse .btn-navbar {
4917
+ color: #ffffff;
4918
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4919
+ background-color: #0e0e0e;
4920
+ *background-color: #040404;
4921
+ background-image: -moz-linear-gradient(top, #151515, #040404);
4922
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
4923
+ background-image: -webkit-linear-gradient(top, #151515, #040404);
4924
+ background-image: -o-linear-gradient(top, #151515, #040404);
4925
+ background-image: linear-gradient(to bottom, #151515, #040404);
4926
+ background-repeat: repeat-x;
4927
+ border-color: #040404 #040404 #000000;
4928
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
4929
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
4930
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
4931
+ }
4932
+
4933
+ .navbar-inverse .btn-navbar:hover,
4934
+ .navbar-inverse .btn-navbar:focus,
4935
+ .navbar-inverse .btn-navbar:active,
4936
+ .navbar-inverse .btn-navbar.active,
4937
+ .navbar-inverse .btn-navbar.disabled,
4938
+ .navbar-inverse .btn-navbar[disabled] {
4939
+ color: #ffffff;
4940
+ background-color: #040404;
4941
+ *background-color: #000000;
4942
+ }
4943
+
4944
+ .navbar-inverse .btn-navbar:active,
4945
+ .navbar-inverse .btn-navbar.active {
4946
+ background-color: #000000 \9;
4947
+ }
4948
+
4949
+ .breadcrumb {
4950
+ padding: 8px 15px;
4951
+ margin: 0 0 20px;
4952
+ list-style: none;
4953
+ background-color: #f5f5f5;
4954
+ -webkit-border-radius: 4px;
4955
+ -moz-border-radius: 4px;
4956
+ border-radius: 4px;
4957
+ }
4958
+
4959
+ .breadcrumb > li {
4960
+ display: inline-block;
4961
+ *display: inline;
4962
+ text-shadow: 0 1px 0 #ffffff;
4963
+ *zoom: 1;
4964
+ }
4965
+
4966
+ .breadcrumb > li > .divider {
4967
+ padding: 0 5px;
4968
+ color: #ccc;
4969
+ }
4970
+
4971
+ .breadcrumb > .active {
4972
+ color: #999999;
4973
+ }
4974
+
4975
+ .pagination {
4976
+ margin: 20px 0;
4977
+ }
4978
+
4979
+ .pagination ul {
4980
+ display: inline-block;
4981
+ *display: inline;
4982
+ margin-bottom: 0;
4983
+ margin-left: 0;
4984
+ -webkit-border-radius: 4px;
4985
+ -moz-border-radius: 4px;
4986
+ border-radius: 4px;
4987
+ *zoom: 1;
4988
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4989
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4990
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4991
+ }
4992
+
4993
+ .pagination ul > li {
4994
+ display: inline;
4995
+ }
4996
+
4997
+ .pagination ul > li > a,
4998
+ .pagination ul > li > span {
4999
+ float: left;
5000
+ padding: 4px 12px;
5001
+ line-height: 20px;
5002
+ text-decoration: none;
5003
+ background-color: #ffffff;
5004
+ border: 1px solid #dddddd;
5005
+ border-left-width: 0;
5006
+ }
5007
+
5008
+ .pagination ul > li > a:hover,
5009
+ .pagination ul > li > a:focus,
5010
+ .pagination ul > .active > a,
5011
+ .pagination ul > .active > span {
5012
+ background-color: #f5f5f5;
5013
+ }
5014
+
5015
+ .pagination ul > .active > a,
5016
+ .pagination ul > .active > span {
5017
+ color: #999999;
5018
+ cursor: default;
5019
+ }
5020
+
5021
+ .pagination ul > .disabled > span,
5022
+ .pagination ul > .disabled > a,
5023
+ .pagination ul > .disabled > a:hover,
5024
+ .pagination ul > .disabled > a:focus {
5025
+ color: #999999;
5026
+ cursor: default;
5027
+ background-color: transparent;
5028
+ }
5029
+
5030
+ .pagination ul > li:first-child > a,
5031
+ .pagination ul > li:first-child > span {
5032
+ border-left-width: 1px;
5033
+ -webkit-border-bottom-left-radius: 4px;
5034
+ border-bottom-left-radius: 4px;
5035
+ -webkit-border-top-left-radius: 4px;
5036
+ border-top-left-radius: 4px;
5037
+ -moz-border-radius-bottomleft: 4px;
5038
+ -moz-border-radius-topleft: 4px;
5039
+ }
5040
+
5041
+ .pagination ul > li:last-child > a,
5042
+ .pagination ul > li:last-child > span {
5043
+ -webkit-border-top-right-radius: 4px;
5044
+ border-top-right-radius: 4px;
5045
+ -webkit-border-bottom-right-radius: 4px;
5046
+ border-bottom-right-radius: 4px;
5047
+ -moz-border-radius-topright: 4px;
5048
+ -moz-border-radius-bottomright: 4px;
5049
+ }
5050
+
5051
+ .pagination-centered {
5052
+ text-align: center;
5053
+ }
5054
+
5055
+ .pagination-right {
5056
+ text-align: right;
5057
+ }
5058
+
5059
+ .pagination-large ul > li > a,
5060
+ .pagination-large ul > li > span {
5061
+ padding: 11px 19px;
5062
+ font-size: 17.5px;
5063
+ }
5064
+
5065
+ .pagination-large ul > li:first-child > a,
5066
+ .pagination-large ul > li:first-child > span {
5067
+ -webkit-border-bottom-left-radius: 6px;
5068
+ border-bottom-left-radius: 6px;
5069
+ -webkit-border-top-left-radius: 6px;
5070
+ border-top-left-radius: 6px;
5071
+ -moz-border-radius-bottomleft: 6px;
5072
+ -moz-border-radius-topleft: 6px;
5073
+ }
5074
+
5075
+ .pagination-large ul > li:last-child > a,
5076
+ .pagination-large ul > li:last-child > span {
5077
+ -webkit-border-top-right-radius: 6px;
5078
+ border-top-right-radius: 6px;
5079
+ -webkit-border-bottom-right-radius: 6px;
5080
+ border-bottom-right-radius: 6px;
5081
+ -moz-border-radius-topright: 6px;
5082
+ -moz-border-radius-bottomright: 6px;
5083
+ }
5084
+
5085
+ .pagination-mini ul > li:first-child > a,
5086
+ .pagination-small ul > li:first-child > a,
5087
+ .pagination-mini ul > li:first-child > span,
5088
+ .pagination-small ul > li:first-child > span {
5089
+ -webkit-border-bottom-left-radius: 3px;
5090
+ border-bottom-left-radius: 3px;
5091
+ -webkit-border-top-left-radius: 3px;
5092
+ border-top-left-radius: 3px;
5093
+ -moz-border-radius-bottomleft: 3px;
5094
+ -moz-border-radius-topleft: 3px;
5095
+ }
5096
+
5097
+ .pagination-mini ul > li:last-child > a,
5098
+ .pagination-small ul > li:last-child > a,
5099
+ .pagination-mini ul > li:last-child > span,
5100
+ .pagination-small ul > li:last-child > span {
5101
+ -webkit-border-top-right-radius: 3px;
5102
+ border-top-right-radius: 3px;
5103
+ -webkit-border-bottom-right-radius: 3px;
5104
+ border-bottom-right-radius: 3px;
5105
+ -moz-border-radius-topright: 3px;
5106
+ -moz-border-radius-bottomright: 3px;
5107
+ }
5108
+
5109
+ .pagination-small ul > li > a,
5110
+ .pagination-small ul > li > span {
5111
+ padding: 2px 10px;
5112
+ font-size: 11.9px;
5113
+ }
5114
+
5115
+ .pagination-mini ul > li > a,
5116
+ .pagination-mini ul > li > span {
5117
+ padding: 0 6px;
5118
+ font-size: 10.5px;
5119
+ }
5120
+
5121
+ .pager {
5122
+ margin: 20px 0;
5123
+ text-align: center;
5124
+ list-style: none;
5125
+ *zoom: 1;
5126
+ }
5127
+
5128
+ .pager:before,
5129
+ .pager:after {
5130
+ display: table;
5131
+ line-height: 0;
5132
+ content: "";
5133
+ }
5134
+
5135
+ .pager:after {
5136
+ clear: both;
5137
+ }
5138
+
5139
+ .pager li {
5140
+ display: inline;
5141
+ }
5142
+
5143
+ .pager li > a,
5144
+ .pager li > span {
5145
+ display: inline-block;
5146
+ padding: 5px 14px;
5147
+ background-color: #fff;
5148
+ border: 1px solid #ddd;
5149
+ -webkit-border-radius: 15px;
5150
+ -moz-border-radius: 15px;
5151
+ border-radius: 15px;
5152
+ }
5153
+
5154
+ .pager li > a:hover,
5155
+ .pager li > a:focus {
5156
+ text-decoration: none;
5157
+ background-color: #f5f5f5;
5158
+ }
5159
+
5160
+ .pager .next > a,
5161
+ .pager .next > span {
5162
+ float: right;
5163
+ }
5164
+
5165
+ .pager .previous > a,
5166
+ .pager .previous > span {
5167
+ float: left;
5168
+ }
5169
+
5170
+ .pager .disabled > a,
5171
+ .pager .disabled > a:hover,
5172
+ .pager .disabled > a:focus,
5173
+ .pager .disabled > span {
5174
+ color: #999999;
5175
+ cursor: default;
5176
+ background-color: #fff;
5177
+ }
5178
+
5179
+ .modal-backdrop {
5180
+ position: fixed;
5181
+ top: 0;
5182
+ right: 0;
5183
+ bottom: 0;
5184
+ left: 0;
5185
+ z-index: 1040;
5186
+ background-color: #000000;
5187
+ }
5188
+
5189
+ .modal-backdrop.fade {
5190
+ opacity: 0;
5191
+ }
5192
+
5193
+ .modal-backdrop,
5194
+ .modal-backdrop.fade.in {
5195
+ opacity: 0.8;
5196
+ filter: alpha(opacity=80);
5197
+ }
5198
+
5199
+ .modal {
5200
+ position: fixed;
5201
+ top: 10%;
5202
+ left: 50%;
5203
+ z-index: 1050;
5204
+ width: 560px;
5205
+ margin-left: -280px;
5206
+ background-color: #ffffff;
5207
+ border: 1px solid #999;
5208
+ border: 1px solid rgba(0, 0, 0, 0.3);
5209
+ *border: 1px solid #999;
5210
+ -webkit-border-radius: 6px;
5211
+ -moz-border-radius: 6px;
5212
+ border-radius: 6px;
5213
+ outline: none;
5214
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5215
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5216
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5217
+ -webkit-background-clip: padding-box;
5218
+ -moz-background-clip: padding-box;
5219
+ background-clip: padding-box;
5220
+ }
5221
+
5222
+ .modal.fade {
5223
+ top: -25%;
5224
+ -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
5225
+ -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
5226
+ -o-transition: opacity 0.3s linear, top 0.3s ease-out;
5227
+ transition: opacity 0.3s linear, top 0.3s ease-out;
5228
+ }
5229
+
5230
+ .modal.fade.in {
5231
+ top: 10%;
5232
+ }
5233
+
5234
+ .modal-header {
5235
+ padding: 9px 15px;
5236
+ border-bottom: 1px solid #eee;
5237
+ }
5238
+
5239
+ .modal-header .close {
5240
+ margin-top: 2px;
5241
+ }
5242
+
5243
+ .modal-header h3 {
5244
+ margin: 0;
5245
+ line-height: 30px;
5246
+ }
5247
+
5248
+ .modal-body {
5249
+ position: relative;
5250
+ max-height: 400px;
5251
+ padding: 15px;
5252
+ overflow-y: auto;
5253
+ }
5254
+
5255
+ .modal-form {
5256
+ margin-bottom: 0;
5257
+ }
5258
+
5259
+ .modal-footer {
5260
+ padding: 14px 15px 15px;
5261
+ margin-bottom: 0;
5262
+ text-align: right;
5263
+ background-color: #f5f5f5;
5264
+ border-top: 1px solid #ddd;
5265
+ -webkit-border-radius: 0 0 6px 6px;
5266
+ -moz-border-radius: 0 0 6px 6px;
5267
+ border-radius: 0 0 6px 6px;
5268
+ *zoom: 1;
5269
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
5270
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
5271
+ box-shadow: inset 0 1px 0 #ffffff;
5272
+ }
5273
+
5274
+ .modal-footer:before,
5275
+ .modal-footer:after {
5276
+ display: table;
5277
+ line-height: 0;
5278
+ content: "";
5279
+ }
5280
+
5281
+ .modal-footer:after {
5282
+ clear: both;
5283
+ }
5284
+
5285
+ .modal-footer .btn + .btn {
5286
+ margin-bottom: 0;
5287
+ margin-left: 5px;
5288
+ }
5289
+
5290
+ .modal-footer .btn-group .btn + .btn {
5291
+ margin-left: -1px;
5292
+ }
5293
+
5294
+ .modal-footer .btn-block + .btn-block {
5295
+ margin-left: 0;
5296
+ }
5297
+
5298
+ .tooltip {
5299
+ position: absolute;
5300
+ z-index: 1030;
5301
+ display: block;
5302
+ font-size: 11px;
5303
+ line-height: 1.4;
5304
+ opacity: 0;
5305
+ filter: alpha(opacity=0);
5306
+ visibility: visible;
5307
+ }
5308
+
5309
+ .tooltip.in {
5310
+ opacity: 0.8;
5311
+ filter: alpha(opacity=80);
5312
+ }
5313
+
5314
+ .tooltip.top {
5315
+ padding: 5px 0;
5316
+ margin-top: -3px;
5317
+ }
5318
+
5319
+ .tooltip.right {
5320
+ padding: 0 5px;
5321
+ margin-left: 3px;
5322
+ }
5323
+
5324
+ .tooltip.bottom {
5325
+ padding: 5px 0;
5326
+ margin-top: 3px;
5327
+ }
5328
+
5329
+ .tooltip.left {
5330
+ padding: 0 5px;
5331
+ margin-left: -3px;
5332
+ }
5333
+
5334
+ .tooltip-inner {
5335
+ max-width: 200px;
5336
+ padding: 8px;
5337
+ color: #ffffff;
5338
+ text-align: center;
5339
+ text-decoration: none;
5340
+ background-color: #000000;
5341
+ -webkit-border-radius: 4px;
5342
+ -moz-border-radius: 4px;
5343
+ border-radius: 4px;
5344
+ }
5345
+
5346
+ .tooltip-arrow {
5347
+ position: absolute;
5348
+ width: 0;
5349
+ height: 0;
5350
+ border-color: transparent;
5351
+ border-style: solid;
5352
+ }
5353
+
5354
+ .tooltip.top .tooltip-arrow {
5355
+ bottom: 0;
5356
+ left: 50%;
5357
+ margin-left: -5px;
5358
+ border-top-color: #000000;
5359
+ border-width: 5px 5px 0;
5360
+ }
5361
+
5362
+ .tooltip.right .tooltip-arrow {
5363
+ top: 50%;
5364
+ left: 0;
5365
+ margin-top: -5px;
5366
+ border-right-color: #000000;
5367
+ border-width: 5px 5px 5px 0;
5368
+ }
5369
+
5370
+ .tooltip.left .tooltip-arrow {
5371
+ top: 50%;
5372
+ right: 0;
5373
+ margin-top: -5px;
5374
+ border-left-color: #000000;
5375
+ border-width: 5px 0 5px 5px;
5376
+ }
5377
+
5378
+ .tooltip.bottom .tooltip-arrow {
5379
+ top: 0;
5380
+ left: 50%;
5381
+ margin-left: -5px;
5382
+ border-bottom-color: #000000;
5383
+ border-width: 0 5px 5px;
5384
+ }
5385
+
5386
+ .popover {
5387
+ position: absolute;
5388
+ top: 0;
5389
+ left: 0;
5390
+ z-index: 1010;
5391
+ display: none;
5392
+ max-width: 276px;
5393
+ padding: 1px;
5394
+ text-align: left;
5395
+ white-space: normal;
5396
+ background-color: #ffffff;
5397
+ border: 1px solid #ccc;
5398
+ border: 1px solid rgba(0, 0, 0, 0.2);
5399
+ -webkit-border-radius: 6px;
5400
+ -moz-border-radius: 6px;
5401
+ border-radius: 6px;
5402
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5403
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5404
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5405
+ -webkit-background-clip: padding-box;
5406
+ -moz-background-clip: padding;
5407
+ background-clip: padding-box;
5408
+ }
5409
+
5410
+ .popover.top {
5411
+ margin-top: -10px;
5412
+ }
5413
+
5414
+ .popover.right {
5415
+ margin-left: 10px;
5416
+ }
5417
+
5418
+ .popover.bottom {
5419
+ margin-top: 10px;
5420
+ }
5421
+
5422
+ .popover.left {
5423
+ margin-left: -10px;
5424
+ }
5425
+
5426
+ .popover-title {
5427
+ padding: 8px 14px;
5428
+ margin: 0;
5429
+ font-size: 14px;
5430
+ font-weight: normal;
5431
+ line-height: 18px;
5432
+ background-color: #f7f7f7;
5433
+ border-bottom: 1px solid #ebebeb;
5434
+ -webkit-border-radius: 5px 5px 0 0;
5435
+ -moz-border-radius: 5px 5px 0 0;
5436
+ border-radius: 5px 5px 0 0;
5437
+ }
5438
+
5439
+ .popover-title:empty {
5440
+ display: none;
5441
+ }
5442
+
5443
+ .popover-content {
5444
+ padding: 9px 14px;
5445
+ }
5446
+
5447
+ .popover .arrow,
5448
+ .popover .arrow:after {
5449
+ position: absolute;
5450
+ display: block;
5451
+ width: 0;
5452
+ height: 0;
5453
+ border-color: transparent;
5454
+ border-style: solid;
5455
+ }
5456
+
5457
+ .popover .arrow {
5458
+ border-width: 11px;
5459
+ }
5460
+
5461
+ .popover .arrow:after {
5462
+ border-width: 10px;
5463
+ content: "";
5464
+ }
5465
+
5466
+ .popover.top .arrow {
5467
+ bottom: -11px;
5468
+ left: 50%;
5469
+ margin-left: -11px;
5470
+ border-top-color: #999;
5471
+ border-top-color: rgba(0, 0, 0, 0.25);
5472
+ border-bottom-width: 0;
5473
+ }
5474
+
5475
+ .popover.top .arrow:after {
5476
+ bottom: 1px;
5477
+ margin-left: -10px;
5478
+ border-top-color: #ffffff;
5479
+ border-bottom-width: 0;
5480
+ }
5481
+
5482
+ .popover.right .arrow {
5483
+ top: 50%;
5484
+ left: -11px;
5485
+ margin-top: -11px;
5486
+ border-right-color: #999;
5487
+ border-right-color: rgba(0, 0, 0, 0.25);
5488
+ border-left-width: 0;
5489
+ }
5490
+
5491
+ .popover.right .arrow:after {
5492
+ bottom: -10px;
5493
+ left: 1px;
5494
+ border-right-color: #ffffff;
5495
+ border-left-width: 0;
5496
+ }
5497
+
5498
+ .popover.bottom .arrow {
5499
+ top: -11px;
5500
+ left: 50%;
5501
+ margin-left: -11px;
5502
+ border-bottom-color: #999;
5503
+ border-bottom-color: rgba(0, 0, 0, 0.25);
5504
+ border-top-width: 0;
5505
+ }
5506
+
5507
+ .popover.bottom .arrow:after {
5508
+ top: 1px;
5509
+ margin-left: -10px;
5510
+ border-bottom-color: #ffffff;
5511
+ border-top-width: 0;
5512
+ }
5513
+
5514
+ .popover.left .arrow {
5515
+ top: 50%;
5516
+ right: -11px;
5517
+ margin-top: -11px;
5518
+ border-left-color: #999;
5519
+ border-left-color: rgba(0, 0, 0, 0.25);
5520
+ border-right-width: 0;
5521
+ }
5522
+
5523
+ .popover.left .arrow:after {
5524
+ right: 1px;
5525
+ bottom: -10px;
5526
+ border-left-color: #ffffff;
5527
+ border-right-width: 0;
5528
+ }
5529
+
5530
+ .thumbnails {
5531
+ margin-left: -20px;
5532
+ list-style: none;
5533
+ *zoom: 1;
5534
+ }
5535
+
5536
+ .thumbnails:before,
5537
+ .thumbnails:after {
5538
+ display: table;
5539
+ line-height: 0;
5540
+ content: "";
5541
+ }
5542
+
5543
+ .thumbnails:after {
5544
+ clear: both;
5545
+ }
5546
+
5547
+ .row-fluid .thumbnails {
5548
+ margin-left: 0;
5549
+ }
5550
+
5551
+ .thumbnails > li {
5552
+ float: left;
5553
+ margin-bottom: 20px;
5554
+ margin-left: 20px;
5555
+ }
5556
+
5557
+ .thumbnail {
5558
+ display: block;
5559
+ padding: 4px;
5560
+ line-height: 20px;
5561
+ border: 1px solid #ddd;
5562
+ -webkit-border-radius: 4px;
5563
+ -moz-border-radius: 4px;
5564
+ border-radius: 4px;
5565
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5566
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5567
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5568
+ -webkit-transition: all 0.2s ease-in-out;
5569
+ -moz-transition: all 0.2s ease-in-out;
5570
+ -o-transition: all 0.2s ease-in-out;
5571
+ transition: all 0.2s ease-in-out;
5572
+ }
5573
+
5574
+ a.thumbnail:hover,
5575
+ a.thumbnail:focus {
5576
+ border-color: #0088cc;
5577
+ -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5578
+ -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5579
+ box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5580
+ }
5581
+
5582
+ .thumbnail > img {
5583
+ display: block;
5584
+ max-width: 100%;
5585
+ margin-right: auto;
5586
+ margin-left: auto;
5587
+ }
5588
+
5589
+ .thumbnail .caption {
5590
+ padding: 9px;
5591
+ color: #555555;
5592
+ }
5593
+
5594
+ .media,
5595
+ .media-body {
5596
+ overflow: hidden;
5597
+ *overflow: visible;
5598
+ zoom: 1;
5599
+ }
5600
+
5601
+ .media,
5602
+ .media .media {
5603
+ margin-top: 15px;
5604
+ }
5605
+
5606
+ .media:first-child {
5607
+ margin-top: 0;
5608
+ }
5609
+
5610
+ .media-object {
5611
+ display: block;
5612
+ }
5613
+
5614
+ .media-heading {
5615
+ margin: 0 0 5px;
5616
+ }
5617
+
5618
+ .media > .pull-left {
5619
+ margin-right: 10px;
5620
+ }
5621
+
5622
+ .media > .pull-right {
5623
+ margin-left: 10px;
5624
+ }
5625
+
5626
+ .media-list {
5627
+ margin-left: 0;
5628
+ list-style: none;
5629
+ }
5630
+
5631
+ .label,
5632
+ .badge {
5633
+ display: inline-block;
5634
+ padding: 2px 4px;
5635
+ font-size: 11.844px;
5636
+ font-weight: bold;
5637
+ line-height: 14px;
5638
+ color: #ffffff;
5639
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
5640
+ white-space: nowrap;
5641
+ vertical-align: baseline;
5642
+ background-color: #999999;
5643
+ }
5644
+
5645
+ .label {
5646
+ -webkit-border-radius: 3px;
5647
+ -moz-border-radius: 3px;
5648
+ border-radius: 3px;
5649
+ }
5650
+
5651
+ .badge {
5652
+ padding-right: 9px;
5653
+ padding-left: 9px;
5654
+ -webkit-border-radius: 9px;
5655
+ -moz-border-radius: 9px;
5656
+ border-radius: 9px;
5657
+ }
5658
+
5659
+ .label:empty,
5660
+ .badge:empty {
5661
+ display: none;
5662
+ }
5663
+
5664
+ a.label:hover,
5665
+ a.label:focus,
5666
+ a.badge:hover,
5667
+ a.badge:focus {
5668
+ color: #ffffff;
5669
+ text-decoration: none;
5670
+ cursor: pointer;
5671
+ }
5672
+
5673
+ .label-important,
5674
+ .badge-important {
5675
+ background-color: #b94a48;
5676
+ }
5677
+
5678
+ .label-important[href],
5679
+ .badge-important[href] {
5680
+ background-color: #953b39;
5681
+ }
5682
+
5683
+ .label-warning,
5684
+ .badge-warning {
5685
+ background-color: #f89406;
5686
+ }
5687
+
5688
+ .label-warning[href],
5689
+ .badge-warning[href] {
5690
+ background-color: #c67605;
5691
+ }
5692
+
5693
+ .label-success,
5694
+ .badge-success {
5695
+ background-color: #468847;
5696
+ }
5697
+
5698
+ .label-success[href],
5699
+ .badge-success[href] {
5700
+ background-color: #356635;
5701
+ }
5702
+
5703
+ .label-info,
5704
+ .badge-info {
5705
+ background-color: #3a87ad;
5706
+ }
5707
+
5708
+ .label-info[href],
5709
+ .badge-info[href] {
5710
+ background-color: #2d6987;
5711
+ }
5712
+
5713
+ .label-inverse,
5714
+ .badge-inverse {
5715
+ background-color: #333333;
5716
+ }
5717
+
5718
+ .label-inverse[href],
5719
+ .badge-inverse[href] {
5720
+ background-color: #1a1a1a;
5721
+ }
5722
+
5723
+ .btn .label,
5724
+ .btn .badge {
5725
+ position: relative;
5726
+ top: -1px;
5727
+ }
5728
+
5729
+ .btn-mini .label,
5730
+ .btn-mini .badge {
5731
+ top: 0;
5732
+ }
5733
+
5734
+ @-webkit-keyframes progress-bar-stripes {
5735
+ from {
5736
+ background-position: 40px 0;
5737
+ }
5738
+ to {
5739
+ background-position: 0 0;
5740
+ }
5741
+ }
5742
+
5743
+ @-moz-keyframes progress-bar-stripes {
5744
+ from {
5745
+ background-position: 40px 0;
5746
+ }
5747
+ to {
5748
+ background-position: 0 0;
5749
+ }
5750
+ }
5751
+
5752
+ @-ms-keyframes progress-bar-stripes {
5753
+ from {
5754
+ background-position: 40px 0;
5755
+ }
5756
+ to {
5757
+ background-position: 0 0;
5758
+ }
5759
+ }
5760
+
5761
+ @-o-keyframes progress-bar-stripes {
5762
+ from {
5763
+ background-position: 0 0;
5764
+ }
5765
+ to {
5766
+ background-position: 40px 0;
5767
+ }
5768
+ }
5769
+
5770
+ @keyframes progress-bar-stripes {
5771
+ from {
5772
+ background-position: 40px 0;
5773
+ }
5774
+ to {
5775
+ background-position: 0 0;
5776
+ }
5777
+ }
5778
+
5779
+ .progress {
5780
+ height: 20px;
5781
+ margin-bottom: 20px;
5782
+ overflow: hidden;
5783
+ background-color: #f7f7f7;
5784
+ background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
5785
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
5786
+ background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
5787
+ background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
5788
+ background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
5789
+ background-repeat: repeat-x;
5790
+ -webkit-border-radius: 4px;
5791
+ -moz-border-radius: 4px;
5792
+ border-radius: 4px;
5793
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
5794
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5795
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5796
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5797
+ }
5798
+
5799
+ .progress .bar {
5800
+ float: left;
5801
+ width: 0;
5802
+ height: 100%;
5803
+ font-size: 12px;
5804
+ color: #ffffff;
5805
+ text-align: center;
5806
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
5807
+ background-color: #0e90d2;
5808
+ background-image: -moz-linear-gradient(top, #149bdf, #0480be);
5809
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
5810
+ background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
5811
+ background-image: -o-linear-gradient(top, #149bdf, #0480be);
5812
+ background-image: linear-gradient(to bottom, #149bdf, #0480be);
5813
+ background-repeat: repeat-x;
5814
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
5815
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5816
+ -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5817
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5818
+ -webkit-box-sizing: border-box;
5819
+ -moz-box-sizing: border-box;
5820
+ box-sizing: border-box;
5821
+ -webkit-transition: width 0.6s ease;
5822
+ -moz-transition: width 0.6s ease;
5823
+ -o-transition: width 0.6s ease;
5824
+ transition: width 0.6s ease;
5825
+ }
5826
+
5827
+ .progress .bar + .bar {
5828
+ -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5829
+ -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5830
+ box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5831
+ }
5832
+
5833
+ .progress-striped .bar {
5834
+ background-color: #149bdf;
5835
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5836
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5837
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5838
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5839
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5840
+ -webkit-background-size: 40px 40px;
5841
+ -moz-background-size: 40px 40px;
5842
+ -o-background-size: 40px 40px;
5843
+ background-size: 40px 40px;
5844
+ }
5845
+
5846
+ .progress.active .bar {
5847
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
5848
+ -moz-animation: progress-bar-stripes 2s linear infinite;
5849
+ -ms-animation: progress-bar-stripes 2s linear infinite;
5850
+ -o-animation: progress-bar-stripes 2s linear infinite;
5851
+ animation: progress-bar-stripes 2s linear infinite;
5852
+ }
5853
+
5854
+ .progress-danger .bar,
5855
+ .progress .bar-danger {
5856
+ background-color: #dd514c;
5857
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
5858
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
5859
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
5860
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
5861
+ background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
5862
+ background-repeat: repeat-x;
5863
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
5864
+ }
5865
+
5866
+ .progress-danger.progress-striped .bar,
5867
+ .progress-striped .bar-danger {
5868
+ background-color: #ee5f5b;
5869
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5870
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5871
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5872
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5873
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5874
+ }
5875
+
5876
+ .progress-success .bar,
5877
+ .progress .bar-success {
5878
+ background-color: #5eb95e;
5879
+ background-image: -moz-linear-gradient(top, #62c462, #57a957);
5880
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
5881
+ background-image: -webkit-linear-gradient(top, #62c462, #57a957);
5882
+ background-image: -o-linear-gradient(top, #62c462, #57a957);
5883
+ background-image: linear-gradient(to bottom, #62c462, #57a957);
5884
+ background-repeat: repeat-x;
5885
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
5886
+ }
5887
+
5888
+ .progress-success.progress-striped .bar,
5889
+ .progress-striped .bar-success {
5890
+ background-color: #62c462;
5891
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5892
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5893
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5894
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5895
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5896
+ }
5897
+
5898
+ .progress-info .bar,
5899
+ .progress .bar-info {
5900
+ background-color: #4bb1cf;
5901
+ background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
5902
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
5903
+ background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
5904
+ background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
5905
+ background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
5906
+ background-repeat: repeat-x;
5907
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
5908
+ }
5909
+
5910
+ .progress-info.progress-striped .bar,
5911
+ .progress-striped .bar-info {
5912
+ background-color: #5bc0de;
5913
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5914
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5915
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5916
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5917
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5918
+ }
5919
+
5920
+ .progress-warning .bar,
5921
+ .progress .bar-warning {
5922
+ background-color: #faa732;
5923
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
5924
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
5925
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
5926
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
5927
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
5928
+ background-repeat: repeat-x;
5929
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
5930
+ }
5931
+
5932
+ .progress-warning.progress-striped .bar,
5933
+ .progress-striped .bar-warning {
5934
+ background-color: #fbb450;
5935
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5936
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5937
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5938
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5939
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5940
+ }
5941
+
5942
+ .accordion {
5943
+ margin-bottom: 20px;
5944
+ }
5945
+
5946
+ .accordion-group {
5947
+ margin-bottom: 2px;
5948
+ border: 1px solid #e5e5e5;
5949
+ -webkit-border-radius: 4px;
5950
+ -moz-border-radius: 4px;
5951
+ border-radius: 4px;
5952
+ }
5953
+
5954
+ .accordion-heading {
5955
+ border-bottom: 0;
5956
+ }
5957
+
5958
+ .accordion-heading .accordion-toggle {
5959
+ display: block;
5960
+ padding: 8px 15px;
5961
+ }
5962
+
5963
+ .accordion-toggle {
5964
+ cursor: pointer;
5965
+ }
5966
+
5967
+ .accordion-inner {
5968
+ padding: 9px 15px;
5969
+ border-top: 1px solid #e5e5e5;
5970
+ }
5971
+
5972
+ .carousel {
5973
+ position: relative;
5974
+ margin-bottom: 20px;
5975
+ line-height: 1;
5976
+ }
5977
+
5978
+ .carousel-inner {
5979
+ position: relative;
5980
+ width: 100%;
5981
+ overflow: hidden;
5982
+ }
5983
+
5984
+ .carousel-inner > .item {
5985
+ position: relative;
5986
+ display: none;
5987
+ -webkit-transition: 0.6s ease-in-out left;
5988
+ -moz-transition: 0.6s ease-in-out left;
5989
+ -o-transition: 0.6s ease-in-out left;
5990
+ transition: 0.6s ease-in-out left;
5991
+ }
5992
+
5993
+ .carousel-inner > .item > img,
5994
+ .carousel-inner > .item > a > img {
5995
+ display: block;
5996
+ line-height: 1;
5997
+ }
5998
+
5999
+ .carousel-inner > .active,
6000
+ .carousel-inner > .next,
6001
+ .carousel-inner > .prev {
6002
+ display: block;
6003
+ }
6004
+
6005
+ .carousel-inner > .active {
6006
+ left: 0;
6007
+ }
6008
+
6009
+ .carousel-inner > .next,
6010
+ .carousel-inner > .prev {
6011
+ position: absolute;
6012
+ top: 0;
6013
+ width: 100%;
6014
+ }
6015
+
6016
+ .carousel-inner > .next {
6017
+ left: 100%;
6018
+ }
6019
+
6020
+ .carousel-inner > .prev {
6021
+ left: -100%;
6022
+ }
6023
+
6024
+ .carousel-inner > .next.left,
6025
+ .carousel-inner > .prev.right {
6026
+ left: 0;
6027
+ }
6028
+
6029
+ .carousel-inner > .active.left {
6030
+ left: -100%;
6031
+ }
6032
+
6033
+ .carousel-inner > .active.right {
6034
+ left: 100%;
6035
+ }
6036
+
6037
+ .carousel-control {
6038
+ position: absolute;
6039
+ top: 40%;
6040
+ left: 15px;
6041
+ width: 40px;
6042
+ height: 40px;
6043
+ margin-top: -20px;
6044
+ font-size: 60px;
6045
+ font-weight: 100;
6046
+ line-height: 30px;
6047
+ color: #ffffff;
6048
+ text-align: center;
6049
+ background: #222222;
6050
+ border: 3px solid #ffffff;
6051
+ -webkit-border-radius: 23px;
6052
+ -moz-border-radius: 23px;
6053
+ border-radius: 23px;
6054
+ opacity: 0.5;
6055
+ filter: alpha(opacity=50);
6056
+ }
6057
+
6058
+ .carousel-control.right {
6059
+ right: 15px;
6060
+ left: auto;
6061
+ }
6062
+
6063
+ .carousel-control:hover,
6064
+ .carousel-control:focus {
6065
+ color: #ffffff;
6066
+ text-decoration: none;
6067
+ opacity: 0.9;
6068
+ filter: alpha(opacity=90);
6069
+ }
6070
+
6071
+ .carousel-indicators {
6072
+ position: absolute;
6073
+ top: 15px;
6074
+ right: 15px;
6075
+ z-index: 5;
6076
+ margin: 0;
6077
+ list-style: none;
6078
+ }
6079
+
6080
+ .carousel-indicators li {
6081
+ display: block;
6082
+ float: left;
6083
+ width: 10px;
6084
+ height: 10px;
6085
+ margin-left: 5px;
6086
+ text-indent: -999px;
6087
+ background-color: #ccc;
6088
+ background-color: rgba(255, 255, 255, 0.25);
6089
+ border-radius: 5px;
6090
+ }
6091
+
6092
+ .carousel-indicators .active {
6093
+ background-color: #fff;
6094
+ }
6095
+
6096
+ .carousel-caption {
6097
+ position: absolute;
6098
+ right: 0;
6099
+ bottom: 0;
6100
+ left: 0;
6101
+ padding: 15px;
6102
+ background: #333333;
6103
+ background: rgba(0, 0, 0, 0.75);
6104
+ }
6105
+
6106
+ .carousel-caption h4,
6107
+ .carousel-caption p {
6108
+ line-height: 20px;
6109
+ color: #ffffff;
6110
+ }
6111
+
6112
+ .carousel-caption h4 {
6113
+ margin: 0 0 5px;
6114
+ }
6115
+
6116
+ .carousel-caption p {
6117
+ margin-bottom: 0;
6118
+ }
6119
+
6120
+ .hero-unit {
6121
+ padding: 60px;
6122
+ margin-bottom: 30px;
6123
+ font-size: 18px;
6124
+ font-weight: 200;
6125
+ line-height: 30px;
6126
+ color: inherit;
6127
+ background-color: #eeeeee;
6128
+ -webkit-border-radius: 6px;
6129
+ -moz-border-radius: 6px;
6130
+ border-radius: 6px;
6131
+ }
6132
+
6133
+ .hero-unit h1 {
6134
+ margin-bottom: 0;
6135
+ font-size: 60px;
6136
+ line-height: 1;
6137
+ letter-spacing: -1px;
6138
+ color: inherit;
6139
+ }
6140
+
6141
+ .hero-unit li {
6142
+ line-height: 30px;
6143
+ }
6144
+
6145
+ .pull-right {
6146
+ float: right;
6147
+ }
6148
+
6149
+ .pull-left {
6150
+ float: left;
6151
+ }
6152
+
6153
+ .hide {
6154
+ display: none;
6155
+ }
6156
+
6157
+ .show {
6158
+ display: block;
6159
+ }
6160
+
6161
+ .invisible {
6162
+ visibility: hidden;
6163
+ }
6164
+
6165
+ .affix {
6166
+ position: fixed;
6167
+ }
skin/frontend/base/default/css/bootstrap.min.css ADDED
@@ -0,0 +1,3321 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.0 (http://getbootstrap.com)
3
+ * Copyright 2011-2014 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ /*!
8
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=88f6ae16d77bba731ca2)
9
+ * Config saved to config.json and https://gist.github.com/88f6ae16d77bba731ca2
10
+ */
11
+ /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
12
+ html {
13
+ font-family: sans-serif;
14
+ -ms-text-size-adjust: 100%;
15
+ -webkit-text-size-adjust: 100%;
16
+ }
17
+ body {
18
+ margin: 0;
19
+ }
20
+ article,
21
+ aside,
22
+ details,
23
+ figcaption,
24
+ figure,
25
+ footer,
26
+ header,
27
+ hgroup,
28
+ main,
29
+ menu,
30
+ nav,
31
+ section,
32
+ summary {
33
+ display: block;
34
+ }
35
+ audio,
36
+ canvas,
37
+ progress,
38
+ video {
39
+ display: inline-block;
40
+ vertical-align: baseline;
41
+ }
42
+ audio:not([controls]) {
43
+ display: none;
44
+ height: 0;
45
+ }
46
+ [hidden],
47
+ template {
48
+ display: none;
49
+ }
50
+ a {
51
+ background-color: transparent;
52
+ }
53
+ a:active,
54
+ a:hover {
55
+ outline: 0;
56
+ }
57
+ abbr[title] {
58
+ border-bottom: 1px dotted;
59
+ }
60
+ b,
61
+ strong {
62
+ font-weight: bold;
63
+ }
64
+ dfn {
65
+ font-style: italic;
66
+ }
67
+ h1 {
68
+ font-size: 2em;
69
+ margin: 0.67em 0;
70
+ }
71
+ mark {
72
+ background: #ff0;
73
+ color: #000;
74
+ }
75
+ small {
76
+ font-size: 80%;
77
+ }
78
+ sub,
79
+ sup {
80
+ font-size: 75%;
81
+ line-height: 0;
82
+ position: relative;
83
+ vertical-align: baseline;
84
+ }
85
+ sup {
86
+ top: -0.5em;
87
+ }
88
+ sub {
89
+ bottom: -0.25em;
90
+ }
91
+ img {
92
+ border: 0;
93
+ }
94
+ svg:not(:root) {
95
+ overflow: hidden;
96
+ }
97
+ figure {
98
+ margin: 1em 40px;
99
+ }
100
+ hr {
101
+ -moz-box-sizing: content-box;
102
+ box-sizing: content-box;
103
+ height: 0;
104
+ }
105
+ pre {
106
+ overflow: auto;
107
+ }
108
+ code,
109
+ kbd,
110
+ pre,
111
+ samp {
112
+ font-family: monospace, monospace;
113
+ font-size: 1em;
114
+ }
115
+ button,
116
+ input,
117
+ optgroup,
118
+ select,
119
+ textarea {
120
+ color: inherit;
121
+ font: inherit;
122
+ margin: 0;
123
+ }
124
+ button {
125
+ overflow: visible;
126
+ }
127
+ button,
128
+ select {
129
+ text-transform: none;
130
+ }
131
+ button,
132
+ html input[type="button"],
133
+ input[type="reset"],
134
+ input[type="submit"] {
135
+ -webkit-appearance: button;
136
+ cursor: pointer;
137
+ }
138
+ button[disabled],
139
+ html input[disabled] {
140
+ cursor: not-allowed;
141
+ background-color: #dff0d8;
142
+ border-color: #d6e9c6;
143
+ }
144
+ button::-moz-focus-inner,
145
+ input::-moz-focus-inner {
146
+ border: 0;
147
+ padding: 0;
148
+ }
149
+ input {
150
+ line-height: normal;
151
+ }
152
+ input[type="checkbox"],
153
+ input[type="radio"] {
154
+ box-sizing: border-box;
155
+ padding: 0;
156
+ }
157
+ input[type="number"]::-webkit-inner-spin-button,
158
+ input[type="number"]::-webkit-outer-spin-button {
159
+ height: auto;
160
+ }
161
+ input[type="search"] {
162
+ -webkit-appearance: textfield;
163
+ -moz-box-sizing: content-box;
164
+ -webkit-box-sizing: content-box;
165
+ box-sizing: content-box;
166
+ }
167
+ input[type="search"]::-webkit-search-cancel-button,
168
+ input[type="search"]::-webkit-search-decoration {
169
+ -webkit-appearance: none;
170
+ }
171
+ fieldset {
172
+ border: 1px solid #c0c0c0;
173
+ margin: 0 2px;
174
+ padding: 0.35em 0.625em 0.75em;
175
+ }
176
+ legend {
177
+ border: 0;
178
+ padding: 0;
179
+ }
180
+ textarea {
181
+ overflow: auto;
182
+ }
183
+ optgroup {
184
+ font-weight: bold;
185
+ }
186
+ table {
187
+ border-collapse: collapse;
188
+ border-spacing: 0;
189
+ }
190
+ td,
191
+ th {
192
+ padding: 0;
193
+ }
194
+ * {
195
+ -webkit-box-sizing: border-box;
196
+ -moz-box-sizing: border-box;
197
+ box-sizing: border-box;
198
+ }
199
+ *:before,
200
+ *:after {
201
+ -webkit-box-sizing: border-box;
202
+ -moz-box-sizing: border-box;
203
+ box-sizing: border-box;
204
+ }
205
+ html {
206
+ font-size: 10px;
207
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
208
+ }
209
+ body {
210
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
211
+ font-size: 14px;
212
+ line-height: 1.42857143;
213
+ color: #333333;
214
+ background-color: #ffffff;
215
+ }
216
+ input,
217
+ button,
218
+ select,
219
+ textarea {
220
+ font-family: inherit;
221
+ font-size: inherit;
222
+ line-height: inherit;
223
+ }
224
+ a {
225
+ color: #428bca;
226
+ text-decoration: none;
227
+ }
228
+ a:hover,
229
+ a:focus {
230
+ color: #2a6496;
231
+ text-decoration: underline;
232
+ }
233
+ a:focus {
234
+ outline: thin dotted;
235
+ outline: 5px auto -webkit-focus-ring-color;
236
+ outline-offset: -2px;
237
+ }
238
+ figure {
239
+ margin: 0;
240
+ }
241
+ img {
242
+ vertical-align: middle;
243
+ }
244
+ .sq-img-responsive,
245
+ .sq-thumbnail > img,
246
+ .sq-thumbnail a > img {
247
+ display: block;
248
+ max-width: 100%;
249
+ height: auto;
250
+ }
251
+ .sq-img-rounded {
252
+ border-radius: 6px;
253
+ }
254
+ .sq-img-thumbnail {
255
+ padding: 4px;
256
+ line-height: 1.42857143;
257
+ background-color: #ffffff;
258
+ border: 1px solid #dddddd;
259
+ border-radius: 4px;
260
+ -webkit-transition: all 0.2s ease-in-out;
261
+ -o-transition: all 0.2s ease-in-out;
262
+ transition: all 0.2s ease-in-out;
263
+ display: inline-block;
264
+ max-width: 100%;
265
+ height: auto;
266
+ }
267
+ .sq-img-circle {
268
+ border-radius: 50%;
269
+ }
270
+ hr {
271
+ margin-top: 20px;
272
+ margin-bottom: 20px;
273
+ border: 0;
274
+ border-top: 1px solid #eeeeee;
275
+ }
276
+ .sq-sr-only {
277
+ position: absolute;
278
+ width: 1px;
279
+ height: 1px;
280
+ margin: -1px;
281
+ padding: 0;
282
+ overflow: hidden;
283
+ clip: rect(0, 0, 0, 0);
284
+ border: 0;
285
+ }
286
+ .sq-sr-only-focusable:active,
287
+ .sq-sr-only-focusable:focus {
288
+ position: static;
289
+ width: auto;
290
+ height: auto;
291
+ margin: 0;
292
+ overflow: visible;
293
+ clip: auto;
294
+ }
295
+ .sq-container {
296
+ margin-right: auto;
297
+ margin-left: auto;
298
+ padding-left: 15px;
299
+ padding-right: 15px;
300
+ }
301
+ @media (min-width: 768px) {
302
+ .sq-container {
303
+ width: 750px;
304
+ }
305
+ }
306
+ @media (min-width: 992px) {
307
+ .sq-container {
308
+ width: 970px;
309
+ }
310
+ }
311
+ @media (min-width: 1200px) {
312
+ .sq-container {
313
+ width: 1170px;
314
+ }
315
+ }
316
+ .sq-container-fluid {
317
+ margin-right: auto;
318
+ margin-left: auto;
319
+ padding-left: 15px;
320
+ padding-right: 15px;
321
+ }
322
+ .sq-row {
323
+ margin-left: -15px;
324
+ margin-right: -15px;
325
+ }
326
+ .sq-col-xs-1, .sq-col-sm-1, .sq-col-md-1, .sq-col-lg-1, .sq-col-xs-2, .sq-col-sm-2, .sq-col-md-2, .sq-col-lg-2, .sq-col-xs-3, .sq-col-sm-3, .sq-col-md-3, .sq-col-lg-3, .sq-col-xs-4, .sq-col-sm-4, .sq-col-md-4, .sq-col-lg-4, .sq-col-xs-5, .sq-col-sm-5, .sq-col-md-5, .sq-col-lg-5, .sq-col-xs-6, .sq-col-sm-6, .sq-col-md-6, .sq-col-lg-6, .sq-col-xs-7, .sq-col-sm-7, .sq-col-md-7, .sq-col-lg-7, .sq-col-xs-8, .sq-col-sm-8, .sq-col-md-8, .sq-col-lg-8, .sq-col-xs-9, .sq-col-sm-9, .sq-col-md-9, .sq-col-lg-9, .sq-col-xs-10, .sq-col-sm-10, .sq-col-md-10, .sq-col-lg-10, .sq-col-xs-11, .sq-col-sm-11, .sq-col-md-11, .sq-col-lg-11, .sq-col-xs-12, .sq-col-sm-12, .sq-col-md-12, .sq-col-lg-12 {
327
+ position: relative;
328
+ min-height: 1px;
329
+ padding-left: 15px;
330
+ padding-right: 15px;
331
+ }
332
+ .sq-col-xs-1, .sq-col-xs-2, .sq-col-xs-3, .sq-col-xs-4, .sq-col-xs-5, .sq-col-xs-6, .sq-col-xs-7, .sq-col-xs-8, .sq-col-xs-9, .sq-col-xs-10, .sq-col-xs-11, .sq-col-xs-12 {
333
+ float: left;
334
+ }
335
+ .sq-col-xs-12 {
336
+ width: 100%;
337
+ }
338
+ .sq-col-xs-11 {
339
+ width: 91.66666667%;
340
+ }
341
+ .sq-col-xs-10 {
342
+ width: 83.33333333%;
343
+ }
344
+ .sq-col-xs-9 {
345
+ width: 75%;
346
+ }
347
+ .sq-col-xs-8 {
348
+ width: 66.66666667%;
349
+ }
350
+ .sq-col-xs-7 {
351
+ width: 58.33333333%;
352
+ }
353
+ .sq-col-xs-6 {
354
+ width: 50%;
355
+ }
356
+ .sq-col-xs-5 {
357
+ width: 41.66666667%;
358
+ }
359
+ .sq-col-xs-4 {
360
+ width: 33.33333333%;
361
+ }
362
+ .sq-col-xs-3 {
363
+ width: 25%;
364
+ }
365
+ .sq-col-xs-2 {
366
+ width: 16.66666667%;
367
+ }
368
+ .sq-col-xs-1 {
369
+ width: 8.33333333%;
370
+ }
371
+ .sq-col-xs-pull-12 {
372
+ right: 100%;
373
+ }
374
+ .sq-col-xs-pull-11 {
375
+ right: 91.66666667%;
376
+ }
377
+ .sq-col-xs-pull-10 {
378
+ right: 83.33333333%;
379
+ }
380
+ .sq-col-xs-pull-9 {
381
+ right: 75%;
382
+ }
383
+ .sq-col-xs-pull-8 {
384
+ right: 66.66666667%;
385
+ }
386
+ .sq-col-xs-pull-7 {
387
+ right: 58.33333333%;
388
+ }
389
+ .sq-col-xs-pull-6 {
390
+ right: 50%;
391
+ }
392
+ .sq-col-xs-pull-5 {
393
+ right: 41.66666667%;
394
+ }
395
+ .sq-col-xs-pull-4 {
396
+ right: 33.33333333%;
397
+ }
398
+ .sq-col-xs-pull-3 {
399
+ right: 25%;
400
+ }
401
+ .sq-col-xs-pull-2 {
402
+ right: 16.66666667%;
403
+ }
404
+ .sq-col-xs-pull-1 {
405
+ right: 8.33333333%;
406
+ }
407
+ .sq-col-xs-pull-0 {
408
+ right: auto;
409
+ }
410
+ .sq-col-xs-push-12 {
411
+ left: 100%;
412
+ }
413
+ .sq-col-xs-push-11 {
414
+ left: 91.66666667%;
415
+ }
416
+ .sq-col-xs-push-10 {
417
+ left: 83.33333333%;
418
+ }
419
+ .sq-col-xs-push-9 {
420
+ left: 75%;
421
+ }
422
+ .sq-col-xs-push-8 {
423
+ left: 66.66666667%;
424
+ }
425
+ .sq-col-xs-push-7 {
426
+ left: 58.33333333%;
427
+ }
428
+ .sq-col-xs-push-6 {
429
+ left: 50%;
430
+ }
431
+ .sq-col-xs-push-5 {
432
+ left: 41.66666667%;
433
+ }
434
+ .sq-col-xs-push-4 {
435
+ left: 33.33333333%;
436
+ }
437
+ .sq-col-xs-push-3 {
438
+ left: 25%;
439
+ }
440
+ .sq-col-xs-push-2 {
441
+ left: 16.66666667%;
442
+ }
443
+ .sq-col-xs-push-1 {
444
+ left: 8.33333333%;
445
+ }
446
+ .sq-col-xs-push-0 {
447
+ left: auto;
448
+ }
449
+ .sq-col-xs-offset-12 {
450
+ margin-left: 100%;
451
+ }
452
+ .sq-col-xs-offset-11 {
453
+ margin-left: 91.66666667%;
454
+ }
455
+ .sq-col-xs-offset-10 {
456
+ margin-left: 83.33333333%;
457
+ }
458
+ .sq-col-xs-offset-9 {
459
+ margin-left: 75%;
460
+ }
461
+ .sq-col-xs-offset-8 {
462
+ margin-left: 66.66666667%;
463
+ }
464
+ .sq-col-xs-offset-7 {
465
+ margin-left: 58.33333333%;
466
+ }
467
+ .sq-col-xs-offset-6 {
468
+ margin-left: 50%;
469
+ }
470
+ .sq-col-xs-offset-5 {
471
+ margin-left: 41.66666667%;
472
+ }
473
+ .sq-col-xs-offset-4 {
474
+ margin-left: 33.33333333%;
475
+ }
476
+ .sq-col-xs-offset-3 {
477
+ margin-left: 25%;
478
+ }
479
+ .sq-col-xs-offset-2 {
480
+ margin-left: 16.66666667%;
481
+ }
482
+ .sq-col-xs-offset-1 {
483
+ margin-left: 8.33333333%;
484
+ }
485
+ .sq-col-xs-offset-0 {
486
+ margin-left: 0%;
487
+ }
488
+ @media (min-width: 768px) {
489
+ .sq-col-sm-1, .sq-col-sm-2, .sq-col-sm-3, .sq-col-sm-4, .sq-col-sm-5, .sq-col-sm-6, .sq-col-sm-7, .sq-col-sm-8, .sq-col-sm-9, .sq-col-sm-10, .sq-col-sm-11, .sq-col-sm-12 {
490
+ float: left;
491
+ }
492
+ .sq-col-sm-12 {
493
+ width: 100%;
494
+ }
495
+ .sq-col-sm-11 {
496
+ width: 91.66666667%;
497
+ }
498
+ .sq-col-sm-10 {
499
+ width: 83.33333333%;
500
+ }
501
+ .sq-col-sm-9 {
502
+ width: 75%;
503
+ }
504
+ .sq-col-sm-8 {
505
+ width: 66.66666667%;
506
+ }
507
+ .sq-col-sm-7 {
508
+ width: 58.33333333%;
509
+ }
510
+ .sq-col-sm-6 {
511
+ width: 50%;
512
+ }
513
+ .sq-col-sm-5 {
514
+ width: 41.66666667%;
515
+ }
516
+ .sq-col-sm-4 {
517
+ width: 33.33333333%;
518
+ }
519
+ .sq-col-sm-3 {
520
+ width: 25%;
521
+ }
522
+ .sq-col-sm-2 {
523
+ width: 16.66666667%;
524
+ }
525
+ .sq-col-sm-1 {
526
+ width: 8.33333333%;
527
+ }
528
+ .sq-col-sm-pull-12 {
529
+ right: 100%;
530
+ }
531
+ .sq-col-sm-pull-11 {
532
+ right: 91.66666667%;
533
+ }
534
+ .sq-col-sm-pull-10 {
535
+ right: 83.33333333%;
536
+ }
537
+ .sq-col-sm-pull-9 {
538
+ right: 75%;
539
+ }
540
+ .sq-col-sm-pull-8 {
541
+ right: 66.66666667%;
542
+ }
543
+ .sq-col-sm-pull-7 {
544
+ right: 58.33333333%;
545
+ }
546
+ .sq-col-sm-pull-6 {
547
+ right: 50%;
548
+ }
549
+ .sq-col-sm-pull-5 {
550
+ right: 41.66666667%;
551
+ }
552
+ .sq-col-sm-pull-4 {
553
+ right: 33.33333333%;
554
+ }
555
+ .sq-col-sm-pull-3 {
556
+ right: 25%;
557
+ }
558
+ .sq-col-sm-pull-2 {
559
+ right: 16.66666667%;
560
+ }
561
+ .sq-col-sm-pull-1 {
562
+ right: 8.33333333%;
563
+ }
564
+ .sq-col-sm-pull-0 {
565
+ right: auto;
566
+ }
567
+ .sq-col-sm-push-12 {
568
+ left: 100%;
569
+ }
570
+ .sq-col-sm-push-11 {
571
+ left: 91.66666667%;
572
+ }
573
+ .sq-col-sm-push-10 {
574
+ left: 83.33333333%;
575
+ }
576
+ .sq-col-sm-push-9 {
577
+ left: 75%;
578
+ }
579
+ .sq-col-sm-push-8 {
580
+ left: 66.66666667%;
581
+ }
582
+ .sq-col-sm-push-7 {
583
+ left: 58.33333333%;
584
+ }
585
+ .sq-col-sm-push-6 {
586
+ left: 50%;
587
+ }
588
+ .sq-col-sm-push-5 {
589
+ left: 41.66666667%;
590
+ }
591
+ .sq-col-sm-push-4 {
592
+ left: 33.33333333%;
593
+ }
594
+ .sq-col-sm-push-3 {
595
+ left: 25%;
596
+ }
597
+ .sq-col-sm-push-2 {
598
+ left: 16.66666667%;
599
+ }
600
+ .sq-col-sm-push-1 {
601
+ left: 8.33333333%;
602
+ }
603
+ .sq-col-sm-push-0 {
604
+ left: auto;
605
+ }
606
+ .sq-col-sm-offset-12 {
607
+ margin-left: 100%;
608
+ }
609
+ .sq-col-sm-offset-11 {
610
+ margin-left: 91.66666667%;
611
+ }
612
+ .sq-col-sm-offset-10 {
613
+ margin-left: 83.33333333%;
614
+ }
615
+ .sq-col-sm-offset-9 {
616
+ margin-left: 75%;
617
+ }
618
+ .sq-col-sm-offset-8 {
619
+ margin-left: 66.66666667%;
620
+ }
621
+ .sq-col-sm-offset-7 {
622
+ margin-left: 58.33333333%;
623
+ }
624
+ .sq-col-sm-offset-6 {
625
+ margin-left: 50%;
626
+ }
627
+ .sq-col-sm-offset-5 {
628
+ margin-left: 41.66666667%;
629
+ }
630
+ .sq-col-sm-offset-4 {
631
+ margin-left: 33.33333333%;
632
+ }
633
+ .sq-col-sm-offset-3 {
634
+ margin-left: 25%;
635
+ }
636
+ .sq-col-sm-offset-2 {
637
+ margin-left: 16.66666667%;
638
+ }
639
+ .sq-col-sm-offset-1 {
640
+ margin-left: 8.33333333%;
641
+ }
642
+ .sq-col-sm-offset-0 {
643
+ margin-left: 0%;
644
+ }
645
+ }
646
+ @media (min-width: 992px) {
647
+ .sq-col-md-1, .sq-col-md-2, .sq-col-md-3, .sq-col-md-4, .sq-col-md-5, .sq-col-md-6, .sq-col-md-7, .sq-col-md-8, .sq-col-md-9, .sq-col-md-10, .sq-col-md-11, .sq-col-md-12 {
648
+ float: left;
649
+ }
650
+ .sq-col-md-12 {
651
+ width: 100%;
652
+ }
653
+ .sq-col-md-11 {
654
+ width: 91.66666667%;
655
+ }
656
+ .sq-col-md-10 {
657
+ width: 83.33333333%;
658
+ }
659
+ .sq-col-md-9 {
660
+ width: 75%;
661
+ }
662
+ .sq-col-md-8 {
663
+ width: 66.66666667%;
664
+ }
665
+ .sq-col-md-7 {
666
+ width: 58.33333333%;
667
+ }
668
+ .sq-col-md-6 {
669
+ width: 50%;
670
+ }
671
+ .sq-col-md-5 {
672
+ width: 41.66666667%;
673
+ }
674
+ .sq-col-md-4 {
675
+ width: 33.33333333%;
676
+ }
677
+ .sq-col-md-3 {
678
+ width: 25%;
679
+ }
680
+ .sq-col-md-2 {
681
+ width: 16.66666667%;
682
+ }
683
+ .sq-col-md-1 {
684
+ width: 8.33333333%;
685
+ }
686
+ .sq-col-md-pull-12 {
687
+ right: 100%;
688
+ }
689
+ .sq-col-md-pull-11 {
690
+ right: 91.66666667%;
691
+ }
692
+ .sq-col-md-pull-10 {
693
+ right: 83.33333333%;
694
+ }
695
+ .sq-col-md-pull-9 {
696
+ right: 75%;
697
+ }
698
+ .sq-col-md-pull-8 {
699
+ right: 66.66666667%;
700
+ }
701
+ .sq-col-md-pull-7 {
702
+ right: 58.33333333%;
703
+ }
704
+ .sq-col-md-pull-6 {
705
+ right: 50%;
706
+ }
707
+ .sq-col-md-pull-5 {
708
+ right: 41.66666667%;
709
+ }
710
+ .sq-col-md-pull-4 {
711
+ right: 33.33333333%;
712
+ }
713
+ .sq-col-md-pull-3 {
714
+ right: 25%;
715
+ }
716
+ .sq-col-md-pull-2 {
717
+ right: 16.66666667%;
718
+ }
719
+ .sq-col-md-pull-1 {
720
+ right: 8.33333333%;
721
+ }
722
+ .sq-col-md-pull-0 {
723
+ right: auto;
724
+ }
725
+ .sq-col-md-push-12 {
726
+ left: 100%;
727
+ }
728
+ .sq-col-md-push-11 {
729
+ left: 91.66666667%;
730
+ }
731
+ .sq-col-md-push-10 {
732
+ left: 83.33333333%;
733
+ }
734
+ .sq-col-md-push-9 {
735
+ left: 75%;
736
+ }
737
+ .sq-col-md-push-8 {
738
+ left: 66.66666667%;
739
+ }
740
+ .sq-col-md-push-7 {
741
+ left: 58.33333333%;
742
+ }
743
+ .sq-col-md-push-6 {
744
+ left: 50%;
745
+ }
746
+ .sq-col-md-push-5 {
747
+ left: 41.66666667%;
748
+ }
749
+ .sq-col-md-push-4 {
750
+ left: 33.33333333%;
751
+ }
752
+ .sq-col-md-push-3 {
753
+ left: 25%;
754
+ }
755
+ .sq-col-md-push-2 {
756
+ left: 16.66666667%;
757
+ }
758
+ .sq-col-md-push-1 {
759
+ left: 8.33333333%;
760
+ }
761
+ .sq-col-md-push-0 {
762
+ left: auto;
763
+ }
764
+ .sq-col-md-offset-12 {
765
+ margin-left: 100%;
766
+ }
767
+ .sq-col-md-offset-11 {
768
+ margin-left: 91.66666667%;
769
+ }
770
+ .sq-col-md-offset-10 {
771
+ margin-left: 83.33333333%;
772
+ }
773
+ .sq-col-md-offset-9 {
774
+ margin-left: 75%;
775
+ }
776
+ .sq-col-md-offset-8 {
777
+ margin-left: 66.66666667%;
778
+ }
779
+ .sq-col-md-offset-7 {
780
+ margin-left: 58.33333333%;
781
+ }
782
+ .sq-col-md-offset-6 {
783
+ margin-left: 50%;
784
+ }
785
+ .sq-col-md-offset-5 {
786
+ margin-left: 41.66666667%;
787
+ }
788
+ .sq-col-md-offset-4 {
789
+ margin-left: 33.33333333%;
790
+ }
791
+ .sq-col-md-offset-3 {
792
+ margin-left: 25%;
793
+ }
794
+ .sq-col-md-offset-2 {
795
+ margin-left: 16.66666667%;
796
+ }
797
+ .sq-col-md-offset-1 {
798
+ margin-left: 8.33333333%;
799
+ }
800
+ .sq-col-md-offset-0 {
801
+ margin-left: 0%;
802
+ }
803
+ }
804
+ @media (min-width: 1200px) {
805
+ .sq-col-lg-1, .sq-col-lg-2, .sq-col-lg-3, .sq-col-lg-4, .sq-col-lg-5, .sq-col-lg-6, .sq-col-lg-7, .sq-col-lg-8, .sq-col-lg-9, .sq-col-lg-10, .sq-col-lg-11, .sq-col-lg-12 {
806
+ float: left;
807
+ }
808
+ .sq-col-lg-12 {
809
+ width: 100%;
810
+ }
811
+ .sq-col-lg-11 {
812
+ width: 91.66666667%;
813
+ }
814
+ .sq-col-lg-10 {
815
+ width: 83.33333333%;
816
+ }
817
+ .sq-col-lg-9 {
818
+ width: 75%;
819
+ }
820
+ .sq-col-lg-8 {
821
+ width: 66.66666667%;
822
+ }
823
+ .sq-col-lg-7 {
824
+ width: 58.33333333%;
825
+ }
826
+ .sq-col-lg-6 {
827
+ width: 50%;
828
+ }
829
+ .sq-col-lg-5 {
830
+ width: 41.66666667%;
831
+ }
832
+ .sq-col-lg-4 {
833
+ width: 33.33333333%;
834
+ }
835
+ .sq-col-lg-3 {
836
+ width: 25%;
837
+ }
838
+ .sq-col-lg-2 {
839
+ width: 16.66666667%;
840
+ }
841
+ .sq-col-lg-1 {
842
+ width: 8.33333333%;
843
+ }
844
+ .sq-col-lg-pull-12 {
845
+ right: 100%;
846
+ }
847
+ .sq-col-lg-pull-11 {
848
+ right: 91.66666667%;
849
+ }
850
+ .sq-col-lg-pull-10 {
851
+ right: 83.33333333%;
852
+ }
853
+ .sq-col-lg-pull-9 {
854
+ right: 75%;
855
+ }
856
+ .sq-col-lg-pull-8 {
857
+ right: 66.66666667%;
858
+ }
859
+ .sq-col-lg-pull-7 {
860
+ right: 58.33333333%;
861
+ }
862
+ .sq-col-lg-pull-6 {
863
+ right: 50%;
864
+ }
865
+ .sq-col-lg-pull-5 {
866
+ right: 41.66666667%;
867
+ }
868
+ .sq-col-lg-pull-4 {
869
+ right: 33.33333333%;
870
+ }
871
+ .sq-col-lg-pull-3 {
872
+ right: 25%;
873
+ }
874
+ .sq-col-lg-pull-2 {
875
+ right: 16.66666667%;
876
+ }
877
+ .sq-col-lg-pull-1 {
878
+ right: 8.33333333%;
879
+ }
880
+ .sq-col-lg-pull-0 {
881
+ right: auto;
882
+ }
883
+ .sq-col-lg-push-12 {
884
+ left: 100%;
885
+ }
886
+ .sq-col-lg-push-11 {
887
+ left: 91.66666667%;
888
+ }
889
+ .sq-col-lg-push-10 {
890
+ left: 83.33333333%;
891
+ }
892
+ .sq-col-lg-push-9 {
893
+ left: 75%;
894
+ }
895
+ .sq-col-lg-push-8 {
896
+ left: 66.66666667%;
897
+ }
898
+ .sq-col-lg-push-7 {
899
+ left: 58.33333333%;
900
+ }
901
+ .sq-col-lg-push-6 {
902
+ left: 50%;
903
+ }
904
+ .sq-col-lg-push-5 {
905
+ left: 41.66666667%;
906
+ }
907
+ .sq-col-lg-push-4 {
908
+ left: 33.33333333%;
909
+ }
910
+ .sq-col-lg-push-3 {
911
+ left: 25%;
912
+ }
913
+ .sq-col-lg-push-2 {
914
+ left: 16.66666667%;
915
+ }
916
+ .sq-col-lg-push-1 {
917
+ left: 8.33333333%;
918
+ }
919
+ .sq-col-lg-push-0 {
920
+ left: auto;
921
+ }
922
+ .sq-col-lg-offset-12 {
923
+ margin-left: 100%;
924
+ }
925
+ .sq-col-lg-offset-11 {
926
+ margin-left: 91.66666667%;
927
+ }
928
+ .sq-col-lg-offset-10 {
929
+ margin-left: 83.33333333%;
930
+ }
931
+ .sq-col-lg-offset-9 {
932
+ margin-left: 75%;
933
+ }
934
+ .sq-col-lg-offset-8 {
935
+ margin-left: 66.66666667%;
936
+ }
937
+ .sq-col-lg-offset-7 {
938
+ margin-left: 58.33333333%;
939
+ }
940
+ .sq-col-lg-offset-6 {
941
+ margin-left: 50%;
942
+ }
943
+ .sq-col-lg-offset-5 {
944
+ margin-left: 41.66666667%;
945
+ }
946
+ .sq-col-lg-offset-4 {
947
+ margin-left: 33.33333333%;
948
+ }
949
+ .sq-col-lg-offset-3 {
950
+ margin-left: 25%;
951
+ }
952
+ .sq-col-lg-offset-2 {
953
+ margin-left: 16.66666667%;
954
+ }
955
+ .sq-col-lg-offset-1 {
956
+ margin-left: 8.33333333%;
957
+ }
958
+ .sq-col-lg-offset-0 {
959
+ margin-left: 0%;
960
+ }
961
+ }
962
+ table {
963
+ background-color: transparent;
964
+ }
965
+ caption {
966
+ padding-top: 8px;
967
+ padding-bottom: 8px;
968
+ color: #777777;
969
+ text-align: left;
970
+ }
971
+ th {
972
+ text-align: left;
973
+ }
974
+ .sq-table {
975
+ width: 100%;
976
+ max-width: 100%;
977
+ margin-bottom: 20px;
978
+ }
979
+ .sq-table > thead > tr > th,
980
+ .sq-table > tbody > tr > th,
981
+ .sq-table > tfoot > tr > th,
982
+ .sq-table > thead > tr > td,
983
+ .sq-table > tbody > tr > td,
984
+ .sq-table > tfoot > tr > td {
985
+ padding: 8px;
986
+ line-height: 1.42857143;
987
+ vertical-align: top;
988
+ border-top: 1px solid #dddddd;
989
+ }
990
+ .sq-table > thead > tr > th {
991
+ vertical-align: bottom;
992
+ border-bottom: 2px solid #dddddd;
993
+ }
994
+ .sq-table > caption + thead > tr:first-child > th,
995
+ .sq-table > colgroup + thead > tr:first-child > th,
996
+ .sq-table > thead:first-child > tr:first-child > th,
997
+ .sq-table > caption + thead > tr:first-child > td,
998
+ .sq-table > colgroup + thead > tr:first-child > td,
999
+ .sq-table > thead:first-child > tr:first-child > td {
1000
+ border-top: 0;
1001
+ }
1002
+ .sq-table > tbody + tbody {
1003
+ border-top: 2px solid #dddddd;
1004
+ }
1005
+ .sq-table .sq-table {
1006
+ background-color: #ffffff;
1007
+ }
1008
+ .sq-table-condensed > thead > tr > th,
1009
+ .sq-table-condensed > tbody > tr > th,
1010
+ .sq-table-condensed > tfoot > tr > th,
1011
+ .sq-table-condensed > thead > tr > td,
1012
+ .sq-table-condensed > tbody > tr > td,
1013
+ .sq-table-condensed > tfoot > tr > td {
1014
+ padding: 5px;
1015
+ }
1016
+ .sq-table-bordered {
1017
+ border: 1px solid #dddddd;
1018
+ }
1019
+ .sq-table-bordered > thead > tr > th,
1020
+ .sq-table-bordered > tbody > tr > th,
1021
+ .sq-table-bordered > tfoot > tr > th,
1022
+ .sq-table-bordered > thead > tr > td,
1023
+ .sq-table-bordered > tbody > tr > td,
1024
+ .sq-table-bordered > tfoot > tr > td {
1025
+ border: 1px solid #dddddd;
1026
+ }
1027
+ .sq-table-bordered > thead > tr > th,
1028
+ .sq-table-bordered > thead > tr > td {
1029
+ border-bottom-width: 2px;
1030
+ }
1031
+ .sq-table-striped > tbody > tr:nth-child(odd) {
1032
+ background-color: #f9f9f9;
1033
+ }
1034
+ .sq-table-hover > tbody > tr:hover {
1035
+ background-color: #f5f5f5;
1036
+ }
1037
+ table col[class*="col-"] {
1038
+ position: static;
1039
+ float: none;
1040
+ display: table-column;
1041
+ }
1042
+ table td[class*="col-"],
1043
+ table th[class*="col-"] {
1044
+ position: static;
1045
+ float: none;
1046
+ display: table-cell;
1047
+ }
1048
+ .sq-table > thead > tr > td.active,
1049
+ .sq-table > tbody > tr > td.active,
1050
+ .sq-table > tfoot > tr > td.active,
1051
+ .sq-table > thead > tr > th.active,
1052
+ .sq-table > tbody > tr > th.active,
1053
+ .sq-table > tfoot > tr > th.active,
1054
+ .sq-table > thead > tr.active > td,
1055
+ .sq-table > tbody > tr.active > td,
1056
+ .sq-table > tfoot > tr.active > td,
1057
+ .sq-table > thead > tr.active > th,
1058
+ .sq-table > tbody > tr.active > th,
1059
+ .sq-table > tfoot > tr.active > th {
1060
+ background-color: #f5f5f5;
1061
+ }
1062
+ .sq-table-hover > tbody > tr > td.active:hover,
1063
+ .sq-table-hover > tbody > tr > th.active:hover,
1064
+ .sq-table-hover > tbody > tr.active:hover > td,
1065
+ .sq-table-hover > tbody > tr:hover > .active,
1066
+ .sq-table-hover > tbody > tr.active:hover > th {
1067
+ background-color: #e8e8e8;
1068
+ }
1069
+ .sq-table > thead > tr > td.sq-success,
1070
+ .sq-table > tbody > tr > td.sq-success,
1071
+ .sq-table > tfoot > tr > td.sq-success,
1072
+ .sq-table > thead > tr > th.sq-success,
1073
+ .sq-table > tbody > tr > th.sq-success,
1074
+ .sq-table > tfoot > tr > th.sq-success,
1075
+ .sq-table > thead > tr.sq-success > td,
1076
+ .sq-table > tbody > tr.sq-success > td,
1077
+ .sq-table > tfoot > tr.sq-success > td,
1078
+ .sq-table > thead > tr.sq-success > th,
1079
+ .sq-table > tbody > tr.sq-success > th,
1080
+ .sq-table > tfoot > tr.sq-success > th {
1081
+ background-color: #dff0d8;
1082
+ }
1083
+ .sq-table-hover > tbody > tr > td.sq-success:hover,
1084
+ .sq-table-hover > tbody > tr > th.sq-success:hover,
1085
+ .sq-table-hover > tbody > tr.sq-success:hover > td,
1086
+ .sq-table-hover > tbody > tr:hover > .sq-success,
1087
+ .sq-table-hover > tbody > tr.sq-success:hover > th {
1088
+ background-color: #d0e9c6;
1089
+ }
1090
+ .sq-table > thead > tr > td.sq-info,
1091
+ .sq-table > tbody > tr > td.sq-info,
1092
+ .sq-table > tfoot > tr > td.sq-info,
1093
+ .sq-table > thead > tr > th.sq-info,
1094
+ .sq-table > tbody > tr > th.sq-info,
1095
+ .sq-table > tfoot > tr > th.sq-info,
1096
+ .sq-table > thead > tr.sq-info > td,
1097
+ .sq-table > tbody > tr.sq-info > td,
1098
+ .sq-table > tfoot > tr.sq-info > td,
1099
+ .sq-table > thead > tr.sq-info > th,
1100
+ .sq-table > tbody > tr.sq-info > th,
1101
+ .sq-table > tfoot > tr.sq-info > th {
1102
+ background-color: #d9edf7;
1103
+ }
1104
+ .sq-table-hover > tbody > tr > td.sq-info:hover,
1105
+ .sq-table-hover > tbody > tr > th.sq-info:hover,
1106
+ .sq-table-hover > tbody > tr.sq-info:hover > td,
1107
+ .sq-table-hover > tbody > tr:hover > .sq-info,
1108
+ .sq-table-hover > tbody > tr.sq-info:hover > th {
1109
+ background-color: #c4e3f3;
1110
+ }
1111
+ .sq-table > thead > tr > td.sq-warning,
1112
+ .sq-table > tbody > tr > td.sq-warning,
1113
+ .sq-table > tfoot > tr > td.sq-warning,
1114
+ .sq-table > thead > tr > th.sq-warning,
1115
+ .sq-table > tbody > tr > th.sq-warning,
1116
+ .sq-table > tfoot > tr > th.sq-warning,
1117
+ .sq-table > thead > tr.sq-warning > td,
1118
+ .sq-table > tbody > tr.sq-warning > td,
1119
+ .sq-table > tfoot > tr.sq-warning > td,
1120
+ .sq-table > thead > tr.sq-warning > th,
1121
+ .sq-table > tbody > tr.sq-warning > th,
1122
+ .sq-table > tfoot > tr.sq-warning > th {
1123
+ background-color: #fcf8e3;
1124
+ }
1125
+ .sq-table-hover > tbody > tr > td.sq-warning:hover,
1126
+ .sq-table-hover > tbody > tr > th.sq-warning:hover,
1127
+ .sq-table-hover > tbody > tr.sq-warning:hover > td,
1128
+ .sq-table-hover > tbody > tr:hover > .sq-warning,
1129
+ .sq-table-hover > tbody > tr.sq-warning:hover > th {
1130
+ background-color: #faf2cc;
1131
+ }
1132
+ .sq-table > thead > tr > td.sq-danger,
1133
+ .sq-table > tbody > tr > td.sq-danger,
1134
+ .sq-table > tfoot > tr > td.sq-danger,
1135
+ .sq-table > thead > tr > th.sq-danger,
1136
+ .sq-table > tbody > tr > th.sq-danger,
1137
+ .sq-table > tfoot > tr > th.sq-danger,
1138
+ .sq-table > thead > tr.sq-danger > td,
1139
+ .sq-table > tbody > tr.sq-danger > td,
1140
+ .sq-table > tfoot > tr.sq-danger > td,
1141
+ .sq-table > thead > tr.sq-danger > th,
1142
+ .sq-table > tbody > tr.sq-danger > th,
1143
+ .sq-table > tfoot > tr.sq-danger > th {
1144
+ background-color: #f2dede;
1145
+ }
1146
+ .sq-table-hover > tbody > tr > td.sq-danger:hover,
1147
+ .sq-table-hover > tbody > tr > th.sq-danger:hover,
1148
+ .sq-table-hover > tbody > tr.sq-danger:hover > td,
1149
+ .sq-table-hover > tbody > tr:hover > .sq-danger,
1150
+ .sq-table-hover > tbody > tr.sq-danger:hover > th {
1151
+ background-color: #ebcccc;
1152
+ }
1153
+ .sq-table-responsive {
1154
+ overflow-x: auto;
1155
+ min-height: 0.01%;
1156
+ }
1157
+ @media screen and (max-width: 767px) {
1158
+ .sq-table-responsive {
1159
+ width: 100%;
1160
+ margin-bottom: 15px;
1161
+ overflow-y: hidden;
1162
+ -ms-overflow-style: -ms-autohiding-scrollbar;
1163
+ border: 1px solid #dddddd;
1164
+ }
1165
+ .sq-table-responsive > .sq-table {
1166
+ margin-bottom: 0;
1167
+ }
1168
+ .sq-table-responsive > .sq-table > thead > tr > th,
1169
+ .sq-table-responsive > .sq-table > tbody > tr > th,
1170
+ .sq-table-responsive > .sq-table > tfoot > tr > th,
1171
+ .sq-table-responsive > .sq-table > thead > tr > td,
1172
+ .sq-table-responsive > .sq-table > tbody > tr > td,
1173
+ .sq-table-responsive > .sq-table > tfoot > tr > td {
1174
+ white-space: nowrap;
1175
+ }
1176
+ .sq-table-responsive > .sq-table-bordered {
1177
+ border: 0;
1178
+ }
1179
+ .sq-table-responsive > .sq-table-bordered > thead > tr > th:first-child,
1180
+ .sq-table-responsive > .sq-table-bordered > tbody > tr > th:first-child,
1181
+ .sq-table-responsive > .sq-table-bordered > tfoot > tr > th:first-child,
1182
+ .sq-table-responsive > .sq-table-bordered > thead > tr > td:first-child,
1183
+ .sq-table-responsive > .sq-table-bordered > tbody > tr > td:first-child,
1184
+ .sq-table-responsive > .sq-table-bordered > tfoot > tr > td:first-child {
1185
+ border-left: 0;
1186
+ }
1187
+ .sq-table-responsive > .sq-table-bordered > thead > tr > th:last-child,
1188
+ .sq-table-responsive > .sq-table-bordered > tbody > tr > th:last-child,
1189
+ .sq-table-responsive > .sq-table-bordered > tfoot > tr > th:last-child,
1190
+ .sq-table-responsive > .sq-table-bordered > thead > tr > td:last-child,
1191
+ .sq-table-responsive > .sq-table-bordered > tbody > tr > td:last-child,
1192
+ .sq-table-responsive > .sq-table-bordered > tfoot > tr > td:last-child {
1193
+ border-right: 0;
1194
+ }
1195
+ .sq-table-responsive > .sq-table-bordered > tbody > tr:last-child > th,
1196
+ .sq-table-responsive > .sq-table-bordered > tfoot > tr:last-child > th,
1197
+ .sq-table-responsive > .sq-table-bordered > tbody > tr:last-child > td,
1198
+ .sq-table-responsive > .sq-table-bordered > tfoot > tr:last-child > td {
1199
+ border-bottom: 0;
1200
+ }
1201
+ }
1202
+
1203
+ label {
1204
+ display: inline-block;
1205
+ max-width: 100%;
1206
+ margin-bottom: 5px;
1207
+ font-weight: bold;
1208
+ }
1209
+
1210
+ .sq-form-control {
1211
+ display: block;
1212
+ width: 100%;
1213
+ height: 34px;
1214
+ padding: 6px 12px;
1215
+ font-size: 14px;
1216
+ line-height: 1.42857143;
1217
+ color: #555555;
1218
+ background-color: #ffffff;
1219
+ background-image: none;
1220
+ border: 1px solid #cccccc;
1221
+ border-radius: 4px;
1222
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1223
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1224
+ -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
1225
+ -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
1226
+ transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
1227
+ }
1228
+ .sq-form-control:focus {
1229
+ border-color: #66afe9;
1230
+ outline: 0;
1231
+ -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
1232
+ box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
1233
+ }
1234
+ .sq-form-control::-moz-placeholder {
1235
+ color: #999999;
1236
+ opacity: 1;
1237
+ }
1238
+ .sq-form-control:-ms-input-placeholder {
1239
+ color: #999999;
1240
+ }
1241
+ .sq-form-control::-webkit-input-placeholder {
1242
+ color: #999999;
1243
+ }
1244
+ /*.sq-form-control[disabled],
1245
+ .sq-form-control[readonly],*/
1246
+
1247
+ textarea.sq-form-control {
1248
+ height: auto;
1249
+ }
1250
+ .sq-form-group {
1251
+ margin-bottom: 15px;
1252
+ }
1253
+ .sq-radio,
1254
+ .sq-checkbox {
1255
+ position: relative;
1256
+ display: block;
1257
+ margin-top: 10px;
1258
+ margin-bottom: 10px;
1259
+ }
1260
+ .sq-radio label,
1261
+ .sq-checkbox label {
1262
+ min-height: 20px;
1263
+ padding-left: 20px;
1264
+ margin-bottom: 0;
1265
+ font-weight: normal;
1266
+ cursor: pointer;
1267
+ }
1268
+ .sq-radio input[type="radio"],
1269
+ .sq-radio-inline input[type="radio"],
1270
+ .sq-checkbox input[type="checkbox"],
1271
+ .sq-checkbox-inline input[type="checkbox"] {
1272
+ position: absolute;
1273
+ margin-left: -20px;
1274
+ margin-top: 4px \9;
1275
+ }
1276
+ .sq-radio + .sq-radio,
1277
+ .sq-checkbox + .sq-checkbox {
1278
+ margin-top: -5px;
1279
+ }
1280
+ .sq-radio-inline,
1281
+ .sq-checkbox-inline {
1282
+ display: inline-block;
1283
+ padding-left: 20px;
1284
+ margin-bottom: 0;
1285
+ vertical-align: middle;
1286
+ font-weight: normal;
1287
+ cursor: pointer;
1288
+ }
1289
+ .sq-radio-inline + .sq-radio-inline,
1290
+ .sq-checkbox-inline + .sq-checkbox-inline {
1291
+ margin-top: 0;
1292
+ margin-left: 10px;
1293
+ }
1294
+ input[type="radio"][disabled],
1295
+ input[type="checkbox"][disabled],
1296
+ input[type="radio"].disabled,
1297
+ input[type="checkbox"].disabled,
1298
+ fieldset[disabled] input[type="radio"],
1299
+ fieldset[disabled] input[type="checkbox"] {
1300
+ cursor: not-allowed;
1301
+ }
1302
+ .sq-radio-inline.sq-disabled,
1303
+ .sq-checkbox-inline.sq-disabled,
1304
+ fieldset[disabled] .sq-radio-inline,
1305
+ fieldset[disabled] .sq-checkbox-inline {
1306
+ cursor: not-allowed;
1307
+ }
1308
+ .sq-radio.sq-disabled label,
1309
+ .sq-checkbox.sq-disabled label,
1310
+ fieldset[disabled] .sq-radio label,
1311
+ fieldset[disabled] .sq-checkbox label {
1312
+ cursor: not-allowed;
1313
+ }
1314
+ .sq-form-control-static {
1315
+ padding-top: 7px;
1316
+ padding-bottom: 7px;
1317
+ margin-bottom: 0;
1318
+ }
1319
+ .sq-form-control-static.sq-input-lg,
1320
+ .sq-form-control-static.sq-input-sm {
1321
+ padding-left: 0;
1322
+ padding-right: 0;
1323
+ }
1324
+ .sq-input-sm,
1325
+ .sq-form-group-sm .sq-form-control {
1326
+ height: 30px;
1327
+ padding: 5px 10px;
1328
+ font-size: 12px;
1329
+ line-height: 1.5;
1330
+ border-radius: 3px;
1331
+ }
1332
+ select.sq-input-sm,
1333
+ select.sq-form-group-sm .sq-form-control {
1334
+ height: 30px;
1335
+ line-height: 30px;
1336
+ }
1337
+ textarea.sq-input-sm,
1338
+ textarea.sq-form-group-sm .sq-form-control,
1339
+ select[multiple].sq-input-sm,
1340
+ select[multiple].sq-form-group-sm .sq-form-control {
1341
+ height: auto;
1342
+ }
1343
+ .sq-input-lg,
1344
+ .sq-form-group-lg .sq-form-control {
1345
+ height: 46px;
1346
+ padding: 10px 16px;
1347
+ font-size: 18px;
1348
+ line-height: 1.33;
1349
+ border-radius: 6px;
1350
+ }
1351
+ select.sq-input-lg,
1352
+ select.sq-form-group-lg .sq-form-control {
1353
+ height: 46px;
1354
+ line-height: 46px;
1355
+ }
1356
+ textarea.sq-input-lg,
1357
+ textarea.sq-form-group-lg .sq-form-control,
1358
+ select[multiple].sq-input-lg,
1359
+ select[multiple].sq-form-group-lg .sq-form-control {
1360
+ height: auto;
1361
+ }
1362
+ .sq-has-feedback {
1363
+ position: relative;
1364
+ }
1365
+ .sq-has-feedback .sq-form-control {
1366
+ padding-right: 42.5px;
1367
+ }
1368
+ .sq-form-control-feedback {
1369
+ position: absolute;
1370
+ top: 0;
1371
+ right: 0;
1372
+ z-index: 2;
1373
+ display: block;
1374
+ width: 34px;
1375
+ height: 34px;
1376
+ line-height: 34px;
1377
+ text-align: center;
1378
+ pointer-events: none;
1379
+ }
1380
+ .sq-input-lg + .sq-form-control-feedback {
1381
+ width: 46px;
1382
+ height: 46px;
1383
+ line-height: 46px;
1384
+ }
1385
+ .sq-input-sm + .sq-form-control-feedback {
1386
+ width: 30px;
1387
+ height: 30px;
1388
+ line-height: 30px;
1389
+ }
1390
+ .sq-has-success .sq-help-block,
1391
+ .sq-has-success .sq-control-label,
1392
+ .sq-has-success .sq-radio,
1393
+ .sq-has-success .sq-checkbox,
1394
+ .sq-has-success .sq-radio-inline,
1395
+ .sq-has-success .sq-checkbox-inline,
1396
+ .sq-has-success.sq-radio label,
1397
+ .sq-has-success.sq-checkbox label,
1398
+ .sq-has-success.sq-radio-inline label,
1399
+ .sq-has-success.sq-checkbox-inline label {
1400
+ color: #3c763d;
1401
+ }
1402
+ .sq-has-success .sq-form-control {
1403
+ border-color: #3c763d;
1404
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1405
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1406
+ }
1407
+ .sq-has-success .sq-form-control:focus {
1408
+ border-color: #2b542c;
1409
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
1410
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
1411
+ }
1412
+ .sq-has-success .sq-input-group-addon {
1413
+ color: #3c763d;
1414
+ border-color: #3c763d;
1415
+ background-color: #dff0d8;
1416
+ }
1417
+ .sq-has-success .sq-form-control-feedback {
1418
+ color: #3c763d;
1419
+ }
1420
+ .sq-has-warning .sq-help-block,
1421
+ .sq-has-warning .sq-control-label,
1422
+ .sq-has-warning .sq-radio,
1423
+ .sq-has-warning .sq-checkbox,
1424
+ .sq-has-warning .sq-radio-inline,
1425
+ .sq-has-warning .sq-checkbox-inline,
1426
+ .sq-has-warning.sq-radio label,
1427
+ .sq-has-warning.sq-checkbox label,
1428
+ .sq-has-warning.sq-radio-inline label,
1429
+ .sq-has-warning.sq-checkbox-inline label {
1430
+ color: #8a6d3b;
1431
+ }
1432
+ .sq-has-warning .sq-form-control {
1433
+ border-color: #8a6d3b;
1434
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1435
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1436
+ }
1437
+ .sq-has-warning .sq-form-control:focus {
1438
+ border-color: #66512c;
1439
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
1440
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
1441
+ }
1442
+ .sq-has-warning .sq-input-group-addon {
1443
+ color: #8a6d3b;
1444
+ border-color: #8a6d3b;
1445
+ background-color: #fcf8e3;
1446
+ }
1447
+ .sq-has-warning .sq-form-control-feedback {
1448
+ color: #8a6d3b;
1449
+ }
1450
+ .sq-has-error .sq-help-block,
1451
+ .sq-has-error .sq-control-label,
1452
+ .sq-has-error .sq-radio,
1453
+ .sq-has-error .sq-checkbox,
1454
+ .sq-has-error .sq-radio-inline,
1455
+ .sq-has-error .sq-checkbox-inline,
1456
+ .sq-has-error.sq-radio label,
1457
+ .sq-has-error.sq-checkbox label,
1458
+ .sq-has-error.sq-radio-inline label,
1459
+ .sq-has-error.sq-checkbox-inline label {
1460
+ color: #a94442;
1461
+ }
1462
+ .sq-has-error .sq-form-control {
1463
+ border-color: #a94442;
1464
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1465
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1466
+ }
1467
+ .sq-has-error .sq-form-control:focus {
1468
+ border-color: #843534;
1469
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
1470
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
1471
+ }
1472
+ .sq-has-error .sq-input-group-addon {
1473
+ color: #a94442;
1474
+ border-color: #a94442;
1475
+ background-color: #f2dede;
1476
+ }
1477
+ .sq-has-error .sq-form-control-feedback {
1478
+ color: #a94442;
1479
+ }
1480
+ .sq-has-feedback label ~ .sq-form-control-feedback {
1481
+ top: 25px;
1482
+ }
1483
+ .sq-has-feedback label.sr-only ~ .sq-form-control-feedback {
1484
+ top: 0;
1485
+ }
1486
+ .sq-help-block {
1487
+ display: block;
1488
+ margin-top: 5px;
1489
+ margin-bottom: 10px;
1490
+ color: #737373;
1491
+ }
1492
+ @media (min-width: 768px) {
1493
+ .sq-form-inline .sq-form-group {
1494
+ display: inline-block;
1495
+ margin-bottom: 0;
1496
+ vertical-align: middle;
1497
+ }
1498
+ .sq-form-inline .sq-form-control {
1499
+ display: inline-block;
1500
+ width: auto;
1501
+ vertical-align: middle;
1502
+ }
1503
+ .sq-form-inline .sq-form-control-static {
1504
+ display: inline-block;
1505
+ }
1506
+ .sq-form-inline .sq-input-group {
1507
+ display: inline-table;
1508
+ vertical-align: middle;
1509
+ }
1510
+ .sq-form-inline .sq-input-group .sq-input-group-addon,
1511
+ .sq-form-inline .sq-input-group .sq-input-group-btn,
1512
+ .sq-form-inline .sq-input-group .sq-form-control {
1513
+ width: auto;
1514
+ }
1515
+ .sq-form-inline .sq-input-group > .sq-form-control {
1516
+ width: 100%;
1517
+ }
1518
+ .sq-form-inline .sq-control-label {
1519
+ margin-bottom: 0;
1520
+ vertical-align: middle;
1521
+ }
1522
+ .sq-form-inline .sq-radio,
1523
+ .sq-form-inline .sq-checkbox {
1524
+ display: inline-block;
1525
+ margin-top: 0;
1526
+ margin-bottom: 0;
1527
+ vertical-align: middle;
1528
+ }
1529
+ .sq-form-inline .sq-radio label,
1530
+ .sq-form-inline .sq-checkbox label {
1531
+ padding-left: 0;
1532
+ }
1533
+ .sq-form-inline .sq-radio input[type="radio"],
1534
+ .sq-form-inline .sq-checkbox input[type="checkbox"] {
1535
+ position: relative;
1536
+ margin-left: 0;
1537
+ }
1538
+ .sq-form-inline .sq-has-feedback .sq-form-control-feedback {
1539
+ top: 0;
1540
+ }
1541
+ }
1542
+ .sq-form-horizontal .sq-radio,
1543
+ .sq-form-horizontal .sq-checkbox,
1544
+ .sq-form-horizontal .sq-radio-inline,
1545
+ .sq-form-horizontal .sq-checkbox-inline {
1546
+ margin-top: 0;
1547
+ margin-bottom: 0;
1548
+ padding-top: 7px;
1549
+ }
1550
+ .sq-form-horizontal .sq-radio,
1551
+ .sq-form-horizontal .sq-checkbox {
1552
+ min-height: 27px;
1553
+ }
1554
+ .sq-form-horizontal .sq-form-group {
1555
+ margin-left: -15px;
1556
+ margin-right: -15px;
1557
+ }
1558
+ @media (min-width: 768px) {
1559
+ .sq-form-horizontal .sq-control-label {
1560
+ text-align: right;
1561
+ margin-bottom: 0;
1562
+ padding-top: 7px;
1563
+ }
1564
+ }
1565
+ .sq-form-horizontal .sq-has-feedback .sq-form-control-feedback {
1566
+ right: 15px;
1567
+ }
1568
+ @media (min-width: 768px) {
1569
+ .sq-form-horizontal .sq-form-group-lg .sq-control-label {
1570
+ padding-top: 14.3px;
1571
+ }
1572
+ }
1573
+ @media (min-width: 768px) {
1574
+ .sq-form-horizontal .sq-form-group-sm .sq-control-label {
1575
+ padding-top: 6px;
1576
+ }
1577
+ }
1578
+ .sq-btn {
1579
+ display: inline-block;
1580
+ margin-bottom: 0;
1581
+ font-weight: normal;
1582
+ text-align: center;
1583
+ vertical-align: middle;
1584
+ touch-action: manipulation;
1585
+ cursor: pointer;
1586
+ background-image: none;
1587
+ border: 1px solid transparent;
1588
+ white-space: nowrap;
1589
+ padding: 6px 12px;
1590
+ font-size: 14px;
1591
+ line-height: 1.42857143;
1592
+ border-radius: 4px;
1593
+ -webkit-user-select: none;
1594
+ -moz-user-select: none;
1595
+ -ms-user-select: none;
1596
+ user-select: none;
1597
+ }
1598
+ .sq-btn:focus,
1599
+ .sq-btn:active:focus,
1600
+ .sq-btn.active:focus,
1601
+ .sq-btn.focus,
1602
+ .sq-btn:active.focus,
1603
+ .sq-btn.active.focus {
1604
+ outline: thin dotted;
1605
+ outline: 5px auto -webkit-focus-ring-color;
1606
+ outline-offset: -2px;
1607
+ }
1608
+ .sq-btn:hover,
1609
+ .sq-btn:focus,
1610
+ .sq-btn.focus {
1611
+ color: #333333;
1612
+ text-decoration: none;
1613
+ }
1614
+ .sq-btn:active,
1615
+ .sq-btn.active {
1616
+ outline: 0;
1617
+ background-image: none;
1618
+ -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
1619
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
1620
+ }
1621
+ .sq-btn.disabled,
1622
+ .sq-btn[disabled],
1623
+ fieldset[disabled] .sq-btn {
1624
+ cursor: not-allowed;
1625
+ pointer-events: none;
1626
+ opacity: 0.65;
1627
+ filter: alpha(opacity=65);
1628
+ -webkit-box-shadow: none;
1629
+ box-shadow: none;
1630
+ }
1631
+ .sq-btn-default {
1632
+ color: #333333;
1633
+ background-color: #ffffff;
1634
+ border-color: #cccccc;
1635
+ }
1636
+ .sq-btn-default:hover,
1637
+ .sq-btn-default:focus,
1638
+ .sq-btn-default.focus,
1639
+ .sq-btn-default:active,
1640
+ .sq-btn-default.active,
1641
+ .sq-open > .sq-dropdown-toggle.sq-btn-default {
1642
+ color: #333333;
1643
+ background-color: #e6e6e6;
1644
+ border-color: #adadad;
1645
+ }
1646
+ .sq-btn-default:active,
1647
+ .sq-btn-default.active,
1648
+ .sq-open > .sq-dropdown-toggle.sq-btn-default {
1649
+ background-image: none;
1650
+ }
1651
+ .sq-btn-default.disabled,
1652
+ .sq-btn-default[disabled],
1653
+ fieldset[disabled] .sq-btn-default,
1654
+ .sq-btn-default.disabled:hover,
1655
+ .sq-btn-default[disabled]:hover,
1656
+ fieldset[disabled] .sq-btn-default:hover,
1657
+ .sq-btn-default.disabled:focus,
1658
+ .sq-btn-default[disabled]:focus,
1659
+ fieldset[disabled] .sq-btn-default:focus,
1660
+ .sq-btn-default.disabled.focus,
1661
+ .sq-btn-default[disabled].focus,
1662
+ fieldset[disabled] .sq-btn-default.focus,
1663
+ .sq-btn-default.disabled:active,
1664
+ .sq-btn-default[disabled]:active,
1665
+ fieldset[disabled] .sq-btn-default:active,
1666
+ .sq-btn-default.disabled.active,
1667
+ .sq-btn-default[disabled].active,
1668
+ fieldset[disabled] .sq-btn-default.active {
1669
+ background-color: #ffffff;
1670
+ border-color: #cccccc;
1671
+ }
1672
+ .sq-btn-default .sq-badge {
1673
+ color: #ffffff;
1674
+ background-color: #333333;
1675
+ }
1676
+ .sq-btn-primary {
1677
+ color: #ffffff;
1678
+ background-color: #428bca;
1679
+ border-color: #357ebd;
1680
+ }
1681
+ .sq-btn-primary:hover,
1682
+ .sq-btn-primary:focus,
1683
+ .sq-btn-primary.focus,
1684
+ .sq-btn-primary:active,
1685
+ .sq-btn-primary.active,
1686
+ .sq-open > .sq-dropdown-toggle.sq-btn-primary {
1687
+ color: #ffffff;
1688
+ background-color: #3071a9;
1689
+ border-color: #285e8e;
1690
+ }
1691
+ .sq-btn-primary:active,
1692
+ .sq-btn-primary.active,
1693
+ .sq-open > .sq-dropdown-toggle.sq-btn-primary {
1694
+ background-image: none;
1695
+ }
1696
+ .sq-btn-primary.disabled,
1697
+ .sq-btn-primary[disabled],
1698
+ fieldset[disabled] .sq-btn-primary,
1699
+ .sq-btn-primary.disabled:hover,
1700
+ .sq-btn-primary[disabled]:hover,
1701
+ fieldset[disabled] .sq-btn-primary:hover,
1702
+ .sq-btn-primary.disabled:focus,
1703
+ .sq-btn-primary[disabled]:focus,
1704
+ fieldset[disabled] .sq-btn-primary:focus,
1705
+ .sq-btn-primary.disabled.focus,
1706
+ .sq-btn-primary[disabled].focus,
1707
+ fieldset[disabled] .sq-btn-primary.focus,
1708
+ .sq-btn-primary.disabled:active,
1709
+ .sq-btn-primary[disabled]:active,
1710
+ fieldset[disabled] .sq-btn-primary:active,
1711
+ .sq-btn-primary.disabled.active,
1712
+ .sq-btn-primary[disabled].active,
1713
+ fieldset[disabled] .sq-btn-primary.active {
1714
+ background-color: #428bca;
1715
+ border-color: #357ebd;
1716
+ }
1717
+ .sq-btn-primary .sq-badge {
1718
+ color: #428bca;
1719
+ background-color: #ffffff;
1720
+ }
1721
+ .sq-btn-success {
1722
+ color: #ffffff;
1723
+ background-color: #5cb85c;
1724
+ border-color: #4cae4c;
1725
+ }
1726
+ .sq-btn-success:hover,
1727
+ .sq-btn-success:focus,
1728
+ .sq-btn-success.focus,
1729
+ .sq-btn-success:active,
1730
+ .sq-btn-success.active,
1731
+ .sq-open > .sq-dropdown-toggle.sq-btn-success {
1732
+ color: #ffffff;
1733
+ background-color: #449d44;
1734
+ border-color: #398439;
1735
+ }
1736
+ .sq-btn-success:active,
1737
+ .sq-btn-success.active,
1738
+ .sq-open > .sq-dropdown-toggle.sq-btn-success {
1739
+ background-image: none;
1740
+ }
1741
+ .sq-btn-success.disabled,
1742
+ .sq-btn-success[disabled],
1743
+ fieldset[disabled] .sq-btn-success,
1744
+ .sq-btn-success.disabled:hover,
1745
+ .sq-btn-success[disabled]:hover,
1746
+ fieldset[disabled] .sq-btn-success:hover,
1747
+ .sq-btn-success.disabled:focus,
1748
+ .sq-btn-success[disabled]:focus,
1749
+ fieldset[disabled] .sq-btn-success:focus,
1750
+ .sq-btn-success.disabled.focus,
1751
+ .sq-btn-success[disabled].focus,
1752
+ fieldset[disabled] .sq-btn-success.focus,
1753
+ .sq-btn-success.disabled:active,
1754
+ .sq-btn-success[disabled]:active,
1755
+ fieldset[disabled] .sq-btn-success:active,
1756
+ .sq-btn-success.disabled.active,
1757
+ .sq-btn-success[disabled].active,
1758
+ fieldset[disabled] .sq-btn-success.active {
1759
+ background-color: #5cb85c;
1760
+ border-color: #4cae4c;
1761
+ }
1762
+ .sq-btn-success .sq-badge {
1763
+ color: #5cb85c;
1764
+ background-color: #ffffff;
1765
+ }
1766
+ .sq-btn-info {
1767
+ color: #ffffff;
1768
+ background-color: #5bc0de;
1769
+ border-color: #46b8da;
1770
+ }
1771
+ .sq-btn-info:hover,
1772
+ .sq-btn-info:focus,
1773
+ .sq-btn-info.focus,
1774
+ .sq-btn-info:active,
1775
+ .sq-btn-info.active,
1776
+ .sq-open > .sq-dropdown-toggle.sq-btn-info {
1777
+ color: #ffffff;
1778
+ background-color: #31b0d5;
1779
+ border-color: #269abc;
1780
+ }
1781
+ .sq-btn-info:active,
1782
+ .sq-btn-info.active,
1783
+ .sq-open > .sq-dropdown-toggle.sq-btn-info {
1784
+ background-image: none;
1785
+ }
1786
+ .sq-btn-info.disabled,
1787
+ .sq-btn-info[disabled],
1788
+ fieldset[disabled] .sq-btn-info,
1789
+ .sq-btn-info.disabled:hover,
1790
+ .sq-btn-info[disabled]:hover,
1791
+ fieldset[disabled] .sq-btn-info:hover,
1792
+ .sq-btn-info.disabled:focus,
1793
+ .sq-btn-info[disabled]:focus,
1794
+ fieldset[disabled] .sq-btn-info:focus,
1795
+ .sq-btn-info.disabled.focus,
1796
+ .sq-btn-info[disabled].focus,
1797
+ fieldset[disabled] .sq-btn-info.focus,
1798
+ .sq-btn-info.disabled:active,
1799
+ .sq-btn-info[disabled]:active,
1800
+ fieldset[disabled] .sq-btn-info:active,
1801
+ .sq-btn-info.disabled.active,
1802
+ .sq-btn-info[disabled].active,
1803
+ fieldset[disabled] .sq-btn-info.active {
1804
+ background-color: #5bc0de;
1805
+ border-color: #46b8da;
1806
+ }
1807
+ .sq-btn-info .sq-badge {
1808
+ color: #5bc0de;
1809
+ background-color: #ffffff;
1810
+ }
1811
+ .sq-btn-warning {
1812
+ color: #ffffff;
1813
+ background-color: #f0ad4e;
1814
+ border-color: #eea236;
1815
+ }
1816
+ .sq-btn-warning:hover,
1817
+ .sq-btn-warning:focus,
1818
+ .sq-btn-warning.focus,
1819
+ .sq-btn-warning:active,
1820
+ .sq-btn-warning.active,
1821
+ .sq-open > .sq-dropdown-toggle.sq-btn-warning {
1822
+ color: #ffffff;
1823
+ background-color: #ec971f;
1824
+ border-color: #d58512;
1825
+ }
1826
+ .sq-btn-warning:active,
1827
+ .sq-btn-warning.active,
1828
+ .sq-open > .sq-dropdown-toggle.sq-btn-warning {
1829
+ background-image: none;
1830
+ }
1831
+ .sq-btn-warning.disabled,
1832
+ .sq-btn-warning[disabled],
1833
+ fieldset[disabled] .sq-btn-warning,
1834
+ .sq-btn-warning.disabled:hover,
1835
+ .sq-btn-warning[disabled]:hover,
1836
+ fieldset[disabled] .sq-btn-warning:hover,
1837
+ .sq-btn-warning.disabled:focus,
1838
+ .sq-btn-warning[disabled]:focus,
1839
+ fieldset[disabled] .sq-btn-warning:focus,
1840
+ .sq-btn-warning.disabled.focus,
1841
+ .sq-btn-warning[disabled].focus,
1842
+ fieldset[disabled] .sq-btn-warning.focus,
1843
+ .sq-btn-warning.disabled:active,
1844
+ .sq-btn-warning[disabled]:active,
1845
+ fieldset[disabled] .sq-btn-warning:active,
1846
+ .sq-btn-warning.disabled.active,
1847
+ .sq-btn-warning[disabled].active,
1848
+ fieldset[disabled] .sq-btn-warning.active {
1849
+ background-color: #f0ad4e;
1850
+ border-color: #eea236;
1851
+ }
1852
+ .sq-btn-warning .sq-badge {
1853
+ color: #f0ad4e;
1854
+ background-color: #ffffff;
1855
+ }
1856
+ .sq-btn-danger {
1857
+ color: #ffffff;
1858
+ background-color: #d9534f;
1859
+ border-color: #d43f3a;
1860
+ }
1861
+ .sq-btn-danger:hover,
1862
+ .sq-btn-danger:focus,
1863
+ .sq-btn-danger.focus,
1864
+ .sq-btn-danger:active,
1865
+ .sq-btn-danger.active,
1866
+ .sq-open > .sq-dropdown-toggle.sq-btn-danger {
1867
+ color: #ffffff;
1868
+ background-color: #c9302c;
1869
+ border-color: #ac2925;
1870
+ }
1871
+ .sq-btn-danger:active,
1872
+ .sq-btn-danger.active,
1873
+ .sq-open > .sq-dropdown-toggle.sq-btn-danger {
1874
+ background-image: none;
1875
+ }
1876
+ .sq-btn-danger.disabled,
1877
+ .sq-btn-danger[disabled],
1878
+ fieldset[disabled] .sq-btn-danger,
1879
+ .sq-btn-danger.disabled:hover,
1880
+ .sq-btn-danger[disabled]:hover,
1881
+ fieldset[disabled] .sq-btn-danger:hover,
1882
+ .sq-btn-danger.disabled:focus,
1883
+ .sq-btn-danger[disabled]:focus,
1884
+ fieldset[disabled] .sq-btn-danger:focus,
1885
+ .sq-btn-danger.disabled.focus,
1886
+ .sq-btn-danger[disabled].focus,
1887
+ fieldset[disabled] .sq-btn-danger.focus,
1888
+ .sq-btn-danger.disabled:active,
1889
+ .sq-btn-danger[disabled]:active,
1890
+ fieldset[disabled] .sq-btn-danger:active,
1891
+ .sq-btn-danger.disabled.active,
1892
+ .sq-btn-danger[disabled].active,
1893
+ fieldset[disabled] .sq-btn-danger.active {
1894
+ background-color: #d9534f;
1895
+ border-color: #d43f3a;
1896
+ }
1897
+ .sq-btn-danger .sq-badge {
1898
+ color: #d9534f;
1899
+ background-color: #ffffff;
1900
+ }
1901
+ .sq-btn-link {
1902
+ color: #428bca;
1903
+ font-weight: normal;
1904
+ border-radius: 0;
1905
+ }
1906
+ .sq-btn-link,
1907
+ .sq-btn-link:active,
1908
+ .sq-btn-link.active,
1909
+ .sq-btn-link[disabled],
1910
+ fieldset[disabled] .sq-btn-link {
1911
+ background-color: transparent;
1912
+ -webkit-box-shadow: none;
1913
+ box-shadow: none;
1914
+ }
1915
+ .sq-btn-link,
1916
+ .sq-btn-link:hover,
1917
+ .sq-btn-link:focus,
1918
+ .sq-btn-link:active {
1919
+ border-color: transparent;
1920
+ }
1921
+ .sq-btn-link:hover,
1922
+ .sq-btn-link:focus {
1923
+ color: #2a6496;
1924
+ text-decoration: underline;
1925
+ background-color: transparent;
1926
+ }
1927
+ .sq-btn-link[disabled]:hover,
1928
+ fieldset[disabled] .sq-btn-link:hover,
1929
+ .sq-btn-link[disabled]:focus,
1930
+ fieldset[disabled] .sq-btn-link:focus {
1931
+ color: #777777;
1932
+ text-decoration: none;
1933
+ }
1934
+ .sq-btn-lg {
1935
+ padding: 10px 16px;
1936
+ font-size: 18px;
1937
+ line-height: 1.33;
1938
+ border-radius: 6px;
1939
+ }
1940
+ .sq-btn-sm {
1941
+ padding: 5px 10px;
1942
+ font-size: 12px;
1943
+ line-height: 1.5;
1944
+ border-radius: 3px;
1945
+ }
1946
+ .sq-btn-xs {
1947
+ padding: 1px 5px;
1948
+ font-size: 12px;
1949
+ line-height: 1.5;
1950
+ border-radius: 3px;
1951
+ }
1952
+ .sq-btn-block {
1953
+ display: block;
1954
+ width: 100%;
1955
+ }
1956
+ .sq-btn-block + .sq-btn-block {
1957
+ margin-top: 5px;
1958
+ }
1959
+ input[type="submit"].sq-btn-block,
1960
+ input[type="reset"].sq-btn-block,
1961
+ input[type="button"].sq-btn-block {
1962
+ width: 100%;
1963
+ }
1964
+ .sq-fade {
1965
+ opacity: 0;
1966
+ -webkit-transition: opacity 0.15s linear;
1967
+ -o-transition: opacity 0.15s linear;
1968
+ transition: opacity 0.15s linear;
1969
+ }
1970
+ .sq-fade.sq-in {
1971
+ opacity: 1;
1972
+ }
1973
+ .sq-collapse {
1974
+ display: none;
1975
+ visibility: hidden;
1976
+ }
1977
+ .sq-collapse.sq-in {
1978
+ display: block;
1979
+ visibility: visible;
1980
+ }
1981
+ tr.sq-collapse.sq-in {
1982
+ display: table-row;
1983
+ }
1984
+ tbody.sq-collapse.sq-in {
1985
+ display: table-row-group;
1986
+ }
1987
+ .sq-collapsing {
1988
+ position: relative;
1989
+ height: 0;
1990
+ overflow: hidden;
1991
+ -webkit-transition-property: height, visibility;
1992
+ transition-property: height, visibility;
1993
+ -webkit-transition-duration: 0.35s;
1994
+ transition-duration: 0.35s;
1995
+ -webkit-transition-timing-function: ease;
1996
+ transition-timing-function: ease;
1997
+ }
1998
+ .sq-input-group {
1999
+ position: relative;
2000
+ display: table;
2001
+ border-collapse: separate;
2002
+ }
2003
+ .sq-input-group[class*="col-"] {
2004
+ float: none;
2005
+ padding-left: 0;
2006
+ padding-right: 0;
2007
+ }
2008
+ .sq-input-group .sq-form-control {
2009
+ position: relative;
2010
+ z-index: 2;
2011
+ float: left;
2012
+ width: 100%;
2013
+ margin-bottom: 0;
2014
+ }
2015
+ .sq-input-group-lg > .sq-form-control,
2016
+ .sq-input-group-lg > .sq-input-group-addon,
2017
+ .sq-input-group-lg > .sq-input-group-btn > .sq-btn {
2018
+ height: 46px;
2019
+ padding: 10px 16px;
2020
+ font-size: 18px;
2021
+ line-height: 1.33;
2022
+ border-radius: 6px;
2023
+ }
2024
+ select.sq-input-group-lg > .sq-form-control,
2025
+ select.sq-input-group-lg > .sq-input-group-addon,
2026
+ select.sq-input-group-lg > .sq-input-group-btn > .sq-btn {
2027
+ height: 46px;
2028
+ line-height: 46px;
2029
+ }
2030
+ textarea.sq-input-group-lg > .sq-form-control,
2031
+ textarea.sq-input-group-lg > .sq-input-group-addon,
2032
+ textarea.sq-input-group-lg > .sq-input-group-btn > .sq-btn,
2033
+ select[multiple].sq-input-group-lg > .sq-form-control,
2034
+ select[multiple].sq-input-group-lg > .sq-input-group-addon,
2035
+ select[multiple].sq-input-group-lg > .sq-input-group-btn > .sq-btn {
2036
+ height: auto;
2037
+ }
2038
+ .sq-input-group-sm > .sq-form-control,
2039
+ .sq-input-group-sm > .sq-input-group-addon,
2040
+ .sq-input-group-sm > .sq-input-group-btn > .sq-btn {
2041
+ height: 30px;
2042
+ padding: 5px 10px;
2043
+ font-size: 12px;
2044
+ line-height: 1.5;
2045
+ border-radius: 3px;
2046
+ }
2047
+ select.sq-input-group-sm > .sq-form-control,
2048
+ select.sq-input-group-sm > .sq-input-group-addon,
2049
+ select.sq-input-group-sm > .sq-input-group-btn > .sq-btn {
2050
+ height: 30px;
2051
+ line-height: 30px;
2052
+ }
2053
+ textarea.sq-input-group-sm > .sq-form-control,
2054
+ textarea.sq-input-group-sm > .sq-input-group-addon,
2055
+ textarea.sq-input-group-sm > .sq-input-group-btn > .sq-btn,
2056
+ select[multiple].sq-input-group-sm > .sq-form-control,
2057
+ select[multiple].sq-input-group-sm > .sq-input-group-addon,
2058
+ select[multiple].sq-input-group-sm > .sq-input-group-btn > .sq-btn {
2059
+ height: auto;
2060
+ }
2061
+ .sq-input-group-addon,
2062
+ .sq-input-group-btn,
2063
+ .sq-input-group .sq-form-control {
2064
+ display: table-cell;
2065
+ }
2066
+ .sq-input-group-addon:not(:first-child):not(:last-child),
2067
+ .sq-input-group-btn:not(:first-child):not(:last-child),
2068
+ .sq-input-group .sq-form-control:not(:first-child):not(:last-child) {
2069
+ border-radius: 0;
2070
+ }
2071
+ .sq-input-group-addon,
2072
+ .sq-input-group-btn {
2073
+ width: 1%;
2074
+ white-space: nowrap;
2075
+ vertical-align: middle;
2076
+ }
2077
+ .sq-input-group-addon {
2078
+ padding: 6px 12px;
2079
+ font-size: 14px;
2080
+ font-weight: normal;
2081
+ line-height: 1;
2082
+ color: #555555;
2083
+ text-align: center;
2084
+ background-color: #eeeeee;
2085
+ border: 1px solid #cccccc;
2086
+ border-radius: 4px;
2087
+ }
2088
+ .sq-input-group-addon.sq-input-sm {
2089
+ padding: 5px 10px;
2090
+ font-size: 12px;
2091
+ border-radius: 3px;
2092
+ }
2093
+ .sq-input-group-addon.sq-input-lg {
2094
+ padding: 10px 16px;
2095
+ font-size: 18px;
2096
+ border-radius: 6px;
2097
+ }
2098
+ .sq-input-group-addon input[type="radio"],
2099
+ .sq-input-group-addon input[type="checkbox"] {
2100
+ margin-top: 0;
2101
+ }
2102
+ .sq-input-group .sq-form-control:first-child,
2103
+ .sq-input-group-addon:first-child,
2104
+ .sq-input-group-btn:first-child > .sq-btn,
2105
+ .sq-input-group-btn:first-child > .sq-btn-group > .btn,
2106
+ .sq-input-group-btn:first-child > .sq-dropdown-toggle,
2107
+ .sq-input-group-btn:last-child > .sq-btn:not(:last-child):not(.sq-dropdown-toggle),
2108
+ .sq-input-group-btn:last-child > .sq-btn-group:not(:last-child) > .sq-btn {
2109
+ border-bottom-right-radius: 0;
2110
+ border-top-right-radius: 0;
2111
+ }
2112
+ .sq-input-group-addon:first-child {
2113
+ border-right: 0;
2114
+ }
2115
+ .sq-input-group .sq-form-control:last-child,
2116
+ .sq-input-group-addon:last-child,
2117
+ .sq-input-group-btn:last-child > .sq-btn,
2118
+ .sq-input-group-btn:last-child > .sq-btn-group > .sq-btn,
2119
+ .sq-input-group-btn:last-child > .sq-dropdown-toggle,
2120
+ .sq-input-group-btn:first-child > .sq-btn:not(:first-child),
2121
+ .sq-input-group-btn:first-child > .sq-btn-group:not(:first-child) > .sq-btn {
2122
+ border-bottom-left-radius: 0;
2123
+ border-top-left-radius: 0;
2124
+ }
2125
+ .sq-input-group-addon:last-child {
2126
+ border-left: 0;
2127
+ }
2128
+ .sq-input-group-btn {
2129
+ position: relative;
2130
+ font-size: 0;
2131
+ white-space: nowrap;
2132
+ }
2133
+ .sq-input-group-btn > .sq-btn {
2134
+ position: relative;
2135
+ }
2136
+ .sq-input-group-btn > .sq-btn + .sq-btn {
2137
+ margin-left: -1px;
2138
+ }
2139
+ .sq-input-group-btn > .sq-btn:hover,
2140
+ .sq-input-group-btn > .sq-btn:focus,
2141
+ .sq-input-group-btn > .sq-btn:active {
2142
+ z-index: 2;
2143
+ }
2144
+ .sq-input-group-btn:first-child > .sq-btn,
2145
+ .sq-input-group-btn:first-child > .sq-btn-group {
2146
+ margin-right: -1px;
2147
+ }
2148
+ .sq-input-group-btn:last-child > .sq-btn,
2149
+ .sq-input-group-btn:last-child > .sq-btn-group {
2150
+ margin-left: -1px;
2151
+ }
2152
+ .sq-label {
2153
+ display: inline;
2154
+ padding: .2em .6em .3em;
2155
+ font-size: 75%;
2156
+ font-weight: bold;
2157
+ line-height: 1;
2158
+ color: #ffffff;
2159
+ text-align: center;
2160
+ white-space: nowrap;
2161
+ vertical-align: baseline;
2162
+ border-radius: .25em;
2163
+ }
2164
+ a.sq-label:hover,
2165
+ a.sq-label:focus {
2166
+ color: #ffffff;
2167
+ text-decoration: none;
2168
+ cursor: pointer;
2169
+ }
2170
+ .sq-label:empty {
2171
+ display: none;
2172
+ }
2173
+ .sq-btn .sq-label {
2174
+ position: relative;
2175
+ top: -1px;
2176
+ }
2177
+ .sq-label-default {
2178
+ background-color: #777777;
2179
+ }
2180
+ .sq-label-default[href]:hover,
2181
+ .sq-label-default[href]:focus {
2182
+ background-color: #5e5e5e;
2183
+ }
2184
+ .sq-label-primary {
2185
+ background-color: #428bca;
2186
+ }
2187
+ .sq-label-primary[href]:hover,
2188
+ .sq-label-primary[href]:focus {
2189
+ background-color: #3071a9;
2190
+ }
2191
+ .sq-label-success {
2192
+ background-color: #5cb85c;
2193
+ }
2194
+ .sq-label-success[href]:hover,
2195
+ .sq-label-success[href]:focus {
2196
+ background-color: #449d44;
2197
+ }
2198
+ .sq-label-info {
2199
+ background-color: #5bc0de;
2200
+ }
2201
+ .sq-label-info[href]:hover,
2202
+ .sq-label-info[href]:focus {
2203
+ background-color: #31b0d5;
2204
+ }
2205
+ .sq-label-warning {
2206
+ background-color: #f0ad4e;
2207
+ }
2208
+ .sq-label-warning[href]:hover,
2209
+ .sq-label-warning[href]:focus {
2210
+ background-color: #ec971f;
2211
+ }
2212
+ .sq-label-danger {
2213
+ background-color: #d9534f;
2214
+ }
2215
+ .sq-label-danger[href]:hover,
2216
+ .sq-label-danger[href]:focus {
2217
+ background-color: #c9302c;
2218
+ }
2219
+
2220
+ .sq-text-center {
2221
+ text-align: center;
2222
+ }
2223
+
2224
+ .sq-thumbnail {
2225
+ display: block;
2226
+ padding: 4px;
2227
+ margin-bottom: 20px;
2228
+ line-height: 1.42857143;
2229
+ background-color: #ffffff;
2230
+ border: 1px solid #dddddd;
2231
+ border-radius: 4px;
2232
+ -webkit-transition: border 0.2s ease-in-out;
2233
+ -o-transition: border 0.2s ease-in-out;
2234
+ transition: border 0.2s ease-in-out;
2235
+ }
2236
+ .sq-thumbnail > img,
2237
+ .sq-thumbnail a > img {
2238
+ margin-left: auto;
2239
+ margin-right: auto;
2240
+ }
2241
+ a.sq-thumbnail:hover,
2242
+ a.sq-thumbnail:focus,
2243
+ a.sq-thumbnail.active {
2244
+ border-color: #428bca;
2245
+ }
2246
+ .sq-thumbnail .sq-caption {
2247
+ padding: 9px;
2248
+ color: #333333;
2249
+ }
2250
+ .sq-alert {
2251
+ padding: 15px;
2252
+ margin-bottom: 20px;
2253
+ border: 1px solid transparent;
2254
+ border-radius: 4px;
2255
+ }
2256
+ .sq-alert h4 {
2257
+ margin-top: 0;
2258
+ color: inherit;
2259
+ }
2260
+ .sq-alert .sq-alert-link {
2261
+ font-weight: bold;
2262
+ }
2263
+ .sq-alert > p,
2264
+ .sq-alert > ul {
2265
+ margin-bottom: 0;
2266
+ }
2267
+ .sq-alert > p + p {
2268
+ margin-top: 5px;
2269
+ }
2270
+ .sq-alert-dismissable,
2271
+ .sq-alert-dismissible {
2272
+ padding-right: 35px;
2273
+ }
2274
+ .sq-alert-dismissable .sq-close,
2275
+ .sq-alert-dismissible .sq-close {
2276
+ position: relative;
2277
+ top: -2px;
2278
+ right: -21px;
2279
+ color: inherit;
2280
+ }
2281
+ .sq-alert-success {
2282
+ background-color: #dff0d8;
2283
+ border-color: #d6e9c6;
2284
+ color: #3c763d;
2285
+ }
2286
+ .sq-alert-success hr {
2287
+ border-top-color: #c9e2b3;
2288
+ }
2289
+ .sq-alert-success .sq-alert-link {
2290
+ color: #2b542c;
2291
+ }
2292
+ .sq-alert-info {
2293
+ background-color: #d9edf7;
2294
+ border-color: #bce8f1;
2295
+ color: #31708f;
2296
+ }
2297
+ .sq-alert-info hr {
2298
+ border-top-color: #a6e1ec;
2299
+ }
2300
+ .sq-alert-info .sq-alert-link {
2301
+ color: #245269;
2302
+ }
2303
+ .sq-alert-warning {
2304
+ background-color: #fcf8e3;
2305
+ border-color: #faebcc;
2306
+ color: #8a6d3b;
2307
+ }
2308
+ .sq-alert-warning hr {
2309
+ border-top-color: #f7e1b5;
2310
+ }
2311
+ .sq-alert-warning .sq-alert-link {
2312
+ color: #66512c;
2313
+ }
2314
+ .sq-alert-danger {
2315
+ background-color: #f2dede;
2316
+ border-color: #ebccd1;
2317
+ color: #a94442;
2318
+ }
2319
+ .sq-alert-danger hr {
2320
+ border-top-color: #e4b9c0;
2321
+ }
2322
+ .sq-alert-danger .sq-alert-link {
2323
+ color: #843534;
2324
+ }
2325
+ .sq-panel {
2326
+ margin-bottom: 20px;
2327
+ background-color: #ffffff;
2328
+ border: 1px solid transparent;
2329
+ border-radius: 4px;
2330
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
2331
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
2332
+ }
2333
+ .sq-panel-body {
2334
+ padding: 15px;
2335
+ }
2336
+ .sq-panel-heading {
2337
+ padding: 10px 15px;
2338
+ border-bottom: 1px solid transparent;
2339
+ border-top-right-radius: 3px;
2340
+ border-top-left-radius: 3px;
2341
+ }
2342
+ .sq-panel-heading > .sq-dropdown .sq-dropdown-toggle {
2343
+ color: inherit;
2344
+ }
2345
+ .sq-panel-title {
2346
+ margin-top: 0;
2347
+ margin-bottom: 0;
2348
+ font-size: 16px;
2349
+ color: inherit;
2350
+ }
2351
+ .sq-panel-title > a {
2352
+ color: inherit;
2353
+ }
2354
+ .sq-panel-footer {
2355
+ padding: 10px 15px;
2356
+ background-color: #f5f5f5;
2357
+ border-top: 1px solid #dddddd;
2358
+ border-bottom-right-radius: 3px;
2359
+ border-bottom-left-radius: 3px;
2360
+ }
2361
+ .sq-panel > .sq-list-group,
2362
+ .sq-panel > .sq-panel-collapse > .sq-list-group {
2363
+ margin-bottom: 0;
2364
+ }
2365
+ .sq-panel > .sq-list-group .sq-list-group-item,
2366
+ .sq-panel > .sq-panel-collapse > .sq-list-group .sq-list-group-item {
2367
+ border-width: 1px 0;
2368
+ border-radius: 0;
2369
+ }
2370
+ .sq-panel > .sq-list-group:first-child .sq-list-group-item:first-child,
2371
+ .sq-panel > .sq-panel-collapse > .sq-list-group:first-child .sq-list-group-item:first-child {
2372
+ border-top: 0;
2373
+ border-top-right-radius: 3px;
2374
+ border-top-left-radius: 3px;
2375
+ }
2376
+ .sq-panel > .sq-list-group:last-child .sq-list-group-item:last-child,
2377
+ .sq-panel > .sq-panel-collapse > .sq-list-group:last-child .sq-list-group-item:last-child {
2378
+ border-bottom: 0;
2379
+ border-bottom-right-radius: 3px;
2380
+ border-bottom-left-radius: 3px;
2381
+ }
2382
+ .sq-panel-heading + .sq-list-group .sq-list-group-item:first-child {
2383
+ border-top-width: 0;
2384
+ }
2385
+ .sq-list-group + .sq-panel-footer {
2386
+ border-top-width: 0;
2387
+ }
2388
+ .sq-panel > .sq-table,
2389
+ .sq-panel > .sq-table-responsive > .sq-table,
2390
+ .sq-panel > .sq-panel-collapse > .sq-table {
2391
+ margin-bottom: 0;
2392
+ }
2393
+ .sq-panel > .sq-table caption,
2394
+ .sq-panel > .sq-table-responsive > .sq-table caption,
2395
+ .sq-panel > .sq-panel-collapse > .sq-table caption {
2396
+ padding-left: 15px;
2397
+ padding-right: 15px;
2398
+ }
2399
+ .sq-panel > .sq-table:first-child,
2400
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child {
2401
+ border-top-right-radius: 3px;
2402
+ border-top-left-radius: 3px;
2403
+ }
2404
+ .sq-panel > .sq-table:first-child > thead:first-child > tr:first-child,
2405
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > thead:first-child > tr:first-child,
2406
+ .sq-panel > .sq-table:first-child > tbody:first-child > tr:first-child,
2407
+ .sq-panel > .sq-table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
2408
+ border-top-left-radius: 3px;
2409
+ border-top-right-radius: 3px;
2410
+ }
2411
+ .sq-panel > .sq-table:first-child > thead:first-child > tr:first-child td:first-child,
2412
+ .sq-panel > .sq-table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
2413
+ .sq-panel > .sq-table:first-child > tbody:first-child > tr:first-child td:first-child,
2414
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > tbody:first-child > tr:first-child td:first-child,
2415
+ .sq-panel > .sq-table:first-child > thead:first-child > tr:first-child th:first-child,
2416
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > thead:first-child > tr:first-child th:first-child,
2417
+ .sq-panel > .sq-table:first-child > tbody:first-child > tr:first-child th:first-child,
2418
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > tbody:first-child > tr:first-child th:first-child {
2419
+ border-top-left-radius: 3px;
2420
+ }
2421
+ .sq-panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
2422
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > thead:first-child > tr:first-child td:last-child,
2423
+ .sq-panel > .sq-table:first-child > tbody:first-child > tr:first-child td:last-child,
2424
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > tbody:first-child > tr:first-child td:last-child,
2425
+ .sq-panel > .sq-table:first-child > thead:first-child > tr:first-child th:last-child,
2426
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > thead:first-child > tr:first-child th:last-child,
2427
+ .sq-panel > .sq-table:first-child > tbody:first-child > tr:first-child th:last-child,
2428
+ .sq-panel > .sq-table-responsive:first-child > .sq-table:first-child > tbody:first-child > tr:first-child th:last-child {
2429
+ border-top-right-radius: 3px;
2430
+ }
2431
+ .sq-panel > .sq-table:last-child,
2432
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child {
2433
+ border-bottom-right-radius: 3px;
2434
+ border-bottom-left-radius: 3px;
2435
+ }
2436
+ .sq-panel > .sq-table:last-child > tbody:last-child > tr:last-child,
2437
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tbody:last-child > tr:last-child,
2438
+ .sq-panel > .sq-table:last-child > tfoot:last-child > tr:last-child,
2439
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tfoot:last-child > tr:last-child {
2440
+ border-bottom-left-radius: 3px;
2441
+ border-bottom-right-radius: 3px;
2442
+ }
2443
+ .sq-panel > .sq-table:last-child > tbody:last-child > tr:last-child td:first-child,
2444
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tbody:last-child > tr:last-child td:first-child,
2445
+ .sq-panel > .sq-table:last-child > tfoot:last-child > tr:last-child td:first-child,
2446
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tfoot:last-child > tr:last-child td:first-child,
2447
+ .sq-panel > .sq-table:last-child > tbody:last-child > tr:last-child th:first-child,
2448
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tbody:last-child > tr:last-child th:first-child,
2449
+ .sq-panel > .sq-table:last-child > tfoot:last-child > tr:last-child th:first-child,
2450
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tfoot:last-child > tr:last-child th:first-child {
2451
+ border-bottom-left-radius: 3px;
2452
+ }
2453
+ .sq-panel > .sq-table:last-child > tbody:last-child > tr:last-child td:last-child,
2454
+ .sq-panel > .table-responsive:last-child > .sq-table:last-child > tbody:last-child > tr:last-child td:last-child,
2455
+ .sq-panel > .sq-table:last-child > tfoot:last-child > tr:last-child td:last-child,
2456
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tfoot:last-child > tr:last-child td:last-child,
2457
+ .sq-panel > .sq-table:last-child > tbody:last-child > tr:last-child th:last-child,
2458
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tbody:last-child > tr:last-child th:last-child,
2459
+ .sq-panel > .sq-table:last-child > tfoot:last-child > tr:last-child th:last-child,
2460
+ .sq-panel > .sq-table-responsive:last-child > .sq-table:last-child > tfoot:last-child > tr:last-child th:last-child {
2461
+ border-bottom-right-radius: 3px;
2462
+ }
2463
+ .sq-panel > .sq-panel-body + .sq-table,
2464
+ .sq-panel > .sq-panel-body + .sq-table-responsive,
2465
+ .sq-panel > .sq-table + .sq-panel-body,
2466
+ .sq-panel > .sq-table-responsive + .sq-panel-body {
2467
+ border-top: 1px solid #dddddd;
2468
+ }
2469
+ .sq-panel > .sq-table > tbody:first-child > tr:first-child th,
2470
+ .sq-panel > .sq-table > tbody:first-child > tr:first-child td {
2471
+ border-top: 0;
2472
+ }
2473
+ .sq-panel > .sq-table-bordered,
2474
+ .sq-panel > .sq-table-responsive > .sq-table-bordered {
2475
+ border: 0;
2476
+ }
2477
+ .sq-panel > .sq-table-bordered > thead > tr > th:first-child,
2478
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > thead > tr > th:first-child,
2479
+ .sq-panel > .sq-table-bordered > tbody > tr > th:first-child,
2480
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr > th:first-child,
2481
+ .sq-panel > .sq-table-bordered > tfoot > tr > th:first-child,
2482
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tfoot > tr > th:first-child,
2483
+ .sq-panel > .sq-table-bordered > thead > tr > td:first-child,
2484
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > thead > tr > td:first-child,
2485
+ .sq-panel > .sq-table-bordered > tbody > tr > td:first-child,
2486
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr > td:first-child,
2487
+ .sq-panel > .sq-table-bordered > tfoot > tr > td:first-child,
2488
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tfoot > tr > td:first-child {
2489
+ border-left: 0;
2490
+ }
2491
+ .sq-panel > .sq-table-bordered > thead > tr > th:last-child,
2492
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > thead > tr > th:last-child,
2493
+ .sq-panel > .sq-table-bordered > tbody > tr > th:last-child,
2494
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr > th:last-child,
2495
+ .sq-panel > .sq-table-bordered > tfoot > tr > th:last-child,
2496
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tfoot > tr > th:last-child,
2497
+ .sq-panel > .sq-table-bordered > thead > tr > td:last-child,
2498
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > thead > tr > td:last-child,
2499
+ .sq-panel > .sq-table-bordered > tbody > tr > td:last-child,
2500
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr > td:last-child,
2501
+ .sq-panel > .sq-table-bordered > tfoot > tr > td:last-child,
2502
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tfoot > tr > td:last-child {
2503
+ border-right: 0;
2504
+ }
2505
+ .sq-panel > .sq-table-bordered > thead > tr:first-child > td,
2506
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > thead > tr:first-child > td,
2507
+ .sq-panel > .sq-table-bordered > tbody > tr:first-child > td,
2508
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr:first-child > td,
2509
+ .sq-panel > .sq-table-bordered > thead > tr:first-child > th,
2510
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > thead > tr:first-child > th,
2511
+ .sq-panel > .sq-table-bordered > tbody > tr:first-child > th,
2512
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr:first-child > th {
2513
+ border-bottom: 0;
2514
+ }
2515
+ .sq-panel > .sq-table-bordered > tbody > tr:last-child > td,
2516
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr:last-child > td,
2517
+ .sq-panel > .sq-table-bordered > tfoot > tr:last-child > td,
2518
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tfoot > tr:last-child > td,
2519
+ .sq-panel > .sq-table-bordered > tbody > tr:last-child > th,
2520
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tbody > tr:last-child > th,
2521
+ .sq-panel > .sq-table-bordered > tfoot > tr:last-child > th,
2522
+ .sq-panel > .sq-table-responsive > .sq-table-bordered > tfoot > tr:last-child > th {
2523
+ border-bottom: 0;
2524
+ }
2525
+ .sq-panel > .sq-table-responsive {
2526
+ border: 0;
2527
+ margin-bottom: 0;
2528
+ }
2529
+ .sq-panel-group {
2530
+ margin-bottom: 20px;
2531
+ }
2532
+ .sq-panel-group .sq-panel {
2533
+ margin-bottom: 0;
2534
+ border-radius: 4px;
2535
+ }
2536
+ .sq-panel-group .sq-panel + .sq-panel {
2537
+ margin-top: 5px;
2538
+ }
2539
+ .sq-panel-group .sq-panel-heading {
2540
+ border-bottom: 0;
2541
+ }
2542
+ .sq-panel-group .sq-panel-heading + .sq-panel-collapse > .sq-panel-body,
2543
+ .sq-panel-group .sq-panel-heading + .sq-panel-collapse > .sq-list-group {
2544
+ border-top: 1px solid #dddddd;
2545
+ }
2546
+ .sq-panel-group .sq-panel-footer {
2547
+ border-top: 0;
2548
+ }
2549
+ .sq-panel-group .sq-panel-footer + .sq-panel-collapse .sq-panel-body {
2550
+ border-bottom: 1px solid #dddddd;
2551
+ }
2552
+ .sq-panel-default {
2553
+ border-color: #dddddd;
2554
+ }
2555
+ .sq-panel-default > .sq-panel-heading {
2556
+ color: #333333;
2557
+ background-color: #f5f5f5;
2558
+ border-color: #dddddd;
2559
+ }
2560
+ .sq-panel-default > .sq-panel-heading + .sq-panel-collapse > .sq-panel-body {
2561
+ border-top-color: #dddddd;
2562
+ }
2563
+ .sq-panel-default > .sq-panel-heading .sq-badge {
2564
+ color: #f5f5f5;
2565
+ background-color: #333333;
2566
+ }
2567
+ .sq-panel-default > .sq-panel-footer + .sq-panel-collapse > .sq-panel-body {
2568
+ border-bottom-color: #dddddd;
2569
+ }
2570
+ .sq-panel-primary {
2571
+ border-color: #428bca;
2572
+ }
2573
+ .sq-panel-primary > .sq-panel-heading {
2574
+ color: #ffffff;
2575
+ background-color: #428bca;
2576
+ border-color: #428bca;
2577
+ }
2578
+ .sq-panel-primary > .sq-panel-heading + .sq-panel-collapse > .sq-panel-body {
2579
+ border-top-color: #428bca;
2580
+ }
2581
+ .sq-panel-primary > .sq-panel-heading .sq-badge {
2582
+ color: #428bca;
2583
+ background-color: #ffffff;
2584
+ }
2585
+ .sq-panel-primary > .sq-panel-footer + .sq-panel-collapse > .sq-panel-body {
2586
+ border-bottom-color: #428bca;
2587
+ }
2588
+ .sq-panel-success {
2589
+ border-color: #d6e9c6;
2590
+ }
2591
+ .sq-panel-success > .sq-panel-heading {
2592
+ color: #3c763d;
2593
+ background-color: #dff0d8;
2594
+ border-color: #d6e9c6;
2595
+ }
2596
+ .sq-panel-success > .sq-panel-heading + .sq-panel-collapse > .sq-panel-body {
2597
+ border-top-color: #d6e9c6;
2598
+ }
2599
+ .sq-panel-success > .sq-panel-heading .sq-badge {
2600
+ color: #dff0d8;
2601
+ background-color: #3c763d;
2602
+ }
2603
+ .sq-panel-success > .sq-panel-footer + .sq-panel-collapse > .sq-panel-body {
2604
+ border-bottom-color: #d6e9c6;
2605
+ }
2606
+ .sq-panel-info {
2607
+ border-color: #bce8f1;
2608
+ }
2609
+ .sq-panel-info > .sq-panel-heading {
2610
+ color: #31708f;
2611
+ background-color: #d9edf7;
2612
+ border-color: #bce8f1;
2613
+ }
2614
+ .sq-panel-info > .sq-panel-heading + .sq-panel-collapse > .sq-panel-body {
2615
+ border-top-color: #bce8f1;
2616
+ }
2617
+ .sq-panel-info > .sq-panel-heading .sq-badge {
2618
+ color: #d9edf7;
2619
+ background-color: #31708f;
2620
+ }
2621
+ .sq-panel-info > .sq-panel-footer + .sq-panel-collapse > .sq-panel-body {
2622
+ border-bottom-color: #bce8f1;
2623
+ }
2624
+ .sq-panel-warning {
2625
+ border-color: #faebcc;
2626
+ }
2627
+ .sq-panel-warning > .sq-panel-heading {
2628
+ color: #8a6d3b;
2629
+ background-color: #fcf8e3;
2630
+ border-color: #faebcc;
2631
+ }
2632
+ .sq-panel-warning > .sq-panel-heading + .sq-panel-collapse > .sq-panel-body {
2633
+ border-top-color: #faebcc;
2634
+ }
2635
+ .sq-panel-warning > .sq-panel-heading .badge {
2636
+ color: #fcf8e3;
2637
+ background-color: #8a6d3b;
2638
+ }
2639
+ .sq-panel-warning > .sq-panel-footer + .sq-panel-collapse > .sq-panel-body {
2640
+ border-bottom-color: #faebcc;
2641
+ }
2642
+ .sq-panel-danger {
2643
+ border-color: #ebccd1;
2644
+ }
2645
+ .sq-panel-danger > .sq-panel-heading {
2646
+ color: #a94442;
2647
+ background-color: #f2dede;
2648
+ border-color: #ebccd1;
2649
+ }
2650
+ .sq-panel-danger > .sq-panel-heading + .sq-panel-collapse > .sq-panel-body {
2651
+ border-top-color: #ebccd1;
2652
+ }
2653
+ .sq-panel-danger > .sq-panel-heading .sq-badge {
2654
+ color: #f2dede;
2655
+ background-color: #a94442;
2656
+ }
2657
+ .sq-panel-danger > .sq-panel-footer + .sq-panel-collapse > .sq-panel-body {
2658
+ border-bottom-color: #ebccd1;
2659
+ }
2660
+ .sq-embed-responsive {
2661
+ position: relative;
2662
+ display: block;
2663
+ height: 0;
2664
+ padding: 0;
2665
+ overflow: hidden;
2666
+ }
2667
+ .sq-embed-responsive .sq-embed-responsive-item,
2668
+ .sq-embed-responsive iframe,
2669
+ .sq-embed-responsive embed,
2670
+ .sq-embed-responsive object,
2671
+ .sq-embed-responsive video {
2672
+ position: absolute;
2673
+ top: 0;
2674
+ left: 0;
2675
+ bottom: 0;
2676
+ height: 100%;
2677
+ width: 100%;
2678
+ border: 0;
2679
+ }
2680
+ .sq-embed-responsive.sq-embed-responsive-16by9 {
2681
+ padding-bottom: 56.25%;
2682
+ }
2683
+ .sq-embed-responsive.sq-embed-responsive-4by3 {
2684
+ padding-bottom: 75%;
2685
+ }
2686
+ .sq-close {
2687
+ float: right;
2688
+ font-size: 21px;
2689
+ font-weight: bold;
2690
+ line-height: 1;
2691
+ color: #000000;
2692
+ text-shadow: 0 1px 0 #ffffff;
2693
+ opacity: 0.2;
2694
+ filter: alpha(opacity=20);
2695
+ }
2696
+ .sq-close:hover,
2697
+ .sq-close:focus {
2698
+ color: #000000;
2699
+ text-decoration: none;
2700
+ cursor: pointer;
2701
+ opacity: 0.5;
2702
+ filter: alpha(opacity=50);
2703
+ }
2704
+ button.sq-close {
2705
+ padding: 0;
2706
+ cursor: pointer;
2707
+ background: transparent;
2708
+ border: 0;
2709
+ -webkit-appearance: none;
2710
+ }
2711
+ .sq-modal-open {
2712
+ overflow: hidden;
2713
+ }
2714
+ .sq-modal {
2715
+ display: none;
2716
+ overflow: hidden;
2717
+ position: fixed;
2718
+ top: 0;
2719
+ right: 0;
2720
+ bottom: 0;
2721
+ left: 0;
2722
+ z-index: 1040;
2723
+ -webkit-overflow-scrolling: touch;
2724
+ outline: 0;
2725
+ }
2726
+ .sq-modal.sq-fade .sq-modal-dialog {
2727
+ -webkit-transform: translate(0, -25%);
2728
+ -ms-transform: translate(0, -25%);
2729
+ -o-transform: translate(0, -25%);
2730
+ transform: translate(0, -25%);
2731
+ -webkit-transition: -webkit-transform 0.3s ease-out;
2732
+ -moz-transition: -moz-transform 0.3s ease-out;
2733
+ -o-transition: -o-transform 0.3s ease-out;
2734
+ transition: transform 0.3s ease-out;
2735
+ }
2736
+ .sq-modal.sq-in .sq-modal-dialog {
2737
+ -webkit-transform: translate(0, 0);
2738
+ -ms-transform: translate(0, 0);
2739
+ -o-transform: translate(0, 0);
2740
+ transform: translate(0, 0);
2741
+ }
2742
+ .sq-modal-open .sq-modal {
2743
+ overflow-x: hidden;
2744
+ overflow-y: auto;
2745
+ }
2746
+ .sq-modal-dialog {
2747
+ position: relative;
2748
+ width: auto;
2749
+ margin: 10px;
2750
+ }
2751
+ .sq-modal-content {
2752
+ position: relative;
2753
+ background-color: #ffffff;
2754
+ border: 1px solid #999999;
2755
+ border: 1px solid rgba(0, 0, 0, 0.2);
2756
+ border-radius: 6px;
2757
+ -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
2758
+ box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
2759
+ background-clip: padding-box;
2760
+ outline: 0;
2761
+ }
2762
+ .sq-modal-backdrop {
2763
+ position: fixed;
2764
+ top: 0;
2765
+ right: 0;
2766
+ bottom: 0;
2767
+ left: 0;
2768
+ background-color: #000000;
2769
+ }
2770
+ .sq-modal-backdrop.fade {
2771
+ opacity: 0;
2772
+ filter: alpha(opacity=0);
2773
+ }
2774
+ .sq-modal-backdrop.sq-in {
2775
+ opacity: 0.5;
2776
+ filter: alpha(opacity=50);
2777
+ }
2778
+ .sq-modal-header {
2779
+ padding: 15px;
2780
+ border-bottom: 1px solid #e5e5e5;
2781
+ min-height: 16.42857143px;
2782
+ }
2783
+ .sq-modal-header .sq-close {
2784
+ margin-top: -2px;
2785
+ }
2786
+ .sq-modal-title {
2787
+ margin: 0;
2788
+ line-height: 1.42857143;
2789
+ }
2790
+ .sq-modal-body {
2791
+ position: relative;
2792
+ padding: 15px;
2793
+ }
2794
+ .sq-modal-footer {
2795
+ padding: 15px;
2796
+ text-align: right;
2797
+ border-top: 1px solid #e5e5e5;
2798
+ }
2799
+ .sq-modal-footer .sq-btn + .sq-btn {
2800
+ margin-left: 5px;
2801
+ margin-bottom: 0;
2802
+ }
2803
+ .sq-modal-footer .sq-btn-group .sq-btn + .sq-btn {
2804
+ margin-left: -1px;
2805
+ }
2806
+ .sq-modal-footer .sq-btn-block + .sq-btn-block {
2807
+ margin-left: 0;
2808
+ }
2809
+ .sq-modal-scrollbar-measure {
2810
+ position: absolute;
2811
+ top: -9999px;
2812
+ width: 50px;
2813
+ height: 50px;
2814
+ overflow: scroll;
2815
+ }
2816
+ @media (min-width: 768px) {
2817
+ .sq-modal-dialog {
2818
+ width: 600px;
2819
+ margin: 30px auto;
2820
+ }
2821
+ .sq-modal-content {
2822
+ -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
2823
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
2824
+ }
2825
+ .sq-modal-sm {
2826
+ width: 300px;
2827
+ }
2828
+ }
2829
+ @media (min-width: 992px) {
2830
+ .sq-modal-lg {
2831
+ width: 900px;
2832
+ }
2833
+ }
2834
+ .sq-tooltip {
2835
+ position: absolute;
2836
+ z-index: 1070;
2837
+ display: block;
2838
+ visibility: visible;
2839
+ font-size: 12px;
2840
+ line-height: 1.4;
2841
+ opacity: 0;
2842
+ filter: alpha(opacity=0);
2843
+ }
2844
+ .sq-tooltip.sq-in {
2845
+ opacity: 0.9;
2846
+ filter: alpha(opacity=90);
2847
+ }
2848
+ .sq-tooltip.sq-top {
2849
+ margin-top: -3px;
2850
+ padding: 5px 0;
2851
+ }
2852
+ .sq-tooltip.sq-right {
2853
+ margin-left: 3px;
2854
+ padding: 0 5px;
2855
+ }
2856
+ .sq-tooltip.sq-bottom {
2857
+ margin-top: 3px;
2858
+ padding: 5px 0;
2859
+ }
2860
+ .sq-tooltip.sq-left {
2861
+ margin-left: -3px;
2862
+ padding: 0 5px;
2863
+ }
2864
+ .sq-tooltip-inner {
2865
+ max-width: 200px;
2866
+ padding: 3px 8px;
2867
+ color: #ffffff;
2868
+ text-align: center;
2869
+ text-decoration: none;
2870
+ background-color: #000000;
2871
+ border-radius: 4px;
2872
+ }
2873
+ .sq-tooltip-arrow {
2874
+ position: absolute;
2875
+ width: 0;
2876
+ height: 0;
2877
+ border-color: transparent;
2878
+ border-style: solid;
2879
+ }
2880
+ .sq-tooltip.sq-top .sq-tooltip-arrow {
2881
+ bottom: 0;
2882
+ left: 50%;
2883
+ margin-left: -5px;
2884
+ border-width: 5px 5px 0;
2885
+ border-top-color: #000000;
2886
+ }
2887
+ .sq-tooltip.sq-top-left .sq-tooltip-arrow {
2888
+ bottom: 0;
2889
+ left: 5px;
2890
+ border-width: 5px 5px 0;
2891
+ border-top-color: #000000;
2892
+ }
2893
+ .sq-tooltip.sq-top-right .sq-tooltip-arrow {
2894
+ bottom: 0;
2895
+ right: 5px;
2896
+ border-width: 5px 5px 0;
2897
+ border-top-color: #000000;
2898
+ }
2899
+ .sq-tooltip.sq-right .sq-tooltip-arrow {
2900
+ top: 50%;
2901
+ left: 0;
2902
+ margin-top: -5px;
2903
+ border-width: 5px 5px 5px 0;
2904
+ border-right-color: #000000;
2905
+ }
2906
+ .sq-tooltip.left .sq-tooltip-arrow {
2907
+ top: 50%;
2908
+ right: 0;
2909
+ margin-top: -5px;
2910
+ border-width: 5px 0 5px 5px;
2911
+ border-left-color: #000000;
2912
+ }
2913
+ .sq-tooltip.bottom .sq-tooltip-arrow {
2914
+ top: 0;
2915
+ left: 50%;
2916
+ margin-left: -5px;
2917
+ border-width: 0 5px 5px;
2918
+ border-bottom-color: #000000;
2919
+ }
2920
+ .sq-tooltip.sq-bottom-left .sq-tooltip-arrow {
2921
+ top: 0;
2922
+ left: 5px;
2923
+ border-width: 0 5px 5px;
2924
+ border-bottom-color: #000000;
2925
+ }
2926
+ .sq-tooltip.sq-bottom-right .sq-tooltip-arrow {
2927
+ top: 0;
2928
+ right: 5px;
2929
+ border-width: 0 5px 5px;
2930
+ border-bottom-color: #000000;
2931
+ }
2932
+ .sq-popover {
2933
+ position: absolute;
2934
+ top: 0;
2935
+ left: 0;
2936
+ z-index: 1060;
2937
+ display: none;
2938
+ max-width: 276px;
2939
+ padding: 1px;
2940
+ font-size: 14px;
2941
+ font-weight: normal;
2942
+ line-height: 1.42857143;
2943
+ text-align: left;
2944
+ background-color: #ffffff;
2945
+ background-clip: padding-box;
2946
+ border: 1px solid #cccccc;
2947
+ border: 1px solid rgba(0, 0, 0, 0.2);
2948
+ border-radius: 6px;
2949
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2950
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2951
+ white-space: normal;
2952
+ }
2953
+ .sq-popover.sq-top {
2954
+ margin-top: -10px;
2955
+ }
2956
+ .sq-popover.sq-right {
2957
+ margin-left: 10px;
2958
+ }
2959
+ .sq-popover.sq-bottom {
2960
+ margin-top: 10px;
2961
+ }
2962
+ .sq-popover.sq-left {
2963
+ margin-left: -10px;
2964
+ }
2965
+ .sq-popover-title {
2966
+ margin: 0;
2967
+ padding: 8px 14px;
2968
+ font-size: 14px;
2969
+ background-color: #f7f7f7;
2970
+ border-bottom: 1px solid #ebebeb;
2971
+ border-radius: 5px 5px 0 0;
2972
+ }
2973
+ .sq-popover-content {
2974
+ padding: 9px 14px;
2975
+ }
2976
+ .sq-popover > .sq-arrow,
2977
+ .sq-popover > .sq-arrow:after {
2978
+ position: absolute;
2979
+ display: block;
2980
+ width: 0;
2981
+ height: 0;
2982
+ border-color: transparent;
2983
+ border-style: solid;
2984
+ }
2985
+ .sq-popover > .sq-arrow {
2986
+ border-width: 11px;
2987
+ }
2988
+ .sq-popover > .sq-arrow:after {
2989
+ border-width: 10px;
2990
+ content: "";
2991
+ }
2992
+ .sq-popover.sq-top > .sq-arrow {
2993
+ left: 50%;
2994
+ margin-left: -11px;
2995
+ border-bottom-width: 0;
2996
+ border-top-color: #999999;
2997
+ border-top-color: rgba(0, 0, 0, 0.25);
2998
+ bottom: -11px;
2999
+ }
3000
+ .sq-popover.sq-top > .sq-arrow:after {
3001
+ content: " ";
3002
+ bottom: 1px;
3003
+ margin-left: -10px;
3004
+ border-bottom-width: 0;
3005
+ border-top-color: #ffffff;
3006
+ }
3007
+ .sq-popover.sq-right > .sq-arrow {
3008
+ top: 50%;
3009
+ left: -11px;
3010
+ margin-top: -11px;
3011
+ border-left-width: 0;
3012
+ border-right-color: #999999;
3013
+ border-right-color: rgba(0, 0, 0, 0.25);
3014
+ }
3015
+ .sq-popover.sq-right > .sq-arrow:after {
3016
+ content: " ";
3017
+ left: 1px;
3018
+ bottom: -10px;
3019
+ border-left-width: 0;
3020
+ border-right-color: #ffffff;
3021
+ }
3022
+ .sq-popover.bottom > .sq-arrow {
3023
+ left: 50%;
3024
+ margin-left: -11px;
3025
+ border-top-width: 0;
3026
+ border-bottom-color: #999999;
3027
+ border-bottom-color: rgba(0, 0, 0, 0.25);
3028
+ top: -11px;
3029
+ }
3030
+ .sq-popover.bottom > .sq-arrow:after {
3031
+ content: " ";
3032
+ top: 1px;
3033
+ margin-left: -10px;
3034
+ border-top-width: 0;
3035
+ border-bottom-color: #ffffff;
3036
+ }
3037
+ .sq-popover.left > .sq-arrow {
3038
+ top: 50%;
3039
+ right: -11px;
3040
+ margin-top: -11px;
3041
+ border-right-width: 0;
3042
+ border-left-color: #999999;
3043
+ border-left-color: rgba(0, 0, 0, 0.25);
3044
+ }
3045
+ .sq-popover.sq-left > .sq-arrow:after {
3046
+ content: " ";
3047
+ right: 1px;
3048
+ border-right-width: 0;
3049
+ border-left-color: #ffffff;
3050
+ bottom: -10px;
3051
+ }
3052
+ .sq-clearfix:before,
3053
+ .sq-clearfix:after,
3054
+ .sq-container:before,
3055
+ .sq-container:after,
3056
+ .sq-container-fluid:before,
3057
+ .sq-container-fluid:after,
3058
+ .sq-row:before,
3059
+ .sq-row:after,
3060
+ .sq-form-horizontal .sq-form-group:before,
3061
+ .sq-form-horizontal .sq-form-group:after,
3062
+ .sq-panel-body:before,
3063
+ .sq-panel-body:after,
3064
+ .sq-modal-footer:before,
3065
+ .sq-modal-footer:after {
3066
+ content: " ";
3067
+ display: table;
3068
+ }
3069
+ .sq-clearfix:after,
3070
+ .sq-container:after,
3071
+ .sq-container-fluid:after,
3072
+ .sq-row:after,
3073
+ .sq-form-horizontal .sq-form-group:after,
3074
+ .sq-panel-body:after,
3075
+ .sq-modal-footer:after {
3076
+ clear: both;
3077
+ }
3078
+ .sq-center-block {
3079
+ display: block;
3080
+ margin-left: auto;
3081
+ margin-right: auto;
3082
+ }
3083
+ .sq-pull-right {
3084
+ float: right !important;
3085
+ }
3086
+ .sq-pull-left {
3087
+ float: left !important;
3088
+ }
3089
+ .sq-hide {
3090
+ display: none !important;
3091
+ }
3092
+ .sq-show {
3093
+ display: block !important;
3094
+ }
3095
+ .sq-invisible {
3096
+ visibility: hidden;
3097
+ }
3098
+ .sq-text-hide {
3099
+ font: 0/0 a;
3100
+ color: transparent;
3101
+ text-shadow: none;
3102
+ background-color: transparent;
3103
+ border: 0;
3104
+ }
3105
+ .sq-hidden {
3106
+ display: none !important;
3107
+ visibility: hidden !important;
3108
+ }
3109
+ .sq-affix {
3110
+ position: fixed;
3111
+ }
3112
+ @-ms-viewport {
3113
+ width: device-width;
3114
+ }
3115
+ .sq-visible-xs,
3116
+ .sq-visible-sm,
3117
+ .sq-visible-md,
3118
+ .sq-visible-lg {
3119
+ display: none !important;
3120
+ }
3121
+ .sq-visible-xs-block,
3122
+ .sq-visible-xs-inline,
3123
+ .sq-visible-xs-inline-block,
3124
+ .sq-visible-sm-block,
3125
+ .sq-visible-sm-inline,
3126
+ .sq-visible-sm-inline-block,
3127
+ .sq-visible-md-block,
3128
+ .sq-visible-md-inline,
3129
+ .sq-visible-md-inline-block,
3130
+ .sq-visible-lg-block,
3131
+ .sq-visible-lg-inline,
3132
+ .sq-visible-lg-inline-block {
3133
+ display: none !important;
3134
+ }
3135
+ @media (max-width: 767px) {
3136
+ .sq-visible-xs {
3137
+ display: block !important;
3138
+ }
3139
+ table.sq-visible-xs {
3140
+ display: table;
3141
+ }
3142
+ tr.sq-visible-xs {
3143
+ display: table-row !important;
3144
+ }
3145
+ th.sq-visible-xs,
3146
+ td.sq-visible-xs {
3147
+ display: table-cell !important;
3148
+ }
3149
+ }
3150
+ @media (max-width: 767px) {
3151
+ .sq-visible-xs-block {
3152
+ display: block !important;
3153
+ }
3154
+ }
3155
+ @media (max-width: 767px) {
3156
+ .sq-visible-xs-inline {
3157
+ display: inline !important;
3158
+ }
3159
+ }
3160
+ @media (max-width: 767px) {
3161
+ .sq-visible-xs-inline-block {
3162
+ display: inline-block !important;
3163
+ }
3164
+ }
3165
+ @media (min-width: 768px) and (max-width: 991px) {
3166
+ .sq-visible-sm {
3167
+ display: block !important;
3168
+ }
3169
+ table.sq-visible-sm {
3170
+ display: table;
3171
+ }
3172
+ tr.sq-visible-sm {
3173
+ display: table-row !important;
3174
+ }
3175
+ th.sq-visible-sm,
3176
+ td.sq-visible-sm {
3177
+ display: table-cell !important;
3178
+ }
3179
+ }
3180
+ @media (min-width: 768px) and (max-width: 991px) {
3181
+ .sq-visible-sm-block {
3182
+ display: block !important;
3183
+ }
3184
+ }
3185
+ @media (min-width: 768px) and (max-width: 991px) {
3186
+ .sq-visible-sm-inline {
3187
+ display: inline !important;
3188
+ }
3189
+ }
3190
+ @media (min-width: 768px) and (max-width: 991px) {
3191
+ .sq-visible-sm-inline-block {
3192
+ display: inline-block !important;
3193
+ }
3194
+ }
3195
+ @media (min-width: 992px) and (max-width: 1199px) {
3196
+ .sq-visible-md {
3197
+ display: block !important;
3198
+ }
3199
+ table.sq-visible-md {
3200
+ display: table;
3201
+ }
3202
+ tr.sq-visible-md {
3203
+ display: table-row !important;
3204
+ }
3205
+ th.sq-visible-md,
3206
+ td.sq-visible-md {
3207
+ display: table-cell !important;
3208
+ }
3209
+ }
3210
+ @media (min-width: 992px) and (max-width: 1199px) {
3211
+ .sq-visible-md-block {
3212
+ display: block !important;
3213
+ }
3214
+ }
3215
+ @media (min-width: 992px) and (max-width: 1199px) {
3216
+ .sq-visible-md-inline {
3217
+ display: inline !important;
3218
+ }
3219
+ }
3220
+ @media (min-width: 992px) and (max-width: 1199px) {
3221
+ .sq-visible-md-inline-block {
3222
+ display: inline-block !important;
3223
+ }
3224
+ }
3225
+ @media (min-width: 1200px) {
3226
+ .sq-visible-lg {
3227
+ display: block !important;
3228
+ }
3229
+ table.sq-visible-lg {
3230
+ display: table;
3231
+ }
3232
+ tr.sq-visible-lg {
3233
+ display: table-row !important;
3234
+ }
3235
+ th.sq-visible-lg,
3236
+ td.sq-visible-lg {
3237
+ display: table-cell !important;
3238
+ }
3239
+ }
3240
+ @media (min-width: 1200px) {
3241
+ .sq-visible-lg-block {
3242
+ display: block !important;
3243
+ }
3244
+ }
3245
+ @media (min-width: 1200px) {
3246
+ .sq-visible-lg-inline {
3247
+ display: inline !important;
3248
+ }
3249
+ }
3250
+ @media (min-width: 1200px) {
3251
+ .sq-visible-lg-inline-block {
3252
+ display: inline-block !important;
3253
+ }
3254
+ }
3255
+ @media (max-width: 767px) {
3256
+ .sq-hidden-xs {
3257
+ display: none !important;
3258
+ }
3259
+ }
3260
+ @media (min-width: 768px) and (max-width: 991px) {
3261
+ .sq-hidden-sm {
3262
+ display: none !important;
3263
+ }
3264
+ }
3265
+ @media (min-width: 992px) and (max-width: 1199px) {
3266
+ .sq-hidden-md {
3267
+ display: none !important;
3268
+ }
3269
+ }
3270
+ @media (min-width: 1200px) {
3271
+ .sq-hidden-lg {
3272
+ display: none !important;
3273
+ }
3274
+ }
3275
+ .sq-visible-print {
3276
+ display: none !important;
3277
+ }
3278
+ @media print {
3279
+ .sq-visible-print {
3280
+ display: block !important;
3281
+ }
3282
+ table.sq-visible-print {
3283
+ display: table;
3284
+ }
3285
+ tr.sq-visible-print {
3286
+ display: table-row !important;
3287
+ }
3288
+ th.sq-visible-print,
3289
+ td.sq-visible-print {
3290
+ display: table-cell !important;
3291
+ }
3292
+ }
3293
+ .sq-visible-print-block {
3294
+ display: none !important;
3295
+ }
3296
+ @media print {
3297
+ .sq-visible-print-block {
3298
+ display: block !important;
3299
+ }
3300
+ }
3301
+ .sq-visible-print-inline {
3302
+ display: none !important;
3303
+ }
3304
+ @media print {
3305
+ .sq-visible-print-inline {
3306
+ display: inline !important;
3307
+ }
3308
+ }
3309
+ .sq-visible-print-inline-block {
3310
+ display: none !important;
3311
+ }
3312
+ @media print {
3313
+ .sq-visible-print-inline-block {
3314
+ display: inline-block !important;
3315
+ }
3316
+ }
3317
+ @media print {
3318
+ .sq-hidden-print {
3319
+ display: none !important;
3320
+ }
3321
+ }
skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.eot ADDED
Binary file
skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.svg ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata></metadata>
5
+ <defs>
6
+ <font id="dejavu_sanscondensed_bold" horiz-adv-x="1282" >
7
+ <font-face units-per-em="2048" ascent="1556" descent="-492" />
8
+ <missing-glyph horiz-adv-x="641" />
9
+ <glyph unicode="&#xfb01;" horiz-adv-x="1366" d="M39 864v256h158v78q0 183 92 270.5t284 87.5h247v-235h-178q-68 0 -94 -27.5t-26 -95.5v-78h689v-1120h-325v864h-364v-864h-325v864h-158zM886 1264v292h325v-292h-325z" />
10
+ <glyph unicode="&#xfb02;" horiz-adv-x="1366" d="M35 864v256h160v78q0 183 92 270.5t285 87.5h639v-1556h-325v1321h-246q-68 0 -95 -27.5t-27 -95.5v-78h252v-256h-252v-864h-323v864h-160z" />
11
+ <glyph unicode="&#xfb03;" horiz-adv-x="2055" d="M35 864v256h160v78q0 183 92 270q92 88 285 88h246v-235h-178q-68 0 -96 -27q-26 -28 -26 -96v-78h368v78q0 183 92 270q92 88 285 88h246v-235h-178q-67 0 -93 -27q-27 -28 -27 -96v-78h690v-1120h-325v864h-365v-864h-2h-323v864h-368v-864h-323v864h-160zM1576 1264 v292h325v-292h-325z" />
12
+ <glyph unicode="&#xfb04;" horiz-adv-x="2057" d="M35 864v256h160v78q0 183 92 270q92 88 285 88h246v-235h-178q-68 0 -96 -27q-26 -28 -26 -96v-78h368v78q0 183 92 270q92 88 285 88h640v-1556h-325v1321h-247q-68 0 -95 -27q-27 -28 -27 -96v-78h253v-256h-253v-864h-323v864h-368v-864h-323v864h-160z" />
13
+ <glyph horiz-adv-x="2048" />
14
+ <glyph horiz-adv-x="2048" />
15
+ <glyph unicode="&#xd;" horiz-adv-x="682" />
16
+ <glyph unicode=" " horiz-adv-x="641" />
17
+ <glyph unicode="&#x09;" horiz-adv-x="641" />
18
+ <glyph unicode="&#xa0;" horiz-adv-x="641" />
19
+ <glyph unicode="!" horiz-adv-x="840" d="M258 0v356h324v-356h-324zM258 920v573h324v-573l-46 -418h-232z" />
20
+ <glyph unicode="&#x22;" horiz-adv-x="960" d="M176 938v555h213v-555h-213zM572 938v555h213v-555h-213z" />
21
+ <glyph unicode="#" horiz-adv-x="1544" d="M125 383v215h295l63 274h-254v213h304l86 385h201l-86 -385h237l87 385h199l-87 -385h249v-213h-297l-62 -274h256v-215h-303l-86 -383h-199l86 383h-237l-87 -383h-200l86 383h-251zM621 598h238l63 274h-238z" />
22
+ <glyph unicode="$" d="M144 936q0 179 110 279.5t315 109.5l1 231h146v-227q90 -8 180 -25t180 -44v-254q-90 42 -180 65.5t-180 28.5v-287l28 -6q229 -40 321 -133.5t92 -276.5q0 -184 -109.5 -282.5t-331.5 -112.5v-303h-146l-1 301q-113 5 -218 28t-205 64v262q103 -59 209 -90.5t215 -35.5 v311l-30 6q-215 42 -305.5 132t-90.5 259zM429 971q0 -59 35.5 -92.5t105.5 -42.5v261q-64 -4 -102.5 -38.5t-38.5 -87.5zM716 232q78 1 117 34t39 99q0 68 -36 101.5t-120 43.5v-278z" />
23
+ <glyph unicode="%" horiz-adv-x="1846" d="M59 1114q0 189 96 297.5t263 108.5q168 0 264 -108.5t96 -297.5t-96 -298t-264 -109q-167 0 -263 109t-96 298zM284 1114q0 -115 35 -177.5t99 -62.5q65 0 100 62.5t35 177.5q0 114 -35.5 176t-99.5 62t-99 -62t-35 -176zM404 -29l840 1549h200l-841 -1549h-199z M1067 379q0 188 97 296.5t264 108.5q168 0 264 -108t96 -297t-96 -298.5t-264 -109.5q-167 0 -264 109.5t-97 298.5zM1294 379q0 -115 35 -176.5t99 -61.5q65 0 99.5 61.5t34.5 176.5q0 114 -35 175.5t-99 61.5t-99 -61.5t-35 -175.5z" />
24
+ <glyph unicode="&#x26;" horiz-adv-x="1607" d="M111 467q0 146 64 258.5t210 218.5q-38 53 -56 106t-18 111q0 163 114.5 261t304.5 98q82 0 170.5 -14.5t184.5 -43.5v-278q-84 48 -159.5 71t-147.5 23q-70 0 -108 -29.5t-38 -83.5q0 -34 22 -77.5t65 -96.5l368 -450q48 70 72.5 157t29.5 197h280q-14 -182 -64 -324 t-139 -249l264 -322h-382l-88 109q-94 -70 -198.5 -104t-221.5 -34q-237 0 -383 138.5t-146 357.5zM422 506q0 -115 76.5 -196t183.5 -81q60 0 112.5 20.5t97.5 61.5l-352 432q-58 -47 -88 -106.5t-30 -130.5z" />
25
+ <glyph unicode="'" horiz-adv-x="564" d="M176 938v555h213v-555h-213z" />
26
+ <glyph unicode="(" horiz-adv-x="842" d="M158 641q0 219 66.5 443.5t203.5 469.5h267q-115 -237 -173 -463.5t-58 -447.5t57.5 -448t173.5 -465h-267q-138 247 -204 469.5t-66 441.5z" />
27
+ <glyph unicode=")" horiz-adv-x="842" d="M148 -270q115 238 172.5 465t57.5 448t-57.5 447.5t-172.5 463.5h267q137 -245 203 -469.5t66 -443.5t-65.5 -441.5t-203.5 -469.5h-267z" />
28
+ <glyph unicode="*" horiz-adv-x="963" d="M37 870l301 174l-301 173l68 141l301 -182v344h153v-344l300 182l68 -141l-297 -173l297 -174l-68 -141l-300 184v-344h-153v344l-301 -184z" />
29
+ <glyph unicode="+" horiz-adv-x="1544" d="M195 524v236h470v524h214v-524h470v-236h-470v-524h-214v524h-470z" />
30
+ <glyph unicode="," horiz-adv-x="700" d="M98 -291l90 373v305h324v-305l-222 -373h-192z" />
31
+ <glyph unicode="-" horiz-adv-x="765" d="M100 444v291h565v-291h-565z" />
32
+ <glyph unicode="." horiz-adv-x="700" d="M188 0v387h324v-387h-324z" />
33
+ <glyph unicode="/" horiz-adv-x="673" d="M0 -190l473 1683h200l-474 -1683h-199z" />
34
+ <glyph unicode="0" d="M88 745q0 372 144 573.5t410 201.5q264 0 408 -201.5t144 -573.5q0 -371 -144 -572.5t-408 -201.5q-266 0 -410 201.5t-144 572.5zM435 748q0 -283 47.5 -399t159.5 -116q110 0 158 116t48 399q0 280 -47.5 394.5t-158.5 114.5q-112 0 -159.5 -114.5t-47.5 -394.5z" />
35
+ <glyph unicode="1" d="M208 1159v262l312 72h330v-1227h306v-266h-940v266h306v965z" />
36
+ <glyph unicode="2" d="M146 0v283l490 481q66 66 97.5 129t31.5 131q0 105 -63.5 169t-168.5 64q-81 0 -177.5 -38.5t-206.5 -114.5v328q117 43 231.5 65.5t224.5 22.5q241 0 374.5 -118t133.5 -329q0 -122 -56.5 -227.5t-238.5 -282.5l-287 -280h591v-283h-976z" />
37
+ <glyph unicode="3" d="M123 45v297q97 -54 193 -81.5t189 -27.5q138 0 211 53t73 152q0 102 -75 154.5t-222 52.5h-138v248h146q130 0 194 45.5t64 138.5q0 86 -62 133t-176 47q-84 0 -169 -21t-170 -62v282q103 32 203.5 48t197.5 16q262 0 392 -95.5t130 -287.5q0 -131 -62 -214.5 t-183 -117.5q135 -39 206 -135.5t71 -245.5q0 -222 -153 -337.5t-447 -115.5q-103 0 -207 18.5t-206 55.5z" />
38
+ <glyph unicode="4" d="M83 272v330l538 891h385v-942h192v-279h-192v-272h-327v272h-596zM299 551h380v625z" />
39
+ <glyph unicode="5" d="M142 70v303q110 -70 208.5 -105t185.5 -35q126 0 198.5 68.5t72.5 185.5q0 118 -72.5 186t-198.5 68q-74 0 -159 -21.5t-182 -66.5v840h862v-283h-585v-231q39 12 79 18.5t83 6.5q246 0 383 -136.5t137 -380.5q0 -242 -149 -379t-414 -137q-114 0 -226 24.5t-223 74.5z " />
40
+ <glyph unicode="6" d="M114 725q0 370 168 581.5t460 211.5q93 0 180.5 -16t172.5 -48v-276q-85 45 -160.5 66.5t-147.5 21.5q-155 0 -241.5 -95.5t-100.5 -283.5q59 49 128.5 73.5t150.5 24.5q207 0 333.5 -134t126.5 -351q0 -240 -141.5 -384.5t-379.5 -144.5q-262 0 -405.5 196.5 t-143.5 557.5zM485 475q0 -131 45.5 -196.5t136.5 -65.5q92 0 137.5 65.5t45.5 196.5t-45.5 196.5t-137.5 65.5q-91 0 -136.5 -65.5t-45.5 -196.5z" />
41
+ <glyph unicode="7" d="M123 1210v283h1013v-217l-524 -1276h-338l496 1210h-647z" />
42
+ <glyph unicode="8" d="M112 420q0 144 70 238.5t207 136.5q-123 41 -185 126t-62 212q0 189 127 288t373 99q244 0 370.5 -98.5t126.5 -288.5q0 -127 -62.5 -212t-184.5 -126q137 -42 206.5 -136.5t69.5 -238.5q0 -222 -132.5 -335.5t-393.5 -113.5q-262 0 -396 113.5t-134 335.5zM440 440 q0 -110 52 -168.5t150 -58.5q96 0 147.5 58.5t51.5 168.5q0 111 -51.5 169.5t-147.5 58.5q-98 0 -150 -59t-52 -169zM470 1094q0 -89 44.5 -137t127.5 -48q81 0 125 48t44 137t-44 136.5t-125 47.5q-83 0 -127.5 -48t-44.5 -136z" />
43
+ <glyph unicode="9" d="M95 987q0 241 141 386t378 145q263 0 407 -197t144 -557q0 -370 -168.5 -581.5t-461.5 -211.5q-95 0 -181.5 15.5t-169.5 46.5v276q83 -43 158.5 -64.5t149.5 -21.5q155 0 241.5 95.5t101.5 283.5q-61 -50 -130.5 -75t-150.5 -25q-206 0 -332.5 133.5t-126.5 351.5z M429 1014q0 -131 46 -196.5t137 -65.5t137 65.5t46 196.5q0 130 -46 196t-137 66t-137 -66t-46 -196z" />
44
+ <glyph unicode=":" horiz-adv-x="737" d="M206 0v387h325v-387h-325zM206 733v387h325v-387h-325z" />
45
+ <glyph unicode=";" horiz-adv-x="737" d="M116 -291l90 373v305h325v-305l-223 -373h-192zM206 733v387h325v-387h-325z" />
46
+ <glyph unicode="&#x3c;" horiz-adv-x="1544" d="M195 524v236l1154 463v-250l-867 -332l867 -330v-250z" />
47
+ <glyph unicode="=" horiz-adv-x="1544" d="M195 295v237h1154v-237h-1154zM195 752v235h1154v-235h-1154z" />
48
+ <glyph unicode="&#x3e;" horiz-adv-x="1544" d="M195 61v250l869 330l-869 332v250l1154 -463v-236z" />
49
+ <glyph unicode="?" horiz-adv-x="1069" d="M127 1124v314q109 42 199 62t174 20q219 0 334.5 -99.5t115.5 -290.5q0 -98 -35.5 -175.5t-119.5 -166.5l-58 -57q-61 -62 -80 -99.5t-19 -82.5v-45h-325v49q0 82 30 145.5t125 161.5l58 58q51 52 75 98t24 92q0 70 -43.5 109.5t-120.5 39.5q-73 0 -157.5 -33.5 t-176.5 -99.5zM313 0v356h325v-356h-325z" />
50
+ <glyph unicode="@" horiz-adv-x="1843" d="M122 543q0 182 61 347t174 290q114 124 264.5 192t312.5 68q202 0 366.5 -85.5t275.5 -246.5q67 -98 102 -212.5t35 -240.5q0 -271 -147 -421t-414 -150h-35v154q-27 -71 -87 -110.5t-140 -39.5q-155 0 -251.5 124.5t-96.5 324.5t97 325t251 125q80 0 140 -40t87 -111 v131h188v-693q112 19 175.5 119.5t63.5 257.5q0 100 -26 187.5t-79 160.5q-85 122 -213.5 188t-277.5 66q-105 0 -200.5 -30.5t-175.5 -89.5q-134 -98 -208 -253.5t-74 -336.5q0 -149 48 -279.5t139 -230.5q90 -98 206.5 -149.5t248.5 -51.5q114 0 227.5 47t193.5 127 l96 -162q-113 -97 -245.5 -148.5t-269.5 -51.5q-166 0 -314 65.5t-263 190.5t-175 289.5t-60 353.5zM748 539q0 -123 47 -194t128 -71t128.5 71.5t47.5 193.5q0 121 -48 191.5t-129 70.5q-80 0 -127 -70.5t-47 -191.5z" />
51
+ <glyph unicode="A" horiz-adv-x="1426" d="M9 0l498 1493h413l498 -1493h-349l-84 272h-542l-86 -272h-348zM529 549h368l-183 594z" />
52
+ <glyph unicode="B" horiz-adv-x="1404" d="M169 0v1493h520q280 0 405.5 -94t125.5 -301q0 -109 -45.5 -185.5t-133.5 -113.5q112 -36 173 -133t61 -238q0 -216 -131.5 -322t-399.5 -106h-575zM516 262h203q105 0 157.5 49t52.5 148q0 97 -52.5 145.5t-157.5 48.5h-203v-391zM516 915h191q82 0 124.5 40t42.5 118 q0 77 -42.5 117.5t-124.5 40.5h-191v-316z" />
53
+ <glyph unicode="C" horiz-adv-x="1352" d="M92 745q0 358 196 566.5t532 208.5q112 0 215.5 -28t199.5 -83v-309q-97 73 -190.5 107t-196.5 34q-186 0 -292 -132t-106 -364q0 -231 106 -363t292 -132q103 0 196.5 34t190.5 107v-309q-96 -55 -199.5 -83t-215.5 -28q-336 0 -532 208.5t-196 565.5z" />
54
+ <glyph unicode="D" horiz-adv-x="1530" d="M169 0v1493h366q306 0 455.5 -48.5t256.5 -164.5q95 -101 141 -233t46 -299q0 -169 -46 -301.5t-141 -233.5q-108 -116 -259 -164.5t-453 -48.5h-366zM516 291h124q212 0 324 117t112 340q0 222 -111.5 338t-324.5 116h-124v-911z" />
55
+ <glyph unicode="E" horiz-adv-x="1259" d="M169 0v1493h935v-291h-588v-278h553v-291h-553v-342h608v-291h-955z" />
56
+ <glyph unicode="F" horiz-adv-x="1259" d="M169 0v1493h935v-291h-588v-278h553v-291h-553v-633h-347z" />
57
+ <glyph unicode="G" horiz-adv-x="1512" d="M92 745q0 361 199.5 568t547.5 207q134 0 257 -28t232 -83v-309q-113 71 -224 106t-223 35q-207 0 -319 -128.5t-112 -367.5q0 -237 108 -366t307 -129q54 0 100.5 7.5t82.5 23.5v290h-211v258h540v-718q-130 -70 -269.5 -105t-287.5 -35q-336 0 -532 208.5t-196 565.5z " />
58
+ <glyph unicode="H" horiz-adv-x="1542" d="M169 0v1493h347v-569h511v569h346v-1493h-346v633h-511v-633h-347z" />
59
+ <glyph unicode="I" horiz-adv-x="685" d="M169 0v1493h347v-1493h-347z" />
60
+ <glyph unicode="J" horiz-adv-x="685" d="M-104 -119h54q108 0 163.5 67t55.5 197v1348h347v-1348q0 -279 -136.5 -417t-412.5 -138h-71v291z" />
61
+ <glyph unicode="K" horiz-adv-x="1428" d="M169 0v1493h347v-545l499 545h403l-648 -707l714 -786h-434l-534 588v-588h-347z" />
62
+ <glyph unicode="L" horiz-adv-x="1174" d="M169 0v1493h347v-1202h608v-291h-955z" />
63
+ <glyph unicode="M" horiz-adv-x="1834" d="M169 0v1493h441l306 -799l308 799h440v-1493h-328v1092l-309 -805h-220l-309 805v-1092h-329z" />
64
+ <glyph unicode="N" horiz-adv-x="1542" d="M169 0v1493h387l489 -1024v1024h328v-1493h-387l-488 1024v-1024h-329z" />
65
+ <glyph unicode="O" horiz-adv-x="1566" d="M92 745q0 363 184 569t507 206q324 0 507.5 -206t183.5 -569q0 -362 -183.5 -568t-507.5 -206q-323 0 -507 206t-184 568zM450 745q0 -235 87.5 -365t245.5 -130q159 0 246.5 130t87.5 365q0 236 -87.5 366t-246.5 130q-158 0 -245.5 -130t-87.5 -366z" />
66
+ <glyph unicode="P" horiz-adv-x="1350" d="M169 0v1493h575q257 0 394 -126.5t137 -360.5q0 -235 -137 -361.5t-394 -126.5h-228v-518h-347zM516 797h191q101 0 156 54.5t55 154.5t-55 154t-156 54h-191v-417z" />
67
+ <glyph unicode="Q" horiz-adv-x="1566" d="M92 745q0 363 184 569t507 206q327 0 509 -204t182 -571q0 -252 -96.5 -434t-278.5 -274l271 -336h-330l-220 272h-27q-332 0 -516.5 204t-184.5 568zM450 745q0 -240 85.5 -367.5t247.5 -127.5q159 0 246.5 130t87.5 365q0 236 -87.5 366t-246.5 130q-158 0 -245.5 -130 t-87.5 -366z" />
68
+ <glyph unicode="R" horiz-adv-x="1419" d="M169 0v1493h529q266 0 389.5 -99t123.5 -313q0 -148 -64 -243t-194 -140q71 -18 127.5 -81.5t113.5 -192.5l188 -424h-369l-163 371q-50 112 -101 153t-135 41h-98v-565h-347zM516 831h146q108 0 155.5 45t47.5 148q0 102 -47.5 146t-155.5 44h-146v-383z" />
69
+ <glyph unicode="S" horiz-adv-x="1327" d="M132 1057q0 223 130 343t372 120q111 0 228 -18.5t242 -55.5v-316q-110 55 -215.5 83t-199.5 28q-124 0 -183.5 -38t-59.5 -118q0 -60 40 -93.5t146 -57.5l147 -33q225 -50 319 -152t94 -290q0 -247 -131.5 -367.5t-402.5 -120.5q-128 0 -256.5 27t-257.5 80v325 q129 -76 249 -114.5t232 -38.5q113 0 173.5 42t60.5 120q0 70 -41 108t-164 68l-134 33q-201 48 -294.5 153t-93.5 283z" />
70
+ <glyph unicode="T" horiz-adv-x="1257" d="M9 1202v291h1238v-291h-445v-1202h-347v1202h-446z" />
71
+ <glyph unicode="U" horiz-adv-x="1496" d="M169 598v895h347v-895q0 -185 54.5 -264.5t177.5 -79.5q124 0 178.5 79.5t54.5 264.5v895h347v-895q0 -317 -143.5 -472t-436.5 -155t-436 155t-143 472z" />
72
+ <glyph unicode="V" horiz-adv-x="1426" d="M9 1493h348l357 -1102l355 1102h349l-498 -1493h-413z" />
73
+ <glyph unicode="W" horiz-adv-x="2033" d="M55 1493h332l232 -1085l231 1085h334l230 -1085l232 1085h330l-317 -1493h-400l-244 1135l-241 -1135h-400z" />
74
+ <glyph unicode="X" horiz-adv-x="1421" d="M35 0l466 762l-448 731h362l294 -481l294 481h363l-448 -731l466 -762h-361l-314 510l-311 -510h-363z" />
75
+ <glyph unicode="Y" horiz-adv-x="1334" d="M-18 1493h379l306 -532l306 532h380l-512 -864v-629h-347v629z" />
76
+ <glyph unicode="Z" horiz-adv-x="1336" d="M83 0v233l721 969h-700v291h1129v-233l-721 -969h742v-291h-1171z" />
77
+ <glyph unicode="[" horiz-adv-x="842" d="M158 -270v1826h559v-225h-253v-1376h253v-225h-559z" />
78
+ <glyph unicode="\" horiz-adv-x="673" d="M0 1493h199l474 -1683h-200z" />
79
+ <glyph unicode="]" horiz-adv-x="842" d="M125 -45h253v1376h-253v225h559v-1826h-559v225z" />
80
+ <glyph unicode="^" horiz-adv-x="1544" d="M186 936l476 557h221l475 -557h-217l-369 301l-368 -301h-218z" />
81
+ <glyph unicode="_" horiz-adv-x="921" d="M0 -293h922v-190h-922v190z" />
82
+ <glyph unicode="`" horiz-adv-x="921" d="M85 1638h254l254 -376h-176z" />
83
+ <glyph unicode="a" horiz-adv-x="1243" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q104 28 208.5 42.5t208.5 14.5q273 0 394 -119.5t121 -388.5v-639h-325v166q-65 -102 -146 -148.5t-197 -46.5q-157 0 -254.5 101.5t-97.5 263.5zM404 354 q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41h-167q-101 0 -152 -38t-51 -112z" />
84
+ <glyph unicode="b" horiz-adv-x="1319" d="M155 0v1556h322v-600q67 98 148 144.5t186 46.5q186 0 306 -164.5t120 -423.5t-120 -423.5t-306 -164.5q-105 0 -186 46.5t-148 144.5v-162h-322zM477 559q0 -159 55.5 -243.5t158.5 -84.5q104 0 158.5 84t54.5 244t-54.5 244t-158.5 84q-103 0 -158.5 -84.5 t-55.5 -243.5z" />
85
+ <glyph unicode="c" horiz-adv-x="1092" d="M79 559q0 277 154 432.5t427 155.5q79 0 156 -15.5t153 -46.5v-292q-65 50 -131.5 74t-137.5 24q-135 0 -210 -87.5t-75 -244.5t75 -244.5t210 -87.5q76 0 144 25t125 74v-293q-75 -31 -153 -46.5t-156 -15.5q-273 0 -427 155.5t-154 432.5z" />
86
+ <glyph unicode="d" horiz-adv-x="1319" d="M83 559q0 259 119.5 423.5t305.5 164.5q105 0 185.5 -46.5t147.5 -144.5v600h324v-1556h-324v162q-67 -99 -147 -145t-186 -46q-186 0 -305.5 164.5t-119.5 423.5zM417 559q0 -160 54.5 -244t156.5 -84q104 0 158.5 84t54.5 244t-54.5 244t-158.5 84q-102 0 -156.5 -84 t-54.5 -244z" />
87
+ <glyph unicode="e" horiz-adv-x="1250" d="M79 559q0 274 149 431t410 157q238 0 380.5 -159t142.5 -425v-102h-753q11 -126 81.5 -189t196.5 -63q102 0 208.5 33.5t218.5 101.5v-276q-114 -48 -228.5 -72.5t-228.5 -24.5q-274 0 -425.5 154.5t-151.5 433.5zM411 682h419q0 102 -53.5 164.5t-140.5 62.5 q-93 0 -151.5 -58.5t-73.5 -168.5z" />
88
+ <glyph unicode="f" horiz-adv-x="801" d="M35 864v256h160v78q0 183 92 270.5t285 87.5h246v-235h-178q-68 0 -95 -27.5t-27 -95.5v-78h275v-256h-275v-864h-323v864h-160z" />
89
+ <glyph unicode="g" horiz-adv-x="1319" d="M83 573q0 251 120.5 411.5t304.5 160.5q106 0 186 -46t147 -145v166h324v-1007q0 -270 -153.5 -412.5t-445.5 -142.5q-94 0 -182.5 16t-177.5 49v279q85 -54 166 -80.5t163 -26.5q158 0 232 77t74 241v77q-67 -98 -147 -144t-186 -46q-184 0 -304.5 161.5t-120.5 411.5z M417 573q0 -154 54 -233.5t157 -79.5q101 0 157 82t56 231q0 150 -56 232t-157 82q-100 0 -155.5 -82t-55.5 -232z" />
90
+ <glyph unicode="h" horiz-adv-x="1312" d="M155 0v1556h322v-600q73 98 155 144.5t181 46.5q174 0 264.5 -119t90.5 -346v-682h-324v111v409q0 147 -6 202t-20 81q-19 35 -51.5 54.5t-73.5 19.5q-101 0 -158.5 -86.5t-57.5 -239.5v-551h-322z" />
91
+ <glyph unicode="i" horiz-adv-x="631" d="M155 0v1120h322v-1120h-322zM155 1264v292h322v-292h-322z" />
92
+ <glyph unicode="j" horiz-adv-x="631" d="M-61 -207h56q91 0 125.5 46t34.5 181v1100h322v-1100q0 -225 -97 -343.5t-282 -118.5h-159v235zM155 1264v292h322v-292h-322z" />
93
+ <glyph unicode="k" horiz-adv-x="1225" d="M155 0v1556h322v-847l371 411h374l-492 -514l531 -606h-391l-393 467v-467h-322z" />
94
+ <glyph unicode="l" horiz-adv-x="631" d="M155 0v1556h322v-1556h-322z" />
95
+ <glyph unicode="m" horiz-adv-x="1920" d="M153 0v1120h324v-164q59 95 136 143t170 48q104 0 184.5 -56t121.5 -157q61 104 145 158.5t185 54.5q174 0 265 -119t91 -346v-682h-324v584q1 13 1.5 27t0.5 40q0 119 -31.5 172.5t-102.5 53.5q-91 0 -141 -84t-52 -243v-550h-324v584q0 186 -29 239.5t-103 53.5 q-92 0 -142.5 -84.5t-50.5 -241.5v-551h-324z" />
96
+ <glyph unicode="n" horiz-adv-x="1312" d="M155 0v1120h322v-164q73 98 155 144.5t181 46.5q174 0 264.5 -119t90.5 -346v-682h-324v111v411q0 145 -6 200t-20 81q-19 35 -51.5 54.5t-73.5 19.5q-101 0 -158.5 -86.5t-57.5 -239.5v-551h-322z" />
97
+ <glyph unicode="o" horiz-adv-x="1266" d="M79 559q0 276 147.5 432t407.5 156q261 0 407 -156t146 -432t-146 -432t-407 -156q-260 0 -407.5 156t-147.5 432zM415 559q0 -161 56 -246.5t163 -85.5q106 0 161.5 85.5t55.5 246.5t-55.5 246.5t-161.5 85.5q-107 0 -163 -85.5t-56 -246.5z" />
98
+ <glyph unicode="p" horiz-adv-x="1319" d="M155 -426v1546h322v-164q67 98 148 144.5t186 46.5q186 0 306 -164.5t120 -423.5t-120 -423.5t-306 -164.5q-105 0 -186 46.5t-148 144.5v-588h-322zM477 559q0 -159 55.5 -243.5t158.5 -84.5q104 0 158.5 84t54.5 244t-54.5 244t-158.5 84q-103 0 -158.5 -84.5 t-55.5 -243.5z" />
99
+ <glyph unicode="q" horiz-adv-x="1319" d="M83 559q0 259 119.5 422.5t305.5 163.5q106 0 186 -46t147 -145v166h324v-1546h-324v588q-67 -99 -147 -145t-186 -46q-186 0 -305.5 164.5t-119.5 423.5zM417 559q0 -160 54.5 -244t156.5 -84q104 0 158.5 84t54.5 244t-54.5 244t-158.5 84q-102 0 -156.5 -84 t-54.5 -244z" />
100
+ <glyph unicode="r" horiz-adv-x="909" d="M155 0v1120h322v-184q62 110 142.5 160.5t193.5 50.5q16 0 35 -1.5t55 -6.5l1 -324q-43 22 -84.5 32.5t-84.5 10.5q-124 0 -191 -88.5t-67 -253.5v-516h-322z" />
101
+ <glyph unicode="s" horiz-adv-x="1097" d="M95 797q0 178 110 264t337 86q89 0 187 -15t213 -47v-272q-103 48 -199.5 72t-181.5 24q-92 0 -136.5 -25.5t-44.5 -78.5q0 -43 33.5 -66t121.5 -34l56 -9q248 -35 333.5 -115t85.5 -251q0 -179 -119 -269t-355 -90q-100 0 -206.5 17.5t-218.5 52.5v272q96 -52 197.5 -78 t205.5 -26q94 0 142 29t48 86q0 48 -33 71.5t-131 36.5l-57 8q-215 30 -301.5 111t-86.5 246z" />
102
+ <glyph unicode="t" horiz-adv-x="881" d="M24 864v256h160v318h323v-318h332v-256h-332v-475q0 -78 27.5 -105.5t110.5 -27.5h166v-256h-276q-191 0 -271 88.5t-80 300.5v475h-160z" />
103
+ <glyph unicode="u" horiz-adv-x="1312" d="M144 436v684h324v-112q0 -91 -1 -228.5t-1 -183.5q0 -135 6.5 -194.5t21.5 -86.5q20 -35 52 -54t73 -19q101 0 158.5 86t57.5 239v553h322v-1120h-322v162q-73 -98 -154.5 -144.5t-179.5 -46.5q-174 0 -265.5 119t-91.5 346z" />
104
+ <glyph unicode="v" horiz-adv-x="1201" d="M28 1120h322l251 -774l250 774h323l-396 -1120h-354z" />
105
+ <glyph unicode="w" horiz-adv-x="1702" d="M65 1120h313l169 -772l170 772h269l170 -764l170 764h313l-266 -1120h-351l-171 770l-169 -770h-352z" />
106
+ <glyph unicode="x" horiz-adv-x="1188" d="M28 0l382 573l-364 547h341l206 -332l209 332h341l-364 -545l382 -575h-341l-227 354l-224 -354h-341z" />
107
+ <glyph unicode="y" horiz-adv-x="1201" d="M22 1120h323l271 -760l230 760h322l-424 -1226q-64 -187 -149 -261.5t-224 -74.5h-187v235h101q82 0 119.5 29t58.5 104l9 31z" />
108
+ <glyph unicode="z" horiz-adv-x="1072" d="M83 0v250l531 614h-509v256h880v-250l-531 -614h531v-256h-902z" />
109
+ <glyph unicode="{" horiz-adv-x="1312" d="M230 494v223h55q128 0 176.5 58t48.5 208v205q0 193 90 280.5t286 87.5h196v-225h-62q-127 0 -165.5 -43.5t-38.5 -185.5v-166q0 -157 -40.5 -228t-139.5 -96q100 -27 140 -98t40 -227v-166q0 -143 38.5 -186.5t165.5 -43.5h62v-225h-196q-196 0 -286 88t-90 281v192 q0 150 -48.5 208.5t-176.5 58.5h-55z" />
110
+ <glyph unicode="|" horiz-adv-x="673" d="M234 -483v2048h204v-2048h-204z" />
111
+ <glyph unicode="}" horiz-adv-x="1312" d="M230 -109h63q126 0 164.5 43.5t38.5 186.5v166q0 156 40.5 227t140.5 98q-100 25 -140.5 96t-40.5 228v166q0 142 -38.5 185.5t-164.5 43.5h-63v225h196q196 0 286 -87.5t90 -280.5v-205q0 -150 48.5 -208t176.5 -58h55v-223h-55q-128 0 -176.5 -58.5t-48.5 -208.5v-192 q0 -193 -90 -281t-286 -88h-196v225z" />
112
+ <glyph unicode="~" horiz-adv-x="1544" d="M195 434v244q97 80 177 114.5t166 34.5q96 0 225 -58q14 -6 20 -9t20 -9q139 -61 224 -61q77 0 153 37.5t169 122.5v-244q-95 -80 -175.5 -114.5t-167.5 -34.5q-96 0 -225 58q-12 6 -20 9q-6 3 -19 9q-140 61 -224 61q-80 0 -157 -38.5t-166 -121.5z" />
113
+ <glyph unicode="&#xa1;" horiz-adv-x="840" d="M258 0v573l46 418h232l46 -418v-573h-324zM258 1137v356h324v-356h-324z" />
114
+ <glyph unicode="&#xa2;" d="M157 575q0 244 121.5 389.5t353.5 180.5v287h146v-287q64 -3 130.5 -17.5t136.5 -42.5v-292q-67 48 -131 73t-123 25h-13v-663q80 1 148 26t119 72v-293q-75 -30 -140.5 -46t-117.5 -16h-9v-284h-146v288q-236 40 -355.5 191t-119.5 409zM492 559q0 -109 35 -183 t105 -116v598q-70 -44 -105 -117.5t-35 -181.5z" />
115
+ <glyph unicode="&#xa3;" d="M112 0v266h205v326h-175v239h175v170q0 271 114 395t362 124q83 0 164.5 -13.5t161.5 -40.5v-286q-63 39 -130 58t-136 19q-106 0 -157 -62.5t-51 -193.5v-170h336v-239h-336v-326h485v-266h-1018z" />
116
+ <glyph unicode="&#xa4;" horiz-adv-x="1172" d="M67 215l186 207q-25 49 -38 102.5t-13 116.5t14 117t40 100l-188 205l138 154l186 -207q44 30 92.5 44.5t103.5 14.5q48 0 97 -13.5t100 -41.5l186 207l137 -154l-186 -207q26 -55 38.5 -110t12.5 -109q0 -63 -13 -115.5t-40 -99.5l186 -207l-138 -153l-187 206 q-41 -30 -89 -44.5t-104 -14.5q-52 0 -101 13.5t-96 41.5l-187 -207zM391 641q0 -93 56.5 -156t140.5 -63q82 0 139.5 63.5t57.5 155.5t-57.5 155.5t-139.5 63.5t-139.5 -63.5t-57.5 -155.5z" />
117
+ <glyph unicode="&#xa5;" d="M22 1493h360l260 -461l259 461h360l-303 -539h264v-192h-365l-44 -86v-66h409v-194h-409v-416h-343v416h-409v194h409v66l-44 86h-365v192h263z" />
118
+ <glyph unicode="&#xa6;" horiz-adv-x="673" d="M234 -350v758h204v-758h-204zM234 674v758h204v-758h-204z" />
119
+ <glyph unicode="&#xa7;" horiz-adv-x="921" d="M13 668q0 104 49.5 181t151.5 128q-67 51 -96.5 106.5t-29.5 130.5q0 144 103 225t284 81q76 0 157 -14.5t164 -43.5v-227q-89 39 -160 58.5t-122 19.5q-68 0 -102 -24.5t-34 -71.5q0 -67 169 -146q24 -11 35 -16q189 -89 260.5 -175.5t71.5 -211.5q0 -117 -50.5 -196.5 t-156.5 -127.5q70 -41 103.5 -97.5t33.5 -129.5q0 -145 -109 -228.5t-300 -83.5q-77 0 -158.5 14.5t-172.5 43.5v237q103 -41 185 -62.5t133 -21.5q59 0 94 25t35 65q0 70 -162 144q-33 14 -50 22q-182 87 -254 176.5t-72 219.5zM269 702q0 -67 55.5 -116t219.5 -115 q58 23 89.5 62.5t31.5 91.5q0 67 -62 120t-212 111q-62 -28 -92 -66t-30 -88z" />
120
+ <glyph unicode="&#xa8;" horiz-adv-x="921" d="M177 1339v246h212v-246h-212zM533 1339v246h211v-246h-211z" />
121
+ <glyph unicode="&#xa9;" horiz-adv-x="1843" d="M255 741q0 154 48.5 285t146.5 240t216.5 164t255.5 55q136 0 254.5 -55t216.5 -164t146.5 -240t48.5 -285q0 -152 -48.5 -282.5t-146.5 -239.5t-216.5 -164t-254.5 -55q-137 0 -255.5 55t-216.5 164t-146.5 239.5t-48.5 282.5zM391 741q0 -121 39 -224.5t117 -190.5 q78 -86 172 -129t203 -43q110 0 203 42.5t171 129.5t117.5 190.5t39.5 224.5q0 122 -39.5 225.5t-117.5 190.5q-79 88 -172.5 131t-201.5 43q-109 0 -202.5 -43.5t-172.5 -130.5q-78 -87 -117 -190.5t-39 -225.5zM540 741q0 195 114.5 311.5t303.5 116.5q63 0 120.5 -10.5 t112.5 -32.5v-215q-52 37 -101.5 54.5t-101.5 17.5q-102 0 -159 -64t-57 -178q0 -115 57 -178t159 -63q58 0 109.5 18t93.5 53v-213q-59 -22 -118 -33.5t-115 -11.5q-189 0 -303.5 117t-114.5 311z" />
122
+ <glyph unicode="&#xaa;" horiz-adv-x="1039" d="M142 946q0 141 94.5 207t298.5 66h123v20q0 56 -40 85.5t-117 29.5q-78 0 -152.5 -17.5t-146.5 -52.5v180q83 28 159 42t144 14q201 0 298.5 -87.5t97.5 -267.5v-448h-221v127q-49 -76 -112 -112t-148 -36q-130 0 -204 67t-74 183zM158 373v200h732v-200h-732zM365 967 q0 -51 30 -80t82 -29q80 0 131.5 57t51.5 144v22h-81q-120 0 -167 -26t-47 -88z" />
123
+ <glyph unicode="&#xab;" horiz-adv-x="1190" d="M142 506v186l444 371v-242l-264 -221l264 -221v-242zM573 506v186l444 371v-242l-263 -221l263 -221v-242z" />
124
+ <glyph unicode="&#xac;" horiz-adv-x="1544" d="M195 672v237h1154v-622h-211v385h-943z" />
125
+ <glyph unicode="&#xad;" horiz-adv-x="765" d="M100 444v291h565v-291h-565z" />
126
+ <glyph unicode="&#xae;" horiz-adv-x="1843" d="M255 741q0 154 48.5 285t146.5 240t216.5 164t255.5 55q136 0 254.5 -55t216.5 -164t146.5 -240t48.5 -285q0 -152 -48.5 -282.5t-146.5 -239.5t-216.5 -164t-254.5 -55q-137 0 -255.5 55t-216.5 164t-146.5 239.5t-48.5 282.5zM391 741q0 -121 39 -224.5t117 -190.5 q78 -86 172 -129t203 -43q110 0 203 42.5t171 129.5t117.5 190.5t39.5 224.5q0 122 -39.5 225.5t-117.5 190.5q-79 88 -172.5 131t-201.5 43q-109 0 -202.5 -43.5t-172.5 -130.5q-78 -87 -117 -190.5t-39 -225.5zM647 338v836h257q158 0 236.5 -59.5t78.5 -180.5 q0 -86 -47.5 -142t-133.5 -73q37 -22 68.5 -62t58.5 -98l99 -221h-206l-96 213q-34 78 -60 110.5t-52 32.5h-11v-356h-192zM839 829h31q70 0 106 26.5t36 78.5t-35 77t-107 25h-31v-207z" />
127
+ <glyph unicode="&#xaf;" horiz-adv-x="921" d="M177 1368v188h567v-188h-567z" />
128
+ <glyph unicode="&#xb0;" horiz-adv-x="921" d="M160 1200q0 141 87 237.5t214 96.5q59 0 114 -25.5t98 -72.5q43 -48 65 -108t22 -128q0 -67 -22 -127.5t-63 -105.5q-43 -48 -99 -73.5t-117 -25.5q-127 0 -213 95.5t-86 236.5zM306 1200q0 -72 44.5 -121t110.5 -49q65 0 110 49.5t45 120.5q0 72 -45.5 122t-109.5 50 q-65 0 -110 -50t-45 -122z" />
129
+ <glyph unicode="&#xb1;" horiz-adv-x="1544" d="M195 0v238h1154v-238h-1154zM195 694v236h470v354h214v-354h470v-236h-470v-354h-214v354h-470z" />
130
+ <glyph unicode="&#xb2;" horiz-adv-x="807" d="M98 668v153l282 266q55 53 78.5 93t23.5 80q0 50 -33 81t-86 31q-56 0 -120 -22.5t-139 -69.5v186q78 27 151 40.5t141 13.5q142 0 223 -64.5t81 -175.5q0 -72 -32 -132.5t-123 -146.5l-174 -165h333v-168h-606z" />
131
+ <glyph unicode="&#xb3;" horiz-adv-x="807" d="M81 698v174q59 -36 117 -54.5t112 -18.5q85 0 132 32t47 91q0 64 -48.5 94.5t-150.5 30.5h-67v137h76q88 0 128.5 23.5t40.5 74.5q0 45 -35 67.5t-107 22.5q-47 0 -102.5 -13t-118.5 -40v166q59 17 127 26t146 9q150 0 230 -56t80 -161q0 -69 -40.5 -117t-114.5 -66 q83 -18 128.5 -73t45.5 -136q0 -129 -89 -193.5t-270 -64.5q-73 0 -139.5 11.5t-127.5 33.5z" />
132
+ <glyph unicode="&#xb4;" horiz-adv-x="921" d="M328 1262l254 376h255l-332 -376h-177z" />
133
+ <glyph unicode="&#xb5;" horiz-adv-x="1356" d="M157 -428v1548h325v-651q0 -116 45 -172.5t136 -56.5q93 0 138 56.5t45 172.5v651h324v-749q0 -71 15 -99t50 -28q16 0 31 5t32 17v-250q-48 -23 -90 -34t-82 -11q-80 0 -131 37.5t-82 120.5q-43 -79 -103.5 -118.5t-140.5 -39.5q-67 0 -114 23.5t-73 71.5v-494h-325z " />
134
+ <glyph unicode="&#xb6;" horiz-adv-x="1172" d="M116 1071q0 190 117 306t311 116h468v-1690h-171v1543h-171v-1543h-170v846q-184 25 -284 134.5t-100 287.5z" />
135
+ <glyph unicode="&#xb7;" horiz-adv-x="700" d="M188 518v387h324v-387h-324z" />
136
+ <glyph unicode="&#xb8;" horiz-adv-x="921" d="M236 -223q45 -16 82.5 -23.5t66.5 -7.5q52 0 81.5 23t29.5 63q0 26 -19.5 67t-59.5 101h125q52 -62 77 -115t25 -100q0 -95 -55.5 -140.5t-170.5 -45.5q-43 0 -88.5 6.5t-92.5 19.5z" />
137
+ <glyph unicode="&#xb9;" horiz-adv-x="807" d="M111 1294v160l206 49h203v-678h184v-157h-577v157h186v521z" />
138
+ <glyph unicode="&#xba;" horiz-adv-x="1039" d="M105 1108q0 190 111.5 301t303.5 111t303 -111t111 -301t-110.5 -300t-303.5 -110q-192 0 -303.5 110t-111.5 300zM149 373v200h741v-200h-741zM363 1108q0 -116 41 -178t116 -62t116 62t41 178t-41 179t-116 63t-116 -63t-41 -179z" />
139
+ <glyph unicode="&#xbb;" horiz-adv-x="1190" d="M174 137v242l262 221l-262 221v242l442 -371v-186zM605 137v242l263 221l-263 221v242l443 -371v-186z" />
140
+ <glyph unicode="&#xbc;" horiz-adv-x="1908" d="M90 1294v160l206 49h203v-678h184v-157h-577v157h186v521zM459 -29l840 1549h202l-841 -1549h-201zM1081 162v168l336 505h223v-518h124v-155h-124v-162h-207v162h-352zM1218 317h215v323z" />
141
+ <glyph unicode="&#xbd;" horiz-adv-x="1908" d="M90 1294v160l206 49h203v-678h184v-157h-577v157h186v521zM459 -29l840 1549h202l-841 -1549h-201zM1213 0v153l282 266q55 53 78.5 93t23.5 80q0 50 -33 81t-86 31q-56 0 -120 -22.5t-139 -69.5v186q78 27 151 40.5t141 13.5q142 0 223 -64.5t81 -175.5 q0 -72 -32 -132.5t-123 -146.5l-174 -165h333v-168h-606z" />
142
+ <glyph unicode="&#xbe;" horiz-adv-x="1908" d="M94 698v174q59 -36 117 -54.5t112 -18.5q85 0 132 32t47 91q0 64 -48.5 94.5t-150.5 30.5h-67v137h76q88 0 128.5 23.5t40.5 74.5q0 45 -35 67.5t-107 22.5q-47 0 -102.5 -13t-118.5 -40v166q59 17 127 26t146 9q150 0 230 -56t80 -161q0 -69 -40.5 -117t-114.5 -66 q83 -18 128.5 -73t45.5 -136q0 -129 -89 -193.5t-270 -64.5q-73 0 -139.5 11.5t-127.5 33.5zM459 -29l840 1549h202l-841 -1549h-201zM1081 162v168l336 505h223v-518h124v-155h-124v-162h-207v162h-352zM1218 317h215v323z" />
143
+ <glyph unicode="&#xbf;" horiz-adv-x="1069" d="M127 360q0 99 35 176.5t120 165.5l57 58q61 61 80 99t19 83v45h325v-49q0 -81 -29 -144t-127 -163l-58 -58q-50 -51 -73.5 -97t-23.5 -93q0 -70 43 -110t121 -40q72 0 157.5 34t176.5 100v-314q-108 -42 -199 -62t-174 -20q-220 0 -335 99.5t-115 289.5zM438 1137v356 h325v-356h-325z" />
144
+ <glyph unicode="&#xc0;" horiz-adv-x="1426" d="M9 0l498 1493h413l498 -1493h-349l-84 272h-542l-86 -272h-348zM391 1899h254l179 -264h-177zM529 549h368l-183 594z" />
145
+ <glyph unicode="&#xc1;" horiz-adv-x="1426" d="M9 0l498 1493h413l498 -1493h-349l-84 272h-542l-86 -272h-348zM529 549h368l-183 594zM559 1635l178 264h255l-257 -264h-176z" />
146
+ <glyph unicode="&#xc2;" horiz-adv-x="1426" d="M9 0l498 1493h413l498 -1493h-349l-84 272h-542l-86 -272h-348zM374 1635l201 264h277l200 -264h-160l-179 161l-179 -161h-160zM529 549h368l-183 594z" />
147
+ <glyph unicode="&#xc3;" horiz-adv-x="1426" d="M9 0l498 1493h413l498 -1493h-349l-84 272h-542l-86 -272h-348zM400 1641q0 5 1 15t1 15q0 106 48 171t126 65q34 0 67 -12.5t68 -36.5l53 -39q19 -14 36.5 -21.5t32.5 -7.5q33 0 50.5 30t17.5 87h125q0 -6 -0.5 -16t-0.5 -15q0 -106 -48.5 -170.5t-126.5 -64.5 q-34 0 -65.5 11t-69.5 38l-50 35l-9 6q-41 26 -66 26q-29 0 -47 -30t-18 -80v-6h-125zM529 549h368l-183 594z" />
148
+ <glyph unicode="&#xc4;" horiz-adv-x="1426" d="M9 0l498 1493h413l498 -1493h-349l-84 272h-542l-86 -272h-348zM424 1653v246h211v-246h-211zM529 549h368l-183 594zM779 1653v246h212v-246h-212z" />
149
+ <glyph unicode="&#xc5;" horiz-adv-x="1426" d="M9 0l489 1464q-21 34 -31 71.5t-10 80.5q0 117 75.5 201t181.5 84q104 0 179.5 -84t75.5 -201q0 -47 -9.5 -85t-30.5 -67l489 -1464h-349l-84 272h-542l-86 -272h-348zM529 549h368l-183 594zM596 1616q0 -54 34.5 -92.5t83.5 -38.5q48 0 83 38.5t35 92.5t-35.5 92.5 t-82.5 38.5q-49 0 -83.5 -38.5t-34.5 -92.5z" />
150
+ <glyph unicode="&#xc6;" horiz-adv-x="1999" d="M0 0l562 1493h1283v-291h-588v-278h553v-291h-553v-342h609v-291h-955v350h-445l-132 -350h-334zM572 627h339v610h-109z" />
151
+ <glyph unicode="&#xc7;" horiz-adv-x="1352" d="M92 745q0 358 196 566.5t532 208.5q112 0 215.5 -28t199.5 -83v-309q-97 73 -190.5 107t-196.5 34q-186 0 -292 -132t-106 -364q0 -231 106 -363t292 -132q103 0 196.5 34t190.5 107v-309q-96 -55 -199.5 -83t-215.5 -28q-336 0 -532 208.5t-196 565.5zM570 -223 q45 -16 82.5 -23.5t66.5 -7.5q52 0 81.5 23t29.5 63q0 26 -19.5 67t-59.5 101h125q52 -62 77 -115t25 -100q0 -95 -55.5 -140.5t-170.5 -45.5q-43 0 -88.5 6.5t-92.5 19.5z" />
152
+ <glyph unicode="&#xc8;" horiz-adv-x="1259" d="M169 0v1493h935v-291h-588v-278h553v-291h-553v-342h608v-291h-955zM323 1899h254l179 -264h-177z" />
153
+ <glyph unicode="&#xc9;" horiz-adv-x="1259" d="M169 0v1493h935v-291h-588v-278h553v-291h-553v-342h608v-291h-955zM491 1635l178 264h255l-257 -264h-176z" />
154
+ <glyph unicode="&#xca;" horiz-adv-x="1259" d="M169 0v1493h935v-291h-588v-278h553v-291h-553v-342h608v-291h-955zM284 1635l201 264h277l200 -264h-160l-179 161l-179 -161h-160z" />
155
+ <glyph unicode="&#xcb;" horiz-adv-x="1259" d="M169 0v1493h935v-291h-588v-278h553v-291h-553v-342h608v-291h-955zM340 1653v246h211v-246h-211zM695 1653v246h212v-246h-212z" />
156
+ <glyph unicode="&#xcc;" horiz-adv-x="685" d="M20 1899h254l179 -264h-177zM169 0v1493h347v-1493h-347z" />
157
+ <glyph unicode="&#xcd;" horiz-adv-x="685" d="M169 0v1493h347v-1493h-347zM188 1635l178 264h255l-257 -264h-176z" />
158
+ <glyph unicode="&#xce;" horiz-adv-x="685" d="M3 1635l201 264h277l200 -264h-160l-179 161l-179 -161h-160zM169 0v1493h347v-1493h-347z" />
159
+ <glyph unicode="&#xcf;" horiz-adv-x="685" d="M59 1653v246h211v-246h-211zM169 0v1493h347v-1493h-347zM414 1653v246h212v-246h-212z" />
160
+ <glyph unicode="&#xd0;" horiz-adv-x="1544" d="M30 621v260h156v612h365q307 0 456 -48.5t257 -164.5q94 -101 140.5 -233t46.5 -299q0 -169 -46.5 -301.5t-140.5 -233.5q-108 -116 -259.5 -164.5t-453.5 -48.5h-365v621h-156zM533 291h123q212 0 324.5 117t112.5 340q0 222 -112 338t-325 116h-123v-321h211v-260h-211 v-330z" />
161
+ <glyph unicode="&#xd1;" horiz-adv-x="1542" d="M169 0v1493h387l489 -1024v1024h328v-1493h-387l-488 1024v-1024h-329zM426 1635q0 5 1 15t1 15q0 106 48 171t126 65q34 0 67 -12.5t68 -36.5l53 -39q19 -14 36.5 -21.5t32.5 -7.5q33 0 50.5 30t17.5 87h125q0 -6 -0.5 -16t-0.5 -15q0 -106 -48.5 -170.5t-126.5 -64.5 q-34 0 -65.5 11t-69.5 38l-50 35l-9 6q-41 26 -66 26q-29 0 -47 -30t-18 -80v-6h-125z" />
162
+ <glyph unicode="&#xd2;" horiz-adv-x="1566" d="M92 745q0 363 184 569t507 206q324 0 507.5 -206t183.5 -569q0 -362 -183.5 -568t-507.5 -206q-323 0 -507 206t-184 568zM450 745q0 -235 87.5 -365t245.5 -130q159 0 246.5 130t87.5 365q0 236 -87.5 366t-246.5 130q-158 0 -245.5 -130t-87.5 -366zM461 1899h254 l179 -264h-177z" />
163
+ <glyph unicode="&#xd3;" horiz-adv-x="1566" d="M92 745q0 363 184 569t507 206q324 0 507.5 -206t183.5 -569q0 -362 -183.5 -568t-507.5 -206q-323 0 -507 206t-184 568zM450 745q0 -235 87.5 -365t245.5 -130q159 0 246.5 130t87.5 365q0 236 -87.5 366t-246.5 130q-158 0 -245.5 -130t-87.5 -366zM629 1635l178 264 h255l-257 -264h-176z" />
164
+ <glyph unicode="&#xd4;" horiz-adv-x="1566" d="M92 745q0 363 184 569t507 206q324 0 507.5 -206t183.5 -569q0 -362 -183.5 -568t-507.5 -206q-323 0 -507 206t-184 568zM422 1635l201 264h277l200 -264h-160l-179 161l-179 -161h-160zM450 745q0 -235 87.5 -365t245.5 -130q159 0 246.5 130t87.5 365q0 236 -87.5 366 t-246.5 130q-158 0 -245.5 -130t-87.5 -366z" />
165
+ <glyph unicode="&#xd5;" horiz-adv-x="1566" d="M92 745q0 363 184 569t507 206q324 0 507.5 -206t183.5 -569q0 -362 -183.5 -568t-507.5 -206q-323 0 -507 206t-184 568zM450 745q0 -235 87.5 -365t245.5 -130q159 0 246.5 130t87.5 365q0 236 -87.5 366t-246.5 130q-158 0 -245.5 -130t-87.5 -366zM471 1635q0 5 1 15 t1 15q0 106 48 171t126 65q34 0 67 -12.5t68 -36.5l53 -39q19 -14 36.5 -21.5t32.5 -7.5q33 0 50.5 30t17.5 87h125q0 -6 -0.5 -16t-0.5 -15q0 -106 -48.5 -170.5t-126.5 -64.5q-34 0 -65.5 11t-69.5 38l-50 35l-9 6q-41 26 -66 26q-29 0 -47 -30t-18 -80v-6h-125z" />
166
+ <glyph unicode="&#xd6;" horiz-adv-x="1566" d="M92 745q0 363 184 569t507 206q324 0 507.5 -206t183.5 -569q0 -362 -183.5 -568t-507.5 -206q-323 0 -507 206t-184 568zM450 745q0 -235 87.5 -365t245.5 -130q159 0 246.5 130t87.5 365q0 236 -87.5 366t-246.5 130q-158 0 -245.5 -130t-87.5 -366zM500 1653v246h211 v-246h-211zM855 1653v246h212v-246h-212z" />
167
+ <glyph unicode="&#xd7;" horiz-adv-x="1544" d="M230 209l391 432l-391 434l152 168l390 -434l391 434l151 -168l-391 -434l391 -432l-151 -168l-391 432l-390 -432z" />
168
+ <glyph unicode="&#xd8;" horiz-adv-x="1566" d="M40 39l185 205q-67 100 -100 225t-33 276q0 363 184 569t507 206q139 0 250.5 -37.5t203.5 -114.5l179 199l101 -115l-181 -199q70 -99 104 -226.5t34 -281.5q0 -362 -183.5 -568t-507.5 -206q-138 0 -252.5 39.5t-206.5 118.5l-182 -203zM450 745q0 -64 6.5 -120.5 t18.5 -102.5l545 604q-46 58 -104.5 86.5t-132.5 28.5q-158 0 -245.5 -130t-87.5 -366zM544 371q46 -62 105 -91.5t134 -29.5q159 0 246.5 130t87.5 365q0 68 -7 126.5t-21 107.5z" />
169
+ <glyph unicode="&#xd9;" horiz-adv-x="1496" d="M169 598v895h347v-895q0 -185 54.5 -264.5t177.5 -79.5q124 0 178.5 79.5t54.5 264.5v895h347v-895q0 -317 -143.5 -472t-436.5 -155t-436 155t-143 472zM426 1899h254l179 -264h-177z" />
170
+ <glyph unicode="&#xda;" horiz-adv-x="1496" d="M169 598v895h347v-895q0 -185 54.5 -264.5t177.5 -79.5q124 0 178.5 79.5t54.5 264.5v895h347v-895q0 -317 -143.5 -472t-436.5 -155t-436 155t-143 472zM594 1635l178 264h255l-257 -264h-176z" />
171
+ <glyph unicode="&#xdb;" horiz-adv-x="1496" d="M169 598v895h347v-895q0 -185 54.5 -264.5t177.5 -79.5q124 0 178.5 79.5t54.5 264.5v895h347v-895q0 -317 -143.5 -472t-436.5 -155t-436 155t-143 472zM410 1635l201 264h277l200 -264h-160l-179 161l-179 -161h-160z" />
172
+ <glyph unicode="&#xdc;" horiz-adv-x="1496" d="M169 598v895h347v-895q0 -185 54.5 -264.5t177.5 -79.5q124 0 178.5 79.5t54.5 264.5v895h347v-895q0 -317 -143.5 -472t-436.5 -155t-436 155t-143 472zM466 1653v246h211v-246h-211zM821 1653v246h212v-246h-212z" />
173
+ <glyph unicode="&#xdd;" horiz-adv-x="1334" d="M-18 1493h379l306 -532l306 532h380l-512 -864v-629h-347v629zM513 1635l178 264h255l-257 -264h-176z" />
174
+ <glyph unicode="&#xde;" horiz-adv-x="1359" d="M169 0v1493h347v-260h228q257 0 394 -126.5t137 -361.5q0 -234 -137 -360.5t-394 -126.5h-228v-258h-347zM516 537h191q101 0 156 54.5t55 153.5q0 101 -55 156t-156 55h-191v-419z" />
175
+ <glyph unicode="&#xdf;" horiz-adv-x="1325" d="M155 0v1114q0 222 121.5 332t367.5 110q235 0 355.5 -112t120.5 -330v-71q-135 -10 -200 -49t-65 -113q0 -37 22 -65.5t106 -80.5l62 -37q104 -64 152.5 -148.5t48.5 -201.5q0 -189 -103 -283t-311 -94q-59 0 -121 12.5t-129 36.5v244q51 -27 102.5 -41t100.5 -14 q65 0 104.5 36t39.5 93q0 47 -25 81t-113 89l-63 39q-79 49 -117 116.5t-38 157.5q0 116 62.5 195t193.5 129q-1 85 -44 129.5t-125 44.5q-91 0 -137 -55t-46 -164v-1100h-322z" />
176
+ <glyph unicode="&#xe0;" horiz-adv-x="1243" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q104 28 208.5 42.5t208.5 14.5q273 0 394 -119.5t121 -388.5v-639h-325v166q-65 -102 -146 -148.5t-197 -46.5q-157 0 -254.5 101.5t-97.5 263.5zM252 1638h254l254 -376 h-176zM404 354q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41h-167q-101 0 -152 -38t-51 -112z" />
177
+ <glyph unicode="&#xe1;" horiz-adv-x="1243" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q104 28 208.5 42.5t208.5 14.5q273 0 394 -119.5t121 -388.5v-639h-325v166q-65 -102 -146 -148.5t-197 -46.5q-157 0 -254.5 101.5t-97.5 263.5zM404 354 q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41h-167q-101 0 -152 -38t-51 -112zM495 1262l254 376h255l-332 -376h-177z" />
178
+ <glyph unicode="&#xe2;" horiz-adv-x="1243" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q104 28 208.5 42.5t208.5 14.5q273 0 394 -119.5t121 -388.5v-639h-325v166q-65 -102 -146 -148.5t-197 -46.5q-157 0 -254.5 101.5t-97.5 263.5zM289 1262l230 376h218 l230 -376h-160l-179 225l-179 -225h-160zM404 354q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41h-167q-101 0 -152 -38t-51 -112z" />
179
+ <glyph unicode="&#xe3;" horiz-adv-x="1243" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q104 28 208.5 42.5t208.5 14.5q273 0 394 -119.5t121 -388.5v-639h-325v166q-65 -102 -146 -148.5t-197 -46.5q-157 0 -254.5 101.5t-97.5 263.5zM315 1309q0 136 46 210 t130 74q32 0 65 -13.5t70 -43.5l55 -43q20 -15 36.5 -23t29.5 -8q33 0 51 32t18 89v8h125q0 -136 -46.5 -210t-129.5 -74q-33 0 -63 12t-72 45l-50 37l-9 6q-42 31 -65 31q-32 0 -49 -31t-17 -90v-8h-125zM404 354q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41 h-167q-101 0 -152 -38t-51 -112z" />
180
+ <glyph unicode="&#xe4;" horiz-adv-x="1243" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q104 28 208.5 42.5t208.5 14.5q273 0 394 -119.5t121 -388.5v-639h-325v166q-65 -102 -146 -148.5t-197 -46.5q-157 0 -254.5 101.5t-97.5 263.5zM344 1339v246h212v-246 h-212zM404 354q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41h-167q-101 0 -152 -38t-51 -112zM700 1339v246h211v-246h-211z" />
181
+ <glyph unicode="&#xe5;" horiz-adv-x="1243" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q104 28 208.5 42.5t208.5 14.5q273 0 394 -119.5t121 -388.5v-639h-325v166q-65 -102 -146 -148.5t-197 -46.5q-157 0 -254.5 101.5t-97.5 263.5zM371 1534 q0 118 75.5 201.5t181.5 83.5t181 -83.5t75 -201.5t-75 -201.5t-181 -83.5t-181.5 83.5t-75.5 201.5zM404 354q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41h-167q-101 0 -152 -38t-51 -112zM510 1534q0 -55 34.5 -93t83.5 -38t83.5 38.5t34.5 92.5t-35 92.5 t-83 38.5q-50 0 -84 -38.5t-34 -92.5z" />
182
+ <glyph unicode="&#xe6;" horiz-adv-x="1931" d="M79 336q0 197 122 289t383 92h190v28q0 85 -60.5 124.5t-187.5 39.5q-104 0 -193 -23t-166 -69v273q107 28 207.5 42.5t187.5 14.5q136 0 233.5 -38.5t161.5 -117.5q69 77 161 116.5t201 39.5q239 0 381.5 -159t142.5 -425v-102h-754q13 -126 82.5 -189t196.5 -63 q102 0 208.5 33.5t219.5 101.5v-276q-115 -48 -229.5 -72.5t-228.5 -24.5q-161 0 -280 53.5t-184 153.5q-91 -107 -191.5 -157t-225.5 -50q-174 0 -276 98.5t-102 266.5zM404 354q0 -68 41 -106.5t114 -38.5q91 0 153 72.5t62 181.5v41h-167q-101 0 -152 -38t-51 -112z M1095 682h416q0 102 -53.5 164.5t-139.5 62.5q-93 0 -150.5 -58.5t-72.5 -168.5z" />
183
+ <glyph unicode="&#xe7;" horiz-adv-x="1092" d="M79 559q0 277 154 432.5t427 155.5q79 0 156 -15.5t153 -46.5v-292q-65 50 -131.5 74t-137.5 24q-135 0 -210 -87.5t-75 -244.5t75 -244.5t210 -87.5q76 0 144 25t125 74v-293q-75 -31 -153 -46.5t-156 -15.5q-273 0 -427 155.5t-154 432.5zM402 -223q45 -16 82.5 -23.5 t66.5 -7.5q52 0 81.5 23t29.5 63q0 26 -19.5 67t-59.5 101h125q52 -62 77 -115t25 -100q0 -95 -55.5 -140.5t-170.5 -45.5q-43 0 -88.5 6.5t-92.5 19.5z" />
184
+ <glyph unicode="&#xe8;" horiz-adv-x="1250" d="M79 559q0 274 149 431t410 157q238 0 380.5 -159t142.5 -425v-102h-753q11 -126 81.5 -189t196.5 -63q102 0 208.5 33.5t218.5 101.5v-276q-114 -48 -228.5 -72.5t-228.5 -24.5q-274 0 -425.5 154.5t-151.5 433.5zM280 1638h254l254 -376h-176zM411 682h419 q0 102 -53.5 164.5t-140.5 62.5q-93 0 -151.5 -58.5t-73.5 -168.5z" />
185
+ <glyph unicode="&#xe9;" horiz-adv-x="1250" d="M79 559q0 274 149 431t410 157q238 0 380.5 -159t142.5 -425v-102h-753q11 -126 81.5 -189t196.5 -63q102 0 208.5 33.5t218.5 101.5v-276q-114 -48 -228.5 -72.5t-228.5 -24.5q-274 0 -425.5 154.5t-151.5 433.5zM411 682h419q0 102 -53.5 164.5t-140.5 62.5 q-93 0 -151.5 -58.5t-73.5 -168.5zM523 1262l254 376h255l-332 -376h-177z" />
186
+ <glyph unicode="&#xea;" horiz-adv-x="1250" d="M79 559q0 274 149 431t410 157q238 0 380.5 -159t142.5 -425v-102h-753q11 -126 81.5 -189t196.5 -63q102 0 208.5 33.5t218.5 101.5v-276q-114 -48 -228.5 -72.5t-228.5 -24.5q-274 0 -425.5 154.5t-151.5 433.5zM317 1262l230 376h218l230 -376h-160l-179 225 l-179 -225h-160zM411 682h419q0 102 -53.5 164.5t-140.5 62.5q-93 0 -151.5 -58.5t-73.5 -168.5z" />
187
+ <glyph unicode="&#xeb;" horiz-adv-x="1250" d="M79 559q0 274 149 431t410 157q238 0 380.5 -159t142.5 -425v-102h-753q11 -126 81.5 -189t196.5 -63q102 0 208.5 33.5t218.5 101.5v-276q-114 -48 -228.5 -72.5t-228.5 -24.5q-274 0 -425.5 154.5t-151.5 433.5zM372 1339v246h212v-246h-212zM411 682h419 q0 102 -53.5 164.5t-140.5 62.5q-93 0 -151.5 -58.5t-73.5 -168.5zM728 1339v246h211v-246h-211z" />
188
+ <glyph unicode="&#xec;" horiz-adv-x="631" d="M-38 1638h254l254 -376h-176zM155 0v1120h322v-1120h-322z" />
189
+ <glyph unicode="&#xed;" horiz-adv-x="631" d="M155 0v1120h322v-1120h-322zM205 1262l254 376h255l-332 -376h-177z" />
190
+ <glyph unicode="&#xee;" horiz-adv-x="631" d="M-24 1262l230 376h218l230 -376h-160l-179 225l-179 -225h-160zM155 0v1120h322v-1120h-322z" />
191
+ <glyph unicode="&#xef;" horiz-adv-x="631" d="M31 1339v246h212v-246h-212zM155 0v1120h322v-1120h-322zM387 1339v246h211v-246h-211z" />
192
+ <glyph unicode="&#xf0;" horiz-adv-x="1266" d="M79 559q0 231 135.5 363.5t373.5 132.5q41 0 76 -6.5t68 -20.5l-171 219l-336 -119l-33 129l276 97l-169 202h317l100 -116l338 114l31 -129l-283 -96l184 -229q106 -136 153.5 -264.5t47.5 -276.5q0 -276 -146 -432t-407 -156q-260 0 -407.5 156t-147.5 432zM415 543 q0 -148 58.5 -232t160.5 -84q106 0 161.5 85.5t55.5 246.5q0 45 -5.5 91t-17.5 93q-50 27 -98.5 40.5t-95.5 13.5q-105 0 -162 -66.5t-57 -187.5z" />
193
+ <glyph unicode="&#xf1;" horiz-adv-x="1312" d="M155 0v1120h322v-164q73 98 155 144.5t181 46.5q174 0 264.5 -119t90.5 -346v-682h-324v111v411q0 145 -6 200t-20 81q-19 35 -51.5 54.5t-73.5 19.5q-101 0 -158.5 -86.5t-57.5 -239.5v-551h-322zM366 1309q0 136 46 210t130 74q32 0 65 -13.5t70 -43.5l55 -43 q20 -15 36.5 -23t29.5 -8q33 0 51 32t18 89v8h125q0 -136 -46.5 -210t-129.5 -74q-33 0 -63 12t-72 45l-50 37l-9 6q-42 31 -65 31q-32 0 -49 -31t-17 -90v-8h-125z" />
194
+ <glyph unicode="&#xf2;" horiz-adv-x="1266" d="M79 559q0 276 147.5 432t407.5 156q261 0 407 -156t146 -432t-146 -432t-407 -156q-260 0 -407.5 156t-147.5 432zM279 1638h254l254 -376h-176zM415 559q0 -161 56 -246.5t163 -85.5q106 0 161.5 85.5t55.5 246.5t-55.5 246.5t-161.5 85.5q-107 0 -163 -85.5t-56 -246.5 z" />
195
+ <glyph unicode="&#xf3;" horiz-adv-x="1266" d="M79 559q0 276 147.5 432t407.5 156q261 0 407 -156t146 -432t-146 -432t-407 -156q-260 0 -407.5 156t-147.5 432zM415 559q0 -161 56 -246.5t163 -85.5q106 0 161.5 85.5t55.5 246.5t-55.5 246.5t-161.5 85.5q-107 0 -163 -85.5t-56 -246.5zM522 1262l254 376h255 l-332 -376h-177z" />
196
+ <glyph unicode="&#xf4;" horiz-adv-x="1266" d="M79 559q0 276 147.5 432t407.5 156q261 0 407 -156t146 -432t-146 -432t-407 -156q-260 0 -407.5 156t-147.5 432zM294 1262l230 376h218l230 -376h-160l-179 225l-179 -225h-160zM415 559q0 -161 56 -246.5t163 -85.5q106 0 161.5 85.5t55.5 246.5t-55.5 246.5 t-161.5 85.5q-107 0 -163 -85.5t-56 -246.5z" />
197
+ <glyph unicode="&#xf5;" horiz-adv-x="1266" d="M79 559q0 276 147.5 432t407.5 156q261 0 407 -156t146 -432t-146 -432t-407 -156q-260 0 -407.5 156t-147.5 432zM319 1309q0 136 46 210t130 74q32 0 65 -13.5t70 -43.5l55 -43q20 -15 36.5 -23t29.5 -8q33 0 51 32t18 89v8h125q0 -136 -46.5 -210t-129.5 -74 q-33 0 -63 12t-72 45l-50 37l-9 6q-42 31 -65 31q-32 0 -49 -31t-17 -90v-8h-125zM415 559q0 -161 56 -246.5t163 -85.5q106 0 161.5 85.5t55.5 246.5t-55.5 246.5t-161.5 85.5q-107 0 -163 -85.5t-56 -246.5z" />
198
+ <glyph unicode="&#xf6;" horiz-adv-x="1266" d="M79 559q0 276 147.5 432t407.5 156q261 0 407 -156t146 -432t-146 -432t-407 -156q-260 0 -407.5 156t-147.5 432zM348 1339v246h212v-246h-212zM415 559q0 -161 56 -246.5t163 -85.5q106 0 161.5 85.5t55.5 246.5t-55.5 246.5t-161.5 85.5q-107 0 -163 -85.5t-56 -246.5 zM704 1339v246h211v-246h-211z" />
199
+ <glyph unicode="&#xf7;" horiz-adv-x="1544" d="M195 524v236h1154v-236h-1154zM634 86v309h277v-309h-277zM634 889v309h277v-309h-277z" />
200
+ <glyph unicode="&#xf8;" horiz-adv-x="1266" d="M70 0l131 158q-61 78 -91.5 178t-30.5 223q0 276 147.5 432t407.5 156q96 0 176.5 -22t147.5 -66l133 158l98 -101l-127 -149q63 -80 94 -181t31 -227q0 -276 -146 -432t-407 -156q-97 0 -178.5 22.5t-151.5 67.5l-133 -155zM415 559q0 -41 3 -73.5t10 -59.5l342 410 q-26 28 -59.5 41.5t-76.5 13.5q-107 0 -163 -85.5t-56 -246.5zM492 287q28 -30 63.5 -45t78.5 -15q106 0 161.5 85.5t55.5 246.5q0 43 -3 76.5t-9 62.5z" />
201
+ <glyph unicode="&#xf9;" horiz-adv-x="1312" d="M144 436v684h324v-112q0 -91 -1 -228.5t-1 -183.5q0 -135 6.5 -194.5t21.5 -86.5q20 -35 52 -54t73 -19q101 0 158.5 86t57.5 239v553h322v-1120h-322v162q-73 -98 -154.5 -144.5t-179.5 -46.5q-174 0 -265.5 119t-91.5 346zM303 1638h254l254 -376h-176z" />
202
+ <glyph unicode="&#xfa;" horiz-adv-x="1312" d="M144 436v684h324v-112q0 -91 -1 -228.5t-1 -183.5q0 -135 6.5 -194.5t21.5 -86.5q20 -35 52 -54t73 -19q101 0 158.5 86t57.5 239v553h322v-1120h-322v162q-73 -98 -154.5 -144.5t-179.5 -46.5q-174 0 -265.5 119t-91.5 346zM546 1262l254 376h255l-332 -376h-177z" />
203
+ <glyph unicode="&#xfb;" horiz-adv-x="1312" d="M144 436v684h324v-112q0 -91 -1 -228.5t-1 -183.5q0 -135 6.5 -194.5t21.5 -86.5q20 -35 52 -54t73 -19q101 0 158.5 86t57.5 239v553h322v-1120h-322v162q-73 -98 -154.5 -144.5t-179.5 -46.5q-174 0 -265.5 119t-91.5 346zM313 1262l230 376h218l230 -376h-160 l-179 225l-179 -225h-160z" />
204
+ <glyph unicode="&#xfc;" horiz-adv-x="1312" d="M144 436v684h324v-112q0 -91 -1 -228.5t-1 -183.5q0 -135 6.5 -194.5t21.5 -86.5q20 -35 52 -54t73 -19q101 0 158.5 86t57.5 239v553h322v-1120h-322v162q-73 -98 -154.5 -144.5t-179.5 -46.5q-174 0 -265.5 119t-91.5 346zM368 1339v246h212v-246h-212zM724 1339v246 h211v-246h-211z" />
205
+ <glyph unicode="&#xfd;" horiz-adv-x="1201" d="M22 1120h323l271 -760l230 760h322l-424 -1226q-64 -187 -149 -261.5t-224 -74.5h-187v235h101q82 0 119.5 29t58.5 104l9 31zM468 1262l254 376h255l-332 -376h-177z" />
206
+ <glyph unicode="&#xfe;" horiz-adv-x="1319" d="M155 -426v1982h322v-600q67 98 148 144.5t186 46.5q186 0 306 -164.5t120 -423.5t-120 -423.5t-306 -164.5q-105 0 -186 46.5t-148 144.5v-588h-322zM477 559q0 -159 55.5 -243.5t158.5 -84.5q104 0 158.5 84t54.5 244t-54.5 244t-158.5 84q-103 0 -158.5 -84.5 t-55.5 -243.5z" />
207
+ <glyph unicode="&#xff;" horiz-adv-x="1201" d="M22 1120h323l271 -760l230 760h322l-424 -1226q-64 -187 -149 -261.5t-224 -74.5h-187v235h101q82 0 119.5 29t58.5 104l9 31zM317 1339v246h212v-246h-212zM673 1339v246h211v-246h-211z" />
208
+ <glyph unicode="&#x152;" horiz-adv-x="2151" d="M92 748q0 360 213 553.5t611 193.5q10 0 31.5 -1t33.5 -1h1015v-291h-588v-278h553v-291h-553v-342h609v-291h-1036q-12 0 -33 -1t-32 -1q-398 0 -611 194.5t-213 555.5zM450 748q0 -229 129 -343t389 -114h94v911h-94q-261 0 -389.5 -113t-128.5 -341z" />
209
+ <glyph unicode="&#x153;" horiz-adv-x="2016" d="M79 559q0 276 147.5 432t407.5 156q121 0 213.5 -41t165.5 -127q74 87 163.5 127.5t211.5 40.5q250 0 395 -157t145 -427v-102h-754q12 -126 82.5 -189t196.5 -63q101 0 208 33.5t219 101.5v-276q-113 -48 -228.5 -72.5t-228.5 -24.5q-149 0 -245 40.5t-161 127.5 q-74 -84 -169.5 -126t-213.5 -42q-260 0 -407.5 156t-147.5 432zM415 559q0 -161 56 -246.5t163 -85.5q106 0 161.5 85.5t55.5 246.5t-55.5 246.5t-161.5 85.5q-107 0 -163 -85.5t-56 -246.5zM1178 682h419q0 102 -53.5 164.5t-140.5 62.5q-93 0 -152 -58.5t-73 -168.5z" />
210
+ <glyph unicode="&#x178;" horiz-adv-x="1334" d="M-18 1493h379l306 -532l306 532h380l-512 -864v-629h-347v629zM384 1653v246h211v-246h-211zM739 1653v246h212v-246h-212z" />
211
+ <glyph unicode="&#x2c6;" horiz-adv-x="921" d="M122 1262l230 376h218l230 -376h-160l-179 225l-179 -225h-160z" />
212
+ <glyph unicode="&#x2dc;" horiz-adv-x="921" d="M148 1309q0 136 46 210t130 74q32 0 65 -13.5t70 -43.5l55 -43q20 -15 36.5 -23t29.5 -8q33 0 51 32t18 89v8h125q0 -136 -46.5 -210t-129.5 -74q-33 0 -63 12t-72 45l-50 37l-9 6q-42 31 -65 31q-32 0 -49 -31t-17 -90v-8h-125z" />
213
+ <glyph unicode="&#x2000;" horiz-adv-x="953" />
214
+ <glyph unicode="&#x2001;" horiz-adv-x="1907" />
215
+ <glyph unicode="&#x2002;" horiz-adv-x="953" />
216
+ <glyph unicode="&#x2003;" horiz-adv-x="1907" />
217
+ <glyph unicode="&#x2004;" horiz-adv-x="635" />
218
+ <glyph unicode="&#x2005;" horiz-adv-x="476" />
219
+ <glyph unicode="&#x2006;" horiz-adv-x="317" />
220
+ <glyph unicode="&#x2007;" horiz-adv-x="317" />
221
+ <glyph unicode="&#x2008;" horiz-adv-x="238" />
222
+ <glyph unicode="&#x2009;" horiz-adv-x="381" />
223
+ <glyph unicode="&#x200a;" horiz-adv-x="105" />
224
+ <glyph unicode="&#x2010;" horiz-adv-x="765" d="M100 444v291h565v-291h-565z" />
225
+ <glyph unicode="&#x2011;" horiz-adv-x="765" d="M100 444v291h565v-291h-565z" />
226
+ <glyph unicode="&#x2012;" horiz-adv-x="765" d="M100 444v291h565v-291h-565z" />
227
+ <glyph unicode="&#x2013;" horiz-adv-x="921" d="M99 432v258h724v-258h-724z" />
228
+ <glyph unicode="&#x2014;" horiz-adv-x="1843" d="M99 432v258h1645v-258h-1645z" />
229
+ <glyph unicode="&#x2018;" horiz-adv-x="700" d="M190 856v285l204 352h192l-90 -352v-285h-306z" />
230
+ <glyph unicode="&#x2019;" horiz-adv-x="700" d="M116 856l90 352v285h306v-285l-204 -352h-192z" />
231
+ <glyph unicode="&#x201a;" horiz-adv-x="700" d="M132 -250l91 352v285h306v-285l-207 -352h-190z" />
232
+ <glyph unicode="&#x201c;" horiz-adv-x="1211" d="M190 856v285l204 352h192l-90 -352v-285h-306zM645 856v283l205 354h191l-90 -354v-283h-306z" />
233
+ <glyph unicode="&#x201d;" horiz-adv-x="1211" d="M169 856l91 352v285h306v-285l-205 -352h-192zM625 856l91 350v287h306v-287l-206 -350h-191z" />
234
+ <glyph unicode="&#x201e;" horiz-adv-x="1211" d="M132 -250l91 352v285h306v-285l-207 -352h-190zM588 -250l91 350v287h306v-287l-206 -350h-191z" />
235
+ <glyph unicode="&#x2022;" horiz-adv-x="1178" d="M266 762q0 74 23.5 139t69.5 115q48 51 106.5 77.5t124.5 26.5q65 0 124 -27t104 -77q47 -52 71 -116.5t24 -137.5q0 -74 -24.5 -139.5t-70.5 -116.5t-105 -78t-125 -27t-124.5 27t-104.5 78q-45 51 -69 116.5t-24 139.5z" />
236
+ <glyph unicode="&#x2026;" horiz-adv-x="1843" d="M146 0v387h324v-387h-324zM760 0v387h324v-387h-324zM1373 0v387h324v-387h-324z" />
237
+ <glyph unicode="&#x202f;" horiz-adv-x="381" />
238
+ <glyph unicode="&#x2039;" horiz-adv-x="759" d="M142 506v186l444 371v-242l-264 -221l264 -221v-242z" />
239
+ <glyph unicode="&#x203a;" horiz-adv-x="759" d="M174 137v242l262 221l-262 221v242l443 -371v-186z" />
240
+ <glyph unicode="&#x205f;" horiz-adv-x="476" />
241
+ <glyph unicode="&#x20ac;" d="M-35 477l79 195h88q-1 14 -1.5 29.5t-0.5 43.5q0 29 0.5 45t1.5 31h-167l79 195h116q70 246 230.5 375t396.5 129q100 0 193.5 -28t178.5 -83v-309q-73 78 -155.5 117.5t-171.5 39.5q-115 0 -195.5 -61.5t-120.5 -179.5h485l-78 -195h-443q-2 -16 -2.5 -34t-0.5 -54 q0 -13 0.5 -28.5t1.5 -32.5h386l-80 -195h-269q45 -122 123.5 -183t192.5 -61q89 0 170.5 39.5t156.5 118.5v-309q-85 -55 -178.5 -83t-193.5 -28q-236 0 -397.5 130.5t-229.5 375.5h-195z" />
242
+ <glyph unicode="&#x2122;" horiz-adv-x="1843" d="M266 1350v143h466v-143h-157v-435h-155v435h-154zM833 915v578h205l107 -227l107 227h204v-578h-153v437l-123 -256h-68l-124 256v-437h-155z" />
243
+ <glyph unicode="&#x25fc;" horiz-adv-x="1120" d="M0 0v1120h1120v-1120h-1120z" />
244
+ <hkern g1="hyphen" g2="T" k="301" />
245
+ <hkern g1="hyphen" g2="V" k="149" />
246
+ <hkern g1="hyphen" g2="W" k="92" />
247
+ <hkern g1="hyphen" g2="X" k="167" />
248
+ <hkern g1="hyphen" g2="Y,Yacute,Ydieresis" k="301" />
249
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="comma" k="-38" />
250
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="period" k="-38" />
251
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="colon,semicolon" k="-38" />
252
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="T" k="159" />
253
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="63" />
254
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="V" k="139" />
255
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="W" k="92" />
256
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="Y,Yacute,Ydieresis" k="196" />
257
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="v" k="73" />
258
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="y,yacute,ydieresis" k="73" />
259
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="quoteright" k="188" />
260
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="quotesinglbase" k="-114" />
261
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="quotedblright" k="188" />
262
+ <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" g2="quotedblbase" k="-114" />
263
+ <hkern g1="B" g2="V" k="83" />
264
+ <hkern g1="B" g2="W" k="112" />
265
+ <hkern g1="B" g2="Y,Yacute,Ydieresis" k="112" />
266
+ <hkern g1="C,Ccedilla" g2="hyphen" k="-47" />
267
+ <hkern g1="C,Ccedilla" g2="S" k="-38" />
268
+ <hkern g1="C,Ccedilla" g2="quoteright" k="-75" />
269
+ <hkern g1="C,Ccedilla" g2="quotedblright" k="-75" />
270
+ <hkern g1="D,Eth" g2="hyphen" k="-38" />
271
+ <hkern g1="D,Eth" g2="Y,Yacute,Ydieresis" k="149" />
272
+ <hkern g1="D,Eth" g2="quotesinglbase" k="36" />
273
+ <hkern g1="D,Eth" g2="quotedblbase" k="36" />
274
+ <hkern g1="F" g2="comma" k="329" />
275
+ <hkern g1="F" g2="hyphen" k="63" />
276
+ <hkern g1="F" g2="period" k="301" />
277
+ <hkern g1="F" g2="colon,semicolon" k="112" />
278
+ <hkern g1="F" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="235" />
279
+ <hkern g1="F" g2="a,aacute" k="120" />
280
+ <hkern g1="F" g2="e,eacute" k="83" />
281
+ <hkern g1="F" g2="o,oacute" k="83" />
282
+ <hkern g1="F" g2="r" k="131" />
283
+ <hkern g1="F" g2="u,uacute" k="102" />
284
+ <hkern g1="F" g2="y,yacute,ydieresis" k="112" />
285
+ <hkern g1="F" g2="agrave,acircumflex,atilde,adieresis,aring" k="120" />
286
+ <hkern g1="F" g2="ae" k="120" />
287
+ <hkern g1="F" g2="egrave,ecircumflex,edieresis" k="83" />
288
+ <hkern g1="F" g2="ograve,ocircumflex,otilde,odieresis" k="83" />
289
+ <hkern g1="F" g2="oslash" k="83" />
290
+ <hkern g1="F" g2="ugrave,ucircumflex,udieresis" k="102" />
291
+ <hkern g1="F" g2="oe" k="83" />
292
+ <hkern g1="F" g2="quoteright" k="-38" />
293
+ <hkern g1="F" g2="quotesinglbase" k="339" />
294
+ <hkern g1="F" g2="quotedblbase" k="339" />
295
+ <hkern g1="G" g2="T" k="36" />
296
+ <hkern g1="G" g2="Y,Yacute,Ydieresis" k="45" />
297
+ <hkern g1="K" g2="hyphen" k="178" />
298
+ <hkern g1="K" g2="C,Ccedilla" k="92" />
299
+ <hkern g1="K" g2="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" k="92" />
300
+ <hkern g1="K" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="36" />
301
+ <hkern g1="K" g2="e,eacute" k="36" />
302
+ <hkern g1="K" g2="o,oacute" k="36" />
303
+ <hkern g1="K" g2="u,uacute" k="36" />
304
+ <hkern g1="K" g2="y,yacute,ydieresis" k="131" />
305
+ <hkern g1="K" g2="Oslash" k="55" />
306
+ <hkern g1="K" g2="egrave,ecircumflex,edieresis" k="36" />
307
+ <hkern g1="K" g2="ograve,ocircumflex,otilde,odieresis" k="36" />
308
+ <hkern g1="K" g2="oslash" k="36" />
309
+ <hkern g1="K" g2="ugrave,ucircumflex,udieresis" k="36" />
310
+ <hkern g1="K" g2="OE" k="102" />
311
+ <hkern g1="K" g2="oe" k="36" />
312
+ <hkern g1="K" g2="quotesinglbase" k="-38" />
313
+ <hkern g1="K" g2="quotedblbase" k="-38" />
314
+ <hkern g1="L" g2="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" k="73" />
315
+ <hkern g1="L" g2="T" k="339" />
316
+ <hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="73" />
317
+ <hkern g1="L" g2="V" k="282" />
318
+ <hkern g1="L" g2="W" k="159" />
319
+ <hkern g1="L" g2="Y,Yacute,Ydieresis" k="319" />
320
+ <hkern g1="L" g2="y,yacute,ydieresis" k="139" />
321
+ <hkern g1="L" g2="Oslash" k="73" />
322
+ <hkern g1="L" g2="OE" k="73" />
323
+ <hkern g1="L" g2="quoteright" k="471" />
324
+ <hkern g1="L" g2="quotedblright" k="491" />
325
+ <hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="comma" k="45" />
326
+ <hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="hyphen" k="-38" />
327
+ <hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="period" k="45" />
328
+ <hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="55" />
329
+ <hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="V" k="55" />
330
+ <hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="X" k="73" />
331
+ <hkern g1="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="Y,Yacute,Ydieresis" k="73" />
332
+ <hkern g1="P" g2="comma" k="376" />
333
+ <hkern g1="P" g2="hyphen" k="36" />
334
+ <hkern g1="P" g2="period" k="376" />
335
+ <hkern g1="P" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="188" />
336
+ <hkern g1="P" g2="a,aacute" k="55" />
337
+ <hkern g1="P" g2="s" k="36" />
338
+ <hkern g1="P" g2="y,yacute,ydieresis" k="-38" />
339
+ <hkern g1="P" g2="agrave,acircumflex,atilde,adieresis,aring" k="55" />
340
+ <hkern g1="P" g2="ae" k="55" />
341
+ <hkern g1="P" g2="quoteright" k="-57" />
342
+ <hkern g1="P" g2="quotesinglbase" k="415" />
343
+ <hkern g1="P" g2="quotedblright" k="-38" />
344
+ <hkern g1="P" g2="quotedblbase" k="415" />
345
+ <hkern g1="Q" g2="hyphen" k="-38" />
346
+ <hkern g1="R" g2="comma" k="-38" />
347
+ <hkern g1="R" g2="period" k="-38" />
348
+ <hkern g1="R" g2="T" k="92" />
349
+ <hkern g1="R" g2="Y,Yacute,Ydieresis" k="112" />
350
+ <hkern g1="R" g2="y,yacute,ydieresis" k="92" />
351
+ <hkern g1="S" g2="S" k="92" />
352
+ <hkern g1="T" g2="comma" k="292" />
353
+ <hkern g1="T" g2="hyphen" k="301" />
354
+ <hkern g1="T" g2="period" k="311" />
355
+ <hkern g1="T" g2="colon,semicolon" k="112" />
356
+ <hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="159" />
357
+ <hkern g1="T" g2="T" k="-47" />
358
+ <hkern g1="T" g2="a,aacute" k="264" />
359
+ <hkern g1="T" g2="c,ccedilla" k="272" />
360
+ <hkern g1="T" g2="e,eacute" k="272" />
361
+ <hkern g1="T" g2="o,oacute" k="272" />
362
+ <hkern g1="T" g2="r" k="225" />
363
+ <hkern g1="T" g2="s" k="272" />
364
+ <hkern g1="T" g2="u,uacute" k="225" />
365
+ <hkern g1="T" g2="w" k="225" />
366
+ <hkern g1="T" g2="y,yacute,ydieresis" k="243" />
367
+ <hkern g1="T" g2="agrave,acircumflex,atilde,adieresis,aring" k="164" />
368
+ <hkern g1="T" g2="ae" k="196" />
369
+ <hkern g1="T" g2="egrave,ecircumflex,edieresis" k="212" />
370
+ <hkern g1="T" g2="ograve,ocircumflex,otilde,odieresis" k="192" />
371
+ <hkern g1="T" g2="oslash" k="159" />
372
+ <hkern g1="T" g2="ugrave,ucircumflex,udieresis" k="195" />
373
+ <hkern g1="T" g2="oe" k="159" />
374
+ <hkern g1="T" g2="quotesinglbase" k="264" />
375
+ <hkern g1="T" g2="quotedblbase" k="264" />
376
+ <hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="63" />
377
+ <hkern g1="V" g2="comma" k="264" />
378
+ <hkern g1="V" g2="hyphen" k="149" />
379
+ <hkern g1="V" g2="period" k="264" />
380
+ <hkern g1="V" g2="colon,semicolon" k="92" />
381
+ <hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="139" />
382
+ <hkern g1="V" g2="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" k="36" />
383
+ <hkern g1="V" g2="a,aacute" k="112" />
384
+ <hkern g1="V" g2="e,eacute" k="112" />
385
+ <hkern g1="V" g2="i" k="36" />
386
+ <hkern g1="V" g2="o,oacute" k="112" />
387
+ <hkern g1="V" g2="u,uacute" k="73" />
388
+ <hkern g1="V" g2="Oslash" k="36" />
389
+ <hkern g1="V" g2="agrave,acircumflex,atilde,adieresis,aring" k="112" />
390
+ <hkern g1="V" g2="ae" k="112" />
391
+ <hkern g1="V" g2="egrave,ecircumflex,edieresis" k="112" />
392
+ <hkern g1="V" g2="ograve,ocircumflex,otilde,odieresis" k="112" />
393
+ <hkern g1="V" g2="oslash" k="112" />
394
+ <hkern g1="V" g2="ugrave,ucircumflex,udieresis" k="73" />
395
+ <hkern g1="V" g2="OE" k="36" />
396
+ <hkern g1="V" g2="oe" k="112" />
397
+ <hkern g1="V" g2="quotesinglbase" k="225" />
398
+ <hkern g1="V" g2="quotedblbase" k="188" />
399
+ <hkern g1="W" g2="comma" k="167" />
400
+ <hkern g1="W" g2="hyphen" k="92" />
401
+ <hkern g1="W" g2="period" k="167" />
402
+ <hkern g1="W" g2="colon,semicolon" k="63" />
403
+ <hkern g1="W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="92" />
404
+ <hkern g1="W" g2="a,aacute" k="73" />
405
+ <hkern g1="W" g2="e,eacute" k="73" />
406
+ <hkern g1="W" g2="o,oacute" k="73" />
407
+ <hkern g1="W" g2="r" k="36" />
408
+ <hkern g1="W" g2="agrave,acircumflex,atilde,adieresis,aring" k="73" />
409
+ <hkern g1="W" g2="ae" k="73" />
410
+ <hkern g1="W" g2="egrave,ecircumflex,edieresis" k="73" />
411
+ <hkern g1="W" g2="ograve,ocircumflex,otilde,odieresis" k="73" />
412
+ <hkern g1="W" g2="oslash" k="73" />
413
+ <hkern g1="W" g2="oe" k="73" />
414
+ <hkern g1="X" g2="hyphen" k="167" />
415
+ <hkern g1="X" g2="C,Ccedilla" k="73" />
416
+ <hkern g1="X" g2="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" k="73" />
417
+ <hkern g1="X" g2="e,eacute" k="55" />
418
+ <hkern g1="X" g2="Oslash" k="73" />
419
+ <hkern g1="X" g2="egrave,ecircumflex,edieresis" k="55" />
420
+ <hkern g1="X" g2="OE" k="73" />
421
+ <hkern g1="X" g2="quotesinglbase" k="-38" />
422
+ <hkern g1="X" g2="quotedblbase" k="-38" />
423
+ <hkern g1="Y,Yacute,Ydieresis" g2="comma" k="339" />
424
+ <hkern g1="Y,Yacute,Ydieresis" g2="hyphen" k="301" />
425
+ <hkern g1="Y,Yacute,Ydieresis" g2="period" k="339" />
426
+ <hkern g1="Y,Yacute,Ydieresis" g2="colon,semicolon" k="178" />
427
+ <hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="196" />
428
+ <hkern g1="Y,Yacute,Ydieresis" g2="C,Ccedilla" k="73" />
429
+ <hkern g1="Y,Yacute,Ydieresis" g2="O,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" k="73" />
430
+ <hkern g1="Y,Yacute,Ydieresis" g2="a,aacute" k="188" />
431
+ <hkern g1="Y,Yacute,Ydieresis" g2="e,eacute" k="188" />
432
+ <hkern g1="Y,Yacute,Ydieresis" g2="o,oacute" k="188" />
433
+ <hkern g1="Y,Yacute,Ydieresis" g2="u,uacute" k="149" />
434
+ <hkern g1="Y,Yacute,Ydieresis" g2="Oslash" k="36" />
435
+ <hkern g1="Y,Yacute,Ydieresis" g2="agrave,acircumflex,atilde,adieresis,aring" k="188" />
436
+ <hkern g1="Y,Yacute,Ydieresis" g2="ae" k="188" />
437
+ <hkern g1="Y,Yacute,Ydieresis" g2="egrave,ecircumflex,edieresis" k="188" />
438
+ <hkern g1="Y,Yacute,Ydieresis" g2="ograve,ocircumflex,otilde,odieresis" k="188" />
439
+ <hkern g1="Y,Yacute,Ydieresis" g2="oslash" k="188" />
440
+ <hkern g1="Y,Yacute,Ydieresis" g2="ugrave,ucircumflex,udieresis" k="149" />
441
+ <hkern g1="Y,Yacute,Ydieresis" g2="OE" k="92" />
442
+ <hkern g1="Y,Yacute,Ydieresis" g2="oe" k="188" />
443
+ <hkern g1="Y,Yacute,Ydieresis" g2="quotesinglbase" k="376" />
444
+ <hkern g1="Y,Yacute,Ydieresis" g2="quotedblbase" k="301" />
445
+ <hkern g1="Z,AE" g2="hyphen" k="36" />
446
+ <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="y,yacute,ydieresis" k="63" />
447
+ <hkern g1="f" g2="comma" k="112" />
448
+ <hkern g1="f" g2="hyphen" k="36" />
449
+ <hkern g1="f" g2="period" k="112" />
450
+ <hkern g1="f" g2="quoteright" k="-141" />
451
+ <hkern g1="f" g2="quotedblright" k="-86" />
452
+ <hkern g1="k" g2="e,eacute" k="55" />
453
+ <hkern g1="k" g2="o,oacute" k="55" />
454
+ <hkern g1="k" g2="egrave,ecircumflex,edieresis" k="55" />
455
+ <hkern g1="k" g2="ograve,ocircumflex,otilde,odieresis" k="55" />
456
+ <hkern g1="k" g2="oslash" k="45" />
457
+ <hkern g1="k" g2="oe" k="55" />
458
+ <hkern g1="r" g2="comma" k="301" />
459
+ <hkern g1="r" g2="period" k="292" />
460
+ <hkern g1="r" g2="quoteright" k="-86" />
461
+ <hkern g1="r" g2="quotedblright" k="-38" />
462
+ <hkern g1="v" g2="comma" k="167" />
463
+ <hkern g1="v" g2="period" k="167" />
464
+ <hkern g1="w" g2="comma" k="131" />
465
+ <hkern g1="w" g2="period" k="131" />
466
+ <hkern g1="y,yacute,ydieresis" g2="comma" k="159" />
467
+ <hkern g1="y,yacute,ydieresis" g2="period" k="188" />
468
+ <hkern g1="Oslash" g2="comma" k="45" />
469
+ <hkern g1="Oslash" g2="hyphen" k="-38" />
470
+ <hkern g1="Oslash" g2="period" k="45" />
471
+ <hkern g1="Oslash" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="36" />
472
+ <hkern g1="Oslash" g2="V" k="36" />
473
+ <hkern g1="Oslash" g2="X" k="73" />
474
+ <hkern g1="Oslash" g2="Y,Yacute,Ydieresis" k="36" />
475
+ <hkern g1="quoteleft" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="235" />
476
+ <hkern g1="quoteleft" g2="J" k="92" />
477
+ <hkern g1="quoteleft" g2="V" k="-38" />
478
+ <hkern g1="quoteleft" g2="Y,Yacute,Ydieresis" k="-75" />
479
+ <hkern g1="quoteleft" g2="AE" k="264" />
480
+ <hkern g1="quotesinglbase,quotedblbase" g2="T" k="415" />
481
+ <hkern g1="quotesinglbase,quotedblbase" g2="V" k="282" />
482
+ <hkern g1="quotesinglbase,quotedblbase" g2="W" k="215" />
483
+ <hkern g1="quotesinglbase,quotedblbase" g2="Y,Yacute,Ydieresis" k="358" />
484
+ <hkern g1="quotedblleft" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis" k="264" />
485
+ <hkern g1="quotedblleft" g2="J" k="92" />
486
+ <hkern g1="quotedblleft" g2="Y,Yacute,Ydieresis" k="-38" />
487
+ <hkern g1="quotedblleft" g2="AE" k="301" />
488
+ </font>
489
+ </defs></svg>
skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.ttf ADDED
Binary file
skin/frontend/base/default/css/dejavusanscondensed-bold-webfont.woff ADDED
Binary file
skin/frontend/base/default/css/dejavusanscondensed-webfont.ttf ADDED
Binary file
skin/frontend/base/default/css/dejavusanscondensed-webfont.woff ADDED
Binary file
skin/frontend/base/default/css/pikaday.css ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /*!
4
+ * Pikaday
5
+ * Copyright © 2012 David Bushell | BSD & MIT license | http://dbushell.com/
6
+ */
7
+
8
+ .pika-single {
9
+ z-index: 9999;
10
+ display: block;
11
+ position: relative;
12
+ width: 240px;
13
+ padding: 8px;
14
+ color: #333;
15
+ background: #fff;
16
+ border: 1px solid #ccc;
17
+ border-bottom-color: #bbb;
18
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
19
+ }
20
+
21
+ .pika-single.is-hidden {
22
+ display: none;
23
+ }
24
+
25
+ .pika-single.is-bound {
26
+ position: absolute;
27
+ box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
28
+ }
29
+
30
+ .pika-title {
31
+ position: relative;
32
+ text-align: center;
33
+ }
34
+
35
+ .pika-label {
36
+ display: inline-block;
37
+ *display: inline;
38
+ position: relative;
39
+ z-index: 9999;
40
+ overflow: hidden;
41
+ margin: 0;
42
+ padding: 5px 3px;
43
+ font-size: 14px;
44
+ line-height: 20px;
45
+ font-weight: bold;
46
+ background-color: #fff;
47
+ }
48
+ .pika-title select {
49
+ cursor: pointer;
50
+ position: absolute;
51
+ z-index: 9998;
52
+ margin: 0;
53
+ left: 0;
54
+ top: 5px;
55
+ filter: alpha(opacity=0);
56
+ opacity: 0;
57
+ }
58
+
59
+ .pika-prev,
60
+ .pika-next {
61
+ display: block;
62
+ cursor: pointer;
63
+ position: relative;
64
+ outline: none;
65
+ border: 0;
66
+ padding: 0;
67
+ width: 20px;
68
+ height: 30px;
69
+ background-color: transparent;
70
+ background-position: center center;
71
+ background-repeat: no-repeat;
72
+ background-size: 75% 75%;
73
+ white-space: nowrap;
74
+ text-indent: 100%;
75
+ overflow: hidden;
76
+ opacity: .5;
77
+ *position: absolute;
78
+ *top: 0;
79
+ }
80
+
81
+ .pika-prev:hover,
82
+ .pika-next:hover {
83
+ opacity: 1;
84
+ }
85
+
86
+ .pika-prev,
87
+ .is-rtl .pika-next {
88
+ float: left;
89
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');
90
+ *left: 0;
91
+ }
92
+
93
+ .pika-next,
94
+ .is-rtl .pika-prev {
95
+ float: right;
96
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');
97
+ *right: 0;
98
+ }
99
+
100
+ .pika-prev.is-disabled,
101
+ .pika-next.is-disabled {
102
+ cursor: default;
103
+ opacity: .2;
104
+ }
105
+
106
+ .pika-select {
107
+ display: inline-block;
108
+ *display: inline;
109
+ }
110
+
111
+ .pika-table {
112
+ width: 100%;
113
+ border-collapse: collapse;
114
+ border-spacing: 0;
115
+ border: 0;
116
+ }
117
+
118
+ .pika-table th,
119
+ .pika-table td {
120
+ width: 14.285714285714286%;
121
+ }
122
+
123
+ .pika-table th {
124
+ color: #999;
125
+ font-size: 12px;
126
+ line-height: 25px;
127
+ font-weight: bold;
128
+ text-align: center;
129
+ }
130
+
131
+ .pika-button {
132
+ cursor: pointer;
133
+ display: block;
134
+ outline: none;
135
+ border: 0;
136
+ margin: 0;
137
+ width: 100%;
138
+ padding: 5px;
139
+ color: #666;
140
+ font-size: 12px;
141
+ line-height: 15px;
142
+ text-align: right;
143
+ background: #f5f5f5;
144
+ }
145
+
146
+ .is-today .pika-button {
147
+ color: #33aaff;
148
+ font-weight: bold;
149
+ }
150
+
151
+ .is-selected .pika-button {
152
+ color: #fff;
153
+ font-weight: bold;
154
+ background: #33aaff;
155
+ box-shadow: inset 0 1px 3px #178fe5;
156
+ border-radius: 3px;
157
+ }
158
+
159
+ .is-disabled .pika-button {
160
+ pointer-events: none;
161
+ cursor: default;
162
+ color: #999;
163
+ opacity: .3;
164
+ }
165
+
166
+ .pika-button:hover {
167
+ color: #fff !important;
168
+ background: #ff8000 !important;
169
+ box-shadow: none !important;
170
+ border-radius: 3px !important;
171
+ }
skin/frontend/base/default/css/squeezol.css ADDED
@@ -0,0 +1,1052 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'DejaVuSansCondensed';
3
+ src: url('dejavusanscondensed-webfont.eot');
4
+ src: url('dejavusanscondensed-webfont.eot?#iefix') format('embedded-opentype'),
5
+ url('dejavusanscondensed-webfont.woff') format('woff'),
6
+ url('dejavusanscondensed-webfont.ttf') format('truetype'),
7
+ url('dejavusanscondensed-webfont.svg#dejavu_sanscondensed') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ @font-face {
13
+ font-family: 'DejaVuSansCondensed-Bold';
14
+ src: url('dejavusanscondensed-bold-webfont.eot');
15
+ src: url('dejavusanscondensed-bold-webfont.eot?#iefix') format('embedded-opentype'),
16
+ url('dejavusanscondensed-bold-webfont.woff') format('woff'),
17
+ url('dejavusanscondensed-bold-webfont.ttf') format('truetype'),
18
+ url('dejavusanscondensed-bold-webfont.svg#dejavu_sanscondensed_bold') format('svg');
19
+ font-weight: normal;
20
+ font-style: normal;
21
+ }
22
+
23
+ @font-face {
24
+ font-family: 'AbsolutProCond';
25
+ src: url('absolut_pro_bookcondensed-webfont.eot');
26
+ src: url('absolut_pro_bookcondensed-webfont.eot?#iefix') format('embedded-opentype'),
27
+ url('absolut_pro_bookcondensed-webfont.woff') format('woff'),
28
+ url('absolut_pro_bookcondensed-webfont.ttf') format('truetype'),
29
+ url('absolut_pro_bookcondensed-webfont.svg#absolut_pro_condensed_reducRg') format('svg');
30
+ font-weight: normal;
31
+ font-style: normal;
32
+
33
+ }
34
+
35
+ @font-face {
36
+ font-family: 'AbsolutProCond-Bold';
37
+ src: url('absolut_pro_boldcondensed-webfont.eot');
38
+ src: url('absolut_pro_boldcondensed-webfont.eot?#iefix') format('embedded-opentype'),
39
+ url('absolut_pro_boldcondensed-webfont.woff') format('woff'),
40
+ url('absolut_pro_boldcondensed-webfont.ttf') format('truetype'),
41
+ url('absolut_pro_boldcondensed-webfont.svg#absolut_pro_condensed_reducRg') format('svg');
42
+ font-weight: normal;
43
+ font-style: normal;
44
+ }
45
+
46
+ @font-face {
47
+ font-family:"DejaVuSansCondensed-BoldOblique";
48
+ src:url("DejaVuSansCondensed-BoldOblique.eot");
49
+ src:url("DejaVuSansCondensed-BoldOblique.woff") format("woff"),
50
+ url("DejaVuSansCondensed-BoldOblique.ttf") format("truetype"),
51
+ url("DejaVuSansCondensed-BoldOblique.eot?#iefix") format("embedded-opentype"),
52
+ url("DejaVuSansCondensed-BoldOblique.svg#DejaVuSansCondensed-BoldOblique") format("svg");
53
+ font-weight:normal;
54
+ font-style:normal;
55
+ }
56
+
57
+ h4 {
58
+ font-family: "DejaVuSansCondensed-BoldOblique" !important;
59
+ color: #08b3c7 !important;
60
+ font-weight: 100 !important;
61
+ }
62
+
63
+ #squeezol_view input, textarea {
64
+ font-weight: 10 !important;
65
+ }
66
+
67
+ label { font-weight: bold !important; color: #08B3C7 !important; }
68
+
69
+ .sq-popover {
70
+ z-index:1000 !important;
71
+ }
72
+
73
+ .sq-panel-group {
74
+ z-index: 999 !important;
75
+ }
76
+
77
+ #squeezol_button, .squeezolButtonSuccess, .sq-invita-ancora, #SqueezolFinishPay_, #SqueezolPay_, #SqueezolStartPay_, #SqueezolDeserted_, #SqueezolModifyAmount_, #squeezol_next, #squeezolSubmit_ {
78
+ cursor: pointer !important;
79
+ background-color: #08B3C7;
80
+ border: #08B3C7 !important;
81
+ color: white !important;
82
+ font-family: "DejaVuSansCondensed-BoldOblique";
83
+ }
84
+
85
+ .sq-invita-ancora {
86
+ margin-top: 10px;
87
+
88
+ }
89
+
90
+ #squeezol_next {
91
+ background-color: #08B3C7 !important;
92
+ float: right;
93
+ }
94
+
95
+ #SqueezolInvitation_ {
96
+ background-color: #DA396F; !important
97
+ }
98
+
99
+ #SqueezolRefund_ {
100
+ font-family: "DejaVuSansCondensed-BoldOblique";
101
+ }
102
+
103
+ #SqueezolStartPay_, #SqueezolInvitation_, #SqueezolModifyAmount_, #SqueezolPay_, #SqueezolDeserted_ {
104
+ height: 40px !important;
105
+ font-size: 12px !important;
106
+ }
107
+
108
+ #SqueezolModifyAmount_ {
109
+ margin-top: 15px;
110
+ }
111
+
112
+ #emailModal_ {
113
+ background-color: #FC8F1A !important;
114
+ height: 30px !important;
115
+ display: block !important;
116
+ border-radius: 1em !important;
117
+ -webkit-border-radius: 1em;
118
+ -moz-border-radius: 1em;
119
+ font-family: DejaVuSansCondensed-BoldOblique;
120
+ font-size: 12px !important;
121
+ color: #FFF !important;
122
+ font-style: normal !important;
123
+ text-align: center !important;
124
+ line-height: 10px !important;
125
+ letter-spacing: 0em !important;
126
+ cursor: pointer !important;
127
+ }
128
+
129
+
130
+ .sq-buttonEmail {
131
+ background-color: #FC8F1A !important;
132
+ border: #FC8F1A !important;
133
+ border-radius: 1em !important;
134
+ -webkit-border-radius: 1em;
135
+ -moz-border-radius: 1em;
136
+ font-size: 12px;
137
+ color: #FFF;
138
+ font-style: normal;
139
+ text-align: center;
140
+ line-height: 10px;
141
+ letter-spacing: 0em;
142
+ cursor: pointer;
143
+ font-family: "DejaVuSansCondensed-BoldOblique";
144
+ }
145
+
146
+ .sq-buttonFb {
147
+ background-color: #3B5998 !important;
148
+ height: 30px !important;
149
+ display: block !important;
150
+ border-radius: 1em !important;
151
+ -webkit-border-radius: 1em;
152
+ -moz-border-radius: 1em;
153
+ font-family: DejaVuSansCondensed-BoldOblique;
154
+ font-size: 12px !important;
155
+ color: #FFF !important;
156
+ font-style: normal !important;
157
+ text-align: center !important;
158
+ line-height: 10px !important;
159
+ letter-spacing: 0em !important;
160
+ cursor: pointer !important;
161
+ }
162
+
163
+ div.row-separata {
164
+ margin-top: 15px !important;
165
+ padding-top: 10px !important;
166
+ }
167
+
168
+ .separator {
169
+ border-bottom: 1px solid #dcdcdc !important;
170
+ margin-top: 15px !important;
171
+ margin-bottom: 15px !important;
172
+ }
173
+
174
+ .separator-blu {
175
+ border-bottom: 1px solid #08b3c7 !important;
176
+ margin-top: 40px !important;
177
+ }
178
+
179
+ .separator-active {
180
+ border-bottom: 3px solid #DA396F !important;
181
+ margin-top: 15px !important;
182
+ margin-bottom: 15px !important;
183
+ }
184
+
185
+ .separator-inactive {
186
+ border-bottom: 3px solid #dcdcdc !important;
187
+ margin-top: 15px !important;
188
+ margin-bottom: 15px !important;
189
+ }
190
+
191
+ .text-step-active {
192
+ color: #08b3c7 !important;
193
+ }
194
+
195
+ .text-step-inactive {
196
+ color: #dcdcdc !important;
197
+ }
198
+
199
+ .text-step-refused {
200
+ color: red !important;
201
+ }
202
+
203
+ .text-step-accepted {
204
+ color: green !important;
205
+ }
206
+
207
+ .sq-text {
208
+ display: inline;
209
+ font-family: DejaVuSansCondensed;
210
+ color: #0AB3C6;
211
+ }
212
+
213
+ .squeezol-btn-header {
214
+ width:25% !important;
215
+ display:inline !important;
216
+ margin-right: -8px !important;
217
+ padding-right: 5px !important;
218
+ padding-bottom: 10px !important;
219
+ }
220
+
221
+ .sq-alert-info{
222
+ background-color: #A9E4EB !important;
223
+ }
224
+
225
+ .pad-it {
226
+ padding: 5px !important;
227
+ margin: 5px !important;
228
+ }
229
+
230
+ .sq-quota {
231
+ font-size: 24.2px !important;
232
+ margin-top: 10px;
233
+ margin-bottom: 10px;
234
+ }
235
+
236
+
237
+ .sq-content-title {
238
+ font-family: AbsolutProCond-Bold;
239
+ font-size: 24.2px !important;
240
+ font-style: normal !important;
241
+ text-align: left !important;
242
+ line-height: 29px !important;
243
+ letter-spacing: 0em !important;
244
+ opacity: 1 !important;
245
+ color: #4f424a !important;
246
+ margin-bottom: 25px !important;
247
+ padding-left: 0px !important;
248
+ cursor: default !important;
249
+ }
250
+
251
+ .sq-content-body, .sq-content-body strong {
252
+ font-family: DejaVuSansCondensed;
253
+ font-size: 14px !important;
254
+ font-style: normal !important;
255
+ text-align: left !important;
256
+ line-height: 16.8px !important;
257
+ letter-spacing: 0em !important;
258
+ opacity: 1 !important;
259
+ color: #4f424a !important;
260
+ }
261
+
262
+ .sq-withBorder {
263
+ border: 1px solid #DDD !important;
264
+ border-radius: 4px !important;
265
+ -webkit-border-radius: 4px;
266
+ -moz-border-radius: 4px;
267
+ padding: 5px;
268
+ }
269
+
270
+ .sq-label {
271
+ font-family: AbsolutProCond;
272
+ font-size: 15px !important;
273
+ font-style: normal !important;
274
+ font-weight: 100 !important;
275
+ text-align: left !important;
276
+ line-height: 22.8px !important;
277
+ letter-spacing: 0em !important;
278
+ opacity: 1 !important;
279
+ color: #4f424a !important;
280
+ display:inline !important;
281
+ margin-bottom: 10px;
282
+ }
283
+
284
+ /* Invitation */
285
+ .imgAvatar{
286
+ width: 100% !important;
287
+ max-height: 40px !important;
288
+ max-width: 40px !important;
289
+ }
290
+
291
+ h4.summary strong{
292
+ font-family: "Arial";
293
+ color: #404040 !important;
294
+ font-weight: 100 !important;
295
+ }
296
+ .pipa { padding-top: 30px !important;}
297
+
298
+ /* WIZARD */
299
+ .wizard img{
300
+ width: 80% !important;
301
+ }
302
+ .wizard h4 {
303
+ color: #808080 !important;
304
+ }
305
+
306
+ div.wizardOpen{
307
+ cursor: pointer !important;
308
+ float:left !important;
309
+ }
310
+ h4.wizardOpen{
311
+ cursor: pointer !important;
312
+ display: block !important;
313
+ }
314
+
315
+ .sq-date-icon {
316
+ max-width: 12px;
317
+ }
318
+
319
+ .squeezol_button_big{
320
+ width:20% !important;
321
+ margin-left: auto !important;
322
+ margin-right: auto !important;
323
+ }
324
+ /* END */
325
+
326
+ .squeezol_button_big img{
327
+ width: 100% !important;
328
+ cursor: pointer !important;
329
+ }
330
+
331
+ h3.sq-popover-title {
332
+ font-family: "DejaVuSansCondensed-BoldOblique";
333
+ color: #808080 !important;
334
+ padding-left:40px !important;
335
+ }
336
+
337
+
338
+ p.sq-alert-danger, #squeezolNotifyAmount_ {
339
+ margin-top: 5px !important;
340
+ }
341
+
342
+ .container-body {
343
+ height: 100% !important;
344
+ margin-top: -75px !important;
345
+ padding-top: 95px !important;
346
+ padding-bottom: 100px !important;
347
+ }
348
+
349
+ .container-dashboard {
350
+ /* background-color: #FFFFFF !important;
351
+ -webkit-border-radius: 1em;
352
+ -moz-border-radius: 1em;
353
+ border-radius: 1em;
354
+ border: 1px solid #dcdcdc !important;
355
+
356
+ box-shadow: 3px 3px 1px #dcdcdc !important;
357
+ */
358
+ padding-top:50px !important;
359
+ padding-bottom:50px !important;
360
+ }
361
+
362
+ iframe {
363
+ position: absolute !important;
364
+ top: 250px !important;
365
+ left:250px !important;
366
+ }
367
+
368
+ input.sq-form-control, textarea.sq-form-control, select {
369
+ width:100% !important;
370
+ font-family: AbsoluteProCond !important;
371
+ }
372
+
373
+ .form-group > select {
374
+ margin-left: 2px !important;
375
+ }
376
+
377
+ .invitationContainer, .sq-buttonEmail{
378
+ margin-bottom:20px !important;
379
+ }
380
+
381
+ .sq-form-group select, #datepicker1 , #datepicker2, .sq-panel-heading {
382
+ background-color:#A9E4EB !important;
383
+ border:#A9E4EB !important;
384
+ cursor: pointer !important;
385
+ text-align: center !important;
386
+
387
+ }
388
+
389
+ .sq-input-group-addon{
390
+ color:#FFF !important;
391
+ background-color:#0AB3C6 !important;
392
+ cursor:default !important;
393
+ }
394
+
395
+ .sq-form-group select {
396
+ padding-top: 5px !important;
397
+ padding-bottom:5px !important;
398
+ display: block !important;
399
+ width: 100% !important;
400
+ border-radius: 4px !important;
401
+ -webkit-border-radius: 4px;
402
+ -moz-border-radius: 4px;
403
+ }
404
+
405
+ .sq-form-group select, .sq-form-group option {
406
+ margin-left: 4px !important;
407
+ color:#665558 !important;
408
+ }
409
+
410
+ .sq-pin {
411
+ font-family: DejaVuSansCondensed;
412
+ font-size: 14px !important;
413
+ font-style: normal !important;
414
+ text-align: left !important;
415
+ line-height: 30px !important;
416
+ letter-spacing: 0em !important;
417
+ opacity: 1 !important;
418
+ background-color: #A9E4EB !important;
419
+ }
420
+
421
+ .glyph-ok {
422
+ background-color: #DFF0D8 !important;
423
+ color: #3C763D !important;
424
+ }
425
+
426
+ div.sq-glyph-info-sign {
427
+ display: inline !important;
428
+ width: 30px !important;
429
+ height: 30px !important;
430
+ cursor: pointer !important;
431
+ padding-left: 1px !important;
432
+ color: rgb(255, 255, 255) !important;
433
+ box-shadow: 1px 1px 0.5px #0AB3C6 !important;
434
+ border-radius: 20px !important;
435
+ -webkit-border-radius: 20px;
436
+ -moz-border-radius: 20px;
437
+ }
438
+
439
+ .icon p {
440
+ font-family: "AbsolutePro-BoldOblique";
441
+ color: #000 !important;
442
+ width: 30px !important;
443
+ height: 30px !important;
444
+ display: inline !important;
445
+ margin:3px !important;
446
+ padding:3px !important;
447
+ line-height: 20px;
448
+ }
449
+
450
+ .icon {
451
+ color: #7F8389 !important;
452
+ width: 100px !important;
453
+ height: 100px !important;
454
+ display: inline !important;
455
+ padding-left: 4px !important;
456
+ margin-left: 4px !important;
457
+ font-size: 100% !important;
458
+ cursor: pointer !important;
459
+ }
460
+
461
+ .target-A {
462
+ font-family: DejaVuSansCondensed;
463
+ font-size: 12px !important;
464
+ background-color:#0AB3C6 !important;
465
+ font-style: normal !important;
466
+ text-align: center !important;
467
+ line-height: 14px !important;
468
+ letter-spacing: 0em !important;
469
+ opacity: 1 !important;
470
+ color: #FFF !important;
471
+ }
472
+
473
+ .target-P {
474
+ font-family: DejaVuSansCondensed;
475
+ font-size: 14px !important;
476
+ background-color:#0AB3C6 !important;
477
+ font-style: normal !important;
478
+ text-align: center !important;
479
+ line-height: 16px !important;
480
+ letter-spacing: 0em !important;
481
+ opacity: 1 !important;
482
+ color: #FFF !important;
483
+ padding: 5px;
484
+ }
485
+
486
+ .target-R {
487
+ font-family: DejaVuSansCondensed;
488
+ font-size: 12px !important;
489
+ background-color:#6B6868 !important;
490
+ font-style: normal !important;
491
+ text-align: center !important;
492
+ line-height: 14px !important;
493
+ letter-spacing: 0em !important;
494
+ opacity: 1 !important;
495
+ color: #FFF !important;
496
+ }
497
+
498
+ .target-P p, .sq-pin {
499
+ padding: 2px;
500
+ text-align:center;
501
+ }
502
+
503
+ .box-blu-digest {
504
+ border: 2px solid #0AB3C6;
505
+ margin-left: -15px;
506
+ margin-right: 0px;
507
+ text-align: center;
508
+ padding: 10px;
509
+ -webkit-border-radius: 4px;
510
+ -moz-border-radius: 4px;
511
+ border-radius: 4px;
512
+ }
513
+
514
+
515
+ .sq-box-blu {
516
+ border: 2px solid #0AB3C6;
517
+ }
518
+
519
+
520
+ .sq-box-blu p{
521
+ font-family: DejaVuSansCondensed;
522
+ font-size: 14px;
523
+ font-style: normal;
524
+ text-align: left;
525
+ line-height: 16px;
526
+ letter-spacing: 0em;
527
+ opacity: 1;
528
+ text-align: center;
529
+ padding: 10px;
530
+ color: #000;
531
+ }
532
+
533
+ .pink-link a {
534
+ cursor: pointer;
535
+ color:#DA396F;
536
+ margin-top:25px;
537
+ font-size: 14px;
538
+ }
539
+
540
+ .sq-pink-text {
541
+ color:#DA396F !important;
542
+ }
543
+
544
+ div.withPaddedBorder {
545
+ border: 1px solid #DDD;
546
+ -webkit-border-radius: 4px;
547
+ -moz-border-radius: 4px;
548
+ border-radius: 4px;
549
+ padding:20px;
550
+ }
551
+
552
+ .part h4{
553
+ font-family: 'AbsolutProCond';
554
+ }
555
+ #closeModal {
556
+ background-color: #FFFFFF;
557
+ border-radius: 1em;
558
+ -webkit-border-radius: 1em;
559
+ -moz-border-radius: 1em;
560
+ border: 1px solid #dcdcdc;
561
+ position: absolute;
562
+ top: 200px;
563
+ right:200px;
564
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
565
+ filter: alpha(opacity=100);
566
+ -moz-opacity: 1.0;
567
+ -khtml-opacity: 1.0;
568
+ opacity: 1.0;
569
+ width: 10%;
570
+ height:5%;
571
+ }
572
+
573
+ .sq-target-small {
574
+ font-family: DejaVuSansCondensed-Bold;
575
+ font-size: 12px;
576
+ background-color:#0AB3C6;
577
+ font-style: normal;
578
+ text-align: center;
579
+ line-height: 10px;
580
+ letter-spacing: 0em;
581
+ opacity: 1;
582
+ color: #FFF;
583
+ padding: 5px;
584
+ }
585
+
586
+ .no-pad {
587
+ padding:4px;
588
+ }
589
+
590
+ /* -------------------------------------
591
+ * Bar container
592
+ * ------------------------------------- */
593
+ .progress-radial {
594
+ left: 50%;
595
+ margin-left: -50px;
596
+ margin-top: 10px;
597
+ margin-bottom: 10px;
598
+ position: relative;
599
+ width: 100px;
600
+ height: 100px;
601
+ border-radius: 50%;
602
+ -webkit-border-radius: 50%;
603
+ -moz-border-radius: 50%;
604
+
605
+ background-color: #DA396F;
606
+ }
607
+
608
+ /* -------------------------------------
609
+ * Optional centered circle w/text
610
+ * ------------------------------------- */
611
+ .progress-radial .overlay {
612
+ font-family: DejaVuSansCondensed-Bold;
613
+ font-style: normal;
614
+ position: absolute;
615
+ width: 70px;
616
+ height: 70px;
617
+ background-color: #E5E5E5;
618
+ border-radius: 50%;
619
+ -webkit-border-radius: 50%;
620
+ -moz-border-radius: 50%;
621
+ margin-left: 15px;
622
+ margin-top: 15px;
623
+ text-align: center;
624
+ line-height: 70px;
625
+ font-size: 10px;
626
+ color: #DA396F;
627
+ }
628
+
629
+ /* -------------------------------------
630
+ * Text inside overlay
631
+ * ------------------------------------- */
632
+
633
+
634
+ .text-overlay {
635
+ font-family: DejaVuSansCondensed-Bold;
636
+ font-size: 10px;
637
+ font-style: normal;
638
+ text-align: center;
639
+ line-height: 10px;
640
+ letter-spacing: 0em;
641
+ opacity: 1;
642
+ color: #000 !important;
643
+ }
644
+
645
+
646
+ /* -------------------------------------
647
+ * Mixin for progress-% class
648
+ * ------------------------------------- */
649
+ .progress-0 {
650
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(90deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
651
+ }
652
+
653
+ .progress-1 {
654
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(93.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
655
+ }
656
+
657
+ .progress-2 {
658
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(97.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
659
+ }
660
+
661
+ .progress-3 {
662
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(100.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
663
+ }
664
+
665
+ .progress-4 {
666
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(104.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
667
+ }
668
+
669
+ .progress-5 {
670
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(108deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
671
+ }
672
+
673
+ .progress-6 {
674
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(111.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
675
+ }
676
+
677
+ .progress-7 {
678
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(115.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
679
+ }
680
+
681
+ .progress-8 {
682
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(118.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
683
+ }
684
+
685
+ .progress-9 {
686
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(122.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
687
+ }
688
+
689
+ .progress-10 {
690
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(126deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
691
+ }
692
+
693
+ .progress-11 {
694
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(129.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
695
+ }
696
+
697
+ .progress-12 {
698
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(133.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
699
+ }
700
+
701
+ .progress-13 {
702
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(136.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
703
+ }
704
+
705
+ .progress-14 {
706
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(140.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
707
+ }
708
+
709
+ .progress-15 {
710
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(144deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
711
+ }
712
+
713
+ .progress-16 {
714
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(147.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
715
+ }
716
+
717
+ .progress-17 {
718
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(151.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
719
+ }
720
+
721
+ .progress-18 {
722
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(154.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
723
+ }
724
+
725
+ .progress-19 {
726
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(158.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
727
+ }
728
+
729
+ .progress-20 {
730
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(162deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
731
+ }
732
+
733
+ .progress-21 {
734
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(165.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
735
+ }
736
+
737
+ .progress-22 {
738
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(169.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
739
+ }
740
+
741
+ .progress-23 {
742
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(172.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
743
+ }
744
+
745
+ .progress-24 {
746
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(176.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
747
+ }
748
+
749
+ .progress-25 {
750
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(180deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
751
+ }
752
+
753
+ .progress-26 {
754
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(183.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
755
+ }
756
+
757
+ .progress-27 {
758
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(187.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
759
+ }
760
+
761
+ .progress-28 {
762
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(190.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
763
+ }
764
+
765
+ .progress-29 {
766
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(194.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
767
+ }
768
+
769
+ .progress-30 {
770
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(198deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
771
+ }
772
+
773
+ .progress-31 {
774
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(201.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
775
+ }
776
+
777
+ .progress-32 {
778
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(205.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
779
+ }
780
+
781
+ .progress-33 {
782
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(208.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
783
+ }
784
+
785
+ .progress-34 {
786
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(212.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
787
+ }
788
+
789
+ .progress-35 {
790
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(216deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
791
+ }
792
+
793
+ .progress-36 {
794
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(219.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
795
+ }
796
+
797
+ .progress-37 {
798
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(223.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
799
+ }
800
+
801
+ .progress-38 {
802
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(226.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
803
+ }
804
+
805
+ .progress-39 {
806
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(230.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
807
+ }
808
+
809
+ .progress-40 {
810
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(234deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
811
+ }
812
+
813
+ .progress-41 {
814
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(237.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
815
+ }
816
+
817
+ .progress-42 {
818
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(241.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
819
+ }
820
+
821
+ .progress-43 {
822
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(244.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
823
+ }
824
+
825
+ .progress-44 {
826
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(248.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
827
+ }
828
+
829
+ .progress-45 {
830
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(252deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
831
+ }
832
+
833
+ .progress-46 {
834
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(255.6deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
835
+ }
836
+
837
+ .progress-47 {
838
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(259.2deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
839
+ }
840
+
841
+ .progress-48 {
842
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(262.8deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
843
+ }
844
+
845
+ .progress-49 {
846
+ background-image: linear-gradient(90deg, #FFFFFF 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(266.4deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
847
+ }
848
+
849
+ .progress-50 {
850
+ background-image: linear-gradient(-90deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
851
+ }
852
+
853
+ .progress-51 {
854
+ background-image: linear-gradient(-86.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
855
+ }
856
+
857
+ .progress-52 {
858
+ background-image: linear-gradient(-82.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
859
+ }
860
+
861
+ .progress-53 {
862
+ background-image: linear-gradient(-79.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
863
+ }
864
+
865
+ .progress-54 {
866
+ background-image: linear-gradient(-75.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
867
+ }
868
+
869
+ .progress-55 {
870
+ background-image: linear-gradient(-72deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
871
+ }
872
+
873
+ .progress-56 {
874
+ background-image: linear-gradient(-68.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
875
+ }
876
+
877
+ .progress-57 {
878
+ background-image: linear-gradient(-64.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
879
+ }
880
+
881
+ .progress-58 {
882
+ background-image: linear-gradient(-61.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
883
+ }
884
+
885
+ .progress-59 {
886
+ background-image: linear-gradient(-57.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
887
+ }
888
+
889
+ .progress-60 {
890
+ background-image: linear-gradient(-54deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
891
+ }
892
+
893
+ .progress-61 {
894
+ background-image: linear-gradient(-50.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
895
+ }
896
+
897
+ .progress-62 {
898
+ background-image: linear-gradient(-46.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
899
+ }
900
+
901
+ .progress-63 {
902
+ background-image: linear-gradient(-43.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
903
+ }
904
+
905
+ .progress-64 {
906
+ background-image: linear-gradient(-39.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
907
+ }
908
+
909
+ .progress-65 {
910
+ background-image: linear-gradient(-36deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
911
+ }
912
+
913
+ .progress-66 {
914
+ background-image: linear-gradient(-32.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
915
+ }
916
+
917
+ .progress-67 {
918
+ background-image: linear-gradient(-28.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
919
+ }
920
+
921
+ .progress-68 {
922
+ background-image: linear-gradient(-25.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
923
+ }
924
+
925
+ .progress-69 {
926
+ background-image: linear-gradient(-21.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
927
+ }
928
+
929
+ .progress-70 {
930
+ background-image: linear-gradient(-18deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
931
+ }
932
+
933
+ .progress-71 {
934
+ background-image: linear-gradient(-14.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
935
+ }
936
+
937
+ .progress-72 {
938
+ background-image: linear-gradient(-10.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
939
+ }
940
+
941
+ .progress-73 {
942
+ background-image: linear-gradient(-7.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
943
+ }
944
+
945
+ .progress-74 {
946
+ background-image: linear-gradient(-3.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
947
+ }
948
+
949
+ .progress-75 {
950
+ background-image: linear-gradient(0deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
951
+ }
952
+
953
+ .progress-76 {
954
+ background-image: linear-gradient(3.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
955
+ }
956
+
957
+ .progress-77 {
958
+ background-image: linear-gradient(7.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
959
+ }
960
+
961
+ .progress-78 {
962
+ background-image: linear-gradient(10.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
963
+ }
964
+
965
+ .progress-79 {
966
+ background-image: linear-gradient(14.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
967
+ }
968
+
969
+ .progress-80 {
970
+ background-image: linear-gradient(18deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
971
+ }
972
+
973
+ .progress-81 {
974
+ background-image: linear-gradient(21.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
975
+ }
976
+
977
+ .progress-82 {
978
+ background-image: linear-gradient(25.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
979
+ }
980
+
981
+ .progress-83 {
982
+ background-image: linear-gradient(28.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
983
+ }
984
+
985
+ .progress-84 {
986
+ background-image: linear-gradient(32.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
987
+ }
988
+
989
+ .progress-85 {
990
+ background-image: linear-gradient(36deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
991
+ }
992
+
993
+ .progress-86 {
994
+ background-image: linear-gradient(39.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
995
+ }
996
+
997
+ .progress-87 {
998
+ background-image: linear-gradient(43.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
999
+ }
1000
+
1001
+ .progress-88 {
1002
+ background-image: linear-gradient(46.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1003
+ }
1004
+
1005
+ .progress-89 {
1006
+ background-image: linear-gradient(50.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1007
+ }
1008
+
1009
+ .progress-90 {
1010
+ background-image: linear-gradient(54deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1011
+ }
1012
+
1013
+ .progress-91 {
1014
+ background-image: linear-gradient(57.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1015
+ }
1016
+
1017
+ .progress-92 {
1018
+ background-image: linear-gradient(61.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1019
+ }
1020
+
1021
+ .progress-93 {
1022
+ background-image: linear-gradient(64.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1023
+ }
1024
+
1025
+ .progress-94 {
1026
+ background-image: linear-gradient(68.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1027
+ }
1028
+
1029
+ .progress-95 {
1030
+ background-image: linear-gradient(72deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1031
+ }
1032
+
1033
+ .progress-96 {
1034
+ background-image: linear-gradient(75.6deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1035
+ }
1036
+
1037
+ .progress-97 {
1038
+ background-image: linear-gradient(79.2deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1039
+ }
1040
+
1041
+ .progress-98 {
1042
+ background-image: linear-gradient(82.8deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1043
+ }
1044
+
1045
+ .progress-99 {
1046
+ background-image: linear-gradient(86.4deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1047
+ }
1048
+
1049
+ .progress-100 {
1050
+ background-image: linear-gradient(90deg, #DA396F 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0)), linear-gradient(270deg, #DA396F 50%, #FFFFFF 50%, #FFFFFF);
1051
+ }
1052
+
skin/frontend/base/default/images/squeezol_payment/btn-finger.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/btn2.jpg ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/busta.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/busta2.jpg ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/default.jpg ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/facebook_small.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/fenicottero.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/ghianda_step_blu.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/ghianda_step_grigia.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/info-black.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/logo_min.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/mail_small.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/pay_button.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/pay_button2.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/salva2.jpg ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/salvadanaio.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/shopping-cart.jpg ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol_icon-aziende.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol_icon-creasplit-pink.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol_icon-creasplit.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol_icon-invita-pink.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol_icon-invita.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol_icon-riassunto-pink.png ADDED
Binary file
skin/frontend/base/default/images/squeezol_payment/squeezol_icon-riassunto.png ADDED
Binary file
skin/frontend/base/default/js/_squeezol3.js ADDED
@@ -0,0 +1,2644 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // JSON Object fallback for IE <= 8
2
+ // Thank you so much Duglas :-)
3
+ // Fuck you even more dear Bill :-)
4
+ if (typeof JSON !== 'object') {
5
+ JSON = {};
6
+ }
7
+
8
+ (function () {
9
+ 'use strict';
10
+ function f(n) {
11
+ // Format integers to have at least two digits.
12
+ return n < 10 ? '0' + n : n;
13
+ }
14
+ if (typeof Date.prototype.toJSON !== 'function') {
15
+ Date.prototype.toJSON = function () {
16
+ return isFinite(this.valueOf())
17
+ ? this.getUTCFullYear() + '-' +
18
+ f(this.getUTCMonth() + 1) + '-' +
19
+ f(this.getUTCDate()) + 'T' +
20
+ f(this.getUTCHours()) + ':' +
21
+ f(this.getUTCMinutes()) + ':' +
22
+ f(this.getUTCSeconds()) + 'Z'
23
+ : null;
24
+ };
25
+ String.prototype.toJSON =
26
+ Number.prototype.toJSON =
27
+ Boolean.prototype.toJSON = function () {
28
+ return this.valueOf();
29
+ };
30
+ }
31
+ var cx,
32
+ escapable,
33
+ gap,
34
+ indent,
35
+ meta,
36
+ rep;
37
+ function quote(string) {
38
+ // If the string contains no control characters, no quote characters, and no
39
+ // backslash characters, then we can safely slap some quotes around it.
40
+ // Otherwise we must also replace the offending characters with safe escape
41
+ // sequences.
42
+ escapable.lastIndex = 0;
43
+ return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
44
+ var c = meta[a];
45
+ return typeof c === 'string'
46
+ ? c
47
+ : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
48
+ }) + '"' : '"' + string + '"';
49
+ }
50
+ function str(key, holder) {
51
+ // Produce a string from holder[key].
52
+ var i, // The loop counter.
53
+ k, // The member key.
54
+ v, // The member value.
55
+ length,
56
+ mind = gap,
57
+ partial,
58
+ value = holder[key];
59
+ // If the value has a toJSON method, call it to obtain a replacement value.
60
+ if (value && typeof value === 'object' &&
61
+ typeof value.toJSON === 'function') {
62
+ value = value.toJSON(key);
63
+ }
64
+ // If we were called with a replacer function, then call the replacer to
65
+ // obtain a replacement value.
66
+ if (typeof rep === 'function') {
67
+ value = rep.call(holder, key, value);
68
+ }
69
+ // What happens next depends on the value's type.
70
+ switch (typeof value) {
71
+ case 'string':
72
+ return quote(value);
73
+ case 'number':
74
+ // JSON numbers must be finite. Encode non-finite numbers as null.
75
+ return isFinite(value) ? String(value) : 'null';
76
+ case 'boolean':
77
+ case 'null':
78
+ // If the value is a boolean or null, convert it to a string. Note:
79
+ // typeof null does not produce 'null'. The case is included here in
80
+ // the remote chance that this gets fixed someday.
81
+ return String(value);
82
+ // If the type is 'object', we might be dealing with an object or an array or null.
83
+ case 'object':
84
+ // Due to a specification blunder in ECMAScript, typeof null is 'object',
85
+ // so watch out for that case.
86
+
87
+ if (!value) {
88
+ return 'null';
89
+ }
90
+ // Make an array to hold the partial results of stringifying this object value.
91
+ gap += indent;
92
+ partial = [];
93
+ // Is the value an array?
94
+ if (Object.prototype.toString.apply(value) === '[object Array]') {
95
+ // The value is an array. Stringify every element. Use null as a placeholder
96
+ // for non-JSON values.
97
+ length = value.length;
98
+ for (i = 0; i < length; i += 1) {
99
+ partial[i] = str(i, value) || 'null';
100
+ }
101
+ // Join all of the elements together, separated with commas, and wrap them in brackets.
102
+ v = partial.length === 0
103
+ ? '[]'
104
+ : gap
105
+ ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']'
106
+ : '[' + partial.join(',') + ']';
107
+ gap = mind;
108
+ return v;
109
+ }
110
+ // If the replacer is an array, use it to select the members to be stringified.
111
+ if (rep && typeof rep === 'object') {
112
+ length = rep.length;
113
+ for (i = 0; i < length; i += 1) {
114
+ if (typeof rep[i] === 'string') {
115
+ k = rep[i];
116
+ v = str(k, value);
117
+ if (v) {
118
+ partial.push(quote(k) + (gap ? ': ' : ':') + v);
119
+ }
120
+ }
121
+ }
122
+ } else {
123
+ // Otherwise, iterate through all of the keys in the object.
124
+
125
+ for (k in value) {
126
+ if (Object.prototype.hasOwnProperty.call(value, k)) {
127
+ v = str(k, value);
128
+ if (v) {
129
+ partial.push(quote(k) + (gap ? ': ' : ':') + v);
130
+ }
131
+ }
132
+ }
133
+ }
134
+ // Join all of the member texts together, separated with commas,
135
+ // and wrap them in braces.
136
+ v = partial.length === 0
137
+ ? '{}'
138
+ : gap
139
+ ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}'
140
+ : '{' + partial.join(',') + '}';
141
+ gap = mind;
142
+ return v;
143
+ }
144
+ }
145
+ // If the JSON object does not yet have a stringify method, give it one.
146
+ if (typeof JSON.stringify !== 'function') {
147
+ escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
148
+ meta = { // table of character substitutions
149
+ '\b': '\\b',
150
+ '\t': '\\t',
151
+ '\n': '\\n',
152
+ '\f': '\\f',
153
+ '\r': '\\r',
154
+ '"' : '\\"',
155
+ '\\': '\\\\'
156
+ };
157
+ JSON.stringify = function (value, replacer, space) {
158
+ // The stringify method takes a value and an optional replacer, and an optional
159
+ // space parameter, and returns a JSON text. The replacer can be a function
160
+ // that can replace values, or an array of strings that will select the keys.
161
+ // A default replacer method can be provided. Use of the space parameter can
162
+ // produce text that is more easily readable.
163
+ var i;
164
+ gap = '';
165
+ indent = '';
166
+ // If the space parameter is a number, make an indent string containing that
167
+ // many spaces.
168
+ if (typeof space === 'number') {
169
+ for (i = 0; i < space; i += 1) {
170
+ indent += ' ';
171
+ }
172
+ // If the space parameter is a string, it will be used as the indent string.
173
+
174
+ } else if (typeof space === 'string') {
175
+ indent = space;
176
+ }
177
+ // If there is a replacer, it must be a function or an array.
178
+ // Otherwise, throw an error.
179
+ rep = replacer;
180
+ if (replacer && typeof replacer !== 'function' &&
181
+ (typeof replacer !== 'object' ||
182
+ typeof replacer.length !== 'number')) {
183
+ throw new Error('JSON.stringify');
184
+ }
185
+ // Make a fake root object containing our value under the key of ''.
186
+ // Return the result of stringifying the value.
187
+ return str('', {'': value});
188
+ };
189
+ }
190
+ // If the JSON object does not yet have a parse method, give it one.
191
+ if (typeof JSON.parse !== 'function') {
192
+ cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
193
+ JSON.parse = function (text, reviver) {
194
+ // The parse method takes a text and an optional reviver function, and returns
195
+ // a JavaScript value if the text is a valid JSON text.
196
+ var j;
197
+ function walk(holder, key) {
198
+ // The walk method is used to recursively walk the resulting structure so
199
+ // that modifications can be made.
200
+ var k, v, value = holder[key];
201
+ if (value && typeof value === 'object') {
202
+ for (k in value) {
203
+ if (Object.prototype.hasOwnProperty.call(value, k)) {
204
+ v = walk(value, k);
205
+ if (v !== undefined) {
206
+ value[k] = v;
207
+ } else {
208
+ delete value[k];
209
+ }
210
+ }
211
+ }
212
+ }
213
+ return reviver.call(holder, key, value);
214
+ }
215
+ // Parsing happens in four stages. In the first stage, we replace certain
216
+ // Unicode characters with escape sequences. JavaScript handles many characters
217
+ // incorrectly, either silently deleting them, or treating them as line endings.
218
+
219
+ text = String(text);
220
+ cx.lastIndex = 0;
221
+ if (cx.test(text)) {
222
+ text = text.replace(cx, function (a) {
223
+ return '\\u' +
224
+ ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
225
+ });
226
+ }
227
+ // In the second stage, we run the text against regular expressions that look
228
+ // for non-JSON patterns. We are especially concerned with '()' and 'new'
229
+ // because they can cause invocation, and '=' because it can cause mutation.
230
+ // But just to be safe, we want to reject all unexpected forms.
231
+
232
+ // We split the second stage into 4 regexp operations in order to work around
233
+ // crippling inefficiencies in IE's and Safari's regexp engines. First we
234
+ // replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
235
+ // replace all simple value tokens with ']' characters. Third, we delete all
236
+ // open brackets that follow a colon or comma or that begin the text. Finally,
237
+ // we look to see that the remaining characters are only whitespace or ']' or
238
+ // ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
239
+
240
+ if (/^[\],:{}\s]*$/
241
+ .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
242
+ .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
243
+ .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
244
+ // In the third stage we use the eval function to compile the text into a
245
+ // JavaScript structure. The '{' operator is subject to a syntactic ambiguity
246
+ // in JavaScript: it can begin a block or an object literal. We wrap the text
247
+ // in parens to eliminate the ambiguity.
248
+ j = eval('(' + text + ')');
249
+ // In the optional fourth stage, we recursively walk the new structure, passing
250
+ // each name/value pair to a reviver function for possible transformation.
251
+ return typeof reviver === 'function'
252
+ ? walk({'': j}, '')
253
+ : j;
254
+ }
255
+
256
+ // If the text is not JSON parseable, then a SyntaxError is thrown.
257
+ throw new SyntaxError('JSON.parse');
258
+ };
259
+ }
260
+ }());
261
+
262
+ (function() {
263
+ // DOM ELEMENTS
264
+ var SqStr = function(str) {
265
+ var obj, that;
266
+ obj = {el:str};
267
+ that = {};
268
+ that.get = function() { return obj.el; };
269
+ that.entityify = function() {
270
+ var character = {
271
+ '<': '&lt;',
272
+ '>': '&gt;',
273
+ '&': '&amp;',
274
+ '"': '&quot;'
275
+ };
276
+ return function() {
277
+ return obj.el.replace(/[<>&"]/g, function(c) {
278
+ return character[c];
279
+ });
280
+ };
281
+ }();
282
+ return that;
283
+ };
284
+
285
+ var SqObj = function(ob) {
286
+ var obj, that;
287
+ obj = {el:ob};
288
+ that = {};
289
+ that.get = function() { return obj.el; };
290
+ that.size = function() {
291
+ var prop, count = 0;
292
+ for(prop in obj.el) {
293
+ if(obj.el.hasOwnProperty(prop)) {
294
+ if(typeof obj.el[prop] !== 'function')
295
+ count++;
296
+ }
297
+ }
298
+ return count;
299
+ };
300
+ that.toFormUrlEnc = function() {
301
+ var encodedStr = '', count = 0,
302
+ prop, enc, len;
303
+ len = this.size();
304
+ for(prop in obj.el) {
305
+ if(obj.el.hasOwnProperty(prop)) {
306
+ if(typeof obj.el[prop] !== 'function') {
307
+ count++;
308
+ enc = encodeURI(obj.el[prop]);
309
+ encodedStr += encodeURI(prop) + '=' + enc.replace('=', '%3D');
310
+ if(count < len)
311
+ encodedStr += '&';
312
+ }
313
+ }
314
+ }
315
+ return encodedStr;
316
+ };
317
+ that.toString = function() {
318
+ var str = '', prop;
319
+ for(prop in obj.el) {
320
+ if(obj.el.hasOwnProperty(prop)) {
321
+ if(typeof obj.el[prop] !== 'function')
322
+ str += prop + ' : ' + obj.el[prop] + '\n';
323
+ }
324
+ }
325
+ return str;
326
+ };
327
+ that.collapse = function() {
328
+ var out={}, loop;
329
+ loop = function(ob) {
330
+ for(var prop in ob) {
331
+ if(!(ob[prop] instanceof Object)) {
332
+ if(typeof ob[prop] !== 'function') {
333
+ if(ob.hasOwnProperty(prop))
334
+ out[prop] = ob[prop];
335
+ }
336
+ }
337
+ else
338
+ loop(ob[prop]);
339
+ }
340
+ };
341
+ loop(obj.el);
342
+ return out;
343
+ };
344
+ return that;
345
+ };
346
+
347
+ var DatePicker = function() {
348
+ var that = {}, callBack;
349
+ that.load = function(url) {
350
+ var scr, css, isIe;
351
+ css = document.createElement('link');
352
+ css.rel = 'stylesheet';
353
+ css.type = 'text/css';
354
+ css.href = css_url + 'pikaday.css';
355
+ document.getElementsByTagName('head')[0].appendChild(css);
356
+ scr = document.createElement('script');
357
+ scr.type = 'text/javascript';
358
+ if(typeof scr.onload === 'object') {
359
+ // Not IE <= 8
360
+ scr.onload = function() {
361
+ callBack();
362
+ }
363
+ }
364
+ else if(typeof scr.onreadystatechange === 'object') {
365
+ //IE <= 8
366
+ isIe = true;
367
+ scr.onreadystatechange = function() {
368
+ if(scr.readyState === 'loaded')
369
+ callBack();
370
+ };
371
+ }
372
+ scr.src = url;
373
+ //TODO: if IE <= 8 maybe scr has to be appended to body
374
+ document.getElementsByTagName('body')[0].appendChild(scr);
375
+ };
376
+ that.regCallBack = function(call) {
377
+ callBack = call;
378
+ };
379
+ return that;
380
+ };
381
+
382
+ var DomElement = function(obj) {
383
+ var that = {};
384
+ that.get = function(id) {
385
+ if(id !== undefined) {
386
+ if( (obj.el = document.getElementById(id)) == null )
387
+ throw new Error('No elements with id ' + '"' + id + '"');
388
+ else
389
+ return obj.el;
390
+ }
391
+ else
392
+ return obj.el;
393
+ };
394
+ that.addClass = function(name) {
395
+ if(obj.el.className === '')
396
+ obj.el.className = name;
397
+ else if(obj.el.className.indexOf(name) === -1)
398
+ obj.el.className += ' ' + name;
399
+ return this;
400
+ };
401
+ that.deleteClass = function(name) {
402
+ var temp;
403
+ if(obj.el.className.indexOf(name) != -1) {
404
+ temp = obj.el.className.replace(name, '');
405
+ temp = temp.replace(/\s{2,}/g, ' ');
406
+ temp = temp.trim();
407
+ obj.el.className = temp;
408
+ }
409
+ return this;
410
+ };
411
+ that.remove = function() {
412
+ obj.el.parentNode.removeChild(obj.el);
413
+ };
414
+ that.nextSibling = function() {
415
+ var node;
416
+ node = this.get();
417
+ do {
418
+ node = node.nextSibling;
419
+ } while(node.nodeType !== 1);
420
+ return DomElement({el:node});
421
+ };
422
+ that.previousSibling = function() {
423
+ var node;
424
+ node = this.get();
425
+ do {
426
+ node = node.previousSibling;
427
+ } while(node.nodeType !== 1);
428
+ return DomElement({el:node});
429
+ };
430
+ that.firstChild = function() {
431
+ var node;
432
+ node = this.get().firstChild;
433
+ while(node.nodeType !== 1)
434
+ node = node.nextSibling;
435
+ return DomElement({el:node});
436
+ };
437
+ that.lastChild = function() {
438
+ var node;
439
+ node = this.get().lastChild;
440
+ while(node.nodeType !== 1)
441
+ node = node.previousSibling;
442
+ return DomElement({el:node});
443
+ };
444
+ that.find = function() {
445
+ return;
446
+ };
447
+ that.changeStyle = function(styleObj) {
448
+ for(var prop in styleObj) {
449
+ if(styleObj.hasOwnProperty(prop)) {
450
+ if(typeof styleObj[prop] !== 'function')
451
+ obj.el.style[prop] = styleObj[prop];
452
+ }
453
+ }
454
+ return this;
455
+ };
456
+ that.regHandler = function(eventName, handler) {
457
+ if(obj.el.addEventListener)
458
+ obj.el.addEventListener(eventName, handler, false);
459
+ else if(obj.el.attachEvent)
460
+ obj.el.attachEvent('on'+eventName, handler);
461
+ return this;
462
+ };
463
+ that.wrap = function(properties) {
464
+ var wr, prop;
465
+ wr = document.createElement(properties.wrapper);
466
+ wr.className = properties.className;
467
+ wr.appendChild(obj.el);
468
+ return wr;
469
+ };
470
+ return that;
471
+ };
472
+
473
+ var Div = function(element) {
474
+ var obj, that;
475
+ that = DomElement(obj = {el: element});
476
+ // Creazione methodo "append"
477
+ that.append = function(elem) {
478
+ var ind;
479
+ if(elem instanceof Array) {
480
+ for(ind=0; ind<elem.length; ind++)
481
+ obj.el.appendChild(elem[ind]);
482
+ }
483
+ else
484
+ obj.el.appendChild(elem);
485
+ return this;
486
+ };
487
+ return that;
488
+ };
489
+
490
+ var Button = function(btn) {
491
+ var obj, that, create, openUrl;
492
+ that = DomElement(obj = {el: btn});
493
+ that.create = function(name, size, btnId) {
494
+ obj.el = document.createElement('button');
495
+ obj.el.appendChild(document.createTextNode(name));
496
+ if (btnId !== undefined){
497
+ obj.el.id = btnId;
498
+ }
499
+ if(size === 'small') {
500
+ obj.el.style.height = '25px';
501
+ obj.el.style.width = '100px';
502
+ }
503
+ else if(size === 'big') {
504
+ obj.el.style.height = '50px';
505
+ obj.el.style.width = '150px';
506
+ }
507
+ else if(size == 'ui'){
508
+ return this;
509
+ }
510
+ return this;
511
+ };
512
+ that.openUrl = function(url) {
513
+ location.href = url;
514
+ };
515
+ that.wrap = function(wrapper) {
516
+ var wr;
517
+ wr = document.createElement(wrapper['wrapper']);
518
+ wr.className = wrapper['className'];
519
+ wr.appendChild(obj.el);
520
+ return wr;
521
+ };
522
+ return that;
523
+ };
524
+
525
+ // Vettore di input: oggetti di tipo Input
526
+ var Input = function(obj) {
527
+ var that;
528
+ that = DomElement(obj);
529
+ that.getName = function() { return obj.el.name; };
530
+ that.getValue = function() { return SqStr(obj.el.value).entityify(); };
531
+ that.getRawValue = function() { return obj.el.value };
532
+ that.labelize = function(labelName, helpText) {
533
+ var lab, div;
534
+ var ui = UserInterface();
535
+ lab = document.createElement('label');
536
+ div = document.createElement('div');
537
+ lab.for = obj.el.id;
538
+ div.className = 'sq-form-group';
539
+ lab.appendChild(ui.textWithHelper(labelName, helpText));
540
+ div.appendChild(lab)
541
+ div.appendChild(obj.el);
542
+ return DomElement({el: div});
543
+ },
544
+ that.labelizeWithSpan = function(labelName, span, helpText){
545
+ var lab;
546
+ var ui = UserInterface();
547
+ divForm = document.createElement('div');
548
+ divInput = document.createElement('div');
549
+ lab = document.createElement('label');
550
+ lab.for = obj.el.id
551
+ divForm.className = 'sq-form-group'
552
+ divInput.className = 'sq-input-group'
553
+ divInput.appendChild(obj.el);
554
+ divInput.appendChild(span);
555
+ lab.appendChild(ui.textWithHelper(labelName, helpText));
556
+ divForm.appendChild(lab)
557
+ divForm.appendChild(divInput)
558
+ return DomElement({el: divForm});
559
+ },
560
+ that.getWrapDiv = function() {
561
+ return obj.el.parentNode;
562
+ };
563
+ return that;
564
+ };
565
+
566
+ var TextInput = function(elem) {
567
+ var obj, that;
568
+ that = Input(obj = {el: elem});
569
+ that.create = function(name) {
570
+ var input = document.createElement('input');
571
+ input.type = 'text';
572
+ input.name = name;
573
+ input.maxlength = 120;
574
+ input.className = "sq-form-control";
575
+ obj.el = input;
576
+ return this;
577
+ };
578
+ return that;
579
+ };
580
+
581
+ var TextArea = function(elem) {
582
+ var obj, that;
583
+ that = Input(obj = {el: elem});
584
+ that.create = function(name) {
585
+ var input = document.createElement('textarea');
586
+ input.name = name;
587
+ input.className = "sq-form-control";
588
+ obj.el = input;
589
+ return this;
590
+ };
591
+ return that;
592
+ };
593
+
594
+ var DateInput = function(elem) {
595
+ var obj, that, dp;
596
+ that = Input(obj = {el: elem});
597
+ that.getValue = function() {
598
+ var date, temp;
599
+ temp = dp.dp.getDate();
600
+ if (temp){
601
+ return date = temp.getDate() + '-' + (parseInt(temp.getMonth())+1).toString() + '-' + temp.getFullYear();
602
+ }
603
+ };
604
+ that.create = function(name, init) {
605
+ var input;
606
+ input = document.createElement('input');
607
+ input.type = 'text';
608
+ input.name = name;
609
+ input.value = init.getDate() + '-' + (parseInt(init.getMonth())+1).toString() + '-' + init.getFullYear();
610
+ input.className = "sq-form-control";
611
+ obj.el = input;
612
+ return this;
613
+ };
614
+ that.addPicker = function(picker) {
615
+ dp = picker;
616
+ }
617
+ return that;
618
+ };
619
+
620
+ var ComboBox = function(cmb) {
621
+ var that, obj;
622
+ that = Input(obj = {el: cmb});
623
+ that.create = function(properties) {
624
+ var ind, temp;
625
+ obj.el = document.createElement('select');
626
+ for(ind = 0; ind < properties.length; ind++) {
627
+ temp = document.createElement('option');
628
+ temp.value = properties[ind].value;
629
+ temp.appendChild(document.createTextNode(properties[ind].text));
630
+ obj.el.appendChild(temp);
631
+ }
632
+ return this;
633
+ };
634
+ return that;
635
+ };
636
+
637
+ var CheckBox = function(elem) {
638
+ var that, obj;
639
+ that = Input(obj = {el: elem});
640
+ that.create = function(properties) {
641
+ obj.el = document.createElement('input');
642
+ obj.el['type'] = 'checkbox';
643
+ obj.el['name'] = properties.name;
644
+ obj.el['value'] = properties.value;
645
+ if (properties.checked){
646
+ obj.el['checked'] = properties.checked;
647
+ }
648
+ return this;
649
+ },
650
+ that.labelize = function(labelName, helpText) {
651
+ var lab, div;
652
+ var ui = UserInterface();
653
+ lab = document.createElement('label');
654
+ div = document.createElement('div');
655
+ lab.for = obj.el.id
656
+ div.className = 'sq-checkbox sq-col-xs-12';
657
+ lab.appendChild(obj.el);
658
+ lab.appendChild(ui.textWithHelper(labelName, helpText));
659
+ div.appendChild(lab)
660
+ return DomElement({el: div});
661
+ },
662
+ that.checked = function() { return obj.el.checked };
663
+ return that;
664
+ };
665
+
666
+ var CheckBoxes = function() {
667
+ var that = {},
668
+ checkBoxes = [];
669
+ that.push = function(elem) {
670
+ checkBoxes.push(elem);
671
+ };
672
+ that.getValues = function() {
673
+ var ind, obj = {};
674
+ for(ind=0; ind<checkBoxes.length; ind++)
675
+ obj[checkBoxes[ind].getName()] = checkBoxes[ind].checked();
676
+ return obj;
677
+ };
678
+ return that;
679
+ };
680
+
681
+ var Inputs = function() {
682
+ var that = {},
683
+ parentNode = undefined,
684
+ inputs = [];
685
+ that.push = function(elem) {
686
+ inputs.push(elem);
687
+ };
688
+ that.getParentNode = function() {
689
+ if(parentNode == undefined)
690
+ return parentNode = inputs[0].get().parentNode;
691
+ else
692
+ return parentNode;
693
+ };
694
+ that.getValues = function() {
695
+ var ind, values = {};
696
+ for(ind=0; ind<inputs.length; ind++){
697
+ values[inputs[ind].getName()] = inputs[ind].getValue();
698
+ }
699
+ return values;
700
+ };
701
+ that.getInputs = function() {
702
+ var ind, inp = Inputs();
703
+ for(ind=0; ind<inputs.length; ind++)
704
+ inp.push(inputs[ind].get());
705
+ return inp;
706
+ };
707
+ that.getInput = function(name) {
708
+ var i;
709
+ for(i=0; i<inputs.length; i++) {
710
+ if(inputs[i].getName() === name)
711
+ return inputs[i];
712
+ }
713
+ return null;
714
+ };
715
+ that.deleteDivClass = function(name) {
716
+ var div;
717
+ for(var i=0; i<inputs.length; i++) {
718
+ div = inputs[i].getWrapDiv();
719
+ Div(div).deleteClass(name);
720
+ }
721
+ return this;
722
+ };
723
+ return that;
724
+ };
725
+
726
+ var Trolley = function(obj) {
727
+ var that, trolley = {};
728
+ trolley.money = obj.am;
729
+ trolley.money_currency = obj.curr;
730
+ trolley.products = obj.codP;
731
+ that = {};
732
+ that.get = function() { return trolley; };
733
+ return that;
734
+ };
735
+
736
+ var AjaxRequest = function(answerCallBack) {
737
+ var request, that = {};
738
+ request = new XMLHttpRequest();
739
+ request.onreadystatechange = function() {
740
+ if(request.readyState < 4)
741
+ return;
742
+ if(request.status !== 200)
743
+ throw new Error('AJAX - Server answered: ' + request.status + ' ' + request.statusText);
744
+ answerCallBack();
745
+ };
746
+ that.get = function() { return request; };
747
+ that.post = function(targetUrl, data) {
748
+ request.open("POST", targetUrl, true);
749
+ request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
750
+ request.send(data);
751
+ };
752
+ that.getRequest = function(targetUrl){
753
+ request.open("GET", targetUrl, true);
754
+ //request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
755
+ request.send();
756
+ };
757
+ return that;
758
+ };
759
+
760
+ var UserInterface = function() {
761
+ var that = {};
762
+
763
+ that.drawHeader = function(page, mode) {
764
+ var viewPortDiv, modalDiv;
765
+ var active='blu';
766
+ var inactive='grigia';
767
+ var crea = invita = gestisci = 'inactive';
768
+ var title = '';
769
+ var c_var = i_var = d_var = '';
770
+ switch(page){
771
+ case 'create':
772
+ crea='active';
773
+ c_var='-pink';
774
+ title = 'Crea Split';
775
+ break;
776
+ case 'invitation':
777
+ invita='active';
778
+ i_var='-pink';
779
+ title = 'Invita';
780
+ break;
781
+ case 'digest':
782
+ gestisci='active';
783
+ d_var='-pink';
784
+ title = 'Gestisci';
785
+ break;
786
+ }
787
+ // Bootstrap 3 Implementation
788
+ viewPortDiv = jQuery('#squeezol_view');
789
+ viewPortDiv.addClass("container-fluid");
790
+ modalDiv = '<div class="sq-col-xs-12 container-dashboard">'+
791
+ '<div class="sq-row" style="margin-top: -30px;">'+
792
+ '<div class="sq-col-sm-4 sq-col-sm-offset-4 sq-col-xs-10 sq-col-xs-offset-1" style="padding-top: 10px; padding-left:50px;">'+
793
+ '<img class="squeezol-btn-header sq-img-responsive" src="' + img_url + 'squeezol.png"></img>'+
794
+ '<p class="sq-content-title" style="display:inline; margin-left:20px;">'+title+'</p>'+
795
+ '</div>'+
796
+ '</div>'+
797
+ '<div id="squeezol_view">'+
798
+ '<div class="sq-row row-separator row-separata">'+
799
+ '<div class="sq-col-md-3 sq-col-md-offset-1">'+
800
+ '<p class="sq-text-center"><img class="sq-img-responsive" style="display:inline;" src="'+img_url+'squeezol_icon-creasplit'+c_var+'.png"/></p>'+
801
+ '</div>'+
802
+ '<div class="sq-col-md-4">'+
803
+ '<p class="sq-text-center"><img class="sq-img-responsive" style="display:inline;" src="'+img_url+'squeezol_icon-invita'+i_var+'.png"/></p>'+
804
+ '</div>'+
805
+ '<div class="sq-col-md-3">'+
806
+ '<p class="sq-text-center"><img class="sq-img-responsive" style="display:inline;" src="'+img_url+'squeezol_icon-riassunto'+d_var+'.png"/></p>'+
807
+ '</div>'+
808
+ '</div>'+
809
+ '<div class="sq-row">'+
810
+ '<div class="sq-col-xs-3 sq-col-xs-offset-1 separator-'+crea+'"></div>'+
811
+ '<div class="sq-col-xs-4 separator-'+invita+'"></div>'+
812
+ '<div class="sq-col-xs-3 separator-'+gestisci+'"></div>'+
813
+ '</div>'+
814
+ '</div>'+
815
+ '</div>';
816
+ viewPortDiv.append(modalDiv);
817
+ viewPortDiv.removeAttr('id', null);
818
+ return;
819
+ },
820
+ that.drawSeparator = function(text){
821
+ var viewPortDiv = jQuery('#squeezol_view');
822
+ var separator;
823
+ separator = '<div class="sq-row row-separata">'+
824
+ '<div class="sq-col-md-4 sq-col-md-offset-1 sq-col-xs-12"><h4 class="sq-content-body sq-pink-text">'+text+'</h4></div>'+
825
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 separator"></div>'+
826
+ '</div>';
827
+ viewPortDiv.append(separator);
828
+ return;
829
+ },
830
+ that.drawSeparatorCollapse = function(text){
831
+ var viewPortDiv = jQuery('#squeezol_view');
832
+ var panel = '<div class="sq-row row-separata" id="squeezol-accordion-container">'+
833
+ '<div class="sq-col-md-6 sq-col-md-offset-1 sq-col-xs-12">'+
834
+ '<div class="sq-panel-group">'+
835
+ '<div class="sq-panel sq-panel-default">'+
836
+ '<div class="sq-panel-heading sq-alert sq-alert-info">'+
837
+ '<a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">'+
838
+ '<p class="sq-label">'+text+'</p>'+
839
+ '</a>'+
840
+ '</div>'+
841
+ '<div id="collapseOne" class="sq-panel-collapse sq-collapse sq-out">'+
842
+ '<div class="sq-panel-body" id="squeezol-accordion">'+
843
+ '</div>'+
844
+ '</div>'+
845
+ '</div>'+
846
+ '</div>'+
847
+ '</div>'+
848
+ '</div>';
849
+ viewPortDiv.append(panel);
850
+ return;
851
+ },
852
+ that.drawWizard = function(position, clickElem){
853
+ var div='<div class="sq-row wizard">'+
854
+ '<div class="sq-col-xs-4">'+
855
+ '<img class="sq-img-responsive" src="' + img_url + 'btn2.jpg" alt="Think">'+
856
+ '<h4 class="sq-text-center">1.Crea uno Split</h4>'+
857
+ '</div>'+
858
+ '<div class="sq-col-xs-4">'+
859
+ '<img class="sq-img-responsive" src="' + img_url + 'busta2.jpg" alt="Find">'+
860
+ '<h4 class="sq-text-center">2.Invita i tuoi amici</h4>'+
861
+ '</div>'+
862
+ '<div class="sq-col-xs-4">'+
863
+ '<img class="sq-img-responsive" src="' + img_url + 'salva2.jpg" alt="Fun">'+
864
+ '<h4 class="sq-text-center">3. Versa la tua quota</h4>'+
865
+ '</div>'+
866
+ '</div>'+
867
+ '<div class="sq-row">'+
868
+ '<h4 class="sq-text-center"> Dividi l\'acquisto con i tuoi amici senza anticipare... è gratis!'+
869
+ '</div>';
870
+ jQuery('#squeezol_btn').popover({ title:'Come funziona',
871
+ html:true ,
872
+ content: div,
873
+ delay: { show: 100, hide:100 },
874
+ placement: position,
875
+ trigger: 'manual' });
876
+
877
+ jQuery(clickElem).on('click', function(){
878
+ jQuery('#squeezol_btn').popover('toggle');
879
+ });
880
+ jQuery('#squeezol_btn').on('shown.bs.popover', function(){
881
+ jQuery('.sq-popover').attr('style','display: block; top: -20px; left: 127px;max-width:800px;');
882
+ });
883
+ jQuery('#squeezol_btn').on('hidden.bs.popover', function(){
884
+ jQuery('.sq-popover').attr('style','');
885
+ jQuery(this).css("display", "");
886
+ });
887
+
888
+ },
889
+ that.getText = function(text){
890
+ var textElem='<a target="_blank" ><h4>'+text+'</h4></a>';
891
+ return textElem;
892
+ },
893
+ that.renderAlreadyInvited = function(emailDiv, fbDiv, alreadyInvited, group) {
894
+ this.drawSeparator('Amici Invitati');
895
+ var container = document.createElement('div');
896
+ container.id = 'containerCronologia';
897
+ container.className = 'sq-row';
898
+ for (j=0; j<alreadyInvited.length; j++){
899
+ var invObj=alreadyInvited[j];
900
+ var contribution = parseFloat(group.amount/(alreadyInvited.length+1)).toFixed(2);
901
+ var tmp = document.createElement('div');
902
+
903
+ if(invObj.avatar_url){
904
+ tmp.innerHTML='<div class="sq-col-md-1 sq-col-md-offset-1 sq-hidden-xs"><img class="sq-thumbnail imgAvatar" src="'+invObj.avatar_url+'" alt="User Avatar"></img></div>';
905
+ }
906
+ else {
907
+ tmp.innerHTML='<div class="sq-col-md-1 sq-col-md-offset-1 sq-hidden-xs"><img class="imgAvatar sq-thumbnail" src="' + img_url + 'default.jpg" alt="User Avatar"></img> </div>';
908
+ }
909
+ if(invObj.fb_id) {
910
+ tmp.className = 'sq-row sq-fb-element';
911
+ tmp.innerHTML += '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-4 sq-col-md-offset-0 sq-has-success sq-input-group"> <input type="hidden" class="fbEntry sq-form-control" value="'+invObj.fb_id+'"disabled></input>'+
912
+ '<input value="'+invObj.name+'" class="sq-form-control" type="text" name="email" disabled>'+
913
+ '<span class="sq-input-group-addon sq-glyph-ok">f</span>'+
914
+ '</div>';
915
+ }
916
+ else {
917
+ tmp.className = 'sq-row sq-email-element';
918
+ tmp.innerHTML+= '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-4 sq-col-md-offset-0 sq-form-group sq-has-success sq-input-group">'+
919
+
920
+ '<input value="'+invObj.email+'" class="sq-form-control" type="email" name="email" placeholder="email address" disabled>'+
921
+ '<span class="sq-input-group-addon sq-glyph-ok">@</span>'+
922
+ '</div>';
923
+ }
924
+ jQuery(container).append(tmp);
925
+ }
926
+ jQuery('#squeezol_view').append(container);
927
+ },
928
+ that.loadState = function(button){
929
+ jQuery(button).button('loading');
930
+ },
931
+ that.loadStop = function(button){
932
+ jQuery(button).button('reset');
933
+ },
934
+ that.progressBar = function(totalPaid, totAmount){
935
+ var perc = parseInt(totalPaid*100/totAmount);
936
+ var bar;
937
+ bar = '<div class="sq-col-md-6 sq-col-xs-6 sq-col-xs-offset-1">'+
938
+ '<h4> Quote raccolte </h4>'+
939
+ '<div class="sq-progress">'+
940
+ '<div class="sq-progress-bar sq-progress-bar-success" role="progressbar" aria-valuenow="'+perc+'" aria-valuemin="0" aria-valuemax="100" style="width: '+perc+'%;">'+perc+'%</div>'+
941
+ '</div>'+
942
+ '</div>';
943
+ jQuery('#squeezolPayBox').append(bar);
944
+ },
945
+ that.sqModal = function(content, btn, id){
946
+ var modalContent, modalBody, btn
947
+ var modal=false;
948
+ modalContent = jQuery("#"+id);
949
+ if (modalContent.length>0) {
950
+ modal = true;
951
+ }
952
+ if (modal==false){
953
+ modalContent = jQuery('<div />');
954
+ modalContent.addClass('sq-modal sq-fade sq-bs-example-modal-lg');
955
+ modalContent.attr('id',id);
956
+ modalContent.attr('tabindex', '-1');
957
+ modalContent.attr('role', 'dialog');
958
+ modalContent.attr('aria-labelledby', 'SqueezolModal');
959
+ modalContent.attr('aria-hidden', 'true');
960
+ }
961
+ if (id == 'emailModal') {
962
+ if (modal == false){
963
+ modalBody = jQuery('<div />');
964
+ modalBody.addClass('sq-modal-body');
965
+ modalBody.append(content);
966
+ modalContent.append(jQuery('<div />').addClass('sq-modal-dialog')
967
+ .append(jQuery('<div />').addClass('sq-modal-content')
968
+ .append('<div class="sq-modal-header">'+
969
+ '<button type="button" class="sq-close" data-dismiss="modal" aria-hidden="true">&times;</button>'+
970
+ '<h4 class="sq-modal-title">Invita</h4>'+
971
+ '</div>', content, jQuery('<div />').addClass('sq-modal-footer').append(btn))));
972
+ }
973
+ modalContent.on('show.bs.modal', function(){
974
+ btn = jQuery("#squeezolEmail_");
975
+ jQuery("#squeezolEmail").empty();
976
+
977
+ jQuery("#squeezolEmail").append(btn);
978
+ });
979
+ }
980
+ else if (id == 'facebookModal'){
981
+ modalContent.append(content);
982
+ modalContent.on('hide.bs.modal', function(e){
983
+ location.reload(true);
984
+ });
985
+ }
986
+ jQuery(modalContent).modal('show');
987
+ return;
988
+ },
989
+ that.modalClose = function(id){
990
+ var currentModal = jQuery('#'+id);
991
+ currentModal.modal('hide');
992
+ },
993
+ that.textWithHelper = function(labelName, helpText){
994
+ var txt = document.createElement('p')
995
+ var $question = jQuery('<div />');
996
+ txt.className = 'sq-label';
997
+ txt.appendChild(document.createTextNode(labelName));
998
+ $question.attr('data-toggle', 'popover');
999
+ $question.attr('data-placement', 'top');
1000
+ $question.attr('title', helpText);
1001
+ $question.addClass('icon sq-glyph-info-sign');
1002
+ $question.append('<p>i</p>');
1003
+ jQuery(txt).append($question);
1004
+ return txt;
1005
+ },
1006
+ that.iconPopover = function(){
1007
+ jQuery('.icon').popover();
1008
+ /*jQuery('.icon').on('mouseenter', function(){
1009
+ jQuery(this).popover('show')
1010
+ });
1011
+ jQuery('.icon').on('mouseout', function(){
1012
+ jQuery(this).popover('hide');
1013
+ });
1014
+ jQuery('.icon').on('hidden.bs.popover', function(){
1015
+ jQuery(this).css("display", "");
1016
+ });*/
1017
+
1018
+ };
1019
+ return that;
1020
+ };
1021
+
1022
+ var GroupCreation = function() {
1023
+ var that = {},
1024
+ buttonHandler,
1025
+ inputs = Inputs(),
1026
+ combo = ComboBox(),
1027
+ checkBoxes = CheckBoxes(),
1028
+ promo = Input(),
1029
+ button = Button(),
1030
+ dp1={}, dp2={};
1031
+ that.addButtonHandler = function(handler) { buttonHandler = handler; };
1032
+ that.initDatePickers = function(d1, d2) {
1033
+ var datePicker = DatePicker();
1034
+
1035
+ var i18n_ita = { previousMonth : 'Mese precedente',
1036
+ nextMonth : 'Mese successivo',
1037
+ months : ['Gennaio','February','March','April','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
1038
+ weekdays : ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'],
1039
+ weekdaysShort : ['Dom','Lun','Mar','Merc','Gio','Ven','Sab']
1040
+ }
1041
+
1042
+ datePicker.regCallBack( function() {
1043
+ dp1.dp = new Pikaday({ field: document.getElementById('datepicker1'),
1044
+ i18n: i18n_ita,
1045
+ format: 'DD-MM-YY',
1046
+ setDefaultDate: true,
1047
+ defaultDate: document.getElementById('datepicker1').value,
1048
+ onSelect: function(date) {
1049
+ document.getElementById('datepicker1').value = date.getDate() + '-' + (parseInt(date.getMonth())+1).toString() + '-' + date.getFullYear();
1050
+ }
1051
+ });
1052
+ dp2.dp = new Pikaday({ field: document.getElementById('datepicker2'),
1053
+ i18n: i18n_ita,
1054
+ format: 'DD-MM-YY',
1055
+ setDefaultDate: true,
1056
+ defaultDate: document.getElementById('datepicker2').value,
1057
+ onSelect: function(date) {
1058
+ document.getElementById('datepicker2').value = date.getDate() + '-' + (parseInt(date.getMonth())+1).toString() + '-' + date.getFullYear();
1059
+ }
1060
+ });
1061
+ });
1062
+ datePicker.load(js_url + 'pikaday.js');
1063
+ };
1064
+ that.draw = function(id) {
1065
+ var viewPortDiv, headDiv, icoDiv, tmpDiv, date1, date2, input, checkBox,
1066
+ wrapper, accordion, tempAcc, dateIcon;
1067
+ var opt = [];
1068
+ var tempRowDiv, spanCurr;
1069
+ var tmp, startDate, d1, d2;
1070
+ var day = 24 * 60 * 60 * 1000;
1071
+ var ui = UserInterface();
1072
+ var placeholder = { 'name': 'Regalo di compleanno, viaggio, cena...',
1073
+ 'description': 'Descrivi cosa intendi fare con la somma raccolta'}
1074
+ var helpText = { 'name': 'Dai un titolo allo Split. Per esempio: regalo per Marco, week end in Montagna ecc.',
1075
+ 'description': 'Il posto giusto dove inserire qualche dettaglio che invogli i tuoi amici a partecipare',
1076
+ 'max_acceptance_date': 'Scegli la data entro la quale gli invitati dovranno confermare la propria partecipazione',
1077
+ 'max_payment_date': 'Scegli la data entro la quale i partecipanti possono effettuare i pagamenti. La durata massima consentita è 25 giorni',
1078
+ 'occurrence': 'Fai sapere ai partecipanti per quale occasione si effettua l\'acquisto',
1079
+ 'promo_code': 'Inserisci un codice promozionale valido: ti consente di avere uno sconto sulla Split',
1080
+ 'alert_email': 'Disattiva le notifiche email sulle azioni degli invitati',
1081
+ 'hide_contribution': 'Nasconde ai soli partecipanti la quota versata da ognuno. Resta visibile a tutti il totale raccolto',
1082
+ 'hide_invitation': 'Nasconde l\' identità dei partecipanti tra di loro.',
1083
+ 'isOpen': 'Split aperto a chiunque abbia un invito, senza PIN e a donazione libera' }
1084
+ wrapper_row = { wrapper: 'div', className: 'sq-row'};
1085
+ wrapper_row_pad = { wrapper: 'div', className: 'sq-row pad-it'};
1086
+ wrapper_left = { wrapper: 'div', className : 'sq-col-md-6 sq-col-md-offset-1 sq-col-xs-12' }
1087
+ wrapper_left_small = { wrapper: 'div', className : 'sq-col-md-4 sq-col-md-offset-1 sq-col-xs-12' }
1088
+ wrapper_right = { wrapper: 'div', className: 'sq-col-md-4 sq-col-xs-12'};
1089
+ wrapper_btn = { wrapper: 'div', className: 'sq-col-md-4 sq-col-xs-10 sq-col-xs-offset-1'}
1090
+ wrapper_push_right = { wrapper: 'div', className: 'sq-col-md-3 sq-col-md-offset-9 sq-col-xs-12'};
1091
+ dateIcon = document.createElement('img');
1092
+ dateIcon.setAttribute('src', img_url+'squeezol_icon-aziende.png')
1093
+ dateIcon.className = 'sq-img-responsive sq-date-icon';
1094
+ //UI
1095
+ ui.drawHeader('create', 'modal');
1096
+ viewPortDiv = Div();
1097
+ viewPortDiv.get(id);
1098
+ // Temp Div
1099
+ tmp=document.createElement('div');
1100
+ tempRowDiv = Div(tmp);
1101
+ tempRowDiv.addClass('sq-row');
1102
+ // Nome Colletta
1103
+ input = TextInput();
1104
+ input.create('name');
1105
+ input.get().setAttribute('placeholder', placeholder['name']);
1106
+ inputs.push(input);
1107
+ // Data Accettazione
1108
+ tempRowDiv.append(input.labelize('Nome Split*', helpText['name']).wrap(wrapper_left));
1109
+
1110
+ date1 = DateInput();
1111
+ d1 = new Date(new Date().getTime() + 7*day);
1112
+ //startDate = ('0' + d.getDate()).slice(-2) + "-" + ('0' + d.getMonth()).slice(-2) + "-" + d.getFullYear();
1113
+ date1.create('max_acceptance_date', d1);
1114
+ date1.get().id = 'datepicker1';
1115
+ date1.addPicker(dp1);
1116
+ inputs.push(date1);
1117
+ spanCurr = document.createElement('span');
1118
+ spanCurr.className = 'sq-input-group-addon';
1119
+ spanCurr.appendChild(dateIcon);
1120
+ tempRowDiv.append(date1.labelizeWithSpan('Scadenza Invito', spanCurr, helpText['max_acceptance_date']).wrap(wrapper_right));
1121
+ // Append first row
1122
+ viewPortDiv.append(tempRowDiv.get());
1123
+ // Temp Div
1124
+ tmp=document.createElement('div');
1125
+ tempRowDiv = Div(tmp);
1126
+ tempRowDiv.addClass('sq-row');
1127
+ // Descrizione Colletta
1128
+ input = TextArea();
1129
+ input.create('description');
1130
+ input.get().setAttribute('placeholder', placeholder['description']);
1131
+ inputs.push(input);
1132
+ tempRowDiv.append(input.labelize('Descrizione', helpText['description']).wrap(wrapper_left));
1133
+ // Data Pagamenti
1134
+ date2 = DateInput();
1135
+ d2 = new Date(new Date().getTime() + 25*day);
1136
+ //startDate = ('0' + d.getDate()).slice(-2) + "-" + ('0' + d.getMonth()).slice(-2) + "-" + d.getFullYear();
1137
+ date2.create('max_payment_date', d2);
1138
+ date2.get().id = 'datepicker2';
1139
+ date2.addPicker(dp2);
1140
+
1141
+ inputs.push(date2);
1142
+ spanCurr = document.createElement('span');
1143
+ spanCurr.className = 'sq-input-group-addon';
1144
+ spanCurr.appendChild(dateIcon.cloneNode())
1145
+ tempRowDiv.append(date2.labelizeWithSpan('Scadenza Pagamenti', spanCurr, helpText['max_payment_date']).wrap(wrapper_right));
1146
+ this.initDatePickers(d1, d2);
1147
+ opt.push({value: 'R', text: 'Acquisto regalo'});
1148
+ opt.push({value: 'V', text: 'Viaggio di gruppo'});
1149
+ opt.push({value: 'C', text: 'Evento/Concerto'});
1150
+ opt.push({value: 'G', text: 'Grigliata'});
1151
+ opt.push({value: 'N', text: 'Regalo Nozze'});
1152
+ opt.push({value: 'A', text: 'Altro ...'});
1153
+ combo = ComboBox();
1154
+ combo.create(opt);
1155
+ viewPortDiv.append(tempRowDiv.get())
1156
+
1157
+ tmp=document.createElement('div');
1158
+ tempRowDiv = Div(tmp);
1159
+ tempRowDiv.addClass('sq-row');
1160
+ tempRowDiv.append(combo.labelize('Occorrenza', helpText['occurrence']).wrap(wrapper_left));
1161
+ viewPortDiv.append(tempRowDiv.get())
1162
+ ui.drawSeparator('');
1163
+ ui.drawSeparatorCollapse('Opzioni aggiuntive');
1164
+ //squeezol-accordion
1165
+ tempAcc = document.getElementById('squeezol-accordion');
1166
+ accordion = Div(tempAcc);
1167
+
1168
+ checkBox = CheckBox();
1169
+ checkBox.create({name: 'alert_email', value: 'Email notifications'});
1170
+ checkBoxes.push(checkBox);
1171
+ accordion.append(checkBox.labelize('Disattiva notifiche', helpText['alert_email']).wrap(wrapper_row_pad));
1172
+
1173
+ checkBox = CheckBox();
1174
+ checkBox.create({name: 'hide_contribution', value: 'Hide Contribution'});
1175
+ checkBoxes.push(checkBox);
1176
+ accordion.append(checkBox.labelize('Nascondi le quote versate', helpText['hide_contribution']).wrap(wrapper_row_pad));
1177
+
1178
+ checkBox = CheckBox();
1179
+ checkBox.create({name: 'hide_invitation', value: 'Hide Invitation'});
1180
+ checkBoxes.push(checkBox);
1181
+ accordion.append(checkBox.labelize('Nascondi partecipanti', helpText['hide_invitation']).wrap(wrapper_row_pad));
1182
+
1183
+ checkBox = CheckBox();
1184
+ checkBox.create({name: 'isOpen', value: 'Open funding', checked: 'true'});
1185
+ checkBoxes.push(checkBox);
1186
+ accordion.append(checkBox.labelize('Split a donazione libera', helpText['isOpen']).wrap(wrapper_row_pad));
1187
+
1188
+ promo = TextInput();
1189
+ promo.create('promo_code');
1190
+ accordion.append(promo.labelize('Codice Promozionale', helpText['promo_code']).wrap(wrapper_row_pad));
1191
+
1192
+
1193
+ button.create('Prosegui', 'big', 'squeezol_button');
1194
+ button.addClass('sq-btn')
1195
+ button.regHandler('click', buttonHandler);
1196
+ button = Div(button.wrap(wrapper_btn));
1197
+ tmp = document.getElementById('squeezol-accordion-container');
1198
+ tempRowDiv = Div(tmp);
1199
+ tempRowDiv.append(button.wrap(wrapper_row));
1200
+ ui.iconPopover();
1201
+ return this;
1202
+ };
1203
+ that.getInputs = function() {
1204
+ var obj = {};
1205
+ obj.inputs = inputs;
1206
+ obj.occurrence = combo;
1207
+ obj.checkBoxes = checkBoxes;
1208
+ obj.promo = promo;
1209
+ return obj;
1210
+ };
1211
+ return that;
1212
+ };
1213
+
1214
+ var CreationPostAJAX = function(targetUrl, firstUrl, secondUrl) {
1215
+ var ajaxRequest, answerCallBack,
1216
+ makeData, that, inputs, trolley;
1217
+ var that = {};
1218
+ makeData = function() {
1219
+ var prop, temp = {};
1220
+ temp.inputs = inputs.inputs.getValues();
1221
+ temp.inputs['max_acceptance_date'] = document.getElementById('datepicker1').value;
1222
+ temp.inputs['max_payment_date'] = document.getElementById('datepicker2').value;
1223
+ temp.checkBoxes = inputs.checkBoxes.getValues();
1224
+ temp.trolley = trolley;
1225
+ temp.occurrence = inputs.occurrence.getValue();
1226
+ temp.promo = inputs.promo.getValue();
1227
+ temp.firstUrl = firstUrl || '';
1228
+ temp.secondUrl = secondUrl || '';
1229
+ return SqObj(SqObj(temp).collapse()).toFormUrlEnc();
1230
+ };
1231
+ answerCallBack = function() {
1232
+ var answer, ajaxAnswer;
1233
+ var ui = UserInterface();
1234
+ ui.loadStop(document.getElementById('squeezol_button'));
1235
+ answer = JSON.parse(ajaxRequest.get().responseText);
1236
+ ajaxAnswer = AjaxAnswer(answer, inputs);
1237
+ ajaxAnswer.check();
1238
+ };
1239
+ that.send = function() {
1240
+ var ui = UserInterface();
1241
+ ui.loadState(document.getElementById('squeezol_button'));
1242
+ ajaxRequest = AjaxRequest(answerCallBack);
1243
+ ajaxRequest.post(targetUrl, makeData());
1244
+
1245
+ };
1246
+ that.addData = function(data) {
1247
+ inputs = data[0];
1248
+ trolley = data[1];
1249
+ };
1250
+ return that;
1251
+ };
1252
+
1253
+ // Gestisce la ripsosta
1254
+ var AjaxAnswer = function(answer, inputs) {
1255
+ var that = {};
1256
+ that.redirect = function(targetUrl) { location.href = targetUrl; };
1257
+ that.check = function() {
1258
+ var prop, wrapDiv, message, inp, errors, i, div, pNode, l;
1259
+ inp = inputs.inputs;
1260
+ if(answer.status === 'ok') {
1261
+ this.redirect(answer.url);
1262
+ }
1263
+ else if(answer.status='error'){
1264
+ inp.deleteDivClass('sq-has-error');
1265
+ errors = [].slice.call(document.getElementsByClassName('sq-alert-danger'));
1266
+ for(i=0; i<errors.length;i++){
1267
+ div = errors[i];
1268
+ pNode = div.parentNode;
1269
+ pNode.removeChild(div);
1270
+ }
1271
+ // Gestisce messaggio errore
1272
+ if('genericerror' in answer) {
1273
+ for(prop in answer.genericerror) {
1274
+ wrapDiv = inp.getInput(prop).getWrapDiv();
1275
+ error = document.createElement('p');
1276
+ error.className = 'sq-alert sq-alert-danger';
1277
+ error.innerHTML = 'Questo campo è obbligatorio';
1278
+ Div(wrapDiv).addClass('sq-has-error');
1279
+ jQuery(wrapDiv).after(error);
1280
+ }
1281
+ }
1282
+ else if('non_field_errors' in answer) {
1283
+ wrapDiv = inp.getInput('max_payment_date').getWrapDiv();
1284
+ error = document.createElement('p');
1285
+ error.className = 'sq-alert sq-alert-danger';
1286
+ error.innerHTML = answer.non_field_errors;
1287
+ Div(wrapDiv).addClass('sq-has-error');
1288
+ jQuery(wrapDiv).after(error);
1289
+ }
1290
+ else {
1291
+ for (prop in answer){
1292
+ if (prop != "status"){
1293
+ wrapDiv = inp.getInput(prop).getWrapDiv();
1294
+ error = document.createElement('p');
1295
+ error.className = 'sq-alert sq-alert-danger';
1296
+ error.innerHTML = answer[prop];
1297
+ Div(wrapDiv).addClass('sq-has-error');
1298
+ jQuery(wrapDiv).after(error);
1299
+ }
1300
+ }
1301
+ }
1302
+ }
1303
+ else if(answer.status == 'anauth_request'){
1304
+ window.location.replace(answer.redirect_url);
1305
+ }
1306
+ };
1307
+ return that;
1308
+ };
1309
+
1310
+ var InvitationGetAJAX = function(group_id, targetUrl){
1311
+ var ajaxRequest, answerCallback, makeData;
1312
+ var btnArray = [];
1313
+ var that = {};
1314
+ makeData = function() {
1315
+ var temp = {};
1316
+ temp.group_id=group_id;
1317
+ return SqObj(temp).toFormUrlEnc();
1318
+ };
1319
+ answerCallBack = function() {
1320
+ var answer, ajaxAnswer, request, grId;
1321
+ answer = JSON.parse(ajaxRequest.get().responseText);
1322
+ ajaxAnswer = InvitationAnswer(answer);
1323
+ grId = ajaxAnswer.renderGET(targetUrl);
1324
+ };
1325
+
1326
+ that.send = function() {
1327
+ ajaxRequest = AjaxRequest(answerCallBack);
1328
+ ajaxRequest.getRequest(targetUrl+'?'+makeData());
1329
+ };
1330
+ return that;
1331
+ };
1332
+
1333
+ var InvitationPostAJAX = function(groupId, participantId, data, invitationUrl) {
1334
+ var ajaxRequest, answerCallback, makeData;
1335
+ var that = {};
1336
+ makeData = function() {
1337
+ var temp = {};
1338
+ temp.group_id=groupId;
1339
+ temp.participant_id=participantId;
1340
+ temp.admin_contrib = '';
1341
+ temp.group_contrib = '';
1342
+ temp.mailArray='[]';
1343
+ temp.fbArray='[]';
1344
+ if (data.action=='email'){
1345
+ temp.mailArray = JSON.stringify(data.emailArray);
1346
+ }
1347
+ else if (data.action=='facebook'){
1348
+ temp.fbArray = JSON.stringify(data.fbArray);
1349
+ }
1350
+ else if (data.action=='next'){
1351
+ temp.admin_contrib = data.admin_contrib;
1352
+ temp.group_contrib = data.fundraising;
1353
+ }
1354
+ temp.action = data.action;
1355
+ return SqObj(temp).toFormUrlEnc();
1356
+ }
1357
+ answerCallBack = function() {
1358
+ var answer, ajaxAnswer, response;
1359
+ var invError = InvitationError();
1360
+ var invObj = InvitationObj();
1361
+ var ui = UserInterface();
1362
+ answer = JSON.parse(ajaxRequest.get().responseText);
1363
+ ui.loadStop(document.getElementById('squeezolSubmit_'));
1364
+ if (answer.status === 'ok'){
1365
+ if (answer.action == 'next'){
1366
+ window.location.replace(answer.redirect_url);
1367
+ }
1368
+ else {
1369
+ invError.appendSuccessInfo();
1370
+ invError.notifyValidEmail();
1371
+ invObj.updateQuota();
1372
+ ui.modalClose('emailModal');
1373
+ }
1374
+ }
1375
+ else {
1376
+ invError.handleError(answer);
1377
+ }
1378
+ };
1379
+ that.send = function() {
1380
+ ajaxRequest = AjaxRequest(answerCallBack);
1381
+ ajaxRequest.post(invitationUrl, makeData());
1382
+ };
1383
+ return that;
1384
+ };
1385
+
1386
+ var DigestGetAJAX = function(group_id, targetUrl){
1387
+ var ajaxRequest, answerCallback, makeData;
1388
+ var that = {};
1389
+ makeData = function() {
1390
+ var temp = {};
1391
+ temp.group_id=group_id;
1392
+ return SqObj(temp).toFormUrlEnc();
1393
+ };
1394
+ answerCallBack = function() {
1395
+ var answer, ajaxAnswer, request, grId;
1396
+ answer = JSON.parse(ajaxRequest.get().responseText);
1397
+ ajaxAnswer = DigestAnswer(answer);
1398
+ ajaxAnswer.addButtonHandler(function(e){
1399
+ var event= e || window.event;
1400
+ var target = event.target || event.srcElement || event.originalTarget;
1401
+ request = DigestPostAJAX(grId, target, targetUrl);
1402
+ request.send(target);
1403
+ });
1404
+ grId = ajaxAnswer.renderGET();
1405
+ };
1406
+ that.send = function() {
1407
+ ajaxRequest = AjaxRequest(answerCallBack);
1408
+ ajaxRequest.getRequest(targetUrl+'?'+makeData());
1409
+ };
1410
+ return that;
1411
+ };
1412
+
1413
+ var DigestPostAJAX = function(groupId, targetBtn, digestUrl) {
1414
+ var ajaxRequest, answerCallback, makeData, buttonHandler, target;
1415
+ var that = {};
1416
+ makeData = function() {
1417
+ var temp = {};
1418
+ var quotaTmp= {};
1419
+ var p;
1420
+ p = document.getElementById('squeezol_single_amount');
1421
+ if (p){
1422
+ quotaTmp = p
1423
+ }
1424
+ else {
1425
+ quotaTmp.value = 0.00;
1426
+ }
1427
+ temp.group_id=groupId;
1428
+ temp.participant_id=targetBtn.getAttribute('data-participant');
1429
+ temp.action=targetBtn.getAttribute('data-action');
1430
+ temp.single_amount=quotaTmp.value;
1431
+ return SqObj(temp).toFormUrlEnc();
1432
+ }
1433
+ answerCallBack = function() {
1434
+ var answer, ajaxAnswer, response;
1435
+ var ui = UserInterface();
1436
+ ui.loadStop(target);
1437
+ answer = JSON.parse(ajaxRequest.get().responseText);
1438
+ ajaxAnswer = DigestAnswer(answer);
1439
+ ajaxAnswer.renderPOST(digestUrl);
1440
+ };
1441
+ that.send = function(targetBtn) {
1442
+ var ui = UserInterface();
1443
+ target = targetBtn
1444
+ ui.loadState(target);
1445
+ ajaxRequest = AjaxRequest(answerCallBack);
1446
+ ajaxRequest.post(digestUrl, makeData());
1447
+ };
1448
+ return that;
1449
+ };
1450
+
1451
+ var InvitationObj = function() {
1452
+ var that = {};
1453
+ that.computeSingleContribution = function(targetAmount) {
1454
+ var emailCount = document.getElementsByClassName('sq-email-element').length+1;
1455
+ var fbCount = document.getElementsByClassName('sq-fb-element').length;
1456
+ var friendCount = fbCount+emailCount;
1457
+ return parseFloat(targetAmount/friendCount).toFixed(2);
1458
+ },
1459
+ that.updateContribution = function(contrib, targetAmount) {
1460
+ var rest = 0.00;
1461
+ var tot = 0.00;
1462
+ var totAdmin;
1463
+ var adminContrib=document.getElementById('squeezol_admin_contrib');
1464
+ var friendList = document.getElementsByClassName('sq-email-element');
1465
+ var fbList = document.getElementsByClassName('sq-fb-element');
1466
+ tot = parseFloat(contrib*(fbList.length+friendList.length+1));
1467
+ if (tot != targetAmount){
1468
+ rest = parseFloat(targetAmount - tot).toFixed(2);
1469
+ totAdmin= parseFloat(contrib)+parseFloat(rest);
1470
+ adminContrib.value = parseFloat(totAdmin).toFixed(2);
1471
+ }
1472
+ else{
1473
+ adminContrib.value = parseFloat(contrib).toFixed(2);
1474
+ }
1475
+ adminContrib.disabled = true;
1476
+ return;
1477
+ },
1478
+ that.setToZero = function(){
1479
+ var contrib=document.getElementById('squeezol_admin_contrib');
1480
+ contrib.disabled = false;
1481
+ },
1482
+ that.createButton = function(text, size, btnId, btnCl) {
1483
+ var renderBtn = Button();
1484
+ renderBtn.create(text, btnId, size);
1485
+ renderBtn.addClass(btnCl);
1486
+ return renderBtn;
1487
+ },
1488
+ that.buildPostData = function() {
1489
+ var email, emailContrib, emailAvatar;
1490
+ var emailArray = fbArray = []
1491
+ var data = {};
1492
+ emailArray = this.buildDataByClassName('sq-email-send', 'mail__Invitation', 'squeezolPrice', 'email');
1493
+ fbArray = this.buildDataByClassName('sq-fb-element', 'fb__Invitation', 'squeezolPrice', 'facebook');
1494
+ data.emailArray = emailArray;
1495
+ data.fbArray = fbArray;
1496
+ data.action = 'email';
1497
+ return data
1498
+ },
1499
+ that.buildNextData = function() {
1500
+ var temp={};
1501
+ temp.admin_contrib = document.getElementById('squeezol_admin_contrib').value;
1502
+ temp.fundraising = document.getElementById('contributionType').value
1503
+ temp.action = 'next';
1504
+ return temp
1505
+ },
1506
+ that.buildDataByClassName = function(wrapperClass, IdClass, contribClass, action) {
1507
+ var elementList = document.getElementsByClassName(wrapperClass);
1508
+ var objId, objAvatar, objContrib = elemObj = {};
1509
+ var list = [];
1510
+ for (var i=0; i<elementList.length; i++){
1511
+ objId = elementList[i].getElementsByClassName(IdClass)[0];
1512
+ objAvatar = elementList[i].getElementsByClassName('imgAvatar')[0];
1513
+ elemObj = {};
1514
+ if (objId){
1515
+ switch(action){
1516
+ case 'email':
1517
+ elemObj.email = objId.value;
1518
+ elemObj.avatar_url = objAvatar.getAttribute('src');
1519
+ break;
1520
+ case 'facebook':
1521
+ elemObj.avatarUrl = objAvatar.getAttribute('src');
1522
+ elemObj.fbName = objId.value;
1523
+ elemObj.fb_id = objId.getAttribute('fb_id');
1524
+ break;
1525
+ }
1526
+ list.push(elemObj);
1527
+ }
1528
+ }
1529
+ return list;
1530
+ },
1531
+ that.updateQuota = function(){
1532
+ var target, amount;
1533
+ target = document.getElementById('contributionType');
1534
+ if (target.value === 'S') {
1535
+ amount = document.getElementById('sq-group-amount').value;
1536
+ contribution = this.computeSingleContribution(amount);
1537
+ this.updateContribution(contribution, amount);
1538
+ }
1539
+ }
1540
+ return that;
1541
+ };
1542
+
1543
+ // Error Class
1544
+ var InvitationError = function(){
1545
+ var that={};
1546
+ var fbInputList = document.getElementsByClassName('fbEntry');
1547
+ var emailInputList = document.getElementsByClassName('mail__Invitation');
1548
+
1549
+ that.handleError = function(answer){
1550
+ //Handle Server Reponse:
1551
+ var errorType = answer.status;
1552
+ if(errorType === 'badMail') {
1553
+ this.setWrongEmails(answer.emailArray);
1554
+ this.appendErrorInfo("Una o più email inserite sono errate, correggi per proseguire.", document.getElementById('squeezolEmail'));
1555
+ }
1556
+ else if (errorType === 'duplicates') {
1557
+ this.setWrongEmails(answer.emailArray);
1558
+ this.appendErrorInfo('Una o più email inserite sono ripetute, correggi per proseguire.', document.getElementById('squeezolEmail'));
1559
+ }
1560
+ else if (errorType === 'Contribution') {
1561
+ this.appendErrorInfo('Inserisci un importo valido', document.getElementById('squeezolEmail'));
1562
+ }
1563
+ else if (errorType == 'error') {
1564
+ this.appendErrorInfo(answer.message, document.getElementsByClassName('squeezol_quota')[0]);
1565
+ }
1566
+ else {
1567
+ console.log('Bad error code');
1568
+ }
1569
+ },
1570
+ // From server for SMTP connection refused
1571
+ that.setWrongEmails = function(email_list) {
1572
+ var i, j, tempObj, tmpSpan;
1573
+ var emailInputList = document.getElementsByClassName('mail__Invitation');
1574
+ for (j=0; j<emailInputList.length; j++){
1575
+ for (i=0; i<email_list.length; i++ ) {
1576
+ if (emailInputList[j].value == email_list[i] ) {
1577
+ tempObj = DomElement({'el': emailInputList[j].parentNode})
1578
+ tempObj.addClass('sq-has-error');
1579
+ //tmpSpan = document.createElement('span');
1580
+ //tmpSpan.className = 'input-group-addon glyphicon glyphicon-remove';
1581
+ }
1582
+ else {
1583
+ tempObj = DomElement({'el': emailInputList[j].parentNode})
1584
+ tempObj.addClass('sq-has-success');
1585
+ //tmpSpan = document.createElement('span');
1586
+ //tmpSpan.className = 'input-group-addon glyphicon glyphicon-ok form-control-feedback';
1587
+ }
1588
+ // TODO: Decommentare, non riesco ad appendere tmpSpan
1589
+ //jQuery(tmpSpan).appendTo(tempObj);
1590
+ }
1591
+ }
1592
+ },
1593
+ // From server
1594
+ that.setRepeatedEntries = function (doubles_obj) {
1595
+ var i, j, tempObj;
1596
+ var email_list = doubles_obj['email'];
1597
+ var fb_list = doubles_obj['fb'];
1598
+ for (j=0; j<emailInputList.length; j++){
1599
+ for (i=0; i<email_list.length; i++ ) {
1600
+ if (emailInputList[j].value == email_list[i].email ) {
1601
+ tempObj = DomElement({'el': emailInputList[j].parentNode})
1602
+ tempObj.addClass('sq-has-error');
1603
+ }
1604
+ }
1605
+ }
1606
+ for (j=0; j<fbInputList.length; j++){
1607
+ for (i=0; i<fb_list.length; i++ ) {
1608
+ if (fbInputList.value == fb_list[i].fb_id ) {
1609
+ tempObj = DomElement({'el': fbInputList[j].parentNode})
1610
+ tempObj.addClass('sq-has-error');
1611
+ }
1612
+ }
1613
+ }
1614
+ },
1615
+ // Client validator email
1616
+ that.validateEmail = function() {
1617
+ var invalid_email = [];
1618
+ var repeated_email_list = [];
1619
+ var errors = {};
1620
+ var valid = true;
1621
+ var i, j, current_email, atpos, dotpos;
1622
+ errors.repetitions = [];
1623
+ errors.invalid = [];
1624
+ emailInputList = document.getElementsByClassName('mail__Invitation');
1625
+ if (emailInputList.length == 0){
1626
+ return false;
1627
+ }
1628
+ for (i=0; i<emailInputList.length; i++) {
1629
+ current_email = emailInputList[i].value;
1630
+ if (current_email == '' || current_email == null) {
1631
+ valid=false;
1632
+ invalid_email.push(current_email);
1633
+ }
1634
+ else {
1635
+ var atpos=current_email.indexOf("@");
1636
+ var dotpos=current_email.lastIndexOf(".");
1637
+ if (atpos<1 || dotpos<atpos+2 || dotpos+2>=current_email.length) {
1638
+ valid=false;
1639
+ invalid_email.push(current_email);
1640
+ }
1641
+ }
1642
+ if (i > 0) {
1643
+ for (j=0; j<i; j++) {
1644
+ if (emailInputList[j].value == current_email && current_email !== "") {
1645
+ repeated_email_list.push(current_email);
1646
+ valid = false;
1647
+ }
1648
+ }
1649
+ }
1650
+ }
1651
+ if (valid == false){
1652
+ errors.repetitions = repeated_email_list;
1653
+ errors.invalid = invalid_email;
1654
+ this.setInvalidOrRepeatedEmail(errors);
1655
+ }
1656
+ return valid;
1657
+ },
1658
+ that.setInvalidOrRepeatedEmail = function(error){
1659
+ var item_list, inp;
1660
+ if (error.repetitions.length > 0) {
1661
+ item_list=error.repetitions;
1662
+ this.addErrorClass(item_list)
1663
+ this.appendErrorInfo('Una o più email inserite sono ripetute, correggi per proseguire.', document.getElementById('squeezolEmail'));
1664
+ }
1665
+ if (error.invalid.length > 0){
1666
+ item_list=error.invalid;
1667
+ this.addErrorClass(item_list)
1668
+ this.appendErrorInfo("Una o più email inserite sono errate, correggi per proseguire.", document.getElementById('squeezolEmail'));
1669
+ }
1670
+ },
1671
+ that.addErrorClass = function(emailList){
1672
+ var i, j, tempObj;
1673
+ for (j=0; j<emailInputList.length; j++ ) {
1674
+ for (i=0; i<emailList.length; i++ ) {
1675
+ if (emailInputList[j].value == emailList[i] ) {
1676
+ tempObj = DomElement({'el': emailInputList[j].parentNode})
1677
+ tempObj.addClass('sq-has-error');
1678
+ }
1679
+ }
1680
+ }
1681
+ },
1682
+ that.removeErrorInfo = function () {
1683
+ var tempObj, alertDiv, tmpDiv;
1684
+ var errorClassList = document.getElementsByClassName('sq-has-error');
1685
+ alertDiv = document.getElementById('alertErrorDiv');
1686
+ if (alertDiv){
1687
+ tempDiv = DomElement({'el': alertDiv});
1688
+ tempDiv.remove();
1689
+ }
1690
+ for (var i=0; i<errorClassList.length;i++){
1691
+ tempObj = DomElement({'el': errorClassList[i]});
1692
+ tempObj.deleteClass('sq-has-error');
1693
+ }
1694
+ return;
1695
+ },
1696
+ that.appendErrorInfo = function(text, domItem){
1697
+ var div = document.createElement('div');
1698
+ div.className = 'sq-row';
1699
+ div.id = 'alertErrorDiv';
1700
+ div.innerHTML = '<div class="sq-alert sq-alert-danger sq-col-xs-7 sq-col-xs-offset-1">'+
1701
+ '<p>'+
1702
+ '<strong>OOPS!</strong>'+
1703
+ text+
1704
+ '</p>'+
1705
+ '</div>';
1706
+ domItem.appendChild(div);
1707
+ return;
1708
+ },
1709
+ that.appendSuccessInfo = function(){
1710
+ var div = document.createElement('div');
1711
+ var domItem = document.getElementById('squeezolEmail')
1712
+ div.className = 'sq-row';
1713
+ div.id = 'alertErrorDiv';
1714
+ div.innerHTML = '<div class="sq-alert sq-alert-success sq-col-xs-7 sq-col-xs-offset-1">'+
1715
+ '<p>'+
1716
+ '<strong>OK! </strong>'+
1717
+ 'Email inviate con successo'+
1718
+ '</p>'+
1719
+ '</div>';
1720
+ domItem.appendChild(div);
1721
+ return;
1722
+ },
1723
+ that.notifyValidEmail = function(){
1724
+ var sentEmail = document.getElementsByClassName('mail__Invitation');
1725
+ var container = document.getElementById('containerCronologia')
1726
+ var alreadyInvited = container.getElementsByClassName('sq-email-element');
1727
+ var currSent, inv, div;
1728
+ var found = false;
1729
+ for (var i=0; i<sentEmail.length; i++){
1730
+ div = document.createElement('div');
1731
+ div.className = 'sq-row sq-email-element';
1732
+ currSent = sentEmail[i];
1733
+ for (var j=0; j<alreadyInvited.length; j++) {
1734
+ inv = alreadyInvited[j].getElementsByTagName('input')[0];
1735
+ if (inv.value == currSent.value) {
1736
+ found = true;
1737
+ }
1738
+ }
1739
+ if (found==false) {
1740
+ div.innerHTML = '<div class="sq-col-md-1 sq-col-md-offset-1 sq-hidden-xs">'+
1741
+ '<img class="imgAvatar sq-thumbnail" src="' + img_url + 'default.jpg" alt="User Avatar"></img>'+
1742
+ '</div>'+
1743
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-4 sq-col-md-offset-0 sq-form-group sq-has-success sq-input-group">'+
1744
+ '<input value="'+currSent.value+'" class="sq-form-control" type="email" name="email" placeholder="email address" disabled>'+
1745
+ '<span class="sq-input-group-addon sq-glyph-ok">'+
1746
+ '@<span/>'+
1747
+ '</div>'+
1748
+ '</div>';
1749
+ container.appendChild(div);
1750
+ }
1751
+ }
1752
+ },
1753
+ that.validateForm = function(){
1754
+ var valid = this.validateEmail();
1755
+ return valid;
1756
+ }
1757
+ return that;
1758
+ }
1759
+ var InvitationAnswer = function(answer) {
1760
+ var that = {};
1761
+ that.renderGET = function(invitationUrl) {
1762
+ var params, participantAdmin, group, alreadyInvited, socialProviders,
1763
+ grId, grAmount, gData, pAdminId;
1764
+ var btnText = ['Email', 'f | Invito Facebook', 'Invia E-mail'],
1765
+ btnId = ['squeezolEmail_', 'squeezolFb_', 'squeezolSubmit_' ],
1766
+ btnSize = ['small', 'small', 'big'],
1767
+ btnClass = ['sq-btn sq-btn-lg sq-buttonEmail', 'sq-btn sq-btn-lg sq-buttonFb', 'sq-btn'];
1768
+ var fbBtn, emailBtn, submitBtn, emailDiv, fbDiv, selectBox, nextBtn,
1769
+ invitationBtn, removeBtn, containerDiv, submitDiv, nextDiv;
1770
+ var fbUid, friendList;
1771
+ var sqDiv, tmpObj, tmpDiv, emailModal;
1772
+ var copiaUrl, a_temp, a_link;
1773
+ var i, j, currBtn, ui;
1774
+ var wrapper_left = { wrapper: 'div', className : 'sq-col-xs-2' };
1775
+ var wrapper_center = { wrapper: 'div', className : 'sq-col-md-3 sq-col-xs-10 sq-col-xs-offset-1' };
1776
+ var wrapper_btn = { wrapper: 'div', className : 'sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-3 sq-col-md-offset-1' };
1777
+ var wrapper_row = { wrapper: 'div', className : 'sq-row' };
1778
+ var wrapper_remove = { wrapper: 'div', className: 'sq-col-sm-5 sq-col-sm-offset-0 sq-col-xs-10 sq-col-xs-offset-1'}
1779
+ if(answer.status === 'ok') {
1780
+ // Parsing Parametri
1781
+ params=JSON.parse(answer.params);
1782
+ grId = params.group_id;
1783
+ gData = params.google_friends;
1784
+ participantAdmin = answer.p_admin;
1785
+ pAdminId = participantAdmin.id;
1786
+ alreadyInvited = answer.invited;
1787
+ socialProviders = params.social_providers;
1788
+ group = answer.group;
1789
+ // RENDER
1790
+ ui = UserInterface()
1791
+ ui.drawHeader('invitation', 'modal');
1792
+ this.renderGroupData(answer.group, participantAdmin, params.admin_email, alreadyInvited);
1793
+ ui.iconPopover();
1794
+ SqDiv = document.getElementById('squeezol_view')
1795
+ emailDiv=document.createElement('div');
1796
+ fbDiv=document.createElement('div');
1797
+ emailDiv.className = 'mailInvitation sq-modal-body';
1798
+ emailDiv.id = 'squeezolEmail'
1799
+ fbDiv.className = 'fbInvitation';
1800
+ fbDiv.id = 'squeezolFb'
1801
+ invitationBtn = InvitationObj();
1802
+ emailBtn = invitationBtn.createButton('@ Email', btnId[0], btnSize[0], 'sq-btn sq-btn-sm sq-buttonEmail');
1803
+ emailModal = invitationBtn.createButton('@ | Invia Email', 'emailModal_', 'big', 'sq-btn sq-btn-lg sq-buttonEmail');
1804
+
1805
+ // SEND EMAIL handler:
1806
+ submitBtn = invitationBtn.createButton(btnText[2], btnId[2], btnSize[2], btnClass[2]);
1807
+ submitBtn.regHandler('click', function(e){
1808
+ var event= e || window.event;
1809
+ var target = event.target || event.srcElement || event.originalTarget;
1810
+ var invObj = InvitationObj();
1811
+ var invitations = InvitationPostAJAX(grId, pAdminId, invObj.buildPostData(), invitationUrl);
1812
+ var invError = InvitationError();
1813
+ invError.removeErrorInfo();
1814
+ ui.loadState(target);
1815
+ if (invError.validateForm() == true){
1816
+ invitations.send()
1817
+ }
1818
+ else {
1819
+ ui.loadStop(target);
1820
+ }
1821
+ });
1822
+
1823
+ // Append Submit Button to
1824
+ submitDiv = document.createElement('div');
1825
+ submitDiv.className = 'sq-row';
1826
+ submitDiv.appendChild(submitBtn.wrap({ wrapper: 'div', className : 'sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-3 sq-col-md-offset-8'}));
1827
+
1828
+ // ADD EMAIL handler:
1829
+ emailBtn.regHandler('click', function() {
1830
+ var invObj=InvitationObj();
1831
+ var newEmail=document.createElement('div');
1832
+ var sBox = document.getElementById('contributionType');
1833
+ var contribType = sBox.options[sBox.selectedIndex].value;
1834
+
1835
+ removeBtn = Button()
1836
+ removeBtn.create('- Elimina', 'small', 'btnRemove');
1837
+ removeBtn.addClass('sq-btn sq-btn-xs sq-btn-danger')
1838
+ removeBtn.regHandler('click', function(e){
1839
+ var event= e || window.event;
1840
+ var target = event.target || event.srcElement || event.originalTarget;
1841
+ var invObj = InvitationObj();
1842
+ document.getElementById('squeezolEmail').removeChild(target.parentNode.parentNode);
1843
+ });
1844
+ newEmail = document.createElement('div');
1845
+ newEmail.className = 'sq-row sq-email-send';
1846
+ jQuery(newEmail).append('<div class="sq-hidden-xs sq-col-sm-2 sq-col-md-2">'+
1847
+ '<img style="display:inline;" class="imgAvatar sq-thumbnail" src="' + img_url + 'default.jpg" alt="User Avatar"></img>'+
1848
+ '</div>'+
1849
+ '<div class="sq-col-sm-5 sq-col-sm-offset-0 sq-col-xs-10 sq-col-xs-offset-1">'+
1850
+ '<input class="sq-form-control mail__Invitation" placeholder="Aggiungi Email" type="email" name="email">'+
1851
+ '</div>');
1852
+ newEmail.appendChild(removeBtn.wrap(wrapper_remove));
1853
+ emailDiv.appendChild(newEmail);
1854
+ });
1855
+ emailDiv.appendChild(emailBtn.get());
1856
+ emailModal.regHandler('click', function() {
1857
+ var ui = UserInterface();
1858
+ ui.sqModal(emailDiv, submitDiv, 'emailModal');
1859
+ });
1860
+
1861
+ tmpObj = document.createElement('div');
1862
+ tmpObj.className = 'sq-row row-separata';
1863
+ tmpObj.appendChild(emailModal.wrap(wrapper_btn));
1864
+
1865
+ // FACEBOOK IFRAME handler:
1866
+ if (params.fb_url) {
1867
+ fbBtn = invitationBtn.createButton(btnText[1], btnId[1], 'big', 'sq-btn sq-btn-lg sq-buttonFb');
1868
+ fbBtn.regHandler('click', function(){
1869
+ var iFrameModal;
1870
+ var ui=UserInterface();
1871
+ iFrameModal = document.getElementById('squeezolIframe');
1872
+ if(!iFrameModal){
1873
+ iFrameModal = document.createElement('div');
1874
+ iFrameModal.id = 'squeezolIframe';
1875
+ iFrameModal.className = 'sq-row';
1876
+ }
1877
+ else {
1878
+ iFrameModal.innerHTML = '';
1879
+ }
1880
+ var socIframe = '<button id="closeModal" type="button" class="sq-close text-step-active" data-dismiss="modal" aria-hidden="true">'+
1881
+ 'CHIUDI &times;'+
1882
+ '</button>'+
1883
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1">'+
1884
+ '<iframe width="620px" height="620px" class="squeezol_iframe" src="'+params.fb_url+'" frameborder="0">'+
1885
+ 'NON è possibile invitare con Facebook da questo dispositivo'+
1886
+ '</iframe>'+
1887
+ '</div>';
1888
+
1889
+
1890
+ iFrameModal.innerHTML=socIframe;
1891
+ ui.sqModal(iFrameModal,'', 'facebookModal')
1892
+ return
1893
+ });
1894
+ tmpObj.appendChild(fbBtn.wrap(wrapper_center));
1895
+ }
1896
+
1897
+ copiaUrl = document.createElement('div')
1898
+ copiaUrl.className = 'sq-col-md-3 sq-col-xs-10 sq-col-xs-offset-1 pink-link';
1899
+ copiaUrl.setAttribute('data-placement', 'top');
1900
+ copiaUrl.setAttribute('title', 'Copia URL dello Split e condividilo dove preferisci');
1901
+ a_temp = document.createElement('a');
1902
+ a_temp.innerHTML = 'Copia url split';
1903
+ a_link=DomElement({'el': a_temp});
1904
+ a_link.id='clipBoardLink';
1905
+ a_link.regHandler('click', function(e) {
1906
+ var message = 'Copia negli appunti con CTLR+C. Poi clicca OK';
1907
+ if (answer.group.isOpen){
1908
+ window.prompt(message, params.link_url);
1909
+ }
1910
+ else {
1911
+ window.prompt(message, params.link_url+'?pin='+group.pin);
1912
+ }
1913
+ });
1914
+ copiaUrl.appendChild(a_link.get());
1915
+ tmpObj.appendChild(copiaUrl);
1916
+ SqDiv.appendChild(tmpObj);
1917
+
1918
+ // NEXT Button handler
1919
+ nextBtn = invitationBtn.createButton('Prosegui', 'squeezol_next', 'big', btnClass[2]);
1920
+ nextBtn.regHandler('click', function(e){
1921
+ var event= e || window.event;
1922
+ var target = event.target || event.srcElement || event.originalTarget;
1923
+ var invObj = InvitationObj();
1924
+ var invitations = InvitationPostAJAX(grId, pAdminId, invObj.buildNextData(), invitationUrl);
1925
+ var invError = InvitationError();
1926
+ invError.removeErrorInfo();
1927
+ ui.loadState(target);
1928
+ invitations.send()
1929
+ });
1930
+ // Select Contribution Type handler:
1931
+ var box = DomElement({el: document.getElementById('contributionType')});
1932
+ box.regHandler('change', function(e){
1933
+ var invObj = InvitationObj();
1934
+ var event= e || window.event;
1935
+ var target = event.target || event.srcElement || event.originalTarget;
1936
+ if (target.value === 'S'){
1937
+ contribution = invObj.computeSingleContribution(group.amount);
1938
+ invitationBtn.updateContribution(contribution, group.amount);
1939
+ }
1940
+ else if(target.value === 'D'){
1941
+ invObj.setToZero();
1942
+ }
1943
+ });
1944
+ // Append to View Port .invitationContainer
1945
+ containerDiv = document.createElement('div');
1946
+ containerDiv.className = 'invitationContainer';
1947
+
1948
+ // Append .fbInvitation and mailInvitation Div to .invitationContainer
1949
+ containerDiv.appendChild(fbDiv);
1950
+ SqDiv.appendChild(containerDiv);
1951
+
1952
+ // Render Amici già invitati
1953
+ ui.renderAlreadyInvited(emailDiv, fbDiv, alreadyInvited, group);
1954
+ ui.drawSeparator('');
1955
+
1956
+ // Append Next Div to .invitationContainer
1957
+ nextDiv = document.createElement('div');
1958
+ nextDiv.className = 'sq-row';
1959
+ nextDiv.appendChild(nextBtn.wrap({ wrapper: 'div', className : 'sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-3 sq-col-md-offset-8' }));
1960
+ SqDiv.appendChild(nextDiv);
1961
+ }
1962
+ else if(answer.status === 'anauth'){
1963
+ // Gestisce messaggio errore
1964
+ window.location.replace(answer.redirect_url);
1965
+ }
1966
+ else if(answer.status === 'error'){
1967
+ // Gestisce messaggio errore
1968
+ console.log(answer);
1969
+ }
1970
+ else {
1971
+ console.log('Bad status code');
1972
+ }
1973
+ return grId
1974
+ },
1975
+ that.renderGroupData = function(group, participantAdmin, adminEmail, alreadyInvited) {
1976
+ var groupDigest, status, contrib, options;
1977
+ var disabled='';
1978
+ var isOpen='';
1979
+ var groupDigest2;
1980
+ var date1=new Date(group.max_acceptance_date);
1981
+ var date2=new Date(group.max_payment_date);
1982
+ var sqDiv = document.getElementById('squeezol_view');
1983
+ if (group.isOpen == false){
1984
+ isOpen = '<div class="sq-row target-P">'+
1985
+ '<input type="hidden" id="sq-group-amount" value="'+group.amount+'"></input>'+
1986
+ '<p class="sq-content-body"> Obiettivo:</p>'+
1987
+ '<p class="sq-content-body"><strong>'+group.amount + group.currency +'</strong></p>'
1988
+ '<p class="sq-content-body"><strong>PIN:'+group.pin+'</strong></p>'+
1989
+ '</div>';
1990
+ }
1991
+ else {
1992
+ isOpen = '<input type="hidden" id="sq-group-amount" value="'+group.amount+'"></input>'+
1993
+ '<p class="sq-content-body"> Obiettivo:</p>'+
1994
+ '<p class="sq-content-body"><strong>'+group.amount + group.currency +'</strong></p>';
1995
+ }
1996
+ if (group.fundraising == 'D'){
1997
+ contrib = participantAdmin.single_amount;
1998
+ options = '<option value="S">Equa</option>'+
1999
+ '<option value="D" selected>Suggerita</option>';
2000
+ }
2001
+ else if(group.fundraising == 'S') {
2002
+ contrib = parseFloat(group.amount/(alreadyInvited.length+1)).toFixed(2);
2003
+ options = '<option value="S" selected>Equa</option>'+
2004
+ '<option value="D">Suggerita</option>';
2005
+ disabled = 'disabled';
2006
+ }
2007
+
2008
+ groupDigest=document.createElement('div');
2009
+ groupDigest.id = "squeezol_btn_container";
2010
+ groupDigest.className = "sq-row row-separata";
2011
+ groupDigest2=document.createElement('div');
2012
+ groupDigest2.className='sq-row row-separata';
2013
+ groupDigest2.innerHTML = '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-3 sq-col-md-offset-1 sq-col-left">'+
2014
+ '<p class="sq-content-title">'+ group.name +'<p>'+
2015
+ '</div>'+
2016
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-2 sq-col-md-offset-0">'+
2017
+ '<p class="sq-content-body">Scadenza invito:</p>'+
2018
+ '<p class="sq-content-body"><strong>'+
2019
+ date1.getDate() + '.' + (parseInt(date1.getMonth())+1).toString() + '.' + date1.getFullYear()+
2020
+ '</strong></p>'+
2021
+ '</div>'+
2022
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-3 sq-col-md-offset-0">'+
2023
+ '<p class="sq-content-body">Scadenza pagamento:</p>'+
2024
+ '<p class="sq-content-body"><strong>'+
2025
+ date2.getDate() + '.' + (parseInt(date2.getMonth())+1).toString() + '.' + date2.getFullYear()+
2026
+ '</strong></p>'+
2027
+ '</div>'+
2028
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-2 sq-col-md-offset-0">'+
2029
+ isOpen+
2030
+ '</div>';
2031
+
2032
+ groupDigest.innerHTML= '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-withBorder">'+
2033
+ '<div class="sq-row">'+
2034
+ '<div class="sq-col-xs-10 sq-col-md-3 sq-col-left">'+
2035
+ '<div class="sq-box-blu">'+
2036
+ '<p><strong>'+alreadyInvited.length+'</strong></p>'+
2037
+ '<p>invitati</p>'+
2038
+ '</div>'+
2039
+ '</div>'+
2040
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-4 sq-col-md-offset-0 sq-form-group" style="margin: 10px 0px 0px 20px;">'+
2041
+ '<p class="sq-label">Tipo quota:'+
2042
+ '<div data-toggle="popover" data-placement="top" title="Suggerisci la '+
2043
+ 'quota che verrà visualizzata dagli invitati. Altrimenti la quota proposta '+
2044
+ 'verrà calcolata in base al numero di invitati"'+
2045
+ 'class="icon sq-glyph-info-sign">'+
2046
+ '<p>i</p>'+
2047
+ '</div>'+
2048
+ '</p>'+
2049
+ '<select class="selectContrib" id="contributionType">'+options+'</select>'+
2050
+ '<input value="'+adminEmail+'"type="hidden" name="email" disabled>'+
2051
+ '</div>'+
2052
+ '<div class="squeezol_quota sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-4 sq-col-md-offset-0" style="margin: 10px 0px 0px 20px;">'+
2053
+ '<p class="sq-label">Quota singola:'+
2054
+ '<div data-toggle="popover" data-placement="top" title="La quota è un '+
2055
+ 'suggerimento per gli invitati."'+
2056
+ 'class="icon sq-glyph-info-sign">'+
2057
+ '<p>i</p>'+
2058
+ '</div>'+
2059
+ '</p>'+
2060
+ '<div class="sq-input-group">'+
2061
+ '<input id="squeezol_admin_contrib" value="'+contrib+'" name="email_contribution"'+
2062
+ 'type="text" class="squeezolPrice sq-form-control" '+disabled+'><span class="sq-input-group-addon">'+group.currency+'</span>'
2063
+ '</div>'+
2064
+ '</div>'+
2065
+ '</div>'+
2066
+ '</div>';
2067
+ groupDigest2=Div(groupDigest2);
2068
+ sqDiv.appendChild(groupDigest2.get());
2069
+ groupDigest=Div(groupDigest);
2070
+ sqDiv.appendChild(groupDigest.get());
2071
+ };
2072
+ return that;
2073
+ };
2074
+
2075
+ var DigestAnswer = function(answer) {
2076
+ var that = {},
2077
+ buttonHandler;
2078
+ that.addButtonHandler = function(handler) { buttonHandler = handler; };
2079
+ that.renderGET = function() {
2080
+ var params, isAdmin, invited, participants, partObj, groupStatus, saInput,
2081
+ openPay, canFinish, targetAmount, renderBtn, singleAmountBtn, inviteBtn,
2082
+ renderDiv, participantId, invAmount, alertPaid;
2083
+ var part, totalPaid;
2084
+ var SqDiv=document.getElementById('squeezol_view');
2085
+ var sqBtnContainer;
2086
+ var i, j, k, p, spanCurr, quotaDiv, labelQuota;
2087
+ var status, ui, state, ghianda, avatar_url, alertDes, contribution_amount;
2088
+ var paidText = '<p class"sq-text-center"><strong> La tua quota è stata prenotata! </strong>'+
2089
+ 'L\'importo verrà scalato dalla tua carta solo se l\'obiettivo verrà raggiunto!'+
2090
+ 'Invita altri amici per diminuire la quota!</p>';
2091
+ var wrapper = {wrapper: 'div', className: 'sq-col-md-4 sq-col-md-offset-1 sq-col-xs-10 sq-col-xs-offset-1'};
2092
+ var wrapper_row = {wrapper: 'div', className: 'sq-row'};
2093
+ var wrapBtn = {wrapper: 'div', className: 'sq-col-md-2 sq-col-xs-10 sq-col-xs-offset-1'};
2094
+ var wrapper_right = {wrapper: 'div', className: 'sq-col-md-3 sq-col-md-offset-3 sq-col-xs-10 sq-col-xs-offset-1'};
2095
+ var helpText = { 'p_quota': 'Inserisci la quota che intendi versare. Nota: fai click su modifica dopo aver inserito l\'importo' };
2096
+
2097
+ if(answer.status === 'ok') {
2098
+ params=JSON.parse(answer.params);
2099
+ isAdmin=params.is_admin;
2100
+ canFinish=params.canFinish;
2101
+ canOpenPay=params.canOpenPay;
2102
+ openPay=params.openPay;
2103
+ participantId = params.participant_id;
2104
+ invited=answer.invited;
2105
+ participants=JSON.parse(answer.participants);
2106
+ targetAmount=answer.group.amount;
2107
+ groupStatus=answer.group.status;
2108
+ invAmount = parseFloat(targetAmount/(invited.length+1)).toFixed(2);
2109
+ // Render Group Data
2110
+ ui = UserInterface()
2111
+ ui.drawHeader('digest', 'modal');
2112
+
2113
+ this.renderGroupData(answer.group, params, SqDiv, participants);
2114
+ ui.drawSeparator('Pagamenti');
2115
+ renderDiv=Div(document.createElement('div'));
2116
+ renderDiv.addClass('sq-row');
2117
+
2118
+ renderBtn = Button();
2119
+ singleAmountBtn = Button();
2120
+ saInput = TextInput()
2121
+ SqDiv = document.getElementById('squeezol_view');
2122
+ // Group completed with success
2123
+ if(groupStatus == 'CWS') {
2124
+ alertDes = document.createElement('div');
2125
+ alertDes.className = 'sq-row sq-alert sq-alert-success'
2126
+ alertDes.innerHTML = '<p class="sq-text-center">'+
2127
+ '<strong> Congratulazioni!</strong>'+
2128
+ 'Lo split si è conclusa con successo!'+
2129
+ '</p>';
2130
+ SqDiv.appendChild(alertDes);
2131
+ }
2132
+ // Waiting for accesptance or payments
2133
+ else if (groupStatus == 'WAC' || groupStatus == 'WPA'){
2134
+ // Possibilita' di proporre un importo se si e' in fase di accettazione o il gruppo e' aperto e WPA
2135
+ if (params.p_status == 'A'){
2136
+ saInput.create('single-amount');
2137
+ saInput.get().value=parseFloat(params.p_single_amount).toFixed(2);
2138
+ saInput.get().id='squeezol_single_amount';
2139
+ singleAmountBtn.create('Modifica quota', 'ui', 'SqueezolModifyAmount_');
2140
+ singleAmountBtn.get().setAttribute('data-participant', participantId);
2141
+ singleAmountBtn.get().setAttribute('data-action', 'SA');
2142
+ singleAmountBtn.get().className='sq-btn sq-btn-lg';
2143
+ singleAmountBtn.regHandler('click', buttonHandler);
2144
+ quotaDiv = Div(document.createElement('div'));
2145
+ quotaDiv.addClass('sq-input-group');
2146
+ spanCurr = document.createElement('span');
2147
+ spanCurr.className = 'sq-input-group-addon';
2148
+ spanCurr.innerHTML = answer.group.currency;
2149
+ quotaDiv.append(saInput.labelizeWithSpan('Quota personale', spanCurr, helpText['p_quota']).get());
2150
+ renderDiv.append(quotaDiv.wrap(wrapper));
2151
+ renderDiv.append(singleAmountBtn.wrap(wrapBtn));
2152
+ SqDiv.appendChild(renderDiv.get());
2153
+ }
2154
+
2155
+ ui.iconPopover();
2156
+ // Se admin
2157
+ if(isAdmin==true) {
2158
+
2159
+ // Se puo' aprire i pagamenti
2160
+ if(canOpenPay==true){
2161
+ renderBtn.create('Inizia i pagamenti!', 'ui', 'SqueezolStartPay_');
2162
+ renderBtn.get().setAttribute('data-participant', participantId);
2163
+ renderBtn.get().setAttribute('data-action', 'OP');
2164
+ renderBtn.get().className='sq-btn sq-btn-lg';
2165
+ renderBtn.regHandler('click', buttonHandler);
2166
+ }
2167
+ // Se puo' concludere la collette
2168
+ else if(canFinish==true) {
2169
+ renderBtn.create('Concludi Split', 'ui', 'SqueezolFinishPay_');
2170
+ renderBtn.get().setAttribute('data-participant', participantId);
2171
+ renderBtn.get().setAttribute('data-action', 'CG');
2172
+ renderBtn.get().className='squeezolButtonSuccess sq-btn sq-btn-lg';
2173
+ renderBtn.regHandler('click', buttonHandler);
2174
+ renderDiv.append(renderBtn.wrap(wrapper));
2175
+ SqDiv.appendChild(renderDiv.get());
2176
+ renderBtn = '';
2177
+ renderBtn = Button();
2178
+ renderDiv=Div(document.createElement('div'));
2179
+ renderBtn.create('Rimborsa', 'small', 'SqueezolRefund_');
2180
+ renderBtn.get().setAttribute('data-participant', participantId);
2181
+ renderBtn.get().setAttribute('data-action', 'RG');
2182
+ renderBtn.get().className='btn btn-sm btn-danger';
2183
+ renderBtn.regHandler('click', buttonHandler);
2184
+ }
2185
+ // Se i pagamenti sono aperti
2186
+ else if(openPay==true) {
2187
+ for(k=0; k<participants.length; k++){
2188
+ partObj=participants[k];
2189
+ if(partObj.id==participantId) {
2190
+ if (partObj.status==='P'){
2191
+ alertPaid=document.createElement('div');
2192
+ alertPaid.className='sq-alert sq-alert-success sq-row';
2193
+ alertPaid.innerHTML=paidText;
2194
+ renderBtn=Div(alertPaid);
2195
+ }
2196
+ else{
2197
+ renderBtn.create('Paga ora', 'big', 'SqueezolPay_');
2198
+ renderBtn.get().setAttribute('data-participant', participantId);
2199
+ renderBtn.get().setAttribute('data-action', 'P');
2200
+ renderBtn.get().className='sq-btn sq-btn-lg';
2201
+ renderBtn.regHandler('click', buttonHandler);
2202
+ }
2203
+ }
2204
+ }
2205
+ }
2206
+ else {
2207
+ //Attualmente non e' un Button
2208
+ renderBtn = document.createElement('div');
2209
+ renderBtn.innerHTML = '<div class="sq-alert sq-alert-warning sq-col-xs-6"'+
2210
+ '<p>'+
2211
+ '<strong>Attenzione!</strong>'+
2212
+ 'La fase di accettazione non si è ancora conclusa, vuoi aprire i pagamenti ai tuoi invitati?'+
2213
+ '</p>'+
2214
+ '</div>';
2215
+ SqDiv.appendChild(renderBtn);
2216
+ renderBtn = Button();
2217
+ renderBtn.create('Inizia i pagamenti!', 'big', 'SqueezolStartPay_');
2218
+ renderBtn.get().setAttribute('data-participant', participantId);
2219
+ renderBtn.get().setAttribute('data-action', 'OP');
2220
+ renderBtn.get().className='squeezolButtonSuccess sq-btn';
2221
+ renderBtn.regHandler('click', buttonHandler);
2222
+ }
2223
+ }
2224
+ else {
2225
+ if(openPay==true){ //se arriva qui e' gia' openPay=True in teoria
2226
+ for(k=0; k<participants.length; k++){
2227
+ partObj=participants[k];
2228
+ if(partObj.id==participantId) {
2229
+ if (partObj.status==='P'){
2230
+ alertPaid=document.createElement('div');
2231
+ alertPaid.className='sq-alert sq-alert-success sq-row';
2232
+ alertPaid.innerHTML=paidText;
2233
+ renderBtn=Div(alertPaid);
2234
+ }
2235
+ else{
2236
+ renderBtn.create('Paga ora', 'ui', 'SqueezolPay_');
2237
+ renderBtn.get().setAttribute('data-participant', participantId);
2238
+ renderBtn.get().setAttribute('data-action', 'P');
2239
+ renderBtn.get().className='sq-btn sq-btn-lg';
2240
+ renderBtn.regHandler('click', buttonHandler);
2241
+ if(openPay==false){
2242
+ renderBtn.get().disabled=true;
2243
+ }
2244
+ }
2245
+ }
2246
+ }
2247
+ }
2248
+ }
2249
+ // Render
2250
+ if (openPay == false) {
2251
+ var superTemp = document.createElement('div');
2252
+ superTemp.className = 'sq-col-xs-10 sq-col-xs-offset-1 sq-alert sq-alert-info';
2253
+ if (isAdmin == true){
2254
+ superTemp.innerHTML = '<p class="sq-text-center"> Inizia i pagamenti: sarà possibile a tutti versare la propria quota (una notifica verrà inoltrata a tutti i partecipanti!)</p>';
2255
+ }
2256
+ else {
2257
+ superTemp.innerHTML = '<p class="sq-text-center">Potrai versare la tua quota quando l\'organizzatore avrà iniziato i pagamenti(una notifica ti verrà inviata per email)</p>';
2258
+ }
2259
+ renderDiv.append(superTemp);
2260
+ }
2261
+ renderDiv=Div(document.createElement('div'));
2262
+ renderDiv.addClass('sq-row row-separata');
2263
+ renderDiv.get().id='squeezolPayBox';
2264
+ renderDiv.append(renderBtn.wrap(wrapper));
2265
+ if (params.invitation_url && isAdmin && (answer.group.status == 'WPA' || answer.group.status == 'WAC')){
2266
+ inviteBtn = Button();
2267
+ inviteBtn.create('Invita ancora', 'ui', 'SqueezolInvitation_');
2268
+ inviteBtn.get().className='sq-btn sq-btn-lg sq-invita-ancora';
2269
+ inviteBtn.regHandler('click', function(){
2270
+ window.location.replace(params.invitation_url);
2271
+ });
2272
+ document.getElementById('sq-append-invitation').appendChild(inviteBtn.wrap(wrapper_row));
2273
+ }
2274
+ SqDiv.appendChild(renderDiv.get());
2275
+ }
2276
+ // Group deserted
2277
+ else if(answer.group.status == 'DES') {
2278
+ renderBtn.create('Split Chiusa', 'big', 'SqueezolDeserted_');
2279
+ renderBtn.get().setAttribute('data-participant', participantId)
2280
+ renderBtn.get().disabled=true;
2281
+ renderBtn.get().className='buttonWarning sq-btn sq-btn-lg';
2282
+ alertDes = document.createElement('div');
2283
+ alertDes.className = 'sq-alert sq-alert-warning'
2284
+ alertDes.innerHTML = '<p>'+
2285
+ '<strong>Attenzione!</strong>'+
2286
+ 'Lo split è stata chiusa dall\'organizzatore o è scaduto il termine di 20 giorni entro i quali effetuare il pagamento.'+
2287
+ '</p>';
2288
+ SqDiv.appendChild(alertDes);
2289
+ }
2290
+
2291
+ // Render Partecipanti
2292
+ if (answer.group.hide_invitation == false || isAdmin){
2293
+ ui.drawSeparator('Partecipanti');
2294
+ for (j=0; j<participants.length; j++){
2295
+ part=document.createElement('div');
2296
+ part.className = 'sq-row part';
2297
+ p=participants[j];
2298
+ status=this.switchStatus(p.status);
2299
+ var img = new Image();
2300
+ if(p.avatar_url){
2301
+ avatar_url = p.avatar_url;
2302
+ } else {
2303
+ avatar_url = img_url + 'default.jpg';
2304
+ }
2305
+ if (p.status == 'P'){
2306
+ state = 'active';
2307
+ ghianda = 'blu';
2308
+ }
2309
+ else if (p.status == 'A'){
2310
+ state = 'accepted';
2311
+ ghianda = 'grigia';
2312
+ } else if (p.status == 'R'){
2313
+ state = 'refused';
2314
+ ghianda = 'grigia';
2315
+ }
2316
+ if (answer.group.hide_contribution == true || !isAdmin)
2317
+ contribution_amount = '-';
2318
+ else
2319
+ contribution_amount = p.single_amount + ' ' + answer.group.currency;
2320
+ part.innerHTML= '<div class="sq-col-md-1 sq-col-md-offset-1 sq-col-xs-4">'+
2321
+ '<img id="thumb'+j+'" class="imgAvatar sq-thumbnail sq-img-responsive" src="'+avatar_url+'" alt="User Avatar"></img>'+
2322
+ '</div>'+
2323
+ '<div class="sq-col-md-4 sq-col-xs-4 sq-has-success">'+
2324
+ '<p class="sq-content-body sq-text-center">'+p.name+'</p>'+
2325
+ '</div>'+
2326
+ '<div class="sq-col-md-2 sq-col-xs-10">'+
2327
+ '<h4 class="sq-text-center">'+contribution_amount+'</h4>'+
2328
+ '</div>'+
2329
+ '<div class="sq-col-md-2 sq-col-xs-10">'+
2330
+ '<h4 class="sq-text-center text-step-'+state+'">'+status+'</h4>'+
2331
+ '</div>'+
2332
+ '<div class="sq-col-md-1 sq-hidden-xs">'+
2333
+ '<img class="sq-img-responsive" src="' + img_url + 'ghianda_step_'+ghianda+'.png">'+
2334
+ '</div>';
2335
+ SqDiv.appendChild(part);
2336
+ }
2337
+ }
2338
+ }
2339
+ else if(answer.status === 'anauth'){
2340
+ // Gestisce messaggio errore
2341
+ window.location.replace(answer.redirect_url);
2342
+ }
2343
+ else if(answer.status === 'error'){
2344
+ // Gestisce messaggio errore
2345
+ console.log(answer);
2346
+ }
2347
+ else {
2348
+ console.log('Bad status code');
2349
+ }
2350
+ return params.group_id;
2351
+ };
2352
+ that.renderPOST = function(targetUrl) {
2353
+ switch (answer.response){
2354
+ case 'OP':
2355
+ jQuery('#squeezol_view').children().first().remove();
2356
+ this.POSTcallback(answer, 'OPENPAY', targetUrl);
2357
+ break;
2358
+ case 'P':
2359
+ this.POSTcallback(answer, 'PAY', targetUrl);
2360
+ break;
2361
+ case 'CG':
2362
+ this.POSTcallback(answer, 'FINISH', targetUrl);
2363
+ break;
2364
+ case 'SA':
2365
+ this.notifyAmount(answer);
2366
+ break;
2367
+ };
2368
+ return;
2369
+ },
2370
+ that.notifyAmount = function(answer) {
2371
+ var oldDiv, inputDiv, p, message, quota, currency;
2372
+ inputDiv=document.getElementById('squeezol_single_amount');
2373
+
2374
+ p=document.getElementById('squeezolNotifyAmount_');
2375
+ if (answer.status == 'ok'){
2376
+ message='Importo corretamente modificato';
2377
+ currency=inputDiv.nextSibling.innerHTML;
2378
+ quota=document.getElementById('sq-modify-amount').innerHTML=inputDiv.value+' '+currency;
2379
+ }
2380
+ else if(answer.status == 'error') {
2381
+ message=answer.error || answer.message;
2382
+ }
2383
+ if (p) {
2384
+ p.innerHTML=''
2385
+ p.appendChild(document.createTextNode(message));
2386
+ if (answer.status == 'error'){
2387
+ p.className = 'sq-alert sq-alert-danger';
2388
+ }
2389
+ else {
2390
+ p.className = 'sq-alert sq-alert-success';
2391
+ }
2392
+ }
2393
+ else{
2394
+ p = document.createElement('div');
2395
+ p.id='squeezolNotifyAmount_';
2396
+ p.appendChild(document.createTextNode(message));
2397
+ inputDiv.parentNode.parentNode.appendChild(p);
2398
+ if (answer.status == 'error'){
2399
+ p.className = 'sq-alert sq-alert-danger';
2400
+ }
2401
+ else {
2402
+ p.className = 'sq-alert sq-alert-success';
2403
+ }
2404
+ }
2405
+ },
2406
+ that.renderGroupData = function(group, params, parent, participants) {
2407
+ var groupDigest, status, sqDiv;
2408
+ var ui, p, admin_name, participant, testo, classe;
2409
+ var totalPaid=0.00;
2410
+ ui = UserInterface()
2411
+ sqDiv = document.getElementById('squeezol_view');
2412
+ groupDigest=document.createElement('div');
2413
+ groupDigest.id = "squeezol_btn_container";
2414
+ groupDigest.className = "squeezol_group_box sq-row";
2415
+ status = this.switchGroupStatus(group.status);
2416
+
2417
+ for (var i=0; i<participants.length; i++){
2418
+ p = participants[i];
2419
+ if (p.status == 'P'){
2420
+ totalPaid+=parseFloat(p.single_amount);
2421
+ }
2422
+ if (p.id == params.pAdminId){
2423
+ if (p.name)
2424
+ admin_name = p.name;
2425
+ else
2426
+ admin_name = p.email;
2427
+ }
2428
+ if (p.id == params.participant_id){
2429
+ participant = p;
2430
+ }
2431
+ }
2432
+
2433
+ if (group.fundraising == 'D'){
2434
+ testo = 'Quota che intendo versare';
2435
+ }
2436
+ else if (group.fundraising == 'S'){
2437
+ testo = 'Quota da versare';
2438
+ }
2439
+ else if (group.fundraising == 'F'){
2440
+ testo = 'Quota fissa';
2441
+ }
2442
+ if (participant.status == 'P'){
2443
+ classe = 'target-P';
2444
+ testo = 'Quota pagata';
2445
+ }
2446
+ else if(participant.status == 'A'){
2447
+ classe='box-blu-digest';
2448
+ }
2449
+ else
2450
+ classe='target-R';
2451
+ groupDigest.innerHTML= '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-4 sq-col-md-offset-1 sq-col-left">'+
2452
+ '<p class="sq-content-title">'+ group.name +'<p>'+
2453
+ '</div>'+
2454
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-3 sq-col-md-offset-0">'+
2455
+ '<p class="sq-content-body">Organizzatore:</p>'+
2456
+ '<strong>'+admin_name+'</strong>'+
2457
+ '</div>'+
2458
+ '<div class="sq-col-xs-10 sq-col-xs-offset-1 sq-col-md-2 sq-col-md-offset-0">'+
2459
+ '<div class="sq-row sq-box-blu-digest sq-content-body" style="padding:5px;">'+
2460
+ '<p class="sq-text-center"> Scelta:'+this.switchStatus(participant.status)+'</p>'+
2461
+ '</div>'+
2462
+ '</div>';
2463
+ groupDigest=Div(groupDigest);
2464
+ sqDiv.appendChild(groupDigest.get());
2465
+
2466
+ groupDigest=document.createElement('div');
2467
+ groupDigest.className = "sq-row row-separata";
2468
+ groupDigest.innerHTML = '<div class="sq-col-md-10 sq-col-md-offset-1">'+
2469
+ '<div class="sq-row withPaddedBorder">'+
2470
+ '<div class="sq-col-md-4">'+
2471
+ '<div class="sq-row">'+
2472
+ '<h4>TERMINA FRA</h4>'+
2473
+ '<div class="sq-col-md-4 no-pad">'+
2474
+ '<p class="sq-target-small">'+params.daysLeft+' G</p>'+
2475
+ '</div>'+
2476
+ '<div class="sq-col-md-4 no-pad">'+
2477
+ '<p class="sq-target-small">'+params.hoursLeft+' H</p>'+
2478
+ '</div>'+
2479
+ '<div class="sq-col-md-4 no-pad">'+
2480
+ '<p class="sq-target-small">'+params.minutesLeft+' M</p>'+
2481
+ '</div>'+
2482
+ '</div>'+
2483
+ '</div>'+
2484
+ '<div class="sq-col-md-4">'+
2485
+ '<div class="sq-row">'+
2486
+ '<p class="sq-text-center">'+
2487
+ 'totale: <strong>'+group.amount+' '+group.currency+'</strong>'+
2488
+ '</p>'+
2489
+ '</div>'+
2490
+ '<div class="progress-radial-container">'+
2491
+ '<div class="progress-radial progress-'+params.totalPerc+'">'+
2492
+ '<div class="overlay">'+totalPaid+' '+group.currency+
2493
+ '</div>'+
2494
+ '</div>'+
2495
+ '</div>'+
2496
+ '</div>'+
2497
+ '<div class="sq-col-md-4 '+classe+'" id="sq-append-invitation">'+
2498
+ '<p class="sq-text-center">'+
2499
+ testo+
2500
+ '</p>'+
2501
+ '<p class="sq-text-center sq-quota" id="sq-modify-amount">'+
2502
+ participant.single_amount+' '+group.currency+
2503
+ '</p>'+
2504
+ '</div>'+
2505
+ '</div>'+
2506
+ '</div>';
2507
+ groupDigest=Div(groupDigest);
2508
+ sqDiv.appendChild(groupDigest.get());
2509
+
2510
+ },
2511
+ that.POSTcallback = function(answer, action, targetUrl){
2512
+ var oldBtn, parentDiv, payBox, payBoxP, alertPaid;
2513
+ var renderBtn = Button();
2514
+ var participantId, form;
2515
+ if (action == 'OPENPAY'){
2516
+ oldBtn = document.getElementById('SqueezolStartPay_');
2517
+ participantId = oldBtn.getAttribute('data-participant');
2518
+ parentDiv = oldBtn.parentNode;
2519
+ parentDiv.removeChild(oldBtn);
2520
+ renderBtn.create('Paga ora', 'big', 'SqueezolPay_');
2521
+ renderBtn.get().setAttribute('data-action', 'P');
2522
+ renderBtn.regHandler('click', function(e){
2523
+ var event= e || window.event;
2524
+ var target = event.target || event.srcElement || event.originalTarget;
2525
+ request = DigestPostAJAX(answer.group_id, target, targetUrl);
2526
+ request.send(target);
2527
+ });
2528
+ }
2529
+ else if (action == 'FINISH'){
2530
+ oldBtn = document.getElementById('SqueezolFinishPay_');
2531
+ payBox = document.getElementById('squeezolPayBox');
2532
+ participantId = oldBtn.getAttribute('data-participant');
2533
+ parentDiv = oldBtn.parentNode;
2534
+ parentDiv.removeChild(oldBtn);
2535
+ alertPaid=document.createElement('div');
2536
+ alertPaid.className='sq-alert sq-alert-success sq-row';
2537
+ alertPaid.innerHTML='<p class"sq-text-center"><strong> La tua quota è stata prenotata! </strong>'+
2538
+ 'L\'importo verrà scalato dalla tua carta solo se l\'obiettivo verrà raggiunto!'+
2539
+ 'Invita altri amici per diminuire la quota!</p>';
2540
+ renderBtn=Div(alertPaid);
2541
+ payBoxP = payBox.parentNode;
2542
+ payBoxP.removeChild(payBox);
2543
+ }
2544
+ else if(action == 'PAY'){
2545
+ if (answer.status == 'ok'){
2546
+ form = document.createElement('form');
2547
+ form.action='https://'+answer.squeezol_site+answer.redirect_url;
2548
+ form.method='POST';
2549
+ form.innerHTML='<input type="hidden" name="group_id" value="' + answer.group_id + '">'+
2550
+ '<input type="hidden" name="participant_id" value="' + answer.participant_id + '">'
2551
+ document.body.appendChild(form);
2552
+ form.submit();
2553
+ } else if(answer.status == 'error'){
2554
+ this.notifyAmount(answer);
2555
+ }
2556
+ return;
2557
+ }
2558
+ renderBtn.get().setAttribute('data-participant', participantId);
2559
+ renderBtn.get().className='sq-btn sq-btn-lg';
2560
+ parentDiv.appendChild(renderBtn.get());
2561
+ },
2562
+ that.switchStatus = function(status){
2563
+ var ret_st;
2564
+ switch(status){
2565
+ case 'A':
2566
+ ret_st='Accettato';
2567
+ break;
2568
+ case 'R':
2569
+ ret_st='Rifiutato';
2570
+ break;
2571
+ case 'P':
2572
+ ret_st='Pagato';
2573
+ break;
2574
+ }
2575
+ return ret_st;
2576
+ };
2577
+ that.switchGroupStatus = function(status) {
2578
+ var gr_status;
2579
+ switch(status){
2580
+ case 'WAC':
2581
+ gr_status='In attesa di accettazione';
2582
+ break;
2583
+ case 'CWS':
2584
+ gr_status='Split Completata';
2585
+ break;
2586
+ case 'DES':
2587
+ gr_status='Abbandonato';
2588
+ break;
2589
+ case 'WPA':
2590
+ gr_status='In attesa di pagamenti';
2591
+ break;
2592
+ }
2593
+ return gr_status;
2594
+ };
2595
+ return that;
2596
+ };
2597
+
2598
+ // API Call
2599
+ window.SqueezolApi = {
2600
+ createSqButton: function(targetUrl, size) {
2601
+ var tmpBtn, btn, div, txt;
2602
+ var ui = UserInterface();
2603
+ tmpBtn=document.createElement('div');
2604
+ tmpBtn.innerHTML = '<img src="' + img_url + 'pay_button2.png"></img>';
2605
+ btn = Div(tmpBtn);
2606
+ btn.addClass('squeezol_button_'+size)
2607
+ btn.regHandler('click', function() {
2608
+ location.href = targetUrl;
2609
+ });
2610
+ div = Div();
2611
+ div.get('squeezol_btn');
2612
+ div.append(btn.get());
2613
+ //txt = document.createElement('div');
2614
+ //txt.className = 'wizardOpen';
2615
+ //txt.innerHTML = ui.getText('Scopri cos\'&egrave; Squeezol');
2616
+ //div.append(txt);
2617
+ //ui.drawWizard('top', txt);
2618
+ },
2619
+ createGroup: function(amount, currency, codProducts, targetUrl, firstUrl, secondUrl) {
2620
+ var trolley, groupCr, ui;
2621
+ trolley = Trolley({am: amount, curr: currency, codP: codProducts});
2622
+ groupCr = GroupCreation();
2623
+ groupCr.addButtonHandler(function() {
2624
+ var ajaxObj, nodes, notifyDiv;
2625
+ ui = UserInterface();
2626
+ ajaxObj = CreationPostAJAX(targetUrl, firstUrl, secondUrl);
2627
+ ajaxObj.addData([groupCr.getInputs(), trolley.get()]);
2628
+ ajaxObj.send();
2629
+ });
2630
+ groupCr.draw('squeezol_view');
2631
+ },
2632
+ getDigestData: function(group_id, targetUrl) {
2633
+ var ajaxObj, nodes, notifyDiv;
2634
+ ajaxObj = DigestGetAJAX(group_id, targetUrl);
2635
+ ajaxObj.send();
2636
+ },
2637
+ getInvitationData: function(group_id, targetUrl) {
2638
+ var ajaxObj, nodes, notifyDiv;
2639
+ ajaxObj = InvitationGetAJAX(group_id, targetUrl);
2640
+ ajaxObj.send();
2641
+ }
2642
+ };
2643
+ return;
2644
+ }())
skin/frontend/base/default/js/bootstrap.min.js ADDED
@@ -0,0 +1,1288 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.0 (http://getbootstrap.com)
3
+ * Copyright 2011-2014 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+
7
+ /*!
8
+ * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=88f6ae16d77bba731ca2)
9
+ * Config saved to config.json and https://gist.github.com/88f6ae16d77bba731ca2
10
+ */
11
+ if (typeof jQuery === 'undefined') {
12
+ throw new Error('Bootstrap\'s JavaScript requires jQuery')
13
+ }
14
+ +function ($) {
15
+ var version = $.fn.jquery.split(' ')[0].split('.')
16
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
17
+ throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
18
+ }
19
+ }(jQuery);
20
+
21
+ /* ========================================================================
22
+ * Bootstrap: button.js v3.3.0
23
+ * http://getbootstrap.com/javascript/#buttons
24
+ * ========================================================================
25
+ * Copyright 2011-2014 Twitter, Inc.
26
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
27
+ * ======================================================================== */
28
+
29
+
30
+ +function ($) {
31
+ 'use strict';
32
+
33
+ // BUTTON PUBLIC CLASS DEFINITION
34
+ // ==============================
35
+
36
+ var Button = function (element, options) {
37
+ this.$element = $(element)
38
+ this.options = $.extend({}, Button.DEFAULTS, options)
39
+ this.isLoading = false
40
+ }
41
+
42
+ Button.VERSION = '3.3.0'
43
+
44
+ Button.DEFAULTS = {
45
+ loadingText: 'Caricamento...'
46
+ }
47
+
48
+ Button.prototype.setState = function (state) {
49
+ var d = 'disabled'
50
+ var $el = this.$element
51
+ var val = $el.is('input') ? 'val' : 'html'
52
+ var data = $el.data()
53
+
54
+ state = state + 'Text'
55
+
56
+ if (data.resetText == null) $el.data('resetText', $el[val]())
57
+
58
+ // push to event loop to allow forms to submit
59
+ setTimeout($.proxy(function () {
60
+ $el[val](data[state] == null ? this.options[state] : data[state])
61
+
62
+ if (state == 'loadingText') {
63
+ this.isLoading = true
64
+ $el.addClass(d).attr(d, d)
65
+ } else if (this.isLoading) {
66
+ this.isLoading = false
67
+ $el.removeClass(d).removeAttr(d)
68
+ }
69
+ }, this), 0)
70
+ }
71
+
72
+ Button.prototype.toggle = function () {
73
+ var changed = true
74
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
75
+
76
+ if ($parent.length) {
77
+ var $input = this.$element.find('input')
78
+ if ($input.prop('type') == 'radio') {
79
+ if ($input.prop('checked') && this.$element.hasClass('sq-active')) changed = false
80
+ else $parent.find('.sq-active').removeClass('sq-active')
81
+ }
82
+ if (changed) $input.prop('checked', !this.$element.hasClass('sq-active')).trigger('change')
83
+ } else {
84
+ this.$element.attr('aria-pressed', !this.$element.hasClass('sq-active'))
85
+ }
86
+
87
+ if (changed) this.$element.toggleClass('sq-active')
88
+ }
89
+
90
+
91
+ // BUTTON PLUGIN DEFINITION
92
+ // ========================
93
+
94
+ function Plugin(option) {
95
+ return this.each(function () {
96
+ var $this = $(this)
97
+ var data = $this.data('bs.button')
98
+ var options = typeof option == 'object' && option
99
+
100
+ if (!data) $this.data('bs.button', (data = new Button(this, options)))
101
+
102
+ if (option == 'toggle') data.toggle()
103
+ else if (option) data.setState(option)
104
+ })
105
+ }
106
+
107
+ var old = $.fn.button
108
+
109
+ $.fn.button = Plugin
110
+ $.fn.button.Constructor = Button
111
+
112
+
113
+ // BUTTON NO CONFLICT
114
+ // ==================
115
+
116
+ $.fn.button.noConflict = function () {
117
+ $.fn.button = old
118
+ return this
119
+ }
120
+
121
+
122
+ // BUTTON DATA-API
123
+ // ===============
124
+
125
+ $(document)
126
+ .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
127
+ var $btn = $(e.target)
128
+ if (!$btn.hasClass('sq-btn')) $btn = $btn.closest('.sq-btn')
129
+ Plugin.call($btn, 'toggle')
130
+ e.preventDefault()
131
+ })
132
+ .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
133
+ $(e.target).closest('.sq-btn').toggleClass('focus', e.type == 'focus')
134
+ })
135
+
136
+ }(jQuery);
137
+
138
+ /* ========================================================================
139
+ * Bootstrap: modal.js v3.3.0
140
+ * http://getbootstrap.com/javascript/#modals
141
+ * ========================================================================
142
+ * Copyright 2011-2014 Twitter, Inc.
143
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
144
+ * ======================================================================== */
145
+
146
+
147
+ +function ($) {
148
+ 'use strict';
149
+
150
+ // MODAL CLASS DEFINITION
151
+ // ======================
152
+
153
+ var Modal = function (element, options) {
154
+ this.options = options
155
+ this.$body = $(document.body)
156
+ this.$element = $(element)
157
+ this.$backdrop =
158
+ this.isShown = null
159
+ this.scrollbarWidth = 0
160
+
161
+ if (this.options.remote) {
162
+ this.$element
163
+ .find('.sq-modal-content')
164
+ .load(this.options.remote, $.proxy(function () {
165
+ this.$element.trigger('loaded.bs.modal')
166
+ }, this))
167
+ }
168
+ }
169
+
170
+ Modal.VERSION = '3.3.0'
171
+
172
+ Modal.TRANSITION_DURATION = 300
173
+ Modal.BACKDROP_TRANSITION_DURATION = 150
174
+
175
+ Modal.DEFAULTS = {
176
+ backdrop: true,
177
+ keyboard: true,
178
+ show: true
179
+ }
180
+
181
+ Modal.prototype.toggle = function (_relatedTarget) {
182
+ return this.isShown ? this.hide() : this.show(_relatedTarget)
183
+ }
184
+
185
+ Modal.prototype.show = function (_relatedTarget) {
186
+ var that = this
187
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
188
+
189
+ this.$element.trigger(e)
190
+
191
+ if (this.isShown || e.isDefaultPrevented()) return
192
+
193
+ this.isShown = true
194
+
195
+ this.checkScrollbar()
196
+ this.$body.addClass('sq-modal-open')
197
+
198
+ this.setScrollbar()
199
+ this.escape()
200
+
201
+ this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
202
+
203
+ this.backdrop(function () {
204
+ var transition = $.support.transition && that.$element.hasClass('sq-fade')
205
+
206
+ if (!that.$element.parent().length) {
207
+ that.$element.appendTo(that.$body) // don't move modals dom position
208
+ }
209
+
210
+ that.$element
211
+ .show()
212
+ .scrollTop(0)
213
+
214
+ if (transition) {
215
+ that.$element[0].offsetWidth // force reflow
216
+ }
217
+
218
+ that.$element
219
+ .addClass('sq-in')
220
+ .attr('aria-hidden', false)
221
+
222
+ that.enforceFocus()
223
+
224
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
225
+
226
+ transition ?
227
+ that.$element.find('.sq-modal-dialog') // wait for modal to slide in
228
+ .one('bsTransitionEnd', function () {
229
+ that.$element.trigger('focus').trigger(e)
230
+ })
231
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
232
+ that.$element.trigger('focus').trigger(e)
233
+ })
234
+ }
235
+
236
+ Modal.prototype.hide = function (e) {
237
+ if (e) e.preventDefault()
238
+
239
+ e = $.Event('hide.bs.modal')
240
+
241
+ this.$element.trigger(e)
242
+
243
+ if (!this.isShown || e.isDefaultPrevented()) return
244
+
245
+ this.isShown = false
246
+
247
+ this.escape()
248
+
249
+ $(document).off('focusin.bs.modal')
250
+
251
+ this.$element
252
+ .removeClass('sq-in')
253
+ .attr('aria-hidden', true)
254
+ .off('click.dismiss.bs.modal')
255
+
256
+ $.support.transition && this.$element.hasClass('sq-fade') ?
257
+ this.$element
258
+ .one('bsTransitionEnd', $.proxy(this.hideModal, this))
259
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
260
+ this.hideModal()
261
+ }
262
+
263
+ Modal.prototype.enforceFocus = function () {
264
+ $(document)
265
+ .off('focusin.bs.modal') // guard against infinite focus loop
266
+ .on('focusin.bs.modal', $.proxy(function (e) {
267
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
268
+ this.$element.trigger('focus')
269
+ }
270
+ }, this))
271
+ }
272
+
273
+ Modal.prototype.escape = function () {
274
+ if (this.isShown && this.options.keyboard) {
275
+ this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
276
+ e.which == 27 && this.hide()
277
+ }, this))
278
+ } else if (!this.isShown) {
279
+ this.$element.off('keydown.dismiss.bs.modal')
280
+ }
281
+ }
282
+
283
+ Modal.prototype.hideModal = function () {
284
+ var that = this
285
+ this.$element.hide()
286
+ this.backdrop(function () {
287
+ that.$body.removeClass('sq-modal-open')
288
+ that.resetScrollbar()
289
+ that.$element.trigger('hidden.bs.modal')
290
+ })
291
+ }
292
+
293
+ Modal.prototype.removeBackdrop = function () {
294
+ this.$backdrop && this.$backdrop.remove()
295
+ this.$backdrop = null
296
+ }
297
+
298
+ Modal.prototype.backdrop = function (callback) {
299
+ var that = this
300
+ var animate = this.$element.hasClass('sq-fade') ? 'sq-fade' : ''
301
+
302
+ if (this.isShown && this.options.backdrop) {
303
+ var doAnimate = $.support.transition && animate
304
+
305
+ this.$backdrop = $('<div class="sq-modal-backdrop ' + animate + '" />')
306
+ .prependTo(this.$element)
307
+ .on('click.dismiss.bs.modal', $.proxy(function (e) {
308
+ if (e.target !== e.currentTarget) return
309
+ this.options.backdrop == 'static'
310
+ ? this.$element[0].focus.call(this.$element[0])
311
+ : this.hide.call(this)
312
+ }, this))
313
+
314
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
315
+
316
+ this.$backdrop.addClass('sq-in')
317
+
318
+ if (!callback) return
319
+
320
+ doAnimate ?
321
+ this.$backdrop
322
+ .one('bsTransitionEnd', callback)
323
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
324
+ callback()
325
+ } else if (!this.isShown && this.$backdrop) {
326
+ this.$backdrop.removeClass('sq-in')
327
+
328
+ var callbackRemove = function () {
329
+ that.removeBackdrop()
330
+ callback && callback()
331
+ }
332
+ $.support.transition && this.$element.hasClass('sq-fade') ?
333
+ this.$backdrop
334
+ .one('bsTransitionEnd', callbackRemove)
335
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
336
+ callbackRemove()
337
+
338
+ } else if (callback) {
339
+ callback()
340
+ }
341
+ }
342
+
343
+ Modal.prototype.checkScrollbar = function () {
344
+ this.scrollbarWidth = this.measureScrollbar()
345
+ }
346
+
347
+ Modal.prototype.setScrollbar = function () {
348
+ var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
349
+ if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
350
+ }
351
+
352
+ Modal.prototype.resetScrollbar = function () {
353
+ this.$body.css('padding-right', '')
354
+ }
355
+
356
+ Modal.prototype.measureScrollbar = function () { // thx walsh
357
+ if (document.body.clientWidth >= window.innerWidth) return 0
358
+ var scrollDiv = document.createElement('div')
359
+ scrollDiv.className = 'sq-modal-scrollbar-measure'
360
+ this.$body.append(scrollDiv)
361
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
362
+ this.$body[0].removeChild(scrollDiv)
363
+ return scrollbarWidth
364
+ }
365
+
366
+
367
+ // MODAL PLUGIN DEFINITION
368
+ // =======================
369
+
370
+ function Plugin(option, _relatedTarget) {
371
+ return this.each(function () {
372
+ var $this = $(this)
373
+ var data = $this.data('bs.modal')
374
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
375
+
376
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
377
+ if (typeof option == 'string') data[option](_relatedTarget)
378
+ else if (options.show) data.show(_relatedTarget)
379
+ })
380
+ }
381
+
382
+ var old = $.fn.modal
383
+
384
+ $.fn.modal = Plugin
385
+ $.fn.modal.Constructor = Modal
386
+
387
+
388
+ // MODAL NO CONFLICT
389
+ // =================
390
+
391
+ $.fn.modal.noConflict = function () {
392
+ $.fn.modal = old
393
+ return this
394
+ }
395
+
396
+
397
+ // MODAL DATA-API
398
+ // ==============
399
+
400
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
401
+ var $this = $(this)
402
+ var href = $this.attr('href')
403
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
404
+ var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
405
+
406
+ if ($this.is('a')) e.preventDefault()
407
+
408
+ $target.one('show.bs.modal', function (showEvent) {
409
+ if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
410
+ $target.one('hidden.bs.modal', function () {
411
+ $this.is(':visible') && $this.trigger('focus')
412
+ })
413
+ })
414
+ Plugin.call($target, option, this)
415
+ })
416
+
417
+ }(jQuery);
418
+
419
+ /* ========================================================================
420
+ * Bootstrap: tooltip.js v3.3.0
421
+ * http://getbootstrap.com/javascript/#tooltip
422
+ * Inspired by the original jQuery.tipsy by Jason Frame
423
+ * ========================================================================
424
+ * Copyright 2011-2014 Twitter, Inc.
425
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
426
+ * ======================================================================== */
427
+
428
+
429
+ +function ($) {
430
+ 'use strict';
431
+
432
+ // TOOLTIP PUBLIC CLASS DEFINITION
433
+ // ===============================
434
+
435
+ var Tooltip = function (element, options) {
436
+ this.type =
437
+ this.options =
438
+ this.enabled =
439
+ this.timeout =
440
+ this.hoverState =
441
+ this.$element = null
442
+
443
+ this.init('tooltip', element, options)
444
+ }
445
+
446
+ Tooltip.VERSION = '3.3.0'
447
+
448
+ Tooltip.TRANSITION_DURATION = 150
449
+
450
+ Tooltip.DEFAULTS = {
451
+ animation: true,
452
+ placement: 'top',
453
+ selector: false,
454
+ template: '<div class="sq-tooltip" role="tooltip"><div class="sq-tooltip-arrow"></div><div class="sq-tooltip-inner"></div></div>',
455
+ trigger: 'hover focus',
456
+ title: '',
457
+ delay: 0,
458
+ html: false,
459
+ container: false,
460
+ viewport: {
461
+ selector: 'body',
462
+ padding: 0
463
+ }
464
+ }
465
+
466
+ Tooltip.prototype.init = function (type, element, options) {
467
+ this.enabled = true
468
+ this.type = type
469
+ this.$element = $(element)
470
+ this.options = this.getOptions(options)
471
+ this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
472
+
473
+ var triggers = this.options.trigger.split(' ')
474
+
475
+ for (var i = triggers.length; i--;) {
476
+ var trigger = triggers[i]
477
+
478
+ if (trigger == 'click') {
479
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
480
+ } else if (trigger != 'manual') {
481
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
482
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
483
+
484
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
485
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
486
+ }
487
+ }
488
+
489
+ this.options.selector ?
490
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
491
+ this.fixTitle()
492
+ }
493
+
494
+ Tooltip.prototype.getDefaults = function () {
495
+ return Tooltip.DEFAULTS
496
+ }
497
+
498
+ Tooltip.prototype.getOptions = function (options) {
499
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
500
+
501
+ if (options.delay && typeof options.delay == 'number') {
502
+ options.delay = {
503
+ show: options.delay,
504
+ hide: options.delay
505
+ }
506
+ }
507
+
508
+ return options
509
+ }
510
+
511
+ Tooltip.prototype.getDelegateOptions = function () {
512
+ var options = {}
513
+ var defaults = this.getDefaults()
514
+
515
+ this._options && $.each(this._options, function (key, value) {
516
+ if (defaults[key] != value) options[key] = value
517
+ })
518
+
519
+ return options
520
+ }
521
+
522
+ Tooltip.prototype.enter = function (obj) {
523
+ var self = obj instanceof this.constructor ?
524
+ obj : $(obj.currentTarget).data('bs.' + this.type)
525
+
526
+ if (self && self.$tip && self.$tip.is(':visible')) {
527
+ self.hoverState = 'in'
528
+ return
529
+ }
530
+
531
+ if (!self) {
532
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
533
+ $(obj.currentTarget).data('bs.' + this.type, self)
534
+ }
535
+
536
+ clearTimeout(self.timeout)
537
+
538
+ self.hoverState = 'in'
539
+
540
+ if (!self.options.delay || !self.options.delay.show) return self.show()
541
+
542
+ self.timeout = setTimeout(function () {
543
+ if (self.hoverState == 'in') self.show()
544
+ }, self.options.delay.show)
545
+ }
546
+
547
+ Tooltip.prototype.leave = function (obj) {
548
+ var self = obj instanceof this.constructor ?
549
+ obj : $(obj.currentTarget).data('bs.' + this.type)
550
+
551
+ if (!self) {
552
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
553
+ $(obj.currentTarget).data('bs.' + this.type, self)
554
+ }
555
+
556
+ clearTimeout(self.timeout)
557
+
558
+ self.hoverState = 'out'
559
+
560
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
561
+
562
+ self.timeout = setTimeout(function () {
563
+ if (self.hoverState == 'out') self.hide()
564
+ }, self.options.delay.hide)
565
+ }
566
+
567
+ Tooltip.prototype.show = function () {
568
+ var e = $.Event('show.bs.' + this.type)
569
+
570
+ if (this.hasContent() && this.enabled) {
571
+ this.$element.trigger(e)
572
+
573
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
574
+ if (e.isDefaultPrevented() || !inDom) return
575
+ var that = this
576
+
577
+ var $tip = this.tip()
578
+
579
+ var tipId = this.getUID(this.type)
580
+
581
+ this.setContent()
582
+ $tip.attr('id', tipId)
583
+ this.$element.attr('aria-describedby', tipId)
584
+
585
+ if (this.options.animation) $tip.addClass('sq-fade')
586
+
587
+ var placement = typeof this.options.placement == 'function' ?
588
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
589
+ this.options.placement
590
+
591
+ var autoToken = /\s?auto?\s?/i
592
+ var autoPlace = autoToken.test(placement)
593
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
594
+
595
+ $tip
596
+ .detach()
597
+ .css({ top: 0, left: 0, display: 'block' })
598
+ .addClass(placement)
599
+ .data('bs.' + this.type, this)
600
+
601
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
602
+
603
+ var pos = this.getPosition()
604
+ var actualWidth = $tip[0].offsetWidth
605
+ var actualHeight = $tip[0].offsetHeight
606
+
607
+ if (autoPlace) {
608
+ var orgPlacement = placement
609
+ var $container = this.options.container ? $(this.options.container) : this.$element.parent()
610
+ var containerDim = this.getPosition($container)
611
+
612
+ placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
613
+ placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
614
+ placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
615
+ placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
616
+ placement
617
+
618
+ $tip
619
+ .removeClass(orgPlacement)
620
+ .addClass(placement)
621
+ }
622
+
623
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
624
+
625
+ this.applyPlacement(calculatedOffset, placement)
626
+
627
+ var complete = function () {
628
+ var prevHoverState = that.hoverState
629
+ that.$element.trigger('shown.bs.' + that.type)
630
+ that.hoverState = null
631
+
632
+ if (prevHoverState == 'out') that.leave(that)
633
+ }
634
+
635
+ $.support.transition && this.$tip.hasClass('sq-fade') ?
636
+ $tip
637
+ .one('bsTransitionEnd', complete)
638
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
639
+ complete()
640
+ }
641
+ }
642
+
643
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
644
+ var $tip = this.tip()
645
+ var width = $tip[0].offsetWidth
646
+ var height = $tip[0].offsetHeight
647
+
648
+ // manually read margins because getBoundingClientRect includes difference
649
+ var marginTop = parseInt($tip.css('sq-margin-top'), 10)
650
+ var marginLeft = parseInt($tip.css('sq-margin-left'), 10)
651
+
652
+ // we must check for NaN for ie 8/9
653
+ if (isNaN(marginTop)) marginTop = 0
654
+ if (isNaN(marginLeft)) marginLeft = 0
655
+
656
+ offset.top = offset.top + marginTop
657
+ offset.left = offset.left + marginLeft
658
+
659
+ // $.fn.offset doesn't round pixel values
660
+ // so we use setOffset directly with our own function B-0
661
+ $.offset.setOffset($tip[0], $.extend({
662
+ using: function (props) {
663
+ $tip.css({
664
+ top: Math.round(props.top),
665
+ left: Math.round(props.left)
666
+ })
667
+ }
668
+ }, offset), 0)
669
+
670
+ $tip.addClass('sq-in')
671
+
672
+ // check to see if placing tip in new offset caused the tip to resize itself
673
+ var actualWidth = $tip[0].offsetWidth
674
+ var actualHeight = $tip[0].offsetHeight
675
+
676
+ if (placement == 'top' && actualHeight != height) {
677
+ offset.top = offset.top + height - actualHeight
678
+ }
679
+
680
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
681
+
682
+ if (delta.left) offset.left += delta.left
683
+ else offset.top += delta.top
684
+
685
+ var isVertical = /top|bottom/.test(placement)
686
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
687
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
688
+
689
+ $tip.offset(offset)
690
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
691
+ }
692
+
693
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) {
694
+ this.arrow()
695
+ .css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
696
+ .css(isHorizontal ? 'top' : 'left', '')
697
+ }
698
+
699
+ Tooltip.prototype.setContent = function () {
700
+ var $tip = this.tip()
701
+ var title = this.getTitle()
702
+
703
+ $tip.find('.sq-tooltip-inner')[this.options.html ? 'html' : 'text'](title)
704
+ $tip.removeClass('sq-fade sq-in sq-top sq-bottom sq-left sq-right')
705
+ }
706
+
707
+ Tooltip.prototype.hide = function (callback) {
708
+ var that = this
709
+ var $tip = this.tip()
710
+ var e = $.Event('hide.bs.' + this.type)
711
+
712
+ function complete() {
713
+ if (that.hoverState != 'in') $tip.detach()
714
+ that.$element
715
+ .removeAttr('aria-describedby')
716
+ .trigger('hidden.bs.' + that.type)
717
+ callback && callback()
718
+ }
719
+
720
+ this.$element.trigger(e)
721
+
722
+ if (e.isDefaultPrevented()) return
723
+
724
+ $tip.removeClass('sq-in')
725
+
726
+ $.support.transition && this.$tip.hasClass('sq-fade') ?
727
+ $tip
728
+ .one('bsTransitionEnd', complete)
729
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
730
+ complete()
731
+
732
+ this.hoverState = null
733
+
734
+ return this
735
+ }
736
+
737
+ Tooltip.prototype.fixTitle = function () {
738
+ var $e = this.$element
739
+ if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
740
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
741
+ }
742
+ }
743
+
744
+ Tooltip.prototype.hasContent = function () {
745
+ return this.getTitle()
746
+ }
747
+
748
+ Tooltip.prototype.getPosition = function ($element) {
749
+ $element = $element || this.$element
750
+
751
+ var el = $element[0]
752
+ var isBody = el.tagName == 'BODY'
753
+
754
+ var elRect = el.getBoundingClientRect()
755
+ if (elRect.width == null) {
756
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
757
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
758
+ }
759
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
760
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
761
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
762
+
763
+ return $.extend({}, elRect, scroll, outerDims, elOffset)
764
+ }
765
+
766
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
767
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
768
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
769
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
770
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
771
+
772
+ }
773
+
774
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
775
+ var delta = { top: 0, left: 0 }
776
+ if (!this.$viewport) return delta
777
+
778
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
779
+ var viewportDimensions = this.getPosition(this.$viewport)
780
+
781
+ if (/right|left/.test(placement)) {
782
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
783
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
784
+ if (topEdgeOffset < viewportDimensions.top) { // top overflow
785
+ delta.top = viewportDimensions.top - topEdgeOffset
786
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
787
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
788
+ }
789
+ } else {
790
+ var leftEdgeOffset = pos.left - viewportPadding
791
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth
792
+ if (leftEdgeOffset < viewportDimensions.left) { // left overflow
793
+ delta.left = viewportDimensions.left - leftEdgeOffset
794
+ } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
795
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
796
+ }
797
+ }
798
+
799
+ return delta
800
+ }
801
+
802
+ Tooltip.prototype.getTitle = function () {
803
+ var title
804
+ var $e = this.$element
805
+ var o = this.options
806
+
807
+ title = $e.attr('data-original-title')
808
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
809
+
810
+ return title
811
+ }
812
+
813
+ Tooltip.prototype.getUID = function (prefix) {
814
+ do prefix += ~~(Math.random() * 1000000)
815
+ while (document.getElementById(prefix))
816
+ return prefix
817
+ }
818
+
819
+ Tooltip.prototype.tip = function () {
820
+ return (this.$tip = this.$tip || $(this.options.template))
821
+ }
822
+
823
+ Tooltip.prototype.arrow = function () {
824
+ return (this.$arrow = this.$arrow || this.tip().find('.sq-tooltip-arrow'))
825
+ }
826
+
827
+ Tooltip.prototype.enable = function () {
828
+ this.enabled = true
829
+ }
830
+
831
+ Tooltip.prototype.disable = function () {
832
+ this.enabled = false
833
+ }
834
+
835
+ Tooltip.prototype.toggleEnabled = function () {
836
+ this.enabled = !this.enabled
837
+ }
838
+
839
+ Tooltip.prototype.toggle = function (e) {
840
+ var self = this
841
+ if (e) {
842
+ self = $(e.currentTarget).data('bs.' + this.type)
843
+ if (!self) {
844
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions())
845
+ $(e.currentTarget).data('bs.' + this.type, self)
846
+ }
847
+ }
848
+
849
+ self.tip().hasClass('sq-in') ? self.leave(self) : self.enter(self)
850
+ }
851
+
852
+ Tooltip.prototype.destroy = function () {
853
+ var that = this
854
+ clearTimeout(this.timeout)
855
+ this.hide(function () {
856
+ that.$element.off('.' + that.type).removeData('bs.' + that.type)
857
+ })
858
+ }
859
+
860
+
861
+ // TOOLTIP PLUGIN DEFINITION
862
+ // =========================
863
+
864
+ function Plugin(option) {
865
+ return this.each(function () {
866
+ var $this = $(this)
867
+ var data = $this.data('bs.tooltip')
868
+ var options = typeof option == 'object' && option
869
+ var selector = options && options.selector
870
+
871
+ if (!data && option == 'destroy') return
872
+ if (selector) {
873
+ if (!data) $this.data('bs.tooltip', (data = {}))
874
+ if (!data[selector]) data[selector] = new Tooltip(this, options)
875
+ } else {
876
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
877
+ }
878
+ if (typeof option == 'string') data[option]()
879
+ })
880
+ }
881
+
882
+ var old = $.fn.tooltip
883
+
884
+ $.fn.tooltip = Plugin
885
+ $.fn.tooltip.Constructor = Tooltip
886
+
887
+
888
+ // TOOLTIP NO CONFLICT
889
+ // ===================
890
+
891
+ $.fn.tooltip.noConflict = function () {
892
+ $.fn.tooltip = old
893
+ return this
894
+ }
895
+
896
+ }(jQuery);
897
+
898
+ /* ========================================================================
899
+ * Bootstrap: popover.js v3.3.0
900
+ * http://getbootstrap.com/javascript/#popovers
901
+ * ========================================================================
902
+ * Copyright 2011-2014 Twitter, Inc.
903
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
904
+ * ======================================================================== */
905
+
906
+
907
+ +function ($) {
908
+ 'use strict';
909
+
910
+ // POPOVER PUBLIC CLASS DEFINITION
911
+ // ===============================
912
+
913
+ var Popover = function (element, options) {
914
+ this.init('popover', element, options)
915
+ }
916
+
917
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
918
+
919
+ Popover.VERSION = '3.3.0'
920
+
921
+ Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
922
+ placement: 'right',
923
+ trigger: 'click',
924
+ content: '',
925
+ template: '<div class="sq-popover" role="tooltip"><div class="sq-arrow"></div><h3 class="sq-popover-title"></h3><div class="sq-popover-content"></div></div>'
926
+ })
927
+
928
+
929
+ // NOTE: POPOVER EXTENDS tooltip.js
930
+ // ================================
931
+
932
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
933
+
934
+ Popover.prototype.constructor = Popover
935
+
936
+ Popover.prototype.getDefaults = function () {
937
+ return Popover.DEFAULTS
938
+ }
939
+
940
+ Popover.prototype.setContent = function () {
941
+ var $tip = this.tip()
942
+ var title = this.getTitle()
943
+ var content = this.getContent()
944
+
945
+ $tip.find('.sq-popover-title')[this.options.html ? 'html' : 'text'](title)
946
+ $tip.find('.sq-popover-content').children().detach().end()[ // we use append for html objects to maintain js events
947
+ this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
948
+ ](content)
949
+
950
+ $tip.removeClass('sq-fade sq-top sq-bottom sq-left sq-right sq-in')
951
+
952
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
953
+ // this manually by checking the contents.
954
+ if (!$tip.find('.sq-popover-title').html()) $tip.find('.sq-popover-title').hide()
955
+ }
956
+
957
+ Popover.prototype.hasContent = function () {
958
+ return this.getTitle() || this.getContent()
959
+ }
960
+
961
+ Popover.prototype.getContent = function () {
962
+ var $e = this.$element
963
+ var o = this.options
964
+
965
+ return $e.attr('data-content')
966
+ || (typeof o.content == 'function' ?
967
+ o.content.call($e[0]) :
968
+ o.content)
969
+ }
970
+
971
+ Popover.prototype.arrow = function () {
972
+ return (this.$arrow = this.$arrow || this.tip().find('.sq-arrow'))
973
+ }
974
+
975
+ Popover.prototype.tip = function () {
976
+ if (!this.$tip) this.$tip = $(this.options.template)
977
+ return this.$tip
978
+ }
979
+
980
+
981
+ // POPOVER PLUGIN DEFINITION
982
+ // =========================
983
+
984
+ function Plugin(option) {
985
+ return this.each(function () {
986
+ var $this = $(this)
987
+ var data = $this.data('bs.popover')
988
+ var options = typeof option == 'object' && option
989
+ var selector = options && options.selector
990
+
991
+ if (!data && option == 'destroy') return
992
+ if (selector) {
993
+ if (!data) $this.data('bs.popover', (data = {}))
994
+ if (!data[selector]) data[selector] = new Popover(this, options)
995
+ } else {
996
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
997
+ }
998
+ if (typeof option == 'string') data[option]()
999
+ })
1000
+ }
1001
+
1002
+ var old = $.fn.popover
1003
+
1004
+ $.fn.popover = Plugin
1005
+ $.fn.popover.Constructor = Popover
1006
+
1007
+
1008
+ // POPOVER NO CONFLICT
1009
+ // ===================
1010
+
1011
+ $.fn.popover.noConflict = function () {
1012
+ $.fn.popover = old
1013
+ return this
1014
+ }
1015
+
1016
+ }(jQuery);
1017
+
1018
+ /* ========================================================================
1019
+ * Bootstrap: collapse.js v3.3.0
1020
+ * http://getbootstrap.com/javascript/#collapse
1021
+ * ========================================================================
1022
+ * Copyright 2011-2014 Twitter, Inc.
1023
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1024
+ * ======================================================================== */
1025
+
1026
+
1027
+ +function ($) {
1028
+ 'use strict';
1029
+
1030
+ // COLLAPSE PUBLIC CLASS DEFINITION
1031
+ // ================================
1032
+
1033
+ var Collapse = function (element, options) {
1034
+ this.$element = $(element)
1035
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
1036
+ this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]')
1037
+ this.transitioning = null
1038
+
1039
+ if (this.options.parent) {
1040
+ this.$parent = this.getParent()
1041
+ } else {
1042
+ this.addAriaAndCollapsedClass(this.$element, this.$trigger)
1043
+ }
1044
+
1045
+ if (this.options.toggle) this.toggle()
1046
+ }
1047
+
1048
+ Collapse.VERSION = '3.3.0'
1049
+
1050
+ Collapse.TRANSITION_DURATION = 350
1051
+
1052
+ Collapse.DEFAULTS = {
1053
+ toggle: true,
1054
+ trigger: '[data-toggle="collapse"]'
1055
+ }
1056
+
1057
+ Collapse.prototype.dimension = function () {
1058
+ var hasWidth = this.$element.hasClass('width')
1059
+ return hasWidth ? 'width' : 'height'
1060
+ }
1061
+
1062
+ Collapse.prototype.show = function () {
1063
+ if (this.transitioning || this.$element.hasClass('sq-in')) return
1064
+
1065
+ var activesData
1066
+ var actives = this.$parent && this.$parent.find('> .sq-panel').children('.sq-in, .sq-collapsing')
1067
+
1068
+ if (actives && actives.length) {
1069
+ activesData = actives.data('bs.collapse')
1070
+ if (activesData && activesData.transitioning) return
1071
+ }
1072
+
1073
+ var startEvent = $.Event('show.bs.collapse')
1074
+ this.$element.trigger(startEvent)
1075
+ if (startEvent.isDefaultPrevented()) return
1076
+
1077
+ if (actives && actives.length) {
1078
+ Plugin.call(actives, 'hide')
1079
+ activesData || actives.data('bs.collapse', null)
1080
+ }
1081
+
1082
+ var dimension = this.dimension()
1083
+
1084
+ this.$element
1085
+ .removeClass('sq-collapse')
1086
+ .addClass('sq-collapsing')[dimension](0)
1087
+ .attr('aria-expanded', true)
1088
+
1089
+ this.$trigger
1090
+ .removeClass('sq-collapsed')
1091
+ .attr('aria-expanded', true)
1092
+
1093
+ this.transitioning = 1
1094
+
1095
+ var complete = function () {
1096
+ this.$element
1097
+ .removeClass('sq-collapsing')
1098
+ .addClass('sq-collapse sq-in')[dimension]('')
1099
+ this.transitioning = 0
1100
+ this.$element
1101
+ .trigger('shown.bs.collapse')
1102
+ }
1103
+
1104
+ if (!$.support.transition) return complete.call(this)
1105
+
1106
+ var scrollSize = $.camelCase(['scroll', dimension].join('-'))
1107
+
1108
+ this.$element
1109
+ .one('bsTransitionEnd', $.proxy(complete, this))
1110
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
1111
+ }
1112
+
1113
+ Collapse.prototype.hide = function () {
1114
+ if (this.transitioning || !this.$element.hasClass('in')) return
1115
+
1116
+ var startEvent = $.Event('hide.bs.collapse')
1117
+ this.$element.trigger(startEvent)
1118
+ if (startEvent.isDefaultPrevented()) return
1119
+
1120
+ var dimension = this.dimension()
1121
+
1122
+ this.$element[dimension](this.$element[dimension]())[0].offsetHeight
1123
+
1124
+ this.$element
1125
+ .addClass('sq-collapsing')
1126
+ .removeClass('sq-collapse sq-in')
1127
+ .attr('aria-expanded', false)
1128
+
1129
+ this.$trigger
1130
+ .addClass('sq-collapsed')
1131
+ .attr('aria-expanded', false)
1132
+
1133
+ this.transitioning = 1
1134
+
1135
+ var complete = function () {
1136
+ this.transitioning = 0
1137
+ this.$element
1138
+ .removeClass('sq-collapsing')
1139
+ .addClass('sq-collapse')
1140
+ .trigger('hidden.bs.collapse')
1141
+ }
1142
+
1143
+ if (!$.support.transition) return complete.call(this)
1144
+
1145
+ this.$element
1146
+ [dimension](0)
1147
+ .one('bsTransitionEnd', $.proxy(complete, this))
1148
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
1149
+ }
1150
+
1151
+ Collapse.prototype.toggle = function () {
1152
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
1153
+ }
1154
+
1155
+ Collapse.prototype.getParent = function () {
1156
+ return $(this.options.parent)
1157
+ .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
1158
+ .each($.proxy(function (i, element) {
1159
+ var $element = $(element)
1160
+ this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
1161
+ }, this))
1162
+ .end()
1163
+ }
1164
+
1165
+ Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
1166
+ var isOpen = $element.hasClass('in')
1167
+
1168
+ $element.attr('aria-expanded', isOpen)
1169
+ $trigger
1170
+ .toggleClass('sq-collapsed', !isOpen)
1171
+ .attr('aria-expanded', isOpen)
1172
+ }
1173
+
1174
+ function getTargetFromTrigger($trigger) {
1175
+ var href
1176
+ var target = $trigger.attr('data-target')
1177
+ || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
1178
+
1179
+ return $(target)
1180
+ }
1181
+
1182
+
1183
+ // COLLAPSE PLUGIN DEFINITION
1184
+ // ==========================
1185
+
1186
+ function Plugin(option) {
1187
+ return this.each(function () {
1188
+ var $this = $(this)
1189
+ var data = $this.data('bs.collapse')
1190
+ var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
1191
+
1192
+ if (!data && options.toggle && option == 'show') options.toggle = false
1193
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
1194
+ if (typeof option == 'string') data[option]()
1195
+ })
1196
+ }
1197
+
1198
+ var old = $.fn.collapse
1199
+
1200
+ $.fn.collapse = Plugin
1201
+ $.fn.collapse.Constructor = Collapse
1202
+
1203
+
1204
+ // COLLAPSE NO CONFLICT
1205
+ // ====================
1206
+
1207
+ $.fn.collapse.noConflict = function () {
1208
+ $.fn.collapse = old
1209
+ return this
1210
+ }
1211
+
1212
+
1213
+ // COLLAPSE DATA-API
1214
+ // =================
1215
+
1216
+ $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
1217
+ var $this = $(this)
1218
+
1219
+ if (!$this.attr('data-target')) e.preventDefault()
1220
+
1221
+ var $target = getTargetFromTrigger($this)
1222
+ var data = $target.data('bs.collapse')
1223
+ var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this })
1224
+
1225
+ Plugin.call($target, option)
1226
+ })
1227
+
1228
+ }(jQuery);
1229
+
1230
+ /* ========================================================================
1231
+ * Bootstrap: transition.js v3.3.0
1232
+ * http://getbootstrap.com/javascript/#transitions
1233
+ * ========================================================================
1234
+ * Copyright 2011-2014 Twitter, Inc.
1235
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1236
+ * ======================================================================== */
1237
+
1238
+
1239
+ +function ($) {
1240
+ 'use strict';
1241
+
1242
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
1243
+ // ============================================================
1244
+
1245
+ function transitionEnd() {
1246
+ var el = document.createElement('bootstrap')
1247
+
1248
+ var transEndEventNames = {
1249
+ WebkitTransition : 'webkitTransitionEnd',
1250
+ MozTransition : 'transitionend',
1251
+ OTransition : 'oTransitionEnd otransitionend',
1252
+ transition : 'transitionend'
1253
+ }
1254
+
1255
+ for (var name in transEndEventNames) {
1256
+ if (el.style[name] !== undefined) {
1257
+ return { end: transEndEventNames[name] }
1258
+ }
1259
+ }
1260
+
1261
+ return false // explicit for ie8 ( ._.)
1262
+ }
1263
+
1264
+ // http://blog.alexmaccaw.com/css-transitions
1265
+ $.fn.emulateTransitionEnd = function (duration) {
1266
+ var called = false
1267
+ var $el = this
1268
+ $(this).one('bsTransitionEnd', function () { called = true })
1269
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
1270
+ setTimeout(callback, duration)
1271
+ return this
1272
+ }
1273
+
1274
+ $(function () {
1275
+ $.support.transition = transitionEnd()
1276
+
1277
+ if (!$.support.transition) return
1278
+
1279
+ $.event.special.bsTransitionEnd = {
1280
+ bindType: $.support.transition.end,
1281
+ delegateType: $.support.transition.end,
1282
+ handle: function (e) {
1283
+ if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
1284
+ }
1285
+ }
1286
+ })
1287
+
1288
+ }(jQuery);
skin/frontend/base/default/js/pikaday.js ADDED
@@ -0,0 +1,901 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Pikaday
3
+ *
4
+ * Copyright © 2013 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday
5
+ */
6
+
7
+ (function (root, factory)
8
+ {
9
+ 'use strict';
10
+
11
+ var moment;
12
+ if (typeof exports === 'object') {
13
+ // CommonJS module
14
+ // Load moment.js as an optional dependency
15
+ try { moment = require('moment'); } catch (e) {}
16
+ module.exports = factory(moment);
17
+ } else if (typeof define === 'function' && define.amd) {
18
+ // AMD. Register as an anonymous module.
19
+ define(function (req)
20
+ {
21
+ // Load moment.js as an optional dependency
22
+ var id = 'moment';
23
+ moment = req.defined && req.defined(id) ? req(id) : undefined;
24
+ return factory(moment);
25
+ });
26
+ } else {
27
+ root.Pikaday = factory(root.moment);
28
+ }
29
+ }(this, function (moment)
30
+ {
31
+ 'use strict';
32
+
33
+ /**
34
+ * feature detection and helper functions
35
+ */
36
+ var hasMoment = typeof moment === 'function',
37
+
38
+ hasEventListeners = !!window.addEventListener,
39
+
40
+ document = window.document,
41
+
42
+ sto = window.setTimeout,
43
+
44
+ addEvent = function(el, e, callback, capture)
45
+ {
46
+ if (hasEventListeners) {
47
+ el.addEventListener(e, callback, !!capture);
48
+ } else {
49
+ el.attachEvent('on' + e, callback);
50
+ }
51
+ },
52
+
53
+ removeEvent = function(el, e, callback, capture)
54
+ {
55
+ if (hasEventListeners) {
56
+ el.removeEventListener(e, callback, !!capture);
57
+ } else {
58
+ el.detachEvent('on' + e, callback);
59
+ }
60
+ },
61
+
62
+ fireEvent = function(el, eventName, data)
63
+ {
64
+ var ev;
65
+
66
+ if (document.createEvent) {
67
+ ev = document.createEvent('HTMLEvents');
68
+ ev.initEvent(eventName, true, false);
69
+ ev = extend(ev, data);
70
+ el.dispatchEvent(ev);
71
+ } else if (document.createEventObject) {
72
+ ev = document.createEventObject();
73
+ ev = extend(ev, data);
74
+ el.fireEvent('on' + eventName, ev);
75
+ }
76
+ },
77
+
78
+ trim = function(str)
79
+ {
80
+ return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g,'');
81
+ },
82
+
83
+ hasClass = function(el, cn)
84
+ {
85
+ return (' ' + el.className + ' ').indexOf(' ' + cn + ' ') !== -1;
86
+ },
87
+
88
+ addClass = function(el, cn)
89
+ {
90
+ if (!hasClass(el, cn)) {
91
+ el.className = (el.className === '') ? cn : el.className + ' ' + cn;
92
+ }
93
+ },
94
+
95
+ removeClass = function(el, cn)
96
+ {
97
+ el.className = trim((' ' + el.className + ' ').replace(' ' + cn + ' ', ' '));
98
+ },
99
+
100
+ isArray = function(obj)
101
+ {
102
+ return (/Array/).test(Object.prototype.toString.call(obj));
103
+ },
104
+
105
+ isDate = function(obj)
106
+ {
107
+ return (/Date/).test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime());
108
+ },
109
+
110
+ isLeapYear = function(year)
111
+ {
112
+ // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951
113
+ return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
114
+ },
115
+
116
+ getDaysInMonth = function(year, month)
117
+ {
118
+ return [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
119
+ },
120
+
121
+ setToStartOfDay = function(date)
122
+ {
123
+ if (isDate(date)) date.setHours(0,0,0,0);
124
+ },
125
+
126
+ compareDates = function(a,b)
127
+ {
128
+ // weak date comparison (use setToStartOfDay(date) to ensure correct result)
129
+ return a.getTime() === b.getTime();
130
+ },
131
+
132
+ extend = function(to, from, overwrite)
133
+ {
134
+ var prop, hasProp;
135
+ for (prop in from) {
136
+ hasProp = to[prop] !== undefined;
137
+ if (hasProp && typeof from[prop] === 'object' && from[prop].nodeName === undefined) {
138
+ if (isDate(from[prop])) {
139
+ if (overwrite) {
140
+ to[prop] = new Date(from[prop].getTime());
141
+ }
142
+ }
143
+ else if (isArray(from[prop])) {
144
+ if (overwrite) {
145
+ to[prop] = from[prop].slice(0);
146
+ }
147
+ } else {
148
+ to[prop] = extend({}, from[prop], overwrite);
149
+ }
150
+ } else if (overwrite || !hasProp) {
151
+ to[prop] = from[prop];
152
+ }
153
+ }
154
+ return to;
155
+ },
156
+
157
+
158
+ /**
159
+ * defaults and localisation
160
+ */
161
+ defaults = {
162
+
163
+ // bind the picker to a form field
164
+ field: null,
165
+
166
+ // automatically show/hide the picker on `field` focus (default `true` if `field` is set)
167
+ bound: undefined,
168
+
169
+ // the default output format for `.toString()` and `field` value
170
+ format: 'YYYY-MM-DD',
171
+
172
+ // the initial date to view when first opened
173
+ defaultDate: null,
174
+
175
+ // make the `defaultDate` the initial selected value
176
+ setDefaultDate: false,
177
+
178
+ // first day of week (0: Sunday, 1: Monday etc)
179
+ firstDay: 0,
180
+
181
+ // the minimum/earliest date that can be selected
182
+ minDate: null,
183
+ // the maximum/latest date that can be selected
184
+ maxDate: null,
185
+
186
+ // number of years either side, or array of upper/lower range
187
+ yearRange: 10,
188
+
189
+ // used internally (don't config outside)
190
+ minYear: 0,
191
+ maxYear: 9999,
192
+ minMonth: undefined,
193
+ maxMonth: undefined,
194
+
195
+ isRTL: false,
196
+
197
+ // Additional text to append to the year in the calendar title
198
+ yearSuffix: '',
199
+
200
+ // Render the month after year in the calendar title
201
+ showMonthAfterYear: false,
202
+
203
+ // how many months are visible (not implemented yet)
204
+ numberOfMonths: 1,
205
+
206
+ // internationalization
207
+ i18n: {
208
+ previousMonth : 'Previous Month',
209
+ nextMonth : 'Next Month',
210
+ months : ['January','February','March','April','May','June','July','August','September','October','November','December'],
211
+ weekdays : ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],
212
+ weekdaysShort : ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']
213
+ },
214
+
215
+ // callback function
216
+ onSelect: null,
217
+ onOpen: null,
218
+ onClose: null,
219
+ onDraw: null
220
+ },
221
+
222
+
223
+ /**
224
+ * templating functions to abstract HTML rendering
225
+ */
226
+ renderDayName = function(opts, day, abbr)
227
+ {
228
+ day += opts.firstDay;
229
+ while (day >= 7) {
230
+ day -= 7;
231
+ }
232
+ return abbr ? opts.i18n.weekdaysShort[day] : opts.i18n.weekdays[day];
233
+ },
234
+
235
+ renderDay = function(i, isSelected, isToday, isDisabled, isEmpty)
236
+ {
237
+ if (isEmpty) {
238
+ return '<td class="is-empty"></td>';
239
+ }
240
+ var arr = [];
241
+ if (isDisabled) {
242
+ arr.push('is-disabled');
243
+ }
244
+ if (isToday) {
245
+ arr.push('is-today');
246
+ }
247
+ if (isSelected) {
248
+ arr.push('is-selected');
249
+ }
250
+ return '<td data-day="' + i + '" class="' + arr.join(' ') + '"><button class="pika-button" type="button">' + i + '</button>' + '</td>';
251
+ },
252
+
253
+ renderRow = function(days, isRTL)
254
+ {
255
+ return '<tr>' + (isRTL ? days.reverse() : days).join('') + '</tr>';
256
+ },
257
+
258
+ renderBody = function(rows)
259
+ {
260
+ return '<tbody>' + rows.join('') + '</tbody>';
261
+ },
262
+
263
+ renderHead = function(opts)
264
+ {
265
+ var i, arr = [];
266
+ for (i = 0; i < 7; i++) {
267
+ arr.push('<th scope="col"><abbr title="' + renderDayName(opts, i) + '">' + renderDayName(opts, i, true) + '</abbr></th>');
268
+ }
269
+ return '<thead>' + (opts.isRTL ? arr.reverse() : arr).join('') + '</thead>';
270
+ },
271
+
272
+ renderTitle = function(instance)
273
+ {
274
+ var i, j, arr,
275
+ opts = instance._o,
276
+ month = instance._m,
277
+ year = instance._y,
278
+ isMinYear = year === opts.minYear,
279
+ isMaxYear = year === opts.maxYear,
280
+ html = '<div class="pika-title">',
281
+ monthHtml,
282
+ yearHtml,
283
+ prev = true,
284
+ next = true;
285
+
286
+ for (arr = [], i = 0; i < 12; i++) {
287
+ arr.push('<option value="' + i + '"' +
288
+ (i === month ? ' selected': '') +
289
+ ((isMinYear && i < opts.minMonth) || (isMaxYear && i > opts.maxMonth) ? 'disabled' : '') + '>' +
290
+ opts.i18n.months[i] + '</option>');
291
+ }
292
+ monthHtml = '<div class="pika-label">' + opts.i18n.months[month] + '<select class="pika-select pika-select-month">' + arr.join('') + '</select></div>';
293
+
294
+ if (isArray(opts.yearRange)) {
295
+ i = opts.yearRange[0];
296
+ j = opts.yearRange[1] + 1;
297
+ } else {
298
+ i = year - opts.yearRange;
299
+ j = 1 + year + opts.yearRange;
300
+ }
301
+
302
+ for (arr = []; i < j && i <= opts.maxYear; i++) {
303
+ if (i >= opts.minYear) {
304
+ arr.push('<option value="' + i + '"' + (i === year ? ' selected': '') + '>' + (i) + '</option>');
305
+ }
306
+ }
307
+ yearHtml = '<div class="pika-label">' + year + opts.yearSuffix + '<select class="pika-select pika-select-year">' + arr.join('') + '</select></div>';
308
+
309
+ if (opts.showMonthAfterYear) {
310
+ html += yearHtml + monthHtml;
311
+ } else {
312
+ html += monthHtml + yearHtml;
313
+ }
314
+
315
+ if (isMinYear && (month === 0 || opts.minMonth >= month)) {
316
+ prev = false;
317
+ }
318
+
319
+ if (isMaxYear && (month === 11 || opts.maxMonth <= month)) {
320
+ next = false;
321
+ }
322
+
323
+ html += '<button class="pika-prev' + (prev ? '' : ' is-disabled') + '" type="button">' + opts.i18n.previousMonth + '</button>';
324
+ html += '<button class="pika-next' + (next ? '' : ' is-disabled') + '" type="button">' + opts.i18n.nextMonth + '</button>';
325
+
326
+ return html += '</div>';
327
+ },
328
+
329
+ renderTable = function(opts, data)
330
+ {
331
+ return '<table cellpadding="0" cellspacing="0" class="pika-table">' + renderHead(opts) + renderBody(data) + '</table>';
332
+ },
333
+
334
+
335
+ /**
336
+ * Pikaday constructor
337
+ */
338
+ Pikaday = function(options)
339
+ {
340
+ var self = this,
341
+ opts = self.config(options);
342
+
343
+ self._onMouseDown = function(e)
344
+ {
345
+ if (!self._v) {
346
+ return;
347
+ }
348
+ e = e || window.event;
349
+ var target = e.target || e.srcElement;
350
+ if (!target) {
351
+ return;
352
+ }
353
+
354
+ if (!hasClass(target, 'is-disabled')) {
355
+ if (hasClass(target, 'pika-button') && !hasClass(target, 'is-empty')) {
356
+ self.setDate(new Date(self._y, self._m, parseInt(target.innerHTML, 10)));
357
+ if (opts.bound) {
358
+ sto(function() {
359
+ self.hide();
360
+ }, 100);
361
+ }
362
+ return;
363
+ }
364
+ else if (hasClass(target, 'pika-prev')) {
365
+ self.prevMonth();
366
+ }
367
+ else if (hasClass(target, 'pika-next')) {
368
+ self.nextMonth();
369
+ }
370
+ }
371
+ if (!hasClass(target, 'pika-select')) {
372
+ if (e.preventDefault) {
373
+ e.preventDefault();
374
+ } else {
375
+ e.returnValue = false;
376
+ return false;
377
+ }
378
+ } else {
379
+ self._c = true;
380
+ }
381
+ };
382
+
383
+ self._onChange = function(e)
384
+ {
385
+ e = e || window.event;
386
+ var target = e.target || e.srcElement;
387
+ if (!target) {
388
+ return;
389
+ }
390
+ if (hasClass(target, 'pika-select-month')) {
391
+ self.gotoMonth(target.value);
392
+ }
393
+ else if (hasClass(target, 'pika-select-year')) {
394
+ self.gotoYear(target.value);
395
+ }
396
+ };
397
+
398
+ self._onInputChange = function(e)
399
+ {
400
+ var date;
401
+
402
+ if (e.firedBy === self) {
403
+ return;
404
+ }
405
+ if (hasMoment) {
406
+ date = moment(opts.field.value, opts.format);
407
+ date = (date && date.isValid()) ? date.toDate() : null;
408
+ }
409
+ else {
410
+ date = new Date(Date.parse(opts.field.value));
411
+ }
412
+ self.setDate(isDate(date) ? date : null);
413
+ if (!self._v) {
414
+ self.show();
415
+ }
416
+ };
417
+
418
+ self._onInputFocus = function()
419
+ {
420
+ self.show();
421
+ };
422
+
423
+ self._onInputClick = function()
424
+ {
425
+ self.show();
426
+ };
427
+
428
+ self._onInputBlur = function()
429
+ {
430
+ if (!self._c) {
431
+ self._b = sto(function() {
432
+ self.hide();
433
+ }, 50);
434
+ }
435
+ self._c = false;
436
+ };
437
+
438
+ self._onClick = function(e)
439
+ {
440
+ e = e || window.event;
441
+ var target = e.target || e.srcElement,
442
+ pEl = target;
443
+ if (!target) {
444
+ return;
445
+ }
446
+ if (!hasEventListeners && hasClass(target, 'pika-select')) {
447
+ if (!target.onchange) {
448
+ target.setAttribute('onchange', 'return;');
449
+ addEvent(target, 'change', self._onChange);
450
+ }
451
+ }
452
+ do {
453
+ if (hasClass(pEl, 'pika-single')) {
454
+ return;
455
+ }
456
+ }
457
+ while ((pEl = pEl.parentNode));
458
+ if (self._v && target !== opts.trigger) {
459
+ self.hide();
460
+ }
461
+ };
462
+
463
+ self.el = document.createElement('div');
464
+ self.el.className = 'pika-single' + (opts.isRTL ? ' is-rtl' : '');
465
+
466
+ addEvent(self.el, 'mousedown', self._onMouseDown, true);
467
+ addEvent(self.el, 'change', self._onChange);
468
+
469
+ if (opts.field) {
470
+ if (opts.bound) {
471
+ document.body.appendChild(self.el);
472
+ } else {
473
+ opts.field.parentNode.insertBefore(self.el, opts.field.nextSibling);
474
+ }
475
+ addEvent(opts.field, 'change', self._onInputChange);
476
+
477
+ if (!opts.defaultDate) {
478
+ if (hasMoment && opts.field.value) {
479
+ opts.defaultDate = moment(opts.field.value, opts.format).toDate();
480
+ } else {
481
+ opts.defaultDate = new Date(Date.parse(opts.field.value));
482
+ }
483
+ opts.setDefaultDate = true;
484
+ }
485
+ }
486
+
487
+ var defDate = opts.defaultDate;
488
+
489
+ if (isDate(defDate)) {
490
+ if (opts.setDefaultDate) {
491
+ self.setDate(defDate, true);
492
+ } else {
493
+ self.gotoDate(defDate);
494
+ }
495
+ } else {
496
+ self.gotoDate(new Date());
497
+ }
498
+
499
+ if (opts.bound) {
500
+ this.hide();
501
+ self.el.className += ' is-bound';
502
+ addEvent(opts.trigger, 'click', self._onInputClick);
503
+ addEvent(opts.trigger, 'focus', self._onInputFocus);
504
+ addEvent(opts.trigger, 'blur', self._onInputBlur);
505
+ } else {
506
+ this.show();
507
+ }
508
+
509
+ };
510
+
511
+
512
+ /**
513
+ * public Pikaday API
514
+ */
515
+ Pikaday.prototype = {
516
+
517
+
518
+ /**
519
+ * configure functionality
520
+ */
521
+ config: function(options)
522
+ {
523
+ if (!this._o) {
524
+ this._o = extend({}, defaults, true);
525
+ }
526
+
527
+ var opts = extend(this._o, options, true);
528
+
529
+ opts.isRTL = !!opts.isRTL;
530
+
531
+ opts.field = (opts.field && opts.field.nodeName) ? opts.field : null;
532
+
533
+ opts.bound = !!(opts.bound !== undefined ? opts.field && opts.bound : opts.field);
534
+
535
+ opts.trigger = (opts.trigger && opts.trigger.nodeName) ? opts.trigger : opts.field;
536
+
537
+ var nom = parseInt(opts.numberOfMonths, 10) || 1;
538
+ opts.numberOfMonths = nom > 4 ? 4 : nom;
539
+
540
+ if (!isDate(opts.minDate)) {
541
+ opts.minDate = false;
542
+ }
543
+ if (!isDate(opts.maxDate)) {
544
+ opts.maxDate = false;
545
+ }
546
+ if ((opts.minDate && opts.maxDate) && opts.maxDate < opts.minDate) {
547
+ opts.maxDate = opts.minDate = false;
548
+ }
549
+ if (opts.minDate) {
550
+ setToStartOfDay(opts.minDate);
551
+ opts.minYear = opts.minDate.getFullYear();
552
+ opts.minMonth = opts.minDate.getMonth();
553
+ }
554
+ if (opts.maxDate) {
555
+ setToStartOfDay(opts.maxDate);
556
+ opts.maxYear = opts.maxDate.getFullYear();
557
+ opts.maxMonth = opts.maxDate.getMonth();
558
+ }
559
+
560
+ if (isArray(opts.yearRange)) {
561
+ var fallback = new Date().getFullYear() - 10;
562
+ opts.yearRange[0] = parseInt(opts.yearRange[0], 10) || fallback;
563
+ opts.yearRange[1] = parseInt(opts.yearRange[1], 10) || fallback;
564
+ } else {
565
+ opts.yearRange = Math.abs(parseInt(opts.yearRange, 10)) || defaults.yearRange;
566
+ if (opts.yearRange > 100) {
567
+ opts.yearRange = 100;
568
+ }
569
+ }
570
+
571
+ return opts;
572
+ },
573
+
574
+ /**
575
+ * return a formatted string of the current selection (using Moment.js if available)
576
+ */
577
+ toString: function(format)
578
+ {
579
+ return !isDate(this._d) ? '' : hasMoment ? moment(this._d).format(format || this._o.format) : this._d.toDateString();
580
+ },
581
+
582
+ /**
583
+ * return a Moment.js object of the current selection (if available)
584
+ */
585
+ getMoment: function()
586
+ {
587
+ return hasMoment ? moment(this._d) : null;
588
+ },
589
+
590
+ /**
591
+ * set the current selection from a Moment.js object (if available)
592
+ */
593
+ setMoment: function(date)
594
+ {
595
+ if (hasMoment && moment.isMoment(date)) {
596
+ this.setDate(date.toDate());
597
+ }
598
+ },
599
+
600
+ /**
601
+ * return a Date object of the current selection
602
+ */
603
+ getDate: function()
604
+ {
605
+ return isDate(this._d) ? new Date(this._d.getTime()) : null;
606
+ },
607
+
608
+ /**
609
+ * set the current selection
610
+ */
611
+ setDate: function(date, preventOnSelect)
612
+ {
613
+ if (!date) {
614
+ this._d = null;
615
+ return this.draw();
616
+ }
617
+ if (typeof date === 'string') {
618
+ date = new Date(Date.parse(date));
619
+ }
620
+ if (!isDate(date)) {
621
+ return;
622
+ }
623
+
624
+ var min = this._o.minDate,
625
+ max = this._o.maxDate;
626
+
627
+ if (isDate(min) && date < min) {
628
+ date = min;
629
+ } else if (isDate(max) && date > max) {
630
+ date = max;
631
+ }
632
+
633
+ this._d = new Date(date.getTime());
634
+ setToStartOfDay(this._d);
635
+ this.gotoDate(this._d);
636
+
637
+ if (this._o.field) {
638
+ this._o.field.value = this.toString();
639
+ fireEvent(this._o.field, 'change', { firedBy: this });
640
+ }
641
+ if (!preventOnSelect && typeof this._o.onSelect === 'function') {
642
+ this._o.onSelect.call(this, this.getDate());
643
+ }
644
+ },
645
+
646
+ /**
647
+ * change view to a specific date
648
+ */
649
+ gotoDate: function(date)
650
+ {
651
+ if (!isDate(date)) {
652
+ return;
653
+ }
654
+ this._y = date.getFullYear();
655
+ this._m = date.getMonth();
656
+ this.draw();
657
+ },
658
+
659
+ gotoToday: function()
660
+ {
661
+ this.gotoDate(new Date());
662
+ },
663
+
664
+ /**
665
+ * change view to a specific month (zero-index, e.g. 0: January)
666
+ */
667
+ gotoMonth: function(month)
668
+ {
669
+ if (!isNaN( (month = parseInt(month, 10)) )) {
670
+ this._m = month < 0 ? 0 : month > 11 ? 11 : month;
671
+ this.draw();
672
+ }
673
+ },
674
+
675
+ nextMonth: function()
676
+ {
677
+ if (++this._m > 11) {
678
+ this._m = 0;
679
+ this._y++;
680
+ }
681
+ this.draw();
682
+ },
683
+
684
+ prevMonth: function()
685
+ {
686
+ if (--this._m < 0) {
687
+ this._m = 11;
688
+ this._y--;
689
+ }
690
+ this.draw();
691
+ },
692
+
693
+ /**
694
+ * change view to a specific full year (e.g. "2012")
695
+ */
696
+ gotoYear: function(year)
697
+ {
698
+ if (!isNaN(year)) {
699
+ this._y = parseInt(year, 10);
700
+ this.draw();
701
+ }
702
+ },
703
+
704
+ /**
705
+ * change the minDate
706
+ */
707
+ setMinDate: function(value)
708
+ {
709
+ this._o.minDate = value;
710
+ },
711
+
712
+ /**
713
+ * change the maxDate
714
+ */
715
+ setMaxDate: function(value)
716
+ {
717
+ this._o.maxDate = value;
718
+ },
719
+
720
+ /**
721
+ * refresh the HTML
722
+ */
723
+ draw: function(force)
724
+ {
725
+ if (!this._v && !force) {
726
+ return;
727
+ }
728
+ var opts = this._o,
729
+ minYear = opts.minYear,
730
+ maxYear = opts.maxYear,
731
+ minMonth = opts.minMonth,
732
+ maxMonth = opts.maxMonth;
733
+
734
+ if (this._y <= minYear) {
735
+ this._y = minYear;
736
+ if (!isNaN(minMonth) && this._m < minMonth) {
737
+ this._m = minMonth;
738
+ }
739
+ }
740
+ if (this._y >= maxYear) {
741
+ this._y = maxYear;
742
+ if (!isNaN(maxMonth) && this._m > maxMonth) {
743
+ this._m = maxMonth;
744
+ }
745
+ }
746
+
747
+ this.el.innerHTML = renderTitle(this) + this.render(this._y, this._m);
748
+
749
+ if (opts.bound) {
750
+ this.adjustPosition();
751
+ if(opts.field.type !== 'hidden') {
752
+ sto(function() {
753
+ opts.trigger.focus();
754
+ }, 1);
755
+ }
756
+ }
757
+
758
+ if (typeof this._o.onDraw === 'function') {
759
+ var self = this;
760
+ sto(function() {
761
+ self._o.onDraw.call(self);
762
+ }, 0);
763
+ }
764
+ },
765
+
766
+ adjustPosition: function()
767
+ {
768
+ var field = this._o.trigger, pEl = field,
769
+ width = this.el.offsetWidth, height = this.el.offsetHeight,
770
+ viewportWidth = window.innerWidth || document.documentElement.clientWidth,
771
+ viewportHeight = window.innerHeight || document.documentElement.clientHeight,
772
+ scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop,
773
+ left, top, clientRect;
774
+
775
+ if (typeof field.getBoundingClientRect === 'function') {
776
+ clientRect = field.getBoundingClientRect();
777
+ left = clientRect.left + window.pageXOffset;
778
+ top = clientRect.bottom + window.pageYOffset;
779
+ } else {
780
+ left = pEl.offsetLeft;
781
+ top = pEl.offsetTop + pEl.offsetHeight;
782
+ while((pEl = pEl.offsetParent)) {
783
+ left += pEl.offsetLeft;
784
+ top += pEl.offsetTop;
785
+ }
786
+ }
787
+
788
+ if (left + width > viewportWidth) {
789
+ left = left - width + field.offsetWidth;
790
+ }
791
+ if (top + height > viewportHeight + scrollTop) {
792
+ top = top - height - field.offsetHeight;
793
+ }
794
+ this.el.style.cssText = 'position:absolute;left:' + left + 'px;top:' + top + 'px;';
795
+ },
796
+
797
+ /**
798
+ * render HTML for a particular month
799
+ */
800
+ render: function(year, month)
801
+ {
802
+ var opts = this._o,
803
+ now = new Date(),
804
+ days = getDaysInMonth(year, month),
805
+ before = new Date(year, month, 1).getDay(),
806
+ data = [],
807
+ row = [];
808
+ setToStartOfDay(now);
809
+ if (opts.firstDay > 0) {
810
+ before -= opts.firstDay;
811
+ if (before < 0) {
812
+ before += 7;
813
+ }
814
+ }
815
+ var cells = days + before,
816
+ after = cells;
817
+ while(after > 7) {
818
+ after -= 7;
819
+ }
820
+ cells += 7 - after;
821
+ for (var i = 0, r = 0; i < cells; i++)
822
+ {
823
+ var day = new Date(year, month, 1 + (i - before)),
824
+ isDisabled = (opts.minDate && day < opts.minDate) || (opts.maxDate && day > opts.maxDate),
825
+ isSelected = isDate(this._d) ? compareDates(day, this._d) : false,
826
+ isToday = compareDates(day, now),
827
+ isEmpty = i < before || i >= (days + before);
828
+
829
+ row.push(renderDay(1 + (i - before), isSelected, isToday, isDisabled, isEmpty));
830
+
831
+ if (++r === 7) {
832
+ data.push(renderRow(row, opts.isRTL));
833
+ row = [];
834
+ r = 0;
835
+ }
836
+ }
837
+ return renderTable(opts, data);
838
+ },
839
+
840
+ isVisible: function()
841
+ {
842
+ return this._v;
843
+ },
844
+
845
+ show: function()
846
+ {
847
+ if (!this._v) {
848
+ if (this._o.bound) {
849
+ addEvent(document, 'click', this._onClick);
850
+ }
851
+ removeClass(this.el, 'is-hidden');
852
+ this._v = true;
853
+ this.draw();
854
+ if (typeof this._o.onOpen === 'function') {
855
+ this._o.onOpen.call(this);
856
+ }
857
+ }
858
+ },
859
+
860
+ hide: function()
861
+ {
862
+ var v = this._v;
863
+ if (v !== false) {
864
+ if (this._o.bound) {
865
+ removeEvent(document, 'click', this._onClick);
866
+ }
867
+ this.el.style.cssText = '';
868
+ addClass(this.el, 'is-hidden');
869
+ this._v = false;
870
+ if (v !== undefined && typeof this._o.onClose === 'function') {
871
+ this._o.onClose.call(this);
872
+ }
873
+ }
874
+ },
875
+
876
+ /**
877
+ * GAME OVER
878
+ */
879
+ destroy: function()
880
+ {
881
+ this.hide();
882
+ removeEvent(this.el, 'mousedown', this._onMouseDown, true);
883
+ removeEvent(this.el, 'change', this._onChange);
884
+ if (this._o.field) {
885
+ removeEvent(this._o.field, 'change', this._onInputChange);
886
+ if (this._o.bound) {
887
+ removeEvent(this._o.trigger, 'click', this._onInputClick);
888
+ removeEvent(this._o.trigger, 'focus', this._onInputFocus);
889
+ removeEvent(this._o.trigger, 'blur', this._onInputBlur);
890
+ }
891
+ }
892
+ if (this.el.parentNode) {
893
+ this.el.parentNode.removeChild(this.el);
894
+ }
895
+ }
896
+
897
+ };
898
+
899
+ return Pikaday;
900
+
901
+ }));