Version Description
*minor bug fixes *check for PHP version >
Download this release
Release Info
Developer | A2BCool |
Plugin | A2 Optimized WP |
Version | 2.0.1 |
Comparing to | |
See all releases |
Version 2.0.1
- A2_Optimized_Optimizations.php +729 -0
- A2_Optimized_OptionsManager.php +1648 -0
- A2_Optimized_Plugin.php +735 -0
- a2-optimized.php +71 -0
- assets/bootstrap/config.json +411 -0
- assets/bootstrap/css/bootstrap-theme.css +346 -0
- assets/bootstrap/css/bootstrap-theme.min.css +7 -0
- assets/bootstrap/css/bootstrap.css +5709 -0
- assets/bootstrap/css/bootstrap.min.css +7 -0
- assets/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- assets/bootstrap/fonts/glyphicons-halflings-regular.svg +229 -0
- assets/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- assets/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- assets/bootstrap/js/bootstrap.js +1943 -0
- assets/bootstrap/js/bootstrap.min.js +7 -0
- assets/css/style.css +133 -0
- assets/images/a2-exclusive.png +0 -0
- assets/images/a2optimized.png +0 -0
- assets/images/background-both.png +0 -0
- assets/images/background-left.png +0 -0
- assets/images/background-right.png +0 -0
- assets/images/brankic1979-icon-set.png +0 -0
- assets/images/brankic1979-icon-set.psd +0 -0
- assets/images/icons.png +0 -0
- assets/images/icons.psd +0 -0
- assets/images/image001.jpg +0 -0
- readme.txt +163 -0
A2_Optimized_Optimizations.php
ADDED
@@ -0,0 +1,729 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Author: Benjamin Cool
|
5 |
+
Author URI: https://www.a2hosting.com/
|
6 |
+
License: GPLv2 or Later
|
7 |
+
*/
|
8 |
+
|
9 |
+
class A2_Optimized_Optimizations
|
10 |
+
{
|
11 |
+
|
12 |
+
private $thisclass;
|
13 |
+
|
14 |
+
|
15 |
+
public function __construct($thisclass)
|
16 |
+
{
|
17 |
+
$this->thisclass = $thisclass;
|
18 |
+
}
|
19 |
+
|
20 |
+
public function get_optimizations()
|
21 |
+
{
|
22 |
+
$public_opts = $this->get_public_optimizations();
|
23 |
+
$private_opts = $this->get_private_optimizations();
|
24 |
+
return array_merge($public_opts, $private_opts);
|
25 |
+
}
|
26 |
+
|
27 |
+
protected function get_public_optimizations()
|
28 |
+
{
|
29 |
+
$thisclass = $this->thisclass;
|
30 |
+
|
31 |
+
return array(
|
32 |
+
'page_cache' => array(
|
33 |
+
'slug' => 'page_cache',
|
34 |
+
'name' => 'Page Caching with W3 Total Cache',
|
35 |
+
'plugin' => 'W3 Total Cache',
|
36 |
+
'configured' => false,
|
37 |
+
'description' => 'Utilize W3 Total Cache to make the site faster by caching pages as static content. Cache: a copy of rendered dynamic pages will be saved by the server so that the next user does not need to wait for the server to generate another copy.',
|
38 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
39 |
+
$w3tc = $thisclass->get_w3tc_config();
|
40 |
+
if ($w3tc['pgcache.enabled']) {
|
41 |
+
$item['configured'] = true;
|
42 |
+
$permalink_structure = get_option('permalink_structure');
|
43 |
+
$vars = array();
|
44 |
+
if ($w3tc['pgcache.engine'] == 'apc') {
|
45 |
+
if ($permalink_structure == '') {
|
46 |
+
$vars['pgcache.engine'] = 'file';
|
47 |
+
} else {
|
48 |
+
$vars['pgcache.engine'] = 'file_generic';
|
49 |
+
}
|
50 |
+
} else {
|
51 |
+
if ($permalink_structure == '' && $w3tc['pgcache.engine'] != 'file') {
|
52 |
+
$vars['pgcache.engine'] = 'file';
|
53 |
+
} elseif ($permalink_structure != '' && $w3tc['pgcache.engine'] == 'file') {
|
54 |
+
$vars['pgcache.engine'] = 'file_generic';
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
if (count($vars) != 0) {
|
59 |
+
$thisclass->update_w3tc($vars);
|
60 |
+
}
|
61 |
+
|
62 |
+
$thisclass->set_install_status('page_cache', true);
|
63 |
+
} else {
|
64 |
+
$thisclass->set_install_status('page_cache', false);
|
65 |
+
}
|
66 |
+
},
|
67 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
68 |
+
'disable' => function () use (&$thisclass) {
|
69 |
+
$thisclass->disable_w3tc_page_cache();
|
70 |
+
},
|
71 |
+
'enable' => function () use (&$thisclass) {
|
72 |
+
$thisclass->enable_w3tc_page_cache();
|
73 |
+
}
|
74 |
+
),
|
75 |
+
'db_cache' => array(
|
76 |
+
'slug' => 'db_cache',
|
77 |
+
'name' => 'DB Caching with W3 Total Cache',
|
78 |
+
'plugin' => 'W3 Total Cache',
|
79 |
+
'configured' => false,
|
80 |
+
'description' => 'Speed up the site by storing the responses of common database queries in a cache.',
|
81 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
82 |
+
$w3tc = $thisclass->get_w3tc_config();
|
83 |
+
if ($w3tc['dbcache.enabled']) {
|
84 |
+
$vars = array();
|
85 |
+
$item['configured'] = true;
|
86 |
+
if (class_exists('W3_Config')) {
|
87 |
+
if (class_exists('WooCommerce')) {
|
88 |
+
if (array_search('_wc_session_', $w3tc['dbcache.reject.sql']) === false) {
|
89 |
+
$vars['dbcache.reject.sql'] = $w3tc['dbcache.reject.sql'];
|
90 |
+
$vars['dbcache.reject.sql'][] = '_wc_session_';
|
91 |
+
}
|
92 |
+
}
|
93 |
+
}
|
94 |
+
if (count($vars) != 0) {
|
95 |
+
$thisclass->update_w3tc($vars);
|
96 |
+
}
|
97 |
+
|
98 |
+
$thisclass->set_install_status('db_cache', true);
|
99 |
+
} else {
|
100 |
+
$thisclass->set_install_status('db_cache', false);
|
101 |
+
}
|
102 |
+
},
|
103 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
104 |
+
'disable' => function () use (&$thisclass) {
|
105 |
+
$thisclass->disable_w3tc_db_cache();
|
106 |
+
},
|
107 |
+
'enable' => function () use (&$thisclass) {
|
108 |
+
$thisclass->enable_w3tc_db_cache();
|
109 |
+
}
|
110 |
+
),
|
111 |
+
|
112 |
+
'object_cache' => array(
|
113 |
+
'slug' => 'object_cache',
|
114 |
+
'name' => 'Object Caching with W3 Total Cache',
|
115 |
+
'plugin' => 'W3 Total Cache',
|
116 |
+
'configured' => false,
|
117 |
+
'description' => 'Store a copy of widgets and menu bars in cache to reduce the time it takes to render pages.',
|
118 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
119 |
+
$w3tc = $thisclass->get_w3tc_config();
|
120 |
+
if ($w3tc['objectcache.enabled']) {
|
121 |
+
$item['configured'] = true;
|
122 |
+
$thisclass->set_install_status('object_cache', true);
|
123 |
+
} else {
|
124 |
+
$thisclass->set_install_status('object_cache', false);
|
125 |
+
}
|
126 |
+
},
|
127 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
128 |
+
'disable' => function () use (&$thisclass) {
|
129 |
+
$thisclass->disable_w3tc_object_cache();
|
130 |
+
},
|
131 |
+
'enable' => function () use (&$thisclass) {
|
132 |
+
$thisclass->enable_w3tc_object_cache();
|
133 |
+
}
|
134 |
+
),
|
135 |
+
|
136 |
+
'browser_cache' => array(
|
137 |
+
'slug' => 'browser_cache',
|
138 |
+
'name' => 'Browser Caching with W3 Total Cache',
|
139 |
+
'plugin' => 'W3 Total Cache',
|
140 |
+
'configured' => false,
|
141 |
+
'description' => 'Add Rules to the web server to tell the visitor's browser to store a copy of static files to reduce the load time pages requested after the first page is loaded.',
|
142 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
143 |
+
$w3tc = $thisclass->get_w3tc_config();
|
144 |
+
if ($w3tc['browsercache.enabled']) {
|
145 |
+
$item['configured'] = true;
|
146 |
+
$thisclass->set_install_status('browser_cache', true);
|
147 |
+
} else {
|
148 |
+
$thisclass->set_install_status('browser_cache', false);
|
149 |
+
}
|
150 |
+
},
|
151 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
152 |
+
'disable' => function () use (&$thisclass) {
|
153 |
+
$thisclass->disable_w3tc_browser_cache();
|
154 |
+
},
|
155 |
+
'enable' => function () use (&$thisclass) {
|
156 |
+
$thisclass->enable_w3tc_browser_cache();
|
157 |
+
}
|
158 |
+
),
|
159 |
+
|
160 |
+
'minify' => array(
|
161 |
+
'name' => 'Minify HTML Pages',
|
162 |
+
'slug' => 'minify',
|
163 |
+
'plugin' => 'W3 Total Cache',
|
164 |
+
'configured' => false,
|
165 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
166 |
+
'description' => 'Removes extra spaces,tabs and line breaks in the HTML to reduce the size of the files sent to the user.',
|
167 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
168 |
+
$w3tc = $thisclass->get_w3tc_config();
|
169 |
+
if ($w3tc['minify.enabled'] && $w3tc['minify.html.enable']) {
|
170 |
+
$item['configured'] = true;
|
171 |
+
$thisclass->set_install_status('minify-html', true);
|
172 |
+
} else {
|
173 |
+
$thisclass->set_install_status('minify-html', false);
|
174 |
+
}
|
175 |
+
},
|
176 |
+
'enable' => function () use (&$thisclass) {
|
177 |
+
$thisclass->enable_html_minify();
|
178 |
+
},
|
179 |
+
'disable' => function () use (&$thisclass) {
|
180 |
+
$thisclass->disable_html_minify();
|
181 |
+
}
|
182 |
+
),
|
183 |
+
'css_minify' => array(
|
184 |
+
'name' => 'Minify CSS Files',
|
185 |
+
'slug' => 'css_minify',
|
186 |
+
'plugin' => 'W3 Total Cache',
|
187 |
+
'configured' => false,
|
188 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
189 |
+
'description' => 'Makes your site faster by condensing css files into a single downloadable file and by removing extra space in CSS files to make them smaller.',
|
190 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
191 |
+
$w3tc = $thisclass->get_w3tc_config();
|
192 |
+
if ($w3tc['minify.css.enable']) {
|
193 |
+
$item['configured'] = true;
|
194 |
+
$thisclass->set_install_status('minify-css', true);
|
195 |
+
} else {
|
196 |
+
$thisclass->set_install_status('minify-css', false);
|
197 |
+
}
|
198 |
+
},
|
199 |
+
'enable' => function () use (&$thisclass) {
|
200 |
+
$thisclass->update_w3tc(array(
|
201 |
+
'minify.css.enable' => true,
|
202 |
+
'minify.enabled' => true,
|
203 |
+
'minify.auto' => 0,
|
204 |
+
'minify.engine' => 'file'
|
205 |
+
));
|
206 |
+
},
|
207 |
+
'disable' => function () use (&$thisclass) {
|
208 |
+
$thisclass->update_w3tc(array(
|
209 |
+
'minify.css.enable' => false,
|
210 |
+
'minify.auto' => 0
|
211 |
+
));
|
212 |
+
}
|
213 |
+
),
|
214 |
+
'js_minify' => array(
|
215 |
+
'name' => 'Minify JS Files',
|
216 |
+
'slug' => 'js_minify',
|
217 |
+
'plugin' => 'W3 Total Cache',
|
218 |
+
'configured' => false,
|
219 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
220 |
+
'description' => 'Makes your site faster by condensing JavaScript files into a single downloadable file and by removing extra space in JavaScript files to make them smaller.',
|
221 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
222 |
+
$w3tc = $thisclass->get_w3tc_config();
|
223 |
+
if ($w3tc['minify.js.enable']) {
|
224 |
+
$item['configured'] = true;
|
225 |
+
$thisclass->set_install_status('minify-js', true);
|
226 |
+
} else {
|
227 |
+
$thisclass->set_install_status('minify-js', false);
|
228 |
+
}
|
229 |
+
},
|
230 |
+
'enable' => function () use (&$thisclass) {
|
231 |
+
$thisclass->update_w3tc(array(
|
232 |
+
'minify.js.enable' => true,
|
233 |
+
'minify.enabled' => true,
|
234 |
+
'minify.auto' => 0,
|
235 |
+
'minify.engine' => 'file'
|
236 |
+
));
|
237 |
+
},
|
238 |
+
'disable' => function () use (&$thisclass) {
|
239 |
+
$thisclass->update_w3tc(array(
|
240 |
+
'minify.js.enable' => false,
|
241 |
+
'minify.auto' => 0
|
242 |
+
));
|
243 |
+
}
|
244 |
+
|
245 |
+
),
|
246 |
+
'gzip' => array(
|
247 |
+
'name' => 'Gzip Compression Enabled',
|
248 |
+
'slug' => 'gzip',
|
249 |
+
'plugin' => 'W3 Total Cache',
|
250 |
+
'configured' => false,
|
251 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
252 |
+
'description' => 'Makes your site significantly faster by compressing all text files to make them smaller.',
|
253 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
254 |
+
$w3tc = $thisclass->get_w3tc_config();
|
255 |
+
if ($w3tc['browsercache.other.compression']) {
|
256 |
+
$item['configured'] = true;
|
257 |
+
$thisclass->set_install_status('gzip', true);
|
258 |
+
} else {
|
259 |
+
$thisclass->set_install_status('gzip', false);
|
260 |
+
}
|
261 |
+
},
|
262 |
+
'enable' => function () use (&$thisclass) {
|
263 |
+
$thisclass->update_w3tc(array(
|
264 |
+
'browsercache.other.compression' => true,
|
265 |
+
'browsercache.html.compression' => true,
|
266 |
+
'browsercache.cssjs.compression' => true
|
267 |
+
));
|
268 |
+
},
|
269 |
+
'disable' => function () use (&$thisclass) {
|
270 |
+
$thisclass->update_w3tc(array(
|
271 |
+
'browsercache.other.compression' => false,
|
272 |
+
'browsercache.html.compression' => false,
|
273 |
+
'browsercache.cssjs.compression' => false
|
274 |
+
));
|
275 |
+
}
|
276 |
+
),
|
277 |
+
'htaccess' => array(
|
278 |
+
'name' => 'Deny Direct Access to Configuration Files and Comment Form',
|
279 |
+
'slug' => 'htaccess',
|
280 |
+
'plugin' => 'A2 Optimized',
|
281 |
+
'configured' => false,
|
282 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-the-a2-optimized-plugin',
|
283 |
+
'description' => 'Protects your configuration files by generating a Forbidden error to web users and bots when trying to access WordPress configuration files. <br> Also prevents POST requests to the site not originating from a user on the site. <br> <span class="danger" >note</span>: if you are using a plugin to allow remote posts and comments, disable this option.',
|
284 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
285 |
+
$htaccess = file_get_contents(ABSPATH . '.htaccess');
|
286 |
+
if (strpos($htaccess, "# BEGIN WordPress Hardening") === false) {
|
287 |
+
if ($thisclass->get_deny_direct() == true) {
|
288 |
+
$thisclass->set_deny_direct(false);
|
289 |
+
}
|
290 |
+
//make sure the basic a2-optimized rules are present
|
291 |
+
$thisclass->set_install_status('htaccess-deny-direct-access', false);
|
292 |
+
} else {
|
293 |
+
if ($thisclass->get_deny_direct() == false) {
|
294 |
+
$thisclass->set_deny_direct(true);
|
295 |
+
}
|
296 |
+
$item['configured'] = true;
|
297 |
+
$thisclass->set_install_status('htaccess-deny-direct-access', true);
|
298 |
+
}
|
299 |
+
},
|
300 |
+
'enable' => function () use (&$thisclass) {
|
301 |
+
$thisclass->set_deny_direct(true);
|
302 |
+
$thisclass->write_htaccess();
|
303 |
+
},
|
304 |
+
'disable' => function () use (&$thisclass) {
|
305 |
+
$thisclass->set_deny_direct(false);
|
306 |
+
$thisclass->write_htaccess();
|
307 |
+
}
|
308 |
+
),
|
309 |
+
'lock' => array(
|
310 |
+
'name' => 'Lock Editing of Plugins and Themes from the WP Admin',
|
311 |
+
'slug' => 'lock',
|
312 |
+
'plugin' => 'A2 Optimized',
|
313 |
+
'configured' => false,
|
314 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-the-a2-optimized-plugin',
|
315 |
+
'description' => 'Prevents exploits that use the built in editing capabilities of the WP Admin',
|
316 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
317 |
+
$wpconfig = file_get_contents(ABSPATH . 'wp-config.php');
|
318 |
+
if (strpos($wpconfig, "// BEGIN A2 CONFIG") === false) {
|
319 |
+
if ($thisclass->get_lockdown() == true) {
|
320 |
+
$thisclass->get_lockdown(false);
|
321 |
+
}
|
322 |
+
$thisclass->set_install_status('lock-editing', false);
|
323 |
+
} else {
|
324 |
+
if ($thisclass->get_lockdown() == false) {
|
325 |
+
$thisclass->set_lockdown(true);
|
326 |
+
}
|
327 |
+
$item['configured'] = true;
|
328 |
+
$thisclass->set_install_status('lock-editing', true);
|
329 |
+
}
|
330 |
+
},
|
331 |
+
'enable' => function () use (&$thisclass) {
|
332 |
+
$thisclass->set_lockdown(true);
|
333 |
+
$thisclass->write_wp_config();
|
334 |
+
},
|
335 |
+
'disable' => function () use (&$thisclass) {
|
336 |
+
$thisclass->set_lockdown(false);
|
337 |
+
$thisclass->write_wp_config();
|
338 |
+
}
|
339 |
+
),
|
340 |
+
'wp-login' => array(
|
341 |
+
'name' => 'Login URL Change',
|
342 |
+
'slug' => 'wp-login',
|
343 |
+
'premium' => true,
|
344 |
+
'plugin' => 'Rename wp-login.php',
|
345 |
+
'configured' => false,
|
346 |
+
'kb' => 'http://www.a2hosting.com/kb/security/application-security/wordpress-security#a-namemethodRenameLoginPageaMethod-3.3A-Change-the-WordPress-login-URL',
|
347 |
+
'description' => '
|
348 |
+
<p>Change the URL of your login page to make it harder for bots to find it to brute force attack.</p>
|
349 |
+
',
|
350 |
+
'is_configured' => function(){
|
351 |
+
return false;
|
352 |
+
}
|
353 |
+
),
|
354 |
+
'captcha' => array(
|
355 |
+
'name' => 'reCAPTCHA on comments and login',
|
356 |
+
'plugin' => 'reCAPTCHA',
|
357 |
+
'slug' => 'captcha',
|
358 |
+
'premium' => true,
|
359 |
+
'configured' => false,
|
360 |
+
'description' => 'Decreases spam and increases site security by adding a CAPTCHA to comment forms and the login screen. Without a CAPTCHA, bots will easily be able to post comments to you blog or brute force login to your admin panel.',
|
361 |
+
'is_configured' => function (){
|
362 |
+
return false;
|
363 |
+
}
|
364 |
+
),
|
365 |
+
'images' => array(
|
366 |
+
'name' => 'Compress Images on Upload',
|
367 |
+
'plugin' => 'EWWW Image Optimizer',
|
368 |
+
'slug' => 'images',
|
369 |
+
'premium' => true,
|
370 |
+
'configured' => false,
|
371 |
+
'description' => 'Makes your site faster by compressing images to make them smaller.',
|
372 |
+
'is_configured' => function () {
|
373 |
+
return false;
|
374 |
+
}
|
375 |
+
),
|
376 |
+
'turbo' => array(
|
377 |
+
'name' => 'Turbo Web Hosting',
|
378 |
+
'slug' => 'turbo',
|
379 |
+
'configured' => false,
|
380 |
+
'premium'=>true,
|
381 |
+
'description' => '
|
382 |
+
<ul>
|
383 |
+
<li>Turbo Web Hosting servers compile .htaccess files to make speed improvements. Any changes to .htaccess files are immediately re-compiled.</li>
|
384 |
+
<li>Turbo Web Hosting servers have their own PHP API that provides speed improvements over FastCGI and PHP-FPM (FastCGI Process Manager). </li>
|
385 |
+
<li>To serve static files, Turbo Web Hosting servers do not need to create a worker process as the user. Servers only create a worker process for PHP scripts, which results in faster performance.</li>
|
386 |
+
<li>PHP OpCode Caching is enabled by default. Accounts are allocated 256 MB of memory toward OpCode caching.</li>
|
387 |
+
<li>Turbo Web Hosting servers have a built-in caching engine for Full Page Cache and Edge Side Includes.</li>
|
388 |
+
</ul>
|
389 |
+
',
|
390 |
+
'is_configured' => function (){
|
391 |
+
return false;
|
392 |
+
}
|
393 |
+
),
|
394 |
+
'memcached' => array(
|
395 |
+
'name' => 'Memcached Database and Object Cache',
|
396 |
+
'slug' => 'memcached',
|
397 |
+
'configured' => false,
|
398 |
+
'premium'=>true,
|
399 |
+
'description' => '
|
400 |
+
<ul>
|
401 |
+
<li>Extremely fast and powerful caching system.</li>
|
402 |
+
<li>Store frequently used database queries and WordPress objects in Memcached.</li>
|
403 |
+
<li>Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.</li>
|
404 |
+
<li>Take advantage of A2 Hosting's one-click memcached configuration for WordPress.</li>
|
405 |
+
</ul>
|
406 |
+
',
|
407 |
+
'is_configured' => function (){
|
408 |
+
return false;
|
409 |
+
}
|
410 |
+
)
|
411 |
+
|
412 |
+
);
|
413 |
+
}
|
414 |
+
|
415 |
+
protected function get_private_optimizations()
|
416 |
+
{
|
417 |
+
if (class_exists("A2_Optimized_Private_Optimizations")) {
|
418 |
+
$a2opt_priv = new A2_Optimized_Private_Optimizations();
|
419 |
+
return $a2opt_priv->get_optimizations($this->thisclass);
|
420 |
+
} else {
|
421 |
+
return array();
|
422 |
+
}
|
423 |
+
}
|
424 |
+
|
425 |
+
public function get_advanced()
|
426 |
+
{
|
427 |
+
$public_opts = $this->get_public_advanced();
|
428 |
+
$private_opts = $this->get_private_advanced();
|
429 |
+
return array_merge($public_opts, $private_opts);
|
430 |
+
}
|
431 |
+
|
432 |
+
protected function get_public_advanced()
|
433 |
+
{
|
434 |
+
$thisclass = $this->thisclass;
|
435 |
+
|
436 |
+
return array(
|
437 |
+
'gtmetrix' => array(
|
438 |
+
'slug' => 'gtmetrix',
|
439 |
+
'name' => 'GTmetrix',
|
440 |
+
'plugin' => 'GTmetrix',
|
441 |
+
'plugin_slug' => 'gtmetrix-for-wordpress',
|
442 |
+
'file' => 'gtmetrix-for-wordpress/gtmetrix-for-wordpress.php',
|
443 |
+
'configured' => false,
|
444 |
+
'partially_configured' => false,
|
445 |
+
'required_options' => array('gfw_options' => array('authorized')),
|
446 |
+
'description' => '
|
447 |
+
<p>
|
448 |
+
Plugin that actively keeps track of your WP install and sends you alerts if your site falls below certain criteria.
|
449 |
+
The GTMetrix plugin requires an account with <a href="http://gtmetrix.com/" >gtmetrix.com</a>
|
450 |
+
</p>
|
451 |
+
<p>
|
452 |
+
<b>Use this plugin only if your site is experiencing issues with slow load times.</b><br><b style="color:red">The GTMetrix plugin will slow down your site.</b>
|
453 |
+
</p>
|
454 |
+
',
|
455 |
+
'not_configured_links' => array(),
|
456 |
+
'configured_links' => array(
|
457 |
+
'Configure GTmetrix' => 'admin.php?page=gfw_settings',
|
458 |
+
'GTmetrix Tests' => 'admin.php?page=gfw_tests',
|
459 |
+
),
|
460 |
+
'partially_configured_links' => array(
|
461 |
+
'Configure GTmetrix' => 'admin.php?page=gfw_settings',
|
462 |
+
'GTmetrix Tests' => 'admin.php?page=gfw_tests',
|
463 |
+
),
|
464 |
+
'partially_configured_message' => 'Click "Configure GTmetrix" to enter your GTmetrix Account Email and GTmetrix API Key.',
|
465 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-w3-total-cache-and-gtmetrix',
|
466 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
467 |
+
$gfw_options = get_option('gfw_options');
|
468 |
+
if (is_plugin_active($item['file']) && isset($gfw_options['authorized']) && $gfw_options['authorized'] == 1) {
|
469 |
+
$item['configured'] = true;
|
470 |
+
$thisclass->set_install_status('gtmetrix', true);
|
471 |
+
} elseif (is_plugin_active($item['file'])) {
|
472 |
+
$item['partially_configured'] = true;
|
473 |
+
} else {
|
474 |
+
$thisclass->set_install_status('gtmetrix', false);
|
475 |
+
}
|
476 |
+
},
|
477 |
+
'enable' => function ($slug) use (&$thisclass) {
|
478 |
+
$item = $thisclass->get_advanced_optimizations();
|
479 |
+
$item = $item[$slug];
|
480 |
+
if (!isset($thisclass->plugin_list[$item['file']])) {
|
481 |
+
$thisclass->install_plugin($item['plugin_slug']);
|
482 |
+
}
|
483 |
+
if (!is_plugin_active($item['file'])) {
|
484 |
+
$thisclass->activate_plugin($item['file']);
|
485 |
+
}
|
486 |
+
},
|
487 |
+
'disable' => function ($slug) use (&$thisclass) {
|
488 |
+
$item = $thisclass->get_advanced_optimizations();
|
489 |
+
$item = $item[$slug];
|
490 |
+
$thisclass->deactivate_plugin($item['file']);
|
491 |
+
}
|
492 |
+
),
|
493 |
+
'P3' => array(
|
494 |
+
'slug' => 'P3',
|
495 |
+
'name' => 'P3 (Plugin Performance Profiler)',
|
496 |
+
'description' => '
|
497 |
+
<p>See which plugins are slowing down your site.
|
498 |
+
This plugin creates a performance report for your site.</p>
|
499 |
+
<p>
|
500 |
+
<b>Use this plugin only if your site is experiencing issues with slow load times.</b><br><b style="color:red">The P3 plugin will slow down your site.</b>
|
501 |
+
</p>
|
502 |
+
',
|
503 |
+
'plugin' => 'P3 Profiler',
|
504 |
+
'plugin_slug' => 'p3-profiler',
|
505 |
+
'file' => 'p3-profiler/p3-profiler.php',
|
506 |
+
'configured' => false,
|
507 |
+
'configured_links' => array(
|
508 |
+
'Test Performance' => 'tools.php?page=p3-profiler',
|
509 |
+
),
|
510 |
+
'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/debugging-wordpress-with-p3-profiler',
|
511 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
512 |
+
if (is_plugin_active($item['file'])) {
|
513 |
+
$item['configured'] = true;
|
514 |
+
$thisclass->set_install_status('P3', true);
|
515 |
+
} else {
|
516 |
+
$thisclass->set_install_status('P3', false);
|
517 |
+
}
|
518 |
+
},
|
519 |
+
'enable' => function ($slug) use (&$thisclass) {
|
520 |
+
$item = $thisclass->get_advanced_optimizations();
|
521 |
+
$item = $item[$slug];
|
522 |
+
if (!isset($thisclass->plugin_list[$item['file']])) {
|
523 |
+
$thisclass->install_plugin($item['plugin_slug']);
|
524 |
+
}
|
525 |
+
if (!is_plugin_active($item['file'])) {
|
526 |
+
$thisclass->activate_plugin($item['file']);
|
527 |
+
}
|
528 |
+
},
|
529 |
+
'disable' => function ($slug) use (&$thisclass) {
|
530 |
+
$item = $thisclass->get_advanced_optimizations();
|
531 |
+
$item = $item[$slug];
|
532 |
+
$thisclass->deactivate_plugin($item['file']);
|
533 |
+
}
|
534 |
+
),
|
535 |
+
'clef' => array(
|
536 |
+
'slug' => 'clef',
|
537 |
+
'name' => 'Two-Factor Authentication with Clef',
|
538 |
+
'description' => '<p>Clef provides easy-to-use strong two-factor authentication using smartphones. It replaces insecure passwords and cumbersome one-time codes with the beautiful Clef Wave.</p>',
|
539 |
+
'plugin' => 'Clef',
|
540 |
+
'plugin_slug' => 'wpclef',
|
541 |
+
'file' => 'wpclef/wpclef.php',
|
542 |
+
'configured' => false,
|
543 |
+
'not_configured_links' => array(),
|
544 |
+
'configured_links' => array(
|
545 |
+
'Configure Clef' => 'admin.php?page=clef'
|
546 |
+
),
|
547 |
+
'partially_configured_links' => array(
|
548 |
+
'Configure Clef' => 'admin.php?page=clef'
|
549 |
+
),
|
550 |
+
'partially_configured_message' => 'Click "Configure Clef" to complete the configuration of Clef.',
|
551 |
+
//'kb' => 'http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/adding-two-factor-authentication-with-clef',
|
552 |
+
'is_configured' => function (&$item) use (&$thisclass) {
|
553 |
+
$clef_options = get_option('wpclef');
|
554 |
+
if (is_plugin_active($item['file']) && isset($clef_options['clef_settings_app_id']) && isset($clef_options['clef_settings_app_secret'])) {
|
555 |
+
$item['configured'] = true;
|
556 |
+
$thisclass->set_install_status('clef', true);
|
557 |
+
} elseif (is_plugin_active($item['file'])) {
|
558 |
+
$item['partially_configured'] = true;
|
559 |
+
} else {
|
560 |
+
$thisclass->set_install_status('clef', false);
|
561 |
+
}
|
562 |
+
},
|
563 |
+
'enable' => function ($slug) use (&$thisclass) {
|
564 |
+
$item = $thisclass->get_advanced_optimizations();
|
565 |
+
$item = $item[$slug];
|
566 |
+
if (!isset($thisclass->plugin_list[$item['file']])) {
|
567 |
+
$thisclass->install_plugin($item['plugin_slug']);
|
568 |
+
}
|
569 |
+
if (!is_plugin_active($item['file'])) {
|
570 |
+
$thisclass->activate_plugin($item['file']);
|
571 |
+
}
|
572 |
+
},
|
573 |
+
'disable' => function ($slug) use (&$thisclass) {
|
574 |
+
$item = $thisclass->get_advanced_optimizations();
|
575 |
+
$item = $item[$slug];
|
576 |
+
$thisclass->deactivate_plugin($item['file']);
|
577 |
+
}
|
578 |
+
),
|
579 |
+
'cloudflare' => array(
|
580 |
+
'slug' => 'cloudflare',
|
581 |
+
'name' => 'CloudFlare',
|
582 |
+
'premium'=>true,
|
583 |
+
'description' => '
|
584 |
+
<p>
|
585 |
+
CloudFlare is a free global CDN and DNS provider that can speed up and protect any site online.
|
586 |
+
</p>
|
587 |
+
|
588 |
+
<dl style="padding-left:20px">
|
589 |
+
<dt>CloudFlare CDN</dt>
|
590 |
+
<dd>Distribute your content around the world so it's closer to your visitors (speeding up your site).</dd>
|
591 |
+
<dt>CloudFlare optimizer</dt>
|
592 |
+
<dd>Web pages with ad servers and third party widgets load snappy on both mobile and computers.</dd>
|
593 |
+
<dt>CloudFlare security</dt>
|
594 |
+
<dd>Protect your website from a range of online threats from spammers to SQL injection to DDOS.</dd>
|
595 |
+
<dt>CloudFlare analytics</dt>
|
596 |
+
<dd>Get insight into all of your website's traffic including threats and search engine crawlers.</dd>
|
597 |
+
</dl>
|
598 |
+
<div class="alert alert-info">
|
599 |
+
Host with A2 Hosting to take advantage of one click CloudFlare configuration.
|
600 |
+
</div>
|
601 |
+
',
|
602 |
+
'configured' => false,
|
603 |
+
'is_configured' => function(){
|
604 |
+
return false;
|
605 |
+
},
|
606 |
+
'not_configured_links' => array('Host with A2'=>'https://www.a2hosting.com/wordpress-hosting?utm_source=A2%20Optimized&utm_medium=Referral&utm_campaign=A2%20Optimized')
|
607 |
+
)
|
608 |
+
|
609 |
+
);
|
610 |
+
}
|
611 |
+
|
612 |
+
protected function get_private_advanced()
|
613 |
+
{
|
614 |
+
if (class_exists("A2_Optimized_Private_Optimizations")) {
|
615 |
+
$a2opt_priv = new A2_Optimized_Private_Optimizations();
|
616 |
+
return $a2opt_priv->get_advanced($this->thisclass);
|
617 |
+
} else {
|
618 |
+
return array();
|
619 |
+
}
|
620 |
+
}
|
621 |
+
|
622 |
+
public function get_warnings()
|
623 |
+
{
|
624 |
+
$public_opts = $this->get_public_warnings();
|
625 |
+
$private_opts = $this->get_private_warnings();
|
626 |
+
return array_merge($public_opts, $private_opts);
|
627 |
+
}
|
628 |
+
|
629 |
+
protected function get_public_warnings()
|
630 |
+
{
|
631 |
+
return array(
|
632 |
+
'Bad WP Options' => array(
|
633 |
+
'posts_per_page' => array(
|
634 |
+
'title' => 'Recent Post Limit',
|
635 |
+
'description' => 'The number of recent posts per page is set greater than five. This could be slowing down page loads.',
|
636 |
+
'type' => 'numeric',
|
637 |
+
'threshold_type' => '>',
|
638 |
+
'threshold' => 5,
|
639 |
+
'config_url' => admin_url() . 'options-reading.php'
|
640 |
+
),
|
641 |
+
'posts_per_rss' => array(
|
642 |
+
'title' => 'RSS Post Limit',
|
643 |
+
'description' => 'The number of posts from external feeds is set greater than 5. This could be slowing down page loads.',
|
644 |
+
'type' => 'numeric',
|
645 |
+
'threshold_type' => '>',
|
646 |
+
'threshold' => 5,
|
647 |
+
'config_url' => admin_url() . 'options-reading.php'
|
648 |
+
),
|
649 |
+
'show_on_front' => array(
|
650 |
+
'title' => 'Recent Posts showing on home page',
|
651 |
+
'description' => 'Speed up your home page by selecting a static page to display.',
|
652 |
+
'type' => 'text',
|
653 |
+
'threshold_type' => '=',
|
654 |
+
'threshold' => 'posts',
|
655 |
+
'config_url' => admin_url() . 'options-reading.php'
|
656 |
+
),
|
657 |
+
'permalink_structure' => array(
|
658 |
+
'title' => 'Permalink Structure',
|
659 |
+
'description' => 'To fully optimize page caching with "Disk Enhanced" mode:<br>you must set a permalink structure other than "Default".',
|
660 |
+
'type' => 'text',
|
661 |
+
'threshold_type' => '=',
|
662 |
+
'threshold' => '',
|
663 |
+
'config_url' => admin_url() . 'options-permalink.php'
|
664 |
+
)
|
665 |
+
),
|
666 |
+
'Advanced Warnings' => array(
|
667 |
+
'themes' => array(
|
668 |
+
'is_warning' => function () {
|
669 |
+
$themes = wp_get_themes();
|
670 |
+
switch (count($themes)) {
|
671 |
+
case 1:
|
672 |
+
return false;
|
673 |
+
case 2:
|
674 |
+
$theme = wp_get_theme();
|
675 |
+
if ($theme->get('Template') != '') {
|
676 |
+
return false;
|
677 |
+
}
|
678 |
+
}
|
679 |
+
return true;
|
680 |
+
},
|
681 |
+
'title' => 'Unused Themes',
|
682 |
+
'description' => 'One or more unused themes are installed. Unused themes should be deleted. For more information read the Wordpress.org Codex on <a target="_blank" href="http://codex.wordpress.org/WordPress_Housekeeping#Theme_Housekeeping">WordPress Housekeeping</a>',
|
683 |
+
'config_url' => admin_url() . 'themes.php'
|
684 |
+
),
|
685 |
+
'a2_hosting' => array(
|
686 |
+
'title' => 'Not Hosted with A2 Hosting',
|
687 |
+
'description' => 'Get faster page load times and more optimizations when you <a href="https://www.a2hosting.com/wordpress-hosting?utm_source=A2%20Optimized&utm_medium=Referral&utm_campaign=A2%20Optimized" target="_blank">host with A2 Hosting</a>.',
|
688 |
+
'is_warning' => function () {
|
689 |
+
if(is_dir("/opt/a2-optimized"))
|
690 |
+
return false;
|
691 |
+
return true;
|
692 |
+
},
|
693 |
+
'config_url' => "https://www.a2hosting.com/wordpress-hosting?utm_source=A2%20Optimized&utm_medium=Referral&utm_campaign=A2%20Optimized"
|
694 |
+
)
|
695 |
+
),
|
696 |
+
'Bad Plugins' => array(
|
697 |
+
'wp-super-cache',
|
698 |
+
'wp-file-cache',
|
699 |
+
'wordfence',
|
700 |
+
'wp-db-backup',
|
701 |
+
//'WP DB Manager',
|
702 |
+
//'BackupWordPress',
|
703 |
+
//'Broken Link Checker',
|
704 |
+
//'MyReviewPlugin',
|
705 |
+
//'LinkMan',
|
706 |
+
//'Google XML Sitemaps',
|
707 |
+
//'Fuzzy SEO Booster',
|
708 |
+
//'Tweet Blender',
|
709 |
+
//'Dynamic Related Posts',
|
710 |
+
//'SEO Auto Links & Related Posts',
|
711 |
+
//'Yet Another Related Posts Plugin',
|
712 |
+
//'Similar Posts',
|
713 |
+
//'Contextual Related Posts',
|
714 |
+
|
715 |
+
)
|
716 |
+
);
|
717 |
+
}
|
718 |
+
|
719 |
+
protected function get_private_warnings()
|
720 |
+
{
|
721 |
+
if (class_exists("A2_Optimized_Private_Optimizations")) {
|
722 |
+
$a2opt_priv = new A2_Optimized_Private_Optimizations();
|
723 |
+
return $a2opt_priv->get_warnings($this->thisclass);
|
724 |
+
} else {
|
725 |
+
return array();
|
726 |
+
}
|
727 |
+
}
|
728 |
+
|
729 |
+
}
|
A2_Optimized_OptionsManager.php
ADDED
@@ -0,0 +1,1648 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Author: Benjamin Cool
|
5 |
+
Author URI: https://www.a2hosting.com/
|
6 |
+
License: GPLv2 or Later
|
7 |
+
*/
|
8 |
+
|
9 |
+
if(is_admin()){
|
10 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
11 |
+
class A2_Plugin_Installer_Skin Extends Plugin_Installer_Skin{
|
12 |
+
public function feedback($type){}
|
13 |
+
public function error($error){}
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
if (file_exists("/opt/a2-optimized/wordpress/Optimizations.php")) {
|
18 |
+
require_once "/opt/a2-optimized/wordpress/Optimizations.php";
|
19 |
+
}
|
20 |
+
require_once 'A2_Optimized_Optimizations.php';
|
21 |
+
|
22 |
+
class A2_Optimized_OptionsManager {
|
23 |
+
|
24 |
+
public $plugin_dir;
|
25 |
+
private $optimizations;
|
26 |
+
private $advanced_optimizations;
|
27 |
+
private $advanced_optimization_status;
|
28 |
+
private $optimization_count;
|
29 |
+
private $advanced_optimization_count;
|
30 |
+
private $plugin_list;
|
31 |
+
private $install_status;
|
32 |
+
|
33 |
+
public function set_w3tc_defaults()
|
34 |
+
{
|
35 |
+
$vars = $this->get_w3tc_defaults();
|
36 |
+
if (!class_exists('W3_ConfigData')) {
|
37 |
+
$this->enable_w3_total_cache();
|
38 |
+
}
|
39 |
+
|
40 |
+
$config_writer = new W3_ConfigWriter(0, false);
|
41 |
+
foreach ($vars as $name => $val) {
|
42 |
+
$config_writer->set($name, $val);
|
43 |
+
}
|
44 |
+
$config_writer->set('common.instance_id', mt_rand());
|
45 |
+
$config_writer->save();
|
46 |
+
$this->refresh_w3tc();
|
47 |
+
}
|
48 |
+
|
49 |
+
public function get_w3tc_defaults()
|
50 |
+
{
|
51 |
+
return array(
|
52 |
+
'pgcache.check.domain' => true,
|
53 |
+
'pgcache.prime.post.enabled' => true,
|
54 |
+
'pgcache.reject.logged' => true,
|
55 |
+
'pgcache.reject.request_head' => true,
|
56 |
+
'pgcache.purge.front_page' => true,
|
57 |
+
'pgcache.purge.home' => true,
|
58 |
+
'pgcache.purge.post' => true,
|
59 |
+
'pgcache.purge.comments' => true,
|
60 |
+
'pgcache.purge.author' => true,
|
61 |
+
'pgcache.purge.terms' => true,
|
62 |
+
'pgcache.purge.archive.daily' => true,
|
63 |
+
'pgcache.purge.archive.monthly' => true,
|
64 |
+
'pgcache.purge.archive.yearly' => true,
|
65 |
+
'pgcache.purge.feed.blog' => true,
|
66 |
+
'pgcache.purge.feed.comments' => true,
|
67 |
+
'pgcache.purge.feed.author' => true,
|
68 |
+
'pgcache.purge.feed.terms' => true,
|
69 |
+
'pgcache.cache.feed' => true,
|
70 |
+
'pgcache.debug' => false,
|
71 |
+
'pgcache.purge.postpages_limit' => 0,//purge all pages that list posts
|
72 |
+
'pgcache.purge.feed.types' => array(
|
73 |
+
0 => 'rdf',
|
74 |
+
1 => 'rss',
|
75 |
+
2 => 'rss2',
|
76 |
+
3 => 'atom'
|
77 |
+
),
|
78 |
+
'minify.debug' => false,
|
79 |
+
'dbcache.debug' => false,
|
80 |
+
'objectcache.debug' => false,
|
81 |
+
|
82 |
+
'mobile.enabled' => true,
|
83 |
+
|
84 |
+
|
85 |
+
'minify.auto' => false,
|
86 |
+
'minify.html.engine' => 'html',
|
87 |
+
'minify.html.inline.css' => true,
|
88 |
+
'minify.html.inline.js' => true,
|
89 |
+
|
90 |
+
|
91 |
+
'minify.js.engine' => 'js',
|
92 |
+
'minify.css.engine' => 'css',
|
93 |
+
|
94 |
+
'minify.js.header.embed_type' => 'nb-js',
|
95 |
+
'minify.js.body.embed_type' => 'nb-js',
|
96 |
+
'minify.js.footer.embed_type' => 'nb-js',
|
97 |
+
|
98 |
+
'minify.lifetime' => 14400,
|
99 |
+
'minify.file.gc' => 144000,
|
100 |
+
|
101 |
+
'dbcache.lifetime' => 3600,
|
102 |
+
'dbcache.file.gc' => 7200,
|
103 |
+
|
104 |
+
|
105 |
+
'objectcache.lifetime' => 3600,
|
106 |
+
'objectcache.file.gc' => 7200,
|
107 |
+
|
108 |
+
'browsercache.cssjs.last_modified' => true,
|
109 |
+
'browsercache.cssjs.compression' => true,
|
110 |
+
'browsercache.cssjs.expires' => true,
|
111 |
+
'browsercache.cssjs.lifetime' => 31536000,
|
112 |
+
'browsercache.cssjs.nocookies' => false,
|
113 |
+
'browsercache.cssjs.cache.control' => true,
|
114 |
+
'browsercache.cssjs.cache.policy' => 'cache_maxage',
|
115 |
+
'browsercache.cssjs.etag' => true,
|
116 |
+
'browsercache.cssjs.w3tc' => true,
|
117 |
+
'browsercache.cssjs.replace' => true,
|
118 |
+
'browsercache.html.compression' => true,
|
119 |
+
'browsercache.html.last_modified' => true,
|
120 |
+
'browsercache.html.expires' => true,
|
121 |
+
'browsercache.html.lifetime' => 30,
|
122 |
+
'browsercache.html.cache.control' => true,
|
123 |
+
'browsercache.html.cache.policy' => 'cache_maxage',
|
124 |
+
'browsercache.html.etag' => true,
|
125 |
+
'browsercache.html.w3tc' => true,
|
126 |
+
'browsercache.html.replace' => true,
|
127 |
+
'browsercache.other.last_modified' => true,
|
128 |
+
'browsercache.other.compression' => true,
|
129 |
+
'browsercache.other.expires' => true,
|
130 |
+
'browsercache.other.lifetime' => 31536000,
|
131 |
+
'browsercache.other.nocookies' => false,
|
132 |
+
'browsercache.other.cache.control' => true,
|
133 |
+
'browsercache.other.cache.policy' => 'cache_maxage',
|
134 |
+
'browsercache.other.etag' => true,
|
135 |
+
'browsercache.other.w3tc' => true,
|
136 |
+
'browsercache.other.replace' => true,
|
137 |
+
|
138 |
+
'config.check' => true,
|
139 |
+
|
140 |
+
'varnish.enabled' => false
|
141 |
+
|
142 |
+
);
|
143 |
+
}
|
144 |
+
|
145 |
+
public function enable_w3_total_cache()
|
146 |
+
{
|
147 |
+
$file = 'w3-total-cache/w3-total-cache.php';
|
148 |
+
$slug = 'w3-total-cache';
|
149 |
+
if (!class_exists('W3_ConfigWriter')) {
|
150 |
+
$plugins = $this->get_plugins();
|
151 |
+
if (isset($plugins[$file])) {
|
152 |
+
activate_plugin($file);
|
153 |
+
} else {
|
154 |
+
$this->install_plugin($slug);
|
155 |
+
$this->activate_plugin($file);
|
156 |
+
$this->hit_the_w3tc_page();
|
157 |
+
}
|
158 |
+
}
|
159 |
+
}
|
160 |
+
|
161 |
+
public function get_plugins()
|
162 |
+
{
|
163 |
+
if (isset($this->plugin_list)) {
|
164 |
+
return $this->plugin_list;
|
165 |
+
} else {
|
166 |
+
return get_plugins();
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
public function install_plugin($slug, $activate = false)
|
171 |
+
{
|
172 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
173 |
+
require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
174 |
+
$api = plugins_api('plugin_information', array('slug' => $slug));
|
175 |
+
|
176 |
+
$found = false;
|
177 |
+
|
178 |
+
$plugins = $this->get_plugins();
|
179 |
+
|
180 |
+
foreach ($plugins as $file => $plugin) {
|
181 |
+
if ($plugin['Name'] == $api->name) {
|
182 |
+
$found = true;
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
if (!$found) {
|
187 |
+
ob_start();
|
188 |
+
$upgrader = new Plugin_Upgrader(new A2_Plugin_Installer_Skin(compact('title', 'url', 'nonce', 'plugin', 'api')));
|
189 |
+
$upgrader->install($api->download_link);
|
190 |
+
ob_end_clean();
|
191 |
+
$this->plugin_list = get_plugins();
|
192 |
+
}
|
193 |
+
|
194 |
+
if ($activate) {
|
195 |
+
$plugins = $this->get_plugins();
|
196 |
+
foreach ($plugins as $file => $plugin) {
|
197 |
+
if ($plugin['Name'] == $api->name) {
|
198 |
+
$this->activate_plugin($file);
|
199 |
+
}
|
200 |
+
}
|
201 |
+
}
|
202 |
+
|
203 |
+
$this->clear_w3_total_cache();
|
204 |
+
}
|
205 |
+
|
206 |
+
public function activate_plugin($file)
|
207 |
+
{
|
208 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
209 |
+
activate_plugin($file);
|
210 |
+
$this->clear_w3_total_cache();
|
211 |
+
}
|
212 |
+
|
213 |
+
public function clear_w3_total_cache()
|
214 |
+
{
|
215 |
+
if (is_plugin_active('w3-total-cache/w3-total-cache.php')) {
|
216 |
+
//TODO: add clear cache
|
217 |
+
}
|
218 |
+
}
|
219 |
+
|
220 |
+
public function hit_the_w3tc_page()
|
221 |
+
{
|
222 |
+
$cookie = "";
|
223 |
+
foreach ($_COOKIE as $name => $val) {
|
224 |
+
$cookie .= "{$name}={$val};";
|
225 |
+
}
|
226 |
+
rtrim($cookie, ';');
|
227 |
+
$ch = curl_init();
|
228 |
+
curl_setopt($ch, CURLOPT_URL, get_admin_url() . 'admin.php?page=w3tc_general&nonce=' . wp_create_nonce('w3tc'));
|
229 |
+
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
|
230 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
|
231 |
+
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
232 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
233 |
+
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
|
234 |
+
curl_setopt($ch, CURLOPT_REFERER, get_admin_url());
|
235 |
+
$result = curl_exec($ch);
|
236 |
+
curl_close($ch);
|
237 |
+
}
|
238 |
+
|
239 |
+
public function refresh_w3tc()
|
240 |
+
{
|
241 |
+
$this->hit_the_w3tc_page();
|
242 |
+
}
|
243 |
+
|
244 |
+
public function get_w3tc_config(){
|
245 |
+
if(class_exists('W3_ConfigData')){
|
246 |
+
$config_writer = new W3_ConfigWriter(0,false);
|
247 |
+
return W3_ConfigData::get_array_from_file($config_writer->get_config_filename());
|
248 |
+
}
|
249 |
+
else{
|
250 |
+
return false;
|
251 |
+
}
|
252 |
+
}
|
253 |
+
|
254 |
+
public function enable_w3tc_cache(){
|
255 |
+
$permalink_structure = get_option('permalink_structure');
|
256 |
+
$vars = array();
|
257 |
+
if($permalink_structure == ''){
|
258 |
+
$vars['pgcache.engine']='file';
|
259 |
+
}
|
260 |
+
else{
|
261 |
+
$vars['pgcache.engine']='file_generic';
|
262 |
+
}
|
263 |
+
$vars['dbcache.engine'] = 'file';
|
264 |
+
$vars['objectcache.engine'] = 'file';
|
265 |
+
|
266 |
+
$vars['objectcache.enabled'] = true;
|
267 |
+
$vars['dbcache.enabled'] = true;
|
268 |
+
$vars['pgcache.enabled'] = true;
|
269 |
+
$vars['browsercache.enabled'] = true;
|
270 |
+
|
271 |
+
$this->update_w3tc($vars);
|
272 |
+
}
|
273 |
+
|
274 |
+
|
275 |
+
public function enable_w3tc_page_cache(){
|
276 |
+
$permalink_structure = get_option('permalink_structure');
|
277 |
+
$vars = array();
|
278 |
+
if($permalink_structure == ''){
|
279 |
+
$vars['pgcache.engine']='file';
|
280 |
+
}
|
281 |
+
else{
|
282 |
+
$vars['pgcache.engine']='file_generic';
|
283 |
+
}
|
284 |
+
|
285 |
+
$vars['pgcache.enabled'] = true;
|
286 |
+
$this->update_w3tc($vars);
|
287 |
+
}
|
288 |
+
|
289 |
+
public function enable_w3tc_db_cache(){
|
290 |
+
$permalink_structure = get_option('permalink_structure');
|
291 |
+
$vars = array();
|
292 |
+
$vars['dbcache.engine'] = 'file';
|
293 |
+
$vars['dbcache.enabled'] = true;
|
294 |
+
$this->update_w3tc($vars);
|
295 |
+
}
|
296 |
+
|
297 |
+
public function enable_w3tc_object_cache(){
|
298 |
+
$permalink_structure = get_option('permalink_structure');
|
299 |
+
$vars = array();
|
300 |
+
|
301 |
+
$vars['objectcache.engine'] = 'file';
|
302 |
+
$vars['objectcache.enabled'] = true;
|
303 |
+
|
304 |
+
$this->update_w3tc($vars);
|
305 |
+
}
|
306 |
+
|
307 |
+
public function enable_w3tc_browser_cache(){
|
308 |
+
$permalink_structure = get_option('permalink_structure');
|
309 |
+
$vars = array();
|
310 |
+
$vars['browsercache.enabled'] = true;
|
311 |
+
$this->update_w3tc($vars);
|
312 |
+
}
|
313 |
+
|
314 |
+
|
315 |
+
|
316 |
+
public function update_w3tc($vars)
|
317 |
+
{
|
318 |
+
$vars = array_merge($this->get_w3tc_defaults(), $vars);
|
319 |
+
|
320 |
+
if (!class_exists('W3_ConfigData')) {
|
321 |
+
$this->enable_w3_total_cache();
|
322 |
+
}
|
323 |
+
|
324 |
+
$config_writer = new W3_ConfigWriter(0, false);
|
325 |
+
foreach ($vars as $name => $val) {
|
326 |
+
$config_writer->set($name, $val);
|
327 |
+
}
|
328 |
+
$config_writer->set('common.instance_id', mt_rand());
|
329 |
+
$config_writer->save();
|
330 |
+
$this->refresh_w3tc();
|
331 |
+
|
332 |
+
}
|
333 |
+
|
334 |
+
public function disable_w3tc_cache()
|
335 |
+
{
|
336 |
+
$this->update_w3tc(array(
|
337 |
+
'pgcache.enabled' => false,
|
338 |
+
'dbcache.enabled' => false,
|
339 |
+
'objectcache.enabled' => false,
|
340 |
+
'browsercache.enabled' => false,
|
341 |
+
));
|
342 |
+
}
|
343 |
+
|
344 |
+
|
345 |
+
public function disable_w3tc_page_cache(){
|
346 |
+
$vars = array();
|
347 |
+
$vars['pgcache.enabled'] = false;
|
348 |
+
$this->update_w3tc($vars);
|
349 |
+
}
|
350 |
+
|
351 |
+
public function disable_w3tc_db_cache(){
|
352 |
+
$vars = array();
|
353 |
+
$vars['dbcache.enabled'] = false;
|
354 |
+
$this->update_w3tc($vars);
|
355 |
+
}
|
356 |
+
|
357 |
+
public function disable_w3tc_object_cache(){
|
358 |
+
$vars = array();
|
359 |
+
$vars['objectcache.enabled'] = false;
|
360 |
+
$this->update_w3tc($vars);
|
361 |
+
}
|
362 |
+
|
363 |
+
public function disable_w3tc_browser_cache(){
|
364 |
+
$vars = array();
|
365 |
+
$vars['browsercache.enabled'] = false;
|
366 |
+
$this->update_w3tc($vars);
|
367 |
+
}
|
368 |
+
|
369 |
+
|
370 |
+
public function disable_html_minify()
|
371 |
+
{
|
372 |
+
$this->update_w3tc(array(
|
373 |
+
'minify.html.enable' => false,
|
374 |
+
'minify.html.enabled' => false,
|
375 |
+
'minify.auto' => false
|
376 |
+
));
|
377 |
+
}
|
378 |
+
|
379 |
+
public function enable_html_minify()
|
380 |
+
{
|
381 |
+
$this->update_w3tc(array(
|
382 |
+
'minify.html.enable' => true,
|
383 |
+
'minify.enabled' => true,
|
384 |
+
'minify.auto' => false,
|
385 |
+
'minify.engine' => 'file'
|
386 |
+
));
|
387 |
+
}
|
388 |
+
|
389 |
+
public function curl_save_w3tc($cookie, $url)
|
390 |
+
{
|
391 |
+
$post = "w3tc_save_options=Save all settings&_wpnonce=" . wp_create_nonce('w3tc') . "&_wp_http_referer=%2Fwp-admin%2Fadmin.php%3Fpage%3Dw3tc_general%26&w3tc_note%3Dconfig_save";
|
392 |
+
|
393 |
+
$ch = curl_init();
|
394 |
+
curl_setopt($ch, CURLOPT_URL, get_admin_url() . $url);
|
395 |
+
curl_setopt($ch, CURLOPT_HEADER, TRUE);
|
396 |
+
curl_setopt($ch, CURLOPT_POST, 1);
|
397 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
|
398 |
+
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
|
399 |
+
curl_setopt($ch, CURLOPT_REFERER, get_admin_url() . $url);
|
400 |
+
//curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body
|
401 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
|
402 |
+
$head = curl_exec($ch);
|
403 |
+
curl_close($ch);
|
404 |
+
}
|
405 |
+
|
406 |
+
public function get_optimizations()
|
407 |
+
{
|
408 |
+
return $this->optimizations;
|
409 |
+
}
|
410 |
+
|
411 |
+
/**
|
412 |
+
* Creates HTML for the Administration page to set options for this plugin.
|
413 |
+
* Override this method to create a customized page.
|
414 |
+
* @return void
|
415 |
+
*/
|
416 |
+
public function settingsPage()
|
417 |
+
{
|
418 |
+
if (!current_user_can('manage_options')) {
|
419 |
+
wp_die(__('You do not have sufficient permissions to access A2 Optimized.', 'a2-optimized'));
|
420 |
+
}
|
421 |
+
|
422 |
+
|
423 |
+
$thisclass = $this;
|
424 |
+
|
425 |
+
$optimization_count = 0;
|
426 |
+
$this->get_plugin_status();
|
427 |
+
|
428 |
+
|
429 |
+
$thisdir = rtrim(__DIR__, "/");
|
430 |
+
|
431 |
+
|
432 |
+
wp_enqueue_style('bootstrap', plugins_url('/assets/bootstrap/css/bootstrap.css',__FILE__));
|
433 |
+
wp_enqueue_style('bootstrap-theme', plugins_url('/assets/bootstrap/css/bootstrap-theme.css',__FILE__));
|
434 |
+
wp_enqueue_script('bootstrap-theme', plugins_url('/assets/bootstrap/js/bootstrap.js',__FILE__), array('jquery'));
|
435 |
+
|
436 |
+
|
437 |
+
|
438 |
+
$image_dir = plugins_url('/assets/images',__FILE__);
|
439 |
+
|
440 |
+
do_action('a2_notices');
|
441 |
+
|
442 |
+
|
443 |
+
$ini_error_reporting = ini_get('error_reporting');
|
444 |
+
//ini_set('error_reporting',0);
|
445 |
+
|
446 |
+
$this->optimization_status = "";
|
447 |
+
|
448 |
+
$optionMetaData = $this->getOptionMetaData();
|
449 |
+
|
450 |
+
$csrf_token = 0;
|
451 |
+
/*$kbpage = $this->curl('https://www.a2hosting.com/kb');
|
452 |
+
|
453 |
+
|
454 |
+
if (preg_match('/name="csrf_token" value="([a-z0-9]{40})"/', $kbpage, $csrf_match)) {
|
455 |
+
$csrf_token = $csrf_match[1];
|
456 |
+
}*/
|
457 |
+
|
458 |
+
$optimization_status = "";
|
459 |
+
|
460 |
+
|
461 |
+
foreach ($this->advanced_optimizations as $shortname => &$item) {
|
462 |
+
$this->advanced_optimization_status .= $this->get_optimization_status($item);
|
463 |
+
if ($item['configured']) {
|
464 |
+
$this->advanced_optimization_count++;
|
465 |
+
}
|
466 |
+
}
|
467 |
+
|
468 |
+
$this->optimization_count = 0;
|
469 |
+
|
470 |
+
|
471 |
+
foreach ($this->optimizations as $shortname => &$item) {
|
472 |
+
$this->optimization_status .= $this->get_optimization_status($item);
|
473 |
+
if ($item['configured']) {
|
474 |
+
$this->optimization_count++;
|
475 |
+
}
|
476 |
+
}
|
477 |
+
|
478 |
+
if ($this->optimization_count == count($this->optimizations)) {
|
479 |
+
$optimization_alert = '<div class="alert alert-success">Your site has been fully optimized!</div>';
|
480 |
+
} elseif (!$this->optimizations['page_cache']['configured']) {
|
481 |
+
$optimization_alert = '<div class="alert alert-danger">Your site is NOT optimized!</div>';
|
482 |
+
} elseif ($this->optimization_count > 5) {
|
483 |
+
$optimization_alert = '<div class="alert alert-success">Your site has been partially optimized!</div>';
|
484 |
+
} elseif ($this->optimization_count > 2) {
|
485 |
+
$optimization_alert = '<div class="alert alert-danger">Your site is barely optimized!</div>';
|
486 |
+
} else {
|
487 |
+
$optimization_alert = '<div class="alert alert-danger">Your site is NOT optimized!</div>';
|
488 |
+
}
|
489 |
+
|
490 |
+
|
491 |
+
$optimization_number = count($this->optimizations);
|
492 |
+
|
493 |
+
$optimization_circle = "";
|
494 |
+
if ($optimization_number > 0) {
|
495 |
+
$optimization_circle = <<<HTML
|
496 |
+
<span class="badge badge-success">{$this->optimization_count}/{$optimization_number}</span>
|
497 |
+
HTML;
|
498 |
+
}
|
499 |
+
|
500 |
+
|
501 |
+
$kb_search_box = <<<HTML
|
502 |
+
<div class='big-search' style="margin-top:34px" >
|
503 |
+
<div class='kb-search' >
|
504 |
+
<form method="post" action="https://www.a2hosting.com/" target="_blank" >
|
505 |
+
<div class='hiddenFields'>
|
506 |
+
<input type="hidden" name="ACT" value="25" />
|
507 |
+
<input type="hidden" name="RP" value="kb/results" />
|
508 |
+
<input type="hidden" name="site_id" value="1" />
|
509 |
+
<input type="hidden" name="csrf_token" value="{$csrf_token}" />
|
510 |
+
</div>
|
511 |
+
<input type="text" id="kb-search-request" name="keywords" placeholder="Search The A2 Knowledge Base">
|
512 |
+
<button class='btn btn-success' type='submit'>Search</button>
|
513 |
+
<div id='honeypot'><input type='text' class='input'></div>
|
514 |
+
</form>
|
515 |
+
</div>
|
516 |
+
</div>
|
517 |
+
HTML;
|
518 |
+
|
519 |
+
|
520 |
+
|
521 |
+
list($warnings, $num_warnings) = $this->warnings();
|
522 |
+
|
523 |
+
$advanced_circle = "";
|
524 |
+
|
525 |
+
$warning_circle = "";
|
526 |
+
if ($num_warnings > 0) {
|
527 |
+
$warning_circle = <<<HTML
|
528 |
+
<span class="badge badge-warning">{$num_warnings}</span>
|
529 |
+
HTML;
|
530 |
+
}
|
531 |
+
|
532 |
+
$settingsGroup = get_class($this) . '-settings-group';
|
533 |
+
$description = $this->get_plugin_description();
|
534 |
+
|
535 |
+
if($this->is_a2()) {
|
536 |
+
$feedback = <<<HTML
|
537 |
+
<div style="margin:10px 0;" class="alert alert-success">
|
538 |
+
We want to hear from you! Please share your thoughts and feedback in our <a href="https://my.a2hosting.com/a2-suggestion-box.php" target="_blank">Suggestion Box!</a>
|
539 |
+
</div>
|
540 |
+
HTML;
|
541 |
+
}
|
542 |
+
else {
|
543 |
+
$feedback = <<<HTML
|
544 |
+
<div style="margin:10px 0;" class="alert alert-success">
|
545 |
+
We want to hear from you! Please share your thoughts and feedback in our wordpress.org <a href="https://wordpress.org/support/plugin/a2-optimized/" target="_blank">support forum!</a>
|
546 |
+
</div>
|
547 |
+
HTML;
|
548 |
+
}
|
549 |
+
|
550 |
+
|
551 |
+
echo <<<HTML
|
552 |
+
|
553 |
+
|
554 |
+
|
555 |
+
<section id="content-general">
|
556 |
+
<div class="wrap">
|
557 |
+
<div>
|
558 |
+
<div>
|
559 |
+
<div>
|
560 |
+
<div style="float:left;clear:both">
|
561 |
+
<img src="{$image_dir}/a2optimized.png" style="margin-top:20px" />
|
562 |
+
</div>
|
563 |
+
<div style="float:right;">
|
564 |
+
{$kb_search_box}
|
565 |
+
</div>
|
566 |
+
</div>
|
567 |
+
<div style="clear:both;"></div>
|
568 |
+
</div>
|
569 |
+
<div >
|
570 |
+
|
571 |
+
<div style="margin:20px 0;">
|
572 |
+
{$optimization_alert}
|
573 |
+
</div>
|
574 |
+
</div>
|
575 |
+
</div>
|
576 |
+
|
577 |
+
|
578 |
+
<ul class="nav nav-tabs" roll="tablist">
|
579 |
+
<li role="tab" aria-controls="optimization-status" id="li-optimization-status" ><a onclick='document.location.hash="#optimization-status-tab"' href="#optimization-status" data-toggle="tab">Optimization Status {$optimization_circle}</a></li>
|
580 |
+
<li role="tab" aria-controls="optimization-warnings" id="li-optimization-warnings" ><a onclick='document.location.hash="#optimization-warnings-tab"' href="#optimization-warnings" data-toggle="tab">Warnings {$warning_circle}</a></li>
|
581 |
+
<li role="tab" aria-controls="optimization-advanced" id="li-optimization-advanced" ><a onclick='document.location.hash="#optimization-advanced-tab"' href="#optimization-advanced" data-toggle="tab">Advanced Optimizations {$advanced_circle}</a></li>
|
582 |
+
<li role="tab" aria-controls="optimization-about" id="li-optimization-about" ><a onclick='document.location.hash="#optimization-about-tab"' href="#optimization-about" data-toggle="tab">About A2 Optimized</a></li>
|
583 |
+
</ul>
|
584 |
+
|
585 |
+
|
586 |
+
|
587 |
+
|
588 |
+
<div class="tab-content">
|
589 |
+
<div role="tabpanel" aria-labelledby="li-optimization-status" id="optimization-status" class="tab-pane">
|
590 |
+
<h3>Optimization Status</h3>
|
591 |
+
<div >
|
592 |
+
{$this->optimization_status}
|
593 |
+
</div>
|
594 |
+
</div>
|
595 |
+
<div role="tabpanel" aria-labelledby="li-optimization-warnings" id="optimization-warnings" class="tab-pane">
|
596 |
+
<h3>Warnings</h3>
|
597 |
+
{$warnings}
|
598 |
+
</div>
|
599 |
+
|
600 |
+
<div role="tabpanel" aria-labelledby="li-optimization-advanced" id="optimization-advanced" class="tab-pane">
|
601 |
+
<h3>Advanced Optimizations</h3>
|
602 |
+
{$this->advanced_optimization_status}
|
603 |
+
</div>
|
604 |
+
|
605 |
+
<div role="tabpanel" aria-labelledby="li-optimization-about" id="optimization-about" class="tab-pane">
|
606 |
+
<div style="margin:20px 0;">
|
607 |
+
<h3>About A2 Optimized</h3>
|
608 |
+
<p>A2 Optimized was developed by A2 Hosting to make it faster and easier to configure the caching of all aspects of a WordPress site.</p>
|
609 |
+
<p>This free plugin comes with many of the popular Optimizations that come with WordPress hosted at A2 Hosting.</p>
|
610 |
+
<p>To get the full advantage of A2 Optimized, host your site at <a href='https://www.a2hosting.com/wordpress-hosting?utm_source=A2%20Optimized&utm_medium=Referral&utm_campaign=A2%20Optimized' target='_blank'>A2 Hosting</a></p>
|
611 |
+
|
612 |
+
</div>
|
613 |
+
<div style="margin:20px 0;">
|
614 |
+
<h3>Free Optimizations</h3>
|
615 |
+
<dt>Page Caching with W3 Total Cache</dt>
|
616 |
+
<dd>
|
617 |
+
<ul>
|
618 |
+
<li>Page Caching stores full copies of pages on the disk so that PHP code and database queries can be skipped by the web server.</li>
|
619 |
+
</ul>
|
620 |
+
</dd>
|
621 |
+
<dt>DB Caching with W3 Total Cache</dt>
|
622 |
+
<dd>
|
623 |
+
<ul>
|
624 |
+
<li>Database cache stores copies of common database queries on disk or in memory to speed up page rendering.</li>
|
625 |
+
</ul>
|
626 |
+
</dd>
|
627 |
+
<dt>Object Caching with W3 Total Cache</dt>
|
628 |
+
<dd>
|
629 |
+
<ul>
|
630 |
+
<li>Object Caching stores commonly used elements such as menus, widgets and forms on disk or in memory to speed up page rendering.</li>
|
631 |
+
</ul>
|
632 |
+
</dd>
|
633 |
+
|
634 |
+
<dt>Browser Caching with W3 Total Cache</dt>
|
635 |
+
<dd>
|
636 |
+
<ul>
|
637 |
+
<li>Add Rules to the web server to tell the visitor's browser to store a copy of static files to reduce the load time for pages requested after the first page is loaded.</li>
|
638 |
+
</ul>
|
639 |
+
</dd>
|
640 |
+
|
641 |
+
|
642 |
+
|
643 |
+
<dt>Minify HTML Pages</dt>
|
644 |
+
<dd>
|
645 |
+
<ul>
|
646 |
+
<li style="list-style-position: inside">Auto Configure W3 Total Cache to remove excess white space and comments from HTML pages to compress their size.</li>
|
647 |
+
<li>Smaller html pages download faster.</li>
|
648 |
+
</ul>
|
649 |
+
</dd>
|
650 |
+
<dt>Minify CSS Files</dt>
|
651 |
+
<dd>
|
652 |
+
<ul>
|
653 |
+
<li>Auto Configure W3 Total Cache to condense CSS files.</li>
|
654 |
+
<li>Combines multiple css files into a single download.</li>
|
655 |
+
<li>Can provide significant speed imporvements for page loads.</li>
|
656 |
+
</ul>
|
657 |
+
</dd>
|
658 |
+
<dt>Minify JS Files</dt>
|
659 |
+
<dd>
|
660 |
+
<ul>
|
661 |
+
<li>Auto Configure W3 Total Cache to condense JavaScript files into non human-readable compressed files.</li>
|
662 |
+
<li>Combines multiple js files into a single download.</li>
|
663 |
+
<li>Can provide significant speed improvements for page loads.</li>
|
664 |
+
</ul>
|
665 |
+
</dd>
|
666 |
+
<dt>Gzip Compression Enabled</dt>
|
667 |
+
<dd>
|
668 |
+
<ul>
|
669 |
+
<li>Turns on gzip compression using W3 Total Cache.</li>
|
670 |
+
<li>Ensures that files are compressed before sending them to the visitor's browser.</li>
|
671 |
+
<li>Can provide significant speed improvements for page loads.</li>
|
672 |
+
<li>Reduces bandwidth required to serve web pages.</li>
|
673 |
+
</ul>
|
674 |
+
</dd>
|
675 |
+
<dt>Deny Direct Access to Configuration Files and Comment Form</dt>
|
676 |
+
<dd>
|
677 |
+
<ul>
|
678 |
+
<li>Enables WordPress hardening rules in .htaccess to prevent browser access to certain files.</li>
|
679 |
+
<li>Prevents bots from submitting to comment forms.</li>
|
680 |
+
<li>Turn this off if you use systems that post to the comment form without visiting the page.</li>
|
681 |
+
</ul>
|
682 |
+
</dd>
|
683 |
+
<dt>Lock Editing of Plugins and Themes from the WP Admin</dt>
|
684 |
+
<dd>
|
685 |
+
<ul>
|
686 |
+
<li>Turns off the file editor in the wp-admin.</li>
|
687 |
+
<li>Prevents plugins and themes from being tampered with from the wp-admin.</li>
|
688 |
+
</ul>
|
689 |
+
</dd>
|
690 |
+
</div>
|
691 |
+
<div style="margin:20px 0;">
|
692 |
+
<h3>A2 Hosting Exclusive Optimizations</h3>
|
693 |
+
<p>
|
694 |
+
These one-click optimizations are only available while hosted at A2 Hosting.
|
695 |
+
</p>
|
696 |
+
<dt>Login URL Change</dt>
|
697 |
+
<dd>
|
698 |
+
<ul>
|
699 |
+
<li>Move the login page from the default wp-login.php to a random URL.</li>
|
700 |
+
<li>Prevents bots from automatically brute-force attacking wp-login.php</li>
|
701 |
+
</ul>
|
702 |
+
</dd>
|
703 |
+
<dt>reCAPTCHA on comments and login</dt>
|
704 |
+
<dd>
|
705 |
+
<ul>
|
706 |
+
<li>Provides google reCAPTCHA on both the Login form and comments.</li>
|
707 |
+
<li>Prevents bots from automatically brute-force attacking wp-login.php</li>
|
708 |
+
<li>Prevents bots from automatically spamming comments.</li>
|
709 |
+
</ul>
|
710 |
+
</dd>
|
711 |
+
<dt>Compress Images on Upload</dt>
|
712 |
+
<dd>
|
713 |
+
<ul>
|
714 |
+
<li>Enables and configures EWWW Image Optimizer.</li>
|
715 |
+
<li>Compresses images that are uploaded to save bandwidth.</li>
|
716 |
+
<li>Improves page load times: especially on sites with many images.</li>
|
717 |
+
</ul>
|
718 |
+
</dd>
|
719 |
+
<dt>Turbo Web Hosting</dt>
|
720 |
+
<dd>
|
721 |
+
<ul>
|
722 |
+
<li>Take advantage of A2 Hosting's Turbo Web Hosting platform.</li>
|
723 |
+
<li>Faster serving of static files.</li>
|
724 |
+
<li>Pre-compiled .htaccess files on the web server for imporved performance.</li>
|
725 |
+
<li>PHP OpCode cache enabled by default</li>
|
726 |
+
<li>Custom PHP engine that is faster than Fast-CGI and FPM</li>
|
727 |
+
</ul>
|
728 |
+
</dd>
|
729 |
+
<dt>Memcached Database and Object Cache</dt>
|
730 |
+
<dd>
|
731 |
+
<ul>
|
732 |
+
<li>Database and Object cache in memory instead of on disk.</li>
|
733 |
+
<li>More secure and faster Memcached using Unix socket files.</li>
|
734 |
+
<li>Significant improvement in page load times, especially on pages that can not use full page cache such as wp-admin</li>
|
735 |
+
</ul>
|
736 |
+
</dd>
|
737 |
+
</div>
|
738 |
+
</div>
|
739 |
+
</div>
|
740 |
+
|
741 |
+
$feedback
|
742 |
+
|
743 |
+
</div>
|
744 |
+
|
745 |
+
<div style="clear:both;padding:10px;"></div>
|
746 |
+
</section>
|
747 |
+
|
748 |
+
|
749 |
+
<script>
|
750 |
+
if(document.location.hash != ""){
|
751 |
+
switch(document.location.hash.replace("#","")){
|
752 |
+
case 'optimization-status-tab':
|
753 |
+
document.getElementById("li-optimization-status").setAttribute("class","active");
|
754 |
+
document.getElementById("optimization-status").setAttribute("class","tab-pane active");
|
755 |
+
break;
|
756 |
+
case 'optimization-warnings-tab':
|
757 |
+
document.getElementById("li-optimization-warnings").setAttribute("class","active");
|
758 |
+
document.getElementById("optimization-warnings").setAttribute("class","tab-pane active");
|
759 |
+
break;
|
760 |
+
case "optimization-plugins-tab":
|
761 |
+
document.getElementById("li-optimization-plugins").setAttribute("class","active");
|
762 |
+
document.getElementById("optimization-plugins").setAttribute("class","tab-pane active");
|
763 |
+
break;
|
764 |
+
case "optimization-advanced-tab":
|
765 |
+
document.getElementById("li-optimization-advanced").setAttribute("class","active");
|
766 |
+
document.getElementById("optimization-advanced").setAttribute("class","tab-pane active");
|
767 |
+
break;
|
768 |
+
case "optimization-about-tab":
|
769 |
+
document.getElementById("li-optimization-about").setAttribute("class","active");
|
770 |
+
document.getElementById("optimization-about").setAttribute("class","tab-pane active");
|
771 |
+
break;
|
772 |
+
default:
|
773 |
+
document.getElementById("li-optimization-status").setAttribute("class","active");
|
774 |
+
document.getElementById("optimization-status").setAttribute("class","tab-pane active");
|
775 |
+
}
|
776 |
+
}
|
777 |
+
else{
|
778 |
+
document.getElementById("li-optimization-status").setAttribute("class","active");
|
779 |
+
document.getElementById("optimization-status").setAttribute("class","tab-pane active");
|
780 |
+
}
|
781 |
+
</script>
|
782 |
+
|
783 |
+
HTML;
|
784 |
+
|
785 |
+
|
786 |
+
ini_set('error_reporting', $ini_error_reporting);
|
787 |
+
|
788 |
+
|
789 |
+
}
|
790 |
+
|
791 |
+
public function get_plugin_status()
|
792 |
+
{
|
793 |
+
$thisclass = $this;
|
794 |
+
|
795 |
+
$opts = new A2_Optimized_Optimizations($thisclass);
|
796 |
+
$this->advanced_optimizations = $opts->get_advanced();
|
797 |
+
$this->optimizations = $opts->get_optimizations();
|
798 |
+
$this->plugin_list = get_plugins();
|
799 |
+
|
800 |
+
if (isset($_GET['activate'])) {
|
801 |
+
foreach ($this->plugin_list as $file => $plugin) {
|
802 |
+
if ($_GET['activate'] == $plugin['Name']) {
|
803 |
+
$this->activate_plugin($file);
|
804 |
+
}
|
805 |
+
}
|
806 |
+
}
|
807 |
+
|
808 |
+
if (isset($_GET['hide_login_url'])) {
|
809 |
+
$this->addOption('hide_login_url', true);
|
810 |
+
}
|
811 |
+
|
812 |
+
|
813 |
+
if (isset($_GET['deactivate'])) {
|
814 |
+
foreach ($this->plugin_list as $file => $plugin) {
|
815 |
+
if ($_GET['deactivate'] == $plugin['Name']) {
|
816 |
+
$this->deactivate_plugin($file);
|
817 |
+
}
|
818 |
+
}
|
819 |
+
}
|
820 |
+
|
821 |
+
if (isset($_GET['delete'])) {
|
822 |
+
foreach ($this->plugin_list as $file => $plugin) {
|
823 |
+
if ($_GET['delete'] == $plugin['Name']) {
|
824 |
+
$this->uninstall_plugin($file);
|
825 |
+
}
|
826 |
+
}
|
827 |
+
}
|
828 |
+
|
829 |
+
if (isset($_GET['disable_optimization'])) {
|
830 |
+
$hash = "";
|
831 |
+
|
832 |
+
|
833 |
+
if (isset($this->optimizations[$_GET['disable_optimization']])) {
|
834 |
+
$this->optimizations[$_GET['disable_optimization']]['disable']($_GET['disable_optimization']);
|
835 |
+
}
|
836 |
+
|
837 |
+
if (isset($this->advanced_optimizations[$_GET['disable_optimization']])) {
|
838 |
+
$this->advanced_optimizations[$_GET['disable_optimization']]['disable']($_GET['disable_optimization']);
|
839 |
+
$hash = "#optimization-advanced-tab";
|
840 |
+
}
|
841 |
+
|
842 |
+
echo <<<JAVASCRIPT
|
843 |
+
<script type="text/javascript">
|
844 |
+
window.location = 'admin.php?page=A2_Optimized_Plugin_admin{$hash}';
|
845 |
+
</script>
|
846 |
+
JAVASCRIPT;
|
847 |
+
exit();
|
848 |
+
}
|
849 |
+
|
850 |
+
if (isset($_GET['enable_optimization'])) {
|
851 |
+
$hash = "";
|
852 |
+
if (isset($this->optimizations[$_GET['enable_optimization']])) {
|
853 |
+
$this->optimizations[$_GET['enable_optimization']]['enable']($_GET['enable_optimization']);
|
854 |
+
}
|
855 |
+
|
856 |
+
if (isset($this->advanced_optimizations[$_GET['enable_optimization']])) {
|
857 |
+
$this->advanced_optimizations[$_GET['enable_optimization']]['enable']($_GET['enable_optimization']);
|
858 |
+
$hash = "#optimization-advanced-tab";
|
859 |
+
}
|
860 |
+
|
861 |
+
echo <<<JAVASCRIPT
|
862 |
+
<script type="text/javascript">
|
863 |
+
window.location = 'admin.php?page=A2_Optimized_Plugin_admin{$hash}';
|
864 |
+
</script>
|
865 |
+
JAVASCRIPT;
|
866 |
+
exit();
|
867 |
+
}
|
868 |
+
|
869 |
+
|
870 |
+
ini_set('disable_functions', '');
|
871 |
+
|
872 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
873 |
+
require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
874 |
+
|
875 |
+
$plugins_url = plugins_url();
|
876 |
+
$plugins_url = explode('/', $plugins_url);
|
877 |
+
array_shift($plugins_url);
|
878 |
+
array_shift($plugins_url);
|
879 |
+
array_shift($plugins_url);
|
880 |
+
$this->plugin_dir = ABSPATH . implode('/', $plugins_url);
|
881 |
+
|
882 |
+
|
883 |
+
$this->plugins_url = plugins_url();
|
884 |
+
|
885 |
+
|
886 |
+
validate_active_plugins();
|
887 |
+
|
888 |
+
$this->set_install_status('plugins', $this->plugin_list);
|
889 |
+
|
890 |
+
|
891 |
+
}
|
892 |
+
|
893 |
+
/**
|
894 |
+
* A wrapper function delegating to WP add_option() but it prefixes the input $optionName
|
895 |
+
* to enforce "scoping" the options in the WP options table thereby avoiding name conflicts
|
896 |
+
* @param $optionName string defined in settings.php and set as keys of $this->optionMetaData
|
897 |
+
* @param $value mixed the new value
|
898 |
+
* @return null from delegated call to delete_option()
|
899 |
+
*/
|
900 |
+
public function addOption($optionName, $value)
|
901 |
+
{
|
902 |
+
$prefixedOptionName = $this->prefix($optionName); // how it is stored in DB
|
903 |
+
return add_option($prefixedOptionName, $value);
|
904 |
+
}
|
905 |
+
|
906 |
+
/**
|
907 |
+
* Get the prefixed version input $name suitable for storing in WP options
|
908 |
+
* Idempotent: if $optionName is already prefixed, it is not prefixed again, it is returned without change
|
909 |
+
* @param $name string option name to prefix. Defined in settings.php and set as keys of $this->optionMetaData
|
910 |
+
* @return string
|
911 |
+
*/
|
912 |
+
public function prefix($name)
|
913 |
+
{
|
914 |
+
$optionNamePrefix = $this->getOptionNamePrefix();
|
915 |
+
if (strpos($name, $optionNamePrefix) === 0) { // 0 but not false
|
916 |
+
return $name; // already prefixed
|
917 |
+
}
|
918 |
+
return $optionNamePrefix . $name;
|
919 |
+
}
|
920 |
+
|
921 |
+
public function getOptionNamePrefix()
|
922 |
+
{
|
923 |
+
return get_class($this) . '_';
|
924 |
+
}
|
925 |
+
|
926 |
+
public function deactivate_plugin($file)
|
927 |
+
{
|
928 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
929 |
+
if (is_plugin_active($file)) {
|
930 |
+
deactivate_plugins($file);
|
931 |
+
$this->clear_w3_total_cache();
|
932 |
+
}
|
933 |
+
}
|
934 |
+
|
935 |
+
public function uninstall_plugin($file, $delete = true)
|
936 |
+
{
|
937 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
938 |
+
require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
|
939 |
+
|
940 |
+
$this->deactivate_plugin($file);
|
941 |
+
uninstall_plugin($file);
|
942 |
+
if ($delete) {
|
943 |
+
delete_plugins(array($file));
|
944 |
+
}
|
945 |
+
unset($this->plugin_list[$file]);
|
946 |
+
$this->clear_w3_total_cache();
|
947 |
+
}
|
948 |
+
|
949 |
+
public function set_install_status($name, $value)
|
950 |
+
{
|
951 |
+
if (!isset($this->install_status)) {
|
952 |
+
$this->install_status = new StdClass;
|
953 |
+
}
|
954 |
+
$this->install_status->{$name} = $value;
|
955 |
+
}
|
956 |
+
|
957 |
+
/**
|
958 |
+
* Define your options meta data here as an array, where each element in the array
|
959 |
+
* @return array of key=>display-name and/or key=>array(display-name, choice1, choice2, ...)
|
960 |
+
* key: an option name for the key (this name will be given a prefix when stored in
|
961 |
+
* the database to ensure it does not conflict with other plugin options)
|
962 |
+
* value: can be one of two things:
|
963 |
+
* (1) string display name for displaying the name of the option to the user on a web page
|
964 |
+
* (2) array where the first element is a display name (as above) and the rest of
|
965 |
+
* the elements are choices of values that the user can select
|
966 |
+
* e.g.
|
967 |
+
* array(
|
968 |
+
* 'item' => 'Item:', // key => display-name
|
969 |
+
* 'rating' => array( // key => array ( display-name, choice1, choice2, ...)
|
970 |
+
* 'CanDoOperationX' => array('Can do Operation X', 'Administrator', 'Editor', 'Author', 'Contributor', 'Subscriber'),
|
971 |
+
* 'Rating:', 'Excellent', 'Good', 'Fair', 'Poor')
|
972 |
+
*/
|
973 |
+
public function getOptionMetaData()
|
974 |
+
{
|
975 |
+
return array();
|
976 |
+
}
|
977 |
+
|
978 |
+
private function curl($url)
|
979 |
+
{
|
980 |
+
$ch = curl_init();
|
981 |
+
curl_setopt($ch, CURLOPT_URL, $url);
|
982 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
983 |
+
$content = curl_exec($ch);
|
984 |
+
curl_close($ch);
|
985 |
+
return $content;
|
986 |
+
}
|
987 |
+
|
988 |
+
/*public function get_litespeed(){
|
989 |
+
return get_option('a2_optimized_litespeed');
|
990 |
+
}*/
|
991 |
+
|
992 |
+
/*public function set_litespeed($litespeed = true){
|
993 |
+
update_option('a2_optimized_litespeed',$litespeed);
|
994 |
+
}*/
|
995 |
+
|
996 |
+
function get_optimization_status(&$item)
|
997 |
+
{
|
998 |
+
if ($item != null) {
|
999 |
+
$settings_slug = $this->getSettingsSlug();
|
1000 |
+
|
1001 |
+
if (isset($item['is_configured'])) {
|
1002 |
+
$item['is_configured']($item);
|
1003 |
+
}
|
1004 |
+
$active_color = 'danger';
|
1005 |
+
$active_text = 'Not Activated';
|
1006 |
+
$glyph = 'exclamation-sign';
|
1007 |
+
$links = array();
|
1008 |
+
|
1009 |
+
|
1010 |
+
if ($item['configured']) {
|
1011 |
+
$active_color = 'success';
|
1012 |
+
$active_text = 'Configured';
|
1013 |
+
$glyph = 'ok';
|
1014 |
+
|
1015 |
+
if (isset($item['disable'])) {
|
1016 |
+
$links[] = array("?page=$settings_slug&disable_optimization={$item['slug']}", "Disable", "_self");
|
1017 |
+
}
|
1018 |
+
if (isset($item['settings'])) {
|
1019 |
+
$links[] = array("{$item['settings']}", "Configure", "_self");
|
1020 |
+
}
|
1021 |
+
|
1022 |
+
if (isset($item['configured_links'])) {
|
1023 |
+
foreach ($item['configured_links'] as $name => $link) {
|
1024 |
+
if (gettype($link) == 'array') {
|
1025 |
+
$links[] = array($link[0], $name, $link[1]);
|
1026 |
+
} else {
|
1027 |
+
$links[] = array($link, $name, "_self");
|
1028 |
+
}
|
1029 |
+
}
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
} elseif (isset($item['partially_configured']) && $item['partially_configured']) {
|
1033 |
+
$active_color = 'warning';
|
1034 |
+
$active_text = "Partially Configured. {$item['partially_configured_message']}";
|
1035 |
+
$glyph = 'warning-sign';
|
1036 |
+
|
1037 |
+
if (isset($item['disable'])) {
|
1038 |
+
$links[] = array("?page=$settings_slug&disable_optimization={$item['slug']}", "Disable", "_self");
|
1039 |
+
}
|
1040 |
+
if (isset($item['settings'])) {
|
1041 |
+
$links[] = array("{$item['settings']}", "Configure", "_self");
|
1042 |
+
}
|
1043 |
+
|
1044 |
+
if (isset($item['partially_configured_links'])) {
|
1045 |
+
foreach ($item['partially_configured_links'] as $name => $link) {
|
1046 |
+
if (gettype($link) == 'array') {
|
1047 |
+
$links[] = array($link[0], $name, $link[1]);
|
1048 |
+
} else {
|
1049 |
+
$links[] = array($link, $name, "_self");
|
1050 |
+
}
|
1051 |
+
}
|
1052 |
+
}
|
1053 |
+
} else {
|
1054 |
+
if (isset($item['enable'])) {
|
1055 |
+
$links[] = array("?page=$settings_slug&enable_optimization={$item['slug']}", "Enable", "_self");
|
1056 |
+
}
|
1057 |
+
|
1058 |
+
if (isset($item['not_configured_links'])) {
|
1059 |
+
foreach ($item['not_configured_links'] as $name => $link) {
|
1060 |
+
if (gettype($link) == 'array') {
|
1061 |
+
$links[] = array($link[0], $name, $link[1]);
|
1062 |
+
} else {
|
1063 |
+
$links[] = array($link, $name, "_self");
|
1064 |
+
}
|
1065 |
+
}
|
1066 |
+
}
|
1067 |
+
}
|
1068 |
+
if (isset($item['kb'])) {
|
1069 |
+
$links[] = array($item['kb'], "Learn More", "_blank");
|
1070 |
+
}
|
1071 |
+
$link_html = '';
|
1072 |
+
foreach ($links as $i => $link) {
|
1073 |
+
if (isset($link[0]) && isset($link[1]) && isset($link[2])) {
|
1074 |
+
$link_html .= <<<HTML
|
1075 |
+
<a href="{$link[0]}" target="{$link[2]}">{$link[1]}</a> |
|
1076 |
+
HTML;
|
1077 |
+
}
|
1078 |
+
}
|
1079 |
+
|
1080 |
+
$premium = "";
|
1081 |
+
if (isset($item['premium'])) {
|
1082 |
+
$premium = '<div style="float:right;padding-right:10px"><a href="https://www.a2hosting.com/wordpress-hosting?utm_source=A2%20Optimized&utm_medium=Referral&utm_campaign=A2%20Optimized" target="_blank" class="a2-exclusive"></a></div>';
|
1083 |
+
}
|
1084 |
+
|
1085 |
+
$link_html = rtrim($link_html, "|");
|
1086 |
+
|
1087 |
+
return <<<HTML
|
1088 |
+
<div class="optimization-item">
|
1089 |
+
<div class="optimization-item-one" >
|
1090 |
+
<span class="glyphicon glyphicon-{$glyph}"></span>
|
1091 |
+
</div>
|
1092 |
+
<div class="optimization-item-two">
|
1093 |
+
<b>{$item['name']}</b><br>
|
1094 |
+
<span class="{$active_color}">{$active_text}</span>
|
1095 |
+
</div>
|
1096 |
+
{$premium}
|
1097 |
+
<div class="optimization-item-three">
|
1098 |
+
<p>{$item['description']}</p>
|
1099 |
+
</div>
|
1100 |
+
<div class="optimization-item-four">
|
1101 |
+
{$link_html}
|
1102 |
+
</div>
|
1103 |
+
</div>
|
1104 |
+
HTML;
|
1105 |
+
}
|
1106 |
+
return true;
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
private function warnings()
|
1110 |
+
{
|
1111 |
+
|
1112 |
+
$num_warnings = 0;
|
1113 |
+
|
1114 |
+
$opts = new A2_Optimized_Optimizations($this);
|
1115 |
+
$warnings = $opts->get_warnings();
|
1116 |
+
|
1117 |
+
$warning_html = "";
|
1118 |
+
|
1119 |
+
foreach ($warnings as $type => $warning_set) {
|
1120 |
+
switch ($type) {
|
1121 |
+
case 'Bad WP Options':
|
1122 |
+
foreach ($warning_set as $option_name => $warning) {
|
1123 |
+
$warn = false;
|
1124 |
+
$value = get_option($option_name);
|
1125 |
+
switch ($warning['type']) {
|
1126 |
+
case 'numeric':
|
1127 |
+
switch ($warning['threshold_type']) {
|
1128 |
+
case '>':
|
1129 |
+
if ($value > $warning['threshold']) {
|
1130 |
+
$warning_html .= $this->warning_display($warning);
|
1131 |
+
$num_warnings++;
|
1132 |
+
}
|
1133 |
+
break;
|
1134 |
+
case '<':
|
1135 |
+
if ($value < $warning['threshold']) {
|
1136 |
+
$warning_html .= $this->warning_display($warning);
|
1137 |
+
$num_warnings++;
|
1138 |
+
}
|
1139 |
+
break;
|
1140 |
+
case '=':
|
1141 |
+
if ($value == $warning['threshold']) {
|
1142 |
+
$warning_html .= $this->warning_display($warning);
|
1143 |
+
$num_warnings++;
|
1144 |
+
}
|
1145 |
+
break;
|
1146 |
+
}
|
1147 |
+
break;
|
1148 |
+
case 'text':
|
1149 |
+
switch ($warning['threshold_type']) {
|
1150 |
+
case '=':
|
1151 |
+
if ($value == $warning['threshold']) {
|
1152 |
+
$warning_html .= $this->warning_display($warning);
|
1153 |
+
$num_warnings++;
|
1154 |
+
}
|
1155 |
+
break;
|
1156 |
+
case '!=':
|
1157 |
+
if ($value != $warning['threshold']) {
|
1158 |
+
$warning_html .= $this->warning_display($warning);
|
1159 |
+
$num_warnings++;
|
1160 |
+
}
|
1161 |
+
break;
|
1162 |
+
}
|
1163 |
+
break;
|
1164 |
+
case 'array_count':
|
1165 |
+
switch ($warning['threshold_type']) {
|
1166 |
+
case '>':
|
1167 |
+
if (is_array($value) && count($value) > $warning['threshold']) {
|
1168 |
+
$warning_html .= $this->warning_display($warning);
|
1169 |
+
$num_warnings++;
|
1170 |
+
}
|
1171 |
+
break;
|
1172 |
+
|
1173 |
+
}
|
1174 |
+
break;
|
1175 |
+
}
|
1176 |
+
}
|
1177 |
+
break;
|
1178 |
+
case 'Advanced Warnings':
|
1179 |
+
foreach ($warning_set as $name => $warning) {
|
1180 |
+
if ($warning['is_warning']()) {
|
1181 |
+
$warning_html .= $this->warning_display($warning);
|
1182 |
+
$num_warnings++;
|
1183 |
+
}
|
1184 |
+
}
|
1185 |
+
break;
|
1186 |
+
case 'Bad Plugins':
|
1187 |
+
foreach ($warning_set as $plugin_folder => $warning) {
|
1188 |
+
$warn = false;
|
1189 |
+
}
|
1190 |
+
}
|
1191 |
+
|
1192 |
+
|
1193 |
+
}
|
1194 |
+
|
1195 |
+
|
1196 |
+
$warn = false;
|
1197 |
+
$plugins = $this->get_plugins();
|
1198 |
+
foreach ($plugins as $file => $plugin) {
|
1199 |
+
if (!is_plugin_active($file)) {
|
1200 |
+
$plugin['file'] = $file;
|
1201 |
+
$warning_html .= $this->plugin_not_active_warning($plugin);
|
1202 |
+
$num_warnings++;
|
1203 |
+
}
|
1204 |
+
}
|
1205 |
+
|
1206 |
+
|
1207 |
+
return array($warning_html, $num_warnings);
|
1208 |
+
}
|
1209 |
+
|
1210 |
+
private function warning_display($warning)
|
1211 |
+
{
|
1212 |
+
return <<<HTML
|
1213 |
+
<div class="optimization-item">
|
1214 |
+
<div style="float:left;width:44px;font-size:36px">
|
1215 |
+
<span class="glyphicon glyphicon-exclamation-sign"></span>
|
1216 |
+
</div>
|
1217 |
+
<div style="float:left;">
|
1218 |
+
<b>{$warning['title']}</b><br>
|
1219 |
+
</div>
|
1220 |
+
<div style="clear:both;">
|
1221 |
+
<p>{$warning['description']}</p>
|
1222 |
+
</div>
|
1223 |
+
<div>
|
1224 |
+
<a href="{$warning['config_url']}" >Configure</a>
|
1225 |
+
</div>
|
1226 |
+
</div>
|
1227 |
+
HTML;
|
1228 |
+
}
|
1229 |
+
|
1230 |
+
/*
|
1231 |
+
public function plugin_list(){
|
1232 |
+
//Name,PluginURI,Version,Description,Author,AuthorURI,TextDomain,DomainPath,Network,Title,AuthorName
|
1233 |
+
|
1234 |
+
$string = "";
|
1235 |
+
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
1236 |
+
|
1237 |
+
$plugins = $this->get_plugins();
|
1238 |
+
foreach($plugins as $filename=>$plugin){
|
1239 |
+
$name = $plugin['Name'];
|
1240 |
+
$title = $plugin['Title'];
|
1241 |
+
$checked = "";
|
1242 |
+
if(is_plugin_active($filename)){
|
1243 |
+
$checked = "checked='checked'";
|
1244 |
+
}
|
1245 |
+
ob_start();
|
1246 |
+
$dump = ob_get_contents();
|
1247 |
+
ob_end_clean();
|
1248 |
+
$string .=<<<HTML
|
1249 |
+
<div class="wrap">
|
1250 |
+
<span style="font-size:16pt"><input type="checkbox" $checked> $title</span> <a href="">delete</a>
|
1251 |
+
{$dump}
|
1252 |
+
</div>
|
1253 |
+
HTML;
|
1254 |
+
|
1255 |
+
}
|
1256 |
+
return $string;
|
1257 |
+
}*/
|
1258 |
+
|
1259 |
+
private function plugin_not_active_warning($plugin)
|
1260 |
+
{
|
1261 |
+
$manage = "plugins.php?plugin_status=inactive";
|
1262 |
+
return <<<HTML
|
1263 |
+
<div class="optimization-item">
|
1264 |
+
<div style="float:left;width:44px;font-size:36px">
|
1265 |
+
<span class="glyphicon glyphicon-exclamation-sign"></span>
|
1266 |
+
</div>
|
1267 |
+
<div style="float:left;">
|
1268 |
+
<b>Inactive Plugin: {$plugin['Name']}</b><br>
|
1269 |
+
</div>
|
1270 |
+
<div style="clear:both;">
|
1271 |
+
<p>Deactivated plugins should be deleted. Deactivating a plugin does not remove the plugin and its files from your website. Plugins with security flaws may still affect your site even when not active.</p>
|
1272 |
+
<p>{$plugin['Description']}</p>
|
1273 |
+
</div>
|
1274 |
+
<div>
|
1275 |
+
<a href="{$manage}" >Manage deactivated plugins</a>
|
1276 |
+
</div>
|
1277 |
+
</div>
|
1278 |
+
HTML;
|
1279 |
+
}
|
1280 |
+
|
1281 |
+
public function get_advanced_optimizations()
|
1282 |
+
{
|
1283 |
+
return $this->advanced_optimizations;
|
1284 |
+
}
|
1285 |
+
|
1286 |
+
public function set_lockdown($lockdown = true)
|
1287 |
+
{
|
1288 |
+
update_option('a2_optimized_lockdown', $lockdown);
|
1289 |
+
}
|
1290 |
+
|
1291 |
+
public function set_nomods($lockdown = true)
|
1292 |
+
{
|
1293 |
+
update_option('a2_optimized_nomods', $lockdown);
|
1294 |
+
}
|
1295 |
+
|
1296 |
+
public function set_deny_direct($deny = true)
|
1297 |
+
{
|
1298 |
+
update_option('a2_optimized_deny_direct', $deny);
|
1299 |
+
}
|
1300 |
+
|
1301 |
+
public function write_wp_config()
|
1302 |
+
{
|
1303 |
+
|
1304 |
+
$lockdown = $this->get_lockdown();
|
1305 |
+
|
1306 |
+
|
1307 |
+
$nomods = $this->get_nomods();
|
1308 |
+
|
1309 |
+
touch(ABSPATH . 'wp-config.php');
|
1310 |
+
copy(ABSPATH . 'wp-config.php', ABSPATH . 'wp-config.php.bak.a2');
|
1311 |
+
|
1312 |
+
|
1313 |
+
$a2_config = "";
|
1314 |
+
if ($lockdown) {
|
1315 |
+
$a2_config = <<<PHP
|
1316 |
+
|
1317 |
+
// BEGIN A2 CONFIG
|
1318 |
+
define('DISALLOW_FILE_EDIT', true);
|
1319 |
+
// END A2 CONFIG
|
1320 |
+
PHP;
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
if ($nomods) {
|
1324 |
+
$a2_config .= <<<PHP
|
1325 |
+
|
1326 |
+
define('DISALLOW_FILE_MODS', true);
|
1327 |
+
|
1328 |
+
PHP;
|
1329 |
+
}
|
1330 |
+
|
1331 |
+
|
1332 |
+
|
1333 |
+
|
1334 |
+
|
1335 |
+
|
1336 |
+
|
1337 |
+
$wpconfig = file_get_contents(ABSPATH . 'wp-config.php');
|
1338 |
+
$pattern = "/[\r\n]*[\/][\/] BEGIN A2 CONFIG.*[\/][\/] END A2 CONFIG[\r\n]*/msU";
|
1339 |
+
$wpconfig = preg_replace($pattern, '', $wpconfig);
|
1340 |
+
|
1341 |
+
$wpconfig = str_replace("<?php", "<?php{$a2_config}", $wpconfig);
|
1342 |
+
|
1343 |
+
//Write the rules to .htaccess
|
1344 |
+
$fh = fopen(ABSPATH . 'wp-config.php', 'w+');
|
1345 |
+
fwrite($fh, $wpconfig);
|
1346 |
+
fclose($fh);
|
1347 |
+
|
1348 |
+
}
|
1349 |
+
|
1350 |
+
public function get_lockdown()
|
1351 |
+
{
|
1352 |
+
return get_option('a2_optimized_lockdown');
|
1353 |
+
}
|
1354 |
+
|
1355 |
+
public function get_nomods()
|
1356 |
+
{
|
1357 |
+
return get_option('a2_optimized_nomods');
|
1358 |
+
}
|
1359 |
+
|
1360 |
+
public function write_htaccess()
|
1361 |
+
{
|
1362 |
+
|
1363 |
+
|
1364 |
+
//make sure .htaccess exists
|
1365 |
+
touch(ABSPATH . '.htaccess');
|
1366 |
+
touch(ABSPATH . "404.shtml");
|
1367 |
+
touch(ABSPATH . "403.shtml");
|
1368 |
+
|
1369 |
+
//make sure it is writable by owner and readable by everybody
|
1370 |
+
chmod(ABSPATH . '.htaccess', 0644);
|
1371 |
+
|
1372 |
+
|
1373 |
+
$home_path = explode("/", str_replace(array("http://", "https://"), "", home_url()), 2);
|
1374 |
+
|
1375 |
+
if (!isset($home_path[1]) || $home_path[1] == "") {
|
1376 |
+
$home_path = "/";
|
1377 |
+
} else {
|
1378 |
+
$home_path = "/{$home_path[1]}/";
|
1379 |
+
}
|
1380 |
+
|
1381 |
+
$a2hardening = "";
|
1382 |
+
|
1383 |
+
|
1384 |
+
if ($this->get_deny_direct()) {
|
1385 |
+
//Append the new rules to .htaccess
|
1386 |
+
|
1387 |
+
//get the path to the WordPress install - nvm
|
1388 |
+
//$rewrite_base = "/".trim(explode('/',str_replace(array('https://','http://'),'',site_url()),2)[1],"/")."/";
|
1389 |
+
|
1390 |
+
|
1391 |
+
$a2hardening = <<<APACHE
|
1392 |
+
|
1393 |
+
# BEGIN WordPress Hardening
|
1394 |
+
<FilesMatch "^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$">
|
1395 |
+
Order deny,allow
|
1396 |
+
Deny from all
|
1397 |
+
</FilesMatch>
|
1398 |
+
<IfModule mod_rewrite.c>
|
1399 |
+
RewriteBase {$home_path}
|
1400 |
+
RewriteRule ^wp-admin/includes/ - [F,L]
|
1401 |
+
RewriteRule !^wp-includes/ - [S=3]
|
1402 |
+
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
|
1403 |
+
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
|
1404 |
+
RewriteRule ^wp-includes/theme-compat/ - [F,L]
|
1405 |
+
RewriteRule ^wp-config\.php - [F,L]
|
1406 |
+
RewriteRule ^php\.ini - [F,L]
|
1407 |
+
RewriteRule \.htaccess - [F,L]
|
1408 |
+
RewriteCond %{REQUEST_METHOD} POST
|
1409 |
+
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
|
1410 |
+
RewriteCond %{HTTP_REFERER} !.*{$_SERVER['HTTP_HOST']}.* [OR]
|
1411 |
+
RewriteCond %{HTTP_USER_AGENT} ^$
|
1412 |
+
RewriteRule (.*) - [F,L]
|
1413 |
+
</IfModule>
|
1414 |
+
# END WordPress Hardening
|
1415 |
+
APACHE;
|
1416 |
+
|
1417 |
+
}
|
1418 |
+
|
1419 |
+
$litespeed = "";
|
1420 |
+
|
1421 |
+
|
1422 |
+
$htaccess = file_get_contents(ABSPATH . '.htaccess');
|
1423 |
+
|
1424 |
+
$pattern = "/[\r\n]*# BEGIN WordPress Hardening.*# END WordPress Hardening[\r\n]*/msiU";
|
1425 |
+
$htaccess = preg_replace($pattern, '', $htaccess);
|
1426 |
+
|
1427 |
+
$htaccess = <<<HTACCESS
|
1428 |
+
$litespeed
|
1429 |
+
$a2hardening
|
1430 |
+
$htaccess
|
1431 |
+
HTACCESS;
|
1432 |
+
|
1433 |
+
//Write the rules to .htaccess
|
1434 |
+
$fp = fopen(ABSPATH . '.htaccess', "c");
|
1435 |
+
|
1436 |
+
if (flock($fp, LOCK_EX)) {
|
1437 |
+
ftruncate($fp, 0); // truncate file
|
1438 |
+
fwrite($fp, $htaccess);
|
1439 |
+
fflush($fp); // flush output before releasing the lock
|
1440 |
+
flock($fp, LOCK_UN); // release the lock
|
1441 |
+
} else {
|
1442 |
+
//no file lock :(
|
1443 |
+
}
|
1444 |
+
|
1445 |
+
}
|
1446 |
+
|
1447 |
+
public function get_deny_direct()
|
1448 |
+
{
|
1449 |
+
return get_option('a2_optimized_deny_direct');
|
1450 |
+
}
|
1451 |
+
|
1452 |
+
|
1453 |
+
/**
|
1454 |
+
* A wrapper function delegating to WP delete_option() but it prefixes the input $optionName
|
1455 |
+
* to enforce "scoping" the options in the WP options table thereby avoiding name conflicts
|
1456 |
+
* @param $optionName string defined in settings.php and set as keys of $this->optionMetaData
|
1457 |
+
* @return bool from delegated call to delete_option()
|
1458 |
+
*/
|
1459 |
+
public function deleteOption($optionName)
|
1460 |
+
{
|
1461 |
+
$prefixedOptionName = $this->prefix($optionName); // how it is stored in DB
|
1462 |
+
return delete_option($prefixedOptionName);
|
1463 |
+
}
|
1464 |
+
|
1465 |
+
/**
|
1466 |
+
* A wrapper function delegating to WP add_option() but it prefixes the input $optionName
|
1467 |
+
* to enforce "scoping" the options in the WP options table thereby avoiding name conflicts
|
1468 |
+
* @param $optionName string defined in settings.php and set as keys of $this->optionMetaData
|
1469 |
+
* @param $value mixed the new value
|
1470 |
+
* @return null from delegated call to delete_option()
|
1471 |
+
*/
|
1472 |
+
public function updateOption($optionName, $value)
|
1473 |
+
{
|
1474 |
+
$prefixedOptionName = $this->prefix($optionName); // how it is stored in DB
|
1475 |
+
return update_option($prefixedOptionName, $value);
|
1476 |
+
}
|
1477 |
+
|
1478 |
+
/**
|
1479 |
+
* Checks if a particular user has a role.
|
1480 |
+
* Returns true if a match was found.
|
1481 |
+
*
|
1482 |
+
* @param string $role Role name.
|
1483 |
+
* @param int $user_id (Optional) The ID of a user. Defaults to the current user.
|
1484 |
+
* @return bool
|
1485 |
+
*/
|
1486 |
+
function checkUserRole($role, $user_id = null)
|
1487 |
+
{
|
1488 |
+
if (is_numeric($user_id)) {
|
1489 |
+
$user = get_userdata($user_id);
|
1490 |
+
} else {
|
1491 |
+
$user = wp_get_current_user();
|
1492 |
+
}
|
1493 |
+
|
1494 |
+
return empty($user) ? false : in_array($role, (array)$user->roles);
|
1495 |
+
}
|
1496 |
+
|
1497 |
+
|
1498 |
+
|
1499 |
+
/**
|
1500 |
+
* A wrapper function delegating to WP get_option() but it prefixes the input $optionName
|
1501 |
+
* to enforce "scoping" the options in the WP options table thereby avoiding name conflicts
|
1502 |
+
* @param $optionName string defined in settings.php and set as keys of $this->optionMetaData
|
1503 |
+
* @param $default string default value to return if the option is not set
|
1504 |
+
* @return string the value from delegated call to get_option(), or optional default value
|
1505 |
+
* if option is not set.
|
1506 |
+
*/
|
1507 |
+
public function getOption($optionName, $default = null)
|
1508 |
+
{
|
1509 |
+
$prefixedOptionName = $this->prefix($optionName); // how it is stored in DB
|
1510 |
+
$retVal = get_option($prefixedOptionName);
|
1511 |
+
if (!$retVal && $default) {
|
1512 |
+
$retVal = $default;
|
1513 |
+
}
|
1514 |
+
return $retVal;
|
1515 |
+
}
|
1516 |
+
|
1517 |
+
/**
|
1518 |
+
* @param $roleName string a standard WP role name like 'Administrator'
|
1519 |
+
* @return bool
|
1520 |
+
*/
|
1521 |
+
public function isUserRoleEqualOrBetterThan($roleName)
|
1522 |
+
{
|
1523 |
+
if ('Anyone' == $roleName) {
|
1524 |
+
return true;
|
1525 |
+
}
|
1526 |
+
$capability = $this->roleToCapability($roleName);
|
1527 |
+
return $this->checkUserCapability($capability);
|
1528 |
+
}
|
1529 |
+
|
1530 |
+
/**
|
1531 |
+
* Given a WP role name, return a WP capability which only that role and roles above it have
|
1532 |
+
* http://codex.wordpress.org/Roles_and_Capabilities
|
1533 |
+
* @param $roleName
|
1534 |
+
* @return string a WP capability or '' if unknown input role
|
1535 |
+
*/
|
1536 |
+
protected function roleToCapability($roleName)
|
1537 |
+
{
|
1538 |
+
switch ($roleName) {
|
1539 |
+
case 'Super Admin':
|
1540 |
+
return 'manage_options';
|
1541 |
+
case 'Administrator':
|
1542 |
+
return 'manage_options';
|
1543 |
+
case 'Editor':
|
1544 |
+
return 'publish_pages';
|
1545 |
+
case 'Author':
|
1546 |
+
return 'publish_posts';
|
1547 |
+
case 'Contributor':
|
1548 |
+
return 'edit_posts';
|
1549 |
+
case 'Subscriber':
|
1550 |
+
return 'read';
|
1551 |
+
case 'Anyone':
|
1552 |
+
return 'read';
|
1553 |
+
}
|
1554 |
+
return '';
|
1555 |
+
}
|
1556 |
+
|
1557 |
+
/**
|
1558 |
+
* Checks if a particular user has a given capability without calling current_user_can.
|
1559 |
+
* Returns true if a match was found.
|
1560 |
+
*
|
1561 |
+
* @param string $capability Capability name.
|
1562 |
+
* @param int $user_id (Optional) The ID of a user. Defaults to the current user.
|
1563 |
+
* @return bool
|
1564 |
+
*/
|
1565 |
+
function checkUserCapability($capability, $user_id = null)
|
1566 |
+
{
|
1567 |
+
if (!is_numeric($user_id)) {
|
1568 |
+
$user_id = wp_get_current_user();
|
1569 |
+
}
|
1570 |
+
if (is_numeric($user_id)) {
|
1571 |
+
$user = get_userdata($user_id);
|
1572 |
+
} else {
|
1573 |
+
return false;
|
1574 |
+
}
|
1575 |
+
$capabilities = (array)$user->allcaps;
|
1576 |
+
return empty($user) ? false : isset($capabilities["{$capability}"]) ? $capabilities["{$capability}"] : false;
|
1577 |
+
}
|
1578 |
+
|
1579 |
+
|
1580 |
+
|
1581 |
+
|
1582 |
+
private function plugin_display($plugin)
|
1583 |
+
{
|
1584 |
+
|
1585 |
+
|
1586 |
+
$links['Delete'] = admin_url() . "admin.php?page=" . $this->getSettingsSlug() . "&delete={$plugin['Name']}";
|
1587 |
+
|
1588 |
+
$glyph = 'warning-sign';
|
1589 |
+
if (!$plugin['active']) {
|
1590 |
+
$glyph = 'exclamation-sign';
|
1591 |
+
$links['Activate'] = admin_url() . "admin.php?page=" . $this->getSettingsSlug() . "&activate={$plugin['Name']}";
|
1592 |
+
} else {
|
1593 |
+
$glyph = 'ok';
|
1594 |
+
$links['Deactivate'] = admin_url() . "admin.php?page=" . $this->getSettingsSlug() . "&deactivate={$plugin['Name']}";
|
1595 |
+
if (isset($plugin['config_url'])) {
|
1596 |
+
$links['Configure'] = $plugin['config_url'];
|
1597 |
+
}
|
1598 |
+
}
|
1599 |
+
|
1600 |
+
|
1601 |
+
$link_html = "";
|
1602 |
+
foreach ($links as $name => $href) {
|
1603 |
+
$link_html .= <<<HTML
|
1604 |
+
<a href="{$href}">$name</a> |
|
1605 |
+
HTML;
|
1606 |
+
}
|
1607 |
+
|
1608 |
+
$link_html = trim($link_html, " |");
|
1609 |
+
|
1610 |
+
|
1611 |
+
return <<<HTML
|
1612 |
+
<div class="optimization-item">
|
1613 |
+
<div style="float:left;width:44px;font-size:36px">
|
1614 |
+
<span class="glyphicon glyphicon-{$glyph}"></span>
|
1615 |
+
</div>
|
1616 |
+
<div style="float:left;">
|
1617 |
+
<b>{$plugin['Name']}</b><br>
|
1618 |
+
</div>
|
1619 |
+
<div style="clear:both;">
|
1620 |
+
<p>{$plugin['Description']}</p>
|
1621 |
+
</div>
|
1622 |
+
<div>
|
1623 |
+
{$link_html}
|
1624 |
+
</div>
|
1625 |
+
</div>
|
1626 |
+
HTML;
|
1627 |
+
|
1628 |
+
}
|
1629 |
+
|
1630 |
+
|
1631 |
+
protected function is_a2(){
|
1632 |
+
if( is_dir("/opt/a2-optimized") ){
|
1633 |
+
return true;
|
1634 |
+
}
|
1635 |
+
return false;
|
1636 |
+
}
|
1637 |
+
|
1638 |
+
function get_plugin_description()
|
1639 |
+
{
|
1640 |
+
|
1641 |
+
$description = <<<HTML
|
1642 |
+
|
1643 |
+
HTML;
|
1644 |
+
|
1645 |
+
|
1646 |
+
return $description;
|
1647 |
+
}
|
1648 |
+
}
|
A2_Optimized_Plugin.php
ADDED
@@ -0,0 +1,735 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Author: Benjamin Cool
|
5 |
+
Author URI: https://www.a2hosting.com/
|
6 |
+
License: GPLv2 or Later
|
7 |
+
*/
|
8 |
+
|
9 |
+
include_once('A2_Optimized_OptionsManager.php');
|
10 |
+
|
11 |
+
|
12 |
+
class A2_Optimized_Plugin extends A2_Optimized_OptionsManager {
|
13 |
+
|
14 |
+
const optionInstalled = '_installed';
|
15 |
+
const optionVersion = '_version';
|
16 |
+
private $config_pages = array(
|
17 |
+
'w3tc_dashboard',
|
18 |
+
'w3tc_general',
|
19 |
+
'w3tc_pgcache',
|
20 |
+
'w3tc_minify',
|
21 |
+
'w3tc_dbcache',
|
22 |
+
'w3tc_objectcache',
|
23 |
+
'w3tc_browsercache',
|
24 |
+
'w3tc_mobile',
|
25 |
+
'w3tc_mobile',
|
26 |
+
'w3tc_referer',
|
27 |
+
'w3tc_cdn',
|
28 |
+
'w3tc_monitoring',
|
29 |
+
'w3tc_extensions',
|
30 |
+
'w3tc_install',
|
31 |
+
'w3tc_about',
|
32 |
+
'w3tc_faq'
|
33 |
+
);
|
34 |
+
|
35 |
+
//list of plugins that may conflict, displays a notice on installation of these plugins
|
36 |
+
private $incompatible_plugins = array(
|
37 |
+
'wp-super-cache',
|
38 |
+
'wp-fastest-cache',
|
39 |
+
'wp-file-cache',
|
40 |
+
'better-wp-security',
|
41 |
+
'wordfence'
|
42 |
+
);
|
43 |
+
|
44 |
+
public function install() {
|
45 |
+
|
46 |
+
// Initialize Plugin Options
|
47 |
+
$this->initOptions();
|
48 |
+
|
49 |
+
// Initialize DB Tables used by the plugin
|
50 |
+
$this->installDatabaseTables();
|
51 |
+
|
52 |
+
// Other Plugin initialization - for the plugin writer to override as needed
|
53 |
+
//$this->otherInstall();
|
54 |
+
|
55 |
+
// Record the installed version
|
56 |
+
$this->saveInstalledVersion();
|
57 |
+
|
58 |
+
// To avoid running install() more then once
|
59 |
+
$this->markAsInstalled();
|
60 |
+
}
|
61 |
+
|
62 |
+
protected function initOptions() {
|
63 |
+
$options = $this->getOptionMetaData();
|
64 |
+
if (!empty($options)) {
|
65 |
+
foreach ($options as $key => $arr) {
|
66 |
+
if (is_array($arr) && count($arr) > 1) {
|
67 |
+
$this->addOption($key, $arr[1]);
|
68 |
+
}
|
69 |
+
}
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
public function getOptionMetaData()
|
74 |
+
{
|
75 |
+
// http://plugin.michael-simpson.com/?page_id=31
|
76 |
+
return array(
|
77 |
+
//'_version' => array('Installed Version'), // Leave this one commented-out. Uncomment to test upgrades.
|
78 |
+
'recaptcha' => array('reCaptcha'),
|
79 |
+
//'ATextInput' => array(__('Enter in some text', 'my-awesome-plugin')),
|
80 |
+
//'CanSeeSubmitData' => array(__('Can See Submission data', 'my-awesome-plugin'),
|
81 |
+
// 'Administrator', 'Editor', 'Author', 'Contributor', 'Subscriber', 'Anyone')
|
82 |
+
);
|
83 |
+
}
|
84 |
+
|
85 |
+
protected function installDatabaseTables()
|
86 |
+
{
|
87 |
+
// global $wpdb;
|
88 |
+
// $tableName = $this->prefixTableName('mytable');
|
89 |
+
// $wpdb->query("CREATE TABLE IF NOT EXISTS `$tableName` (
|
90 |
+
// `id` INTEGER NOT NULL");
|
91 |
+
}
|
92 |
+
|
93 |
+
protected function saveInstalledVersion()
|
94 |
+
{
|
95 |
+
$this->setVersionSaved($this->getVersion());
|
96 |
+
}
|
97 |
+
|
98 |
+
protected function setVersionSaved($version)
|
99 |
+
{
|
100 |
+
return $this->updateOption(self::optionVersion, $version);
|
101 |
+
}
|
102 |
+
|
103 |
+
public function getVersion()
|
104 |
+
{
|
105 |
+
return $this->getPluginHeaderValue('Version');
|
106 |
+
}
|
107 |
+
|
108 |
+
public function getPluginHeaderValue($key)
|
109 |
+
{
|
110 |
+
// Read the string from the comment header of the main plugin file
|
111 |
+
$data = file_get_contents($this->getPluginDir() . DIRECTORY_SEPARATOR . $this->getMainPluginFileName());
|
112 |
+
$match = array();
|
113 |
+
preg_match('/' . $key . ':\s*(\S+)/', $data, $match);
|
114 |
+
if (count($match) >= 1) {
|
115 |
+
return $match[1];
|
116 |
+
}
|
117 |
+
return null;
|
118 |
+
}
|
119 |
+
|
120 |
+
protected function getPluginDir()
|
121 |
+
{
|
122 |
+
return dirname(__FILE__);
|
123 |
+
}
|
124 |
+
|
125 |
+
protected function getMainPluginFileName()
|
126 |
+
{
|
127 |
+
return 'a2-optimized.php';
|
128 |
+
}
|
129 |
+
|
130 |
+
protected function markAsInstalled()
|
131 |
+
{
|
132 |
+
return $this->updateOption(self::optionInstalled, true);
|
133 |
+
}
|
134 |
+
|
135 |
+
public function uninstall()
|
136 |
+
{
|
137 |
+
$this->markAsUnInstalled();
|
138 |
+
}
|
139 |
+
|
140 |
+
protected function markAsUnInstalled()
|
141 |
+
{
|
142 |
+
return $this->deleteOption(self::optionInstalled);
|
143 |
+
}
|
144 |
+
|
145 |
+
public function activate(){
|
146 |
+
touch(ABSPATH.'403.shtml');
|
147 |
+
$this->write_htaccess();
|
148 |
+
}
|
149 |
+
|
150 |
+
public function deactivate(){
|
151 |
+
|
152 |
+
//remove lines from .htaccess
|
153 |
+
|
154 |
+
$htaccess = file_get_contents(ABSPATH.'.htaccess');
|
155 |
+
|
156 |
+
$pattern = "/[\r\n]*# BEGIN WordPress Hardening.*# END WordPress Hardening[\r\n]*/msiU";
|
157 |
+
$htaccess = preg_replace($pattern,'',$htaccess);
|
158 |
+
|
159 |
+
//Write the rules to .htaccess
|
160 |
+
$fp = fopen(ABSPATH.'.htaccess', "c");
|
161 |
+
|
162 |
+
if (flock($fp, LOCK_EX)) {
|
163 |
+
ftruncate($fp, 0); // truncate file
|
164 |
+
fwrite($fp, $htaccess);
|
165 |
+
fflush($fp); // flush output before releasing the lock
|
166 |
+
flock($fp, LOCK_UN); // release the lock
|
167 |
+
}
|
168 |
+
else{
|
169 |
+
//no file lock :(
|
170 |
+
}
|
171 |
+
}
|
172 |
+
|
173 |
+
public function upgrade() {
|
174 |
+
|
175 |
+
}
|
176 |
+
|
177 |
+
function update_notice() {
|
178 |
+
global $code_version, $saved_version;
|
179 |
+
echo<<<HTML
|
180 |
+
<div class="updated">
|
181 |
+
<p>
|
182 |
+
HTML;
|
183 |
+
_e( "A2 Optimized has been Updated from {$saved_version} to {$code_version} !", 'a2-text-domain' );
|
184 |
+
echo<<<HTML
|
185 |
+
</p>
|
186 |
+
</div>
|
187 |
+
HTML;
|
188 |
+
}
|
189 |
+
|
190 |
+
public function login_captcha(){
|
191 |
+
|
192 |
+
if (file_exists("/opt/a2-optimized/wordpress/recaptchalib.php")) {
|
193 |
+
include_once("/opt/a2-optimized/wordpress/recaptchalib.php");
|
194 |
+
|
195 |
+
$a2_recaptcha = $this->getOption('recaptcha');
|
196 |
+
if ($a2_recaptcha == 1) {
|
197 |
+
$key = $this->get_public_key();
|
198 |
+
if (!is_null($key)) {
|
199 |
+
$captcha = a2recaptcha_get_html($key, null, true);
|
200 |
+
echo <<<HTML
|
201 |
+
<style>
|
202 |
+
#recaptcha_area, #recaptcha_table{
|
203 |
+
margin-left: -12px !important;
|
204 |
+
}
|
205 |
+
</style>
|
206 |
+
|
207 |
+
{$captcha}
|
208 |
+
HTML;
|
209 |
+
}
|
210 |
+
}
|
211 |
+
}
|
212 |
+
}
|
213 |
+
|
214 |
+
protected function get_public_key()
|
215 |
+
{
|
216 |
+
|
217 |
+
if ($key = get_option("a2_recaptcha_pubkey", false)) {
|
218 |
+
return $key;
|
219 |
+
}
|
220 |
+
if (file_exists("/opt/a2-optimized/wordpress/pubkey")) {
|
221 |
+
return file_get_contents("/opt/a2-optimized/wordpress/pubkey");
|
222 |
+
}
|
223 |
+
|
224 |
+
return null;
|
225 |
+
}
|
226 |
+
|
227 |
+
public function comment_captcha(){
|
228 |
+
if(!$this->checkUserCapability('moderate_comments', get_current_user_id() )){
|
229 |
+
if (file_exists("/opt/a2-optimized/wordpress/recaptchalib.php")) {
|
230 |
+
include_once("/opt/a2-optimized/wordpress/recaptchalib.php");
|
231 |
+
|
232 |
+
$a2_recaptcha = $this->getOption('recaptcha');
|
233 |
+
if ($a2_recaptcha == 1) {
|
234 |
+
|
235 |
+
$key = $this->get_public_key();
|
236 |
+
if (!is_null($key)) {
|
237 |
+
$captcha = a2recaptcha_get_html($key, null, true);
|
238 |
+
echo <<<HTML
|
239 |
+
<style>
|
240 |
+
#recaptcha_area{
|
241 |
+
margin: 10px auto !important;
|
242 |
+
}
|
243 |
+
</style>
|
244 |
+
|
245 |
+
{$captcha}
|
246 |
+
HTML;
|
247 |
+
}
|
248 |
+
}
|
249 |
+
}
|
250 |
+
}
|
251 |
+
}
|
252 |
+
|
253 |
+
public function captcha_authenticate($user, $username, $password)
|
254 |
+
{
|
255 |
+
|
256 |
+
if ($username != '' && !(defined('XMLRPC_REQUEST') && XMLRPC_REQUEST)) {
|
257 |
+
$a2_recaptcha = $this->getOption('recaptcha');
|
258 |
+
if ($a2_recaptcha == 1) {
|
259 |
+
if (file_exists("/opt/a2-optimized/wordpress/recaptchalib.php")) {
|
260 |
+
include_once("/opt/a2-optimized/wordpress/recaptchalib.php");
|
261 |
+
$privatekey = $this->get_private_key();
|
262 |
+
if (!is_null($privatekey)) {
|
263 |
+
$resp = a2recaptcha_check_answer($privatekey,
|
264 |
+
$_SERVER["REMOTE_ADDR"],
|
265 |
+
$_POST["recaptcha_challenge_field"],
|
266 |
+
$_POST["recaptcha_response_field"]);
|
267 |
+
|
268 |
+
if (!empty($username)) {
|
269 |
+
if (!$resp->is_valid) {
|
270 |
+
remove_filter('authenticate', 'wp_authenticate_username_password', 20);
|
271 |
+
//wp_die("<strong>The reCAPTCHA wasn't entered correctly. Go back and try it again.</strong>: (reCAPTCHA said: {$resp->error})");
|
272 |
+
return new WP_Error('recaptcha_error', "<strong>The reCAPTCHA wasn't entered correctly. Please try it again.</strong>");
|
273 |
+
}
|
274 |
+
}
|
275 |
+
}
|
276 |
+
}
|
277 |
+
}
|
278 |
+
}
|
279 |
+
}
|
280 |
+
|
281 |
+
protected function get_private_key()
|
282 |
+
{
|
283 |
+
if (file_exists("/opt/a2-optimized/wordpress/privkey")) {
|
284 |
+
return file_get_contents("/opt/a2-optimized/wordpress/privkey");
|
285 |
+
}
|
286 |
+
if ($key = get_option("a2_recaptcha_privkey", false)) {
|
287 |
+
return $key;
|
288 |
+
}
|
289 |
+
return null;
|
290 |
+
}
|
291 |
+
|
292 |
+
public function captcha_comment_authenticate($commentdata)
|
293 |
+
{
|
294 |
+
if (!$this->checkUserCapability('moderate_comments', get_current_user_id()) && !(defined('XMLRPC_REQUEST') && XMLRPC_REQUEST)) {
|
295 |
+
if (file_exists("/opt/a2-optimized/wordpress/recaptchalib.php")) {
|
296 |
+
include_once("/opt/a2-optimized/wordpress/recaptchalib.php");
|
297 |
+
|
298 |
+
|
299 |
+
$a2_recaptcha = $this->getOption('recaptcha');
|
300 |
+
if ($a2_recaptcha == 1) {
|
301 |
+
$privatekey = $this->get_private_key();
|
302 |
+
if (!is_null($privatekey)) {
|
303 |
+
$resp = a2recaptcha_check_answer($privatekey,
|
304 |
+
$_SERVER["REMOTE_ADDR"],
|
305 |
+
$_POST["recaptcha_challenge_field"],
|
306 |
+
$_POST["recaptcha_response_field"]);
|
307 |
+
|
308 |
+
if (!empty($commentdata)) {
|
309 |
+
if (!$resp->is_valid) {
|
310 |
+
wp_die("<strong>The reCAPTCHA wasn't entered correctly. Please use your browsers back button and try again.</strong>");
|
311 |
+
}
|
312 |
+
} else {
|
313 |
+
wp_die("<strong>There was an error. Please try again.</strong>");
|
314 |
+
}
|
315 |
+
}
|
316 |
+
}
|
317 |
+
}
|
318 |
+
}
|
319 |
+
return $commentdata;
|
320 |
+
}
|
321 |
+
|
322 |
+
public function permalink_changed()
|
323 |
+
{
|
324 |
+
|
325 |
+
$cookie = "";
|
326 |
+
foreach ($_COOKIE as $name => $val) {
|
327 |
+
$cookie .= "{$name}={$val};";
|
328 |
+
}
|
329 |
+
rtrim($cookie, ';');
|
330 |
+
$ch = curl_init();
|
331 |
+
curl_setopt($ch, CURLOPT_URL, get_admin_url() . 'admin.php?page=A2_Optimized_Plugin_admin');
|
332 |
+
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
|
333 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
|
334 |
+
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
335 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
336 |
+
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
|
337 |
+
curl_setopt($ch, CURLOPT_REFERER, get_admin_url());
|
338 |
+
$result = curl_exec($ch);
|
339 |
+
curl_close($ch);
|
340 |
+
|
341 |
+
}
|
342 |
+
|
343 |
+
public function addActionsAndFilters()
|
344 |
+
{
|
345 |
+
|
346 |
+
add_action('permalink_structure_changed', array(&$this, 'permalink_changed'));
|
347 |
+
|
348 |
+
$date = date("Y-m-d");
|
349 |
+
if (strpos($_SERVER['REQUEST_URI'], "login-{$date}") > 0) {
|
350 |
+
add_action('template_redirect', array(&$this, 'get_moved_login'));
|
351 |
+
}
|
352 |
+
|
353 |
+
|
354 |
+
add_filter( 'allow_minor_auto_core_updates', '__return_true' );
|
355 |
+
add_filter('auto_update_translation', '__return_true');
|
356 |
+
/*add_filter( 'allow_major_auto_core_updates', '__return_true' );
|
357 |
+
add_filter( 'allow_minor_auto_core_updates', '__return_true' );
|
358 |
+
add_filter( 'auto_update_plugin', '__return_true' );
|
359 |
+
add_filter( 'auto_update_theme', '__return_true' );
|
360 |
+
add_filter( 'auto_update_translation', '__return_true' );
|
361 |
+
*/
|
362 |
+
|
363 |
+
|
364 |
+
if (is_admin()) {
|
365 |
+
add_filter('admin_init', array(&$this, 'admin_init'));
|
366 |
+
add_action('admin_bar_menu', array(&$this, 'addAdminBar'), 8374);
|
367 |
+
add_action('admin_menu', array(&$this, 'addSettingsSubMenuPage'));
|
368 |
+
if (defined('DISALLOW_FILE_EDIT') && DISALLOW_FILE_EDIT) {
|
369 |
+
add_action('admin_menu', array(&$this, 'addLockedEditor'), 100, 100);
|
370 |
+
}
|
371 |
+
add_action('admin_print_styles', array(&$this, 'myStyleSheet'));
|
372 |
+
add_action('wp_dashboard_setup', array(&$this, 'dashboard_widget'));
|
373 |
+
$a2_plugin_basename = plugin_basename($GLOBALS['A2_Plugin_Dir'] . '/a2-optimized.php');
|
374 |
+
add_filter("plugin_action_links_{$a2_plugin_basename}", array(&$this, 'plugin_settings_link'));
|
375 |
+
}
|
376 |
+
|
377 |
+
|
378 |
+
if (get_option('A2_Optimized_Plugin_recaptcha', 0) == 1 && !is_admin()) {
|
379 |
+
add_action('woocommerce_login_form', array(&$this, 'login_captcha'));
|
380 |
+
add_action('login_form', array(&$this, 'login_captcha'));
|
381 |
+
add_filter('authenticate', array(&$this, 'captcha_authenticate'), 1, 3);
|
382 |
+
add_action('comment_form_after_fields', array(&$this, 'comment_captcha'));
|
383 |
+
add_filter('preprocess_comment', array(&$this, 'captcha_comment_authenticate'), 1, 3);
|
384 |
+
}
|
385 |
+
|
386 |
+
|
387 |
+
}
|
388 |
+
|
389 |
+
public function plugin_settings_link($links)
|
390 |
+
{
|
391 |
+
$settings_link = '<a href="admin.php?page=A2_Optimized_Plugin_admin">Settings</a>';
|
392 |
+
array_unshift($links, $settings_link);
|
393 |
+
return $links;
|
394 |
+
}
|
395 |
+
|
396 |
+
public function get_moved_login()
|
397 |
+
{
|
398 |
+
wp_redirect(wp_login_url(), 302);
|
399 |
+
exit();
|
400 |
+
}
|
401 |
+
|
402 |
+
public function myStyleSheet()
|
403 |
+
{
|
404 |
+
wp_enqueue_style('a2-optimized-css', plugins_url('/assets/css/style.css',__FILE__));
|
405 |
+
}
|
406 |
+
|
407 |
+
/**
|
408 |
+
* Add a widget to the dashboard.
|
409 |
+
*
|
410 |
+
* This function is hooked into the 'wp_dashboard_setup' action below.
|
411 |
+
*/
|
412 |
+
public function dashboard_widget()
|
413 |
+
{
|
414 |
+
|
415 |
+
$logo_url = plugins_url() . "/a2-optimized-wp/assets/images/a2optimized.png";
|
416 |
+
|
417 |
+
wp_add_dashboard_widget(
|
418 |
+
'a2_optimized', // Widget slug.
|
419 |
+
"<a href=\"admin.php?page=A2_Optimized_Plugin_admin\"><img src=\"{$logo_url}\" /></a>", // Title.
|
420 |
+
array(&$this, 'a2_dashboard_widget') // Display function.
|
421 |
+
);
|
422 |
+
|
423 |
+
wp_add_dashboard_widget(
|
424 |
+
'a2_optimized_kb', // Widget slug.
|
425 |
+
"Have any questions? Search the A2 Hosting Knowledge Base for answers.", // Title.
|
426 |
+
array(&$this, 'kb_dashboard_widget') // Display function.
|
427 |
+
);
|
428 |
+
|
429 |
+
//force the widget to the top of the dashboard
|
430 |
+
|
431 |
+
|
432 |
+
global $wp_meta_boxes;
|
433 |
+
|
434 |
+
// Get the regular dashboard widgets array
|
435 |
+
// (which has our new widget already but at the end)
|
436 |
+
|
437 |
+
unset($wp_meta_boxes['dashboard']['normal']['core']['wp_welcome_widget']);
|
438 |
+
|
439 |
+
$normal_dashboard = $wp_meta_boxes['dashboard']['normal']['core'];
|
440 |
+
// Backup and delete our new dashboard widget from the end of the array
|
441 |
+
$example_widget_backup = array('a2_optimized' => $normal_dashboard['a2_optimized'], 'a2_optimized_kb' => $normal_dashboard['a2_optimized_kb']);
|
442 |
+
|
443 |
+
|
444 |
+
// Merge the two arrays together so our widget is at the beginning
|
445 |
+
$sorted_dashboard = array_merge($example_widget_backup, $normal_dashboard);
|
446 |
+
// Save the sorted array back into the original metaboxes
|
447 |
+
$wp_meta_boxes['dashboard']['normal']['core'] = $sorted_dashboard;
|
448 |
+
}
|
449 |
+
|
450 |
+
/**
|
451 |
+
* Create the function to output the contents of our Dashboard Widget.
|
452 |
+
*/
|
453 |
+
public function a2_dashboard_widget()
|
454 |
+
{
|
455 |
+
// Display whatever it is you want to show.
|
456 |
+
|
457 |
+
|
458 |
+
echo <<<HTML
|
459 |
+
|
460 |
+
<div style="font-size:14px">
|
461 |
+
<p style="font-size:14px">A2 Optimized will automatically configure your WordPress site for speed and security.</p>
|
462 |
+
<p>
|
463 |
+
<a class="button button-primary" href="admin.php?page=A2_Optimized_Plugin_admin">Optimize Your Site</a>
|
464 |
+
</p>
|
465 |
+
|
466 |
+
<p style="font-size:14px">A2 Optimized includes these features.</p>
|
467 |
+
<ul style="list-style-type:disc;list-style-position:inside">
|
468 |
+
<li>Page caching</li>
|
469 |
+
<li>Database caching</li>
|
470 |
+
<li>CSS/JS/HTML minification</li>
|
471 |
+
<li>reCAPTCHA on comment and login forms</li>
|
472 |
+
<li>Move the login page</li>
|
473 |
+
<li>Image compression</li>
|
474 |
+
<li>Compress pages with gzip</li>
|
475 |
+
</ul>
|
476 |
+
|
477 |
+
<p style="font-size:14px">To learn more about the A2 Optimized WordPress plugin: read this <a target="_blank" href="http://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/optimizing-wordpress-with-the-a2-optimized-plugin">Knowledge Base article</a></p>
|
478 |
+
</div>
|
479 |
+
|
480 |
+
|
481 |
+
|
482 |
+
HTML;
|
483 |
+
}
|
484 |
+
|
485 |
+
public function kb_dashboard_widget()
|
486 |
+
{
|
487 |
+
echo <<<HTML
|
488 |
+
<p>
|
489 |
+
<a class="button button-primary" href="http://www.a2hosting.com/kb" target="_blank">Search the Knowledge Base</a>
|
490 |
+
</p>
|
491 |
+
HTML;
|
492 |
+
}
|
493 |
+
|
494 |
+
public function locked_files_notice()
|
495 |
+
{
|
496 |
+
echo <<<HTML
|
497 |
+
<div id="editing-locked" class="updated" >
|
498 |
+
<p ><b style="color:#00CC00">Editing of plugin and theme files</b> in the wp-admin is <b style="color:#00CC00">disabled</b> by A2 Optimized<br>
|
499 |
+
<b style="color:#00CC00">This is recommended for security reasons</b>. You can modify this setting on the <a href="admin.php?page=A2_Optimized_Plugin_admin">A2 Optimized Configuration page</a></p>
|
500 |
+
</div>
|
501 |
+
HTML;
|
502 |
+
}
|
503 |
+
|
504 |
+
public function recaptcha_installed_notice()
|
505 |
+
{
|
506 |
+
echo <<<HTML
|
507 |
+
<div id="recaptcha-installed" class="error" >
|
508 |
+
<p ><b style="color:#00CC00">A ReCaptacha plugin is installed.</b><br>
|
509 |
+
Disable and delete any plugins using reCaptcha to use the reCaptcha functionality built into A2 Optimized.
|
510 |
+
<br> </p>
|
511 |
+
</div>
|
512 |
+
HTML;
|
513 |
+
}
|
514 |
+
|
515 |
+
public function not_locked_files_notice()
|
516 |
+
{
|
517 |
+
echo <<<HTML
|
518 |
+
<div id="editing-locked" class="error" >
|
519 |
+
<p ><b style="color:red">Editing of plugin and theme files</b> in the wp-admin is <b style="color:red">enabled</b><br>
|
520 |
+
<b style="color:red">This is not recommended for security reasons</b>. You can modify this setting on the <a href="admin.php?page=A2_Optimized_Plugin_admin">A2 Optimized Configuration page</a></p>
|
521 |
+
</div>
|
522 |
+
HTML;
|
523 |
+
}
|
524 |
+
|
525 |
+
public function rwl_notice()
|
526 |
+
{
|
527 |
+
$rwl_page = get_option('rwl_page');
|
528 |
+
$home_page = get_home_url();
|
529 |
+
$admin_url = get_admin_url();
|
530 |
+
|
531 |
+
if ($a2_login_page = get_option('a2_login_page')) {//synch rwl_page and a2_login_page
|
532 |
+
if ($a2_login_page != $rwl_page) {
|
533 |
+
update_option('a2_login_page', $rwl_page);
|
534 |
+
}
|
535 |
+
} else {
|
536 |
+
update_option('a2_login_page', $rwl_page);
|
537 |
+
}
|
538 |
+
|
539 |
+
$link = wp_login_url();
|
540 |
+
|
541 |
+
if (!(strpos(get_option('a2_login_bookmarked', ''), $link) === 0)) {
|
542 |
+
echo <<<HTML
|
543 |
+
<div id="bookmark-login" class="updated" >
|
544 |
+
<p>Your login page is now here: <a href="{$link}" >{$link}</a>. Bookmark this page!</p>
|
545 |
+
</div>
|
546 |
+
HTML;
|
547 |
+
}
|
548 |
+
}
|
549 |
+
|
550 |
+
public function admin_init()
|
551 |
+
{
|
552 |
+
|
553 |
+
if (!$this->checkUserCapability('manage_options', get_current_user_id())) {
|
554 |
+
return false;
|
555 |
+
}
|
556 |
+
|
557 |
+
$active_plugins = get_option('active_plugins');
|
558 |
+
if (in_array('rename-wp-login/rename-wp-login.php', $active_plugins)) {
|
559 |
+
if ($rwl_page = get_option('rwl_page')) {
|
560 |
+
if ($rwl_page != '') {
|
561 |
+
add_action('admin_notices', array(&$this, 'rwl_notice'));
|
562 |
+
if ($a2_login_page = get_option('a2_login_page')) {
|
563 |
+
if ($a2_login_page != $rwl_page) {
|
564 |
+
update_option('a2_login_page', $rwl_page);
|
565 |
+
}
|
566 |
+
} else {
|
567 |
+
update_option('a2_login_page', $rwl_page);
|
568 |
+
}
|
569 |
+
}
|
570 |
+
}
|
571 |
+
}
|
572 |
+
|
573 |
+
|
574 |
+
if (isset($_GET['page']) && in_array($_GET['page'], $this->config_pages)) {
|
575 |
+
add_action('admin_notices', array(&$this, 'config_page_notice'));
|
576 |
+
}
|
577 |
+
|
578 |
+
if (isset($_GET['action']) && $_GET['action'] == 'install-plugin') {
|
579 |
+
if (isset($_GET['plugin']) && in_array($_GET['plugin'], $this->incompatible_plugins)) {
|
580 |
+
add_action('admin_notices', array(&$this, 'incompatible_plugin_notice'));
|
581 |
+
}
|
582 |
+
}
|
583 |
+
|
584 |
+
//we don't need this function anymore since the new reCaptcha is now compatible with other recaptcha plugins
|
585 |
+
//if(function_exists('recaptcha_get_html')){
|
586 |
+
//add_action( 'admin_notices', array(&$this,'recaptcha_installed_notice'));
|
587 |
+
//}
|
588 |
+
|
589 |
+
|
590 |
+
if (!(strpos($_SERVER['SCRIPT_FILENAME'], 'plugins.php') === false) && defined('DISALLOW_FILE_EDIT') && DISALLOW_FILE_EDIT) {
|
591 |
+
add_action('admin_notices', array(&$this, 'locked_files_notice'));
|
592 |
+
} else if (!(strpos($_SERVER['SCRIPT_FILENAME'], 'plugins.php') === false)) {
|
593 |
+
add_action('admin_notices', array(&$this, 'not_locked_files_notice'));
|
594 |
+
}
|
595 |
+
|
596 |
+
|
597 |
+
|
598 |
+
}
|
599 |
+
|
600 |
+
/**
|
601 |
+
* Puts the configuration page in the Plugins menu by default.
|
602 |
+
* Override to put it elsewhere or create a set of submenus
|
603 |
+
* Override with an empty implementation if you don't want a configuration page
|
604 |
+
* @return void
|
605 |
+
*/
|
606 |
+
public function addSettingsSubMenuPage()
|
607 |
+
{
|
608 |
+
$this->addSettingsSubMenuPageToMenu();
|
609 |
+
}
|
610 |
+
|
611 |
+
protected function addSettingsSubMenuPageToMenu()
|
612 |
+
{
|
613 |
+
$this->requireExtraPluginFiles();
|
614 |
+
$displayName = $this->getPluginDisplayName();
|
615 |
+
add_menu_page($displayName,
|
616 |
+
$displayName,
|
617 |
+
'manage_options',
|
618 |
+
$this->getSettingsSlug(),
|
619 |
+
array(&$this, 'settingsPage'), null, 3.14159265359);
|
620 |
+
}
|
621 |
+
|
622 |
+
protected function requireExtraPluginFiles()
|
623 |
+
{
|
624 |
+
//require_once(ABSPATH . 'wp-includes/pluggable.php');
|
625 |
+
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
626 |
+
}
|
627 |
+
|
628 |
+
public function getPluginDisplayName()
|
629 |
+
{
|
630 |
+
return 'A2 Optimized';
|
631 |
+
}
|
632 |
+
|
633 |
+
protected function getSettingsSlug()
|
634 |
+
{
|
635 |
+
return get_class($this) . '_admin';
|
636 |
+
}
|
637 |
+
|
638 |
+
public function addAdminBar()
|
639 |
+
{
|
640 |
+
$this->requireExtraPluginFiles();
|
641 |
+
global $wp_admin_bar;
|
642 |
+
|
643 |
+
if (current_user_can('manage_options')) {
|
644 |
+
$wp_admin_bar->add_node(array(
|
645 |
+
'id' => 'a2-optimized-admin-bar',
|
646 |
+
'title' => 'A2 Optimized',
|
647 |
+
'href' => admin_url('admin.php?page=' . $this->getSettingsSlug())
|
648 |
+
));
|
649 |
+
}
|
650 |
+
}
|
651 |
+
|
652 |
+
public function addLockedEditor()
|
653 |
+
{
|
654 |
+
$this->requireExtraPluginFiles();
|
655 |
+
add_theme_page('<span style="color:red !important">Editor Locked</span>', '<span style="color:red !important">Editor Locked</span>', 'manage_options', 'editor-locked', array(&$this, 'settingsPage'));
|
656 |
+
}
|
657 |
+
|
658 |
+
|
659 |
+
/**
|
660 |
+
* @return bool indicating if the plugin is installed already
|
661 |
+
*/
|
662 |
+
public function isInstalled()
|
663 |
+
{
|
664 |
+
return $this->getOption(self::optionInstalled) == true;
|
665 |
+
}
|
666 |
+
|
667 |
+
|
668 |
+
protected function get_recaptcha_public_key()
|
669 |
+
{
|
670 |
+
if (file_exists("/opt/a2-optimized/wordpress_encoded/pk.php")) {
|
671 |
+
return file_get_contents("/opt/a2-optimized/wordpress_encoded/pk.php");
|
672 |
+
}
|
673 |
+
if ($key = get_option("a2_recaptcha_pubkey")) {
|
674 |
+
return $key;
|
675 |
+
}
|
676 |
+
return null;
|
677 |
+
}
|
678 |
+
|
679 |
+
protected function addSettingsSubMenuPageToPluginsMenu()
|
680 |
+
{
|
681 |
+
$this->requireExtraPluginFiles();
|
682 |
+
$displayName = $this->getPluginDisplayName();
|
683 |
+
add_submenu_page('plugins.php',
|
684 |
+
$displayName,
|
685 |
+
$displayName,
|
686 |
+
'manage_options',
|
687 |
+
$this->getSettingsSlug(),
|
688 |
+
array(&$this, 'settingsPage'));
|
689 |
+
}
|
690 |
+
|
691 |
+
protected function addSettingsSubMenuPageToDashboard()
|
692 |
+
{
|
693 |
+
$this->requireExtraPluginFiles();
|
694 |
+
$displayName = $this->getPluginDisplayName();
|
695 |
+
add_dashboard_page($displayName,
|
696 |
+
$displayName,
|
697 |
+
'manage_options',
|
698 |
+
$this->getSettingsSlug(),
|
699 |
+
array(&$this, 'settingsPage'));
|
700 |
+
}
|
701 |
+
|
702 |
+
protected function addSettingsSubMenuPageToSettingsMenu()
|
703 |
+
{
|
704 |
+
$this->requireExtraPluginFiles();
|
705 |
+
$displayName = $this->getPluginDisplayName();
|
706 |
+
add_options_page($displayName,
|
707 |
+
$displayName,
|
708 |
+
'manage_options',
|
709 |
+
$this->getSettingsSlug(),
|
710 |
+
array(&$this, 'settingsPage'));
|
711 |
+
}
|
712 |
+
|
713 |
+
|
714 |
+
public function incompatible_plugin_notice()
|
715 |
+
{
|
716 |
+
echo <<<HTML
|
717 |
+
<div class="error">
|
718 |
+
<p class="danger">Proceed with caution: The Plugin you just installed may be incompatible with A2 Optimized.</p>
|
719 |
+
</div>
|
720 |
+
HTML;
|
721 |
+
|
722 |
+
}
|
723 |
+
|
724 |
+
public function config_page_notice()
|
725 |
+
{
|
726 |
+
echo <<<HTML
|
727 |
+
<div class="updated">
|
728 |
+
<p>This site has been configured using the A2 Optimized plugin. We, at A2 Hosting, have spent quite a bit of time figuring out the best set of options for this plugin; however, if you think you need to customize configuration: by all means... Continue. If you have arrived here by mistake, you may use the <a href="admin.php?page=A2_Optimized_Plugin_admin">A2 Optimized administration page to configure this plugin</a>.</p>
|
729 |
+
</div>
|
730 |
+
HTML;
|
731 |
+
|
732 |
+
}
|
733 |
+
|
734 |
+
|
735 |
+
}
|
a2-optimized.php
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
Plugin Name: A2 Optimized WP
|
4 |
+
Plugin URI: https://wordpress.org/plugins/a2-optimized/
|
5 |
+
Version: 2.0.1
|
6 |
+
Author: A2 Hosting
|
7 |
+
Author URI: https://www.a2hosting.com/
|
8 |
+
Description: A2 Optimized - WordPress Optimization Plugin
|
9 |
+
Text Domain: a2-optimized
|
10 |
+
License: GPLv2 or Later
|
11 |
+
*/
|
12 |
+
|
13 |
+
|
14 |
+
|
15 |
+
//////////////////////////////////
|
16 |
+
// Run initialization
|
17 |
+
/////////////////////////////////
|
18 |
+
|
19 |
+
|
20 |
+
class A2_Optimized {
|
21 |
+
function __construct() {
|
22 |
+
|
23 |
+
$A2_Optimized_minimalRequiredPhpVersion = '5.3.0';
|
24 |
+
|
25 |
+
if(version_compare(PHP_VERSION, $A2_Optimized_minimalRequiredPhpVersion) < 0) {
|
26 |
+
add_action('admin_notices', array(&$this,'A2_Optimized_noticePhpVersionWrong'));
|
27 |
+
return;
|
28 |
+
}
|
29 |
+
|
30 |
+
$GLOBALS['A2_Plugin_Dir'] = dirname(__FILE__);
|
31 |
+
|
32 |
+
require_once('A2_Optimized_Plugin.php');
|
33 |
+
require_once ABSPATH.'wp-admin/includes/plugin.php';
|
34 |
+
|
35 |
+
|
36 |
+
$a2Plugin = new A2_Optimized_Plugin();
|
37 |
+
|
38 |
+
// Install the plugin
|
39 |
+
if (!$a2Plugin->isInstalled()) {
|
40 |
+
$a2Plugin->install();
|
41 |
+
}
|
42 |
+
else {
|
43 |
+
// Perform any version-upgrade activities prior to activation (e.g. database changes)
|
44 |
+
$a2Plugin->upgrade();
|
45 |
+
}
|
46 |
+
|
47 |
+
// Add callbacks to hooks
|
48 |
+
$a2Plugin->addActionsAndFilters();
|
49 |
+
|
50 |
+
// Register the Plugin Activation Hook
|
51 |
+
register_activation_hook(__FILE__, array(&$a2Plugin, 'activate'));
|
52 |
+
|
53 |
+
// Register the Plugin Deactivation Hook
|
54 |
+
register_deactivation_hook(__FILE__, array(&$a2Plugin, 'deactivate'));
|
55 |
+
|
56 |
+
}
|
57 |
+
|
58 |
+
|
59 |
+
function A2_Optimized_noticePhpVersionWrong() {
|
60 |
+
global $A2_Optimized_minimalRequiredPhpVersion;
|
61 |
+
echo '<div class="updated fade">' .
|
62 |
+
__('Error: plugin "A2 Optimized" requires a newer version of PHP to be running.', 'a2-optimized').
|
63 |
+
'<br/>' . __('Minimal version of PHP required: ', 'a2-optimized') . '<strong>' . $A2_Optimized_minimalRequiredPhpVersion . '</strong>' .
|
64 |
+
'<br/>' . __('Your site is running PHP version: ', 'a2-optimized') . '<strong>' . phpversion() . '</strong>' .
|
65 |
+
'<br />'. __(' To learn how to change the version of php running on your site'). ' <a target="_blank" href="http://www.a2hosting.com/kb/cpanel/cpanel-software-and-services/php-version">'. __('read this Knowledge Base Article').'</a>.'.
|
66 |
+
'</div>';
|
67 |
+
}
|
68 |
+
|
69 |
+
}
|
70 |
+
|
71 |
+
$a2opt_class = new A2_Optimized();
|
assets/bootstrap/config.json
ADDED
@@ -0,0 +1,411 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"vars": {
|
3 |
+
"@gray-darker": "lighten(#000, 13.5%)",
|
4 |
+
"@gray-dark": "lighten(#000, 20%)",
|
5 |
+
"@gray": "lighten(#000, 33.5%)",
|
6 |
+
"@gray-light": "lighten(#000, 60%)",
|
7 |
+
"@gray-lighter": "lighten(#000, 93.5%)",
|
8 |
+
"@brand-primary": "#428bca",
|
9 |
+
"@brand-success": "#5cb85c",
|
10 |
+
"@brand-info": "#5bc0de",
|
11 |
+
"@brand-warning": "#f0ad4e",
|
12 |
+
"@brand-danger": "#d9534f",
|
13 |
+
"@body-bg": "#fff",
|
14 |
+
"@text-color": "@gray-dark",
|
15 |
+
"@link-color": "@brand-primary",
|
16 |
+
"@link-hover-color": "darken(@link-color, 15%)",
|
17 |
+
"@font-family-sans-serif": "\"Helvetica Neue\", Helvetica, Arial, sans-serif",
|
18 |
+
"@font-family-serif": "Georgia, \"Times New Roman\", Times, serif",
|
19 |
+
"@font-family-monospace": "Menlo, Monaco, Consolas, \"Courier New\", monospace",
|
20 |
+
"@font-family-base": "@font-family-sans-serif",
|
21 |
+
"@font-size-base": "14px",
|
22 |
+
"@font-size-large": "ceil((@font-size-base * 1.25))",
|
23 |
+
"@font-size-small": "ceil((@font-size-base * 0.85))",
|
24 |
+
"@font-size-h1": "floor((@font-size-base * 2.6))",
|
25 |
+
"@font-size-h2": "floor((@font-size-base * 2.15))",
|
26 |
+
"@font-size-h3": "ceil((@font-size-base * 1.7))",
|
27 |
+
"@font-size-h4": "ceil((@font-size-base * 1.25))",
|
28 |
+
"@font-size-h5": "@font-size-base",
|
29 |
+
"@font-size-h6": "ceil((@font-size-base * 0.85))",
|
30 |
+
"@line-height-base": "1.428571429",
|
31 |
+
"@line-height-computed": "floor((@font-size-base * @line-height-base))",
|
32 |
+
"@headings-font-family": "inherit",
|
33 |
+
"@headings-font-weight": "500",
|
34 |
+
"@headings-line-height": "1.1",
|
35 |
+
"@headings-color": "inherit",
|
36 |
+
"@padding-base-vertical": "6px",
|
37 |
+
"@padding-base-horizontal": "12px",
|
38 |
+
"@padding-large-vertical": "10px",
|
39 |
+
"@padding-large-horizontal": "16px",
|
40 |
+
"@padding-small-vertical": "5px",
|
41 |
+
"@padding-small-horizontal": "10px",
|
42 |
+
"@padding-xs-vertical": "1px",
|
43 |
+
"@padding-xs-horizontal": "5px",
|
44 |
+
"@line-height-large": "1.33",
|
45 |
+
"@line-height-small": "1.5",
|
46 |
+
"@border-radius-base": "4px",
|
47 |
+
"@border-radius-large": "6px",
|
48 |
+
"@border-radius-small": "3px",
|
49 |
+
"@component-active-color": "#fff",
|
50 |
+
"@component-active-bg": "@brand-primary",
|
51 |
+
"@caret-width-base": "4px",
|
52 |
+
"@caret-width-large": "5px",
|
53 |
+
"@table-cell-padding": "8px",
|
54 |
+
"@table-condensed-cell-padding": "5px",
|
55 |
+
"@table-bg": "transparent",
|
56 |
+
"@table-bg-accent": "#f9f9f9",
|
57 |
+
"@table-bg-hover": "#f5f5f5",
|
58 |
+
"@table-bg-active": "@table-bg-hover",
|
59 |
+
"@table-border-color": "#ddd",
|
60 |
+
"@btn-font-weight": "normal",
|
61 |
+
"@btn-default-color": "#333",
|
62 |
+
"@btn-default-bg": "#fff",
|
63 |
+
"@btn-default-border": "#ccc",
|
64 |
+
"@btn-primary-color": "#fff",
|
65 |
+
"@btn-primary-bg": "@brand-primary",
|
66 |
+
"@btn-primary-border": "darken(@btn-primary-bg, 5%)",
|
67 |
+
"@btn-success-color": "#fff",
|
68 |
+
"@btn-success-bg": "@brand-success",
|
69 |
+
"@btn-success-border": "darken(@btn-success-bg, 5%)",
|
70 |
+
"@btn-info-color": "#fff",
|
71 |
+
"@btn-info-bg": "@brand-info",
|
72 |
+
"@btn-info-border": "darken(@btn-info-bg, 5%)",
|
73 |
+
"@btn-warning-color": "#fff",
|
74 |
+
"@btn-warning-bg": "@brand-warning",
|
75 |
+
"@btn-warning-border": "darken(@btn-warning-bg, 5%)",
|
76 |
+
"@btn-danger-color": "#fff",
|
77 |
+
"@btn-danger-bg": "@brand-danger",
|
78 |
+
"@btn-danger-border": "darken(@btn-danger-bg, 5%)",
|
79 |
+
"@btn-link-disabled-color": "@gray-light",
|
80 |
+
"@input-bg": "#fff",
|
81 |
+
"@input-bg-disabled": "@gray-lighter",
|
82 |
+
"@input-color": "@gray",
|
83 |
+
"@input-border": "#ccc",
|
84 |
+
"@input-border-radius": "@border-radius-base",
|
85 |
+
"@input-border-focus": "#66afe9",
|
86 |
+
"@input-color-placeholder": "@gray-light",
|
87 |
+
"@input-height-base": "(@line-height-computed + (@padding-base-vertical * 2) + 2)",
|
88 |
+
"@input-height-large": "(ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2)",
|
89 |
+
"@input-height-small": "(floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2)",
|
90 |
+
"@legend-color": "@gray-dark",
|
91 |
+
"@legend-border-color": "#e5e5e5",
|
92 |
+
"@input-group-addon-bg": "@gray-lighter",
|
93 |
+
"@input-group-addon-border-color": "@input-border",
|
94 |
+
"@dropdown-bg": "#fff",
|
95 |
+
"@dropdown-border": "rgba(0,0,0,.15)",
|
96 |
+
"@dropdown-fallback-border": "#ccc",
|
97 |
+
"@dropdown-divider-bg": "#e5e5e5",
|
98 |
+
"@dropdown-link-color": "@gray-dark",
|
99 |
+
"@dropdown-link-hover-color": "darken(@gray-dark, 5%)",
|
100 |
+
"@dropdown-link-hover-bg": "#f5f5f5",
|
101 |
+
"@dropdown-link-active-color": "@component-active-color",
|
102 |
+
"@dropdown-link-active-bg": "@component-active-bg",
|
103 |
+
"@dropdown-link-disabled-color": "@gray-light",
|
104 |
+
"@dropdown-header-color": "@gray-light",
|
105 |
+
"@dropdown-caret-color": "#000",
|
106 |
+
"@screen-xs": "480px",
|
107 |
+
"@screen-xs-min": "@screen-xs",
|
108 |
+
"@screen-phone": "@screen-xs-min",
|
109 |
+
"@screen-sm": "768px",
|
110 |
+
"@screen-sm-min": "@screen-sm",
|
111 |
+
"@screen-tablet": "@screen-sm-min",
|
112 |
+
"@screen-md": "992px",
|
113 |
+
"@screen-md-min": "@screen-md",
|
114 |
+
"@screen-desktop": "@screen-md-min",
|
115 |
+
"@screen-lg": "1200px",
|
116 |
+
"@screen-lg-min": "@screen-lg",
|
117 |
+
"@screen-lg-desktop": "@screen-lg-min",
|
118 |
+
"@screen-xs-max": "(@screen-sm-min - 1)",
|
119 |
+
"@screen-sm-max": "(@screen-md-min - 1)",
|
120 |
+
"@screen-md-max": "(@screen-lg-min - 1)",
|
121 |
+
"@grid-columns": "12",
|
122 |
+
"@grid-gutter-width": "30px",
|
123 |
+
"@grid-float-breakpoint": "@screen-sm-min",
|
124 |
+
"@grid-float-breakpoint-max": "(@grid-float-breakpoint - 1)",
|
125 |
+
"@container-tablet": "((720px + @grid-gutter-width))",
|
126 |
+
"@container-sm": "@container-tablet",
|
127 |
+
"@container-desktop": "((940px + @grid-gutter-width))",
|
128 |
+
"@container-md": "@container-desktop",
|
129 |
+
"@container-large-desktop": "((1140px + @grid-gutter-width))",
|
130 |
+
"@container-lg": "@container-large-desktop",
|
131 |
+
"@navbar-height": "50px",
|
132 |
+
"@navbar-margin-bottom": "@line-height-computed",
|
133 |
+
"@navbar-border-radius": "@border-radius-base",
|
134 |
+
"@navbar-padding-horizontal": "floor((@grid-gutter-width / 2))",
|
135 |
+
"@navbar-padding-vertical": "((@navbar-height - @line-height-computed) / 2)",
|
136 |
+
"@navbar-collapse-max-height": "340px",
|
137 |
+
"@navbar-default-color": "#777",
|
138 |
+
"@navbar-default-bg": "#f8f8f8",
|
139 |
+
"@navbar-default-border": "darken(@navbar-default-bg, 6.5%)",
|
140 |
+
"@navbar-default-link-color": "#777",
|
141 |
+
"@navbar-default-link-hover-color": "#333",
|
142 |
+
"@navbar-default-link-hover-bg": "transparent",
|
143 |
+
"@navbar-default-link-active-color": "#555",
|
144 |
+
"@navbar-default-link-active-bg": "darken(@navbar-default-bg, 6.5%)",
|
145 |
+
"@navbar-default-link-disabled-color": "#ccc",
|
146 |
+
"@navbar-default-link-disabled-bg": "transparent",
|
147 |
+
"@navbar-default-brand-color": "@navbar-default-link-color",
|
148 |
+
"@navbar-default-brand-hover-color": "darken(@navbar-default-brand-color, 10%)",
|
149 |
+
"@navbar-default-brand-hover-bg": "transparent",
|
150 |
+
"@navbar-default-toggle-hover-bg": "#ddd",
|
151 |
+
"@navbar-default-toggle-icon-bar-bg": "#888",
|
152 |
+
"@navbar-default-toggle-border-color": "#ddd",
|
153 |
+
"@navbar-inverse-color": "@gray-light",
|
154 |
+
"@navbar-inverse-bg": "#222",
|
155 |
+
"@navbar-inverse-border": "darken(@navbar-inverse-bg, 10%)",
|
156 |
+
"@navbar-inverse-link-color": "@gray-light",
|
157 |
+
"@navbar-inverse-link-hover-color": "#fff",
|
158 |
+
"@navbar-inverse-link-hover-bg": "transparent",
|
159 |
+
"@navbar-inverse-link-active-color": "@navbar-inverse-link-hover-color",
|
160 |
+
"@navbar-inverse-link-active-bg": "darken(@navbar-inverse-bg, 10%)",
|
161 |
+
"@navbar-inverse-link-disabled-color": "#444",
|
162 |
+
"@navbar-inverse-link-disabled-bg": "transparent",
|
163 |
+
"@navbar-inverse-brand-color": "@navbar-inverse-link-color",
|
164 |
+
"@navbar-inverse-brand-hover-color": "#fff",
|
165 |
+
"@navbar-inverse-brand-hover-bg": "transparent",
|
166 |
+
"@navbar-inverse-toggle-hover-bg": "#333",
|
167 |
+
"@navbar-inverse-toggle-icon-bar-bg": "#fff",
|
168 |
+
"@navbar-inverse-toggle-border-color": "#333",
|
169 |
+
"@nav-link-padding": "10px 15px",
|
170 |
+
"@nav-link-hover-bg": "@gray-lighter",
|
171 |
+
"@nav-disabled-link-color": "@gray-light",
|
172 |
+
"@nav-disabled-link-hover-color": "@gray-light",
|
173 |
+
"@nav-open-link-hover-color": "#fff",
|
174 |
+
"@nav-tabs-border-color": "#ddd",
|
175 |
+
"@nav-tabs-link-hover-border-color": "@gray-lighter",
|
176 |
+
"@nav-tabs-active-link-hover-bg": "@body-bg",
|
177 |
+
"@nav-tabs-active-link-hover-color": "@gray",
|
178 |
+
"@nav-tabs-active-link-hover-border-color": "#ddd",
|
179 |
+
"@nav-tabs-justified-link-border-color": "#ddd",
|
180 |
+
"@nav-tabs-justified-active-link-border-color": "@body-bg",
|
181 |
+
"@nav-pills-border-radius": "@border-radius-base",
|
182 |
+
"@nav-pills-active-link-hover-bg": "@component-active-bg",
|
183 |
+
"@nav-pills-active-link-hover-color": "@component-active-color",
|
184 |
+
"@pagination-color": "@link-color",
|
185 |
+
"@pagination-bg": "#fff",
|
186 |
+
"@pagination-border": "#ddd",
|
187 |
+
"@pagination-hover-color": "@link-hover-color",
|
188 |
+
"@pagination-hover-bg": "@gray-lighter",
|
189 |
+
"@pagination-hover-border": "#ddd",
|
190 |
+
"@pagination-active-color": "#fff",
|
191 |
+
"@pagination-active-bg": "@brand-primary",
|
192 |
+
"@pagination-active-border": "@brand-primary",
|
193 |
+
"@pagination-disabled-color": "@gray-light",
|
194 |
+
"@pagination-disabled-bg": "#fff",
|
195 |
+
"@pagination-disabled-border": "#ddd",
|
196 |
+
"@pager-bg": "@pagination-bg",
|
197 |
+
"@pager-border": "@pagination-border",
|
198 |
+
"@pager-border-radius": "15px",
|
199 |
+
"@pager-hover-bg": "@pagination-hover-bg",
|
200 |
+
"@pager-active-bg": "@pagination-active-bg",
|
201 |
+
"@pager-active-color": "@pagination-active-color",
|
202 |
+
"@pager-disabled-color": "@pagination-disabled-color",
|
203 |
+
"@jumbotron-padding": "30px",
|
204 |
+
"@jumbotron-color": "inherit",
|
205 |
+
"@jumbotron-bg": "@gray-lighter",
|
206 |
+
"@jumbotron-heading-color": "inherit",
|
207 |
+
"@jumbotron-font-size": "ceil((@font-size-base * 1.5))",
|
208 |
+
"@state-success-text": "#3c763d",
|
209 |
+
"@state-success-bg": "#dff0d8",
|
210 |
+
"@state-success-border": "darken(spin(@state-success-bg, -10), 5%)",
|
211 |
+
"@state-info-text": "#31708f",
|
212 |
+
"@state-info-bg": "#d9edf7",
|
213 |
+
"@state-info-border": "darken(spin(@state-info-bg, -10), 7%)",
|
214 |
+
"@state-warning-text": "#8a6d3b",
|
215 |
+
"@state-warning-bg": "#fcf8e3",
|
216 |
+
"@state-warning-border": "darken(spin(@state-warning-bg, -10), 5%)",
|
217 |
+
"@state-danger-text": "#a94442",
|
218 |
+
"@state-danger-bg": "#f2dede",
|
219 |
+
"@state-danger-border": "darken(spin(@state-danger-bg, -10), 5%)",
|
220 |
+
"@tooltip-max-width": "200px",
|
221 |
+
"@tooltip-color": "#fff",
|
222 |
+
"@tooltip-bg": "#000",
|
223 |
+
"@tooltip-opacity": ".9",
|
224 |
+
"@tooltip-arrow-width": "5px",
|
225 |
+
"@tooltip-arrow-color": "@tooltip-bg",
|
226 |
+
"@popover-bg": "#fff",
|
227 |
+
"@popover-max-width": "276px",
|
228 |
+
"@popover-border-color": "rgba(0,0,0,.2)",
|
229 |
+
"@popover-fallback-border-color": "#ccc",
|
230 |
+
"@popover-title-bg": "darken(@popover-bg, 3%)",
|
231 |
+
"@popover-arrow-width": "10px",
|
232 |
+
"@popover-arrow-color": "#fff",
|
233 |
+
"@popover-arrow-outer-width": "(@popover-arrow-width + 1)",
|
234 |
+
"@popover-arrow-outer-color": "fadein(@popover-border-color, 5%)",
|
235 |
+
"@popover-arrow-outer-fallback-color": "darken(@popover-fallback-border-color, 20%)",
|
236 |
+
"@label-default-bg": "@gray-light",
|
237 |
+
"@label-primary-bg": "@brand-primary",
|
238 |
+
"@label-success-bg": "@brand-success",
|
239 |
+
"@label-info-bg": "@brand-info",
|
240 |
+
"@label-warning-bg": "@brand-warning",
|
241 |
+
"@label-danger-bg": "@brand-danger",
|
242 |
+
"@label-color": "#fff",
|
243 |
+
"@label-link-hover-color": "#fff",
|
244 |
+
"@modal-inner-padding": "20px",
|
245 |
+
"@modal-title-padding": "15px",
|
246 |
+
"@modal-title-line-height": "@line-height-base",
|
247 |
+
"@modal-content-bg": "#fff",
|
248 |
+
"@modal-content-border-color": "rgba(0,0,0,.2)",
|
249 |
+
"@modal-content-fallback-border-color": "#999",
|
250 |
+
"@modal-backdrop-bg": "#000",
|
251 |
+
"@modal-backdrop-opacity": ".5",
|
252 |
+
"@modal-header-border-color": "#e5e5e5",
|
253 |
+
"@modal-footer-border-color": "@modal-header-border-color",
|
254 |
+
"@modal-lg": "900px",
|
255 |
+
"@modal-md": "600px",
|
256 |
+
"@modal-sm": "300px",
|
257 |
+
"@alert-padding": "15px",
|
258 |
+
"@alert-border-radius": "@border-radius-base",
|
259 |
+
"@alert-link-font-weight": "bold",
|
260 |
+
"@alert-success-bg": "@state-success-bg",
|
261 |
+
"@alert-success-text": "@state-success-text",
|
262 |
+
"@alert-success-border": "@state-success-border",
|
263 |
+
"@alert-info-bg": "@state-info-bg",
|
264 |
+
"@alert-info-text": "@state-info-text",
|
265 |
+
"@alert-info-border": "@state-info-border",
|
266 |
+
"@alert-warning-bg": "@state-warning-bg",
|
267 |
+
"@alert-warning-text": "@state-warning-text",
|
268 |
+
"@alert-warning-border": "@state-warning-border",
|
269 |
+
"@alert-danger-bg": "@state-danger-bg",
|
270 |
+
"@alert-danger-text": "@state-danger-text",
|
271 |
+
"@alert-danger-border": "@state-danger-border",
|
272 |
+
"@progress-bg": "#f5f5f5",
|
273 |
+
"@progress-bar-color": "#fff",
|
274 |
+
"@progress-bar-bg": "@brand-primary",
|
275 |
+
"@progress-bar-success-bg": "@brand-success",
|
276 |
+
"@progress-bar-warning-bg": "@brand-warning",
|
277 |
+
"@progress-bar-danger-bg": "@brand-danger",
|
278 |
+
"@progress-bar-info-bg": "@brand-info",
|
279 |
+
"@list-group-bg": "#fff",
|
280 |
+
"@list-group-border": "#ddd",
|
281 |
+
"@list-group-border-radius": "@border-radius-base",
|
282 |
+
"@list-group-hover-bg": "#f5f5f5",
|
283 |
+
"@list-group-active-color": "@component-active-color",
|
284 |
+
"@list-group-active-bg": "@component-active-bg",
|
285 |
+
"@list-group-active-border": "@list-group-active-bg",
|
286 |
+
"@list-group-active-text-color": "lighten(@list-group-active-bg, 40%)",
|
287 |
+
"@list-group-link-color": "#555",
|
288 |
+
"@list-group-link-heading-color": "#333",
|
289 |
+
"@panel-bg": "#fff",
|
290 |
+
"@panel-body-padding": "15px",
|
291 |
+
"@panel-border-radius": "@border-radius-base",
|
292 |
+
"@panel-inner-border": "#ddd",
|
293 |
+
"@panel-footer-bg": "#f5f5f5",
|
294 |
+
"@panel-default-text": "@gray-dark",
|
295 |
+
"@panel-default-border": "#ddd",
|
296 |
+
"@panel-default-heading-bg": "#f5f5f5",
|
297 |
+
"@panel-primary-text": "#fff",
|
298 |
+
"@panel-primary-border": "@brand-primary",
|
299 |
+
"@panel-primary-heading-bg": "@brand-primary",
|
300 |
+
"@panel-success-text": "@state-success-text",
|
301 |
+
"@panel-success-border": "@state-success-border",
|
302 |
+
"@panel-success-heading-bg": "@state-success-bg",
|
303 |
+
"@panel-info-text": "@state-info-text",
|
304 |
+
"@panel-info-border": "@state-info-border",
|
305 |
+
"@panel-info-heading-bg": "@state-info-bg",
|
306 |
+
"@panel-warning-text": "@state-warning-text",
|
307 |
+
"@panel-warning-border": "@state-warning-border",
|
308 |
+
"@panel-warning-heading-bg": "@state-warning-bg",
|
309 |
+
"@panel-danger-text": "@state-danger-text",
|
310 |
+
"@panel-danger-border": "@state-danger-border",
|
311 |
+
"@panel-danger-heading-bg": "@state-danger-bg",
|
312 |
+
"@thumbnail-padding": "4px",
|
313 |
+
"@thumbnail-bg": "@body-bg",
|
314 |
+
"@thumbnail-border": "#ddd",
|
315 |
+
"@thumbnail-border-radius": "@border-radius-base",
|
316 |
+
"@thumbnail-caption-color": "@text-color",
|
317 |
+
"@thumbnail-caption-padding": "9px",
|
318 |
+
"@well-bg": "#f5f5f5",
|
319 |
+
"@well-border": "darken(@well-bg, 7%)",
|
320 |
+
"@badge-color": "#fff",
|
321 |
+
"@badge-link-hover-color": "#fff",
|
322 |
+
"@badge-bg": "@gray-light",
|
323 |
+
"@badge-active-color": "@link-color",
|
324 |
+
"@badge-active-bg": "#fff",
|
325 |
+
"@badge-font-weight": "bold",
|
326 |
+
"@badge-border-radius": "10px",
|
327 |
+
"@breadcrumb-padding-vertical": "8px",
|
328 |
+
"@breadcrumb-padding-horizontal": "15px",
|
329 |
+
"@breadcrumb-bg": "#f5f5f5",
|
330 |
+
"@breadcrumb-color": "#ccc",
|
331 |
+
"@breadcrumb-active-color": "@gray-light",
|
332 |
+
"@breadcrumb-separator": "\"/\"",
|
333 |
+
"@carousel-text-shadow": "0 1px 2px rgba(0,0,0,.6)",
|
334 |
+
"@carousel-control-color": "#fff",
|
335 |
+
"@carousel-control-width": "15%",
|
336 |
+
"@carousel-control-opacity": ".5",
|
337 |
+
"@carousel-control-font-size": "20px",
|
338 |
+
"@carousel-indicator-active-bg": "#fff",
|
339 |
+
"@carousel-indicator-border-color": "#fff",
|
340 |
+
"@carousel-caption-color": "#fff",
|
341 |
+
"@close-font-weight": "bold",
|
342 |
+
"@close-color": "#000",
|
343 |
+
"@close-text-shadow": "0 1px 0 #fff",
|
344 |
+
"@code-color": "#c7254e",
|
345 |
+
"@code-bg": "#f9f2f4",
|
346 |
+
"@kbd-color": "#fff",
|
347 |
+
"@kbd-bg": "#333",
|
348 |
+
"@pre-bg": "#f5f5f5",
|
349 |
+
"@pre-color": "@gray-dark",
|
350 |
+
"@pre-border-color": "#ccc",
|
351 |
+
"@pre-scrollable-max-height": "340px",
|
352 |
+
"@text-muted": "@gray-light",
|
353 |
+
"@abbr-border-color": "@gray-light",
|
354 |
+
"@headings-small-color": "@gray-light",
|
355 |
+
"@blockquote-small-color": "@gray-light",
|
356 |
+
"@blockquote-font-size": "(@font-size-base * 1.25)",
|
357 |
+
"@blockquote-border-color": "@gray-lighter",
|
358 |
+
"@page-header-border-color": "@gray-lighter",
|
359 |
+
"@hr-border": "@gray-lighter",
|
360 |
+
"@component-offset-horizontal": "180px"
|
361 |
+
},
|
362 |
+
"css": [
|
363 |
+
"type.less",
|
364 |
+
"code.less",
|
365 |
+
"grid.less",
|
366 |
+
"tables.less",
|
367 |
+
"forms.less",
|
368 |
+
"buttons.less",
|
369 |
+
"glyphicons.less",
|
370 |
+
"button-groups.less",
|
371 |
+
"input-groups.less",
|
372 |
+
"navs.less",
|
373 |
+
"navbar.less",
|
374 |
+
"breadcrumbs.less",
|
375 |
+
"pagination.less",
|
376 |
+
"pager.less",
|
377 |
+
"labels.less",
|
378 |
+
"badges.less",
|
379 |
+
"jumbotron.less",
|
380 |
+
"thumbnails.less",
|
381 |
+
"alerts.less",
|
382 |
+
"progress-bars.less",
|
383 |
+
"media.less",
|
384 |
+
"list-group.less",
|
385 |
+
"panels.less",
|
386 |
+
"wells.less",
|
387 |
+
"close.less",
|
388 |
+
"component-animations.less",
|
389 |
+
"dropdowns.less",
|
390 |
+
"tooltip.less",
|
391 |
+
"popovers.less",
|
392 |
+
"modals.less",
|
393 |
+
"carousel.less",
|
394 |
+
"utilities.less",
|
395 |
+
"responsive-utilities.less"
|
396 |
+
],
|
397 |
+
"js": [
|
398 |
+
"alert.js",
|
399 |
+
"button.js",
|
400 |
+
"carousel.js",
|
401 |
+
"dropdown.js",
|
402 |
+
"modal.js",
|
403 |
+
"tooltip.js",
|
404 |
+
"popover.js",
|
405 |
+
"tab.js",
|
406 |
+
"affix.js",
|
407 |
+
"collapse.js",
|
408 |
+
"scrollspy.js",
|
409 |
+
"transition.js"
|
410 |
+
]
|
411 |
+
}
|
assets/bootstrap/css/bootstrap-theme.css
ADDED
@@ -0,0 +1,346 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.1.1 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2014 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
.btn-default,
|
8 |
+
.btn-primary,
|
9 |
+
.btn-success,
|
10 |
+
.btn-info,
|
11 |
+
.btn-warning,
|
12 |
+
.btn-danger {
|
13 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
|
14 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
15 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
16 |
+
}
|
17 |
+
.btn-default:active,
|
18 |
+
.btn-primary:active,
|
19 |
+
.btn-success:active,
|
20 |
+
.btn-info:active,
|
21 |
+
.btn-warning:active,
|
22 |
+
.btn-danger:active,
|
23 |
+
.btn-default.active,
|
24 |
+
.btn-primary.active,
|
25 |
+
.btn-success.active,
|
26 |
+
.btn-info.active,
|
27 |
+
.btn-warning.active,
|
28 |
+
.btn-danger.active {
|
29 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
30 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
31 |
+
}
|
32 |
+
.btn:active,
|
33 |
+
.btn.active {
|
34 |
+
background-image: none;
|
35 |
+
}
|
36 |
+
.btn-default {
|
37 |
+
background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
|
38 |
+
background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);
|
39 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
40 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
41 |
+
background-repeat: repeat-x;
|
42 |
+
border-color: #dbdbdb;
|
43 |
+
text-shadow: 0 1px 0 #fff;
|
44 |
+
border-color: #ccc;
|
45 |
+
}
|
46 |
+
.btn-default:hover,
|
47 |
+
.btn-default:focus {
|
48 |
+
background-color: #e0e0e0;
|
49 |
+
background-position: 0 -15px;
|
50 |
+
}
|
51 |
+
.btn-default:active,
|
52 |
+
.btn-default.active {
|
53 |
+
background-color: #e0e0e0;
|
54 |
+
border-color: #dbdbdb;
|
55 |
+
}
|
56 |
+
.btn-primary {
|
57 |
+
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
|
58 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
|
59 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
|
60 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
61 |
+
background-repeat: repeat-x;
|
62 |
+
border-color: #2b669a;
|
63 |
+
}
|
64 |
+
.btn-primary:hover,
|
65 |
+
.btn-primary:focus {
|
66 |
+
background-color: #2d6ca2;
|
67 |
+
background-position: 0 -15px;
|
68 |
+
}
|
69 |
+
.btn-primary:active,
|
70 |
+
.btn-primary.active {
|
71 |
+
background-color: #2d6ca2;
|
72 |
+
border-color: #2b669a;
|
73 |
+
}
|
74 |
+
.btn-success {
|
75 |
+
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
76 |
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
77 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
78 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
79 |
+
background-repeat: repeat-x;
|
80 |
+
border-color: #3e8f3e;
|
81 |
+
}
|
82 |
+
.btn-success:hover,
|
83 |
+
.btn-success:focus {
|
84 |
+
background-color: #419641;
|
85 |
+
background-position: 0 -15px;
|
86 |
+
}
|
87 |
+
.btn-success:active,
|
88 |
+
.btn-success.active {
|
89 |
+
background-color: #419641;
|
90 |
+
border-color: #3e8f3e;
|
91 |
+
}
|
92 |
+
.btn-info {
|
93 |
+
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
94 |
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
95 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
96 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
97 |
+
background-repeat: repeat-x;
|
98 |
+
border-color: #28a4c9;
|
99 |
+
}
|
100 |
+
.btn-info:hover,
|
101 |
+
.btn-info:focus {
|
102 |
+
background-color: #2aabd2;
|
103 |
+
background-position: 0 -15px;
|
104 |
+
}
|
105 |
+
.btn-info:active,
|
106 |
+
.btn-info.active {
|
107 |
+
background-color: #2aabd2;
|
108 |
+
border-color: #28a4c9;
|
109 |
+
}
|
110 |
+
.btn-warning {
|
111 |
+
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
112 |
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
113 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
114 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
115 |
+
background-repeat: repeat-x;
|
116 |
+
border-color: #e38d13;
|
117 |
+
}
|
118 |
+
.btn-warning:hover,
|
119 |
+
.btn-warning:focus {
|
120 |
+
background-color: #eb9316;
|
121 |
+
background-position: 0 -15px;
|
122 |
+
}
|
123 |
+
.btn-warning:active,
|
124 |
+
.btn-warning.active {
|
125 |
+
background-color: #eb9316;
|
126 |
+
border-color: #e38d13;
|
127 |
+
}
|
128 |
+
.btn-danger {
|
129 |
+
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
130 |
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
131 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
132 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
133 |
+
background-repeat: repeat-x;
|
134 |
+
border-color: #b92c28;
|
135 |
+
}
|
136 |
+
.btn-danger:hover,
|
137 |
+
.btn-danger:focus {
|
138 |
+
background-color: #c12e2a;
|
139 |
+
background-position: 0 -15px;
|
140 |
+
}
|
141 |
+
.btn-danger:active,
|
142 |
+
.btn-danger.active {
|
143 |
+
background-color: #c12e2a;
|
144 |
+
border-color: #b92c28;
|
145 |
+
}
|
146 |
+
.thumbnail,
|
147 |
+
.img-thumbnail {
|
148 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
149 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
150 |
+
}
|
151 |
+
.dropdown-menu > li > a:hover,
|
152 |
+
.dropdown-menu > li > a:focus {
|
153 |
+
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
154 |
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
155 |
+
background-repeat: repeat-x;
|
156 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
157 |
+
background-color: #e8e8e8;
|
158 |
+
}
|
159 |
+
.dropdown-menu > .active > a,
|
160 |
+
.dropdown-menu > .active > a:hover,
|
161 |
+
.dropdown-menu > .active > a:focus {
|
162 |
+
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
163 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
164 |
+
background-repeat: repeat-x;
|
165 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
166 |
+
background-color: #357ebd;
|
167 |
+
}
|
168 |
+
.navbar-default {
|
169 |
+
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
|
170 |
+
background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
|
171 |
+
background-repeat: repeat-x;
|
172 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
173 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
174 |
+
border-radius: 4px;
|
175 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
176 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
177 |
+
}
|
178 |
+
.navbar-default .navbar-nav > .active > a {
|
179 |
+
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
|
180 |
+
background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
|
181 |
+
background-repeat: repeat-x;
|
182 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
|
183 |
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
184 |
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
185 |
+
}
|
186 |
+
.navbar-brand,
|
187 |
+
.navbar-nav > li > a {
|
188 |
+
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
|
189 |
+
}
|
190 |
+
.navbar-inverse {
|
191 |
+
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);
|
192 |
+
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
|
193 |
+
background-repeat: repeat-x;
|
194 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
195 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
196 |
+
}
|
197 |
+
.navbar-inverse .navbar-nav > .active > a {
|
198 |
+
background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%);
|
199 |
+
background-image: linear-gradient(to bottom, #222222 0%, #282828 100%);
|
200 |
+
background-repeat: repeat-x;
|
201 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
|
202 |
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
203 |
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
204 |
+
}
|
205 |
+
.navbar-inverse .navbar-brand,
|
206 |
+
.navbar-inverse .navbar-nav > li > a {
|
207 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
208 |
+
}
|
209 |
+
.navbar-static-top,
|
210 |
+
.navbar-fixed-top,
|
211 |
+
.navbar-fixed-bottom {
|
212 |
+
border-radius: 0;
|
213 |
+
}
|
214 |
+
.alert {
|
215 |
+
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
|
216 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
217 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
218 |
+
}
|
219 |
+
.alert-success {
|
220 |
+
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
221 |
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
222 |
+
background-repeat: repeat-x;
|
223 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
224 |
+
border-color: #b2dba1;
|
225 |
+
}
|
226 |
+
.alert-info {
|
227 |
+
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
228 |
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
229 |
+
background-repeat: repeat-x;
|
230 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
231 |
+
border-color: #9acfea;
|
232 |
+
}
|
233 |
+
.alert-warning {
|
234 |
+
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
235 |
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
236 |
+
background-repeat: repeat-x;
|
237 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
238 |
+
border-color: #f5e79e;
|
239 |
+
}
|
240 |
+
.alert-danger {
|
241 |
+
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
242 |
+
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
243 |
+
background-repeat: repeat-x;
|
244 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
245 |
+
border-color: #dca7a7;
|
246 |
+
}
|
247 |
+
.progress {
|
248 |
+
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
249 |
+
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
250 |
+
background-repeat: repeat-x;
|
251 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
252 |
+
}
|
253 |
+
.progress-bar {
|
254 |
+
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
|
255 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
|
256 |
+
background-repeat: repeat-x;
|
257 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
|
258 |
+
}
|
259 |
+
.progress-bar-success {
|
260 |
+
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
261 |
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
262 |
+
background-repeat: repeat-x;
|
263 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
264 |
+
}
|
265 |
+
.progress-bar-info {
|
266 |
+
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
267 |
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
268 |
+
background-repeat: repeat-x;
|
269 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
270 |
+
}
|
271 |
+
.progress-bar-warning {
|
272 |
+
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
273 |
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
274 |
+
background-repeat: repeat-x;
|
275 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
276 |
+
}
|
277 |
+
.progress-bar-danger {
|
278 |
+
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
279 |
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
280 |
+
background-repeat: repeat-x;
|
281 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
282 |
+
}
|
283 |
+
.list-group {
|
284 |
+
border-radius: 4px;
|
285 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
286 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
287 |
+
}
|
288 |
+
.list-group-item.active,
|
289 |
+
.list-group-item.active:hover,
|
290 |
+
.list-group-item.active:focus {
|
291 |
+
text-shadow: 0 -1px 0 #3071a9;
|
292 |
+
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
|
293 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
|
294 |
+
background-repeat: repeat-x;
|
295 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
|
296 |
+
border-color: #3278b3;
|
297 |
+
}
|
298 |
+
.panel {
|
299 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
300 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
301 |
+
}
|
302 |
+
.panel-default > .panel-heading {
|
303 |
+
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
304 |
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
305 |
+
background-repeat: repeat-x;
|
306 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
307 |
+
}
|
308 |
+
.panel-primary > .panel-heading {
|
309 |
+
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
310 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
311 |
+
background-repeat: repeat-x;
|
312 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
313 |
+
}
|
314 |
+
.panel-success > .panel-heading {
|
315 |
+
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
316 |
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
317 |
+
background-repeat: repeat-x;
|
318 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
319 |
+
}
|
320 |
+
.panel-info > .panel-heading {
|
321 |
+
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
322 |
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
323 |
+
background-repeat: repeat-x;
|
324 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
325 |
+
}
|
326 |
+
.panel-warning > .panel-heading {
|
327 |
+
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
328 |
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
329 |
+
background-repeat: repeat-x;
|
330 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
331 |
+
}
|
332 |
+
.panel-danger > .panel-heading {
|
333 |
+
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
334 |
+
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
335 |
+
background-repeat: repeat-x;
|
336 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
337 |
+
}
|
338 |
+
.well {
|
339 |
+
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
340 |
+
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
341 |
+
background-repeat: repeat-x;
|
342 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
343 |
+
border-color: #dcdcdc;
|
344 |
+
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
345 |
+
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
346 |
+
}
|
assets/bootstrap/css/bootstrap-theme.min.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.1.1 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2014 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);background-image:linear-gradient(to bottom, #fff 0, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top, #428bca 0, #2d6ca2 100%);background-image:linear-gradient(to bottom, #428bca 0, #2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #419641 100%);background-image:linear-gradient(to bottom, #5cb85c 0, #419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);background-image:linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #eb9316 100%);background-image:linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);background-image:linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-color:#357ebd}.navbar-default{background-image:-webkit-linear-gradient(top, #fff 0, #f8f8f8 100%);background-image:linear-gradient(to bottom, #fff 0, #f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #ebebeb 0, #f3f3f3 100%);background-image:linear-gradient(to bottom, #ebebeb 0, #f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top, #3c3c3c 0, #222 100%);background-image:linear-gradient(to bottom, #3c3c3c 0, #222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top, #222 0, #282828 100%);background-image:linear-gradient(to bottom, #222 0, #282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top, #dff0d8 0, #c8e5bc 100%);background-image:linear-gradient(to bottom, #dff0d8 0, #c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top, #d9edf7 0, #b9def0 100%);background-image:linear-gradient(to bottom, #d9edf7 0, #b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #f8efc0 100%);background-image:linear-gradient(to bottom, #fcf8e3 0, #f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top, #f2dede 0, #e7c3c3 100%);background-image:linear-gradient(to bottom, #f2dede 0, #e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top, #ebebeb 0, #f5f5f5 100%);background-image:linear-gradient(to bottom, #ebebeb 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top, #428bca 0, #3071a9 100%);background-image:linear-gradient(to bottom, #428bca 0, #3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top, #5cb85c 0, #449d44 100%);background-image:linear-gradient(to bottom, #5cb85c 0, #449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top, #5bc0de 0, #31b0d5 100%);background-image:linear-gradient(to bottom, #5bc0de 0, #31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top, #f0ad4e 0, #ec971f 100%);background-image:linear-gradient(to bottom, #f0ad4e 0, #ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top, #d9534f 0, #c9302c 100%);background-image:linear-gradient(to bottom, #d9534f 0, #c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top, #428bca 0, #3278b3 100%);background-image:linear-gradient(to bottom, #428bca 0, #3278b3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);background-image:linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top, #428bca 0, #357ebd 100%);background-image:linear-gradient(to bottom, #428bca 0, #357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);background-image:linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);background-image:linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);background-image:linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top, #f2dede 0, #ebcccc 100%);background-image:linear-gradient(to bottom, #f2dede 0, #ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);background-image:linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)}
|
assets/bootstrap/css/bootstrap.css
ADDED
@@ -0,0 +1,5709 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.1.1 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2014 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */
|
8 |
+
html {
|
9 |
+
font-family: sans-serif;
|
10 |
+
-ms-text-size-adjust: 100%;
|
11 |
+
-webkit-text-size-adjust: 100%;
|
12 |
+
}
|
13 |
+
body {
|
14 |
+
margin: 0;
|
15 |
+
}
|
16 |
+
article,
|
17 |
+
aside,
|
18 |
+
details,
|
19 |
+
figcaption,
|
20 |
+
figure,
|
21 |
+
footer,
|
22 |
+
header,
|
23 |
+
hgroup,
|
24 |
+
main,
|
25 |
+
nav,
|
26 |
+
section,
|
27 |
+
summary {
|
28 |
+
display: block;
|
29 |
+
}
|
30 |
+
audio,
|
31 |
+
canvas,
|
32 |
+
progress,
|
33 |
+
video {
|
34 |
+
display: inline-block;
|
35 |
+
vertical-align: baseline;
|
36 |
+
}
|
37 |
+
audio:not([controls]) {
|
38 |
+
display: none;
|
39 |
+
height: 0;
|
40 |
+
}
|
41 |
+
[hidden],
|
42 |
+
template {
|
43 |
+
display: none;
|
44 |
+
}
|
45 |
+
a {
|
46 |
+
background: transparent;
|
47 |
+
}
|
48 |
+
a:active,
|
49 |
+
a:hover {
|
50 |
+
outline: 0;
|
51 |
+
}
|
52 |
+
abbr[title] {
|
53 |
+
border-bottom: 1px dotted;
|
54 |
+
}
|
55 |
+
b,
|
56 |
+
strong {
|
57 |
+
font-weight: bold;
|
58 |
+
}
|
59 |
+
dfn {
|
60 |
+
font-style: italic;
|
61 |
+
}
|
62 |
+
h1 {
|
63 |
+
font-size: 2em;
|
64 |
+
margin: 0.67em 0;
|
65 |
+
}
|
66 |
+
mark {
|
67 |
+
background: #ff0;
|
68 |
+
color: #000;
|
69 |
+
}
|
70 |
+
small {
|
71 |
+
font-size: 80%;
|
72 |
+
}
|
73 |
+
sub,
|
74 |
+
sup {
|
75 |
+
font-size: 75%;
|
76 |
+
line-height: 0;
|
77 |
+
position: relative;
|
78 |
+
vertical-align: baseline;
|
79 |
+
}
|
80 |
+
sup {
|
81 |
+
top: -0.5em;
|
82 |
+
}
|
83 |
+
sub {
|
84 |
+
bottom: -0.25em;
|
85 |
+
}
|
86 |
+
img {
|
87 |
+
border: 0;
|
88 |
+
}
|
89 |
+
svg:not(:root) {
|
90 |
+
overflow: hidden;
|
91 |
+
}
|
92 |
+
figure {
|
93 |
+
margin: 1em 40px;
|
94 |
+
}
|
95 |
+
hr {
|
96 |
+
-moz-box-sizing: content-box;
|
97 |
+
box-sizing: content-box;
|
98 |
+
height: 0;
|
99 |
+
}
|
100 |
+
pre {
|
101 |
+
overflow: auto;
|
102 |
+
}
|
103 |
+
code,
|
104 |
+
kbd,
|
105 |
+
pre,
|
106 |
+
samp {
|
107 |
+
font-family: monospace, monospace;
|
108 |
+
font-size: 1em;
|
109 |
+
}
|
110 |
+
button,
|
111 |
+
input,
|
112 |
+
optgroup,
|
113 |
+
select,
|
114 |
+
textarea {
|
115 |
+
color: inherit;
|
116 |
+
font: inherit;
|
117 |
+
margin: 0;
|
118 |
+
}
|
119 |
+
button {
|
120 |
+
overflow: visible;
|
121 |
+
}
|
122 |
+
button,
|
123 |
+
select {
|
124 |
+
text-transform: none;
|
125 |
+
}
|
126 |
+
button,
|
127 |
+
html input[type="button"],
|
128 |
+
input[type="reset"],
|
129 |
+
input[type="submit"] {
|
130 |
+
-webkit-appearance: button;
|
131 |
+
cursor: pointer;
|
132 |
+
}
|
133 |
+
button[disabled],
|
134 |
+
html input[disabled] {
|
135 |
+
cursor: default;
|
136 |
+
}
|
137 |
+
button::-moz-focus-inner,
|
138 |
+
input::-moz-focus-inner {
|
139 |
+
border: 0;
|
140 |
+
padding: 0;
|
141 |
+
}
|
142 |
+
input {
|
143 |
+
line-height: normal;
|
144 |
+
}
|
145 |
+
input[type="checkbox"],
|
146 |
+
input[type="radio"] {
|
147 |
+
box-sizing: border-box;
|
148 |
+
padding: 0;
|
149 |
+
}
|
150 |
+
input[type="number"]::-webkit-inner-spin-button,
|
151 |
+
input[type="number"]::-webkit-outer-spin-button {
|
152 |
+
height: auto;
|
153 |
+
}
|
154 |
+
input[type="search"] {
|
155 |
+
-webkit-appearance: textfield;
|
156 |
+
-moz-box-sizing: content-box;
|
157 |
+
-webkit-box-sizing: content-box;
|
158 |
+
box-sizing: content-box;
|
159 |
+
}
|
160 |
+
input[type="search"]::-webkit-search-cancel-button,
|
161 |
+
input[type="search"]::-webkit-search-decoration {
|
162 |
+
-webkit-appearance: none;
|
163 |
+
}
|
164 |
+
fieldset {
|
165 |
+
border: 1px solid #c0c0c0;
|
166 |
+
margin: 0 2px;
|
167 |
+
padding: 0.35em 0.625em 0.75em;
|
168 |
+
}
|
169 |
+
legend {
|
170 |
+
border: 0;
|
171 |
+
padding: 0;
|
172 |
+
}
|
173 |
+
textarea {
|
174 |
+
overflow: auto;
|
175 |
+
}
|
176 |
+
optgroup {
|
177 |
+
font-weight: bold;
|
178 |
+
}
|
179 |
+
table {
|
180 |
+
border-collapse: collapse;
|
181 |
+
border-spacing: 0;
|
182 |
+
}
|
183 |
+
td,
|
184 |
+
th {
|
185 |
+
padding: 0;
|
186 |
+
}
|
187 |
+
* {
|
188 |
+
-webkit-box-sizing: border-box;
|
189 |
+
-moz-box-sizing: border-box;
|
190 |
+
box-sizing: border-box;
|
191 |
+
}
|
192 |
+
*:before,
|
193 |
+
*:after {
|
194 |
+
-webkit-box-sizing: border-box;
|
195 |
+
-moz-box-sizing: border-box;
|
196 |
+
box-sizing: border-box;
|
197 |
+
}
|
198 |
+
html {
|
199 |
+
font-size: 62.5%;
|
200 |
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
201 |
+
}
|
202 |
+
body {
|
203 |
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
204 |
+
font-size: 14px;
|
205 |
+
line-height: 1.42857143;
|
206 |
+
color: #333333;
|
207 |
+
background-color: #ffffff;
|
208 |
+
}
|
209 |
+
input,
|
210 |
+
button,
|
211 |
+
select,
|
212 |
+
textarea {
|
213 |
+
font-family: inherit;
|
214 |
+
font-size: inherit;
|
215 |
+
line-height: inherit;
|
216 |
+
}
|
217 |
+
a {
|
218 |
+
color: #428bca;
|
219 |
+
text-decoration: none;
|
220 |
+
}
|
221 |
+
a:hover,
|
222 |
+
a:focus {
|
223 |
+
color: #2a6496;
|
224 |
+
text-decoration: underline;
|
225 |
+
}
|
226 |
+
a:focus {
|
227 |
+
outline: thin dotted;
|
228 |
+
outline: 5px auto -webkit-focus-ring-color;
|
229 |
+
outline-offset: -2px;
|
230 |
+
}
|
231 |
+
figure {
|
232 |
+
margin: 0;
|
233 |
+
}
|
234 |
+
img {
|
235 |
+
vertical-align: middle;
|
236 |
+
}
|
237 |
+
.img-responsive,
|
238 |
+
.thumbnail > img,
|
239 |
+
.thumbnail a > img,
|
240 |
+
.carousel-inner > .item > img,
|
241 |
+
.carousel-inner > .item > a > img {
|
242 |
+
display: block;
|
243 |
+
max-width: 100%;
|
244 |
+
height: auto;
|
245 |
+
}
|
246 |
+
.img-rounded {
|
247 |
+
border-radius: 6px;
|
248 |
+
}
|
249 |
+
.img-thumbnail {
|
250 |
+
padding: 4px;
|
251 |
+
line-height: 1.42857143;
|
252 |
+
background-color: #ffffff;
|
253 |
+
border: 1px solid #dddddd;
|
254 |
+
border-radius: 4px;
|
255 |
+
-webkit-transition: all 0.2s ease-in-out;
|
256 |
+
transition: all 0.2s ease-in-out;
|
257 |
+
display: inline-block;
|
258 |
+
max-width: 100%;
|
259 |
+
height: auto;
|
260 |
+
}
|
261 |
+
.img-circle {
|
262 |
+
border-radius: 50%;
|
263 |
+
}
|
264 |
+
hr {
|
265 |
+
margin-top: 20px;
|
266 |
+
margin-bottom: 20px;
|
267 |
+
border: 0;
|
268 |
+
border-top: 1px solid #eeeeee;
|
269 |
+
}
|
270 |
+
.sr-only {
|
271 |
+
position: absolute;
|
272 |
+
width: 1px;
|
273 |
+
height: 1px;
|
274 |
+
margin: -1px;
|
275 |
+
padding: 0;
|
276 |
+
overflow: hidden;
|
277 |
+
clip: rect(0, 0, 0, 0);
|
278 |
+
border: 0;
|
279 |
+
}
|
280 |
+
h1,
|
281 |
+
h2,
|
282 |
+
h3,
|
283 |
+
h4,
|
284 |
+
h5,
|
285 |
+
h6,
|
286 |
+
.h1,
|
287 |
+
.h2,
|
288 |
+
.h3,
|
289 |
+
.h4,
|
290 |
+
.h5,
|
291 |
+
.h6 {
|
292 |
+
font-family: inherit;
|
293 |
+
font-weight: 500;
|
294 |
+
line-height: 1.1;
|
295 |
+
color: inherit;
|
296 |
+
}
|
297 |
+
h1 small,
|
298 |
+
h2 small,
|
299 |
+
h3 small,
|
300 |
+
h4 small,
|
301 |
+
h5 small,
|
302 |
+
h6 small,
|
303 |
+
.h1 small,
|
304 |
+
.h2 small,
|
305 |
+
.h3 small,
|
306 |
+
.h4 small,
|
307 |
+
.h5 small,
|
308 |
+
.h6 small,
|
309 |
+
h1 .small,
|
310 |
+
h2 .small,
|
311 |
+
h3 .small,
|
312 |
+
h4 .small,
|
313 |
+
h5 .small,
|
314 |
+
h6 .small,
|
315 |
+
.h1 .small,
|
316 |
+
.h2 .small,
|
317 |
+
.h3 .small,
|
318 |
+
.h4 .small,
|
319 |
+
.h5 .small,
|
320 |
+
.h6 .small {
|
321 |
+
font-weight: normal;
|
322 |
+
line-height: 1;
|
323 |
+
color: #999999;
|
324 |
+
}
|
325 |
+
h1,
|
326 |
+
.h1,
|
327 |
+
h2,
|
328 |
+
.h2,
|
329 |
+
h3,
|
330 |
+
.h3 {
|
331 |
+
margin-top: 20px;
|
332 |
+
margin-bottom: 10px;
|
333 |
+
}
|
334 |
+
h1 small,
|
335 |
+
.h1 small,
|
336 |
+
h2 small,
|
337 |
+
.h2 small,
|
338 |
+
h3 small,
|
339 |
+
.h3 small,
|
340 |
+
h1 .small,
|
341 |
+
.h1 .small,
|
342 |
+
h2 .small,
|
343 |
+
.h2 .small,
|
344 |
+
h3 .small,
|
345 |
+
.h3 .small {
|
346 |
+
font-size: 65%;
|
347 |
+
}
|
348 |
+
h4,
|
349 |
+
.h4,
|
350 |
+
h5,
|
351 |
+
.h5,
|
352 |
+
h6,
|
353 |
+
.h6 {
|
354 |
+
margin-top: 10px;
|
355 |
+
margin-bottom: 10px;
|
356 |
+
}
|
357 |
+
h4 small,
|
358 |
+
.h4 small,
|
359 |
+
h5 small,
|
360 |
+
.h5 small,
|
361 |
+
h6 small,
|
362 |
+
.h6 small,
|
363 |
+
h4 .small,
|
364 |
+
.h4 .small,
|
365 |
+
h5 .small,
|
366 |
+
.h5 .small,
|
367 |
+
h6 .small,
|
368 |
+
.h6 .small {
|
369 |
+
font-size: 75%;
|
370 |
+
}
|
371 |
+
h1,
|
372 |
+
.h1 {
|
373 |
+
font-size: 36px;
|
374 |
+
}
|
375 |
+
h2,
|
376 |
+
.h2 {
|
377 |
+
font-size: 30px;
|
378 |
+
}
|
379 |
+
h3,
|
380 |
+
.h3 {
|
381 |
+
font-size: 24px;
|
382 |
+
}
|
383 |
+
h4,
|
384 |
+
.h4 {
|
385 |
+
font-size: 18px;
|
386 |
+
}
|
387 |
+
h5,
|
388 |
+
.h5 {
|
389 |
+
font-size: 14px;
|
390 |
+
}
|
391 |
+
h6,
|
392 |
+
.h6 {
|
393 |
+
font-size: 12px;
|
394 |
+
}
|
395 |
+
p {
|
396 |
+
margin: 0 0 10px;
|
397 |
+
}
|
398 |
+
.lead {
|
399 |
+
margin-bottom: 20px;
|
400 |
+
font-size: 16px;
|
401 |
+
font-weight: 200;
|
402 |
+
line-height: 1.4;
|
403 |
+
}
|
404 |
+
@media (min-width: 768px) {
|
405 |
+
.lead {
|
406 |
+
font-size: 21px;
|
407 |
+
}
|
408 |
+
}
|
409 |
+
small,
|
410 |
+
.small {
|
411 |
+
font-size: 85%;
|
412 |
+
}
|
413 |
+
cite {
|
414 |
+
font-style: normal;
|
415 |
+
}
|
416 |
+
.text-left {
|
417 |
+
text-align: left;
|
418 |
+
}
|
419 |
+
.text-right {
|
420 |
+
text-align: right;
|
421 |
+
}
|
422 |
+
.text-center {
|
423 |
+
text-align: center;
|
424 |
+
}
|
425 |
+
.text-justify {
|
426 |
+
text-align: justify;
|
427 |
+
}
|
428 |
+
.text-muted {
|
429 |
+
color: #999999;
|
430 |
+
}
|
431 |
+
.text-primary {
|
432 |
+
color: #428bca;
|
433 |
+
}
|
434 |
+
a.text-primary:hover {
|
435 |
+
color: #3071a9;
|
436 |
+
}
|
437 |
+
.text-success {
|
438 |
+
color: #3c763d;
|
439 |
+
}
|
440 |
+
a.text-success:hover {
|
441 |
+
color: #2b542c;
|
442 |
+
}
|
443 |
+
.text-info {
|
444 |
+
color: #31708f;
|
445 |
+
}
|
446 |
+
a.text-info:hover {
|
447 |
+
color: #245269;
|
448 |
+
}
|
449 |
+
.text-warning {
|
450 |
+
color: #8a6d3b;
|
451 |
+
}
|
452 |
+
a.text-warning:hover {
|
453 |
+
color: #66512c;
|
454 |
+
}
|
455 |
+
.text-danger {
|
456 |
+
color: #a94442;
|
457 |
+
}
|
458 |
+
a.text-danger:hover {
|
459 |
+
color: #843534;
|
460 |
+
}
|
461 |
+
.bg-primary {
|
462 |
+
color: #fff;
|
463 |
+
background-color: #428bca;
|
464 |
+
}
|
465 |
+
a.bg-primary:hover {
|
466 |
+
background-color: #3071a9;
|
467 |
+
}
|
468 |
+
.bg-success {
|
469 |
+
background-color: #dff0d8;
|
470 |
+
}
|
471 |
+
a.bg-success:hover {
|
472 |
+
background-color: #c1e2b3;
|
473 |
+
}
|
474 |
+
.bg-info {
|
475 |
+
background-color: #d9edf7;
|
476 |
+
}
|
477 |
+
a.bg-info:hover {
|
478 |
+
background-color: #afd9ee;
|
479 |
+
}
|
480 |
+
.bg-warning {
|
481 |
+
background-color: #fcf8e3;
|
482 |
+
}
|
483 |
+
a.bg-warning:hover {
|
484 |
+
background-color: #f7ecb5;
|
485 |
+
}
|
486 |
+
.bg-danger {
|
487 |
+
background-color: #f2dede;
|
488 |
+
}
|
489 |
+
a.bg-danger:hover {
|
490 |
+
background-color: #e4b9b9;
|
491 |
+
}
|
492 |
+
.page-header {
|
493 |
+
padding-bottom: 9px;
|
494 |
+
margin: 40px 0 20px;
|
495 |
+
border-bottom: 1px solid #eeeeee;
|
496 |
+
}
|
497 |
+
ul,
|
498 |
+
ol {
|
499 |
+
margin-top: 0;
|
500 |
+
margin-bottom: 10px;
|
501 |
+
}
|
502 |
+
ul ul,
|
503 |
+
ol ul,
|
504 |
+
ul ol,
|
505 |
+
ol ol {
|
506 |
+
margin-bottom: 0;
|
507 |
+
}
|
508 |
+
.list-unstyled {
|
509 |
+
padding-left: 0;
|
510 |
+
list-style: none;
|
511 |
+
}
|
512 |
+
.list-inline {
|
513 |
+
padding-left: 0;
|
514 |
+
list-style: none;
|
515 |
+
margin-left: -5px;
|
516 |
+
}
|
517 |
+
.list-inline > li {
|
518 |
+
display: inline-block;
|
519 |
+
padding-left: 5px;
|
520 |
+
padding-right: 5px;
|
521 |
+
}
|
522 |
+
dl {
|
523 |
+
margin-top: 0;
|
524 |
+
margin-bottom: 20px;
|
525 |
+
}
|
526 |
+
dt,
|
527 |
+
dd {
|
528 |
+
line-height: 1.42857143;
|
529 |
+
}
|
530 |
+
dt {
|
531 |
+
font-weight: bold;
|
532 |
+
}
|
533 |
+
dd {
|
534 |
+
margin-left: 0;
|
535 |
+
}
|
536 |
+
@media (min-width: 768px) {
|
537 |
+
.dl-horizontal dt {
|
538 |
+
float: left;
|
539 |
+
width: 160px;
|
540 |
+
clear: left;
|
541 |
+
text-align: right;
|
542 |
+
overflow: hidden;
|
543 |
+
text-overflow: ellipsis;
|
544 |
+
white-space: nowrap;
|
545 |
+
}
|
546 |
+
.dl-horizontal dd {
|
547 |
+
margin-left: 180px;
|
548 |
+
}
|
549 |
+
}
|
550 |
+
abbr[title],
|
551 |
+
abbr[data-original-title] {
|
552 |
+
cursor: help;
|
553 |
+
border-bottom: 1px dotted #999999;
|
554 |
+
}
|
555 |
+
.initialism {
|
556 |
+
font-size: 90%;
|
557 |
+
text-transform: uppercase;
|
558 |
+
}
|
559 |
+
blockquote {
|
560 |
+
padding: 10px 20px;
|
561 |
+
margin: 0 0 20px;
|
562 |
+
font-size: 17.5px;
|
563 |
+
border-left: 5px solid #eeeeee;
|
564 |
+
}
|
565 |
+
blockquote p:last-child,
|
566 |
+
blockquote ul:last-child,
|
567 |
+
blockquote ol:last-child {
|
568 |
+
margin-bottom: 0;
|
569 |
+
}
|
570 |
+
blockquote footer,
|
571 |
+
blockquote small,
|
572 |
+
blockquote .small {
|
573 |
+
display: block;
|
574 |
+
font-size: 80%;
|
575 |
+
line-height: 1.42857143;
|
576 |
+
color: #999999;
|
577 |
+
}
|
578 |
+
blockquote footer:before,
|
579 |
+
blockquote small:before,
|
580 |
+
blockquote .small:before {
|
581 |
+
content: '\2014 \00A0';
|
582 |
+
}
|
583 |
+
.blockquote-reverse,
|
584 |
+
blockquote.pull-right {
|
585 |
+
padding-right: 15px;
|
586 |
+
padding-left: 0;
|
587 |
+
border-right: 5px solid #eeeeee;
|
588 |
+
border-left: 0;
|
589 |
+
text-align: right;
|
590 |
+
}
|
591 |
+
.blockquote-reverse footer:before,
|
592 |
+
blockquote.pull-right footer:before,
|
593 |
+
.blockquote-reverse small:before,
|
594 |
+
blockquote.pull-right small:before,
|
595 |
+
.blockquote-reverse .small:before,
|
596 |
+
blockquote.pull-right .small:before {
|
597 |
+
content: '';
|
598 |
+
}
|
599 |
+
.blockquote-reverse footer:after,
|
600 |
+
blockquote.pull-right footer:after,
|
601 |
+
.blockquote-reverse small:after,
|
602 |
+
blockquote.pull-right small:after,
|
603 |
+
.blockquote-reverse .small:after,
|
604 |
+
blockquote.pull-right .small:after {
|
605 |
+
content: '\00A0 \2014';
|
606 |
+
}
|
607 |
+
blockquote:before,
|
608 |
+
blockquote:after {
|
609 |
+
content: "";
|
610 |
+
}
|
611 |
+
address {
|
612 |
+
margin-bottom: 20px;
|
613 |
+
font-style: normal;
|
614 |
+
line-height: 1.42857143;
|
615 |
+
}
|
616 |
+
code,
|
617 |
+
kbd,
|
618 |
+
pre,
|
619 |
+
samp {
|
620 |
+
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
621 |
+
}
|
622 |
+
code {
|
623 |
+
padding: 2px 4px;
|
624 |
+
font-size: 90%;
|
625 |
+
color: #c7254e;
|
626 |
+
background-color: #f9f2f4;
|
627 |
+
white-space: nowrap;
|
628 |
+
border-radius: 4px;
|
629 |
+
}
|
630 |
+
kbd {
|
631 |
+
padding: 2px 4px;
|
632 |
+
font-size: 90%;
|
633 |
+
color: #ffffff;
|
634 |
+
background-color: #333333;
|
635 |
+
border-radius: 3px;
|
636 |
+
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
|
637 |
+
}
|
638 |
+
pre {
|
639 |
+
display: block;
|
640 |
+
padding: 9.5px;
|
641 |
+
margin: 0 0 10px;
|
642 |
+
font-size: 13px;
|
643 |
+
line-height: 1.42857143;
|
644 |
+
word-break: break-all;
|
645 |
+
word-wrap: break-word;
|
646 |
+
color: #333333;
|
647 |
+
background-color: #f5f5f5;
|
648 |
+
border: 1px solid #cccccc;
|
649 |
+
border-radius: 4px;
|
650 |
+
}
|
651 |
+
pre code {
|
652 |
+
padding: 0;
|
653 |
+
font-size: inherit;
|
654 |
+
color: inherit;
|
655 |
+
white-space: pre-wrap;
|
656 |
+
background-color: transparent;
|
657 |
+
border-radius: 0;
|
658 |
+
}
|
659 |
+
.pre-scrollable {
|
660 |
+
max-height: 340px;
|
661 |
+
overflow-y: scroll;
|
662 |
+
}
|
663 |
+
.container {
|
664 |
+
margin-right: auto;
|
665 |
+
margin-left: auto;
|
666 |
+
padding-left: 15px;
|
667 |
+
padding-right: 15px;
|
668 |
+
}
|
669 |
+
@media (min-width: 768px) {
|
670 |
+
.container {
|
671 |
+
width: 750px;
|
672 |
+
}
|
673 |
+
}
|
674 |
+
@media (min-width: 992px) {
|
675 |
+
.container {
|
676 |
+
width: 970px;
|
677 |
+
}
|
678 |
+
}
|
679 |
+
@media (min-width: 1200px) {
|
680 |
+
.container {
|
681 |
+
width: 1170px;
|
682 |
+
}
|
683 |
+
}
|
684 |
+
.container-fluid {
|
685 |
+
margin-right: auto;
|
686 |
+
margin-left: auto;
|
687 |
+
padding-left: 15px;
|
688 |
+
padding-right: 15px;
|
689 |
+
}
|
690 |
+
.row {
|
691 |
+
margin-left: -15px;
|
692 |
+
margin-right: -15px;
|
693 |
+
}
|
694 |
+
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
|
695 |
+
position: relative;
|
696 |
+
min-height: 1px;
|
697 |
+
padding-left: 15px;
|
698 |
+
padding-right: 15px;
|
699 |
+
}
|
700 |
+
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
|
701 |
+
float: left;
|
702 |
+
}
|
703 |
+
.col-xs-12 {
|
704 |
+
width: 100%;
|
705 |
+
}
|
706 |
+
.col-xs-11 {
|
707 |
+
width: 91.66666667%;
|
708 |
+
}
|
709 |
+
.col-xs-10 {
|
710 |
+
width: 83.33333333%;
|
711 |
+
}
|
712 |
+
.col-xs-9 {
|
713 |
+
width: 75%;
|
714 |
+
}
|
715 |
+
.col-xs-8 {
|
716 |
+
width: 66.66666667%;
|
717 |
+
}
|
718 |
+
.col-xs-7 {
|
719 |
+
width: 58.33333333%;
|
720 |
+
}
|
721 |
+
.col-xs-6 {
|
722 |
+
width: 50%;
|
723 |
+
}
|
724 |
+
.col-xs-5 {
|
725 |
+
width: 41.66666667%;
|
726 |
+
}
|
727 |
+
.col-xs-4 {
|
728 |
+
width: 33.33333333%;
|
729 |
+
}
|
730 |
+
.col-xs-3 {
|
731 |
+
width: 25%;
|
732 |
+
}
|
733 |
+
.col-xs-2 {
|
734 |
+
width: 16.66666667%;
|
735 |
+
}
|
736 |
+
.col-xs-1 {
|
737 |
+
width: 8.33333333%;
|
738 |
+
}
|
739 |
+
.col-xs-pull-12 {
|
740 |
+
right: 100%;
|
741 |
+
}
|
742 |
+
.col-xs-pull-11 {
|
743 |
+
right: 91.66666667%;
|
744 |
+
}
|
745 |
+
.col-xs-pull-10 {
|
746 |
+
right: 83.33333333%;
|
747 |
+
}
|
748 |
+
.col-xs-pull-9 {
|
749 |
+
right: 75%;
|
750 |
+
}
|
751 |
+
.col-xs-pull-8 {
|
752 |
+
right: 66.66666667%;
|
753 |
+
}
|
754 |
+
.col-xs-pull-7 {
|
755 |
+
right: 58.33333333%;
|
756 |
+
}
|
757 |
+
.col-xs-pull-6 {
|
758 |
+
right: 50%;
|
759 |
+
}
|
760 |
+
.col-xs-pull-5 {
|
761 |
+
right: 41.66666667%;
|
762 |
+
}
|
763 |
+
.col-xs-pull-4 {
|
764 |
+
right: 33.33333333%;
|
765 |
+
}
|
766 |
+
.col-xs-pull-3 {
|
767 |
+
right: 25%;
|
768 |
+
}
|
769 |
+
.col-xs-pull-2 {
|
770 |
+
right: 16.66666667%;
|
771 |
+
}
|
772 |
+
.col-xs-pull-1 {
|
773 |
+
right: 8.33333333%;
|
774 |
+
}
|
775 |
+
.col-xs-pull-0 {
|
776 |
+
right: 0%;
|
777 |
+
}
|
778 |
+
.col-xs-push-12 {
|
779 |
+
left: 100%;
|
780 |
+
}
|
781 |
+
.col-xs-push-11 {
|
782 |
+
left: 91.66666667%;
|
783 |
+
}
|
784 |
+
.col-xs-push-10 {
|
785 |
+
left: 83.33333333%;
|
786 |
+
}
|
787 |
+
.col-xs-push-9 {
|
788 |
+
left: 75%;
|
789 |
+
}
|
790 |
+
.col-xs-push-8 {
|
791 |
+
left: 66.66666667%;
|
792 |
+
}
|
793 |
+
.col-xs-push-7 {
|
794 |
+
left: 58.33333333%;
|
795 |
+
}
|
796 |
+
.col-xs-push-6 {
|
797 |
+
left: 50%;
|
798 |
+
}
|
799 |
+
.col-xs-push-5 {
|
800 |
+
left: 41.66666667%;
|
801 |
+
}
|
802 |
+
.col-xs-push-4 {
|
803 |
+
left: 33.33333333%;
|
804 |
+
}
|
805 |
+
.col-xs-push-3 {
|
806 |
+
left: 25%;
|
807 |
+
}
|
808 |
+
.col-xs-push-2 {
|
809 |
+
left: 16.66666667%;
|
810 |
+
}
|
811 |
+
.col-xs-push-1 {
|
812 |
+
left: 8.33333333%;
|
813 |
+
}
|
814 |
+
.col-xs-push-0 {
|
815 |
+
left: 0%;
|
816 |
+
}
|
817 |
+
.col-xs-offset-12 {
|
818 |
+
margin-left: 100%;
|
819 |
+
}
|
820 |
+
.col-xs-offset-11 {
|
821 |
+
margin-left: 91.66666667%;
|
822 |
+
}
|
823 |
+
.col-xs-offset-10 {
|
824 |
+
margin-left: 83.33333333%;
|
825 |
+
}
|
826 |
+
.col-xs-offset-9 {
|
827 |
+
margin-left: 75%;
|
828 |
+
}
|
829 |
+
.col-xs-offset-8 {
|
830 |
+
margin-left: 66.66666667%;
|
831 |
+
}
|
832 |
+
.col-xs-offset-7 {
|
833 |
+
margin-left: 58.33333333%;
|
834 |
+
}
|
835 |
+
.col-xs-offset-6 {
|
836 |
+
margin-left: 50%;
|
837 |
+
}
|
838 |
+
.col-xs-offset-5 {
|
839 |
+
margin-left: 41.66666667%;
|
840 |
+
}
|
841 |
+
.col-xs-offset-4 {
|
842 |
+
margin-left: 33.33333333%;
|
843 |
+
}
|
844 |
+
.col-xs-offset-3 {
|
845 |
+
margin-left: 25%;
|
846 |
+
}
|
847 |
+
.col-xs-offset-2 {
|
848 |
+
margin-left: 16.66666667%;
|
849 |
+
}
|
850 |
+
.col-xs-offset-1 {
|
851 |
+
margin-left: 8.33333333%;
|
852 |
+
}
|
853 |
+
.col-xs-offset-0 {
|
854 |
+
margin-left: 0%;
|
855 |
+
}
|
856 |
+
@media (min-width: 768px) {
|
857 |
+
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
|
858 |
+
float: left;
|
859 |
+
}
|
860 |
+
.col-sm-12 {
|
861 |
+
width: 100%;
|
862 |
+
}
|
863 |
+
.col-sm-11 {
|
864 |
+
width: 91.66666667%;
|
865 |
+
}
|
866 |
+
.col-sm-10 {
|
867 |
+
width: 83.33333333%;
|
868 |
+
}
|
869 |
+
.col-sm-9 {
|
870 |
+
width: 75%;
|
871 |
+
}
|
872 |
+
.col-sm-8 {
|
873 |
+
width: 66.66666667%;
|
874 |
+
}
|
875 |
+
.col-sm-7 {
|
876 |
+
width: 58.33333333%;
|
877 |
+
}
|
878 |
+
.col-sm-6 {
|
879 |
+
width: 50%;
|
880 |
+
}
|
881 |
+
.col-sm-5 {
|
882 |
+
width: 41.66666667%;
|
883 |
+
}
|
884 |
+
.col-sm-4 {
|
885 |
+
width: 33.33333333%;
|
886 |
+
}
|
887 |
+
.col-sm-3 {
|
888 |
+
width: 25%;
|
889 |
+
}
|
890 |
+
.col-sm-2 {
|
891 |
+
width: 16.66666667%;
|
892 |
+
}
|
893 |
+
.col-sm-1 {
|
894 |
+
width: 8.33333333%;
|
895 |
+
}
|
896 |
+
.col-sm-pull-12 {
|
897 |
+
right: 100%;
|
898 |
+
}
|
899 |
+
.col-sm-pull-11 {
|
900 |
+
right: 91.66666667%;
|
901 |
+
}
|
902 |
+
.col-sm-pull-10 {
|
903 |
+
right: 83.33333333%;
|
904 |
+
}
|
905 |
+
.col-sm-pull-9 {
|
906 |
+
right: 75%;
|
907 |
+
}
|
908 |
+
.col-sm-pull-8 {
|
909 |
+
right: 66.66666667%;
|
910 |
+
}
|
911 |
+
.col-sm-pull-7 {
|
912 |
+
right: 58.33333333%;
|
913 |
+
}
|
914 |
+
.col-sm-pull-6 {
|
915 |
+
right: 50%;
|
916 |
+
}
|
917 |
+
.col-sm-pull-5 {
|
918 |
+
right: 41.66666667%;
|
919 |
+
}
|
920 |
+
.col-sm-pull-4 {
|
921 |
+
right: 33.33333333%;
|
922 |
+
}
|
923 |
+
.col-sm-pull-3 {
|
924 |
+
right: 25%;
|
925 |
+
}
|
926 |
+
.col-sm-pull-2 {
|
927 |
+
right: 16.66666667%;
|
928 |
+
}
|
929 |
+
.col-sm-pull-1 {
|
930 |
+
right: 8.33333333%;
|
931 |
+
}
|
932 |
+
.col-sm-pull-0 {
|
933 |
+
right: 0%;
|
934 |
+
}
|
935 |
+
.col-sm-push-12 {
|
936 |
+
left: 100%;
|
937 |
+
}
|
938 |
+
.col-sm-push-11 {
|
939 |
+
left: 91.66666667%;
|
940 |
+
}
|
941 |
+
.col-sm-push-10 {
|
942 |
+
left: 83.33333333%;
|
943 |
+
}
|
944 |
+
.col-sm-push-9 {
|
945 |
+
left: 75%;
|
946 |
+
}
|
947 |
+
.col-sm-push-8 {
|
948 |
+
left: 66.66666667%;
|
949 |
+
}
|
950 |
+
.col-sm-push-7 {
|
951 |
+
left: 58.33333333%;
|
952 |
+
}
|
953 |
+
.col-sm-push-6 {
|
954 |
+
left: 50%;
|
955 |
+
}
|
956 |
+
.col-sm-push-5 {
|
957 |
+
left: 41.66666667%;
|
958 |
+
}
|
959 |
+
.col-sm-push-4 {
|
960 |
+
left: 33.33333333%;
|
961 |
+
}
|
962 |
+
.col-sm-push-3 {
|
963 |
+
left: 25%;
|
964 |
+
}
|
965 |
+
.col-sm-push-2 {
|
966 |
+
left: 16.66666667%;
|
967 |
+
}
|
968 |
+
.col-sm-push-1 {
|
969 |
+
left: 8.33333333%;
|
970 |
+
}
|
971 |
+
.col-sm-push-0 {
|
972 |
+
left: 0%;
|
973 |
+
}
|
974 |
+
.col-sm-offset-12 {
|
975 |
+
margin-left: 100%;
|
976 |
+
}
|
977 |
+
.col-sm-offset-11 {
|
978 |
+
margin-left: 91.66666667%;
|
979 |
+
}
|
980 |
+
.col-sm-offset-10 {
|
981 |
+
margin-left: 83.33333333%;
|
982 |
+
}
|
983 |
+
.col-sm-offset-9 {
|
984 |
+
margin-left: 75%;
|
985 |
+
}
|
986 |
+
.col-sm-offset-8 {
|
987 |
+
margin-left: 66.66666667%;
|
988 |
+
}
|
989 |
+
.col-sm-offset-7 {
|
990 |
+
margin-left: 58.33333333%;
|
991 |
+
}
|
992 |
+
.col-sm-offset-6 {
|
993 |
+
margin-left: 50%;
|
994 |
+
}
|
995 |
+
.col-sm-offset-5 {
|
996 |
+
margin-left: 41.66666667%;
|
997 |
+
}
|
998 |
+
.col-sm-offset-4 {
|
999 |
+
margin-left: 33.33333333%;
|
1000 |
+
}
|
1001 |
+
.col-sm-offset-3 {
|
1002 |
+
margin-left: 25%;
|
1003 |
+
}
|
1004 |
+
.col-sm-offset-2 {
|
1005 |
+
margin-left: 16.66666667%;
|
1006 |
+
}
|
1007 |
+
.col-sm-offset-1 {
|
1008 |
+
margin-left: 8.33333333%;
|
1009 |
+
}
|
1010 |
+
.col-sm-offset-0 {
|
1011 |
+
margin-left: 0%;
|
1012 |
+
}
|
1013 |
+
}
|
1014 |
+
@media (min-width: 992px) {
|
1015 |
+
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
|
1016 |
+
float: left;
|
1017 |
+
}
|
1018 |
+
.col-md-12 {
|
1019 |
+
width: 100%;
|
1020 |
+
}
|
1021 |
+
.col-md-11 {
|
1022 |
+
width: 91.66666667%;
|
1023 |
+
}
|
1024 |
+
.col-md-10 {
|
1025 |
+
width: 83.33333333%;
|
1026 |
+
}
|
1027 |
+
.col-md-9 {
|
1028 |
+
width: 75%;
|
1029 |
+
}
|
1030 |
+
.col-md-8 {
|
1031 |
+
width: 66.66666667%;
|
1032 |
+
}
|
1033 |
+
.col-md-7 {
|
1034 |
+
width: 58.33333333%;
|
1035 |
+
}
|
1036 |
+
.col-md-6 {
|
1037 |
+
width: 50%;
|
1038 |
+
}
|
1039 |
+
.col-md-5 {
|
1040 |
+
width: 41.66666667%;
|
1041 |
+
}
|
1042 |
+
.col-md-4 {
|
1043 |
+
width: 33.33333333%;
|
1044 |
+
}
|
1045 |
+
.col-md-3 {
|
1046 |
+
width: 25%;
|
1047 |
+
}
|
1048 |
+
.col-md-2 {
|
1049 |
+
width: 16.66666667%;
|
1050 |
+
}
|
1051 |
+
.col-md-1 {
|
1052 |
+
width: 8.33333333%;
|
1053 |
+
}
|
1054 |
+
.col-md-pull-12 {
|
1055 |
+
right: 100%;
|
1056 |
+
}
|
1057 |
+
.col-md-pull-11 {
|
1058 |
+
right: 91.66666667%;
|
1059 |
+
}
|
1060 |
+
.col-md-pull-10 {
|
1061 |
+
right: 83.33333333%;
|
1062 |
+
}
|
1063 |
+
.col-md-pull-9 {
|
1064 |
+
right: 75%;
|
1065 |
+
}
|
1066 |
+
.col-md-pull-8 {
|
1067 |
+
right: 66.66666667%;
|
1068 |
+
}
|
1069 |
+
.col-md-pull-7 {
|
1070 |
+
right: 58.33333333%;
|
1071 |
+
}
|
1072 |
+
.col-md-pull-6 {
|
1073 |
+
right: 50%;
|
1074 |
+
}
|
1075 |
+
.col-md-pull-5 {
|
1076 |
+
right: 41.66666667%;
|
1077 |
+
}
|
1078 |
+
.col-md-pull-4 {
|
1079 |
+
right: 33.33333333%;
|
1080 |
+
}
|
1081 |
+
.col-md-pull-3 {
|
1082 |
+
right: 25%;
|
1083 |
+
}
|
1084 |
+
.col-md-pull-2 {
|
1085 |
+
right: 16.66666667%;
|
1086 |
+
}
|
1087 |
+
.col-md-pull-1 {
|
1088 |
+
right: 8.33333333%;
|
1089 |
+
}
|
1090 |
+
.col-md-pull-0 {
|
1091 |
+
right: 0%;
|
1092 |
+
}
|
1093 |
+
.col-md-push-12 {
|
1094 |
+
left: 100%;
|
1095 |
+
}
|
1096 |
+
.col-md-push-11 {
|
1097 |
+
left: 91.66666667%;
|
1098 |
+
}
|
1099 |
+
.col-md-push-10 {
|
1100 |
+
left: 83.33333333%;
|
1101 |
+
}
|
1102 |
+
.col-md-push-9 {
|
1103 |
+
left: 75%;
|
1104 |
+
}
|
1105 |
+
.col-md-push-8 {
|
1106 |
+
left: 66.66666667%;
|
1107 |
+
}
|
1108 |
+
.col-md-push-7 {
|
1109 |
+
left: 58.33333333%;
|
1110 |
+
}
|
1111 |
+
.col-md-push-6 {
|
1112 |
+
left: 50%;
|
1113 |
+
}
|
1114 |
+
.col-md-push-5 {
|
1115 |
+
left: 41.66666667%;
|
1116 |
+
}
|
1117 |
+
.col-md-push-4 {
|
1118 |
+
left: 33.33333333%;
|
1119 |
+
}
|
1120 |
+
.col-md-push-3 {
|
1121 |
+
left: 25%;
|
1122 |
+
}
|
1123 |
+
.col-md-push-2 {
|
1124 |
+
left: 16.66666667%;
|
1125 |
+
}
|
1126 |
+
.col-md-push-1 {
|
1127 |
+
left: 8.33333333%;
|
1128 |
+
}
|
1129 |
+
.col-md-push-0 {
|
1130 |
+
left: 0%;
|
1131 |
+
}
|
1132 |
+
.col-md-offset-12 {
|
1133 |
+
margin-left: 100%;
|
1134 |
+
}
|
1135 |
+
.col-md-offset-11 {
|
1136 |
+
margin-left: 91.66666667%;
|
1137 |
+
}
|
1138 |
+
.col-md-offset-10 {
|
1139 |
+
margin-left: 83.33333333%;
|
1140 |
+
}
|
1141 |
+
.col-md-offset-9 {
|
1142 |
+
margin-left: 75%;
|
1143 |
+
}
|
1144 |
+
.col-md-offset-8 {
|
1145 |
+
margin-left: 66.66666667%;
|
1146 |
+
}
|
1147 |
+
.col-md-offset-7 {
|
1148 |
+
margin-left: 58.33333333%;
|
1149 |
+
}
|
1150 |
+
.col-md-offset-6 {
|
1151 |
+
margin-left: 50%;
|
1152 |
+
}
|
1153 |
+
.col-md-offset-5 {
|
1154 |
+
margin-left: 41.66666667%;
|
1155 |
+
}
|
1156 |
+
.col-md-offset-4 {
|
1157 |
+
margin-left: 33.33333333%;
|
1158 |
+
}
|
1159 |
+
.col-md-offset-3 {
|
1160 |
+
margin-left: 25%;
|
1161 |
+
}
|
1162 |
+
.col-md-offset-2 {
|
1163 |
+
margin-left: 16.66666667%;
|
1164 |
+
}
|
1165 |
+
.col-md-offset-1 {
|
1166 |
+
margin-left: 8.33333333%;
|
1167 |
+
}
|
1168 |
+
.col-md-offset-0 {
|
1169 |
+
margin-left: 0%;
|
1170 |
+
}
|
1171 |
+
}
|
1172 |
+
@media (min-width: 1200px) {
|
1173 |
+
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
|
1174 |
+
float: left;
|
1175 |
+
}
|
1176 |
+
.col-lg-12 {
|
1177 |
+
width: 100%;
|
1178 |
+
}
|
1179 |
+
.col-lg-11 {
|
1180 |
+
width: 91.66666667%;
|
1181 |
+
}
|
1182 |
+
.col-lg-10 {
|
1183 |
+
width: 83.33333333%;
|
1184 |
+
}
|
1185 |
+
.col-lg-9 {
|
1186 |
+
width: 75%;
|
1187 |
+
}
|
1188 |
+
.col-lg-8 {
|
1189 |
+
width: 66.66666667%;
|
1190 |
+
}
|
1191 |
+
.col-lg-7 {
|
1192 |
+
width: 58.33333333%;
|
1193 |
+
}
|
1194 |
+
.col-lg-6 {
|
1195 |
+
width: 50%;
|
1196 |
+
}
|
1197 |
+
.col-lg-5 {
|
1198 |
+
width: 41.66666667%;
|
1199 |
+
}
|
1200 |
+
.col-lg-4 {
|
1201 |
+
width: 33.33333333%;
|
1202 |
+
}
|
1203 |
+
.col-lg-3 {
|
1204 |
+
width: 25%;
|
1205 |
+
}
|
1206 |
+
.col-lg-2 {
|
1207 |
+
width: 16.66666667%;
|
1208 |
+
}
|
1209 |
+
.col-lg-1 {
|
1210 |
+
width: 8.33333333%;
|
1211 |
+
}
|
1212 |
+
.col-lg-pull-12 {
|
1213 |
+
right: 100%;
|
1214 |
+
}
|
1215 |
+
.col-lg-pull-11 {
|
1216 |
+
right: 91.66666667%;
|
1217 |
+
}
|
1218 |
+
.col-lg-pull-10 {
|
1219 |
+
right: 83.33333333%;
|
1220 |
+
}
|
1221 |
+
.col-lg-pull-9 {
|
1222 |
+
right: 75%;
|
1223 |
+
}
|
1224 |
+
.col-lg-pull-8 {
|
1225 |
+
right: 66.66666667%;
|
1226 |
+
}
|
1227 |
+
.col-lg-pull-7 {
|
1228 |
+
right: 58.33333333%;
|
1229 |
+
}
|
1230 |
+
.col-lg-pull-6 {
|
1231 |
+
right: 50%;
|
1232 |
+
}
|
1233 |
+
.col-lg-pull-5 {
|
1234 |
+
right: 41.66666667%;
|
1235 |
+
}
|
1236 |
+
.col-lg-pull-4 {
|
1237 |
+
right: 33.33333333%;
|
1238 |
+
}
|
1239 |
+
.col-lg-pull-3 {
|
1240 |
+
right: 25%;
|
1241 |
+
}
|
1242 |
+
.col-lg-pull-2 {
|
1243 |
+
right: 16.66666667%;
|
1244 |
+
}
|
1245 |
+
.col-lg-pull-1 {
|
1246 |
+
right: 8.33333333%;
|
1247 |
+
}
|
1248 |
+
.col-lg-pull-0 {
|
1249 |
+
right: 0%;
|
1250 |
+
}
|
1251 |
+
.col-lg-push-12 {
|
1252 |
+
left: 100%;
|
1253 |
+
}
|
1254 |
+
.col-lg-push-11 {
|
1255 |
+
left: 91.66666667%;
|
1256 |
+
}
|
1257 |
+
.col-lg-push-10 {
|
1258 |
+
left: 83.33333333%;
|
1259 |
+
}
|
1260 |
+
.col-lg-push-9 {
|
1261 |
+
left: 75%;
|
1262 |
+
}
|
1263 |
+
.col-lg-push-8 {
|
1264 |
+
left: 66.66666667%;
|
1265 |
+
}
|
1266 |
+
.col-lg-push-7 {
|
1267 |
+
left: 58.33333333%;
|
1268 |
+
}
|
1269 |
+
.col-lg-push-6 {
|
1270 |
+
left: 50%;
|
1271 |
+
}
|
1272 |
+
.col-lg-push-5 {
|
1273 |
+
left: 41.66666667%;
|
1274 |
+
}
|
1275 |
+
.col-lg-push-4 {
|
1276 |
+
left: 33.33333333%;
|
1277 |
+
}
|
1278 |
+
.col-lg-push-3 {
|
1279 |
+
left: 25%;
|
1280 |
+
}
|
1281 |
+
.col-lg-push-2 {
|
1282 |
+
left: 16.66666667%;
|
1283 |
+
}
|
1284 |
+
.col-lg-push-1 {
|
1285 |
+
left: 8.33333333%;
|
1286 |
+
}
|
1287 |
+
.col-lg-push-0 {
|
1288 |
+
left: 0%;
|
1289 |
+
}
|
1290 |
+
.col-lg-offset-12 {
|
1291 |
+
margin-left: 100%;
|
1292 |
+
}
|
1293 |
+
.col-lg-offset-11 {
|
1294 |
+
margin-left: 91.66666667%;
|
1295 |
+
}
|
1296 |
+
.col-lg-offset-10 {
|
1297 |
+
margin-left: 83.33333333%;
|
1298 |
+
}
|
1299 |
+
.col-lg-offset-9 {
|
1300 |
+
margin-left: 75%;
|
1301 |
+
}
|
1302 |
+
.col-lg-offset-8 {
|
1303 |
+
margin-left: 66.66666667%;
|
1304 |
+
}
|
1305 |
+
.col-lg-offset-7 {
|
1306 |
+
margin-left: 58.33333333%;
|
1307 |
+
}
|
1308 |
+
.col-lg-offset-6 {
|
1309 |
+
margin-left: 50%;
|
1310 |
+
}
|
1311 |
+
.col-lg-offset-5 {
|
1312 |
+
margin-left: 41.66666667%;
|
1313 |
+
}
|
1314 |
+
.col-lg-offset-4 {
|
1315 |
+
margin-left: 33.33333333%;
|
1316 |
+
}
|
1317 |
+
.col-lg-offset-3 {
|
1318 |
+
margin-left: 25%;
|
1319 |
+
}
|
1320 |
+
.col-lg-offset-2 {
|
1321 |
+
margin-left: 16.66666667%;
|
1322 |
+
}
|
1323 |
+
.col-lg-offset-1 {
|
1324 |
+
margin-left: 8.33333333%;
|
1325 |
+
}
|
1326 |
+
.col-lg-offset-0 {
|
1327 |
+
margin-left: 0%;
|
1328 |
+
}
|
1329 |
+
}
|
1330 |
+
table {
|
1331 |
+
max-width: 100%;
|
1332 |
+
background-color: transparent;
|
1333 |
+
}
|
1334 |
+
th {
|
1335 |
+
text-align: left;
|
1336 |
+
}
|
1337 |
+
.table {
|
1338 |
+
width: 100%;
|
1339 |
+
margin-bottom: 20px;
|
1340 |
+
}
|
1341 |
+
.table > thead > tr > th,
|
1342 |
+
.table > tbody > tr > th,
|
1343 |
+
.table > tfoot > tr > th,
|
1344 |
+
.table > thead > tr > td,
|
1345 |
+
.table > tbody > tr > td,
|
1346 |
+
.table > tfoot > tr > td {
|
1347 |
+
padding: 8px;
|
1348 |
+
line-height: 1.42857143;
|
1349 |
+
vertical-align: top;
|
1350 |
+
border-top: 1px solid #dddddd;
|
1351 |
+
}
|
1352 |
+
.table > thead > tr > th {
|
1353 |
+
vertical-align: bottom;
|
1354 |
+
border-bottom: 2px solid #dddddd;
|
1355 |
+
}
|
1356 |
+
.table > caption + thead > tr:first-child > th,
|
1357 |
+
.table > colgroup + thead > tr:first-child > th,
|
1358 |
+
.table > thead:first-child > tr:first-child > th,
|
1359 |
+
.table > caption + thead > tr:first-child > td,
|
1360 |
+
.table > colgroup + thead > tr:first-child > td,
|
1361 |
+
.table > thead:first-child > tr:first-child > td {
|
1362 |
+
border-top: 0;
|
1363 |
+
}
|
1364 |
+
.table > tbody + tbody {
|
1365 |
+
border-top: 2px solid #dddddd;
|
1366 |
+
}
|
1367 |
+
.table .table {
|
1368 |
+
background-color: #ffffff;
|
1369 |
+
}
|
1370 |
+
.table-condensed > thead > tr > th,
|
1371 |
+
.table-condensed > tbody > tr > th,
|
1372 |
+
.table-condensed > tfoot > tr > th,
|
1373 |
+
.table-condensed > thead > tr > td,
|
1374 |
+
.table-condensed > tbody > tr > td,
|
1375 |
+
.table-condensed > tfoot > tr > td {
|
1376 |
+
padding: 5px;
|
1377 |
+
}
|
1378 |
+
.table-bordered {
|
1379 |
+
border: 1px solid #dddddd;
|
1380 |
+
}
|
1381 |
+
.table-bordered > thead > tr > th,
|
1382 |
+
.table-bordered > tbody > tr > th,
|
1383 |
+
.table-bordered > tfoot > tr > th,
|
1384 |
+
.table-bordered > thead > tr > td,
|
1385 |
+
.table-bordered > tbody > tr > td,
|
1386 |
+
.table-bordered > tfoot > tr > td {
|
1387 |
+
border: 1px solid #dddddd;
|
1388 |
+
}
|
1389 |
+
.table-bordered > thead > tr > th,
|
1390 |
+
.table-bordered > thead > tr > td {
|
1391 |
+
border-bottom-width: 2px;
|
1392 |
+
}
|
1393 |
+
.table-striped > tbody > tr:nth-child(odd) > td,
|
1394 |
+
.table-striped > tbody > tr:nth-child(odd) > th {
|
1395 |
+
background-color: #f9f9f9;
|
1396 |
+
}
|
1397 |
+
.table-hover > tbody > tr:hover > td,
|
1398 |
+
.table-hover > tbody > tr:hover > th {
|
1399 |
+
background-color: #f5f5f5;
|
1400 |
+
}
|
1401 |
+
table col[class*="col-"] {
|
1402 |
+
position: static;
|
1403 |
+
float: none;
|
1404 |
+
display: table-column;
|
1405 |
+
}
|
1406 |
+
table td[class*="col-"],
|
1407 |
+
table th[class*="col-"] {
|
1408 |
+
position: static;
|
1409 |
+
float: none;
|
1410 |
+
display: table-cell;
|
1411 |
+
}
|
1412 |
+
.table > thead > tr > td.active,
|
1413 |
+
.table > tbody > tr > td.active,
|
1414 |
+
.table > tfoot > tr > td.active,
|
1415 |
+
.table > thead > tr > th.active,
|
1416 |
+
.table > tbody > tr > th.active,
|
1417 |
+
.table > tfoot > tr > th.active,
|
1418 |
+
.table > thead > tr.active > td,
|
1419 |
+
.table > tbody > tr.active > td,
|
1420 |
+
.table > tfoot > tr.active > td,
|
1421 |
+
.table > thead > tr.active > th,
|
1422 |
+
.table > tbody > tr.active > th,
|
1423 |
+
.table > tfoot > tr.active > th {
|
1424 |
+
background-color: #f5f5f5;
|
1425 |
+
}
|
1426 |
+
.table-hover > tbody > tr > td.active:hover,
|
1427 |
+
.table-hover > tbody > tr > th.active:hover,
|
1428 |
+
.table-hover > tbody > tr.active:hover > td,
|
1429 |
+
.table-hover > tbody > tr.active:hover > th {
|
1430 |
+
background-color: #e8e8e8;
|
1431 |
+
}
|
1432 |
+
.table > thead > tr > td.success,
|
1433 |
+
.table > tbody > tr > td.success,
|
1434 |
+
.table > tfoot > tr > td.success,
|
1435 |
+
.table > thead > tr > th.success,
|
1436 |
+
.table > tbody > tr > th.success,
|
1437 |
+
.table > tfoot > tr > th.success,
|
1438 |
+
.table > thead > tr.success > td,
|
1439 |
+
.table > tbody > tr.success > td,
|
1440 |
+
.table > tfoot > tr.success > td,
|
1441 |
+
.table > thead > tr.success > th,
|
1442 |
+
.table > tbody > tr.success > th,
|
1443 |
+
.table > tfoot > tr.success > th {
|
1444 |
+
background-color: #dff0d8;
|
1445 |
+
}
|
1446 |
+
.table-hover > tbody > tr > td.success:hover,
|
1447 |
+
.table-hover > tbody > tr > th.success:hover,
|
1448 |
+
.table-hover > tbody > tr.success:hover > td,
|
1449 |
+
.table-hover > tbody > tr.success:hover > th {
|
1450 |
+
background-color: #d0e9c6;
|
1451 |
+
}
|
1452 |
+
.table > thead > tr > td.info,
|
1453 |
+
.table > tbody > tr > td.info,
|
1454 |
+
.table > tfoot > tr > td.info,
|
1455 |
+
.table > thead > tr > th.info,
|
1456 |
+
.table > tbody > tr > th.info,
|
1457 |
+
.table > tfoot > tr > th.info,
|
1458 |
+
.table > thead > tr.info > td,
|
1459 |
+
.table > tbody > tr.info > td,
|
1460 |
+
.table > tfoot > tr.info > td,
|
1461 |
+
.table > thead > tr.info > th,
|
1462 |
+
.table > tbody > tr.info > th,
|
1463 |
+
.table > tfoot > tr.info > th {
|
1464 |
+
background-color: #d9edf7;
|
1465 |
+
}
|
1466 |
+
.table-hover > tbody > tr > td.info:hover,
|
1467 |
+
.table-hover > tbody > tr > th.info:hover,
|
1468 |
+
.table-hover > tbody > tr.info:hover > td,
|
1469 |
+
.table-hover > tbody > tr.info:hover > th {
|
1470 |
+
background-color: #c4e3f3;
|
1471 |
+
}
|
1472 |
+
.table > thead > tr > td.warning,
|
1473 |
+
.table > tbody > tr > td.warning,
|
1474 |
+
.table > tfoot > tr > td.warning,
|
1475 |
+
.table > thead > tr > th.warning,
|
1476 |
+
.table > tbody > tr > th.warning,
|
1477 |
+
.table > tfoot > tr > th.warning,
|
1478 |
+
.table > thead > tr.warning > td,
|
1479 |
+
.table > tbody > tr.warning > td,
|
1480 |
+
.table > tfoot > tr.warning > td,
|
1481 |
+
.table > thead > tr.warning > th,
|
1482 |
+
.table > tbody > tr.warning > th,
|
1483 |
+
.table > tfoot > tr.warning > th {
|
1484 |
+
background-color: #fcf8e3;
|
1485 |
+
}
|
1486 |
+
.table-hover > tbody > tr > td.warning:hover,
|
1487 |
+
.table-hover > tbody > tr > th.warning:hover,
|
1488 |
+
.table-hover > tbody > tr.warning:hover > td,
|
1489 |
+
.table-hover > tbody > tr.warning:hover > th {
|
1490 |
+
background-color: #faf2cc;
|
1491 |
+
}
|
1492 |
+
.table > thead > tr > td.danger,
|
1493 |
+
.table > tbody > tr > td.danger,
|
1494 |
+
.table > tfoot > tr > td.danger,
|
1495 |
+
.table > thead > tr > th.danger,
|
1496 |
+
.table > tbody > tr > th.danger,
|
1497 |
+
.table > tfoot > tr > th.danger,
|
1498 |
+
.table > thead > tr.danger > td,
|
1499 |
+
.table > tbody > tr.danger > td,
|
1500 |
+
.table > tfoot > tr.danger > td,
|
1501 |
+
.table > thead > tr.danger > th,
|
1502 |
+
.table > tbody > tr.danger > th,
|
1503 |
+
.table > tfoot > tr.danger > th {
|
1504 |
+
background-color: #f2dede;
|
1505 |
+
}
|
1506 |
+
.table-hover > tbody > tr > td.danger:hover,
|
1507 |
+
.table-hover > tbody > tr > th.danger:hover,
|
1508 |
+
.table-hover > tbody > tr.danger:hover > td,
|
1509 |
+
.table-hover > tbody > tr.danger:hover > th {
|
1510 |
+
background-color: #ebcccc;
|
1511 |
+
}
|
1512 |
+
@media (max-width: 767px) {
|
1513 |
+
.table-responsive {
|
1514 |
+
width: 100%;
|
1515 |
+
margin-bottom: 15px;
|
1516 |
+
overflow-y: hidden;
|
1517 |
+
overflow-x: scroll;
|
1518 |
+
-ms-overflow-style: -ms-autohiding-scrollbar;
|
1519 |
+
border: 1px solid #dddddd;
|
1520 |
+
-webkit-overflow-scrolling: touch;
|
1521 |
+
}
|
1522 |
+
.table-responsive > .table {
|
1523 |
+
margin-bottom: 0;
|
1524 |
+
}
|
1525 |
+
.table-responsive > .table > thead > tr > th,
|
1526 |
+
.table-responsive > .table > tbody > tr > th,
|
1527 |
+
.table-responsive > .table > tfoot > tr > th,
|
1528 |
+
.table-responsive > .table > thead > tr > td,
|
1529 |
+
.table-responsive > .table > tbody > tr > td,
|
1530 |
+
.table-responsive > .table > tfoot > tr > td {
|
1531 |
+
white-space: nowrap;
|
1532 |
+
}
|
1533 |
+
.table-responsive > .table-bordered {
|
1534 |
+
border: 0;
|
1535 |
+
}
|
1536 |
+
.table-responsive > .table-bordered > thead > tr > th:first-child,
|
1537 |
+
.table-responsive > .table-bordered > tbody > tr > th:first-child,
|
1538 |
+
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
1539 |
+
.table-responsive > .table-bordered > thead > tr > td:first-child,
|
1540 |
+
.table-responsive > .table-bordered > tbody > tr > td:first-child,
|
1541 |
+
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
1542 |
+
border-left: 0;
|
1543 |
+
}
|
1544 |
+
.table-responsive > .table-bordered > thead > tr > th:last-child,
|
1545 |
+
.table-responsive > .table-bordered > tbody > tr > th:last-child,
|
1546 |
+
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
1547 |
+
.table-responsive > .table-bordered > thead > tr > td:last-child,
|
1548 |
+
.table-responsive > .table-bordered > tbody > tr > td:last-child,
|
1549 |
+
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
1550 |
+
border-right: 0;
|
1551 |
+
}
|
1552 |
+
.table-responsive > .table-bordered > tbody > tr:last-child > th,
|
1553 |
+
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
1554 |
+
.table-responsive > .table-bordered > tbody > tr:last-child > td,
|
1555 |
+
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
|
1556 |
+
border-bottom: 0;
|
1557 |
+
}
|
1558 |
+
}
|
1559 |
+
fieldset {
|
1560 |
+
padding: 0;
|
1561 |
+
margin: 0;
|
1562 |
+
border: 0;
|
1563 |
+
min-width: 0;
|
1564 |
+
}
|
1565 |
+
legend {
|
1566 |
+
display: block;
|
1567 |
+
width: 100%;
|
1568 |
+
padding: 0;
|
1569 |
+
margin-bottom: 20px;
|
1570 |
+
font-size: 21px;
|
1571 |
+
line-height: inherit;
|
1572 |
+
color: #333333;
|
1573 |
+
border: 0;
|
1574 |
+
border-bottom: 1px solid #e5e5e5;
|
1575 |
+
}
|
1576 |
+
label {
|
1577 |
+
display: inline-block;
|
1578 |
+
margin-bottom: 5px;
|
1579 |
+
font-weight: bold;
|
1580 |
+
}
|
1581 |
+
input[type="search"] {
|
1582 |
+
-webkit-box-sizing: border-box;
|
1583 |
+
-moz-box-sizing: border-box;
|
1584 |
+
box-sizing: border-box;
|
1585 |
+
}
|
1586 |
+
input[type="radio"],
|
1587 |
+
input[type="checkbox"] {
|
1588 |
+
margin: 4px 0 0;
|
1589 |
+
margin-top: 1px \9;
|
1590 |
+
/* IE8-9 */
|
1591 |
+
line-height: normal;
|
1592 |
+
}
|
1593 |
+
input[type="file"] {
|
1594 |
+
display: block;
|
1595 |
+
}
|
1596 |
+
input[type="range"] {
|
1597 |
+
display: block;
|
1598 |
+
width: 100%;
|
1599 |
+
}
|
1600 |
+
select[multiple],
|
1601 |
+
select[size] {
|
1602 |
+
height: auto;
|
1603 |
+
}
|
1604 |
+
input[type="file"]:focus,
|
1605 |
+
input[type="radio"]:focus,
|
1606 |
+
input[type="checkbox"]:focus {
|
1607 |
+
outline: thin dotted;
|
1608 |
+
outline: 5px auto -webkit-focus-ring-color;
|
1609 |
+
outline-offset: -2px;
|
1610 |
+
}
|
1611 |
+
output {
|
1612 |
+
display: block;
|
1613 |
+
padding-top: 7px;
|
1614 |
+
font-size: 14px;
|
1615 |
+
line-height: 1.42857143;
|
1616 |
+
color: #555555;
|
1617 |
+
}
|
1618 |
+
.form-control {
|
1619 |
+
display: block;
|
1620 |
+
width: 100%;
|
1621 |
+
height: 34px;
|
1622 |
+
padding: 6px 12px;
|
1623 |
+
font-size: 14px;
|
1624 |
+
line-height: 1.42857143;
|
1625 |
+
color: #555555;
|
1626 |
+
background-color: #ffffff;
|
1627 |
+
background-image: none;
|
1628 |
+
border: 1px solid #cccccc;
|
1629 |
+
border-radius: 4px;
|
1630 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1631 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1632 |
+
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
1633 |
+
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
1634 |
+
}
|
1635 |
+
.form-control:focus {
|
1636 |
+
border-color: #66afe9;
|
1637 |
+
outline: 0;
|
1638 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
1639 |
+
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
|
1640 |
+
}
|
1641 |
+
.form-control::-moz-placeholder {
|
1642 |
+
color: #999999;
|
1643 |
+
opacity: 1;
|
1644 |
+
}
|
1645 |
+
.form-control:-ms-input-placeholder {
|
1646 |
+
color: #999999;
|
1647 |
+
}
|
1648 |
+
.form-control::-webkit-input-placeholder {
|
1649 |
+
color: #999999;
|
1650 |
+
}
|
1651 |
+
.form-control[disabled],
|
1652 |
+
.form-control[readonly],
|
1653 |
+
fieldset[disabled] .form-control {
|
1654 |
+
cursor: not-allowed;
|
1655 |
+
background-color: #eeeeee;
|
1656 |
+
opacity: 1;
|
1657 |
+
}
|
1658 |
+
textarea.form-control {
|
1659 |
+
height: auto;
|
1660 |
+
}
|
1661 |
+
input[type="search"] {
|
1662 |
+
-webkit-appearance: none;
|
1663 |
+
}
|
1664 |
+
input[type="date"] {
|
1665 |
+
line-height: 34px;
|
1666 |
+
}
|
1667 |
+
.form-group {
|
1668 |
+
margin-bottom: 15px;
|
1669 |
+
}
|
1670 |
+
.radio,
|
1671 |
+
.checkbox {
|
1672 |
+
display: block;
|
1673 |
+
min-height: 20px;
|
1674 |
+
margin-top: 10px;
|
1675 |
+
margin-bottom: 10px;
|
1676 |
+
padding-left: 20px;
|
1677 |
+
}
|
1678 |
+
.radio label,
|
1679 |
+
.checkbox label {
|
1680 |
+
display: inline;
|
1681 |
+
font-weight: normal;
|
1682 |
+
cursor: pointer;
|
1683 |
+
}
|
1684 |
+
.radio input[type="radio"],
|
1685 |
+
.radio-inline input[type="radio"],
|
1686 |
+
.checkbox input[type="checkbox"],
|
1687 |
+
.checkbox-inline input[type="checkbox"] {
|
1688 |
+
float: left;
|
1689 |
+
margin-left: -20px;
|
1690 |
+
}
|
1691 |
+
.radio + .radio,
|
1692 |
+
.checkbox + .checkbox {
|
1693 |
+
margin-top: -5px;
|
1694 |
+
}
|
1695 |
+
.radio-inline,
|
1696 |
+
.checkbox-inline {
|
1697 |
+
display: inline-block;
|
1698 |
+
padding-left: 20px;
|
1699 |
+
margin-bottom: 0;
|
1700 |
+
vertical-align: middle;
|
1701 |
+
font-weight: normal;
|
1702 |
+
cursor: pointer;
|
1703 |
+
}
|
1704 |
+
.radio-inline + .radio-inline,
|
1705 |
+
.checkbox-inline + .checkbox-inline {
|
1706 |
+
margin-top: 0;
|
1707 |
+
margin-left: 10px;
|
1708 |
+
}
|
1709 |
+
input[type="radio"][disabled],
|
1710 |
+
input[type="checkbox"][disabled],
|
1711 |
+
.radio[disabled],
|
1712 |
+
.radio-inline[disabled],
|
1713 |
+
.checkbox[disabled],
|
1714 |
+
.checkbox-inline[disabled],
|
1715 |
+
fieldset[disabled] input[type="radio"],
|
1716 |
+
fieldset[disabled] input[type="checkbox"],
|
1717 |
+
fieldset[disabled] .radio,
|
1718 |
+
fieldset[disabled] .radio-inline,
|
1719 |
+
fieldset[disabled] .checkbox,
|
1720 |
+
fieldset[disabled] .checkbox-inline {
|
1721 |
+
cursor: not-allowed;
|
1722 |
+
}
|
1723 |
+
.input-sm {
|
1724 |
+
height: 30px;
|
1725 |
+
padding: 5px 10px;
|
1726 |
+
font-size: 12px;
|
1727 |
+
line-height: 1.5;
|
1728 |
+
border-radius: 3px;
|
1729 |
+
}
|
1730 |
+
select.input-sm {
|
1731 |
+
height: 30px;
|
1732 |
+
line-height: 30px;
|
1733 |
+
}
|
1734 |
+
textarea.input-sm,
|
1735 |
+
select[multiple].input-sm {
|
1736 |
+
height: auto;
|
1737 |
+
}
|
1738 |
+
.input-lg {
|
1739 |
+
height: 46px;
|
1740 |
+
padding: 10px 16px;
|
1741 |
+
font-size: 18px;
|
1742 |
+
line-height: 1.33;
|
1743 |
+
border-radius: 6px;
|
1744 |
+
}
|
1745 |
+
select.input-lg {
|
1746 |
+
height: 46px;
|
1747 |
+
line-height: 46px;
|
1748 |
+
}
|
1749 |
+
textarea.input-lg,
|
1750 |
+
select[multiple].input-lg {
|
1751 |
+
height: auto;
|
1752 |
+
}
|
1753 |
+
.has-feedback {
|
1754 |
+
position: relative;
|
1755 |
+
}
|
1756 |
+
.has-feedback .form-control {
|
1757 |
+
padding-right: 42.5px;
|
1758 |
+
}
|
1759 |
+
.has-feedback .form-control-feedback {
|
1760 |
+
position: absolute;
|
1761 |
+
top: 25px;
|
1762 |
+
right: 0;
|
1763 |
+
display: block;
|
1764 |
+
width: 34px;
|
1765 |
+
height: 34px;
|
1766 |
+
line-height: 34px;
|
1767 |
+
text-align: center;
|
1768 |
+
}
|
1769 |
+
.has-success .help-block,
|
1770 |
+
.has-success .control-label,
|
1771 |
+
.has-success .radio,
|
1772 |
+
.has-success .checkbox,
|
1773 |
+
.has-success .radio-inline,
|
1774 |
+
.has-success .checkbox-inline {
|
1775 |
+
color: #3c763d;
|
1776 |
+
}
|
1777 |
+
.has-success .form-control {
|
1778 |
+
border-color: #3c763d;
|
1779 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1780 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1781 |
+
}
|
1782 |
+
.has-success .form-control:focus {
|
1783 |
+
border-color: #2b542c;
|
1784 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
|
1785 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
|
1786 |
+
}
|
1787 |
+
.has-success .input-group-addon {
|
1788 |
+
color: #3c763d;
|
1789 |
+
border-color: #3c763d;
|
1790 |
+
background-color: #dff0d8;
|
1791 |
+
}
|
1792 |
+
.has-success .form-control-feedback {
|
1793 |
+
color: #3c763d;
|
1794 |
+
}
|
1795 |
+
.has-warning .help-block,
|
1796 |
+
.has-warning .control-label,
|
1797 |
+
.has-warning .radio,
|
1798 |
+
.has-warning .checkbox,
|
1799 |
+
.has-warning .radio-inline,
|
1800 |
+
.has-warning .checkbox-inline {
|
1801 |
+
color: #8a6d3b;
|
1802 |
+
}
|
1803 |
+
.has-warning .form-control {
|
1804 |
+
border-color: #8a6d3b;
|
1805 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1806 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1807 |
+
}
|
1808 |
+
.has-warning .form-control:focus {
|
1809 |
+
border-color: #66512c;
|
1810 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
|
1811 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
|
1812 |
+
}
|
1813 |
+
.has-warning .input-group-addon {
|
1814 |
+
color: #8a6d3b;
|
1815 |
+
border-color: #8a6d3b;
|
1816 |
+
background-color: #fcf8e3;
|
1817 |
+
}
|
1818 |
+
.has-warning .form-control-feedback {
|
1819 |
+
color: #8a6d3b;
|
1820 |
+
}
|
1821 |
+
.has-error .help-block,
|
1822 |
+
.has-error .control-label,
|
1823 |
+
.has-error .radio,
|
1824 |
+
.has-error .checkbox,
|
1825 |
+
.has-error .radio-inline,
|
1826 |
+
.has-error .checkbox-inline {
|
1827 |
+
color: #a94442;
|
1828 |
+
}
|
1829 |
+
.has-error .form-control {
|
1830 |
+
border-color: #a94442;
|
1831 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1832 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
1833 |
+
}
|
1834 |
+
.has-error .form-control:focus {
|
1835 |
+
border-color: #843534;
|
1836 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
|
1837 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
|
1838 |
+
}
|
1839 |
+
.has-error .input-group-addon {
|
1840 |
+
color: #a94442;
|
1841 |
+
border-color: #a94442;
|
1842 |
+
background-color: #f2dede;
|
1843 |
+
}
|
1844 |
+
.has-error .form-control-feedback {
|
1845 |
+
color: #a94442;
|
1846 |
+
}
|
1847 |
+
.form-control-static {
|
1848 |
+
margin-bottom: 0;
|
1849 |
+
}
|
1850 |
+
.help-block {
|
1851 |
+
display: block;
|
1852 |
+
margin-top: 5px;
|
1853 |
+
margin-bottom: 10px;
|
1854 |
+
color: #737373;
|
1855 |
+
}
|
1856 |
+
@media (min-width: 768px) {
|
1857 |
+
.form-inline .form-group {
|
1858 |
+
display: inline-block;
|
1859 |
+
margin-bottom: 0;
|
1860 |
+
vertical-align: middle;
|
1861 |
+
}
|
1862 |
+
.form-inline .form-control {
|
1863 |
+
display: inline-block;
|
1864 |
+
width: auto;
|
1865 |
+
vertical-align: middle;
|
1866 |
+
}
|
1867 |
+
.form-inline .input-group > .form-control {
|
1868 |
+
width: 100%;
|
1869 |
+
}
|
1870 |
+
.form-inline .control-label {
|
1871 |
+
margin-bottom: 0;
|
1872 |
+
vertical-align: middle;
|
1873 |
+
}
|
1874 |
+
.form-inline .radio,
|
1875 |
+
.form-inline .checkbox {
|
1876 |
+
display: inline-block;
|
1877 |
+
margin-top: 0;
|
1878 |
+
margin-bottom: 0;
|
1879 |
+
padding-left: 0;
|
1880 |
+
vertical-align: middle;
|
1881 |
+
}
|
1882 |
+
.form-inline .radio input[type="radio"],
|
1883 |
+
.form-inline .checkbox input[type="checkbox"] {
|
1884 |
+
float: none;
|
1885 |
+
margin-left: 0;
|
1886 |
+
}
|
1887 |
+
.form-inline .has-feedback .form-control-feedback {
|
1888 |
+
top: 0;
|
1889 |
+
}
|
1890 |
+
}
|
1891 |
+
.form-horizontal .control-label,
|
1892 |
+
.form-horizontal .radio,
|
1893 |
+
.form-horizontal .checkbox,
|
1894 |
+
.form-horizontal .radio-inline,
|
1895 |
+
.form-horizontal .checkbox-inline {
|
1896 |
+
margin-top: 0;
|
1897 |
+
margin-bottom: 0;
|
1898 |
+
padding-top: 7px;
|
1899 |
+
}
|
1900 |
+
.form-horizontal .radio,
|
1901 |
+
.form-horizontal .checkbox {
|
1902 |
+
min-height: 27px;
|
1903 |
+
}
|
1904 |
+
.form-horizontal .form-group {
|
1905 |
+
margin-left: -15px;
|
1906 |
+
margin-right: -15px;
|
1907 |
+
}
|
1908 |
+
.form-horizontal .form-control-static {
|
1909 |
+
padding-top: 7px;
|
1910 |
+
}
|
1911 |
+
@media (min-width: 768px) {
|
1912 |
+
.form-horizontal .control-label {
|
1913 |
+
text-align: right;
|
1914 |
+
}
|
1915 |
+
}
|
1916 |
+
.form-horizontal .has-feedback .form-control-feedback {
|
1917 |
+
top: 0;
|
1918 |
+
right: 15px;
|
1919 |
+
}
|
1920 |
+
.btn {
|
1921 |
+
display: inline-block;
|
1922 |
+
margin-bottom: 0;
|
1923 |
+
font-weight: normal;
|
1924 |
+
text-align: center;
|
1925 |
+
vertical-align: middle;
|
1926 |
+
cursor: pointer;
|
1927 |
+
background-image: none;
|
1928 |
+
border: 1px solid transparent;
|
1929 |
+
white-space: nowrap;
|
1930 |
+
padding: 6px 12px;
|
1931 |
+
font-size: 14px;
|
1932 |
+
line-height: 1.42857143;
|
1933 |
+
border-radius: 4px;
|
1934 |
+
-webkit-user-select: none;
|
1935 |
+
-moz-user-select: none;
|
1936 |
+
-ms-user-select: none;
|
1937 |
+
user-select: none;
|
1938 |
+
}
|
1939 |
+
.btn:focus,
|
1940 |
+
.btn:active:focus,
|
1941 |
+
.btn.active:focus {
|
1942 |
+
outline: thin dotted;
|
1943 |
+
outline: 5px auto -webkit-focus-ring-color;
|
1944 |
+
outline-offset: -2px;
|
1945 |
+
}
|
1946 |
+
.btn:hover,
|
1947 |
+
.btn:focus {
|
1948 |
+
color: #333333;
|
1949 |
+
text-decoration: none;
|
1950 |
+
}
|
1951 |
+
.btn:active,
|
1952 |
+
.btn.active {
|
1953 |
+
outline: 0;
|
1954 |
+
background-image: none;
|
1955 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
1956 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
1957 |
+
}
|
1958 |
+
.btn.disabled,
|
1959 |
+
.btn[disabled],
|
1960 |
+
fieldset[disabled] .btn {
|
1961 |
+
cursor: not-allowed;
|
1962 |
+
pointer-events: none;
|
1963 |
+
opacity: 0.65;
|
1964 |
+
filter: alpha(opacity=65);
|
1965 |
+
-webkit-box-shadow: none;
|
1966 |
+
box-shadow: none;
|
1967 |
+
}
|
1968 |
+
.btn-default {
|
1969 |
+
color: #333333;
|
1970 |
+
background-color: #ffffff;
|
1971 |
+
border-color: #cccccc;
|
1972 |
+
}
|
1973 |
+
.btn-default:hover,
|
1974 |
+
.btn-default:focus,
|
1975 |
+
.btn-default:active,
|
1976 |
+
.btn-default.active,
|
1977 |
+
.open .dropdown-toggle.btn-default {
|
1978 |
+
color: #333333;
|
1979 |
+
background-color: #ebebeb;
|
1980 |
+
border-color: #adadad;
|
1981 |
+
}
|
1982 |
+
.btn-default:active,
|
1983 |
+
.btn-default.active,
|
1984 |
+
.open .dropdown-toggle.btn-default {
|
1985 |
+
background-image: none;
|
1986 |
+
}
|
1987 |
+
.btn-default.disabled,
|
1988 |
+
.btn-default[disabled],
|
1989 |
+
fieldset[disabled] .btn-default,
|
1990 |
+
.btn-default.disabled:hover,
|
1991 |
+
.btn-default[disabled]:hover,
|
1992 |
+
fieldset[disabled] .btn-default:hover,
|
1993 |
+
.btn-default.disabled:focus,
|
1994 |
+
.btn-default[disabled]:focus,
|
1995 |
+
fieldset[disabled] .btn-default:focus,
|
1996 |
+
.btn-default.disabled:active,
|
1997 |
+
.btn-default[disabled]:active,
|
1998 |
+
fieldset[disabled] .btn-default:active,
|
1999 |
+
.btn-default.disabled.active,
|
2000 |
+
.btn-default[disabled].active,
|
2001 |
+
fieldset[disabled] .btn-default.active {
|
2002 |
+
background-color: #ffffff;
|
2003 |
+
border-color: #cccccc;
|
2004 |
+
}
|
2005 |
+
.btn-default .badge {
|
2006 |
+
color: #ffffff;
|
2007 |
+
background-color: #333333;
|
2008 |
+
}
|
2009 |
+
.btn-primary {
|
2010 |
+
color: #ffffff;
|
2011 |
+
background-color: #428bca;
|
2012 |
+
border-color: #357ebd;
|
2013 |
+
}
|
2014 |
+
.btn-primary:hover,
|
2015 |
+
.btn-primary:focus,
|
2016 |
+
.btn-primary:active,
|
2017 |
+
.btn-primary.active,
|
2018 |
+
.open .dropdown-toggle.btn-primary {
|
2019 |
+
color: #ffffff;
|
2020 |
+
background-color: #3276b1;
|
2021 |
+
border-color: #285e8e;
|
2022 |
+
}
|
2023 |
+
.btn-primary:active,
|
2024 |
+
.btn-primary.active,
|
2025 |
+
.open .dropdown-toggle.btn-primary {
|
2026 |
+
background-image: none;
|
2027 |
+
}
|
2028 |
+
.btn-primary.disabled,
|
2029 |
+
.btn-primary[disabled],
|
2030 |
+
fieldset[disabled] .btn-primary,
|
2031 |
+
.btn-primary.disabled:hover,
|
2032 |
+
.btn-primary[disabled]:hover,
|
2033 |
+
fieldset[disabled] .btn-primary:hover,
|
2034 |
+
.btn-primary.disabled:focus,
|
2035 |
+
.btn-primary[disabled]:focus,
|
2036 |
+
fieldset[disabled] .btn-primary:focus,
|
2037 |
+
.btn-primary.disabled:active,
|
2038 |
+
.btn-primary[disabled]:active,
|
2039 |
+
fieldset[disabled] .btn-primary:active,
|
2040 |
+
.btn-primary.disabled.active,
|
2041 |
+
.btn-primary[disabled].active,
|
2042 |
+
fieldset[disabled] .btn-primary.active {
|
2043 |
+
background-color: #428bca;
|
2044 |
+
border-color: #357ebd;
|
2045 |
+
}
|
2046 |
+
.btn-primary .badge {
|
2047 |
+
color: #428bca;
|
2048 |
+
background-color: #ffffff;
|
2049 |
+
}
|
2050 |
+
.btn-success {
|
2051 |
+
color: #ffffff;
|
2052 |
+
background-color: #5cb85c;
|
2053 |
+
border-color: #4cae4c;
|
2054 |
+
}
|
2055 |
+
.btn-success:hover,
|
2056 |
+
.btn-success:focus,
|
2057 |
+
.btn-success:active,
|
2058 |
+
.btn-success.active,
|
2059 |
+
.open .dropdown-toggle.btn-success {
|
2060 |
+
color: #ffffff;
|
2061 |
+
background-color: #47a447;
|
2062 |
+
border-color: #398439;
|
2063 |
+
}
|
2064 |
+
.btn-success:active,
|
2065 |
+
.btn-success.active,
|
2066 |
+
.open .dropdown-toggle.btn-success {
|
2067 |
+
background-image: none;
|
2068 |
+
}
|
2069 |
+
.btn-success.disabled,
|
2070 |
+
.btn-success[disabled],
|
2071 |
+
fieldset[disabled] .btn-success,
|
2072 |
+
.btn-success.disabled:hover,
|
2073 |
+
.btn-success[disabled]:hover,
|
2074 |
+
fieldset[disabled] .btn-success:hover,
|
2075 |
+
.btn-success.disabled:focus,
|
2076 |
+
.btn-success[disabled]:focus,
|
2077 |
+
fieldset[disabled] .btn-success:focus,
|
2078 |
+
.btn-success.disabled:active,
|
2079 |
+
.btn-success[disabled]:active,
|
2080 |
+
fieldset[disabled] .btn-success:active,
|
2081 |
+
.btn-success.disabled.active,
|
2082 |
+
.btn-success[disabled].active,
|
2083 |
+
fieldset[disabled] .btn-success.active {
|
2084 |
+
background-color: #5cb85c;
|
2085 |
+
border-color: #4cae4c;
|
2086 |
+
}
|
2087 |
+
.btn-success .badge {
|
2088 |
+
color: #5cb85c;
|
2089 |
+
background-color: #ffffff;
|
2090 |
+
}
|
2091 |
+
.btn-info {
|
2092 |
+
color: #ffffff;
|
2093 |
+
background-color: #5bc0de;
|
2094 |
+
border-color: #46b8da;
|
2095 |
+
}
|
2096 |
+
.btn-info:hover,
|
2097 |
+
.btn-info:focus,
|
2098 |
+
.btn-info:active,
|
2099 |
+
.btn-info.active,
|
2100 |
+
.open .dropdown-toggle.btn-info {
|
2101 |
+
color: #ffffff;
|
2102 |
+
background-color: #39b3d7;
|
2103 |
+
border-color: #269abc;
|
2104 |
+
}
|
2105 |
+
.btn-info:active,
|
2106 |
+
.btn-info.active,
|
2107 |
+
.open .dropdown-toggle.btn-info {
|
2108 |
+
background-image: none;
|
2109 |
+
}
|
2110 |
+
.btn-info.disabled,
|
2111 |
+
.btn-info[disabled],
|
2112 |
+
fieldset[disabled] .btn-info,
|
2113 |
+
.btn-info.disabled:hover,
|
2114 |
+
.btn-info[disabled]:hover,
|
2115 |
+
fieldset[disabled] .btn-info:hover,
|
2116 |
+
.btn-info.disabled:focus,
|
2117 |
+
.btn-info[disabled]:focus,
|
2118 |
+
fieldset[disabled] .btn-info:focus,
|
2119 |
+
.btn-info.disabled:active,
|
2120 |
+
.btn-info[disabled]:active,
|
2121 |
+
fieldset[disabled] .btn-info:active,
|
2122 |
+
.btn-info.disabled.active,
|
2123 |
+
.btn-info[disabled].active,
|
2124 |
+
fieldset[disabled] .btn-info.active {
|
2125 |
+
background-color: #5bc0de;
|
2126 |
+
border-color: #46b8da;
|
2127 |
+
}
|
2128 |
+
.btn-info .badge {
|
2129 |
+
color: #5bc0de;
|
2130 |
+
background-color: #ffffff;
|
2131 |
+
}
|
2132 |
+
.btn-warning {
|
2133 |
+
color: #ffffff;
|
2134 |
+
background-color: #f0ad4e;
|
2135 |
+
border-color: #eea236;
|
2136 |
+
}
|
2137 |
+
.btn-warning:hover,
|
2138 |
+
.btn-warning:focus,
|
2139 |
+
.btn-warning:active,
|
2140 |
+
.btn-warning.active,
|
2141 |
+
.open .dropdown-toggle.btn-warning {
|
2142 |
+
color: #ffffff;
|
2143 |
+
background-color: #ed9c28;
|
2144 |
+
border-color: #d58512;
|
2145 |
+
}
|
2146 |
+
.btn-warning:active,
|
2147 |
+
.btn-warning.active,
|
2148 |
+
.open .dropdown-toggle.btn-warning {
|
2149 |
+
background-image: none;
|
2150 |
+
}
|
2151 |
+
.btn-warning.disabled,
|
2152 |
+
.btn-warning[disabled],
|
2153 |
+
fieldset[disabled] .btn-warning,
|
2154 |
+
.btn-warning.disabled:hover,
|
2155 |
+
.btn-warning[disabled]:hover,
|
2156 |
+
fieldset[disabled] .btn-warning:hover,
|
2157 |
+
.btn-warning.disabled:focus,
|
2158 |
+
.btn-warning[disabled]:focus,
|
2159 |
+
fieldset[disabled] .btn-warning:focus,
|
2160 |
+
.btn-warning.disabled:active,
|
2161 |
+
.btn-warning[disabled]:active,
|
2162 |
+
fieldset[disabled] .btn-warning:active,
|
2163 |
+
.btn-warning.disabled.active,
|
2164 |
+
.btn-warning[disabled].active,
|
2165 |
+
fieldset[disabled] .btn-warning.active {
|
2166 |
+
background-color: #f0ad4e;
|
2167 |
+
border-color: #eea236;
|
2168 |
+
}
|
2169 |
+
.btn-warning .badge {
|
2170 |
+
color: #f0ad4e;
|
2171 |
+
background-color: #ffffff;
|
2172 |
+
}
|
2173 |
+
.btn-danger {
|
2174 |
+
color: #ffffff;
|
2175 |
+
background-color: #d9534f;
|
2176 |
+
border-color: #d43f3a;
|
2177 |
+
}
|
2178 |
+
.btn-danger:hover,
|
2179 |
+
.btn-danger:focus,
|
2180 |
+
.btn-danger:active,
|
2181 |
+
.btn-danger.active,
|
2182 |
+
.open .dropdown-toggle.btn-danger {
|
2183 |
+
color: #ffffff;
|
2184 |
+
background-color: #d2322d;
|
2185 |
+
border-color: #ac2925;
|
2186 |
+
}
|
2187 |
+
.btn-danger:active,
|
2188 |
+
.btn-danger.active,
|
2189 |
+
.open .dropdown-toggle.btn-danger {
|
2190 |
+
background-image: none;
|
2191 |
+
}
|
2192 |
+
.btn-danger.disabled,
|
2193 |
+
.btn-danger[disabled],
|
2194 |
+
fieldset[disabled] .btn-danger,
|
2195 |
+
.btn-danger.disabled:hover,
|
2196 |
+
.btn-danger[disabled]:hover,
|
2197 |
+
fieldset[disabled] .btn-danger:hover,
|
2198 |
+
.btn-danger.disabled:focus,
|
2199 |
+
.btn-danger[disabled]:focus,
|
2200 |
+
fieldset[disabled] .btn-danger:focus,
|
2201 |
+
.btn-danger.disabled:active,
|
2202 |
+
.btn-danger[disabled]:active,
|
2203 |
+
fieldset[disabled] .btn-danger:active,
|
2204 |
+
.btn-danger.disabled.active,
|
2205 |
+
.btn-danger[disabled].active,
|
2206 |
+
fieldset[disabled] .btn-danger.active {
|
2207 |
+
background-color: #d9534f;
|
2208 |
+
border-color: #d43f3a;
|
2209 |
+
}
|
2210 |
+
.btn-danger .badge {
|
2211 |
+
color: #d9534f;
|
2212 |
+
background-color: #ffffff;
|
2213 |
+
}
|
2214 |
+
.btn-link {
|
2215 |
+
color: #428bca;
|
2216 |
+
font-weight: normal;
|
2217 |
+
cursor: pointer;
|
2218 |
+
border-radius: 0;
|
2219 |
+
}
|
2220 |
+
.btn-link,
|
2221 |
+
.btn-link:active,
|
2222 |
+
.btn-link[disabled],
|
2223 |
+
fieldset[disabled] .btn-link {
|
2224 |
+
background-color: transparent;
|
2225 |
+
-webkit-box-shadow: none;
|
2226 |
+
box-shadow: none;
|
2227 |
+
}
|
2228 |
+
.btn-link,
|
2229 |
+
.btn-link:hover,
|
2230 |
+
.btn-link:focus,
|
2231 |
+
.btn-link:active {
|
2232 |
+
border-color: transparent;
|
2233 |
+
}
|
2234 |
+
.btn-link:hover,
|
2235 |
+
.btn-link:focus {
|
2236 |
+
color: #2a6496;
|
2237 |
+
text-decoration: underline;
|
2238 |
+
background-color: transparent;
|
2239 |
+
}
|
2240 |
+
.btn-link[disabled]:hover,
|
2241 |
+
fieldset[disabled] .btn-link:hover,
|
2242 |
+
.btn-link[disabled]:focus,
|
2243 |
+
fieldset[disabled] .btn-link:focus {
|
2244 |
+
color: #999999;
|
2245 |
+
text-decoration: none;
|
2246 |
+
}
|
2247 |
+
.btn-lg,
|
2248 |
+
.btn-group-lg > .btn {
|
2249 |
+
padding: 10px 16px;
|
2250 |
+
font-size: 18px;
|
2251 |
+
line-height: 1.33;
|
2252 |
+
border-radius: 6px;
|
2253 |
+
}
|
2254 |
+
.btn-sm,
|
2255 |
+
.btn-group-sm > .btn {
|
2256 |
+
padding: 5px 10px;
|
2257 |
+
font-size: 12px;
|
2258 |
+
line-height: 1.5;
|
2259 |
+
border-radius: 3px;
|
2260 |
+
}
|
2261 |
+
.btn-xs,
|
2262 |
+
.btn-group-xs > .btn {
|
2263 |
+
padding: 1px 5px;
|
2264 |
+
font-size: 12px;
|
2265 |
+
line-height: 1.5;
|
2266 |
+
border-radius: 3px;
|
2267 |
+
}
|
2268 |
+
.btn-block {
|
2269 |
+
display: block;
|
2270 |
+
width: 100%;
|
2271 |
+
padding-left: 0;
|
2272 |
+
padding-right: 0;
|
2273 |
+
}
|
2274 |
+
.btn-block + .btn-block {
|
2275 |
+
margin-top: 5px;
|
2276 |
+
}
|
2277 |
+
input[type="submit"].btn-block,
|
2278 |
+
input[type="reset"].btn-block,
|
2279 |
+
input[type="button"].btn-block {
|
2280 |
+
width: 100%;
|
2281 |
+
}
|
2282 |
+
.fade {
|
2283 |
+
opacity: 0;
|
2284 |
+
-webkit-transition: opacity 0.15s linear;
|
2285 |
+
transition: opacity 0.15s linear;
|
2286 |
+
}
|
2287 |
+
.fade.in {
|
2288 |
+
opacity: 1;
|
2289 |
+
}
|
2290 |
+
.collapse {
|
2291 |
+
display: none;
|
2292 |
+
}
|
2293 |
+
.collapse.in {
|
2294 |
+
display: block;
|
2295 |
+
}
|
2296 |
+
.collapsing {
|
2297 |
+
position: relative;
|
2298 |
+
height: 0;
|
2299 |
+
overflow: hidden;
|
2300 |
+
-webkit-transition: height 0.35s ease;
|
2301 |
+
transition: height 0.35s ease;
|
2302 |
+
}
|
2303 |
+
@font-face {
|
2304 |
+
font-family: 'Glyphicons Halflings';
|
2305 |
+
src: url('../fonts/glyphicons-halflings-regular.eot');
|
2306 |
+
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
|
2307 |
+
}
|
2308 |
+
.glyphicon {
|
2309 |
+
position: relative;
|
2310 |
+
top: 1px;
|
2311 |
+
display: inline-block;
|
2312 |
+
font-family: 'Glyphicons Halflings';
|
2313 |
+
font-style: normal;
|
2314 |
+
font-weight: normal;
|
2315 |
+
line-height: 1;
|
2316 |
+
-webkit-font-smoothing: antialiased;
|
2317 |
+
-moz-osx-font-smoothing: grayscale;
|
2318 |
+
}
|
2319 |
+
.glyphicon-asterisk:before {
|
2320 |
+
content: "\2a";
|
2321 |
+
}
|
2322 |
+
.glyphicon-plus:before {
|
2323 |
+
content: "\2b";
|
2324 |
+
}
|
2325 |
+
.glyphicon-euro:before {
|
2326 |
+
content: "\20ac";
|
2327 |
+
}
|
2328 |
+
.glyphicon-minus:before {
|
2329 |
+
content: "\2212";
|
2330 |
+
}
|
2331 |
+
.glyphicon-cloud:before {
|
2332 |
+
content: "\2601";
|
2333 |
+
}
|
2334 |
+
.glyphicon-envelope:before {
|
2335 |
+
content: "\2709";
|
2336 |
+
}
|
2337 |
+
.glyphicon-pencil:before {
|
2338 |
+
content: "\270f";
|
2339 |
+
}
|
2340 |
+
.glyphicon-glass:before {
|
2341 |
+
content: "\e001";
|
2342 |
+
}
|
2343 |
+
.glyphicon-music:before {
|
2344 |
+
content: "\e002";
|
2345 |
+
}
|
2346 |
+
.glyphicon-search:before {
|
2347 |
+
content: "\e003";
|
2348 |
+
}
|
2349 |
+
.glyphicon-heart:before {
|
2350 |
+
content: "\e005";
|
2351 |
+
}
|
2352 |
+
.glyphicon-star:before {
|
2353 |
+
content: "\e006";
|
2354 |
+
}
|
2355 |
+
.glyphicon-star-empty:before {
|
2356 |
+
content: "\e007";
|
2357 |
+
}
|
2358 |
+
.glyphicon-user:before {
|
2359 |
+
content: "\e008";
|
2360 |
+
}
|
2361 |
+
.glyphicon-film:before {
|
2362 |
+
content: "\e009";
|
2363 |
+
}
|
2364 |
+
.glyphicon-th-large:before {
|
2365 |
+
content: "\e010";
|
2366 |
+
}
|
2367 |
+
.glyphicon-th:before {
|
2368 |
+
content: "\e011";
|
2369 |
+
}
|
2370 |
+
.glyphicon-th-list:before {
|
2371 |
+
content: "\e012";
|
2372 |
+
}
|
2373 |
+
.glyphicon-ok:before {
|
2374 |
+
content: "\e013";
|
2375 |
+
}
|
2376 |
+
.glyphicon-remove:before {
|
2377 |
+
content: "\e014";
|
2378 |
+
}
|
2379 |
+
.glyphicon-zoom-in:before {
|
2380 |
+
content: "\e015";
|
2381 |
+
}
|
2382 |
+
.glyphicon-zoom-out:before {
|
2383 |
+
content: "\e016";
|
2384 |
+
}
|
2385 |
+
.glyphicon-off:before {
|
2386 |
+
content: "\e017";
|
2387 |
+
}
|
2388 |
+
.glyphicon-signal:before {
|
2389 |
+
content: "\e018";
|
2390 |
+
}
|
2391 |
+
.glyphicon-cog:before {
|
2392 |
+
content: "\e019";
|
2393 |
+
}
|
2394 |
+
.glyphicon-trash:before {
|
2395 |
+
content: "\e020";
|
2396 |
+
}
|
2397 |
+
.glyphicon-home:before {
|
2398 |
+
content: "\e021";
|
2399 |
+
}
|
2400 |
+
.glyphicon-file:before {
|
2401 |
+
content: "\e022";
|
2402 |
+
}
|
2403 |
+
.glyphicon-time:before {
|
2404 |
+
content: "\e023";
|
2405 |
+
}
|
2406 |
+
.glyphicon-road:before {
|
2407 |
+
content: "\e024";
|
2408 |
+
}
|
2409 |
+
.glyphicon-download-alt:before {
|
2410 |
+
content: "\e025";
|
2411 |
+
}
|
2412 |
+
.glyphicon-download:before {
|
2413 |
+
content: "\e026";
|
2414 |
+
}
|
2415 |
+
.glyphicon-upload:before {
|
2416 |
+
content: "\e027";
|
2417 |
+
}
|
2418 |
+
.glyphicon-inbox:before {
|
2419 |
+
content: "\e028";
|
2420 |
+
}
|
2421 |
+
.glyphicon-play-circle:before {
|
2422 |
+
content: "\e029";
|
2423 |
+
}
|
2424 |
+
.glyphicon-repeat:before {
|
2425 |
+
content: "\e030";
|
2426 |
+
}
|
2427 |
+
.glyphicon-refresh:before {
|
2428 |
+
content: "\e031";
|
2429 |
+
}
|
2430 |
+
.glyphicon-list-alt:before {
|
2431 |
+
content: "\e032";
|
2432 |
+
}
|
2433 |
+
.glyphicon-lock:before {
|
2434 |
+
content: "\e033";
|
2435 |
+
}
|
2436 |
+
.glyphicon-flag:before {
|
2437 |
+
content: "\e034";
|
2438 |
+
}
|
2439 |
+
.glyphicon-headphones:before {
|
2440 |
+
content: "\e035";
|
2441 |
+
}
|
2442 |
+
.glyphicon-volume-off:before {
|
2443 |
+
content: "\e036";
|
2444 |
+
}
|
2445 |
+
.glyphicon-volume-down:before {
|
2446 |
+
content: "\e037";
|
2447 |
+
}
|
2448 |
+
.glyphicon-volume-up:before {
|
2449 |
+
content: "\e038";
|
2450 |
+
}
|
2451 |
+
.glyphicon-qrcode:before {
|
2452 |
+
content: "\e039";
|
2453 |
+
}
|
2454 |
+
.glyphicon-barcode:before {
|
2455 |
+
content: "\e040";
|
2456 |
+
}
|
2457 |
+
.glyphicon-tag:before {
|
2458 |
+
content: "\e041";
|
2459 |
+
}
|
2460 |
+
.glyphicon-tags:before {
|
2461 |
+
content: "\e042";
|
2462 |
+
}
|
2463 |
+
.glyphicon-book:before {
|
2464 |
+
content: "\e043";
|
2465 |
+
}
|
2466 |
+
.glyphicon-bookmark:before {
|
2467 |
+
content: "\e044";
|
2468 |
+
}
|
2469 |
+
.glyphicon-print:before {
|
2470 |
+
content: "\e045";
|
2471 |
+
}
|
2472 |
+
.glyphicon-camera:before {
|
2473 |
+
content: "\e046";
|
2474 |
+
}
|
2475 |
+
.glyphicon-font:before {
|
2476 |
+
content: "\e047";
|
2477 |
+
}
|
2478 |
+
.glyphicon-bold:before {
|
2479 |
+
content: "\e048";
|
2480 |
+
}
|
2481 |
+
.glyphicon-italic:before {
|
2482 |
+
content: "\e049";
|
2483 |
+
}
|
2484 |
+
.glyphicon-text-height:before {
|
2485 |
+
content: "\e050";
|
2486 |
+
}
|
2487 |
+
.glyphicon-text-width:before {
|
2488 |
+
content: "\e051";
|
2489 |
+
}
|
2490 |
+
.glyphicon-align-left:before {
|
2491 |
+
content: "\e052";
|
2492 |
+
}
|
2493 |
+
.glyphicon-align-center:before {
|
2494 |
+
content: "\e053";
|
2495 |
+
}
|
2496 |
+
.glyphicon-align-right:before {
|
2497 |
+
content: "\e054";
|
2498 |
+
}
|
2499 |
+
.glyphicon-align-justify:before {
|
2500 |
+
content: "\e055";
|
2501 |
+
}
|
2502 |
+
.glyphicon-list:before {
|
2503 |
+
content: "\e056";
|
2504 |
+
}
|
2505 |
+
.glyphicon-indent-left:before {
|
2506 |
+
content: "\e057";
|
2507 |
+
}
|
2508 |
+
.glyphicon-indent-right:before {
|
2509 |
+
content: "\e058";
|
2510 |
+
}
|
2511 |
+
.glyphicon-facetime-video:before {
|
2512 |
+
content: "\e059";
|
2513 |
+
}
|
2514 |
+
.glyphicon-picture:before {
|
2515 |
+
content: "\e060";
|
2516 |
+
}
|
2517 |
+
.glyphicon-map-marker:before {
|
2518 |
+
content: "\e062";
|
2519 |
+
}
|
2520 |
+
.glyphicon-adjust:before {
|
2521 |
+
content: "\e063";
|
2522 |
+
}
|
2523 |
+
.glyphicon-tint:before {
|
2524 |
+
content: "\e064";
|
2525 |
+
}
|
2526 |
+
.glyphicon-edit:before {
|
2527 |
+
content: "\e065";
|
2528 |
+
}
|
2529 |
+
.glyphicon-share:before {
|
2530 |
+
content: "\e066";
|
2531 |
+
}
|
2532 |
+
.glyphicon-check:before {
|
2533 |
+
content: "\e067";
|
2534 |
+
}
|
2535 |
+
.glyphicon-move:before {
|
2536 |
+
content: "\e068";
|
2537 |
+
}
|
2538 |
+
.glyphicon-step-backward:before {
|
2539 |
+
content: "\e069";
|
2540 |
+
}
|
2541 |
+
.glyphicon-fast-backward:before {
|
2542 |
+
content: "\e070";
|
2543 |
+
}
|
2544 |
+
.glyphicon-backward:before {
|
2545 |
+
content: "\e071";
|
2546 |
+
}
|
2547 |
+
.glyphicon-play:before {
|
2548 |
+
content: "\e072";
|
2549 |
+
}
|
2550 |
+
.glyphicon-pause:before {
|
2551 |
+
content: "\e073";
|
2552 |
+
}
|
2553 |
+
.glyphicon-stop:before {
|
2554 |
+
content: "\e074";
|
2555 |
+
}
|
2556 |
+
.glyphicon-forward:before {
|
2557 |
+
content: "\e075";
|
2558 |
+
}
|
2559 |
+
.glyphicon-fast-forward:before {
|
2560 |
+
content: "\e076";
|
2561 |
+
}
|
2562 |
+
.glyphicon-step-forward:before {
|
2563 |
+
content: "\e077";
|
2564 |
+
}
|
2565 |
+
.glyphicon-eject:before {
|
2566 |
+
content: "\e078";
|
2567 |
+
}
|
2568 |
+
.glyphicon-chevron-left:before {
|
2569 |
+
content: "\e079";
|
2570 |
+
}
|
2571 |
+
.glyphicon-chevron-right:before {
|
2572 |
+
content: "\e080";
|
2573 |
+
}
|
2574 |
+
.glyphicon-plus-sign:before {
|
2575 |
+
content: "\e081";
|
2576 |
+
}
|
2577 |
+
.glyphicon-minus-sign:before {
|
2578 |
+
content: "\e082";
|
2579 |
+
}
|
2580 |
+
.glyphicon-remove-sign:before {
|
2581 |
+
content: "\e083";
|
2582 |
+
}
|
2583 |
+
.glyphicon-ok-sign:before {
|
2584 |
+
content: "\e084";
|
2585 |
+
}
|
2586 |
+
.glyphicon-question-sign:before {
|
2587 |
+
content: "\e085";
|
2588 |
+
}
|
2589 |
+
.glyphicon-info-sign:before {
|
2590 |
+
content: "\e086";
|
2591 |
+
}
|
2592 |
+
.glyphicon-screenshot:before {
|
2593 |
+
content: "\e087";
|
2594 |
+
}
|
2595 |
+
.glyphicon-remove-circle:before {
|
2596 |
+
content: "\e088";
|
2597 |
+
}
|
2598 |
+
.glyphicon-ok-circle:before {
|
2599 |
+
content: "\e089";
|
2600 |
+
}
|
2601 |
+
.glyphicon-ban-circle:before {
|
2602 |
+
content: "\e090";
|
2603 |
+
}
|
2604 |
+
.glyphicon-arrow-left:before {
|
2605 |
+
content: "\e091";
|
2606 |
+
}
|
2607 |
+
.glyphicon-arrow-right:before {
|
2608 |
+
content: "\e092";
|
2609 |
+
}
|
2610 |
+
.glyphicon-arrow-up:before {
|
2611 |
+
content: "\e093";
|
2612 |
+
}
|
2613 |
+
.glyphicon-arrow-down:before {
|
2614 |
+
content: "\e094";
|
2615 |
+
}
|
2616 |
+
.glyphicon-share-alt:before {
|
2617 |
+
content: "\e095";
|
2618 |
+
}
|
2619 |
+
.glyphicon-resize-full:before {
|
2620 |
+
content: "\e096";
|
2621 |
+
}
|
2622 |
+
.glyphicon-resize-small:before {
|
2623 |
+
content: "\e097";
|
2624 |
+
}
|
2625 |
+
.glyphicon-exclamation-sign:before {
|
2626 |
+
content: "\e101";
|
2627 |
+
}
|
2628 |
+
.glyphicon-gift:before {
|
2629 |
+
content: "\e102";
|
2630 |
+
}
|
2631 |
+
.glyphicon-leaf:before {
|
2632 |
+
content: "\e103";
|
2633 |
+
}
|
2634 |
+
.glyphicon-fire:before {
|
2635 |
+
content: "\e104";
|
2636 |
+
}
|
2637 |
+
.glyphicon-eye-open:before {
|
2638 |
+
content: "\e105";
|
2639 |
+
}
|
2640 |
+
.glyphicon-eye-close:before {
|
2641 |
+
content: "\e106";
|
2642 |
+
}
|
2643 |
+
.glyphicon-warning-sign:before {
|
2644 |
+
content: "\e107";
|
2645 |
+
}
|
2646 |
+
.glyphicon-plane:before {
|
2647 |
+
content: "\e108";
|
2648 |
+
}
|
2649 |
+
.glyphicon-calendar:before {
|
2650 |
+
content: "\e109";
|
2651 |
+
}
|
2652 |
+
.glyphicon-random:before {
|
2653 |
+
content: "\e110";
|
2654 |
+
}
|
2655 |
+
.glyphicon-comment:before {
|
2656 |
+
content: "\e111";
|
2657 |
+
}
|
2658 |
+
.glyphicon-magnet:before {
|
2659 |
+
content: "\e112";
|
2660 |
+
}
|
2661 |
+
.glyphicon-chevron-up:before {
|
2662 |
+
content: "\e113";
|
2663 |
+
}
|
2664 |
+
.glyphicon-chevron-down:before {
|
2665 |
+
content: "\e114";
|
2666 |
+
}
|
2667 |
+
.glyphicon-retweet:before {
|
2668 |
+
content: "\e115";
|
2669 |
+
}
|
2670 |
+
.glyphicon-shopping-cart:before {
|
2671 |
+
content: "\e116";
|
2672 |
+
}
|
2673 |
+
.glyphicon-folder-close:before {
|
2674 |
+
content: "\e117";
|
2675 |
+
}
|
2676 |
+
.glyphicon-folder-open:before {
|
2677 |
+
content: "\e118";
|
2678 |
+
}
|
2679 |
+
.glyphicon-resize-vertical:before {
|
2680 |
+
content: "\e119";
|
2681 |
+
}
|
2682 |
+
.glyphicon-resize-horizontal:before {
|
2683 |
+
content: "\e120";
|
2684 |
+
}
|
2685 |
+
.glyphicon-hdd:before {
|
2686 |
+
content: "\e121";
|
2687 |
+
}
|
2688 |
+
.glyphicon-bullhorn:before {
|
2689 |
+
content: "\e122";
|
2690 |
+
}
|
2691 |
+
.glyphicon-bell:before {
|
2692 |
+
content: "\e123";
|
2693 |
+
}
|
2694 |
+
.glyphicon-certificate:before {
|
2695 |
+
content: "\e124";
|
2696 |
+
}
|
2697 |
+
.glyphicon-thumbs-up:before {
|
2698 |
+
content: "\e125";
|
2699 |
+
}
|
2700 |
+
.glyphicon-thumbs-down:before {
|
2701 |
+
content: "\e126";
|
2702 |
+
}
|
2703 |
+
.glyphicon-hand-right:before {
|
2704 |
+
content: "\e127";
|
2705 |
+
}
|
2706 |
+
.glyphicon-hand-left:before {
|
2707 |
+
content: "\e128";
|
2708 |
+
}
|
2709 |
+
.glyphicon-hand-up:before {
|
2710 |
+
content: "\e129";
|
2711 |
+
}
|
2712 |
+
.glyphicon-hand-down:before {
|
2713 |
+
content: "\e130";
|
2714 |
+
}
|
2715 |
+
.glyphicon-circle-arrow-right:before {
|
2716 |
+
content: "\e131";
|
2717 |
+
}
|
2718 |
+
.glyphicon-circle-arrow-left:before {
|
2719 |
+
content: "\e132";
|
2720 |
+
}
|
2721 |
+
.glyphicon-circle-arrow-up:before {
|
2722 |
+
content: "\e133";
|
2723 |
+
}
|
2724 |
+
.glyphicon-circle-arrow-down:before {
|
2725 |
+
content: "\e134";
|
2726 |
+
}
|
2727 |
+
.glyphicon-globe:before {
|
2728 |
+
content: "\e135";
|
2729 |
+
}
|
2730 |
+
.glyphicon-wrench:before {
|
2731 |
+
content: "\e136";
|
2732 |
+
}
|
2733 |
+
.glyphicon-tasks:before {
|
2734 |
+
content: "\e137";
|
2735 |
+
}
|
2736 |
+
.glyphicon-filter:before {
|
2737 |
+
content: "\e138";
|
2738 |
+
}
|
2739 |
+
.glyphicon-briefcase:before {
|
2740 |
+
content: "\e139";
|
2741 |
+
}
|
2742 |
+
.glyphicon-fullscreen:before {
|
2743 |
+
content: "\e140";
|
2744 |
+
}
|
2745 |
+
.glyphicon-dashboard:before {
|
2746 |
+
content: "\e141";
|
2747 |
+
}
|
2748 |
+
.glyphicon-paperclip:before {
|
2749 |
+
content: "\e142";
|
2750 |
+
}
|
2751 |
+
.glyphicon-heart-empty:before {
|
2752 |
+
content: "\e143";
|
2753 |
+
}
|
2754 |
+
.glyphicon-link:before {
|
2755 |
+
content: "\e144";
|
2756 |
+
}
|
2757 |
+
.glyphicon-phone:before {
|
2758 |
+
content: "\e145";
|
2759 |
+
}
|
2760 |
+
.glyphicon-pushpin:before {
|
2761 |
+
content: "\e146";
|
2762 |
+
}
|
2763 |
+
.glyphicon-usd:before {
|
2764 |
+
content: "\e148";
|
2765 |
+
}
|
2766 |
+
.glyphicon-gbp:before {
|
2767 |
+
content: "\e149";
|
2768 |
+
}
|
2769 |
+
.glyphicon-sort:before {
|
2770 |
+
content: "\e150";
|
2771 |
+
}
|
2772 |
+
.glyphicon-sort-by-alphabet:before {
|
2773 |
+
content: "\e151";
|
2774 |
+
}
|
2775 |
+
.glyphicon-sort-by-alphabet-alt:before {
|
2776 |
+
content: "\e152";
|
2777 |
+
}
|
2778 |
+
.glyphicon-sort-by-order:before {
|
2779 |
+
content: "\e153";
|
2780 |
+
}
|
2781 |
+
.glyphicon-sort-by-order-alt:before {
|
2782 |
+
content: "\e154";
|
2783 |
+
}
|
2784 |
+
.glyphicon-sort-by-attributes:before {
|
2785 |
+
content: "\e155";
|
2786 |
+
}
|
2787 |
+
.glyphicon-sort-by-attributes-alt:before {
|
2788 |
+
content: "\e156";
|
2789 |
+
}
|
2790 |
+
.glyphicon-unchecked:before {
|
2791 |
+
content: "\e157";
|
2792 |
+
}
|
2793 |
+
.glyphicon-expand:before {
|
2794 |
+
content: "\e158";
|
2795 |
+
}
|
2796 |
+
.glyphicon-collapse-down:before {
|
2797 |
+
content: "\e159";
|
2798 |
+
}
|
2799 |
+
.glyphicon-collapse-up:before {
|
2800 |
+
content: "\e160";
|
2801 |
+
}
|
2802 |
+
.glyphicon-log-in:before {
|
2803 |
+
content: "\e161";
|
2804 |
+
}
|
2805 |
+
.glyphicon-flash:before {
|
2806 |
+
content: "\e162";
|
2807 |
+
}
|
2808 |
+
.glyphicon-log-out:before {
|
2809 |
+
content: "\e163";
|
2810 |
+
}
|
2811 |
+
.glyphicon-new-window:before {
|
2812 |
+
content: "\e164";
|
2813 |
+
}
|
2814 |
+
.glyphicon-record:before {
|
2815 |
+
content: "\e165";
|
2816 |
+
}
|
2817 |
+
.glyphicon-save:before {
|
2818 |
+
content: "\e166";
|
2819 |
+
}
|
2820 |
+
.glyphicon-open:before {
|
2821 |
+
content: "\e167";
|
2822 |
+
}
|
2823 |
+
.glyphicon-saved:before {
|
2824 |
+
content: "\e168";
|
2825 |
+
}
|
2826 |
+
.glyphicon-import:before {
|
2827 |
+
content: "\e169";
|
2828 |
+
}
|
2829 |
+
.glyphicon-export:before {
|
2830 |
+
content: "\e170";
|
2831 |
+
}
|
2832 |
+
.glyphicon-send:before {
|
2833 |
+
content: "\e171";
|
2834 |
+
}
|
2835 |
+
.glyphicon-floppy-disk:before {
|
2836 |
+
content: "\e172";
|
2837 |
+
}
|
2838 |
+
.glyphicon-floppy-saved:before {
|
2839 |
+
content: "\e173";
|
2840 |
+
}
|
2841 |
+
.glyphicon-floppy-remove:before {
|
2842 |
+
content: "\e174";
|
2843 |
+
}
|
2844 |
+
.glyphicon-floppy-save:before {
|
2845 |
+
content: "\e175";
|
2846 |
+
}
|
2847 |
+
.glyphicon-floppy-open:before {
|
2848 |
+
content: "\e176";
|
2849 |
+
}
|
2850 |
+
.glyphicon-credit-card:before {
|
2851 |
+
content: "\e177";
|
2852 |
+
}
|
2853 |
+
.glyphicon-transfer:before {
|
2854 |
+
content: "\e178";
|
2855 |
+
}
|
2856 |
+
.glyphicon-cutlery:before {
|
2857 |
+
content: "\e179";
|
2858 |
+
}
|
2859 |
+
.glyphicon-header:before {
|
2860 |
+
content: "\e180";
|
2861 |
+
}
|
2862 |
+
.glyphicon-compressed:before {
|
2863 |
+
content: "\e181";
|
2864 |
+
}
|
2865 |
+
.glyphicon-earphone:before {
|
2866 |
+
content: "\e182";
|
2867 |
+
}
|
2868 |
+
.glyphicon-phone-alt:before {
|
2869 |
+
content: "\e183";
|
2870 |
+
}
|
2871 |
+
.glyphicon-tower:before {
|
2872 |
+
content: "\e184";
|
2873 |
+
}
|
2874 |
+
.glyphicon-stats:before {
|
2875 |
+
content: "\e185";
|
2876 |
+
}
|
2877 |
+
.glyphicon-sd-video:before {
|
2878 |
+
content: "\e186";
|
2879 |
+
}
|
2880 |
+
.glyphicon-hd-video:before {
|
2881 |
+
content: "\e187";
|
2882 |
+
}
|
2883 |
+
.glyphicon-subtitles:before {
|
2884 |
+
content: "\e188";
|
2885 |
+
}
|
2886 |
+
.glyphicon-sound-stereo:before {
|
2887 |
+
content: "\e189";
|
2888 |
+
}
|
2889 |
+
.glyphicon-sound-dolby:before {
|
2890 |
+
content: "\e190";
|
2891 |
+
}
|
2892 |
+
.glyphicon-sound-5-1:before {
|
2893 |
+
content: "\e191";
|
2894 |
+
}
|
2895 |
+
.glyphicon-sound-6-1:before {
|
2896 |
+
content: "\e192";
|
2897 |
+
}
|
2898 |
+
.glyphicon-sound-7-1:before {
|
2899 |
+
content: "\e193";
|
2900 |
+
}
|
2901 |
+
.glyphicon-copyright-mark:before {
|
2902 |
+
content: "\e194";
|
2903 |
+
}
|
2904 |
+
.glyphicon-registration-mark:before {
|
2905 |
+
content: "\e195";
|
2906 |
+
}
|
2907 |
+
.glyphicon-cloud-download:before {
|
2908 |
+
content: "\e197";
|
2909 |
+
}
|
2910 |
+
.glyphicon-cloud-upload:before {
|
2911 |
+
content: "\e198";
|
2912 |
+
}
|
2913 |
+
.glyphicon-tree-conifer:before {
|
2914 |
+
content: "\e199";
|
2915 |
+
}
|
2916 |
+
.glyphicon-tree-deciduous:before {
|
2917 |
+
content: "\e200";
|
2918 |
+
}
|
2919 |
+
.caret {
|
2920 |
+
display: inline-block;
|
2921 |
+
width: 0;
|
2922 |
+
height: 0;
|
2923 |
+
margin-left: 2px;
|
2924 |
+
vertical-align: middle;
|
2925 |
+
border-top: 4px solid;
|
2926 |
+
border-right: 4px solid transparent;
|
2927 |
+
border-left: 4px solid transparent;
|
2928 |
+
}
|
2929 |
+
.dropdown {
|
2930 |
+
position: relative;
|
2931 |
+
}
|
2932 |
+
.dropdown-toggle:focus {
|
2933 |
+
outline: 0;
|
2934 |
+
}
|
2935 |
+
.dropdown-menu {
|
2936 |
+
position: absolute;
|
2937 |
+
top: 100%;
|
2938 |
+
left: 0;
|
2939 |
+
z-index: 1000;
|
2940 |
+
display: none;
|
2941 |
+
float: left;
|
2942 |
+
min-width: 160px;
|
2943 |
+
padding: 5px 0;
|
2944 |
+
margin: 2px 0 0;
|
2945 |
+
list-style: none;
|
2946 |
+
font-size: 14px;
|
2947 |
+
background-color: #ffffff;
|
2948 |
+
border: 1px solid #cccccc;
|
2949 |
+
border: 1px solid rgba(0, 0, 0, 0.15);
|
2950 |
+
border-radius: 4px;
|
2951 |
+
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
2952 |
+
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
2953 |
+
background-clip: padding-box;
|
2954 |
+
}
|
2955 |
+
.dropdown-menu.pull-right {
|
2956 |
+
right: 0;
|
2957 |
+
left: auto;
|
2958 |
+
}
|
2959 |
+
.dropdown-menu .divider {
|
2960 |
+
height: 1px;
|
2961 |
+
margin: 9px 0;
|
2962 |
+
overflow: hidden;
|
2963 |
+
background-color: #e5e5e5;
|
2964 |
+
}
|
2965 |
+
.dropdown-menu > li > a {
|
2966 |
+
display: block;
|
2967 |
+
padding: 3px 20px;
|
2968 |
+
clear: both;
|
2969 |
+
font-weight: normal;
|
2970 |
+
line-height: 1.42857143;
|
2971 |
+
color: #333333;
|
2972 |
+
white-space: nowrap;
|
2973 |
+
}
|
2974 |
+
.dropdown-menu > li > a:hover,
|
2975 |
+
.dropdown-menu > li > a:focus {
|
2976 |
+
text-decoration: none;
|
2977 |
+
color: #262626;
|
2978 |
+
background-color: #f5f5f5;
|
2979 |
+
}
|
2980 |
+
.dropdown-menu > .active > a,
|
2981 |
+
.dropdown-menu > .active > a:hover,
|
2982 |
+
.dropdown-menu > .active > a:focus {
|
2983 |
+
color: #ffffff;
|
2984 |
+
text-decoration: none;
|
2985 |
+
outline: 0;
|
2986 |
+
background-color: #428bca;
|
2987 |
+
}
|
2988 |
+
.dropdown-menu > .disabled > a,
|
2989 |
+
.dropdown-menu > .disabled > a:hover,
|
2990 |
+
.dropdown-menu > .disabled > a:focus {
|
2991 |
+
color: #999999;
|
2992 |
+
}
|
2993 |
+
.dropdown-menu > .disabled > a:hover,
|
2994 |
+
.dropdown-menu > .disabled > a:focus {
|
2995 |
+
text-decoration: none;
|
2996 |
+
background-color: transparent;
|
2997 |
+
background-image: none;
|
2998 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
2999 |
+
cursor: not-allowed;
|
3000 |
+
}
|
3001 |
+
.open > .dropdown-menu {
|
3002 |
+
display: block;
|
3003 |
+
}
|
3004 |
+
.open > a {
|
3005 |
+
outline: 0;
|
3006 |
+
}
|
3007 |
+
.dropdown-menu-right {
|
3008 |
+
left: auto;
|
3009 |
+
right: 0;
|
3010 |
+
}
|
3011 |
+
.dropdown-menu-left {
|
3012 |
+
left: 0;
|
3013 |
+
right: auto;
|
3014 |
+
}
|
3015 |
+
.dropdown-header {
|
3016 |
+
display: block;
|
3017 |
+
padding: 3px 20px;
|
3018 |
+
font-size: 12px;
|
3019 |
+
line-height: 1.42857143;
|
3020 |
+
color: #999999;
|
3021 |
+
}
|
3022 |
+
.dropdown-backdrop {
|
3023 |
+
position: fixed;
|
3024 |
+
left: 0;
|
3025 |
+
right: 0;
|
3026 |
+
bottom: 0;
|
3027 |
+
top: 0;
|
3028 |
+
z-index: 990;
|
3029 |
+
}
|
3030 |
+
.pull-right > .dropdown-menu {
|
3031 |
+
right: 0;
|
3032 |
+
left: auto;
|
3033 |
+
}
|
3034 |
+
.dropup .caret,
|
3035 |
+
.navbar-fixed-bottom .dropdown .caret {
|
3036 |
+
border-top: 0;
|
3037 |
+
border-bottom: 4px solid;
|
3038 |
+
content: "";
|
3039 |
+
}
|
3040 |
+
.dropup .dropdown-menu,
|
3041 |
+
.navbar-fixed-bottom .dropdown .dropdown-menu {
|
3042 |
+
top: auto;
|
3043 |
+
bottom: 100%;
|
3044 |
+
margin-bottom: 1px;
|
3045 |
+
}
|
3046 |
+
@media (min-width: 768px) {
|
3047 |
+
.navbar-right .dropdown-menu {
|
3048 |
+
left: auto;
|
3049 |
+
right: 0;
|
3050 |
+
}
|
3051 |
+
.navbar-right .dropdown-menu-left {
|
3052 |
+
left: 0;
|
3053 |
+
right: auto;
|
3054 |
+
}
|
3055 |
+
}
|
3056 |
+
.btn-group,
|
3057 |
+
.btn-group-vertical {
|
3058 |
+
position: relative;
|
3059 |
+
display: inline-block;
|
3060 |
+
vertical-align: middle;
|
3061 |
+
}
|
3062 |
+
.btn-group > .btn,
|
3063 |
+
.btn-group-vertical > .btn {
|
3064 |
+
position: relative;
|
3065 |
+
float: left;
|
3066 |
+
}
|
3067 |
+
.btn-group > .btn:hover,
|
3068 |
+
.btn-group-vertical > .btn:hover,
|
3069 |
+
.btn-group > .btn:focus,
|
3070 |
+
.btn-group-vertical > .btn:focus,
|
3071 |
+
.btn-group > .btn:active,
|
3072 |
+
.btn-group-vertical > .btn:active,
|
3073 |
+
.btn-group > .btn.active,
|
3074 |
+
.btn-group-vertical > .btn.active {
|
3075 |
+
z-index: 2;
|
3076 |
+
}
|
3077 |
+
.btn-group > .btn:focus,
|
3078 |
+
.btn-group-vertical > .btn:focus {
|
3079 |
+
outline: none;
|
3080 |
+
}
|
3081 |
+
.btn-group .btn + .btn,
|
3082 |
+
.btn-group .btn + .btn-group,
|
3083 |
+
.btn-group .btn-group + .btn,
|
3084 |
+
.btn-group .btn-group + .btn-group {
|
3085 |
+
margin-left: -1px;
|
3086 |
+
}
|
3087 |
+
.btn-toolbar {
|
3088 |
+
margin-left: -5px;
|
3089 |
+
}
|
3090 |
+
.btn-toolbar .btn-group,
|
3091 |
+
.btn-toolbar .input-group {
|
3092 |
+
float: left;
|
3093 |
+
}
|
3094 |
+
.btn-toolbar > .btn,
|
3095 |
+
.btn-toolbar > .btn-group,
|
3096 |
+
.btn-toolbar > .input-group {
|
3097 |
+
margin-left: 5px;
|
3098 |
+
}
|
3099 |
+
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
|
3100 |
+
border-radius: 0;
|
3101 |
+
}
|
3102 |
+
.btn-group > .btn:first-child {
|
3103 |
+
margin-left: 0;
|
3104 |
+
}
|
3105 |
+
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
|
3106 |
+
border-bottom-right-radius: 0;
|
3107 |
+
border-top-right-radius: 0;
|
3108 |
+
}
|
3109 |
+
.btn-group > .btn:last-child:not(:first-child),
|
3110 |
+
.btn-group > .dropdown-toggle:not(:first-child) {
|
3111 |
+
border-bottom-left-radius: 0;
|
3112 |
+
border-top-left-radius: 0;
|
3113 |
+
}
|
3114 |
+
.btn-group > .btn-group {
|
3115 |
+
float: left;
|
3116 |
+
}
|
3117 |
+
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
|
3118 |
+
border-radius: 0;
|
3119 |
+
}
|
3120 |
+
.btn-group > .btn-group:first-child > .btn:last-child,
|
3121 |
+
.btn-group > .btn-group:first-child > .dropdown-toggle {
|
3122 |
+
border-bottom-right-radius: 0;
|
3123 |
+
border-top-right-radius: 0;
|
3124 |
+
}
|
3125 |
+
.btn-group > .btn-group:last-child > .btn:first-child {
|
3126 |
+
border-bottom-left-radius: 0;
|
3127 |
+
border-top-left-radius: 0;
|
3128 |
+
}
|
3129 |
+
.btn-group .dropdown-toggle:active,
|
3130 |
+
.btn-group.open .dropdown-toggle {
|
3131 |
+
outline: 0;
|
3132 |
+
}
|
3133 |
+
.btn-group > .btn + .dropdown-toggle {
|
3134 |
+
padding-left: 8px;
|
3135 |
+
padding-right: 8px;
|
3136 |
+
}
|
3137 |
+
.btn-group > .btn-lg + .dropdown-toggle {
|
3138 |
+
padding-left: 12px;
|
3139 |
+
padding-right: 12px;
|
3140 |
+
}
|
3141 |
+
.btn-group.open .dropdown-toggle {
|
3142 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
3143 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
3144 |
+
}
|
3145 |
+
.btn-group.open .dropdown-toggle.btn-link {
|
3146 |
+
-webkit-box-shadow: none;
|
3147 |
+
box-shadow: none;
|
3148 |
+
}
|
3149 |
+
.btn .caret {
|
3150 |
+
margin-left: 0;
|
3151 |
+
}
|
3152 |
+
.btn-lg .caret {
|
3153 |
+
border-width: 5px 5px 0;
|
3154 |
+
border-bottom-width: 0;
|
3155 |
+
}
|
3156 |
+
.dropup .btn-lg .caret {
|
3157 |
+
border-width: 0 5px 5px;
|
3158 |
+
}
|
3159 |
+
.btn-group-vertical > .btn,
|
3160 |
+
.btn-group-vertical > .btn-group,
|
3161 |
+
.btn-group-vertical > .btn-group > .btn {
|
3162 |
+
display: block;
|
3163 |
+
float: none;
|
3164 |
+
width: 100%;
|
3165 |
+
max-width: 100%;
|
3166 |
+
}
|
3167 |
+
.btn-group-vertical > .btn-group > .btn {
|
3168 |
+
float: none;
|
3169 |
+
}
|
3170 |
+
.btn-group-vertical > .btn + .btn,
|
3171 |
+
.btn-group-vertical > .btn + .btn-group,
|
3172 |
+
.btn-group-vertical > .btn-group + .btn,
|
3173 |
+
.btn-group-vertical > .btn-group + .btn-group {
|
3174 |
+
margin-top: -1px;
|
3175 |
+
margin-left: 0;
|
3176 |
+
}
|
3177 |
+
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
|
3178 |
+
border-radius: 0;
|
3179 |
+
}
|
3180 |
+
.btn-group-vertical > .btn:first-child:not(:last-child) {
|
3181 |
+
border-top-right-radius: 4px;
|
3182 |
+
border-bottom-right-radius: 0;
|
3183 |
+
border-bottom-left-radius: 0;
|
3184 |
+
}
|
3185 |
+
.btn-group-vertical > .btn:last-child:not(:first-child) {
|
3186 |
+
border-bottom-left-radius: 4px;
|
3187 |
+
border-top-right-radius: 0;
|
3188 |
+
border-top-left-radius: 0;
|
3189 |
+
}
|
3190 |
+
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
|
3191 |
+
border-radius: 0;
|
3192 |
+
}
|
3193 |
+
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
|
3194 |
+
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
|
3195 |
+
border-bottom-right-radius: 0;
|
3196 |
+
border-bottom-left-radius: 0;
|
3197 |
+
}
|
3198 |
+
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
|
3199 |
+
border-top-right-radius: 0;
|
3200 |
+
border-top-left-radius: 0;
|
3201 |
+
}
|
3202 |
+
.btn-group-justified {
|
3203 |
+
display: table;
|
3204 |
+
width: 100%;
|
3205 |
+
table-layout: fixed;
|
3206 |
+
border-collapse: separate;
|
3207 |
+
}
|
3208 |
+
.btn-group-justified > .btn,
|
3209 |
+
.btn-group-justified > .btn-group {
|
3210 |
+
float: none;
|
3211 |
+
display: table-cell;
|
3212 |
+
width: 1%;
|
3213 |
+
}
|
3214 |
+
.btn-group-justified > .btn-group .btn {
|
3215 |
+
width: 100%;
|
3216 |
+
}
|
3217 |
+
[data-toggle="buttons"] > .btn > input[type="radio"],
|
3218 |
+
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
|
3219 |
+
display: none;
|
3220 |
+
}
|
3221 |
+
.input-group {
|
3222 |
+
position: relative;
|
3223 |
+
display: table;
|
3224 |
+
border-collapse: separate;
|
3225 |
+
}
|
3226 |
+
.input-group[class*="col-"] {
|
3227 |
+
float: none;
|
3228 |
+
padding-left: 0;
|
3229 |
+
padding-right: 0;
|
3230 |
+
}
|
3231 |
+
.input-group .form-control {
|
3232 |
+
position: relative;
|
3233 |
+
z-index: 2;
|
3234 |
+
float: left;
|
3235 |
+
width: 100%;
|
3236 |
+
margin-bottom: 0;
|
3237 |
+
}
|
3238 |
+
.input-group-lg > .form-control,
|
3239 |
+
.input-group-lg > .input-group-addon,
|
3240 |
+
.input-group-lg > .input-group-btn > .btn {
|
3241 |
+
height: 46px;
|
3242 |
+
padding: 10px 16px;
|
3243 |
+
font-size: 18px;
|
3244 |
+
line-height: 1.33;
|
3245 |
+
border-radius: 6px;
|
3246 |
+
}
|
3247 |
+
select.input-group-lg > .form-control,
|
3248 |
+
select.input-group-lg > .input-group-addon,
|
3249 |
+
select.input-group-lg > .input-group-btn > .btn {
|
3250 |
+
height: 46px;
|
3251 |
+
line-height: 46px;
|
3252 |
+
}
|
3253 |
+
textarea.input-group-lg > .form-control,
|
3254 |
+
textarea.input-group-lg > .input-group-addon,
|
3255 |
+
textarea.input-group-lg > .input-group-btn > .btn,
|
3256 |
+
select[multiple].input-group-lg > .form-control,
|
3257 |
+
select[multiple].input-group-lg > .input-group-addon,
|
3258 |
+
select[multiple].input-group-lg > .input-group-btn > .btn {
|
3259 |
+
height: auto;
|
3260 |
+
}
|
3261 |
+
.input-group-sm > .form-control,
|
3262 |
+
.input-group-sm > .input-group-addon,
|
3263 |
+
.input-group-sm > .input-group-btn > .btn {
|
3264 |
+
height: 30px;
|
3265 |
+
padding: 5px 10px;
|
3266 |
+
font-size: 12px;
|
3267 |
+
line-height: 1.5;
|
3268 |
+
border-radius: 3px;
|
3269 |
+
}
|
3270 |
+
select.input-group-sm > .form-control,
|
3271 |
+
select.input-group-sm > .input-group-addon,
|
3272 |
+
select.input-group-sm > .input-group-btn > .btn {
|
3273 |
+
height: 30px;
|
3274 |
+
line-height: 30px;
|
3275 |
+
}
|
3276 |
+
textarea.input-group-sm > .form-control,
|
3277 |
+
textarea.input-group-sm > .input-group-addon,
|
3278 |
+
textarea.input-group-sm > .input-group-btn > .btn,
|
3279 |
+
select[multiple].input-group-sm > .form-control,
|
3280 |
+
select[multiple].input-group-sm > .input-group-addon,
|
3281 |
+
select[multiple].input-group-sm > .input-group-btn > .btn {
|
3282 |
+
height: auto;
|
3283 |
+
}
|
3284 |
+
.input-group-addon,
|
3285 |
+
.input-group-btn,
|
3286 |
+
.input-group .form-control {
|
3287 |
+
display: table-cell;
|
3288 |
+
}
|
3289 |
+
.input-group-addon:not(:first-child):not(:last-child),
|
3290 |
+
.input-group-btn:not(:first-child):not(:last-child),
|
3291 |
+
.input-group .form-control:not(:first-child):not(:last-child) {
|
3292 |
+
border-radius: 0;
|
3293 |
+
}
|
3294 |
+
.input-group-addon,
|
3295 |
+
.input-group-btn {
|
3296 |
+
width: 1%;
|
3297 |
+
white-space: nowrap;
|
3298 |
+
vertical-align: middle;
|
3299 |
+
}
|
3300 |
+
.input-group-addon {
|
3301 |
+
padding: 6px 12px;
|
3302 |
+
font-size: 14px;
|
3303 |
+
font-weight: normal;
|
3304 |
+
line-height: 1;
|
3305 |
+
color: #555555;
|
3306 |
+
text-align: center;
|
3307 |
+
background-color: #eeeeee;
|
3308 |
+
border: 1px solid #cccccc;
|
3309 |
+
border-radius: 4px;
|
3310 |
+
}
|
3311 |
+
.input-group-addon.input-sm {
|
3312 |
+
padding: 5px 10px;
|
3313 |
+
font-size: 12px;
|
3314 |
+
border-radius: 3px;
|
3315 |
+
}
|
3316 |
+
.input-group-addon.input-lg {
|
3317 |
+
padding: 10px 16px;
|
3318 |
+
font-size: 18px;
|
3319 |
+
border-radius: 6px;
|
3320 |
+
}
|
3321 |
+
.input-group-addon input[type="radio"],
|
3322 |
+
.input-group-addon input[type="checkbox"] {
|
3323 |
+
margin-top: 0;
|
3324 |
+
}
|
3325 |
+
.input-group .form-control:first-child,
|
3326 |
+
.input-group-addon:first-child,
|
3327 |
+
.input-group-btn:first-child > .btn,
|
3328 |
+
.input-group-btn:first-child > .btn-group > .btn,
|
3329 |
+
.input-group-btn:first-child > .dropdown-toggle,
|
3330 |
+
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
|
3331 |
+
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
|
3332 |
+
border-bottom-right-radius: 0;
|
3333 |
+
border-top-right-radius: 0;
|
3334 |
+
}
|
3335 |
+
.input-group-addon:first-child {
|
3336 |
+
border-right: 0;
|
3337 |
+
}
|
3338 |
+
.input-group .form-control:last-child,
|
3339 |
+
.input-group-addon:last-child,
|
3340 |
+
.input-group-btn:last-child > .btn,
|
3341 |
+
.input-group-btn:last-child > .btn-group > .btn,
|
3342 |
+
.input-group-btn:last-child > .dropdown-toggle,
|
3343 |
+
.input-group-btn:first-child > .btn:not(:first-child),
|
3344 |
+
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
|
3345 |
+
border-bottom-left-radius: 0;
|
3346 |
+
border-top-left-radius: 0;
|
3347 |
+
}
|
3348 |
+
.input-group-addon:last-child {
|
3349 |
+
border-left: 0;
|
3350 |
+
}
|
3351 |
+
.input-group-btn {
|
3352 |
+
position: relative;
|
3353 |
+
font-size: 0;
|
3354 |
+
white-space: nowrap;
|
3355 |
+
}
|
3356 |
+
.input-group-btn > .btn {
|
3357 |
+
position: relative;
|
3358 |
+
}
|
3359 |
+
.input-group-btn > .btn + .btn {
|
3360 |
+
margin-left: -1px;
|
3361 |
+
}
|
3362 |
+
.input-group-btn > .btn:hover,
|
3363 |
+
.input-group-btn > .btn:focus,
|
3364 |
+
.input-group-btn > .btn:active {
|
3365 |
+
z-index: 2;
|
3366 |
+
}
|
3367 |
+
.input-group-btn:first-child > .btn,
|
3368 |
+
.input-group-btn:first-child > .btn-group {
|
3369 |
+
margin-right: -1px;
|
3370 |
+
}
|
3371 |
+
.input-group-btn:last-child > .btn,
|
3372 |
+
.input-group-btn:last-child > .btn-group {
|
3373 |
+
margin-left: -1px;
|
3374 |
+
}
|
3375 |
+
.nav {
|
3376 |
+
margin-bottom: 0;
|
3377 |
+
padding-left: 0;
|
3378 |
+
list-style: none;
|
3379 |
+
}
|
3380 |
+
.nav > li {
|
3381 |
+
position: relative;
|
3382 |
+
display: block;
|
3383 |
+
}
|
3384 |
+
.nav > li > a {
|
3385 |
+
position: relative;
|
3386 |
+
display: block;
|
3387 |
+
padding: 10px 15px;
|
3388 |
+
}
|
3389 |
+
.nav > li > a:hover,
|
3390 |
+
.nav > li > a:focus {
|
3391 |
+
text-decoration: none;
|
3392 |
+
background-color: #eeeeee;
|
3393 |
+
}
|
3394 |
+
.nav > li.disabled > a {
|
3395 |
+
color: #999999;
|
3396 |
+
}
|
3397 |
+
.nav > li.disabled > a:hover,
|
3398 |
+
.nav > li.disabled > a:focus {
|
3399 |
+
color: #999999;
|
3400 |
+
text-decoration: none;
|
3401 |
+
background-color: transparent;
|
3402 |
+
cursor: not-allowed;
|
3403 |
+
}
|
3404 |
+
.nav .open > a,
|
3405 |
+
.nav .open > a:hover,
|
3406 |
+
.nav .open > a:focus {
|
3407 |
+
background-color: #eeeeee;
|
3408 |
+
border-color: #428bca;
|
3409 |
+
}
|
3410 |
+
.nav .nav-divider {
|
3411 |
+
height: 1px;
|
3412 |
+
margin: 9px 0;
|
3413 |
+
overflow: hidden;
|
3414 |
+
background-color: #e5e5e5;
|
3415 |
+
}
|
3416 |
+
.nav > li > a > img {
|
3417 |
+
max-width: none;
|
3418 |
+
}
|
3419 |
+
.nav-tabs {
|
3420 |
+
border-bottom: 1px solid #dddddd;
|
3421 |
+
}
|
3422 |
+
.nav-tabs > li {
|
3423 |
+
float: left;
|
3424 |
+
margin-bottom: -1px;
|
3425 |
+
}
|
3426 |
+
.nav-tabs > li > a {
|
3427 |
+
margin-right: 2px;
|
3428 |
+
line-height: 1.42857143;
|
3429 |
+
border: 1px solid transparent;
|
3430 |
+
border-radius: 4px 4px 0 0;
|
3431 |
+
}
|
3432 |
+
.nav-tabs > li > a:hover {
|
3433 |
+
border-color: #eeeeee #eeeeee #dddddd;
|
3434 |
+
}
|
3435 |
+
.nav-tabs > li.active > a,
|
3436 |
+
.nav-tabs > li.active > a:hover,
|
3437 |
+
.nav-tabs > li.active > a:focus {
|
3438 |
+
color: #555555;
|
3439 |
+
background-color: #ffffff;
|
3440 |
+
border: 1px solid #dddddd;
|
3441 |
+
border-bottom-color: transparent;
|
3442 |
+
cursor: default;
|
3443 |
+
}
|
3444 |
+
.nav-tabs.nav-justified {
|
3445 |
+
width: 100%;
|
3446 |
+
border-bottom: 0;
|
3447 |
+
}
|
3448 |
+
.nav-tabs.nav-justified > li {
|
3449 |
+
float: none;
|
3450 |
+
}
|
3451 |
+
.nav-tabs.nav-justified > li > a {
|
3452 |
+
text-align: center;
|
3453 |
+
margin-bottom: 5px;
|
3454 |
+
}
|
3455 |
+
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
|
3456 |
+
top: auto;
|
3457 |
+
left: auto;
|
3458 |
+
}
|
3459 |
+
@media (min-width: 768px) {
|
3460 |
+
.nav-tabs.nav-justified > li {
|
3461 |
+
display: table-cell;
|
3462 |
+
width: 1%;
|
3463 |
+
}
|
3464 |
+
.nav-tabs.nav-justified > li > a {
|
3465 |
+
margin-bottom: 0;
|
3466 |
+
}
|
3467 |
+
}
|
3468 |
+
.nav-tabs.nav-justified > li > a {
|
3469 |
+
margin-right: 0;
|
3470 |
+
border-radius: 4px;
|
3471 |
+
}
|
3472 |
+
.nav-tabs.nav-justified > .active > a,
|
3473 |
+
.nav-tabs.nav-justified > .active > a:hover,
|
3474 |
+
.nav-tabs.nav-justified > .active > a:focus {
|
3475 |
+
border: 1px solid #dddddd;
|
3476 |
+
}
|
3477 |
+
@media (min-width: 768px) {
|
3478 |
+
.nav-tabs.nav-justified > li > a {
|
3479 |
+
border-bottom: 1px solid #dddddd;
|
3480 |
+
border-radius: 4px 4px 0 0;
|
3481 |
+
}
|
3482 |
+
.nav-tabs.nav-justified > .active > a,
|
3483 |
+
.nav-tabs.nav-justified > .active > a:hover,
|
3484 |
+
.nav-tabs.nav-justified > .active > a:focus {
|
3485 |
+
border-bottom-color: #ffffff;
|
3486 |
+
}
|
3487 |
+
}
|
3488 |
+
.nav-pills > li {
|
3489 |
+
float: left;
|
3490 |
+
}
|
3491 |
+
.nav-pills > li > a {
|
3492 |
+
border-radius: 4px;
|
3493 |
+
}
|
3494 |
+
.nav-pills > li + li {
|
3495 |
+
margin-left: 2px;
|
3496 |
+
}
|
3497 |
+
.nav-pills > li.active > a,
|
3498 |
+
.nav-pills > li.active > a:hover,
|
3499 |
+
.nav-pills > li.active > a:focus {
|
3500 |
+
color: #ffffff;
|
3501 |
+
background-color: #428bca;
|
3502 |
+
}
|
3503 |
+
.nav-stacked > li {
|
3504 |
+
float: none;
|
3505 |
+
}
|
3506 |
+
.nav-stacked > li + li {
|
3507 |
+
margin-top: 2px;
|
3508 |
+
margin-left: 0;
|
3509 |
+
}
|
3510 |
+
.nav-justified {
|
3511 |
+
width: 100%;
|
3512 |
+
}
|
3513 |
+
.nav-justified > li {
|
3514 |
+
float: none;
|
3515 |
+
}
|
3516 |
+
.nav-justified > li > a {
|
3517 |
+
text-align: center;
|
3518 |
+
margin-bottom: 5px;
|
3519 |
+
}
|
3520 |
+
.nav-justified > .dropdown .dropdown-menu {
|
3521 |
+
top: auto;
|
3522 |
+
left: auto;
|
3523 |
+
}
|
3524 |
+
@media (min-width: 768px) {
|
3525 |
+
.nav-justified > li {
|
3526 |
+
display: table-cell;
|
3527 |
+
width: 1%;
|
3528 |
+
}
|
3529 |
+
.nav-justified > li > a {
|
3530 |
+
margin-bottom: 0;
|
3531 |
+
}
|
3532 |
+
}
|
3533 |
+
.nav-tabs-justified {
|
3534 |
+
border-bottom: 0;
|
3535 |
+
}
|
3536 |
+
.nav-tabs-justified > li > a {
|
3537 |
+
margin-right: 0;
|
3538 |
+
border-radius: 4px;
|
3539 |
+
}
|
3540 |
+
.nav-tabs-justified > .active > a,
|
3541 |
+
.nav-tabs-justified > .active > a:hover,
|
3542 |
+
.nav-tabs-justified > .active > a:focus {
|
3543 |
+
border: 1px solid #dddddd;
|
3544 |
+
}
|
3545 |
+
@media (min-width: 768px) {
|
3546 |
+
.nav-tabs-justified > li > a {
|
3547 |
+
border-bottom: 1px solid #dddddd;
|
3548 |
+
border-radius: 4px 4px 0 0;
|
3549 |
+
}
|
3550 |
+
.nav-tabs-justified > .active > a,
|
3551 |
+
.nav-tabs-justified > .active > a:hover,
|
3552 |
+
.nav-tabs-justified > .active > a:focus {
|
3553 |
+
border-bottom-color: #ffffff;
|
3554 |
+
}
|
3555 |
+
}
|
3556 |
+
.tab-content > .tab-pane {
|
3557 |
+
display: none;
|
3558 |
+
}
|
3559 |
+
.tab-content > .active {
|
3560 |
+
display: block;
|
3561 |
+
}
|
3562 |
+
.nav-tabs .dropdown-menu {
|
3563 |
+
margin-top: -1px;
|
3564 |
+
border-top-right-radius: 0;
|
3565 |
+
border-top-left-radius: 0;
|
3566 |
+
}
|
3567 |
+
.navbar {
|
3568 |
+
position: relative;
|
3569 |
+
min-height: 50px;
|
3570 |
+
margin-bottom: 20px;
|
3571 |
+
border: 1px solid transparent;
|
3572 |
+
}
|
3573 |
+
@media (min-width: 768px) {
|
3574 |
+
.navbar {
|
3575 |
+
border-radius: 4px;
|
3576 |
+
}
|
3577 |
+
}
|
3578 |
+
@media (min-width: 768px) {
|
3579 |
+
.navbar-header {
|
3580 |
+
float: left;
|
3581 |
+
}
|
3582 |
+
}
|
3583 |
+
.navbar-collapse {
|
3584 |
+
max-height: 340px;
|
3585 |
+
overflow-x: visible;
|
3586 |
+
padding-right: 15px;
|
3587 |
+
padding-left: 15px;
|
3588 |
+
border-top: 1px solid transparent;
|
3589 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
3590 |
+
-webkit-overflow-scrolling: touch;
|
3591 |
+
}
|
3592 |
+
.navbar-collapse.in {
|
3593 |
+
overflow-y: auto;
|
3594 |
+
}
|
3595 |
+
@media (min-width: 768px) {
|
3596 |
+
.navbar-collapse {
|
3597 |
+
width: auto;
|
3598 |
+
border-top: 0;
|
3599 |
+
box-shadow: none;
|
3600 |
+
}
|
3601 |
+
.navbar-collapse.collapse {
|
3602 |
+
display: block !important;
|
3603 |
+
height: auto !important;
|
3604 |
+
padding-bottom: 0;
|
3605 |
+
overflow: visible !important;
|
3606 |
+
}
|
3607 |
+
.navbar-collapse.in {
|
3608 |
+
overflow-y: visible;
|
3609 |
+
}
|
3610 |
+
.navbar-fixed-top .navbar-collapse,
|
3611 |
+
.navbar-static-top .navbar-collapse,
|
3612 |
+
.navbar-fixed-bottom .navbar-collapse {
|
3613 |
+
padding-left: 0;
|
3614 |
+
padding-right: 0;
|
3615 |
+
}
|
3616 |
+
}
|
3617 |
+
.container > .navbar-header,
|
3618 |
+
.container-fluid > .navbar-header,
|
3619 |
+
.container > .navbar-collapse,
|
3620 |
+
.container-fluid > .navbar-collapse {
|
3621 |
+
margin-right: -15px;
|
3622 |
+
margin-left: -15px;
|
3623 |
+
}
|
3624 |
+
@media (min-width: 768px) {
|
3625 |
+
.container > .navbar-header,
|
3626 |
+
.container-fluid > .navbar-header,
|
3627 |
+
.container > .navbar-collapse,
|
3628 |
+
.container-fluid > .navbar-collapse {
|
3629 |
+
margin-right: 0;
|
3630 |
+
margin-left: 0;
|
3631 |
+
}
|
3632 |
+
}
|
3633 |
+
.navbar-static-top {
|
3634 |
+
z-index: 1000;
|
3635 |
+
border-width: 0 0 1px;
|
3636 |
+
}
|
3637 |
+
@media (min-width: 768px) {
|
3638 |
+
.navbar-static-top {
|
3639 |
+
border-radius: 0;
|
3640 |
+
}
|
3641 |
+
}
|
3642 |
+
.navbar-fixed-top,
|
3643 |
+
.navbar-fixed-bottom {
|
3644 |
+
position: fixed;
|
3645 |
+
right: 0;
|
3646 |
+
left: 0;
|
3647 |
+
z-index: 1030;
|
3648 |
+
}
|
3649 |
+
@media (min-width: 768px) {
|
3650 |
+
.navbar-fixed-top,
|
3651 |
+
.navbar-fixed-bottom {
|
3652 |
+
border-radius: 0;
|
3653 |
+
}
|
3654 |
+
}
|
3655 |
+
.navbar-fixed-top {
|
3656 |
+
top: 0;
|
3657 |
+
border-width: 0 0 1px;
|
3658 |
+
}
|
3659 |
+
.navbar-fixed-bottom {
|
3660 |
+
bottom: 0;
|
3661 |
+
margin-bottom: 0;
|
3662 |
+
border-width: 1px 0 0;
|
3663 |
+
}
|
3664 |
+
.navbar-brand {
|
3665 |
+
float: left;
|
3666 |
+
padding: 15px 15px;
|
3667 |
+
font-size: 18px;
|
3668 |
+
line-height: 20px;
|
3669 |
+
height: 50px;
|
3670 |
+
}
|
3671 |
+
.navbar-brand:hover,
|
3672 |
+
.navbar-brand:focus {
|
3673 |
+
text-decoration: none;
|
3674 |
+
}
|
3675 |
+
@media (min-width: 768px) {
|
3676 |
+
.navbar > .container .navbar-brand,
|
3677 |
+
.navbar > .container-fluid .navbar-brand {
|
3678 |
+
margin-left: -15px;
|
3679 |
+
}
|
3680 |
+
}
|
3681 |
+
.navbar-toggle {
|
3682 |
+
position: relative;
|
3683 |
+
float: right;
|
3684 |
+
margin-right: 15px;
|
3685 |
+
padding: 9px 10px;
|
3686 |
+
margin-top: 8px;
|
3687 |
+
margin-bottom: 8px;
|
3688 |
+
background-color: transparent;
|
3689 |
+
background-image: none;
|
3690 |
+
border: 1px solid transparent;
|
3691 |
+
border-radius: 4px;
|
3692 |
+
}
|
3693 |
+
.navbar-toggle:focus {
|
3694 |
+
outline: none;
|
3695 |
+
}
|
3696 |
+
.navbar-toggle .icon-bar {
|
3697 |
+
display: block;
|
3698 |
+
width: 22px;
|
3699 |
+
height: 2px;
|
3700 |
+
border-radius: 1px;
|
3701 |
+
}
|
3702 |
+
.navbar-toggle .icon-bar + .icon-bar {
|
3703 |
+
margin-top: 4px;
|
3704 |
+
}
|
3705 |
+
@media (min-width: 768px) {
|
3706 |
+
.navbar-toggle {
|
3707 |
+
display: none;
|
3708 |
+
}
|
3709 |
+
}
|
3710 |
+
.navbar-nav {
|
3711 |
+
margin: 7.5px -15px;
|
3712 |
+
}
|
3713 |
+
.navbar-nav > li > a {
|
3714 |
+
padding-top: 10px;
|
3715 |
+
padding-bottom: 10px;
|
3716 |
+
line-height: 20px;
|
3717 |
+
}
|
3718 |
+
@media (max-width: 767px) {
|
3719 |
+
.navbar-nav .open .dropdown-menu {
|
3720 |
+
position: static;
|
3721 |
+
float: none;
|
3722 |
+
width: auto;
|
3723 |
+
margin-top: 0;
|
3724 |
+
background-color: transparent;
|
3725 |
+
border: 0;
|
3726 |
+
box-shadow: none;
|
3727 |
+
}
|
3728 |
+
.navbar-nav .open .dropdown-menu > li > a,
|
3729 |
+
.navbar-nav .open .dropdown-menu .dropdown-header {
|
3730 |
+
padding: 5px 15px 5px 25px;
|
3731 |
+
}
|
3732 |
+
.navbar-nav .open .dropdown-menu > li > a {
|
3733 |
+
line-height: 20px;
|
3734 |
+
}
|
3735 |
+
.navbar-nav .open .dropdown-menu > li > a:hover,
|
3736 |
+
.navbar-nav .open .dropdown-menu > li > a:focus {
|
3737 |
+
background-image: none;
|
3738 |
+
}
|
3739 |
+
}
|
3740 |
+
@media (min-width: 768px) {
|
3741 |
+
.navbar-nav {
|
3742 |
+
float: left;
|
3743 |
+
margin: 0;
|
3744 |
+
}
|
3745 |
+
.navbar-nav > li {
|
3746 |
+
float: left;
|
3747 |
+
}
|
3748 |
+
.navbar-nav > li > a {
|
3749 |
+
padding-top: 15px;
|
3750 |
+
padding-bottom: 15px;
|
3751 |
+
}
|
3752 |
+
.navbar-nav.navbar-right:last-child {
|
3753 |
+
margin-right: -15px;
|
3754 |
+
}
|
3755 |
+
}
|
3756 |
+
@media (min-width: 768px) {
|
3757 |
+
.navbar-left {
|
3758 |
+
float: left !important;
|
3759 |
+
}
|
3760 |
+
.navbar-right {
|
3761 |
+
float: right !important;
|
3762 |
+
}
|
3763 |
+
}
|
3764 |
+
.navbar-form {
|
3765 |
+
margin-left: -15px;
|
3766 |
+
margin-right: -15px;
|
3767 |
+
padding: 10px 15px;
|
3768 |
+
border-top: 1px solid transparent;
|
3769 |
+
border-bottom: 1px solid transparent;
|
3770 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
|
3771 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
|
3772 |
+
margin-top: 8px;
|
3773 |
+
margin-bottom: 8px;
|
3774 |
+
}
|
3775 |
+
@media (min-width: 768px) {
|
3776 |
+
.navbar-form .form-group {
|
3777 |
+
display: inline-block;
|
3778 |
+
margin-bottom: 0;
|
3779 |
+
vertical-align: middle;
|
3780 |
+
}
|
3781 |
+
.navbar-form .form-control {
|
3782 |
+
display: inline-block;
|
3783 |
+
width: auto;
|
3784 |
+
vertical-align: middle;
|
3785 |
+
}
|
3786 |
+
.navbar-form .input-group > .form-control {
|
3787 |
+
width: 100%;
|
3788 |
+
}
|
3789 |
+
.navbar-form .control-label {
|
3790 |
+
margin-bottom: 0;
|
3791 |
+
vertical-align: middle;
|
3792 |
+
}
|
3793 |
+
.navbar-form .radio,
|
3794 |
+
.navbar-form .checkbox {
|
3795 |
+
display: inline-block;
|
3796 |
+
margin-top: 0;
|
3797 |
+
margin-bottom: 0;
|
3798 |
+
padding-left: 0;
|
3799 |
+
vertical-align: middle;
|
3800 |
+
}
|
3801 |
+
.navbar-form .radio input[type="radio"],
|
3802 |
+
.navbar-form .checkbox input[type="checkbox"] {
|
3803 |
+
float: none;
|
3804 |
+
margin-left: 0;
|
3805 |
+
}
|
3806 |
+
.navbar-form .has-feedback .form-control-feedback {
|
3807 |
+
top: 0;
|
3808 |
+
}
|
3809 |
+
}
|
3810 |
+
@media (max-width: 767px) {
|
3811 |
+
.navbar-form .form-group {
|
3812 |
+
margin-bottom: 5px;
|
3813 |
+
}
|
3814 |
+
}
|
3815 |
+
@media (min-width: 768px) {
|
3816 |
+
.navbar-form {
|
3817 |
+
width: auto;
|
3818 |
+
border: 0;
|
3819 |
+
margin-left: 0;
|
3820 |
+
margin-right: 0;
|
3821 |
+
padding-top: 0;
|
3822 |
+
padding-bottom: 0;
|
3823 |
+
-webkit-box-shadow: none;
|
3824 |
+
box-shadow: none;
|
3825 |
+
}
|
3826 |
+
.navbar-form.navbar-right:last-child {
|
3827 |
+
margin-right: -15px;
|
3828 |
+
}
|
3829 |
+
}
|
3830 |
+
.navbar-nav > li > .dropdown-menu {
|
3831 |
+
margin-top: 0;
|
3832 |
+
border-top-right-radius: 0;
|
3833 |
+
border-top-left-radius: 0;
|
3834 |
+
}
|
3835 |
+
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
|
3836 |
+
border-bottom-right-radius: 0;
|
3837 |
+
border-bottom-left-radius: 0;
|
3838 |
+
}
|
3839 |
+
.navbar-btn {
|
3840 |
+
margin-top: 8px;
|
3841 |
+
margin-bottom: 8px;
|
3842 |
+
}
|
3843 |
+
.navbar-btn.btn-sm {
|
3844 |
+
margin-top: 10px;
|
3845 |
+
margin-bottom: 10px;
|
3846 |
+
}
|
3847 |
+
.navbar-btn.btn-xs {
|
3848 |
+
margin-top: 14px;
|
3849 |
+
margin-bottom: 14px;
|
3850 |
+
}
|
3851 |
+
.navbar-text {
|
3852 |
+
margin-top: 15px;
|
3853 |
+
margin-bottom: 15px;
|
3854 |
+
}
|
3855 |
+
@media (min-width: 768px) {
|
3856 |
+
.navbar-text {
|
3857 |
+
float: left;
|
3858 |
+
margin-left: 15px;
|
3859 |
+
margin-right: 15px;
|
3860 |
+
}
|
3861 |
+
.navbar-text.navbar-right:last-child {
|
3862 |
+
margin-right: 0;
|
3863 |
+
}
|
3864 |
+
}
|
3865 |
+
.navbar-default {
|
3866 |
+
background-color: #f8f8f8;
|
3867 |
+
border-color: #e7e7e7;
|
3868 |
+
}
|
3869 |
+
.navbar-default .navbar-brand {
|
3870 |
+
color: #777777;
|
3871 |
+
}
|
3872 |
+
.navbar-default .navbar-brand:hover,
|
3873 |
+
.navbar-default .navbar-brand:focus {
|
3874 |
+
color: #5e5e5e;
|
3875 |
+
background-color: transparent;
|
3876 |
+
}
|
3877 |
+
.navbar-default .navbar-text {
|
3878 |
+
color: #777777;
|
3879 |
+
}
|
3880 |
+
.navbar-default .navbar-nav > li > a {
|
3881 |
+
color: #777777;
|
3882 |
+
}
|
3883 |
+
.navbar-default .navbar-nav > li > a:hover,
|
3884 |
+
.navbar-default .navbar-nav > li > a:focus {
|
3885 |
+
color: #333333;
|
3886 |
+
background-color: transparent;
|
3887 |
+
}
|
3888 |
+
.navbar-default .navbar-nav > .active > a,
|
3889 |
+
.navbar-default .navbar-nav > .active > a:hover,
|
3890 |
+
.navbar-default .navbar-nav > .active > a:focus {
|
3891 |
+
color: #555555;
|
3892 |
+
background-color: #e7e7e7;
|
3893 |
+
}
|
3894 |
+
.navbar-default .navbar-nav > .disabled > a,
|
3895 |
+
.navbar-default .navbar-nav > .disabled > a:hover,
|
3896 |
+
.navbar-default .navbar-nav > .disabled > a:focus {
|
3897 |
+
color: #cccccc;
|
3898 |
+
background-color: transparent;
|
3899 |
+
}
|
3900 |
+
.navbar-default .navbar-toggle {
|
3901 |
+
border-color: #dddddd;
|
3902 |
+
}
|
3903 |
+
.navbar-default .navbar-toggle:hover,
|
3904 |
+
.navbar-default .navbar-toggle:focus {
|
3905 |
+
background-color: #dddddd;
|
3906 |
+
}
|
3907 |
+
.navbar-default .navbar-toggle .icon-bar {
|
3908 |
+
background-color: #888888;
|
3909 |
+
}
|
3910 |
+
.navbar-default .navbar-collapse,
|
3911 |
+
.navbar-default .navbar-form {
|
3912 |
+
border-color: #e7e7e7;
|
3913 |
+
}
|
3914 |
+
.navbar-default .navbar-nav > .open > a,
|
3915 |
+
.navbar-default .navbar-nav > .open > a:hover,
|
3916 |
+
.navbar-default .navbar-nav > .open > a:focus {
|
3917 |
+
background-color: #e7e7e7;
|
3918 |
+
color: #555555;
|
3919 |
+
}
|
3920 |
+
@media (max-width: 767px) {
|
3921 |
+
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
|
3922 |
+
color: #777777;
|
3923 |
+
}
|
3924 |
+
.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
|
3925 |
+
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
|
3926 |
+
color: #333333;
|
3927 |
+
background-color: transparent;
|
3928 |
+
}
|
3929 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
|
3930 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
|
3931 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
|
3932 |
+
color: #555555;
|
3933 |
+
background-color: #e7e7e7;
|
3934 |
+
}
|
3935 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
|
3936 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
|
3937 |
+
.navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
|
3938 |
+
color: #cccccc;
|
3939 |
+
background-color: transparent;
|
3940 |
+
}
|
3941 |
+
}
|
3942 |
+
.navbar-default .navbar-link {
|
3943 |
+
color: #777777;
|
3944 |
+
}
|
3945 |
+
.navbar-default .navbar-link:hover {
|
3946 |
+
color: #333333;
|
3947 |
+
}
|
3948 |
+
.navbar-inverse {
|
3949 |
+
background-color: #222222;
|
3950 |
+
border-color: #080808;
|
3951 |
+
}
|
3952 |
+
.navbar-inverse .navbar-brand {
|
3953 |
+
color: #999999;
|
3954 |
+
}
|
3955 |
+
.navbar-inverse .navbar-brand:hover,
|
3956 |
+
.navbar-inverse .navbar-brand:focus {
|
3957 |
+
color: #ffffff;
|
3958 |
+
background-color: transparent;
|
3959 |
+
}
|
3960 |
+
.navbar-inverse .navbar-text {
|
3961 |
+
color: #999999;
|
3962 |
+
}
|
3963 |
+
.navbar-inverse .navbar-nav > li > a {
|
3964 |
+
color: #999999;
|
3965 |
+
}
|
3966 |
+
.navbar-inverse .navbar-nav > li > a:hover,
|
3967 |
+
.navbar-inverse .navbar-nav > li > a:focus {
|
3968 |
+
color: #ffffff;
|
3969 |
+
background-color: transparent;
|
3970 |
+
}
|
3971 |
+
.navbar-inverse .navbar-nav > .active > a,
|
3972 |
+
.navbar-inverse .navbar-nav > .active > a:hover,
|
3973 |
+
.navbar-inverse .navbar-nav > .active > a:focus {
|
3974 |
+
color: #ffffff;
|
3975 |
+
background-color: #080808;
|
3976 |
+
}
|
3977 |
+
.navbar-inverse .navbar-nav > .disabled > a,
|
3978 |
+
.navbar-inverse .navbar-nav > .disabled > a:hover,
|
3979 |
+
.navbar-inverse .navbar-nav > .disabled > a:focus {
|
3980 |
+
color: #444444;
|
3981 |
+
background-color: transparent;
|
3982 |
+
}
|
3983 |
+
.navbar-inverse .navbar-toggle {
|
3984 |
+
border-color: #333333;
|
3985 |
+
}
|
3986 |
+
.navbar-inverse .navbar-toggle:hover,
|
3987 |
+
.navbar-inverse .navbar-toggle:focus {
|
3988 |
+
background-color: #333333;
|
3989 |
+
}
|
3990 |
+
.navbar-inverse .navbar-toggle .icon-bar {
|
3991 |
+
background-color: #ffffff;
|
3992 |
+
}
|
3993 |
+
.navbar-inverse .navbar-collapse,
|
3994 |
+
.navbar-inverse .navbar-form {
|
3995 |
+
border-color: #101010;
|
3996 |
+
}
|
3997 |
+
.navbar-inverse .navbar-nav > .open > a,
|
3998 |
+
.navbar-inverse .navbar-nav > .open > a:hover,
|
3999 |
+
.navbar-inverse .navbar-nav > .open > a:focus {
|
4000 |
+
background-color: #080808;
|
4001 |
+
color: #ffffff;
|
4002 |
+
}
|
4003 |
+
@media (max-width: 767px) {
|
4004 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
|
4005 |
+
border-color: #080808;
|
4006 |
+
}
|
4007 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
|
4008 |
+
background-color: #080808;
|
4009 |
+
}
|
4010 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
|
4011 |
+
color: #999999;
|
4012 |
+
}
|
4013 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
|
4014 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
|
4015 |
+
color: #ffffff;
|
4016 |
+
background-color: transparent;
|
4017 |
+
}
|
4018 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
|
4019 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
|
4020 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
|
4021 |
+
color: #ffffff;
|
4022 |
+
background-color: #080808;
|
4023 |
+
}
|
4024 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
|
4025 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
|
4026 |
+
.navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
|
4027 |
+
color: #444444;
|
4028 |
+
background-color: transparent;
|
4029 |
+
}
|
4030 |
+
}
|
4031 |
+
.navbar-inverse .navbar-link {
|
4032 |
+
color: #999999;
|
4033 |
+
}
|
4034 |
+
.navbar-inverse .navbar-link:hover {
|
4035 |
+
color: #ffffff;
|
4036 |
+
}
|
4037 |
+
.breadcrumb {
|
4038 |
+
padding: 8px 15px;
|
4039 |
+
margin-bottom: 20px;
|
4040 |
+
list-style: none;
|
4041 |
+
background-color: #f5f5f5;
|
4042 |
+
border-radius: 4px;
|
4043 |
+
}
|
4044 |
+
.breadcrumb > li {
|
4045 |
+
display: inline-block;
|
4046 |
+
}
|
4047 |
+
.breadcrumb > li + li:before {
|
4048 |
+
content: "/\00a0";
|
4049 |
+
padding: 0 5px;
|
4050 |
+
color: #cccccc;
|
4051 |
+
}
|
4052 |
+
.breadcrumb > .active {
|
4053 |
+
color: #999999;
|
4054 |
+
}
|
4055 |
+
.pagination {
|
4056 |
+
display: inline-block;
|
4057 |
+
padding-left: 0;
|
4058 |
+
margin: 20px 0;
|
4059 |
+
border-radius: 4px;
|
4060 |
+
}
|
4061 |
+
.pagination > li {
|
4062 |
+
display: inline;
|
4063 |
+
}
|
4064 |
+
.pagination > li > a,
|
4065 |
+
.pagination > li > span {
|
4066 |
+
position: relative;
|
4067 |
+
float: left;
|
4068 |
+
padding: 6px 12px;
|
4069 |
+
line-height: 1.42857143;
|
4070 |
+
text-decoration: none;
|
4071 |
+
color: #428bca;
|
4072 |
+
background-color: #ffffff;
|
4073 |
+
border: 1px solid #dddddd;
|
4074 |
+
margin-left: -1px;
|
4075 |
+
}
|
4076 |
+
.pagination > li:first-child > a,
|
4077 |
+
.pagination > li:first-child > span {
|
4078 |
+
margin-left: 0;
|
4079 |
+
border-bottom-left-radius: 4px;
|
4080 |
+
border-top-left-radius: 4px;
|
4081 |
+
}
|
4082 |
+
.pagination > li:last-child > a,
|
4083 |
+
.pagination > li:last-child > span {
|
4084 |
+
border-bottom-right-radius: 4px;
|
4085 |
+
border-top-right-radius: 4px;
|
4086 |
+
}
|
4087 |
+
.pagination > li > a:hover,
|
4088 |
+
.pagination > li > span:hover,
|
4089 |
+
.pagination > li > a:focus,
|
4090 |
+
.pagination > li > span:focus {
|
4091 |
+
color: #2a6496;
|
4092 |
+
background-color: #eeeeee;
|
4093 |
+
border-color: #dddddd;
|
4094 |
+
}
|
4095 |
+
.pagination > .active > a,
|
4096 |
+
.pagination > .active > span,
|
4097 |
+
.pagination > .active > a:hover,
|
4098 |
+
.pagination > .active > span:hover,
|
4099 |
+
.pagination > .active > a:focus,
|
4100 |
+
.pagination > .active > span:focus {
|
4101 |
+
z-index: 2;
|
4102 |
+
color: #ffffff;
|
4103 |
+
background-color: #428bca;
|
4104 |
+
border-color: #428bca;
|
4105 |
+
cursor: default;
|
4106 |
+
}
|
4107 |
+
.pagination > .disabled > span,
|
4108 |
+
.pagination > .disabled > span:hover,
|
4109 |
+
.pagination > .disabled > span:focus,
|
4110 |
+
.pagination > .disabled > a,
|
4111 |
+
.pagination > .disabled > a:hover,
|
4112 |
+
.pagination > .disabled > a:focus {
|
4113 |
+
color: #999999;
|
4114 |
+
background-color: #ffffff;
|
4115 |
+
border-color: #dddddd;
|
4116 |
+
cursor: not-allowed;
|
4117 |
+
}
|
4118 |
+
.pagination-lg > li > a,
|
4119 |
+
.pagination-lg > li > span {
|
4120 |
+
padding: 10px 16px;
|
4121 |
+
font-size: 18px;
|
4122 |
+
}
|
4123 |
+
.pagination-lg > li:first-child > a,
|
4124 |
+
.pagination-lg > li:first-child > span {
|
4125 |
+
border-bottom-left-radius: 6px;
|
4126 |
+
border-top-left-radius: 6px;
|
4127 |
+
}
|
4128 |
+
.pagination-lg > li:last-child > a,
|
4129 |
+
.pagination-lg > li:last-child > span {
|
4130 |
+
border-bottom-right-radius: 6px;
|
4131 |
+
border-top-right-radius: 6px;
|
4132 |
+
}
|
4133 |
+
.pagination-sm > li > a,
|
4134 |
+
.pagination-sm > li > span {
|
4135 |
+
padding: 5px 10px;
|
4136 |
+
font-size: 12px;
|
4137 |
+
}
|
4138 |
+
.pagination-sm > li:first-child > a,
|
4139 |
+
.pagination-sm > li:first-child > span {
|
4140 |
+
border-bottom-left-radius: 3px;
|
4141 |
+
border-top-left-radius: 3px;
|
4142 |
+
}
|
4143 |
+
.pagination-sm > li:last-child > a,
|
4144 |
+
.pagination-sm > li:last-child > span {
|
4145 |
+
border-bottom-right-radius: 3px;
|
4146 |
+
border-top-right-radius: 3px;
|
4147 |
+
}
|
4148 |
+
.pager {
|
4149 |
+
padding-left: 0;
|
4150 |
+
margin: 20px 0;
|
4151 |
+
list-style: none;
|
4152 |
+
text-align: center;
|
4153 |
+
}
|
4154 |
+
.pager li {
|
4155 |
+
display: inline;
|
4156 |
+
}
|
4157 |
+
.pager li > a,
|
4158 |
+
.pager li > span {
|
4159 |
+
display: inline-block;
|
4160 |
+
padding: 5px 14px;
|
4161 |
+
background-color: #ffffff;
|
4162 |
+
border: 1px solid #dddddd;
|
4163 |
+
border-radius: 15px;
|
4164 |
+
}
|
4165 |
+
.pager li > a:hover,
|
4166 |
+
.pager li > a:focus {
|
4167 |
+
text-decoration: none;
|
4168 |
+
background-color: #eeeeee;
|
4169 |
+
}
|
4170 |
+
.pager .next > a,
|
4171 |
+
.pager .next > span {
|
4172 |
+
float: right;
|
4173 |
+
}
|
4174 |
+
.pager .previous > a,
|
4175 |
+
.pager .previous > span {
|
4176 |
+
float: left;
|
4177 |
+
}
|
4178 |
+
.pager .disabled > a,
|
4179 |
+
.pager .disabled > a:hover,
|
4180 |
+
.pager .disabled > a:focus,
|
4181 |
+
.pager .disabled > span {
|
4182 |
+
color: #999999;
|
4183 |
+
background-color: #ffffff;
|
4184 |
+
cursor: not-allowed;
|
4185 |
+
}
|
4186 |
+
.label {
|
4187 |
+
display: inline;
|
4188 |
+
padding: .2em .6em .3em;
|
4189 |
+
font-size: 75%;
|
4190 |
+
font-weight: bold;
|
4191 |
+
line-height: 1;
|
4192 |
+
color: #ffffff;
|
4193 |
+
text-align: center;
|
4194 |
+
white-space: nowrap;
|
4195 |
+
vertical-align: baseline;
|
4196 |
+
border-radius: .25em;
|
4197 |
+
}
|
4198 |
+
.label[href]:hover,
|
4199 |
+
.label[href]:focus {
|
4200 |
+
color: #ffffff;
|
4201 |
+
text-decoration: none;
|
4202 |
+
cursor: pointer;
|
4203 |
+
}
|
4204 |
+
.label:empty {
|
4205 |
+
display: none;
|
4206 |
+
}
|
4207 |
+
.btn .label {
|
4208 |
+
position: relative;
|
4209 |
+
top: -1px;
|
4210 |
+
}
|
4211 |
+
.label-default {
|
4212 |
+
background-color: #999999;
|
4213 |
+
}
|
4214 |
+
.label-default[href]:hover,
|
4215 |
+
.label-default[href]:focus {
|
4216 |
+
background-color: #808080;
|
4217 |
+
}
|
4218 |
+
.label-primary {
|
4219 |
+
background-color: #428bca;
|
4220 |
+
}
|
4221 |
+
.label-primary[href]:hover,
|
4222 |
+
.label-primary[href]:focus {
|
4223 |
+
background-color: #3071a9;
|
4224 |
+
}
|
4225 |
+
.label-success {
|
4226 |
+
background-color: #5cb85c;
|
4227 |
+
}
|
4228 |
+
.label-success[href]:hover,
|
4229 |
+
.label-success[href]:focus {
|
4230 |
+
background-color: #449d44;
|
4231 |
+
}
|
4232 |
+
.label-info {
|
4233 |
+
background-color: #5bc0de;
|
4234 |
+
}
|
4235 |
+
.label-info[href]:hover,
|
4236 |
+
.label-info[href]:focus {
|
4237 |
+
background-color: #31b0d5;
|
4238 |
+
}
|
4239 |
+
.label-warning {
|
4240 |
+
background-color: #f0ad4e;
|
4241 |
+
}
|
4242 |
+
.label-warning[href]:hover,
|
4243 |
+
.label-warning[href]:focus {
|
4244 |
+
background-color: #ec971f;
|
4245 |
+
}
|
4246 |
+
.label-danger {
|
4247 |
+
background-color: #d9534f;
|
4248 |
+
}
|
4249 |
+
.label-danger[href]:hover,
|
4250 |
+
.label-danger[href]:focus {
|
4251 |
+
background-color: #c9302c;
|
4252 |
+
}
|
4253 |
+
.badge {
|
4254 |
+
display: inline-block;
|
4255 |
+
min-width: 10px;
|
4256 |
+
padding: 3px 7px;
|
4257 |
+
font-size: 12px;
|
4258 |
+
font-weight: bold;
|
4259 |
+
color: #ffffff;
|
4260 |
+
line-height: 1;
|
4261 |
+
vertical-align: baseline;
|
4262 |
+
white-space: nowrap;
|
4263 |
+
text-align: center;
|
4264 |
+
background-color: #999999;
|
4265 |
+
border-radius: 10px;
|
4266 |
+
}
|
4267 |
+
.badge:empty {
|
4268 |
+
display: none;
|
4269 |
+
}
|
4270 |
+
.btn .badge {
|
4271 |
+
position: relative;
|
4272 |
+
top: -1px;
|
4273 |
+
}
|
4274 |
+
.btn-xs .badge {
|
4275 |
+
top: 0;
|
4276 |
+
padding: 1px 5px;
|
4277 |
+
}
|
4278 |
+
a.badge:hover,
|
4279 |
+
a.badge:focus {
|
4280 |
+
color: #ffffff;
|
4281 |
+
text-decoration: none;
|
4282 |
+
cursor: pointer;
|
4283 |
+
}
|
4284 |
+
a.list-group-item.active > .badge,
|
4285 |
+
.nav-pills > .active > a > .badge {
|
4286 |
+
color: #428bca;
|
4287 |
+
background-color: #ffffff;
|
4288 |
+
}
|
4289 |
+
.nav-pills > li > a > .badge {
|
4290 |
+
margin-left: 3px;
|
4291 |
+
}
|
4292 |
+
.jumbotron {
|
4293 |
+
padding: 30px;
|
4294 |
+
margin-bottom: 30px;
|
4295 |
+
color: inherit;
|
4296 |
+
background-color: #eeeeee;
|
4297 |
+
}
|
4298 |
+
.jumbotron h1,
|
4299 |
+
.jumbotron .h1 {
|
4300 |
+
color: inherit;
|
4301 |
+
}
|
4302 |
+
.jumbotron p {
|
4303 |
+
margin-bottom: 15px;
|
4304 |
+
font-size: 21px;
|
4305 |
+
font-weight: 200;
|
4306 |
+
}
|
4307 |
+
.container .jumbotron {
|
4308 |
+
border-radius: 6px;
|
4309 |
+
}
|
4310 |
+
.jumbotron .container {
|
4311 |
+
max-width: 100%;
|
4312 |
+
}
|
4313 |
+
@media screen and (min-width: 768px) {
|
4314 |
+
.jumbotron {
|
4315 |
+
padding-top: 48px;
|
4316 |
+
padding-bottom: 48px;
|
4317 |
+
}
|
4318 |
+
.container .jumbotron {
|
4319 |
+
padding-left: 60px;
|
4320 |
+
padding-right: 60px;
|
4321 |
+
}
|
4322 |
+
.jumbotron h1,
|
4323 |
+
.jumbotron .h1 {
|
4324 |
+
font-size: 63px;
|
4325 |
+
}
|
4326 |
+
}
|
4327 |
+
.thumbnail {
|
4328 |
+
display: block;
|
4329 |
+
padding: 4px;
|
4330 |
+
margin-bottom: 20px;
|
4331 |
+
line-height: 1.42857143;
|
4332 |
+
background-color: #ffffff;
|
4333 |
+
border: 1px solid #dddddd;
|
4334 |
+
border-radius: 4px;
|
4335 |
+
-webkit-transition: all 0.2s ease-in-out;
|
4336 |
+
transition: all 0.2s ease-in-out;
|
4337 |
+
}
|
4338 |
+
.thumbnail > img,
|
4339 |
+
.thumbnail a > img {
|
4340 |
+
margin-left: auto;
|
4341 |
+
margin-right: auto;
|
4342 |
+
}
|
4343 |
+
a.thumbnail:hover,
|
4344 |
+
a.thumbnail:focus,
|
4345 |
+
a.thumbnail.active {
|
4346 |
+
border-color: #428bca;
|
4347 |
+
}
|
4348 |
+
.thumbnail .caption {
|
4349 |
+
padding: 9px;
|
4350 |
+
color: #333333;
|
4351 |
+
}
|
4352 |
+
.alert {
|
4353 |
+
padding: 15px;
|
4354 |
+
margin-bottom: 20px;
|
4355 |
+
border: 1px solid transparent;
|
4356 |
+
border-radius: 4px;
|
4357 |
+
}
|
4358 |
+
.alert h4 {
|
4359 |
+
margin-top: 0;
|
4360 |
+
color: inherit;
|
4361 |
+
}
|
4362 |
+
.alert .alert-link {
|
4363 |
+
font-weight: bold;
|
4364 |
+
}
|
4365 |
+
.alert > p,
|
4366 |
+
.alert > ul {
|
4367 |
+
margin-bottom: 0;
|
4368 |
+
}
|
4369 |
+
.alert > p + p {
|
4370 |
+
margin-top: 5px;
|
4371 |
+
}
|
4372 |
+
.alert-dismissable {
|
4373 |
+
padding-right: 35px;
|
4374 |
+
}
|
4375 |
+
.alert-dismissable .close {
|
4376 |
+
position: relative;
|
4377 |
+
top: -2px;
|
4378 |
+
right: -21px;
|
4379 |
+
color: inherit;
|
4380 |
+
}
|
4381 |
+
.alert-success {
|
4382 |
+
background-color: #dff0d8;
|
4383 |
+
border-color: #d6e9c6;
|
4384 |
+
color: #3c763d;
|
4385 |
+
}
|
4386 |
+
.alert-success hr {
|
4387 |
+
border-top-color: #c9e2b3;
|
4388 |
+
}
|
4389 |
+
.alert-success .alert-link {
|
4390 |
+
color: #2b542c;
|
4391 |
+
}
|
4392 |
+
.alert-info {
|
4393 |
+
background-color: #d9edf7;
|
4394 |
+
border-color: #bce8f1;
|
4395 |
+
color: #31708f;
|
4396 |
+
}
|
4397 |
+
.alert-info hr {
|
4398 |
+
border-top-color: #a6e1ec;
|
4399 |
+
}
|
4400 |
+
.alert-info .alert-link {
|
4401 |
+
color: #245269;
|
4402 |
+
}
|
4403 |
+
.alert-warning {
|
4404 |
+
background-color: #fcf8e3;
|
4405 |
+
border-color: #faebcc;
|
4406 |
+
color: #8a6d3b;
|
4407 |
+
}
|
4408 |
+
.alert-warning hr {
|
4409 |
+
border-top-color: #f7e1b5;
|
4410 |
+
}
|
4411 |
+
.alert-warning .alert-link {
|
4412 |
+
color: #66512c;
|
4413 |
+
}
|
4414 |
+
.alert-danger {
|
4415 |
+
background-color: #f2dede;
|
4416 |
+
border-color: #ebccd1;
|
4417 |
+
color: #a94442;
|
4418 |
+
}
|
4419 |
+
.alert-danger hr {
|
4420 |
+
border-top-color: #e4b9c0;
|
4421 |
+
}
|
4422 |
+
.alert-danger .alert-link {
|
4423 |
+
color: #843534;
|
4424 |
+
}
|
4425 |
+
@-webkit-keyframes progress-bar-stripes {
|
4426 |
+
from {
|
4427 |
+
background-position: 40px 0;
|
4428 |
+
}
|
4429 |
+
to {
|
4430 |
+
background-position: 0 0;
|
4431 |
+
}
|
4432 |
+
}
|
4433 |
+
@keyframes progress-bar-stripes {
|
4434 |
+
from {
|
4435 |
+
background-position: 40px 0;
|
4436 |
+
}
|
4437 |
+
to {
|
4438 |
+
background-position: 0 0;
|
4439 |
+
}
|
4440 |
+
}
|
4441 |
+
.progress {
|
4442 |
+
overflow: hidden;
|
4443 |
+
height: 20px;
|
4444 |
+
margin-bottom: 20px;
|
4445 |
+
background-color: #f5f5f5;
|
4446 |
+
border-radius: 4px;
|
4447 |
+
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
4448 |
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
4449 |
+
}
|
4450 |
+
.progress-bar {
|
4451 |
+
float: left;
|
4452 |
+
width: 0%;
|
4453 |
+
height: 100%;
|
4454 |
+
font-size: 12px;
|
4455 |
+
line-height: 20px;
|
4456 |
+
color: #ffffff;
|
4457 |
+
text-align: center;
|
4458 |
+
background-color: #428bca;
|
4459 |
+
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
4460 |
+
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
4461 |
+
-webkit-transition: width 0.6s ease;
|
4462 |
+
transition: width 0.6s ease;
|
4463 |
+
}
|
4464 |
+
.progress-striped .progress-bar {
|
4465 |
+
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);
|
4466 |
+
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);
|
4467 |
+
background-size: 40px 40px;
|
4468 |
+
}
|
4469 |
+
.progress.active .progress-bar {
|
4470 |
+
-webkit-animation: progress-bar-stripes 2s linear infinite;
|
4471 |
+
animation: progress-bar-stripes 2s linear infinite;
|
4472 |
+
}
|
4473 |
+
.progress-bar-success {
|
4474 |
+
background-color: #5cb85c;
|
4475 |
+
}
|
4476 |
+
.progress-striped .progress-bar-success {
|
4477 |
+
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);
|
4478 |
+
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);
|
4479 |
+
}
|
4480 |
+
.progress-bar-info {
|
4481 |
+
background-color: #5bc0de;
|
4482 |
+
}
|
4483 |
+
.progress-striped .progress-bar-info {
|
4484 |
+
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);
|
4485 |
+
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);
|
4486 |
+
}
|
4487 |
+
.progress-bar-warning {
|
4488 |
+
background-color: #f0ad4e;
|
4489 |
+
}
|
4490 |
+
.progress-striped .progress-bar-warning {
|
4491 |
+
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);
|
4492 |
+
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);
|
4493 |
+
}
|
4494 |
+
.progress-bar-danger {
|
4495 |
+
background-color: #d9534f;
|
4496 |
+
}
|
4497 |
+
.progress-striped .progress-bar-danger {
|
4498 |
+
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);
|
4499 |
+
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);
|
4500 |
+
}
|
4501 |
+
.media,
|
4502 |
+
.media-body {
|
4503 |
+
overflow: hidden;
|
4504 |
+
zoom: 1;
|
4505 |
+
}
|
4506 |
+
.media,
|
4507 |
+
.media .media {
|
4508 |
+
margin-top: 15px;
|
4509 |
+
}
|
4510 |
+
.media:first-child {
|
4511 |
+
margin-top: 0;
|
4512 |
+
}
|
4513 |
+
.media-object {
|
4514 |
+
display: block;
|
4515 |
+
}
|
4516 |
+
.media-heading {
|
4517 |
+
margin: 0 0 5px;
|
4518 |
+
}
|
4519 |
+
.media > .pull-left {
|
4520 |
+
margin-right: 10px;
|
4521 |
+
}
|
4522 |
+
.media > .pull-right {
|
4523 |
+
margin-left: 10px;
|
4524 |
+
}
|
4525 |
+
.media-list {
|
4526 |
+
padding-left: 0;
|
4527 |
+
list-style: none;
|
4528 |
+
}
|
4529 |
+
.list-group {
|
4530 |
+
margin-bottom: 20px;
|
4531 |
+
padding-left: 0;
|
4532 |
+
}
|
4533 |
+
.list-group-item {
|
4534 |
+
position: relative;
|
4535 |
+
display: block;
|
4536 |
+
padding: 10px 15px;
|
4537 |
+
margin-bottom: -1px;
|
4538 |
+
background-color: #ffffff;
|
4539 |
+
border: 1px solid #dddddd;
|
4540 |
+
}
|
4541 |
+
.list-group-item:first-child {
|
4542 |
+
border-top-right-radius: 4px;
|
4543 |
+
border-top-left-radius: 4px;
|
4544 |
+
}
|
4545 |
+
.list-group-item:last-child {
|
4546 |
+
margin-bottom: 0;
|
4547 |
+
border-bottom-right-radius: 4px;
|
4548 |
+
border-bottom-left-radius: 4px;
|
4549 |
+
}
|
4550 |
+
.list-group-item > .badge {
|
4551 |
+
float: right;
|
4552 |
+
}
|
4553 |
+
.list-group-item > .badge + .badge {
|
4554 |
+
margin-right: 5px;
|
4555 |
+
}
|
4556 |
+
a.list-group-item {
|
4557 |
+
color: #555555;
|
4558 |
+
}
|
4559 |
+
a.list-group-item .list-group-item-heading {
|
4560 |
+
color: #333333;
|
4561 |
+
}
|
4562 |
+
a.list-group-item:hover,
|
4563 |
+
a.list-group-item:focus {
|
4564 |
+
text-decoration: none;
|
4565 |
+
background-color: #f5f5f5;
|
4566 |
+
}
|
4567 |
+
a.list-group-item.active,
|
4568 |
+
a.list-group-item.active:hover,
|
4569 |
+
a.list-group-item.active:focus {
|
4570 |
+
z-index: 2;
|
4571 |
+
color: #ffffff;
|
4572 |
+
background-color: #428bca;
|
4573 |
+
border-color: #428bca;
|
4574 |
+
}
|
4575 |
+
a.list-group-item.active .list-group-item-heading,
|
4576 |
+
a.list-group-item.active:hover .list-group-item-heading,
|
4577 |
+
a.list-group-item.active:focus .list-group-item-heading {
|
4578 |
+
color: inherit;
|
4579 |
+
}
|
4580 |
+
a.list-group-item.active .list-group-item-text,
|
4581 |
+
a.list-group-item.active:hover .list-group-item-text,
|
4582 |
+
a.list-group-item.active:focus .list-group-item-text {
|
4583 |
+
color: #e1edf7;
|
4584 |
+
}
|
4585 |
+
.list-group-item-success {
|
4586 |
+
color: #3c763d;
|
4587 |
+
background-color: #dff0d8;
|
4588 |
+
}
|
4589 |
+
a.list-group-item-success {
|
4590 |
+
color: #3c763d;
|
4591 |
+
}
|
4592 |
+
a.list-group-item-success .list-group-item-heading {
|
4593 |
+
color: inherit;
|
4594 |
+
}
|
4595 |
+
a.list-group-item-success:hover,
|
4596 |
+
a.list-group-item-success:focus {
|
4597 |
+
color: #3c763d;
|
4598 |
+
background-color: #d0e9c6;
|
4599 |
+
}
|
4600 |
+
a.list-group-item-success.active,
|
4601 |
+
a.list-group-item-success.active:hover,
|
4602 |
+
a.list-group-item-success.active:focus {
|
4603 |
+
color: #fff;
|
4604 |
+
background-color: #3c763d;
|
4605 |
+
border-color: #3c763d;
|
4606 |
+
}
|
4607 |
+
.list-group-item-info {
|
4608 |
+
color: #31708f;
|
4609 |
+
background-color: #d9edf7;
|
4610 |
+
}
|
4611 |
+
a.list-group-item-info {
|
4612 |
+
color: #31708f;
|
4613 |
+
}
|
4614 |
+
a.list-group-item-info .list-group-item-heading {
|
4615 |
+
color: inherit;
|
4616 |
+
}
|
4617 |
+
a.list-group-item-info:hover,
|
4618 |
+
a.list-group-item-info:focus {
|
4619 |
+
color: #31708f;
|
4620 |
+
background-color: #c4e3f3;
|
4621 |
+
}
|
4622 |
+
a.list-group-item-info.active,
|
4623 |
+
a.list-group-item-info.active:hover,
|
4624 |
+
a.list-group-item-info.active:focus {
|
4625 |
+
color: #fff;
|
4626 |
+
background-color: #31708f;
|
4627 |
+
border-color: #31708f;
|
4628 |
+
}
|
4629 |
+
.list-group-item-warning {
|
4630 |
+
color: #8a6d3b;
|
4631 |
+
background-color: #fcf8e3;
|
4632 |
+
}
|
4633 |
+
a.list-group-item-warning {
|
4634 |
+
color: #8a6d3b;
|
4635 |
+
}
|
4636 |
+
a.list-group-item-warning .list-group-item-heading {
|
4637 |
+
color: inherit;
|
4638 |
+
}
|
4639 |
+
a.list-group-item-warning:hover,
|
4640 |
+
a.list-group-item-warning:focus {
|
4641 |
+
color: #8a6d3b;
|
4642 |
+
background-color: #faf2cc;
|
4643 |
+
}
|
4644 |
+
a.list-group-item-warning.active,
|
4645 |
+
a.list-group-item-warning.active:hover,
|
4646 |
+
a.list-group-item-warning.active:focus {
|
4647 |
+
color: #fff;
|
4648 |
+
background-color: #8a6d3b;
|
4649 |
+
border-color: #8a6d3b;
|
4650 |
+
}
|
4651 |
+
.list-group-item-danger {
|
4652 |
+
color: #a94442;
|
4653 |
+
background-color: #f2dede;
|
4654 |
+
}
|
4655 |
+
a.list-group-item-danger {
|
4656 |
+
color: #a94442;
|
4657 |
+
}
|
4658 |
+
a.list-group-item-danger .list-group-item-heading {
|
4659 |
+
color: inherit;
|
4660 |
+
}
|
4661 |
+
a.list-group-item-danger:hover,
|
4662 |
+
a.list-group-item-danger:focus {
|
4663 |
+
color: #a94442;
|
4664 |
+
background-color: #ebcccc;
|
4665 |
+
}
|
4666 |
+
a.list-group-item-danger.active,
|
4667 |
+
a.list-group-item-danger.active:hover,
|
4668 |
+
a.list-group-item-danger.active:focus {
|
4669 |
+
color: #fff;
|
4670 |
+
background-color: #a94442;
|
4671 |
+
border-color: #a94442;
|
4672 |
+
}
|
4673 |
+
.list-group-item-heading {
|
4674 |
+
margin-top: 0;
|
4675 |
+
margin-bottom: 5px;
|
4676 |
+
}
|
4677 |
+
.list-group-item-text {
|
4678 |
+
margin-bottom: 0;
|
4679 |
+
line-height: 1.3;
|
4680 |
+
}
|
4681 |
+
.panel {
|
4682 |
+
margin-bottom: 20px;
|
4683 |
+
background-color: #ffffff;
|
4684 |
+
border: 1px solid transparent;
|
4685 |
+
border-radius: 4px;
|
4686 |
+
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
4687 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
4688 |
+
}
|
4689 |
+
.panel-body {
|
4690 |
+
padding: 15px;
|
4691 |
+
}
|
4692 |
+
.panel-heading {
|
4693 |
+
padding: 10px 15px;
|
4694 |
+
border-bottom: 1px solid transparent;
|
4695 |
+
border-top-right-radius: 3px;
|
4696 |
+
border-top-left-radius: 3px;
|
4697 |
+
}
|
4698 |
+
.panel-heading > .dropdown .dropdown-toggle {
|
4699 |
+
color: inherit;
|
4700 |
+
}
|
4701 |
+
.panel-title {
|
4702 |
+
margin-top: 0;
|
4703 |
+
margin-bottom: 0;
|
4704 |
+
font-size: 16px;
|
4705 |
+
color: inherit;
|
4706 |
+
}
|
4707 |
+
.panel-title > a {
|
4708 |
+
color: inherit;
|
4709 |
+
}
|
4710 |
+
.panel-footer {
|
4711 |
+
padding: 10px 15px;
|
4712 |
+
background-color: #f5f5f5;
|
4713 |
+
border-top: 1px solid #dddddd;
|
4714 |
+
border-bottom-right-radius: 3px;
|
4715 |
+
border-bottom-left-radius: 3px;
|
4716 |
+
}
|
4717 |
+
.panel > .list-group {
|
4718 |
+
margin-bottom: 0;
|
4719 |
+
}
|
4720 |
+
.panel > .list-group .list-group-item {
|
4721 |
+
border-width: 1px 0;
|
4722 |
+
border-radius: 0;
|
4723 |
+
}
|
4724 |
+
.panel > .list-group:first-child .list-group-item:first-child {
|
4725 |
+
border-top: 0;
|
4726 |
+
border-top-right-radius: 3px;
|
4727 |
+
border-top-left-radius: 3px;
|
4728 |
+
}
|
4729 |
+
.panel > .list-group:last-child .list-group-item:last-child {
|
4730 |
+
border-bottom: 0;
|
4731 |
+
border-bottom-right-radius: 3px;
|
4732 |
+
border-bottom-left-radius: 3px;
|
4733 |
+
}
|
4734 |
+
.panel-heading + .list-group .list-group-item:first-child {
|
4735 |
+
border-top-width: 0;
|
4736 |
+
}
|
4737 |
+
.panel > .table,
|
4738 |
+
.panel > .table-responsive > .table {
|
4739 |
+
margin-bottom: 0;
|
4740 |
+
}
|
4741 |
+
.panel > .table:first-child,
|
4742 |
+
.panel > .table-responsive:first-child > .table:first-child {
|
4743 |
+
border-top-right-radius: 3px;
|
4744 |
+
border-top-left-radius: 3px;
|
4745 |
+
}
|
4746 |
+
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
4747 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
4748 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
4749 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
4750 |
+
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
4751 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
|
4752 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
|
4753 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
|
4754 |
+
border-top-left-radius: 3px;
|
4755 |
+
}
|
4756 |
+
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
4757 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
|
4758 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
4759 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
|
4760 |
+
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
4761 |
+
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
|
4762 |
+
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
|
4763 |
+
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
|
4764 |
+
border-top-right-radius: 3px;
|
4765 |
+
}
|
4766 |
+
.panel > .table:last-child,
|
4767 |
+
.panel > .table-responsive:last-child > .table:last-child {
|
4768 |
+
border-bottom-right-radius: 3px;
|
4769 |
+
border-bottom-left-radius: 3px;
|
4770 |
+
}
|
4771 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
4772 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
4773 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
4774 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
4775 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
4776 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
|
4777 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
|
4778 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
|
4779 |
+
border-bottom-left-radius: 3px;
|
4780 |
+
}
|
4781 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
4782 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
|
4783 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
4784 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
|
4785 |
+
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
4786 |
+
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
|
4787 |
+
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
|
4788 |
+
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
|
4789 |
+
border-bottom-right-radius: 3px;
|
4790 |
+
}
|
4791 |
+
.panel > .panel-body + .table,
|
4792 |
+
.panel > .panel-body + .table-responsive {
|
4793 |
+
border-top: 1px solid #dddddd;
|
4794 |
+
}
|
4795 |
+
.panel > .table > tbody:first-child > tr:first-child th,
|
4796 |
+
.panel > .table > tbody:first-child > tr:first-child td {
|
4797 |
+
border-top: 0;
|
4798 |
+
}
|
4799 |
+
.panel > .table-bordered,
|
4800 |
+
.panel > .table-responsive > .table-bordered {
|
4801 |
+
border: 0;
|
4802 |
+
}
|
4803 |
+
.panel > .table-bordered > thead > tr > th:first-child,
|
4804 |
+
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
|
4805 |
+
.panel > .table-bordered > tbody > tr > th:first-child,
|
4806 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
|
4807 |
+
.panel > .table-bordered > tfoot > tr > th:first-child,
|
4808 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
4809 |
+
.panel > .table-bordered > thead > tr > td:first-child,
|
4810 |
+
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
|
4811 |
+
.panel > .table-bordered > tbody > tr > td:first-child,
|
4812 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
|
4813 |
+
.panel > .table-bordered > tfoot > tr > td:first-child,
|
4814 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
4815 |
+
border-left: 0;
|
4816 |
+
}
|
4817 |
+
.panel > .table-bordered > thead > tr > th:last-child,
|
4818 |
+
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
|
4819 |
+
.panel > .table-bordered > tbody > tr > th:last-child,
|
4820 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
|
4821 |
+
.panel > .table-bordered > tfoot > tr > th:last-child,
|
4822 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
4823 |
+
.panel > .table-bordered > thead > tr > td:last-child,
|
4824 |
+
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
|
4825 |
+
.panel > .table-bordered > tbody > tr > td:last-child,
|
4826 |
+
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
|
4827 |
+
.panel > .table-bordered > tfoot > tr > td:last-child,
|
4828 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
4829 |
+
border-right: 0;
|
4830 |
+
}
|
4831 |
+
.panel > .table-bordered > thead > tr:first-child > td,
|
4832 |
+
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
|
4833 |
+
.panel > .table-bordered > tbody > tr:first-child > td,
|
4834 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
|
4835 |
+
.panel > .table-bordered > thead > tr:first-child > th,
|
4836 |
+
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
|
4837 |
+
.panel > .table-bordered > tbody > tr:first-child > th,
|
4838 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
|
4839 |
+
border-bottom: 0;
|
4840 |
+
}
|
4841 |
+
.panel > .table-bordered > tbody > tr:last-child > td,
|
4842 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
|
4843 |
+
.panel > .table-bordered > tfoot > tr:last-child > td,
|
4844 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
|
4845 |
+
.panel > .table-bordered > tbody > tr:last-child > th,
|
4846 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
|
4847 |
+
.panel > .table-bordered > tfoot > tr:last-child > th,
|
4848 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
|
4849 |
+
border-bottom: 0;
|
4850 |
+
}
|
4851 |
+
.panel > .table-responsive {
|
4852 |
+
border: 0;
|
4853 |
+
margin-bottom: 0;
|
4854 |
+
}
|
4855 |
+
.panel-group {
|
4856 |
+
margin-bottom: 20px;
|
4857 |
+
}
|
4858 |
+
.panel-group .panel {
|
4859 |
+
margin-bottom: 0;
|
4860 |
+
border-radius: 4px;
|
4861 |
+
overflow: hidden;
|
4862 |
+
}
|
4863 |
+
.panel-group .panel + .panel {
|
4864 |
+
margin-top: 5px;
|
4865 |
+
}
|
4866 |
+
.panel-group .panel-heading {
|
4867 |
+
border-bottom: 0;
|
4868 |
+
}
|
4869 |
+
.panel-group .panel-heading + .panel-collapse .panel-body {
|
4870 |
+
border-top: 1px solid #dddddd;
|
4871 |
+
}
|
4872 |
+
.panel-group .panel-footer {
|
4873 |
+
border-top: 0;
|
4874 |
+
}
|
4875 |
+
.panel-group .panel-footer + .panel-collapse .panel-body {
|
4876 |
+
border-bottom: 1px solid #dddddd;
|
4877 |
+
}
|
4878 |
+
.panel-default {
|
4879 |
+
border-color: #dddddd;
|
4880 |
+
}
|
4881 |
+
.panel-default > .panel-heading {
|
4882 |
+
color: #333333;
|
4883 |
+
background-color: #f5f5f5;
|
4884 |
+
border-color: #dddddd;
|
4885 |
+
}
|
4886 |
+
.panel-default > .panel-heading + .panel-collapse .panel-body {
|
4887 |
+
border-top-color: #dddddd;
|
4888 |
+
}
|
4889 |
+
.panel-default > .panel-footer + .panel-collapse .panel-body {
|
4890 |
+
border-bottom-color: #dddddd;
|
4891 |
+
}
|
4892 |
+
.panel-primary {
|
4893 |
+
border-color: #428bca;
|
4894 |
+
}
|
4895 |
+
.panel-primary > .panel-heading {
|
4896 |
+
color: #ffffff;
|
4897 |
+
background-color: #428bca;
|
4898 |
+
border-color: #428bca;
|
4899 |
+
}
|
4900 |
+
.panel-primary > .panel-heading + .panel-collapse .panel-body {
|
4901 |
+
border-top-color: #428bca;
|
4902 |
+
}
|
4903 |
+
.panel-primary > .panel-footer + .panel-collapse .panel-body {
|
4904 |
+
border-bottom-color: #428bca;
|
4905 |
+
}
|
4906 |
+
.panel-success {
|
4907 |
+
border-color: #d6e9c6;
|
4908 |
+
}
|
4909 |
+
.panel-success > .panel-heading {
|
4910 |
+
color: #3c763d;
|
4911 |
+
background-color: #dff0d8;
|
4912 |
+
border-color: #d6e9c6;
|
4913 |
+
}
|
4914 |
+
.panel-success > .panel-heading + .panel-collapse .panel-body {
|
4915 |
+
border-top-color: #d6e9c6;
|
4916 |
+
}
|
4917 |
+
.panel-success > .panel-footer + .panel-collapse .panel-body {
|
4918 |
+
border-bottom-color: #d6e9c6;
|
4919 |
+
}
|
4920 |
+
.panel-info {
|
4921 |
+
border-color: #bce8f1;
|
4922 |
+
}
|
4923 |
+
.panel-info > .panel-heading {
|
4924 |
+
color: #31708f;
|
4925 |
+
background-color: #d9edf7;
|
4926 |
+
border-color: #bce8f1;
|
4927 |
+
}
|
4928 |
+
.panel-info > .panel-heading + .panel-collapse .panel-body {
|
4929 |
+
border-top-color: #bce8f1;
|
4930 |
+
}
|
4931 |
+
.panel-info > .panel-footer + .panel-collapse .panel-body {
|
4932 |
+
border-bottom-color: #bce8f1;
|
4933 |
+
}
|
4934 |
+
.panel-warning {
|
4935 |
+
border-color: #faebcc;
|
4936 |
+
}
|
4937 |
+
.panel-warning > .panel-heading {
|
4938 |
+
color: #8a6d3b;
|
4939 |
+
background-color: #fcf8e3;
|
4940 |
+
border-color: #faebcc;
|
4941 |
+
}
|
4942 |
+
.panel-warning > .panel-heading + .panel-collapse .panel-body {
|
4943 |
+
border-top-color: #faebcc;
|
4944 |
+
}
|
4945 |
+
.panel-warning > .panel-footer + .panel-collapse .panel-body {
|
4946 |
+
border-bottom-color: #faebcc;
|
4947 |
+
}
|
4948 |
+
.panel-danger {
|
4949 |
+
border-color: #ebccd1;
|
4950 |
+
}
|
4951 |
+
.panel-danger > .panel-heading {
|
4952 |
+
color: #a94442;
|
4953 |
+
background-color: #f2dede;
|
4954 |
+
border-color: #ebccd1;
|
4955 |
+
}
|
4956 |
+
.panel-danger > .panel-heading + .panel-collapse .panel-body {
|
4957 |
+
border-top-color: #ebccd1;
|
4958 |
+
}
|
4959 |
+
.panel-danger > .panel-footer + .panel-collapse .panel-body {
|
4960 |
+
border-bottom-color: #ebccd1;
|
4961 |
+
}
|
4962 |
+
.well {
|
4963 |
+
min-height: 20px;
|
4964 |
+
padding: 19px;
|
4965 |
+
margin-bottom: 20px;
|
4966 |
+
background-color: #f5f5f5;
|
4967 |
+
border: 1px solid #e3e3e3;
|
4968 |
+
border-radius: 4px;
|
4969 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
4970 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
4971 |
+
}
|
4972 |
+
.well blockquote {
|
4973 |
+
border-color: #ddd;
|
4974 |
+
border-color: rgba(0, 0, 0, 0.15);
|
4975 |
+
}
|
4976 |
+
.well-lg {
|
4977 |
+
padding: 24px;
|
4978 |
+
border-radius: 6px;
|
4979 |
+
}
|
4980 |
+
.well-sm {
|
4981 |
+
padding: 9px;
|
4982 |
+
border-radius: 3px;
|
4983 |
+
}
|
4984 |
+
.close {
|
4985 |
+
float: right;
|
4986 |
+
font-size: 21px;
|
4987 |
+
font-weight: bold;
|
4988 |
+
line-height: 1;
|
4989 |
+
color: #000000;
|
4990 |
+
text-shadow: 0 1px 0 #ffffff;
|
4991 |
+
opacity: 0.2;
|
4992 |
+
filter: alpha(opacity=20);
|
4993 |
+
}
|
4994 |
+
.close:hover,
|
4995 |
+
.close:focus {
|
4996 |
+
color: #000000;
|
4997 |
+
text-decoration: none;
|
4998 |
+
cursor: pointer;
|
4999 |
+
opacity: 0.5;
|
5000 |
+
filter: alpha(opacity=50);
|
5001 |
+
}
|
5002 |
+
button.close {
|
5003 |
+
padding: 0;
|
5004 |
+
cursor: pointer;
|
5005 |
+
background: transparent;
|
5006 |
+
border: 0;
|
5007 |
+
-webkit-appearance: none;
|
5008 |
+
}
|
5009 |
+
.modal-open {
|
5010 |
+
overflow: hidden;
|
5011 |
+
}
|
5012 |
+
.modal {
|
5013 |
+
display: none;
|
5014 |
+
overflow: auto;
|
5015 |
+
overflow-y: scroll;
|
5016 |
+
position: fixed;
|
5017 |
+
top: 0;
|
5018 |
+
right: 0;
|
5019 |
+
bottom: 0;
|
5020 |
+
left: 0;
|
5021 |
+
z-index: 1050;
|
5022 |
+
-webkit-overflow-scrolling: touch;
|
5023 |
+
outline: 0;
|
5024 |
+
}
|
5025 |
+
.modal.fade .modal-dialog {
|
5026 |
+
-webkit-transform: translate(0, -25%);
|
5027 |
+
-ms-transform: translate(0, -25%);
|
5028 |
+
transform: translate(0, -25%);
|
5029 |
+
-webkit-transition: -webkit-transform 0.3s ease-out;
|
5030 |
+
-moz-transition: -moz-transform 0.3s ease-out;
|
5031 |
+
-o-transition: -o-transform 0.3s ease-out;
|
5032 |
+
transition: transform 0.3s ease-out;
|
5033 |
+
}
|
5034 |
+
.modal.in .modal-dialog {
|
5035 |
+
-webkit-transform: translate(0, 0);
|
5036 |
+
-ms-transform: translate(0, 0);
|
5037 |
+
transform: translate(0, 0);
|
5038 |
+
}
|
5039 |
+
.modal-dialog {
|
5040 |
+
position: relative;
|
5041 |
+
width: auto;
|
5042 |
+
margin: 10px;
|
5043 |
+
}
|
5044 |
+
.modal-content {
|
5045 |
+
position: relative;
|
5046 |
+
background-color: #ffffff;
|
5047 |
+
border: 1px solid #999999;
|
5048 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
5049 |
+
border-radius: 6px;
|
5050 |
+
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
|
5051 |
+
box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
|
5052 |
+
background-clip: padding-box;
|
5053 |
+
outline: none;
|
5054 |
+
}
|
5055 |
+
.modal-backdrop {
|
5056 |
+
position: fixed;
|
5057 |
+
top: 0;
|
5058 |
+
right: 0;
|
5059 |
+
bottom: 0;
|
5060 |
+
left: 0;
|
5061 |
+
z-index: 1040;
|
5062 |
+
background-color: #000000;
|
5063 |
+
}
|
5064 |
+
.modal-backdrop.fade {
|
5065 |
+
opacity: 0;
|
5066 |
+
filter: alpha(opacity=0);
|
5067 |
+
}
|
5068 |
+
.modal-backdrop.in {
|
5069 |
+
opacity: 0.5;
|
5070 |
+
filter: alpha(opacity=50);
|
5071 |
+
}
|
5072 |
+
.modal-header {
|
5073 |
+
padding: 15px;
|
5074 |
+
border-bottom: 1px solid #e5e5e5;
|
5075 |
+
min-height: 16.42857143px;
|
5076 |
+
}
|
5077 |
+
.modal-header .close {
|
5078 |
+
margin-top: -2px;
|
5079 |
+
}
|
5080 |
+
.modal-title {
|
5081 |
+
margin: 0;
|
5082 |
+
line-height: 1.42857143;
|
5083 |
+
}
|
5084 |
+
.modal-body {
|
5085 |
+
position: relative;
|
5086 |
+
padding: 20px;
|
5087 |
+
}
|
5088 |
+
.modal-footer {
|
5089 |
+
margin-top: 15px;
|
5090 |
+
padding: 19px 20px 20px;
|
5091 |
+
text-align: right;
|
5092 |
+
border-top: 1px solid #e5e5e5;
|
5093 |
+
}
|
5094 |
+
.modal-footer .btn + .btn {
|
5095 |
+
margin-left: 5px;
|
5096 |
+
margin-bottom: 0;
|
5097 |
+
}
|
5098 |
+
.modal-footer .btn-group .btn + .btn {
|
5099 |
+
margin-left: -1px;
|
5100 |
+
}
|
5101 |
+
.modal-footer .btn-block + .btn-block {
|
5102 |
+
margin-left: 0;
|
5103 |
+
}
|
5104 |
+
@media (min-width: 768px) {
|
5105 |
+
.modal-dialog {
|
5106 |
+
width: 600px;
|
5107 |
+
margin: 30px auto;
|
5108 |
+
}
|
5109 |
+
.modal-content {
|
5110 |
+
-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
5111 |
+
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
|
5112 |
+
}
|
5113 |
+
.modal-sm {
|
5114 |
+
width: 300px;
|
5115 |
+
}
|
5116 |
+
}
|
5117 |
+
@media (min-width: 992px) {
|
5118 |
+
.modal-lg {
|
5119 |
+
width: 900px;
|
5120 |
+
}
|
5121 |
+
}
|
5122 |
+
.tooltip {
|
5123 |
+
position: absolute;
|
5124 |
+
z-index: 1030;
|
5125 |
+
display: block;
|
5126 |
+
visibility: visible;
|
5127 |
+
font-size: 12px;
|
5128 |
+
line-height: 1.4;
|
5129 |
+
opacity: 0;
|
5130 |
+
filter: alpha(opacity=0);
|
5131 |
+
}
|
5132 |
+
.tooltip.in {
|
5133 |
+
opacity: 0.9;
|
5134 |
+
filter: alpha(opacity=90);
|
5135 |
+
}
|
5136 |
+
.tooltip.top {
|
5137 |
+
margin-top: -3px;
|
5138 |
+
padding: 5px 0;
|
5139 |
+
}
|
5140 |
+
.tooltip.right {
|
5141 |
+
margin-left: 3px;
|
5142 |
+
padding: 0 5px;
|
5143 |
+
}
|
5144 |
+
.tooltip.bottom {
|
5145 |
+
margin-top: 3px;
|
5146 |
+
padding: 5px 0;
|
5147 |
+
}
|
5148 |
+
.tooltip.left {
|
5149 |
+
margin-left: -3px;
|
5150 |
+
padding: 0 5px;
|
5151 |
+
}
|
5152 |
+
.tooltip-inner {
|
5153 |
+
max-width: 200px;
|
5154 |
+
padding: 3px 8px;
|
5155 |
+
color: #ffffff;
|
5156 |
+
text-align: center;
|
5157 |
+
text-decoration: none;
|
5158 |
+
background-color: #000000;
|
5159 |
+
border-radius: 4px;
|
5160 |
+
}
|
5161 |
+
.tooltip-arrow {
|
5162 |
+
position: absolute;
|
5163 |
+
width: 0;
|
5164 |
+
height: 0;
|
5165 |
+
border-color: transparent;
|
5166 |
+
border-style: solid;
|
5167 |
+
}
|
5168 |
+
.tooltip.top .tooltip-arrow {
|
5169 |
+
bottom: 0;
|
5170 |
+
left: 50%;
|
5171 |
+
margin-left: -5px;
|
5172 |
+
border-width: 5px 5px 0;
|
5173 |
+
border-top-color: #000000;
|
5174 |
+
}
|
5175 |
+
.tooltip.top-left .tooltip-arrow {
|
5176 |
+
bottom: 0;
|
5177 |
+
left: 5px;
|
5178 |
+
border-width: 5px 5px 0;
|
5179 |
+
border-top-color: #000000;
|
5180 |
+
}
|
5181 |
+
.tooltip.top-right .tooltip-arrow {
|
5182 |
+
bottom: 0;
|
5183 |
+
right: 5px;
|
5184 |
+
border-width: 5px 5px 0;
|
5185 |
+
border-top-color: #000000;
|
5186 |
+
}
|
5187 |
+
.tooltip.right .tooltip-arrow {
|
5188 |
+
top: 50%;
|
5189 |
+
left: 0;
|
5190 |
+
margin-top: -5px;
|
5191 |
+
border-width: 5px 5px 5px 0;
|
5192 |
+
border-right-color: #000000;
|
5193 |
+
}
|
5194 |
+
.tooltip.left .tooltip-arrow {
|
5195 |
+
top: 50%;
|
5196 |
+
right: 0;
|
5197 |
+
margin-top: -5px;
|
5198 |
+
border-width: 5px 0 5px 5px;
|
5199 |
+
border-left-color: #000000;
|
5200 |
+
}
|
5201 |
+
.tooltip.bottom .tooltip-arrow {
|
5202 |
+
top: 0;
|
5203 |
+
left: 50%;
|
5204 |
+
margin-left: -5px;
|
5205 |
+
border-width: 0 5px 5px;
|
5206 |
+
border-bottom-color: #000000;
|
5207 |
+
}
|
5208 |
+
.tooltip.bottom-left .tooltip-arrow {
|
5209 |
+
top: 0;
|
5210 |
+
left: 5px;
|
5211 |
+
border-width: 0 5px 5px;
|
5212 |
+
border-bottom-color: #000000;
|
5213 |
+
}
|
5214 |
+
.tooltip.bottom-right .tooltip-arrow {
|
5215 |
+
top: 0;
|
5216 |
+
right: 5px;
|
5217 |
+
border-width: 0 5px 5px;
|
5218 |
+
border-bottom-color: #000000;
|
5219 |
+
}
|
5220 |
+
.popover {
|
5221 |
+
position: absolute;
|
5222 |
+
top: 0;
|
5223 |
+
left: 0;
|
5224 |
+
z-index: 1010;
|
5225 |
+
display: none;
|
5226 |
+
max-width: 276px;
|
5227 |
+
padding: 1px;
|
5228 |
+
text-align: left;
|
5229 |
+
background-color: #ffffff;
|
5230 |
+
background-clip: padding-box;
|
5231 |
+
border: 1px solid #cccccc;
|
5232 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
5233 |
+
border-radius: 6px;
|
5234 |
+
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
5235 |
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
5236 |
+
white-space: normal;
|
5237 |
+
}
|
5238 |
+
.popover.top {
|
5239 |
+
margin-top: -10px;
|
5240 |
+
}
|
5241 |
+
.popover.right {
|
5242 |
+
margin-left: 10px;
|
5243 |
+
}
|
5244 |
+
.popover.bottom {
|
5245 |
+
margin-top: 10px;
|
5246 |
+
}
|
5247 |
+
.popover.left {
|
5248 |
+
margin-left: -10px;
|
5249 |
+
}
|
5250 |
+
.popover-title {
|
5251 |
+
margin: 0;
|
5252 |
+
padding: 8px 14px;
|
5253 |
+
font-size: 14px;
|
5254 |
+
font-weight: normal;
|
5255 |
+
line-height: 18px;
|
5256 |
+
background-color: #f7f7f7;
|
5257 |
+
border-bottom: 1px solid #ebebeb;
|
5258 |
+
border-radius: 5px 5px 0 0;
|
5259 |
+
}
|
5260 |
+
.popover-content {
|
5261 |
+
padding: 9px 14px;
|
5262 |
+
}
|
5263 |
+
.popover > .arrow,
|
5264 |
+
.popover > .arrow:after {
|
5265 |
+
position: absolute;
|
5266 |
+
display: block;
|
5267 |
+
width: 0;
|
5268 |
+
height: 0;
|
5269 |
+
border-color: transparent;
|
5270 |
+
border-style: solid;
|
5271 |
+
}
|
5272 |
+
.popover > .arrow {
|
5273 |
+
border-width: 11px;
|
5274 |
+
}
|
5275 |
+
.popover > .arrow:after {
|
5276 |
+
border-width: 10px;
|
5277 |
+
content: "";
|
5278 |
+
}
|
5279 |
+
.popover.top > .arrow {
|
5280 |
+
left: 50%;
|
5281 |
+
margin-left: -11px;
|
5282 |
+
border-bottom-width: 0;
|
5283 |
+
border-top-color: #999999;
|
5284 |
+
border-top-color: rgba(0, 0, 0, 0.25);
|
5285 |
+
bottom: -11px;
|
5286 |
+
}
|
5287 |
+
.popover.top > .arrow:after {
|
5288 |
+
content: " ";
|
5289 |
+
bottom: 1px;
|
5290 |
+
margin-left: -10px;
|
5291 |
+
border-bottom-width: 0;
|
5292 |
+
border-top-color: #ffffff;
|
5293 |
+
}
|
5294 |
+
.popover.right > .arrow {
|
5295 |
+
top: 50%;
|
5296 |
+
left: -11px;
|
5297 |
+
margin-top: -11px;
|
5298 |
+
border-left-width: 0;
|
5299 |
+
border-right-color: #999999;
|
5300 |
+
border-right-color: rgba(0, 0, 0, 0.25);
|
5301 |
+
}
|
5302 |
+
.popover.right > .arrow:after {
|
5303 |
+
content: " ";
|
5304 |
+
left: 1px;
|
5305 |
+
bottom: -10px;
|
5306 |
+
border-left-width: 0;
|
5307 |
+
border-right-color: #ffffff;
|
5308 |
+
}
|
5309 |
+
.popover.bottom > .arrow {
|
5310 |
+
left: 50%;
|
5311 |
+
margin-left: -11px;
|
5312 |
+
border-top-width: 0;
|
5313 |
+
border-bottom-color: #999999;
|
5314 |
+
border-bottom-color: rgba(0, 0, 0, 0.25);
|
5315 |
+
top: -11px;
|
5316 |
+
}
|
5317 |
+
.popover.bottom > .arrow:after {
|
5318 |
+
content: " ";
|
5319 |
+
top: 1px;
|
5320 |
+
margin-left: -10px;
|
5321 |
+
border-top-width: 0;
|
5322 |
+
border-bottom-color: #ffffff;
|
5323 |
+
}
|
5324 |
+
.popover.left > .arrow {
|
5325 |
+
top: 50%;
|
5326 |
+
right: -11px;
|
5327 |
+
margin-top: -11px;
|
5328 |
+
border-right-width: 0;
|
5329 |
+
border-left-color: #999999;
|
5330 |
+
border-left-color: rgba(0, 0, 0, 0.25);
|
5331 |
+
}
|
5332 |
+
.popover.left > .arrow:after {
|
5333 |
+
content: " ";
|
5334 |
+
right: 1px;
|
5335 |
+
border-right-width: 0;
|
5336 |
+
border-left-color: #ffffff;
|
5337 |
+
bottom: -10px;
|
5338 |
+
}
|
5339 |
+
.carousel {
|
5340 |
+
position: relative;
|
5341 |
+
}
|
5342 |
+
.carousel-inner {
|
5343 |
+
position: relative;
|
5344 |
+
overflow: hidden;
|
5345 |
+
width: 100%;
|
5346 |
+
}
|
5347 |
+
.carousel-inner > .item {
|
5348 |
+
display: none;
|
5349 |
+
position: relative;
|
5350 |
+
-webkit-transition: 0.6s ease-in-out left;
|
5351 |
+
transition: 0.6s ease-in-out left;
|
5352 |
+
}
|
5353 |
+
.carousel-inner > .item > img,
|
5354 |
+
.carousel-inner > .item > a > img {
|
5355 |
+
line-height: 1;
|
5356 |
+
}
|
5357 |
+
.carousel-inner > .active,
|
5358 |
+
.carousel-inner > .next,
|
5359 |
+
.carousel-inner > .prev {
|
5360 |
+
display: block;
|
5361 |
+
}
|
5362 |
+
.carousel-inner > .active {
|
5363 |
+
left: 0;
|
5364 |
+
}
|
5365 |
+
.carousel-inner > .next,
|
5366 |
+
.carousel-inner > .prev {
|
5367 |
+
position: absolute;
|
5368 |
+
top: 0;
|
5369 |
+
width: 100%;
|
5370 |
+
}
|
5371 |
+
.carousel-inner > .next {
|
5372 |
+
left: 100%;
|
5373 |
+
}
|
5374 |
+
.carousel-inner > .prev {
|
5375 |
+
left: -100%;
|
5376 |
+
}
|
5377 |
+
.carousel-inner > .next.left,
|
5378 |
+
.carousel-inner > .prev.right {
|
5379 |
+
left: 0;
|
5380 |
+
}
|
5381 |
+
.carousel-inner > .active.left {
|
5382 |
+
left: -100%;
|
5383 |
+
}
|
5384 |
+
.carousel-inner > .active.right {
|
5385 |
+
left: 100%;
|
5386 |
+
}
|
5387 |
+
.carousel-control {
|
5388 |
+
position: absolute;
|
5389 |
+
top: 0;
|
5390 |
+
left: 0;
|
5391 |
+
bottom: 0;
|
5392 |
+
width: 15%;
|
5393 |
+
opacity: 0.5;
|
5394 |
+
filter: alpha(opacity=50);
|
5395 |
+
font-size: 20px;
|
5396 |
+
color: #ffffff;
|
5397 |
+
text-align: center;
|
5398 |
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
|
5399 |
+
}
|
5400 |
+
.carousel-control.left {
|
5401 |
+
background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%));
|
5402 |
+
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
|
5403 |
+
background-repeat: repeat-x;
|
5404 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
|
5405 |
+
}
|
5406 |
+
.carousel-control.right {
|
5407 |
+
left: auto;
|
5408 |
+
right: 0;
|
5409 |
+
background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%));
|
5410 |
+
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
|
5411 |
+
background-repeat: repeat-x;
|
5412 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
|
5413 |
+
}
|
5414 |
+
.carousel-control:hover,
|
5415 |
+
.carousel-control:focus {
|
5416 |
+
outline: none;
|
5417 |
+
color: #ffffff;
|
5418 |
+
text-decoration: none;
|
5419 |
+
opacity: 0.9;
|
5420 |
+
filter: alpha(opacity=90);
|
5421 |
+
}
|
5422 |
+
.carousel-control .icon-prev,
|
5423 |
+
.carousel-control .icon-next,
|
5424 |
+
.carousel-control .glyphicon-chevron-left,
|
5425 |
+
.carousel-control .glyphicon-chevron-right {
|
5426 |
+
position: absolute;
|
5427 |
+
top: 50%;
|
5428 |
+
z-index: 5;
|
5429 |
+
display: inline-block;
|
5430 |
+
}
|
5431 |
+
.carousel-control .icon-prev,
|
5432 |
+
.carousel-control .glyphicon-chevron-left {
|
5433 |
+
left: 50%;
|
5434 |
+
}
|
5435 |
+
.carousel-control .icon-next,
|
5436 |
+
.carousel-control .glyphicon-chevron-right {
|
5437 |
+
right: 50%;
|
5438 |
+
}
|
5439 |
+
.carousel-control .icon-prev,
|
5440 |
+
.carousel-control .icon-next {
|
5441 |
+
width: 20px;
|
5442 |
+
height: 20px;
|
5443 |
+
margin-top: -10px;
|
5444 |
+
margin-left: -10px;
|
5445 |
+
font-family: serif;
|
5446 |
+
}
|
5447 |
+
.carousel-control .icon-prev:before {
|
5448 |
+
content: '\2039';
|
5449 |
+
}
|
5450 |
+
.carousel-control .icon-next:before {
|
5451 |
+
content: '\203a';
|
5452 |
+
}
|
5453 |
+
.carousel-indicators {
|
5454 |
+
position: absolute;
|
5455 |
+
bottom: 10px;
|
5456 |
+
left: 50%;
|
5457 |
+
z-index: 15;
|
5458 |
+
width: 60%;
|
5459 |
+
margin-left: -30%;
|
5460 |
+
padding-left: 0;
|
5461 |
+
list-style: none;
|
5462 |
+
text-align: center;
|
5463 |
+
}
|
5464 |
+
.carousel-indicators li {
|
5465 |
+
display: inline-block;
|
5466 |
+
width: 10px;
|
5467 |
+
height: 10px;
|
5468 |
+
margin: 1px;
|
5469 |
+
text-indent: -999px;
|
5470 |
+
border: 1px solid #ffffff;
|
5471 |
+
border-radius: 10px;
|
5472 |
+
cursor: pointer;
|
5473 |
+
background-color: #000 \9;
|
5474 |
+
background-color: rgba(0, 0, 0, 0);
|
5475 |
+
}
|
5476 |
+
.carousel-indicators .active {
|
5477 |
+
margin: 0;
|
5478 |
+
width: 12px;
|
5479 |
+
height: 12px;
|
5480 |
+
background-color: #ffffff;
|
5481 |
+
}
|
5482 |
+
.carousel-caption {
|
5483 |
+
position: absolute;
|
5484 |
+
left: 15%;
|
5485 |
+
right: 15%;
|
5486 |
+
bottom: 20px;
|
5487 |
+
z-index: 10;
|
5488 |
+
padding-top: 20px;
|
5489 |
+
padding-bottom: 20px;
|
5490 |
+
color: #ffffff;
|
5491 |
+
text-align: center;
|
5492 |
+
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
|
5493 |
+
}
|
5494 |
+
.carousel-caption .btn {
|
5495 |
+
text-shadow: none;
|
5496 |
+
}
|
5497 |
+
@media screen and (min-width: 768px) {
|
5498 |
+
.carousel-control .glyphicon-chevron-left,
|
5499 |
+
.carousel-control .glyphicon-chevron-right,
|
5500 |
+
.carousel-control .icon-prev,
|
5501 |
+
.carousel-control .icon-next {
|
5502 |
+
width: 30px;
|
5503 |
+
height: 30px;
|
5504 |
+
margin-top: -15px;
|
5505 |
+
margin-left: -15px;
|
5506 |
+
font-size: 30px;
|
5507 |
+
}
|
5508 |
+
.carousel-caption {
|
5509 |
+
left: 20%;
|
5510 |
+
right: 20%;
|
5511 |
+
padding-bottom: 30px;
|
5512 |
+
}
|
5513 |
+
.carousel-indicators {
|
5514 |
+
bottom: 20px;
|
5515 |
+
}
|
5516 |
+
}
|
5517 |
+
.clearfix:before,
|
5518 |
+
.clearfix:after,
|
5519 |
+
.container:before,
|
5520 |
+
.container:after,
|
5521 |
+
.container-fluid:before,
|
5522 |
+
.container-fluid:after,
|
5523 |
+
.row:before,
|
5524 |
+
.row:after,
|
5525 |
+
.form-horizontal .form-group:before,
|
5526 |
+
.form-horizontal .form-group:after,
|
5527 |
+
.btn-toolbar:before,
|
5528 |
+
.btn-toolbar:after,
|
5529 |
+
.btn-group-vertical > .btn-group:before,
|
5530 |
+
.btn-group-vertical > .btn-group:after,
|
5531 |
+
.nav:before,
|
5532 |
+
.nav:after,
|
5533 |
+
.navbar:before,
|
5534 |
+
.navbar:after,
|
5535 |
+
.navbar-header:before,
|
5536 |
+
.navbar-header:after,
|
5537 |
+
.navbar-collapse:before,
|
5538 |
+
.navbar-collapse:after,
|
5539 |
+
.pager:before,
|
5540 |
+
.pager:after,
|
5541 |
+
.panel-body:before,
|
5542 |
+
.panel-body:after,
|
5543 |
+
.modal-footer:before,
|
5544 |
+
.modal-footer:after {
|
5545 |
+
content: " ";
|
5546 |
+
display: table;
|
5547 |
+
}
|
5548 |
+
.clearfix:after,
|
5549 |
+
.container:after,
|
5550 |
+
.container-fluid:after,
|
5551 |
+
.row:after,
|
5552 |
+
.form-horizontal .form-group:after,
|
5553 |
+
.btn-toolbar:after,
|
5554 |
+
.btn-group-vertical > .btn-group:after,
|
5555 |
+
.nav:after,
|
5556 |
+
.navbar:after,
|
5557 |
+
.navbar-header:after,
|
5558 |
+
.navbar-collapse:after,
|
5559 |
+
.pager:after,
|
5560 |
+
.panel-body:after,
|
5561 |
+
.modal-footer:after {
|
5562 |
+
clear: both;
|
5563 |
+
}
|
5564 |
+
.center-block {
|
5565 |
+
display: block;
|
5566 |
+
margin-left: auto;
|
5567 |
+
margin-right: auto;
|
5568 |
+
}
|
5569 |
+
.pull-right {
|
5570 |
+
float: right !important;
|
5571 |
+
}
|
5572 |
+
.pull-left {
|
5573 |
+
float: left !important;
|
5574 |
+
}
|
5575 |
+
.hide {
|
5576 |
+
display: none !important;
|
5577 |
+
}
|
5578 |
+
.show {
|
5579 |
+
display: block !important;
|
5580 |
+
}
|
5581 |
+
.invisible {
|
5582 |
+
visibility: hidden;
|
5583 |
+
}
|
5584 |
+
.text-hide {
|
5585 |
+
font: 0/0 a;
|
5586 |
+
color: transparent;
|
5587 |
+
text-shadow: none;
|
5588 |
+
background-color: transparent;
|
5589 |
+
border: 0;
|
5590 |
+
}
|
5591 |
+
.hidden {
|
5592 |
+
display: none !important;
|
5593 |
+
visibility: hidden !important;
|
5594 |
+
}
|
5595 |
+
.affix {
|
5596 |
+
position: fixed;
|
5597 |
+
}
|
5598 |
+
@-ms-viewport {
|
5599 |
+
width: device-width;
|
5600 |
+
}
|
5601 |
+
.visible-xs,
|
5602 |
+
.visible-sm,
|
5603 |
+
.visible-md,
|
5604 |
+
.visible-lg {
|
5605 |
+
display: none !important;
|
5606 |
+
}
|
5607 |
+
@media (max-width: 767px) {
|
5608 |
+
.visible-xs {
|
5609 |
+
display: block !important;
|
5610 |
+
}
|
5611 |
+
table.visible-xs {
|
5612 |
+
display: table;
|
5613 |
+
}
|
5614 |
+
tr.visible-xs {
|
5615 |
+
display: table-row !important;
|
5616 |
+
}
|
5617 |
+
th.visible-xs,
|
5618 |
+
td.visible-xs {
|
5619 |
+
display: table-cell !important;
|
5620 |
+
}
|
5621 |
+
}
|
5622 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
5623 |
+
.visible-sm {
|
5624 |
+
display: block !important;
|
5625 |
+
}
|
5626 |
+
table.visible-sm {
|
5627 |
+
display: table;
|
5628 |
+
}
|
5629 |
+
tr.visible-sm {
|
5630 |
+
display: table-row !important;
|
5631 |
+
}
|
5632 |
+
th.visible-sm,
|
5633 |
+
td.visible-sm {
|
5634 |
+
display: table-cell !important;
|
5635 |
+
}
|
5636 |
+
}
|
5637 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
5638 |
+
.visible-md {
|
5639 |
+
display: block !important;
|
5640 |
+
}
|
5641 |
+
table.visible-md {
|
5642 |
+
display: table;
|
5643 |
+
}
|
5644 |
+
tr.visible-md {
|
5645 |
+
display: table-row !important;
|
5646 |
+
}
|
5647 |
+
th.visible-md,
|
5648 |
+
td.visible-md {
|
5649 |
+
display: table-cell !important;
|
5650 |
+
}
|
5651 |
+
}
|
5652 |
+
@media (min-width: 1200px) {
|
5653 |
+
.visible-lg {
|
5654 |
+
display: block !important;
|
5655 |
+
}
|
5656 |
+
table.visible-lg {
|
5657 |
+
display: table;
|
5658 |
+
}
|
5659 |
+
tr.visible-lg {
|
5660 |
+
display: table-row !important;
|
5661 |
+
}
|
5662 |
+
th.visible-lg,
|
5663 |
+
td.visible-lg {
|
5664 |
+
display: table-cell !important;
|
5665 |
+
}
|
5666 |
+
}
|
5667 |
+
@media (max-width: 767px) {
|
5668 |
+
.hidden-xs {
|
5669 |
+
display: none !important;
|
5670 |
+
}
|
5671 |
+
}
|
5672 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
5673 |
+
.hidden-sm {
|
5674 |
+
display: none !important;
|
5675 |
+
}
|
5676 |
+
}
|
5677 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
5678 |
+
.hidden-md {
|
5679 |
+
display: none !important;
|
5680 |
+
}
|
5681 |
+
}
|
5682 |
+
@media (min-width: 1200px) {
|
5683 |
+
.hidden-lg {
|
5684 |
+
display: none !important;
|
5685 |
+
}
|
5686 |
+
}
|
5687 |
+
.visible-print {
|
5688 |
+
display: none !important;
|
5689 |
+
}
|
5690 |
+
@media print {
|
5691 |
+
.visible-print {
|
5692 |
+
display: block !important;
|
5693 |
+
}
|
5694 |
+
table.visible-print {
|
5695 |
+
display: table;
|
5696 |
+
}
|
5697 |
+
tr.visible-print {
|
5698 |
+
display: table-row !important;
|
5699 |
+
}
|
5700 |
+
th.visible-print,
|
5701 |
+
td.visible-print {
|
5702 |
+
display: table-cell !important;
|
5703 |
+
}
|
5704 |
+
}
|
5705 |
+
@media print {
|
5706 |
+
.hidden-print {
|
5707 |
+
display: none !important;
|
5708 |
+
}
|
5709 |
+
}
|
assets/bootstrap/css/bootstrap.min.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.1.1 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2014 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#999}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}input[type="date"]{line-height:34px}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px}.radio label,.checkbox label{display:inline;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:34px;height:34px;line-height:34px;text-align:center}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:none}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:none}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-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);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{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);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);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{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);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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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);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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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);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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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);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)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.5) 0), color-stop(rgba(0,0,0,0.0001) 100%));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.0001) 0), color-stop(rgba(0,0,0,0.5) 100%));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:none;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}@media print{.hidden-print{display:none !important}}
|
assets/bootstrap/fonts/glyphicons-halflings-regular.eot
ADDED
Binary file
|
assets/bootstrap/fonts/glyphicons-halflings-regular.svg
ADDED
@@ -0,0 +1,229 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
7 |
+
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
8 |
+
<missing-glyph horiz-adv-x="500" />
|
9 |
+
<glyph />
|
10 |
+
<glyph />
|
11 |
+
<glyph unicode="
" />
|
12 |
+
<glyph unicode=" " />
|
13 |
+
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
|
14 |
+
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
|
15 |
+
<glyph unicode=" " />
|
16 |
+
<glyph unicode=" " horiz-adv-x="652" />
|
17 |
+
<glyph unicode=" " horiz-adv-x="1304" />
|
18 |
+
<glyph unicode=" " horiz-adv-x="652" />
|
19 |
+
<glyph unicode=" " horiz-adv-x="1304" />
|
20 |
+
<glyph unicode=" " horiz-adv-x="434" />
|
21 |
+
<glyph unicode=" " horiz-adv-x="326" />
|
22 |
+
<glyph unicode=" " horiz-adv-x="217" />
|
23 |
+
<glyph unicode=" " horiz-adv-x="217" />
|
24 |
+
<glyph unicode=" " horiz-adv-x="163" />
|
25 |
+
<glyph unicode=" " horiz-adv-x="260" />
|
26 |
+
<glyph unicode=" " horiz-adv-x="72" />
|
27 |
+
<glyph unicode=" " horiz-adv-x="260" />
|
28 |
+
<glyph unicode=" " horiz-adv-x="326" />
|
29 |
+
<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
|
30 |
+
<glyph unicode="−" d="M200 400h900v300h-900v-300z" />
|
31 |
+
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
32 |
+
<glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
|
33 |
+
<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
|
34 |
+
<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
|
35 |
+
<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
|
36 |
+
<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
|
37 |
+
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
38 |
+
<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
|
39 |
+
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
|
40 |
+
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
|
41 |
+
<glyph unicode="" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
|
42 |
+
<glyph unicode="" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
|
43 |
+
<glyph unicode="" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
|
44 |
+
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
|
45 |
+
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
|
46 |
+
<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
|
47 |
+
<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
|
48 |
+
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
|
49 |
+
<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
|
50 |
+
<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
|
51 |
+
<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
|
52 |
+
<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
|
53 |
+
<glyph unicode="" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
|
54 |
+
<glyph unicode="" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
|
55 |
+
<glyph unicode="" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
|
56 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
|
57 |
+
<glyph unicode="" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
|
58 |
+
<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
|
59 |
+
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
|
60 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
|
61 |
+
<glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
|
62 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
|
63 |
+
<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
|
64 |
+
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
|
65 |
+
<glyph unicode="" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
|
66 |
+
<glyph unicode="" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
|
67 |
+
<glyph unicode="" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
|
68 |
+
<glyph unicode="" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
|
69 |
+
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
|
70 |
+
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
|
71 |
+
<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
|
72 |
+
<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
|
73 |
+
<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
|
74 |
+
<glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
|
75 |
+
<glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
|
76 |
+
<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
|
77 |
+
<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
78 |
+
<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
|
79 |
+
<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
|
80 |
+
<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
|
81 |
+
<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
|
82 |
+
<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
|
83 |
+
<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
|
84 |
+
<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
|
85 |
+
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
86 |
+
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
87 |
+
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
|
88 |
+
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
89 |
+
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
|
90 |
+
<glyph unicode="" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
|
91 |
+
<glyph unicode="" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
|
92 |
+
<glyph unicode="" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
|
93 |
+
<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
|
94 |
+
<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
|
95 |
+
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
|
96 |
+
<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
|
97 |
+
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
|
98 |
+
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
|
99 |
+
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
|
100 |
+
<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
|
101 |
+
<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
102 |
+
<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
103 |
+
<glyph unicode="" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
|
104 |
+
<glyph unicode="" d="M200 0l900 550l-900 550v-1100z" />
|
105 |
+
<glyph unicode="" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
106 |
+
<glyph unicode="" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
107 |
+
<glyph unicode="" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
|
108 |
+
<glyph unicode="" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
|
109 |
+
<glyph unicode="" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
|
110 |
+
<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
|
111 |
+
<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
|
112 |
+
<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
|
113 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
|
114 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
|
115 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
|
116 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
|
117 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
|
118 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
|
119 |
+
<glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
|
120 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
|
121 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
|
122 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
|
123 |
+
<glyph unicode="" d="M0 547l600 453v-300h600v-300h-600v-301z" />
|
124 |
+
<glyph unicode="" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
|
125 |
+
<glyph unicode="" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
|
126 |
+
<glyph unicode="" d="M104 600h296v600h300v-600h298l-449 -600z" />
|
127 |
+
<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
|
128 |
+
<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
|
129 |
+
<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
|
130 |
+
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
|
131 |
+
<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
|
132 |
+
<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
|
133 |
+
<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
|
134 |
+
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
|
135 |
+
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
|
136 |
+
<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
|
137 |
+
<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
|
138 |
+
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
|
139 |
+
<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
|
140 |
+
<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
|
141 |
+
<glyph unicode="" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
|
142 |
+
<glyph unicode="" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
|
143 |
+
<glyph unicode="" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
|
144 |
+
<glyph unicode="" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
|
145 |
+
<glyph unicode="" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
|
146 |
+
<glyph unicode="" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
|
147 |
+
<glyph unicode="" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
|
148 |
+
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
149 |
+
<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
|
150 |
+
<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
|
151 |
+
<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
|
152 |
+
<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
|
153 |
+
<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
|
154 |
+
<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
|
155 |
+
<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
|
156 |
+
<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
|
157 |
+
<glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
|
158 |
+
<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
|
159 |
+
<glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
|
160 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
|
161 |
+
<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
|
162 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
|
163 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
|
164 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
|
165 |
+
<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
|
166 |
+
<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
|
167 |
+
<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
168 |
+
<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
|
169 |
+
<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
|
170 |
+
<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
|
171 |
+
<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
|
172 |
+
<glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
|
173 |
+
<glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
|
174 |
+
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
|
175 |
+
<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
|
176 |
+
<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
|
177 |
+
<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
|
178 |
+
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
|
179 |
+
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
|
180 |
+
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
|
181 |
+
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
|
182 |
+
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
|
183 |
+
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
|
184 |
+
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
|
185 |
+
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
|
186 |
+
<glyph unicode="" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
|
187 |
+
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
|
188 |
+
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
|
189 |
+
<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
|
190 |
+
<glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
|
191 |
+
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
|
192 |
+
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
|
193 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
|
194 |
+
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
|
195 |
+
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
|
196 |
+
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
|
197 |
+
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
|
198 |
+
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
|
199 |
+
<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
|
200 |
+
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
|
201 |
+
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
|
202 |
+
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
|
203 |
+
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
|
204 |
+
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
|
205 |
+
<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
|
206 |
+
<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
|
207 |
+
<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
|
208 |
+
<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
|
209 |
+
<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
|
210 |
+
<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
|
211 |
+
<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
|
212 |
+
<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
|
213 |
+
<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
|
214 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
215 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
216 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
|
217 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
|
218 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
|
219 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
220 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
221 |
+
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
|
222 |
+
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
|
223 |
+
<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
|
224 |
+
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
|
225 |
+
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
|
226 |
+
<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
|
227 |
+
<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
|
228 |
+
</font>
|
229 |
+
</defs></svg>
|
assets/bootstrap/fonts/glyphicons-halflings-regular.ttf
ADDED
Binary file
|
assets/bootstrap/fonts/glyphicons-halflings-regular.woff
ADDED
Binary file
|
assets/bootstrap/js/bootstrap.js
ADDED
@@ -0,0 +1,1943 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ========================================================================
|
2 |
+
* Bootstrap: alert.js v3.1.1
|
3 |
+
* http://getbootstrap.com/javascript/#alerts
|
4 |
+
* ========================================================================
|
5 |
+
* Copyright 2011-2014 Twitter, Inc.
|
6 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
7 |
+
* ======================================================================== */
|
8 |
+
|
9 |
+
|
10 |
+
+function ($) {
|
11 |
+
'use strict';
|
12 |
+
|
13 |
+
// ALERT CLASS DEFINITION
|
14 |
+
// ======================
|
15 |
+
|
16 |
+
var dismiss = '[data-dismiss="alert"]'
|
17 |
+
var Alert = function (el) {
|
18 |
+
$(el).on('click', dismiss, this.close)
|
19 |
+
}
|
20 |
+
|
21 |
+
Alert.prototype.close = function (e) {
|
22 |
+
var $this = $(this)
|
23 |
+
var selector = $this.attr('data-target')
|
24 |
+
|
25 |
+
if (!selector) {
|
26 |
+
selector = $this.attr('href')
|
27 |
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
28 |
+
}
|
29 |
+
|
30 |
+
var $parent = $(selector)
|
31 |
+
|
32 |
+
if (e) e.preventDefault()
|
33 |
+
|
34 |
+
if (!$parent.length) {
|
35 |
+
$parent = $this.hasClass('alert') ? $this : $this.parent()
|
36 |
+
}
|
37 |
+
|
38 |
+
$parent.trigger(e = $.Event('close.bs.alert'))
|
39 |
+
|
40 |
+
if (e.isDefaultPrevented()) return
|
41 |
+
|
42 |
+
$parent.removeClass('in')
|
43 |
+
|
44 |
+
function removeElement() {
|
45 |
+
$parent.trigger('closed.bs.alert').remove()
|
46 |
+
}
|
47 |
+
|
48 |
+
$.support.transition && $parent.hasClass('fade') ?
|
49 |
+
$parent
|
50 |
+
.one($.support.transition.end, removeElement)
|
51 |
+
.emulateTransitionEnd(150) :
|
52 |
+
removeElement()
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
// ALERT PLUGIN DEFINITION
|
57 |
+
// =======================
|
58 |
+
|
59 |
+
var old = $.fn.alert
|
60 |
+
|
61 |
+
$.fn.alert = function (option) {
|
62 |
+
return this.each(function () {
|
63 |
+
var $this = $(this)
|
64 |
+
var data = $this.data('bs.alert')
|
65 |
+
|
66 |
+
if (!data) $this.data('bs.alert', (data = new Alert(this)))
|
67 |
+
if (typeof option == 'string') data[option].call($this)
|
68 |
+
})
|
69 |
+
}
|
70 |
+
|
71 |
+
$.fn.alert.Constructor = Alert
|
72 |
+
|
73 |
+
|
74 |
+
// ALERT NO CONFLICT
|
75 |
+
// =================
|
76 |
+
|
77 |
+
$.fn.alert.noConflict = function () {
|
78 |
+
$.fn.alert = old
|
79 |
+
return this
|
80 |
+
}
|
81 |
+
|
82 |
+
|
83 |
+
// ALERT DATA-API
|
84 |
+
// ==============
|
85 |
+
|
86 |
+
$(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
|
87 |
+
|
88 |
+
}(jQuery);
|
89 |
+
|
90 |
+
/* ========================================================================
|
91 |
+
* Bootstrap: button.js v3.1.1
|
92 |
+
* http://getbootstrap.com/javascript/#buttons
|
93 |
+
* ========================================================================
|
94 |
+
* Copyright 2011-2014 Twitter, Inc.
|
95 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
96 |
+
* ======================================================================== */
|
97 |
+
|
98 |
+
|
99 |
+
+function ($) {
|
100 |
+
'use strict';
|
101 |
+
|
102 |
+
// BUTTON PUBLIC CLASS DEFINITION
|
103 |
+
// ==============================
|
104 |
+
|
105 |
+
var Button = function (element, options) {
|
106 |
+
this.$element = $(element)
|
107 |
+
this.options = $.extend({}, Button.DEFAULTS, options)
|
108 |
+
this.isLoading = false
|
109 |
+
}
|
110 |
+
|
111 |
+
Button.DEFAULTS = {
|
112 |
+
loadingText: 'loading...'
|
113 |
+
}
|
114 |
+
|
115 |
+
Button.prototype.setState = function (state) {
|
116 |
+
var d = 'disabled'
|
117 |
+
var $el = this.$element
|
118 |
+
var val = $el.is('input') ? 'val' : 'html'
|
119 |
+
var data = $el.data()
|
120 |
+
|
121 |
+
state = state + 'Text'
|
122 |
+
|
123 |
+
if (!data.resetText) $el.data('resetText', $el[val]())
|
124 |
+
|
125 |
+
$el[val](data[state] || this.options[state])
|
126 |
+
|
127 |
+
// push to event loop to allow forms to submit
|
128 |
+
setTimeout($.proxy(function () {
|
129 |
+
if (state == 'loadingText') {
|
130 |
+
this.isLoading = true
|
131 |
+
$el.addClass(d).attr(d, d)
|
132 |
+
} else if (this.isLoading) {
|
133 |
+
this.isLoading = false
|
134 |
+
$el.removeClass(d).removeAttr(d)
|
135 |
+
}
|
136 |
+
}, this), 0)
|
137 |
+
}
|
138 |
+
|
139 |
+
Button.prototype.toggle = function () {
|
140 |
+
var changed = true
|
141 |
+
var $parent = this.$element.closest('[data-toggle="buttons"]')
|
142 |
+
|
143 |
+
if ($parent.length) {
|
144 |
+
var $input = this.$element.find('input')
|
145 |
+
if ($input.prop('type') == 'radio') {
|
146 |
+
if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
|
147 |
+
else $parent.find('.active').removeClass('active')
|
148 |
+
}
|
149 |
+
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
|
150 |
+
}
|
151 |
+
|
152 |
+
if (changed) this.$element.toggleClass('active')
|
153 |
+
}
|
154 |
+
|
155 |
+
|
156 |
+
// BUTTON PLUGIN DEFINITION
|
157 |
+
// ========================
|
158 |
+
|
159 |
+
var old = $.fn.button
|
160 |
+
|
161 |
+
$.fn.button = function (option) {
|
162 |
+
return this.each(function () {
|
163 |
+
var $this = $(this)
|
164 |
+
var data = $this.data('bs.button')
|
165 |
+
var options = typeof option == 'object' && option
|
166 |
+
|
167 |
+
if (!data) $this.data('bs.button', (data = new Button(this, options)))
|
168 |
+
|
169 |
+
if (option == 'toggle') data.toggle()
|
170 |
+
else if (option) data.setState(option)
|
171 |
+
})
|
172 |
+
}
|
173 |
+
|
174 |
+
$.fn.button.Constructor = Button
|
175 |
+
|
176 |
+
|
177 |
+
// BUTTON NO CONFLICT
|
178 |
+
// ==================
|
179 |
+
|
180 |
+
$.fn.button.noConflict = function () {
|
181 |
+
$.fn.button = old
|
182 |
+
return this
|
183 |
+
}
|
184 |
+
|
185 |
+
|
186 |
+
// BUTTON DATA-API
|
187 |
+
// ===============
|
188 |
+
|
189 |
+
$(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
|
190 |
+
var $btn = $(e.target)
|
191 |
+
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
192 |
+
$btn.button('toggle')
|
193 |
+
e.preventDefault()
|
194 |
+
})
|
195 |
+
|
196 |
+
}(jQuery);
|
197 |
+
|
198 |
+
/* ========================================================================
|
199 |
+
* Bootstrap: carousel.js v3.1.1
|
200 |
+
* http://getbootstrap.com/javascript/#carousel
|
201 |
+
* ========================================================================
|
202 |
+
* Copyright 2011-2014 Twitter, Inc.
|
203 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
204 |
+
* ======================================================================== */
|
205 |
+
|
206 |
+
|
207 |
+
+function ($) {
|
208 |
+
'use strict';
|
209 |
+
|
210 |
+
// CAROUSEL CLASS DEFINITION
|
211 |
+
// =========================
|
212 |
+
|
213 |
+
var Carousel = function (element, options) {
|
214 |
+
this.$element = $(element)
|
215 |
+
this.$indicators = this.$element.find('.carousel-indicators')
|
216 |
+
this.options = options
|
217 |
+
this.paused =
|
218 |
+
this.sliding =
|
219 |
+
this.interval =
|
220 |
+
this.$active =
|
221 |
+
this.$items = null
|
222 |
+
|
223 |
+
this.options.pause == 'hover' && this.$element
|
224 |
+
.on('mouseenter', $.proxy(this.pause, this))
|
225 |
+
.on('mouseleave', $.proxy(this.cycle, this))
|
226 |
+
}
|
227 |
+
|
228 |
+
Carousel.DEFAULTS = {
|
229 |
+
interval: 5000,
|
230 |
+
pause: 'hover',
|
231 |
+
wrap: true
|
232 |
+
}
|
233 |
+
|
234 |
+
Carousel.prototype.cycle = function (e) {
|
235 |
+
e || (this.paused = false)
|
236 |
+
|
237 |
+
this.interval && clearInterval(this.interval)
|
238 |
+
|
239 |
+
this.options.interval
|
240 |
+
&& !this.paused
|
241 |
+
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
242 |
+
|
243 |
+
return this
|
244 |
+
}
|
245 |
+
|
246 |
+
Carousel.prototype.getActiveIndex = function () {
|
247 |
+
this.$active = this.$element.find('.item.active')
|
248 |
+
this.$items = this.$active.parent().children()
|
249 |
+
|
250 |
+
return this.$items.index(this.$active)
|
251 |
+
}
|
252 |
+
|
253 |
+
Carousel.prototype.to = function (pos) {
|
254 |
+
var that = this
|
255 |
+
var activeIndex = this.getActiveIndex()
|
256 |
+
|
257 |
+
if (pos > (this.$items.length - 1) || pos < 0) return
|
258 |
+
|
259 |
+
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
|
260 |
+
if (activeIndex == pos) return this.pause().cycle()
|
261 |
+
|
262 |
+
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
263 |
+
}
|
264 |
+
|
265 |
+
Carousel.prototype.pause = function (e) {
|
266 |
+
e || (this.paused = true)
|
267 |
+
|
268 |
+
if (this.$element.find('.next, .prev').length && $.support.transition) {
|
269 |
+
this.$element.trigger($.support.transition.end)
|
270 |
+
this.cycle(true)
|
271 |
+
}
|
272 |
+
|
273 |
+
this.interval = clearInterval(this.interval)
|
274 |
+
|
275 |
+
return this
|
276 |
+
}
|
277 |
+
|
278 |
+
Carousel.prototype.next = function () {
|
279 |
+
if (this.sliding) return
|
280 |
+
return this.slide('next')
|
281 |
+
}
|
282 |
+
|
283 |
+
Carousel.prototype.prev = function () {
|
284 |
+
if (this.sliding) return
|
285 |
+
return this.slide('prev')
|
286 |
+
}
|
287 |
+
|
288 |
+
Carousel.prototype.slide = function (type, next) {
|
289 |
+
var $active = this.$element.find('.item.active')
|
290 |
+
var $next = next || $active[type]()
|
291 |
+
var isCycling = this.interval
|
292 |
+
var direction = type == 'next' ? 'left' : 'right'
|
293 |
+
var fallback = type == 'next' ? 'first' : 'last'
|
294 |
+
var that = this
|
295 |
+
|
296 |
+
if (!$next.length) {
|
297 |
+
if (!this.options.wrap) return
|
298 |
+
$next = this.$element.find('.item')[fallback]()
|
299 |
+
}
|
300 |
+
|
301 |
+
if ($next.hasClass('active')) return this.sliding = false
|
302 |
+
|
303 |
+
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
304 |
+
this.$element.trigger(e)
|
305 |
+
if (e.isDefaultPrevented()) return
|
306 |
+
|
307 |
+
this.sliding = true
|
308 |
+
|
309 |
+
isCycling && this.pause()
|
310 |
+
|
311 |
+
if (this.$indicators.length) {
|
312 |
+
this.$indicators.find('.active').removeClass('active')
|
313 |
+
this.$element.one('slid.bs.carousel', function () {
|
314 |
+
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
|
315 |
+
$nextIndicator && $nextIndicator.addClass('active')
|
316 |
+
})
|
317 |
+
}
|
318 |
+
|
319 |
+
if ($.support.transition && this.$element.hasClass('slide')) {
|
320 |
+
$next.addClass(type)
|
321 |
+
$next[0].offsetWidth // force reflow
|
322 |
+
$active.addClass(direction)
|
323 |
+
$next.addClass(direction)
|
324 |
+
$active
|
325 |
+
.one($.support.transition.end, function () {
|
326 |
+
$next.removeClass([type, direction].join(' ')).addClass('active')
|
327 |
+
$active.removeClass(['active', direction].join(' '))
|
328 |
+
that.sliding = false
|
329 |
+
setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0)
|
330 |
+
})
|
331 |
+
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
332 |
+
} else {
|
333 |
+
$active.removeClass('active')
|
334 |
+
$next.addClass('active')
|
335 |
+
this.sliding = false
|
336 |
+
this.$element.trigger('slid.bs.carousel')
|
337 |
+
}
|
338 |
+
|
339 |
+
isCycling && this.cycle()
|
340 |
+
|
341 |
+
return this
|
342 |
+
}
|
343 |
+
|
344 |
+
|
345 |
+
// CAROUSEL PLUGIN DEFINITION
|
346 |
+
// ==========================
|
347 |
+
|
348 |
+
var old = $.fn.carousel
|
349 |
+
|
350 |
+
$.fn.carousel = function (option) {
|
351 |
+
return this.each(function () {
|
352 |
+
var $this = $(this)
|
353 |
+
var data = $this.data('bs.carousel')
|
354 |
+
var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
355 |
+
var action = typeof option == 'string' ? option : options.slide
|
356 |
+
|
357 |
+
if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
|
358 |
+
if (typeof option == 'number') data.to(option)
|
359 |
+
else if (action) data[action]()
|
360 |
+
else if (options.interval) data.pause().cycle()
|
361 |
+
})
|
362 |
+
}
|
363 |
+
|
364 |
+
$.fn.carousel.Constructor = Carousel
|
365 |
+
|
366 |
+
|
367 |
+
// CAROUSEL NO CONFLICT
|
368 |
+
// ====================
|
369 |
+
|
370 |
+
$.fn.carousel.noConflict = function () {
|
371 |
+
$.fn.carousel = old
|
372 |
+
return this
|
373 |
+
}
|
374 |
+
|
375 |
+
|
376 |
+
// CAROUSEL DATA-API
|
377 |
+
// =================
|
378 |
+
|
379 |
+
$(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
|
380 |
+
var $this = $(this), href
|
381 |
+
var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
382 |
+
var options = $.extend({}, $target.data(), $this.data())
|
383 |
+
var slideIndex = $this.attr('data-slide-to')
|
384 |
+
if (slideIndex) options.interval = false
|
385 |
+
|
386 |
+
$target.carousel(options)
|
387 |
+
|
388 |
+
if (slideIndex = $this.attr('data-slide-to')) {
|
389 |
+
$target.data('bs.carousel').to(slideIndex)
|
390 |
+
}
|
391 |
+
|
392 |
+
e.preventDefault()
|
393 |
+
})
|
394 |
+
|
395 |
+
$(window).on('load', function () {
|
396 |
+
$('[data-ride="carousel"]').each(function () {
|
397 |
+
var $carousel = $(this)
|
398 |
+
$carousel.carousel($carousel.data())
|
399 |
+
})
|
400 |
+
})
|
401 |
+
|
402 |
+
}(jQuery);
|
403 |
+
|
404 |
+
/* ========================================================================
|
405 |
+
* Bootstrap: dropdown.js v3.1.1
|
406 |
+
* http://getbootstrap.com/javascript/#dropdowns
|
407 |
+
* ========================================================================
|
408 |
+
* Copyright 2011-2014 Twitter, Inc.
|
409 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
410 |
+
* ======================================================================== */
|
411 |
+
|
412 |
+
|
413 |
+
+function ($) {
|
414 |
+
'use strict';
|
415 |
+
|
416 |
+
// DROPDOWN CLASS DEFINITION
|
417 |
+
// =========================
|
418 |
+
|
419 |
+
var backdrop = '.dropdown-backdrop'
|
420 |
+
var toggle = '[data-toggle=dropdown]'
|
421 |
+
var Dropdown = function (element) {
|
422 |
+
$(element).on('click.bs.dropdown', this.toggle)
|
423 |
+
}
|
424 |
+
|
425 |
+
Dropdown.prototype.toggle = function (e) {
|
426 |
+
var $this = $(this)
|
427 |
+
|
428 |
+
if ($this.is('.disabled, :disabled')) return
|
429 |
+
|
430 |
+
var $parent = getParent($this)
|
431 |
+
var isActive = $parent.hasClass('open')
|
432 |
+
|
433 |
+
clearMenus()
|
434 |
+
|
435 |
+
if (!isActive) {
|
436 |
+
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
437 |
+
// if mobile we use a backdrop because click events don't delegate
|
438 |
+
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
439 |
+
}
|
440 |
+
|
441 |
+
var relatedTarget = { relatedTarget: this }
|
442 |
+
$parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
|
443 |
+
|
444 |
+
if (e.isDefaultPrevented()) return
|
445 |
+
|
446 |
+
$parent
|
447 |
+
.toggleClass('open')
|
448 |
+
.trigger('shown.bs.dropdown', relatedTarget)
|
449 |
+
|
450 |
+
$this.focus()
|
451 |
+
}
|
452 |
+
|
453 |
+
return false
|
454 |
+
}
|
455 |
+
|
456 |
+
Dropdown.prototype.keydown = function (e) {
|
457 |
+
if (!/(38|40|27)/.test(e.keyCode)) return
|
458 |
+
|
459 |
+
var $this = $(this)
|
460 |
+
|
461 |
+
e.preventDefault()
|
462 |
+
e.stopPropagation()
|
463 |
+
|
464 |
+
if ($this.is('.disabled, :disabled')) return
|
465 |
+
|
466 |
+
var $parent = getParent($this)
|
467 |
+
var isActive = $parent.hasClass('open')
|
468 |
+
|
469 |
+
if (!isActive || (isActive && e.keyCode == 27)) {
|
470 |
+
if (e.which == 27) $parent.find(toggle).focus()
|
471 |
+
return $this.click()
|
472 |
+
}
|
473 |
+
|
474 |
+
var desc = ' li:not(.divider):visible a'
|
475 |
+
var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc)
|
476 |
+
|
477 |
+
if (!$items.length) return
|
478 |
+
|
479 |
+
var index = $items.index($items.filter(':focus'))
|
480 |
+
|
481 |
+
if (e.keyCode == 38 && index > 0) index-- // up
|
482 |
+
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
483 |
+
if (!~index) index = 0
|
484 |
+
|
485 |
+
$items.eq(index).focus()
|
486 |
+
}
|
487 |
+
|
488 |
+
function clearMenus(e) {
|
489 |
+
$(backdrop).remove()
|
490 |
+
$(toggle).each(function () {
|
491 |
+
var $parent = getParent($(this))
|
492 |
+
var relatedTarget = { relatedTarget: this }
|
493 |
+
if (!$parent.hasClass('open')) return
|
494 |
+
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
|
495 |
+
if (e.isDefaultPrevented()) return
|
496 |
+
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
|
497 |
+
})
|
498 |
+
}
|
499 |
+
|
500 |
+
function getParent($this) {
|
501 |
+
var selector = $this.attr('data-target')
|
502 |
+
|
503 |
+
if (!selector) {
|
504 |
+
selector = $this.attr('href')
|
505 |
+
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
506 |
+
}
|
507 |
+
|
508 |
+
var $parent = selector && $(selector)
|
509 |
+
|
510 |
+
return $parent && $parent.length ? $parent : $this.parent()
|
511 |
+
}
|
512 |
+
|
513 |
+
|
514 |
+
// DROPDOWN PLUGIN DEFINITION
|
515 |
+
// ==========================
|
516 |
+
|
517 |
+
var old = $.fn.dropdown
|
518 |
+
|
519 |
+
$.fn.dropdown = function (option) {
|
520 |
+
return this.each(function () {
|
521 |
+
var $this = $(this)
|
522 |
+
var data = $this.data('bs.dropdown')
|
523 |
+
|
524 |
+
if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
|
525 |
+
if (typeof option == 'string') data[option].call($this)
|
526 |
+
})
|
527 |
+
}
|
528 |
+
|
529 |
+
$.fn.dropdown.Constructor = Dropdown
|
530 |
+
|
531 |
+
|
532 |
+
// DROPDOWN NO CONFLICT
|
533 |
+
// ====================
|
534 |
+
|
535 |
+
$.fn.dropdown.noConflict = function () {
|
536 |
+
$.fn.dropdown = old
|
537 |
+
return this
|
538 |
+
}
|
539 |
+
|
540 |
+
|
541 |
+
// APPLY TO STANDARD DROPDOWN ELEMENTS
|
542 |
+
// ===================================
|
543 |
+
|
544 |
+
$(document)
|
545 |
+
.on('click.bs.dropdown.data-api', clearMenus)
|
546 |
+
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
547 |
+
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
548 |
+
.on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown)
|
549 |
+
|
550 |
+
}(jQuery);
|
551 |
+
|
552 |
+
/* ========================================================================
|
553 |
+
* Bootstrap: modal.js v3.1.1
|
554 |
+
* http://getbootstrap.com/javascript/#modals
|
555 |
+
* ========================================================================
|
556 |
+
* Copyright 2011-2014 Twitter, Inc.
|
557 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
558 |
+
* ======================================================================== */
|
559 |
+
|
560 |
+
|
561 |
+
+function ($) {
|
562 |
+
'use strict';
|
563 |
+
|
564 |
+
// MODAL CLASS DEFINITION
|
565 |
+
// ======================
|
566 |
+
|
567 |
+
var Modal = function (element, options) {
|
568 |
+
this.options = options
|
569 |
+
this.$element = $(element)
|
570 |
+
this.$backdrop =
|
571 |
+
this.isShown = null
|
572 |
+
|
573 |
+
if (this.options.remote) {
|
574 |
+
this.$element
|
575 |
+
.find('.modal-content')
|
576 |
+
.load(this.options.remote, $.proxy(function () {
|
577 |
+
this.$element.trigger('loaded.bs.modal')
|
578 |
+
}, this))
|
579 |
+
}
|
580 |
+
}
|
581 |
+
|
582 |
+
Modal.DEFAULTS = {
|
583 |
+
backdrop: true,
|
584 |
+
keyboard: true,
|
585 |
+
show: true
|
586 |
+
}
|
587 |
+
|
588 |
+
Modal.prototype.toggle = function (_relatedTarget) {
|
589 |
+
return this[!this.isShown ? 'show' : 'hide'](_relatedTarget)
|
590 |
+
}
|
591 |
+
|
592 |
+
Modal.prototype.show = function (_relatedTarget) {
|
593 |
+
var that = this
|
594 |
+
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
|
595 |
+
|
596 |
+
this.$element.trigger(e)
|
597 |
+
|
598 |
+
if (this.isShown || e.isDefaultPrevented()) return
|
599 |
+
|
600 |
+
this.isShown = true
|
601 |
+
|
602 |
+
this.escape()
|
603 |
+
|
604 |
+
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
605 |
+
|
606 |
+
this.backdrop(function () {
|
607 |
+
var transition = $.support.transition && that.$element.hasClass('fade')
|
608 |
+
|
609 |
+
if (!that.$element.parent().length) {
|
610 |
+
that.$element.appendTo(document.body) // don't move modals dom position
|
611 |
+
}
|
612 |
+
|
613 |
+
that.$element
|
614 |
+
.show()
|
615 |
+
.scrollTop(0)
|
616 |
+
|
617 |
+
if (transition) {
|
618 |
+
that.$element[0].offsetWidth // force reflow
|
619 |
+
}
|
620 |
+
|
621 |
+
that.$element
|
622 |
+
.addClass('in')
|
623 |
+
.attr('aria-hidden', false)
|
624 |
+
|
625 |
+
that.enforceFocus()
|
626 |
+
|
627 |
+
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
628 |
+
|
629 |
+
transition ?
|
630 |
+
that.$element.find('.modal-dialog') // wait for modal to slide in
|
631 |
+
.one($.support.transition.end, function () {
|
632 |
+
that.$element.focus().trigger(e)
|
633 |
+
})
|
634 |
+
.emulateTransitionEnd(300) :
|
635 |
+
that.$element.focus().trigger(e)
|
636 |
+
})
|
637 |
+
}
|
638 |
+
|
639 |
+
Modal.prototype.hide = function (e) {
|
640 |
+
if (e) e.preventDefault()
|
641 |
+
|
642 |
+
e = $.Event('hide.bs.modal')
|
643 |
+
|
644 |
+
this.$element.trigger(e)
|
645 |
+
|
646 |
+
if (!this.isShown || e.isDefaultPrevented()) return
|
647 |
+
|
648 |
+
this.isShown = false
|
649 |
+
|
650 |
+
this.escape()
|
651 |
+
|
652 |
+
$(document).off('focusin.bs.modal')
|
653 |
+
|
654 |
+
this.$element
|
655 |
+
.removeClass('in')
|
656 |
+
.attr('aria-hidden', true)
|
657 |
+
.off('click.dismiss.bs.modal')
|
658 |
+
|
659 |
+
$.support.transition && this.$element.hasClass('fade') ?
|
660 |
+
this.$element
|
661 |
+
.one($.support.transition.end, $.proxy(this.hideModal, this))
|
662 |
+
.emulateTransitionEnd(300) :
|
663 |
+
this.hideModal()
|
664 |
+
}
|
665 |
+
|
666 |
+
Modal.prototype.enforceFocus = function () {
|
667 |
+
$(document)
|
668 |
+
.off('focusin.bs.modal') // guard against infinite focus loop
|
669 |
+
.on('focusin.bs.modal', $.proxy(function (e) {
|
670 |
+
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
|
671 |
+
this.$element.focus()
|
672 |
+
}
|
673 |
+
}, this))
|
674 |
+
}
|
675 |
+
|
676 |
+
Modal.prototype.escape = function () {
|
677 |
+
if (this.isShown && this.options.keyboard) {
|
678 |
+
this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {
|
679 |
+
e.which == 27 && this.hide()
|
680 |
+
}, this))
|
681 |
+
} else if (!this.isShown) {
|
682 |
+
this.$element.off('keyup.dismiss.bs.modal')
|
683 |
+
}
|
684 |
+
}
|
685 |
+
|
686 |
+
Modal.prototype.hideModal = function () {
|
687 |
+
var that = this
|
688 |
+
this.$element.hide()
|
689 |
+
this.backdrop(function () {
|
690 |
+
that.removeBackdrop()
|
691 |
+
that.$element.trigger('hidden.bs.modal')
|
692 |
+
})
|
693 |
+
}
|
694 |
+
|
695 |
+
Modal.prototype.removeBackdrop = function () {
|
696 |
+
this.$backdrop && this.$backdrop.remove()
|
697 |
+
this.$backdrop = null
|
698 |
+
}
|
699 |
+
|
700 |
+
Modal.prototype.backdrop = function (callback) {
|
701 |
+
var animate = this.$element.hasClass('fade') ? 'fade' : ''
|
702 |
+
|
703 |
+
if (this.isShown && this.options.backdrop) {
|
704 |
+
var doAnimate = $.support.transition && animate
|
705 |
+
|
706 |
+
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
707 |
+
.appendTo(document.body)
|
708 |
+
|
709 |
+
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
710 |
+
if (e.target !== e.currentTarget) return
|
711 |
+
this.options.backdrop == 'static'
|
712 |
+
? this.$element[0].focus.call(this.$element[0])
|
713 |
+
: this.hide.call(this)
|
714 |
+
}, this))
|
715 |
+
|
716 |
+
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
717 |
+
|
718 |
+
this.$backdrop.addClass('in')
|
719 |
+
|
720 |
+
if (!callback) return
|
721 |
+
|
722 |
+
doAnimate ?
|
723 |
+
this.$backdrop
|
724 |
+
.one($.support.transition.end, callback)
|
725 |
+
.emulateTransitionEnd(150) :
|
726 |
+
callback()
|
727 |
+
|
728 |
+
} else if (!this.isShown && this.$backdrop) {
|
729 |
+
this.$backdrop.removeClass('in')
|
730 |
+
|
731 |
+
$.support.transition && this.$element.hasClass('fade') ?
|
732 |
+
this.$backdrop
|
733 |
+
.one($.support.transition.end, callback)
|
734 |
+
.emulateTransitionEnd(150) :
|
735 |
+
callback()
|
736 |
+
|
737 |
+
} else if (callback) {
|
738 |
+
callback()
|
739 |
+
}
|
740 |
+
}
|
741 |
+
|
742 |
+
|
743 |
+
// MODAL PLUGIN DEFINITION
|
744 |
+
// =======================
|
745 |
+
|
746 |
+
var old = $.fn.modal
|
747 |
+
|
748 |
+
$.fn.modal = function (option, _relatedTarget) {
|
749 |
+
return this.each(function () {
|
750 |
+
var $this = $(this)
|
751 |
+
var data = $this.data('bs.modal')
|
752 |
+
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
753 |
+
|
754 |
+
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
|
755 |
+
if (typeof option == 'string') data[option](_relatedTarget)
|
756 |
+
else if (options.show) data.show(_relatedTarget)
|
757 |
+
})
|
758 |
+
}
|
759 |
+
|
760 |
+
$.fn.modal.Constructor = Modal
|
761 |
+
|
762 |
+
|
763 |
+
// MODAL NO CONFLICT
|
764 |
+
// =================
|
765 |
+
|
766 |
+
$.fn.modal.noConflict = function () {
|
767 |
+
$.fn.modal = old
|
768 |
+
return this
|
769 |
+
}
|
770 |
+
|
771 |
+
|
772 |
+
// MODAL DATA-API
|
773 |
+
// ==============
|
774 |
+
|
775 |
+
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
|
776 |
+
var $this = $(this)
|
777 |
+
var href = $this.attr('href')
|
778 |
+
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
779 |
+
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
780 |
+
|
781 |
+
if ($this.is('a')) e.preventDefault()
|
782 |
+
|
783 |
+
$target
|
784 |
+
.modal(option, this)
|
785 |
+
.one('hide', function () {
|
786 |
+
$this.is(':visible') && $this.focus()
|
787 |
+
})
|
788 |
+
})
|
789 |
+
|
790 |
+
$(document)
|
791 |
+
.on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
|
792 |
+
.on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
|
793 |
+
|
794 |
+
}(jQuery);
|
795 |
+
|
796 |
+
/* ========================================================================
|
797 |
+
* Bootstrap: tooltip.js v3.1.1
|
798 |
+
* http://getbootstrap.com/javascript/#tooltip
|
799 |
+
* Inspired by the original jQuery.tipsy by Jason Frame
|
800 |
+
* ========================================================================
|
801 |
+
* Copyright 2011-2014 Twitter, Inc.
|
802 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
803 |
+
* ======================================================================== */
|
804 |
+
|
805 |
+
|
806 |
+
+function ($) {
|
807 |
+
'use strict';
|
808 |
+
|
809 |
+
// TOOLTIP PUBLIC CLASS DEFINITION
|
810 |
+
// ===============================
|
811 |
+
|
812 |
+
var Tooltip = function (element, options) {
|
813 |
+
this.type =
|
814 |
+
this.options =
|
815 |
+
this.enabled =
|
816 |
+
this.timeout =
|
817 |
+
this.hoverState =
|
818 |
+
this.$element = null
|
819 |
+
|
820 |
+
this.init('tooltip', element, options)
|
821 |
+
}
|
822 |
+
|
823 |
+
Tooltip.DEFAULTS = {
|
824 |
+
animation: true,
|
825 |
+
placement: 'top',
|
826 |
+
selector: false,
|
827 |
+
template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
828 |
+
trigger: 'hover focus',
|
829 |
+
title: '',
|
830 |
+
delay: 0,
|
831 |
+
html: false,
|
832 |
+
container: false
|
833 |
+
}
|
834 |
+
|
835 |
+
Tooltip.prototype.init = function (type, element, options) {
|
836 |
+
this.enabled = true
|
837 |
+
this.type = type
|
838 |
+
this.$element = $(element)
|
839 |
+
this.options = this.getOptions(options)
|
840 |
+
|
841 |
+
var triggers = this.options.trigger.split(' ')
|
842 |
+
|
843 |
+
for (var i = triggers.length; i--;) {
|
844 |
+
var trigger = triggers[i]
|
845 |
+
|
846 |
+
if (trigger == 'click') {
|
847 |
+
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
848 |
+
} else if (trigger != 'manual') {
|
849 |
+
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
|
850 |
+
var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
|
851 |
+
|
852 |
+
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
853 |
+
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
854 |
+
}
|
855 |
+
}
|
856 |
+
|
857 |
+
this.options.selector ?
|
858 |
+
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
|
859 |
+
this.fixTitle()
|
860 |
+
}
|
861 |
+
|
862 |
+
Tooltip.prototype.getDefaults = function () {
|
863 |
+
return Tooltip.DEFAULTS
|
864 |
+
}
|
865 |
+
|
866 |
+
Tooltip.prototype.getOptions = function (options) {
|
867 |
+
options = $.extend({}, this.getDefaults(), this.$element.data(), options)
|
868 |
+
|
869 |
+
if (options.delay && typeof options.delay == 'number') {
|
870 |
+
options.delay = {
|
871 |
+
show: options.delay,
|
872 |
+
hide: options.delay
|
873 |
+
}
|
874 |
+
}
|
875 |
+
|
876 |
+
return options
|
877 |
+
}
|
878 |
+
|
879 |
+
Tooltip.prototype.getDelegateOptions = function () {
|
880 |
+
var options = {}
|
881 |
+
var defaults = this.getDefaults()
|
882 |
+
|
883 |
+
this._options && $.each(this._options, function (key, value) {
|
884 |
+
if (defaults[key] != value) options[key] = value
|
885 |
+
})
|
886 |
+
|
887 |
+
return options
|
888 |
+
}
|
889 |
+
|
890 |
+
Tooltip.prototype.enter = function (obj) {
|
891 |
+
var self = obj instanceof this.constructor ?
|
892 |
+
obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
|
893 |
+
|
894 |
+
clearTimeout(self.timeout)
|
895 |
+
|
896 |
+
self.hoverState = 'in'
|
897 |
+
|
898 |
+
if (!self.options.delay || !self.options.delay.show) return self.show()
|
899 |
+
|
900 |
+
self.timeout = setTimeout(function () {
|
901 |
+
if (self.hoverState == 'in') self.show()
|
902 |
+
}, self.options.delay.show)
|
903 |
+
}
|
904 |
+
|
905 |
+
Tooltip.prototype.leave = function (obj) {
|
906 |
+
var self = obj instanceof this.constructor ?
|
907 |
+
obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
|
908 |
+
|
909 |
+
clearTimeout(self.timeout)
|
910 |
+
|
911 |
+
self.hoverState = 'out'
|
912 |
+
|
913 |
+
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
914 |
+
|
915 |
+
self.timeout = setTimeout(function () {
|
916 |
+
if (self.hoverState == 'out') self.hide()
|
917 |
+
}, self.options.delay.hide)
|
918 |
+
}
|
919 |
+
|
920 |
+
Tooltip.prototype.show = function () {
|
921 |
+
var e = $.Event('show.bs.' + this.type)
|
922 |
+
|
923 |
+
if (this.hasContent() && this.enabled) {
|
924 |
+
this.$element.trigger(e)
|
925 |
+
|
926 |
+
if (e.isDefaultPrevented()) return
|
927 |
+
var that = this;
|
928 |
+
|
929 |
+
var $tip = this.tip()
|
930 |
+
|
931 |
+
this.setContent()
|
932 |
+
|
933 |
+
if (this.options.animation) $tip.addClass('fade')
|
934 |
+
|
935 |
+
var placement = typeof this.options.placement == 'function' ?
|
936 |
+
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
937 |
+
this.options.placement
|
938 |
+
|
939 |
+
var autoToken = /\s?auto?\s?/i
|
940 |
+
var autoPlace = autoToken.test(placement)
|
941 |
+
if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
|
942 |
+
|
943 |
+
$tip
|
944 |
+
.detach()
|
945 |
+
.css({ top: 0, left: 0, display: 'block' })
|
946 |
+
.addClass(placement)
|
947 |
+
|
948 |
+
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
949 |
+
|
950 |
+
var pos = this.getPosition()
|
951 |
+
var actualWidth = $tip[0].offsetWidth
|
952 |
+
var actualHeight = $tip[0].offsetHeight
|
953 |
+
|
954 |
+
if (autoPlace) {
|
955 |
+
var $parent = this.$element.parent()
|
956 |
+
|
957 |
+
var orgPlacement = placement
|
958 |
+
var docScroll = document.documentElement.scrollTop || document.body.scrollTop
|
959 |
+
var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()
|
960 |
+
var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
|
961 |
+
var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left
|
962 |
+
|
963 |
+
placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :
|
964 |
+
placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :
|
965 |
+
placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
|
966 |
+
placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
|
967 |
+
placement
|
968 |
+
|
969 |
+
$tip
|
970 |
+
.removeClass(orgPlacement)
|
971 |
+
.addClass(placement)
|
972 |
+
}
|
973 |
+
|
974 |
+
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
975 |
+
|
976 |
+
this.applyPlacement(calculatedOffset, placement)
|
977 |
+
this.hoverState = null
|
978 |
+
|
979 |
+
var complete = function() {
|
980 |
+
that.$element.trigger('shown.bs.' + that.type)
|
981 |
+
}
|
982 |
+
|
983 |
+
$.support.transition && this.$tip.hasClass('fade') ?
|
984 |
+
$tip
|
985 |
+
.one($.support.transition.end, complete)
|
986 |
+
.emulateTransitionEnd(150) :
|
987 |
+
complete()
|
988 |
+
}
|
989 |
+
}
|
990 |
+
|
991 |
+
Tooltip.prototype.applyPlacement = function (offset, placement) {
|
992 |
+
var replace
|
993 |
+
var $tip = this.tip()
|
994 |
+
var width = $tip[0].offsetWidth
|
995 |
+
var height = $tip[0].offsetHeight
|
996 |
+
|
997 |
+
// manually read margins because getBoundingClientRect includes difference
|
998 |
+
var marginTop = parseInt($tip.css('margin-top'), 10)
|
999 |
+
var marginLeft = parseInt($tip.css('margin-left'), 10)
|
1000 |
+
|
1001 |
+
// we must check for NaN for ie 8/9
|
1002 |
+
if (isNaN(marginTop)) marginTop = 0
|
1003 |
+
if (isNaN(marginLeft)) marginLeft = 0
|
1004 |
+
|
1005 |
+
offset.top = offset.top + marginTop
|
1006 |
+
offset.left = offset.left + marginLeft
|
1007 |
+
|
1008 |
+
// $.fn.offset doesn't round pixel values
|
1009 |
+
// so we use setOffset directly with our own function B-0
|
1010 |
+
$.offset.setOffset($tip[0], $.extend({
|
1011 |
+
using: function (props) {
|
1012 |
+
$tip.css({
|
1013 |
+
top: Math.round(props.top),
|
1014 |
+
left: Math.round(props.left)
|
1015 |
+
})
|
1016 |
+
}
|
1017 |
+
}, offset), 0)
|
1018 |
+
|
1019 |
+
$tip.addClass('in')
|
1020 |
+
|
1021 |
+
// check to see if placing tip in new offset caused the tip to resize itself
|
1022 |
+
var actualWidth = $tip[0].offsetWidth
|
1023 |
+
var actualHeight = $tip[0].offsetHeight
|
1024 |
+
|
1025 |
+
if (placement == 'top' && actualHeight != height) {
|
1026 |
+
replace = true
|
1027 |
+
offset.top = offset.top + height - actualHeight
|
1028 |
+
}
|
1029 |
+
|
1030 |
+
if (/bottom|top/.test(placement)) {
|
1031 |
+
var delta = 0
|
1032 |
+
|
1033 |
+
if (offset.left < 0) {
|
1034 |
+
delta = offset.left * -2
|
1035 |
+
offset.left = 0
|
1036 |
+
|
1037 |
+
$tip.offset(offset)
|
1038 |
+
|
1039 |
+
actualWidth = $tip[0].offsetWidth
|
1040 |
+
actualHeight = $tip[0].offsetHeight
|
1041 |
+
}
|
1042 |
+
|
1043 |
+
this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
|
1044 |
+
} else {
|
1045 |
+
this.replaceArrow(actualHeight - height, actualHeight, 'top')
|
1046 |
+
}
|
1047 |
+
|
1048 |
+
if (replace) $tip.offset(offset)
|
1049 |
+
}
|
1050 |
+
|
1051 |
+
Tooltip.prototype.replaceArrow = function (delta, dimension, position) {
|
1052 |
+
this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + '%') : '')
|
1053 |
+
}
|
1054 |
+
|
1055 |
+
Tooltip.prototype.setContent = function () {
|
1056 |
+
var $tip = this.tip()
|
1057 |
+
var title = this.getTitle()
|
1058 |
+
|
1059 |
+
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
|
1060 |
+
$tip.removeClass('fade in top bottom left right')
|
1061 |
+
}
|
1062 |
+
|
1063 |
+
Tooltip.prototype.hide = function () {
|
1064 |
+
var that = this
|
1065 |
+
var $tip = this.tip()
|
1066 |
+
var e = $.Event('hide.bs.' + this.type)
|
1067 |
+
|
1068 |
+
function complete() {
|
1069 |
+
if (that.hoverState != 'in') $tip.detach()
|
1070 |
+
that.$element.trigger('hidden.bs.' + that.type)
|
1071 |
+
}
|
1072 |
+
|
1073 |
+
this.$element.trigger(e)
|
1074 |
+
|
1075 |
+
if (e.isDefaultPrevented()) return
|
1076 |
+
|
1077 |
+
$tip.removeClass('in')
|
1078 |
+
|
1079 |
+
$.support.transition && this.$tip.hasClass('fade') ?
|
1080 |
+
$tip
|
1081 |
+
.one($.support.transition.end, complete)
|
1082 |
+
.emulateTransitionEnd(150) :
|
1083 |
+
complete()
|
1084 |
+
|
1085 |
+
this.hoverState = null
|
1086 |
+
|
1087 |
+
return this
|
1088 |
+
}
|
1089 |
+
|
1090 |
+
Tooltip.prototype.fixTitle = function () {
|
1091 |
+
var $e = this.$element
|
1092 |
+
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
|
1093 |
+
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
1094 |
+
}
|
1095 |
+
}
|
1096 |
+
|
1097 |
+
Tooltip.prototype.hasContent = function () {
|
1098 |
+
return this.getTitle()
|
1099 |
+
}
|
1100 |
+
|
1101 |
+
Tooltip.prototype.getPosition = function () {
|
1102 |
+
var el = this.$element[0]
|
1103 |
+
return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
|
1104 |
+
width: el.offsetWidth,
|
1105 |
+
height: el.offsetHeight
|
1106 |
+
}, this.$element.offset())
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
1110 |
+
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
1111 |
+
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
1112 |
+
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
1113 |
+
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
|
1114 |
+
}
|
1115 |
+
|
1116 |
+
Tooltip.prototype.getTitle = function () {
|
1117 |
+
var title
|
1118 |
+
var $e = this.$element
|
1119 |
+
var o = this.options
|
1120 |
+
|
1121 |
+
title = $e.attr('data-original-title')
|
1122 |
+
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
1123 |
+
|
1124 |
+
return title
|
1125 |
+
}
|
1126 |
+
|
1127 |
+
Tooltip.prototype.tip = function () {
|
1128 |
+
return this.$tip = this.$tip || $(this.options.template)
|
1129 |
+
}
|
1130 |
+
|
1131 |
+
Tooltip.prototype.arrow = function () {
|
1132 |
+
return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')
|
1133 |
+
}
|
1134 |
+
|
1135 |
+
Tooltip.prototype.validate = function () {
|
1136 |
+
if (!this.$element[0].parentNode) {
|
1137 |
+
this.hide()
|
1138 |
+
this.$element = null
|
1139 |
+
this.options = null
|
1140 |
+
}
|
1141 |
+
}
|
1142 |
+
|
1143 |
+
Tooltip.prototype.enable = function () {
|
1144 |
+
this.enabled = true
|
1145 |
+
}
|
1146 |
+
|
1147 |
+
Tooltip.prototype.disable = function () {
|
1148 |
+
this.enabled = false
|
1149 |
+
}
|
1150 |
+
|
1151 |
+
Tooltip.prototype.toggleEnabled = function () {
|
1152 |
+
this.enabled = !this.enabled
|
1153 |
+
}
|
1154 |
+
|
1155 |
+
Tooltip.prototype.toggle = function (e) {
|
1156 |
+
var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
|
1157 |
+
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
1158 |
+
}
|
1159 |
+
|
1160 |
+
Tooltip.prototype.destroy = function () {
|
1161 |
+
clearTimeout(this.timeout)
|
1162 |
+
this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
|
1163 |
+
}
|
1164 |
+
|
1165 |
+
|
1166 |
+
// TOOLTIP PLUGIN DEFINITION
|
1167 |
+
// =========================
|
1168 |
+
|
1169 |
+
var old = $.fn.tooltip
|
1170 |
+
|
1171 |
+
$.fn.tooltip = function (option) {
|
1172 |
+
return this.each(function () {
|
1173 |
+
var $this = $(this)
|
1174 |
+
var data = $this.data('bs.tooltip')
|
1175 |
+
var options = typeof option == 'object' && option
|
1176 |
+
|
1177 |
+
if (!data && option == 'destroy') return
|
1178 |
+
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
|
1179 |
+
if (typeof option == 'string') data[option]()
|
1180 |
+
})
|
1181 |
+
}
|
1182 |
+
|
1183 |
+
$.fn.tooltip.Constructor = Tooltip
|
1184 |
+
|
1185 |
+
|
1186 |
+
// TOOLTIP NO CONFLICT
|
1187 |
+
// ===================
|
1188 |
+
|
1189 |
+
$.fn.tooltip.noConflict = function () {
|
1190 |
+
$.fn.tooltip = old
|
1191 |
+
return this
|
1192 |
+
}
|
1193 |
+
|
1194 |
+
}(jQuery);
|
1195 |
+
|
1196 |
+
/* ========================================================================
|
1197 |
+
* Bootstrap: popover.js v3.1.1
|
1198 |
+
* http://getbootstrap.com/javascript/#popovers
|
1199 |
+
* ========================================================================
|
1200 |
+
* Copyright 2011-2014 Twitter, Inc.
|
1201 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1202 |
+
* ======================================================================== */
|
1203 |
+
|
1204 |
+
|
1205 |
+
+function ($) {
|
1206 |
+
'use strict';
|
1207 |
+
|
1208 |
+
// POPOVER PUBLIC CLASS DEFINITION
|
1209 |
+
// ===============================
|
1210 |
+
|
1211 |
+
var Popover = function (element, options) {
|
1212 |
+
this.init('popover', element, options)
|
1213 |
+
}
|
1214 |
+
|
1215 |
+
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
1216 |
+
|
1217 |
+
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
1218 |
+
placement: 'right',
|
1219 |
+
trigger: 'click',
|
1220 |
+
content: '',
|
1221 |
+
template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
1222 |
+
})
|
1223 |
+
|
1224 |
+
|
1225 |
+
// NOTE: POPOVER EXTENDS tooltip.js
|
1226 |
+
// ================================
|
1227 |
+
|
1228 |
+
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
|
1229 |
+
|
1230 |
+
Popover.prototype.constructor = Popover
|
1231 |
+
|
1232 |
+
Popover.prototype.getDefaults = function () {
|
1233 |
+
return Popover.DEFAULTS
|
1234 |
+
}
|
1235 |
+
|
1236 |
+
Popover.prototype.setContent = function () {
|
1237 |
+
var $tip = this.tip()
|
1238 |
+
var title = this.getTitle()
|
1239 |
+
var content = this.getContent()
|
1240 |
+
|
1241 |
+
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
1242 |
+
$tip.find('.popover-content')[ // we use append for html objects to maintain js events
|
1243 |
+
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
|
1244 |
+
](content)
|
1245 |
+
|
1246 |
+
$tip.removeClass('fade top bottom left right in')
|
1247 |
+
|
1248 |
+
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
|
1249 |
+
// this manually by checking the contents.
|
1250 |
+
if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
|
1251 |
+
}
|
1252 |
+
|
1253 |
+
Popover.prototype.hasContent = function () {
|
1254 |
+
return this.getTitle() || this.getContent()
|
1255 |
+
}
|
1256 |
+
|
1257 |
+
Popover.prototype.getContent = function () {
|
1258 |
+
var $e = this.$element
|
1259 |
+
var o = this.options
|
1260 |
+
|
1261 |
+
return $e.attr('data-content')
|
1262 |
+
|| (typeof o.content == 'function' ?
|
1263 |
+
o.content.call($e[0]) :
|
1264 |
+
o.content)
|
1265 |
+
}
|
1266 |
+
|
1267 |
+
Popover.prototype.arrow = function () {
|
1268 |
+
return this.$arrow = this.$arrow || this.tip().find('.arrow')
|
1269 |
+
}
|
1270 |
+
|
1271 |
+
Popover.prototype.tip = function () {
|
1272 |
+
if (!this.$tip) this.$tip = $(this.options.template)
|
1273 |
+
return this.$tip
|
1274 |
+
}
|
1275 |
+
|
1276 |
+
|
1277 |
+
// POPOVER PLUGIN DEFINITION
|
1278 |
+
// =========================
|
1279 |
+
|
1280 |
+
var old = $.fn.popover
|
1281 |
+
|
1282 |
+
$.fn.popover = function (option) {
|
1283 |
+
return this.each(function () {
|
1284 |
+
var $this = $(this)
|
1285 |
+
var data = $this.data('bs.popover')
|
1286 |
+
var options = typeof option == 'object' && option
|
1287 |
+
|
1288 |
+
if (!data && option == 'destroy') return
|
1289 |
+
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
|
1290 |
+
if (typeof option == 'string') data[option]()
|
1291 |
+
})
|
1292 |
+
}
|
1293 |
+
|
1294 |
+
$.fn.popover.Constructor = Popover
|
1295 |
+
|
1296 |
+
|
1297 |
+
// POPOVER NO CONFLICT
|
1298 |
+
// ===================
|
1299 |
+
|
1300 |
+
$.fn.popover.noConflict = function () {
|
1301 |
+
$.fn.popover = old
|
1302 |
+
return this
|
1303 |
+
}
|
1304 |
+
|
1305 |
+
}(jQuery);
|
1306 |
+
|
1307 |
+
/* ========================================================================
|
1308 |
+
* Bootstrap: tab.js v3.1.1
|
1309 |
+
* http://getbootstrap.com/javascript/#tabs
|
1310 |
+
* ========================================================================
|
1311 |
+
* Copyright 2011-2014 Twitter, Inc.
|
1312 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1313 |
+
* ======================================================================== */
|
1314 |
+
|
1315 |
+
|
1316 |
+
+function ($) {
|
1317 |
+
'use strict';
|
1318 |
+
|
1319 |
+
// TAB CLASS DEFINITION
|
1320 |
+
// ====================
|
1321 |
+
|
1322 |
+
var Tab = function (element) {
|
1323 |
+
this.element = $(element)
|
1324 |
+
}
|
1325 |
+
|
1326 |
+
Tab.prototype.show = function () {
|
1327 |
+
var $this = this.element
|
1328 |
+
var $ul = $this.closest('ul:not(.dropdown-menu)')
|
1329 |
+
var selector = $this.data('target')
|
1330 |
+
|
1331 |
+
if (!selector) {
|
1332 |
+
selector = $this.attr('href')
|
1333 |
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
1334 |
+
}
|
1335 |
+
|
1336 |
+
if ($this.parent('li').hasClass('active')) return
|
1337 |
+
|
1338 |
+
var previous = $ul.find('.active:last a')[0]
|
1339 |
+
var e = $.Event('show.bs.tab', {
|
1340 |
+
relatedTarget: previous
|
1341 |
+
})
|
1342 |
+
|
1343 |
+
$this.trigger(e)
|
1344 |
+
|
1345 |
+
if (e.isDefaultPrevented()) return
|
1346 |
+
|
1347 |
+
var $target = $(selector)
|
1348 |
+
|
1349 |
+
this.activate($this.parent('li'), $ul)
|
1350 |
+
this.activate($target, $target.parent(), function () {
|
1351 |
+
$this.trigger({
|
1352 |
+
type: 'shown.bs.tab',
|
1353 |
+
relatedTarget: previous
|
1354 |
+
})
|
1355 |
+
})
|
1356 |
+
}
|
1357 |
+
|
1358 |
+
Tab.prototype.activate = function (element, container, callback) {
|
1359 |
+
var $active = container.find('> .active')
|
1360 |
+
var transition = callback
|
1361 |
+
&& $.support.transition
|
1362 |
+
&& $active.hasClass('fade')
|
1363 |
+
|
1364 |
+
function next() {
|
1365 |
+
$active
|
1366 |
+
.removeClass('active')
|
1367 |
+
.find('> .dropdown-menu > .active')
|
1368 |
+
.removeClass('active')
|
1369 |
+
|
1370 |
+
element.addClass('active')
|
1371 |
+
|
1372 |
+
if (transition) {
|
1373 |
+
element[0].offsetWidth // reflow for transition
|
1374 |
+
element.addClass('in')
|
1375 |
+
} else {
|
1376 |
+
element.removeClass('fade')
|
1377 |
+
}
|
1378 |
+
|
1379 |
+
if (element.parent('.dropdown-menu')) {
|
1380 |
+
element.closest('li.dropdown').addClass('active')
|
1381 |
+
}
|
1382 |
+
|
1383 |
+
callback && callback()
|
1384 |
+
}
|
1385 |
+
|
1386 |
+
transition ?
|
1387 |
+
$active
|
1388 |
+
.one($.support.transition.end, next)
|
1389 |
+
.emulateTransitionEnd(150) :
|
1390 |
+
next()
|
1391 |
+
|
1392 |
+
$active.removeClass('in')
|
1393 |
+
}
|
1394 |
+
|
1395 |
+
|
1396 |
+
// TAB PLUGIN DEFINITION
|
1397 |
+
// =====================
|
1398 |
+
|
1399 |
+
var old = $.fn.tab
|
1400 |
+
|
1401 |
+
$.fn.tab = function ( option ) {
|
1402 |
+
return this.each(function () {
|
1403 |
+
var $this = $(this)
|
1404 |
+
var data = $this.data('bs.tab')
|
1405 |
+
|
1406 |
+
if (!data) $this.data('bs.tab', (data = new Tab(this)))
|
1407 |
+
if (typeof option == 'string') data[option]()
|
1408 |
+
})
|
1409 |
+
}
|
1410 |
+
|
1411 |
+
$.fn.tab.Constructor = Tab
|
1412 |
+
|
1413 |
+
|
1414 |
+
// TAB NO CONFLICT
|
1415 |
+
// ===============
|
1416 |
+
|
1417 |
+
$.fn.tab.noConflict = function () {
|
1418 |
+
$.fn.tab = old
|
1419 |
+
return this
|
1420 |
+
}
|
1421 |
+
|
1422 |
+
|
1423 |
+
// TAB DATA-API
|
1424 |
+
// ============
|
1425 |
+
|
1426 |
+
$(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
1427 |
+
e.preventDefault()
|
1428 |
+
$(this).tab('show')
|
1429 |
+
})
|
1430 |
+
|
1431 |
+
}(jQuery);
|
1432 |
+
|
1433 |
+
/* ========================================================================
|
1434 |
+
* Bootstrap: affix.js v3.1.1
|
1435 |
+
* http://getbootstrap.com/javascript/#affix
|
1436 |
+
* ========================================================================
|
1437 |
+
* Copyright 2011-2014 Twitter, Inc.
|
1438 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1439 |
+
* ======================================================================== */
|
1440 |
+
|
1441 |
+
|
1442 |
+
+function ($) {
|
1443 |
+
'use strict';
|
1444 |
+
|
1445 |
+
// AFFIX CLASS DEFINITION
|
1446 |
+
// ======================
|
1447 |
+
|
1448 |
+
var Affix = function (element, options) {
|
1449 |
+
this.options = $.extend({}, Affix.DEFAULTS, options)
|
1450 |
+
this.$window = $(window)
|
1451 |
+
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
1452 |
+
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
1453 |
+
|
1454 |
+
this.$element = $(element)
|
1455 |
+
this.affixed =
|
1456 |
+
this.unpin =
|
1457 |
+
this.pinnedOffset = null
|
1458 |
+
|
1459 |
+
this.checkPosition()
|
1460 |
+
}
|
1461 |
+
|
1462 |
+
Affix.RESET = 'affix affix-top affix-bottom'
|
1463 |
+
|
1464 |
+
Affix.DEFAULTS = {
|
1465 |
+
offset: 0
|
1466 |
+
}
|
1467 |
+
|
1468 |
+
Affix.prototype.getPinnedOffset = function () {
|
1469 |
+
if (this.pinnedOffset) return this.pinnedOffset
|
1470 |
+
this.$element.removeClass(Affix.RESET).addClass('affix')
|
1471 |
+
var scrollTop = this.$window.scrollTop()
|
1472 |
+
var position = this.$element.offset()
|
1473 |
+
return (this.pinnedOffset = position.top - scrollTop)
|
1474 |
+
}
|
1475 |
+
|
1476 |
+
Affix.prototype.checkPositionWithEventLoop = function () {
|
1477 |
+
setTimeout($.proxy(this.checkPosition, this), 1)
|
1478 |
+
}
|
1479 |
+
|
1480 |
+
Affix.prototype.checkPosition = function () {
|
1481 |
+
if (!this.$element.is(':visible')) return
|
1482 |
+
|
1483 |
+
var scrollHeight = $(document).height()
|
1484 |
+
var scrollTop = this.$window.scrollTop()
|
1485 |
+
var position = this.$element.offset()
|
1486 |
+
var offset = this.options.offset
|
1487 |
+
var offsetTop = offset.top
|
1488 |
+
var offsetBottom = offset.bottom
|
1489 |
+
|
1490 |
+
if (this.affixed == 'top') position.top += scrollTop
|
1491 |
+
|
1492 |
+
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
1493 |
+
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
1494 |
+
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
|
1495 |
+
|
1496 |
+
var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
|
1497 |
+
offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
|
1498 |
+
offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
|
1499 |
+
|
1500 |
+
if (this.affixed === affix) return
|
1501 |
+
if (this.unpin) this.$element.css('top', '')
|
1502 |
+
|
1503 |
+
var affixType = 'affix' + (affix ? '-' + affix : '')
|
1504 |
+
var e = $.Event(affixType + '.bs.affix')
|
1505 |
+
|
1506 |
+
this.$element.trigger(e)
|
1507 |
+
|
1508 |
+
if (e.isDefaultPrevented()) return
|
1509 |
+
|
1510 |
+
this.affixed = affix
|
1511 |
+
this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
|
1512 |
+
|
1513 |
+
this.$element
|
1514 |
+
.removeClass(Affix.RESET)
|
1515 |
+
.addClass(affixType)
|
1516 |
+
.trigger($.Event(affixType.replace('affix', 'affixed')))
|
1517 |
+
|
1518 |
+
if (affix == 'bottom') {
|
1519 |
+
this.$element.offset({ top: scrollHeight - offsetBottom - this.$element.height() })
|
1520 |
+
}
|
1521 |
+
}
|
1522 |
+
|
1523 |
+
|
1524 |
+
// AFFIX PLUGIN DEFINITION
|
1525 |
+
// =======================
|
1526 |
+
|
1527 |
+
var old = $.fn.affix
|
1528 |
+
|
1529 |
+
$.fn.affix = function (option) {
|
1530 |
+
return this.each(function () {
|
1531 |
+
var $this = $(this)
|
1532 |
+
var data = $this.data('bs.affix')
|
1533 |
+
var options = typeof option == 'object' && option
|
1534 |
+
|
1535 |
+
if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
|
1536 |
+
if (typeof option == 'string') data[option]()
|
1537 |
+
})
|
1538 |
+
}
|
1539 |
+
|
1540 |
+
$.fn.affix.Constructor = Affix
|
1541 |
+
|
1542 |
+
|
1543 |
+
// AFFIX NO CONFLICT
|
1544 |
+
// =================
|
1545 |
+
|
1546 |
+
$.fn.affix.noConflict = function () {
|
1547 |
+
$.fn.affix = old
|
1548 |
+
return this
|
1549 |
+
}
|
1550 |
+
|
1551 |
+
|
1552 |
+
// AFFIX DATA-API
|
1553 |
+
// ==============
|
1554 |
+
|
1555 |
+
$(window).on('load', function () {
|
1556 |
+
$('[data-spy="affix"]').each(function () {
|
1557 |
+
var $spy = $(this)
|
1558 |
+
var data = $spy.data()
|
1559 |
+
|
1560 |
+
data.offset = data.offset || {}
|
1561 |
+
|
1562 |
+
if (data.offsetBottom) data.offset.bottom = data.offsetBottom
|
1563 |
+
if (data.offsetTop) data.offset.top = data.offsetTop
|
1564 |
+
|
1565 |
+
$spy.affix(data)
|
1566 |
+
})
|
1567 |
+
})
|
1568 |
+
|
1569 |
+
}(jQuery);
|
1570 |
+
|
1571 |
+
/* ========================================================================
|
1572 |
+
* Bootstrap: collapse.js v3.1.1
|
1573 |
+
* http://getbootstrap.com/javascript/#collapse
|
1574 |
+
* ========================================================================
|
1575 |
+
* Copyright 2011-2014 Twitter, Inc.
|
1576 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1577 |
+
* ======================================================================== */
|
1578 |
+
|
1579 |
+
|
1580 |
+
+function ($) {
|
1581 |
+
'use strict';
|
1582 |
+
|
1583 |
+
// COLLAPSE PUBLIC CLASS DEFINITION
|
1584 |
+
// ================================
|
1585 |
+
|
1586 |
+
var Collapse = function (element, options) {
|
1587 |
+
this.$element = $(element)
|
1588 |
+
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
1589 |
+
this.transitioning = null
|
1590 |
+
|
1591 |
+
if (this.options.parent) this.$parent = $(this.options.parent)
|
1592 |
+
if (this.options.toggle) this.toggle()
|
1593 |
+
}
|
1594 |
+
|
1595 |
+
Collapse.DEFAULTS = {
|
1596 |
+
toggle: true
|
1597 |
+
}
|
1598 |
+
|
1599 |
+
Collapse.prototype.dimension = function () {
|
1600 |
+
var hasWidth = this.$element.hasClass('width')
|
1601 |
+
return hasWidth ? 'width' : 'height'
|
1602 |
+
}
|
1603 |
+
|
1604 |
+
Collapse.prototype.show = function () {
|
1605 |
+
if (this.transitioning || this.$element.hasClass('in')) return
|
1606 |
+
|
1607 |
+
var startEvent = $.Event('show.bs.collapse')
|
1608 |
+
this.$element.trigger(startEvent)
|
1609 |
+
if (startEvent.isDefaultPrevented()) return
|
1610 |
+
|
1611 |
+
var actives = this.$parent && this.$parent.find('> .panel > .in')
|
1612 |
+
|
1613 |
+
if (actives && actives.length) {
|
1614 |
+
var hasData = actives.data('bs.collapse')
|
1615 |
+
if (hasData && hasData.transitioning) return
|
1616 |
+
actives.collapse('hide')
|
1617 |
+
hasData || actives.data('bs.collapse', null)
|
1618 |
+
}
|
1619 |
+
|
1620 |
+
var dimension = this.dimension()
|
1621 |
+
|
1622 |
+
this.$element
|
1623 |
+
.removeClass('collapse')
|
1624 |
+
.addClass('collapsing')
|
1625 |
+
[dimension](0)
|
1626 |
+
|
1627 |
+
this.transitioning = 1
|
1628 |
+
|
1629 |
+
var complete = function () {
|
1630 |
+
this.$element
|
1631 |
+
.removeClass('collapsing')
|
1632 |
+
.addClass('collapse in')
|
1633 |
+
[dimension]('auto')
|
1634 |
+
this.transitioning = 0
|
1635 |
+
this.$element.trigger('shown.bs.collapse')
|
1636 |
+
}
|
1637 |
+
|
1638 |
+
if (!$.support.transition) return complete.call(this)
|
1639 |
+
|
1640 |
+
var scrollSize = $.camelCase(['scroll', dimension].join('-'))
|
1641 |
+
|
1642 |
+
this.$element
|
1643 |
+
.one($.support.transition.end, $.proxy(complete, this))
|
1644 |
+
.emulateTransitionEnd(350)
|
1645 |
+
[dimension](this.$element[0][scrollSize])
|
1646 |
+
}
|
1647 |
+
|
1648 |
+
Collapse.prototype.hide = function () {
|
1649 |
+
if (this.transitioning || !this.$element.hasClass('in')) return
|
1650 |
+
|
1651 |
+
var startEvent = $.Event('hide.bs.collapse')
|
1652 |
+
this.$element.trigger(startEvent)
|
1653 |
+
if (startEvent.isDefaultPrevented()) return
|
1654 |
+
|
1655 |
+
var dimension = this.dimension()
|
1656 |
+
|
1657 |
+
this.$element
|
1658 |
+
[dimension](this.$element[dimension]())
|
1659 |
+
[0].offsetHeight
|
1660 |
+
|
1661 |
+
this.$element
|
1662 |
+
.addClass('collapsing')
|
1663 |
+
.removeClass('collapse')
|
1664 |
+
.removeClass('in')
|
1665 |
+
|
1666 |
+
this.transitioning = 1
|
1667 |
+
|
1668 |
+
var complete = function () {
|
1669 |
+
this.transitioning = 0
|
1670 |
+
this.$element
|
1671 |
+
.trigger('hidden.bs.collapse')
|
1672 |
+
.removeClass('collapsing')
|
1673 |
+
.addClass('collapse')
|
1674 |
+
}
|
1675 |
+
|
1676 |
+
if (!$.support.transition) return complete.call(this)
|
1677 |
+
|
1678 |
+
this.$element
|
1679 |
+
[dimension](0)
|
1680 |
+
.one($.support.transition.end, $.proxy(complete, this))
|
1681 |
+
.emulateTransitionEnd(350)
|
1682 |
+
}
|
1683 |
+
|
1684 |
+
Collapse.prototype.toggle = function () {
|
1685 |
+
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
1686 |
+
}
|
1687 |
+
|
1688 |
+
|
1689 |
+
// COLLAPSE PLUGIN DEFINITION
|
1690 |
+
// ==========================
|
1691 |
+
|
1692 |
+
var old = $.fn.collapse
|
1693 |
+
|
1694 |
+
$.fn.collapse = function (option) {
|
1695 |
+
return this.each(function () {
|
1696 |
+
var $this = $(this)
|
1697 |
+
var data = $this.data('bs.collapse')
|
1698 |
+
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
1699 |
+
|
1700 |
+
if (!data && options.toggle && option == 'show') option = !option
|
1701 |
+
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
|
1702 |
+
if (typeof option == 'string') data[option]()
|
1703 |
+
})
|
1704 |
+
}
|
1705 |
+
|
1706 |
+
$.fn.collapse.Constructor = Collapse
|
1707 |
+
|
1708 |
+
|
1709 |
+
// COLLAPSE NO CONFLICT
|
1710 |
+
// ====================
|
1711 |
+
|
1712 |
+
$.fn.collapse.noConflict = function () {
|
1713 |
+
$.fn.collapse = old
|
1714 |
+
return this
|
1715 |
+
}
|
1716 |
+
|
1717 |
+
|
1718 |
+
// COLLAPSE DATA-API
|
1719 |
+
// =================
|
1720 |
+
|
1721 |
+
$(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
|
1722 |
+
var $this = $(this), href
|
1723 |
+
var target = $this.attr('data-target')
|
1724 |
+
|| e.preventDefault()
|
1725 |
+
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
1726 |
+
var $target = $(target)
|
1727 |
+
var data = $target.data('bs.collapse')
|
1728 |
+
var option = data ? 'toggle' : $this.data()
|
1729 |
+
var parent = $this.attr('data-parent')
|
1730 |
+
var $parent = parent && $(parent)
|
1731 |
+
|
1732 |
+
if (!data || !data.transitioning) {
|
1733 |
+
if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
|
1734 |
+
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
1735 |
+
}
|
1736 |
+
|
1737 |
+
$target.collapse(option)
|
1738 |
+
})
|
1739 |
+
|
1740 |
+
}(jQuery);
|
1741 |
+
|
1742 |
+
/* ========================================================================
|
1743 |
+
* Bootstrap: scrollspy.js v3.1.1
|
1744 |
+
* http://getbootstrap.com/javascript/#scrollspy
|
1745 |
+
* ========================================================================
|
1746 |
+
* Copyright 2011-2014 Twitter, Inc.
|
1747 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1748 |
+
* ======================================================================== */
|
1749 |
+
|
1750 |
+
|
1751 |
+
+function ($) {
|
1752 |
+
'use strict';
|
1753 |
+
|
1754 |
+
// SCROLLSPY CLASS DEFINITION
|
1755 |
+
// ==========================
|
1756 |
+
|
1757 |
+
function ScrollSpy(element, options) {
|
1758 |
+
var href
|
1759 |
+
var process = $.proxy(this.process, this)
|
1760 |
+
|
1761 |
+
this.$element = $(element).is('body') ? $(window) : $(element)
|
1762 |
+
this.$body = $('body')
|
1763 |
+
this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)
|
1764 |
+
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
1765 |
+
this.selector = (this.options.target
|
1766 |
+
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
1767 |
+
|| '') + ' .nav li > a'
|
1768 |
+
this.offsets = $([])
|
1769 |
+
this.targets = $([])
|
1770 |
+
this.activeTarget = null
|
1771 |
+
|
1772 |
+
this.refresh()
|
1773 |
+
this.process()
|
1774 |
+
}
|
1775 |
+
|
1776 |
+
ScrollSpy.DEFAULTS = {
|
1777 |
+
offset: 10
|
1778 |
+
}
|
1779 |
+
|
1780 |
+
ScrollSpy.prototype.refresh = function () {
|
1781 |
+
var offsetMethod = this.$element[0] == window ? 'offset' : 'position'
|
1782 |
+
|
1783 |
+
this.offsets = $([])
|
1784 |
+
this.targets = $([])
|
1785 |
+
|
1786 |
+
var self = this
|
1787 |
+
var $targets = this.$body
|
1788 |
+
.find(this.selector)
|
1789 |
+
.map(function () {
|
1790 |
+
var $el = $(this)
|
1791 |
+
var href = $el.data('target') || $el.attr('href')
|
1792 |
+
var $href = /^#./.test(href) && $(href)
|
1793 |
+
|
1794 |
+
return ($href
|
1795 |
+
&& $href.length
|
1796 |
+
&& $href.is(':visible')
|
1797 |
+
&& [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null
|
1798 |
+
})
|
1799 |
+
.sort(function (a, b) { return a[0] - b[0] })
|
1800 |
+
.each(function () {
|
1801 |
+
self.offsets.push(this[0])
|
1802 |
+
self.targets.push(this[1])
|
1803 |
+
})
|
1804 |
+
}
|
1805 |
+
|
1806 |
+
ScrollSpy.prototype.process = function () {
|
1807 |
+
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
1808 |
+
var scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
|
1809 |
+
var maxScroll = scrollHeight - this.$scrollElement.height()
|
1810 |
+
var offsets = this.offsets
|
1811 |
+
var targets = this.targets
|
1812 |
+
var activeTarget = this.activeTarget
|
1813 |
+
var i
|
1814 |
+
|
1815 |
+
if (scrollTop >= maxScroll) {
|
1816 |
+
return activeTarget != (i = targets.last()[0]) && this.activate(i)
|
1817 |
+
}
|
1818 |
+
|
1819 |
+
if (activeTarget && scrollTop <= offsets[0]) {
|
1820 |
+
return activeTarget != (i = targets[0]) && this.activate(i)
|
1821 |
+
}
|
1822 |
+
|
1823 |
+
for (i = offsets.length; i--;) {
|
1824 |
+
activeTarget != targets[i]
|
1825 |
+
&& scrollTop >= offsets[i]
|
1826 |
+
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
1827 |
+
&& this.activate( targets[i] )
|
1828 |
+
}
|
1829 |
+
}
|
1830 |
+
|
1831 |
+
ScrollSpy.prototype.activate = function (target) {
|
1832 |
+
this.activeTarget = target
|
1833 |
+
|
1834 |
+
$(this.selector)
|
1835 |
+
.parentsUntil(this.options.target, '.active')
|
1836 |
+
.removeClass('active')
|
1837 |
+
|
1838 |
+
var selector = this.selector +
|
1839 |
+
'[data-target="' + target + '"],' +
|
1840 |
+
this.selector + '[href="' + target + '"]'
|
1841 |
+
|
1842 |
+
var active = $(selector)
|
1843 |
+
.parents('li')
|
1844 |
+
.addClass('active')
|
1845 |
+
|
1846 |
+
if (active.parent('.dropdown-menu').length) {
|
1847 |
+
active = active
|
1848 |
+
.closest('li.dropdown')
|
1849 |
+
.addClass('active')
|
1850 |
+
}
|
1851 |
+
|
1852 |
+
active.trigger('activate.bs.scrollspy')
|
1853 |
+
}
|
1854 |
+
|
1855 |
+
|
1856 |
+
// SCROLLSPY PLUGIN DEFINITION
|
1857 |
+
// ===========================
|
1858 |
+
|
1859 |
+
var old = $.fn.scrollspy
|
1860 |
+
|
1861 |
+
$.fn.scrollspy = function (option) {
|
1862 |
+
return this.each(function () {
|
1863 |
+
var $this = $(this)
|
1864 |
+
var data = $this.data('bs.scrollspy')
|
1865 |
+
var options = typeof option == 'object' && option
|
1866 |
+
|
1867 |
+
if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
|
1868 |
+
if (typeof option == 'string') data[option]()
|
1869 |
+
})
|
1870 |
+
}
|
1871 |
+
|
1872 |
+
$.fn.scrollspy.Constructor = ScrollSpy
|
1873 |
+
|
1874 |
+
|
1875 |
+
// SCROLLSPY NO CONFLICT
|
1876 |
+
// =====================
|
1877 |
+
|
1878 |
+
$.fn.scrollspy.noConflict = function () {
|
1879 |
+
$.fn.scrollspy = old
|
1880 |
+
return this
|
1881 |
+
}
|
1882 |
+
|
1883 |
+
|
1884 |
+
// SCROLLSPY DATA-API
|
1885 |
+
// ==================
|
1886 |
+
|
1887 |
+
$(window).on('load', function () {
|
1888 |
+
$('[data-spy="scroll"]').each(function () {
|
1889 |
+
var $spy = $(this)
|
1890 |
+
$spy.scrollspy($spy.data())
|
1891 |
+
})
|
1892 |
+
})
|
1893 |
+
|
1894 |
+
}(jQuery);
|
1895 |
+
|
1896 |
+
/* ========================================================================
|
1897 |
+
* Bootstrap: transition.js v3.1.1
|
1898 |
+
* http://getbootstrap.com/javascript/#transitions
|
1899 |
+
* ========================================================================
|
1900 |
+
* Copyright 2011-2014 Twitter, Inc.
|
1901 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
1902 |
+
* ======================================================================== */
|
1903 |
+
|
1904 |
+
|
1905 |
+
+function ($) {
|
1906 |
+
'use strict';
|
1907 |
+
|
1908 |
+
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
|
1909 |
+
// ============================================================
|
1910 |
+
|
1911 |
+
function transitionEnd() {
|
1912 |
+
var el = document.createElement('bootstrap')
|
1913 |
+
|
1914 |
+
var transEndEventNames = {
|
1915 |
+
'WebkitTransition' : 'webkitTransitionEnd',
|
1916 |
+
'MozTransition' : 'transitionend',
|
1917 |
+
'OTransition' : 'oTransitionEnd otransitionend',
|
1918 |
+
'transition' : 'transitionend'
|
1919 |
+
}
|
1920 |
+
|
1921 |
+
for (var name in transEndEventNames) {
|
1922 |
+
if (el.style[name] !== undefined) {
|
1923 |
+
return { end: transEndEventNames[name] }
|
1924 |
+
}
|
1925 |
+
}
|
1926 |
+
|
1927 |
+
return false // explicit for ie8 ( ._.)
|
1928 |
+
}
|
1929 |
+
|
1930 |
+
// http://blog.alexmaccaw.com/css-transitions
|
1931 |
+
$.fn.emulateTransitionEnd = function (duration) {
|
1932 |
+
var called = false, $el = this
|
1933 |
+
$(this).one($.support.transition.end, function () { called = true })
|
1934 |
+
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
|
1935 |
+
setTimeout(callback, duration)
|
1936 |
+
return this
|
1937 |
+
}
|
1938 |
+
|
1939 |
+
$(function () {
|
1940 |
+
$.support.transition = transitionEnd()
|
1941 |
+
})
|
1942 |
+
|
1943 |
+
}(jQuery);
|
assets/bootstrap/js/bootstrap.min.js
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Bootstrap v3.1.1 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2014 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/
|
6 |
+
|
7 |
+
+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed.bs.alert").remove()}var c=a(this),d=c.attr("data-target");d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));var e=a(d);b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close.bs.alert"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.one(a.support.transition.end,f).emulateTransitionEnd(150):f()};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.isLoading=!1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.resetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(function(){b=="loadingText"?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");c.prop("type")=="radio"&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f=typeof c=="object"&&c;e||d.data("bs.button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();if(b>this.$items.length-1||b<0)return;return this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){if(this.sliding)return;return this.slide("next")},b.prototype.prev=function(){if(this.sliding)return;return this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});this.$element.trigger(j);if(j.isDefaultPrevented())return;return this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(d.css("transition-duration").slice(0,-1)*1e3)):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),f&&this.cycle(),this};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),typeof c=="object"&&c),g=typeof c=="string"?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),typeof c=="number"?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),c.data()),g=c.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=c.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){function e(d){a(b).remove(),a(c).each(function(){var b=f(a(this)),c={relatedTarget:this};if(!b.hasClass("open"))return;b.trigger(d=a.Event("hide.bs.dropdown",c));if(d.isDefaultPrevented())return;b.removeClass("open").trigger("hidden.bs.dropdown",c)})}function f(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}"use strict";var b=".dropdown-backdrop",c="[data-toggle=dropdown]",d=function(b){a(b).on("click.bs.dropdown",this.toggle)};d.prototype.toggle=function(b){var c=a(this);if(c.is(".disabled, :disabled"))return;var d=f(c),g=d.hasClass("open");e();if(!g){"ontouchstart"in document.documentElement&&!d.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",e);var h={relatedTarget:this};d.trigger(b=a.Event("show.bs.dropdown",h));if(b.isDefaultPrevented())return;d.toggleClass("open").trigger("shown.bs.dropdown",h),c.focus()}return!1},d.prototype.keydown=function(b){if(!/(38|40|27)/.test(b.keyCode))return;var d=a(this);b.preventDefault(),b.stopPropagation();if(d.is(".disabled, :disabled"))return;var e=f(d),g=e.hasClass("open");if(!g||g&&b.keyCode==27)return b.which==27&&e.find(c).focus(),d.click();var h=" li:not(.divider):visible a",i=e.find("[role=menu]"+h+", [role=listbox]"+h);if(!i.length)return;var j=i.index(i.filter(":focus"));b.keyCode==38&&j>0&&j--,b.keyCode==40&&j<i.length-1&&j++,~j||(j=0),i.eq(j).focus()};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),e=c.data("bs.dropdown");e||c.data("bs.dropdown",e=new d(this)),typeof b=="string"&&e[b].call(c)})},a.fn.dropdown.Constructor=d,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",e).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",c,d.prototype.toggle).on("keydown.bs.dropdown.data-api",c+", [role=menu], [role=listbox]",d.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d);if(this.isShown||d.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)})},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal()},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]!==a.target&&!this.$element.has(a.target).length&&this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){a.which==27&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){if(a.target!==a.currentTarget)return;this.options.backdrop=="static"?this.$element[0].focus.call(this.$element[0]):this.hide.call(this)},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),typeof c=="object"&&c);f||e.data("bs.modal",f=new b(this,g)),typeof c=="string"?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());c.is("a")&&b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);var e=this.options.trigger.split(" ");for(var f=e.length;f--;){var g=e[f];if(g=="click")this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if(g!="manual"){var h=g=="hover"?"mouseenter":"focusin",i=g=="hover"?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);clearTimeout(c.timeout),c.hoverState="in";if(!c.options.delay||!c.options.delay.show)return c.show();c.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);clearTimeout(c.timeout),c.hoverState="out";if(!c.options.delay||!c.options.delay.hide)return c.hide();c.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this,d=this.tip();this.setContent(),this.options.animation&&d.addClass("fade");var e=typeof this.options.placement=="function"?this.options.placement.call(this,d[0],this.$element[0]):this.options.placement,f=/\s?auto?\s?/i,g=f.test(e);g&&(e=e.replace(f,"")||"top"),d.detach().css({top:0,left:0,display:"block"}).addClass(e),this.options.container?d.appendTo(this.options.container):d.insertAfter(this.$element);var h=this.getPosition(),i=d[0].offsetWidth,j=d[0].offsetHeight;if(g){var k=this.$element.parent(),l=e,m=document.documentElement.scrollTop||document.body.scrollTop,n=this.options.container=="body"?window.innerWidth:k.outerWidth(),o=this.options.container=="body"?window.innerHeight:k.outerHeight(),p=this.options.container=="body"?0:k.offset().left;e=e=="bottom"&&h.top+h.height+j-m>o?"top":e=="top"&&h.top-m-j<0?"bottom":e=="right"&&h.right+i>n?"left":e=="left"&&h.left-i<p?"right":e,d.removeClass(l).addClass(e)}var q=this.getCalculatedOffset(e,h,i,j);this.applyPlacement(q,e),this.hoverState=null;var r=function(){c.$element.trigger("shown.bs."+c.type)};a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,r).emulateTransitionEnd(150):r()}},b.prototype.applyPlacement=function(b,c){var d,e=this.tip(),f=e[0].offsetWidth,g=e[0].offsetHeight,h=parseInt(e.css("margin-top"),10),i=parseInt(e.css("margin-left"),10);isNaN(h)&&(h=0),isNaN(i)&&(i=0),b.top=b.top+h,b.left=b.left+i,a.offset.setOffset(e[0],a.extend({using:function(a){e.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),e.addClass("in");var j=e[0].offsetWidth,k=e[0].offsetHeight;c=="top"&&k!=g&&(d=!0,b.top=b.top+g-k);if(/bottom|top/.test(c)){var l=0;b.left<0&&(l=b.left*-2,b.left=0,e.offset(b),j=e[0].offsetWidth,k=e[0].offsetHeight),this.replaceArrow(l-f+j,j,"left")}else this.replaceArrow(k-g,k,"top");d&&e.offset(b)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function e(){b.hoverState!="in"&&c.detach(),b.$element.trigger("hidden.bs."+b.type)}var b=this,c=this.tip(),d=a.Event("hide.bs."+this.type);this.$element.trigger(d);if(d.isDefaultPrevented())return;return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?c.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),this.hoverState=null,this},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},typeof b.getBoundingClientRect=="function"?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return a=="bottom"?{top:b.top+b.height,left:b.left+b.width/2-c/2}:a=="top"?{top:b.top-d,left:b.left+b.width/2-c/2}:a=="left"?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f=typeof c=="object"&&c;if(!e&&c=="destroy")return;e||d.data("bs.tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?typeof c=="string"?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||(typeof b.content=="function"?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f=typeof c=="object"&&c;if(!e&&c=="destroy")return;e||d.data("bs.popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});b.trigger(f);if(f.isDefaultPrevented())return;var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})},b.prototype.activate=function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g).emulateTransitionEnd(150):g(),e.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(b.RESET).addClass("affix");var a=this.$window.scrollTop(),c=this.$element.offset();return this.pinnedOffset=c.top-a},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;this.affixed=="top"&&(e.top+=d),typeof f!="object"&&(h=g=f),typeof g=="function"&&(g=f.top(this.$element)),typeof h=="function"&&(h=f.bottom(this.$element));var i=this.unpin!=null&&d+this.unpin<=e.top?!1:h!=null&&e.top+this.$element.height()>=c-h?"bottom":g!=null&&d<=g?"top":!1;if(this.affixed===i)return;this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k);if(k.isDefaultPrevented())return;this.affixed=i,this.unpin=i=="bottom"?this.getPinnedOffset():null,this.$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),i=="bottom"&&this.$element.offset({top:c-h-this.$element.height()})};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f=typeof c=="object"&&c;e||d.data("bs.affix",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var b=a.Event("show.bs.collapse");this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])},b.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var b=a.Event("hide.bs.collapse");this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};if(!a.support.transition)return d.call(this);this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350)},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),typeof c=="object"&&c);!e&&f.toggle&&c=="show"&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":c.data(),i=c.attr("data-parent"),j=i&&a(i);if(!g||!g.transitioning)j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(c).addClass("collapsed"),c[f.hasClass("in")?"addClass":"removeClass"]("collapsed");f.collapse(h)})}(jQuery),+function(a){function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}"use strict",b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this,d=this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);if(f&&a<=d[0])return f!=(g=e[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f=typeof c=="object"&&c;e||d.data("bs.scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(a.style[c]!==undefined)return{end:b[c]};return!1}"use strict",a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery)
|
assets/css/style.css
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
div #honeypot {display: none;}
|
3 |
+
div.kb-search {text-align:center}
|
4 |
+
.kb-search input#kb-search-request {font-size: 18px; border-radius: 5px; color: #999; padding: 3px;}
|
5 |
+
.kb-search button { font-size: 14px; padding: 6px 12px; vertical-align:top; }
|
6 |
+
.btn.large { font-size: 15px; line-height: normal; padding: 9px 14px 9px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
|
7 |
+
|
8 |
+
.input-large, input.large { width: auto; }
|
9 |
+
.input-large, input.large, textarea.large, select.large { width: 210px; }
|
10 |
+
input[type=button], input[type=reset], input[type=submit] { width: auto; height: auto; }
|
11 |
+
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
|
12 |
+
|
13 |
+
body{
|
14 |
+
background-color: transparent !important;
|
15 |
+
}
|
16 |
+
|
17 |
+
.big-search .kb-search #kb-search-request {width: 300px;}
|
18 |
+
|
19 |
+
|
20 |
+
|
21 |
+
#content-general {
|
22 |
+
width:898px;
|
23 |
+
border-left:1px solid #caced3;
|
24 |
+
border-right:1px solid #caced3;
|
25 |
+
padding:15px 20px 0 20px;
|
26 |
+
background:#fff;
|
27 |
+
}
|
28 |
+
.fade{
|
29 |
+
opacity: 100 !important;
|
30 |
+
}
|
31 |
+
.checkbox{
|
32 |
+
width:24px;
|
33 |
+
height:24px;
|
34 |
+
float:left;
|
35 |
+
background: url(../images/icons.png) no-repeat -452px -112px;
|
36 |
+
}
|
37 |
+
.checkbox.checked{
|
38 |
+
background: url(../images/icons.png) no-repeat -424px -112px;
|
39 |
+
}
|
40 |
+
.optimization-status{
|
41 |
+
width:260px;
|
42 |
+
float:left;
|
43 |
+
font-size:1.2em;
|
44 |
+
}
|
45 |
+
|
46 |
+
.glyphicon-ok{
|
47 |
+
color:green;
|
48 |
+
}
|
49 |
+
|
50 |
+
.glyphicon-warning-sign{
|
51 |
+
color:orange;
|
52 |
+
}
|
53 |
+
.glyphicon-exclamation-sign{
|
54 |
+
color:red;
|
55 |
+
}
|
56 |
+
|
57 |
+
.danger{
|
58 |
+
color:red;
|
59 |
+
}
|
60 |
+
|
61 |
+
.warning{
|
62 |
+
color:orange;
|
63 |
+
}
|
64 |
+
|
65 |
+
.success{
|
66 |
+
color:green;
|
67 |
+
}
|
68 |
+
|
69 |
+
|
70 |
+
|
71 |
+
.badge-warning{
|
72 |
+
background-color:orange !important;
|
73 |
+
}
|
74 |
+
.badge-danger{
|
75 |
+
background-color:red !important;
|
76 |
+
}
|
77 |
+
.badge-success{
|
78 |
+
background-color:green !important;
|
79 |
+
}
|
80 |
+
.badge-default{
|
81 |
+
background-color:blue !important;
|
82 |
+
}
|
83 |
+
|
84 |
+
.optimization-item{
|
85 |
+
padding:10px;
|
86 |
+
border-width: 0 0 2px 0;
|
87 |
+
border-style: solid;
|
88 |
+
}
|
89 |
+
|
90 |
+
.tab-content{
|
91 |
+
background-color:#fff;
|
92 |
+
padding:10px;
|
93 |
+
border-color: #dddddd;
|
94 |
+
border-style: solid;
|
95 |
+
border-width: 0 1px 1px 1px;
|
96 |
+
}
|
97 |
+
|
98 |
+
|
99 |
+
a.a2-exclusive{
|
100 |
+
display: block;
|
101 |
+
width: 250px;
|
102 |
+
height: 19px;
|
103 |
+
background: url(../images/a2-exclusive.png) no-repeat;
|
104 |
+
}
|
105 |
+
|
106 |
+
.optimization-item .optimization-item-one{
|
107 |
+
float:left;
|
108 |
+
width:44px;
|
109 |
+
font-size:36px
|
110 |
+
}
|
111 |
+
|
112 |
+
.optimization-item .optimization-item-two{
|
113 |
+
float:left;
|
114 |
+
}
|
115 |
+
|
116 |
+
.optimization-item .optimization-item-three{
|
117 |
+
clear:both;
|
118 |
+
}
|
119 |
+
|
120 |
+
.optimization-item .optimization-item-four{
|
121 |
+
clear:both;
|
122 |
+
}
|
123 |
+
|
124 |
+
#edge-mode{
|
125 |
+
display:none !important;
|
126 |
+
height:0px !important;
|
127 |
+
}
|
128 |
+
#gfw-hosting-meta-box{
|
129 |
+
display:none !important;
|
130 |
+
}
|
131 |
+
img[title=Logo]{
|
132 |
+
display:none;
|
133 |
+
}
|
assets/images/a2-exclusive.png
ADDED
Binary file
|
assets/images/a2optimized.png
ADDED
Binary file
|
assets/images/background-both.png
ADDED
Binary file
|
assets/images/background-left.png
ADDED
Binary file
|
assets/images/background-right.png
ADDED
Binary file
|
assets/images/brankic1979-icon-set.png
ADDED
Binary file
|
assets/images/brankic1979-icon-set.psd
ADDED
Binary file
|
assets/images/icons.png
ADDED
Binary file
|
assets/images/icons.psd
ADDED
Binary file
|
assets/images/image001.jpg
ADDED
Binary file
|
readme.txt
ADDED
@@ -0,0 +1,163 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== A2 Optimized WP ===
|
2 |
+
Contributors: A2BCool, a2hosting
|
3 |
+
Tags: Speed, Optimize, Secure, Fast, W3 Total Cache, W3TC, Hosting
|
4 |
+
Requires at least: 3.5
|
5 |
+
Tested up to: 4.3.1
|
6 |
+
Stable tag: 4.3.1
|
7 |
+
License: GPLv2 or later
|
8 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
+
|
10 |
+
Make your site faster and more secure with the click of a few buttons
|
11 |
+
|
12 |
+
== Description ==
|
13 |
+
|
14 |
+
A2 Optimized is designed to make it *quick and easy* to *speed up* and secure your website by installing
|
15 |
+
and configuring several well known, stable plugins with the click of a few buttons.
|
16 |
+
|
17 |
+
**Have you ever tried to configure *W3 Total cache* and got lost in the mess of configuration pages?**
|
18 |
+
|
19 |
+
A2 Optimized has broken it down into the most valuable optimizations and will automatically configure
|
20 |
+
W3 Total Cache for what works best in most shared hosting environments.
|
21 |
+
|
22 |
+
|
23 |
+
= Free Optimizations =
|
24 |
+
|
25 |
+
**Caching with W3 Total Cache**:
|
26 |
+
|
27 |
+
* Enable Page, Object and Database caching with W3 Total cache in one click.
|
28 |
+
* Page Caching stores full copies of pages on the disk so that php code and database queries can be skipped by the web server.
|
29 |
+
* Object Caching stores commonly used elements such as menus / widgets and forms on disk or in memory to speed up page rendering.
|
30 |
+
* Database cache stores copies of common database queries on disk or in memcory to speed up page rendering.
|
31 |
+
|
32 |
+
**Minify HTML Pages**:
|
33 |
+
|
34 |
+
* Auto Configure W3 Total Cache to remove excess white space and comments from html pages to compress their size.
|
35 |
+
* This provides for minor imporvements in page load time.
|
36 |
+
|
37 |
+
**Minify CSS Files**:
|
38 |
+
|
39 |
+
* Auto Configure W3 Total Cache to condense CSS files into non human-readable compressed files.
|
40 |
+
* Combines multiple css files into a single download.
|
41 |
+
* Can provide significant speed imporvements for page loads.
|
42 |
+
|
43 |
+
**Minify JS Files**:
|
44 |
+
|
45 |
+
* Auto Configure W3 Total Cache to condense JavaScript files into non human-readable compressed files.
|
46 |
+
* Combines multiple js files into a single download.
|
47 |
+
* Can provide significant speed imporvements for page loads.
|
48 |
+
|
49 |
+
**Gzip Compression**:
|
50 |
+
|
51 |
+
* Turns on gzip compression using W3 Total Cache.
|
52 |
+
* Ensures that files are compressed before transfering them.
|
53 |
+
* Can provide significant speed imporvements for page loads.
|
54 |
+
* Reduces bandwidth required to serve web pages.
|
55 |
+
|
56 |
+
**Deny Direct Access to Configuration Files and Comment Form**:
|
57 |
+
|
58 |
+
* Enables WordPress hardening rules in .htaccess to prevent browser access to certain files.
|
59 |
+
* Prevents bots from submitting to comment forms.
|
60 |
+
* Note: Turn this off if you use systems that post to the comment form without visiting the page.
|
61 |
+
|
62 |
+
**Lock Editing of Plugins and Themes from the WP Admin**:
|
63 |
+
|
64 |
+
* Turns off the file editor in the wp-admin.
|
65 |
+
* Prevents plugins and themes from being tampered with from the wp-admin.
|
66 |
+
|
67 |
+
= A2 Hosting Exclusive Optimizations =
|
68 |
+
|
69 |
+
**These one-click optimizations are only available while hosted at A2 Hosting.**
|
70 |
+
|
71 |
+
**Login URL Change**:
|
72 |
+
|
73 |
+
* Move the login page from the default wp-login.php to a random URL.
|
74 |
+
* Prevents bots from automatically brute-force attacking wp-login.php
|
75 |
+
|
76 |
+
**reCAPTCHA on comments and login**:
|
77 |
+
|
78 |
+
* provides google reCAPTCHA on both the Login form and comments.
|
79 |
+
* Prevents bots from automatically brute-force attacking wp-login.php
|
80 |
+
* Prevents bots from automatically spamming comments.
|
81 |
+
|
82 |
+
**Compress Images on Upload**:
|
83 |
+
|
84 |
+
* Enables and configures EWWW Image Optimizer.
|
85 |
+
* Compresses images that are uploaded to save bandwidth.
|
86 |
+
* Improves page load times: especially on sites with many images.
|
87 |
+
|
88 |
+
**Turbo Web Hosting**:
|
89 |
+
|
90 |
+
* Take advantage of A2 Hosting's Turbo Web Hosting platform.
|
91 |
+
* Faster serving of static files.
|
92 |
+
* Pre-compiled .htaccess files on the web server for imporved performance.
|
93 |
+
* PHP OpCode cache enabled by default
|
94 |
+
* Custom php engine that is faster than Fast-CGI and FPM
|
95 |
+
|
96 |
+
**Memcached Database and Object Cache**:
|
97 |
+
|
98 |
+
* Database and Object cache in memory instead of on disk.
|
99 |
+
* Secure and Faster Memcached using Unix socket files.
|
100 |
+
* Significant improvement in page load times, especially on pages that can not use full page cache such as wp-admin.
|
101 |
+
|
102 |
+
|
103 |
+
== Installation ==
|
104 |
+
|
105 |
+
1. Upload a2-optimized into the wp-content/plugins/ directory
|
106 |
+
1. Activate the plugin through the 'Plugins' menu in WordPress
|
107 |
+
1. Click 'A2 Optimized' in the admin menu
|
108 |
+
1. Click buttons to enable optimizations
|
109 |
+
1. Check out warnings that A2 Optimized has detected that may be slowing down your site
|
110 |
+
1. Check out Advanced Optimizations that may help you identify plugins that may be slowing down your site.
|
111 |
+
|
112 |
+
|
113 |
+
== Frequently Asked Questions ==
|
114 |
+
|
115 |
+
= How does A2 Optimized speed up my site =
|
116 |
+
|
117 |
+
Caching is the fastest and easiest way to speed up a dynamic website.
|
118 |
+
A2 Optimized will install and configure W3 Total Cache with the click of a few buttons.
|
119 |
+
|
120 |
+
= Does A2 Optimized make all sites faster =
|
121 |
+
|
122 |
+
A2 Optimized will speed up most sites; however, not all plugins are compatible with W3 Total Cache.
|
123 |
+
|
124 |
+
If your site is slower after enabling caching in A2 Optimized,
|
125 |
+
talk to a developer about finding better solutions for the plugins that you are using.
|
126 |
+
|
127 |
+
= Can I use A2 Optimized with WordFence =
|
128 |
+
|
129 |
+
A2 Optimized is compatible with most of the features in WordFence, however you should disable caching and logging in WordFence.
|
130 |
+
|
131 |
+
= Why use W3 Total Cache over WP Super Cache =
|
132 |
+
|
133 |
+
W3 Total Cache is the only plugin that handles all types of caching. It caches frequently used database queries, objects and pages. It also allows the use of Memcached as a storage engine for cache.
|
134 |
+
|
135 |
+
= Can I use A2 Optimized on any host =
|
136 |
+
|
137 |
+
Yes. A2 Optimized works on any host that supports WordPress. Yes. A2 Optimized works on any host that supports WordPress; however, A2 Hosting provides a few more tools for speeding up your site when hosted on an A2 Hosting server.
|
138 |
+
|
139 |
+
|
140 |
+
|
141 |
+
== Changelog ==
|
142 |
+
|
143 |
+
= 2.0.1 =
|
144 |
+
*minor bug fixes
|
145 |
+
*check for PHP version >= 5.3
|
146 |
+
|
147 |
+
|
148 |
+
= 2.0 =
|
149 |
+
*Move from SaaS to Full GPL
|
150 |
+
|
151 |
+
|
152 |
+
== Upgrade Notice ==
|
153 |
+
|
154 |
+
= 2.0 =
|
155 |
+
New GPL plugin, now updates are through the wordpress.org repository
|
156 |
+
|
157 |
+
|
158 |
+
== Screenshots ==
|
159 |
+
|
160 |
+
1. A2 Optimized Optimizations Page
|
161 |
+
2. A2 Optimized Warnings Page
|
162 |
+
3. A2 Optimized Advanced Optimizations Page
|
163 |
+
4. About A2 Optimized Page
|