Version Description
Release Date - 2018-09-02 * IMPORTANT: Requires WooCommerce 3.0+ WordPress 4.8+ and PHP 5.3+ * FEATURE: Filter 'wjecf_apply_with_other_coupons' to disallow certain coupon combinations * FEATURE: Update order review on payment/billing email change on checkout page (see settings page) * FIX: Auto-coupon check usase limits per user and respect email restriction wildcards * FIX: Auto-coupon in combination with individual_use respects exception filters * FIX: Coupon queueing: Case sensitive coupon code compare issue * FIX/PERFORMANCE: Rewritten handling of auto-coupons. Performance improvement * (PRO) ENHANCEMENT: Free products: Better handling and performance of cart ajax events * (PRO) FIX: Duplicate notices when enqueuing a coupon * INTERNAL: Removed code for backwards compatibility with WC versions prior to 3.0 * INTERNAL: Rewritten boot-process. Class auto-loading. Code cleanup.
Release Info
Developer | josk79 |
Plugin | WooCommerce Extended Coupon Features |
Version | 3.0.0 |
Comparing to | |
See all releases |
Code changes from version 2.6.4 to 3.0.0
- docs/404.html +138 -138
- docs/changelog/index.html +464 -422
- docs/css/highlight.css +124 -124
- docs/css/theme.css +12 -12
- docs/css/theme_extra.css +194 -194
- docs/development/index.html +339 -339
- docs/fonts/fontawesome-webfont.svg +398 -398
- docs/index.html +191 -191
- docs/js/highlight.pack.js +1 -1
@@ -1,138 +1,138 @@
|
|
1 |
-
<!DOCTYPE html>
|
2 |
-
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
3 |
-
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
4 |
-
<head>
|
5 |
-
<meta charset="utf-8">
|
6 |
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7 |
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8 |
-
|
9 |
-
|
10 |
-
<link rel="shortcut icon" href="/img/favicon.ico">
|
11 |
-
<title>Soft79 Documentation</title>
|
12 |
-
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
13 |
-
|
14 |
-
<link rel="stylesheet" href="/css/theme.css" type="text/css" />
|
15 |
-
<link rel="stylesheet" href="/css/theme_extra.css" type="text/css" />
|
16 |
-
<link rel="stylesheet" href="/css/highlight.css">
|
17 |
-
<link href="/css/jos.css" rel="stylesheet">
|
18 |
-
|
19 |
-
<script src="/js/jquery-2.1.1.min.js"></script>
|
20 |
-
<script src="/js/modernizr-2.8.3.min.js"></script>
|
21 |
-
<script type="text/javascript" src="/js/highlight.pack.js"></script>
|
22 |
-
|
23 |
-
</head>
|
24 |
-
|
25 |
-
<body class="wy-body-for-nav" role="document">
|
26 |
-
|
27 |
-
<div class="wy-grid-for-nav">
|
28 |
-
|
29 |
-
|
30 |
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
31 |
-
<div class="wy-side-nav-search">
|
32 |
-
<a href="/" class="icon icon-home"> Soft79 Documentation</a>
|
33 |
-
<div role="search">
|
34 |
-
<form id ="rtd-search-form" class="wy-form" action="/search.html" method="get">
|
35 |
-
<input type="text" name="q" placeholder="Search docs" />
|
36 |
-
</form>
|
37 |
-
</div>
|
38 |
-
</div>
|
39 |
-
|
40 |
-
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
41 |
-
<ul class="current">
|
42 |
-
|
43 |
-
|
44 |
-
<li class="toctree-l1">
|
45 |
-
|
46 |
-
<span class="caption-text">WooCommerce Extended Coupon Features</span>
|
47 |
-
<ul class="subnav">
|
48 |
-
<li class="">
|
49 |
-
|
50 |
-
<a class="" href="/">About</a>
|
51 |
-
</li>
|
52 |
-
<li class="">
|
53 |
-
|
54 |
-
<a class="" href="/usage/">Usage</a>
|
55 |
-
</li>
|
56 |
-
<li class="">
|
57 |
-
|
58 |
-
<a class="" href="/development/">Development</a>
|
59 |
-
</li>
|
60 |
-
<li class="">
|
61 |
-
|
62 |
-
<a class="" href="/changelog/">Changelog</a>
|
63 |
-
</li>
|
64 |
-
</ul>
|
65 |
-
</li>
|
66 |
-
|
67 |
-
</ul>
|
68 |
-
</div>
|
69 |
-
|
70 |
-
</nav>
|
71 |
-
|
72 |
-
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
73 |
-
|
74 |
-
|
75 |
-
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
76 |
-
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
77 |
-
<a href="/">Soft79 Documentation</a>
|
78 |
-
</nav>
|
79 |
-
|
80 |
-
|
81 |
-
<div class="wy-nav-content">
|
82 |
-
<div class="rst-content">
|
83 |
-
<div role="navigation" aria-label="breadcrumbs navigation">
|
84 |
-
<ul class="wy-breadcrumbs">
|
85 |
-
<li><a href="/">Docs</a> »</li>
|
86 |
-
|
87 |
-
|
88 |
-
<li class="wy-breadcrumbs-aside">
|
89 |
-
|
90 |
-
</li>
|
91 |
-
</ul>
|
92 |
-
<hr/>
|
93 |
-
</div>
|
94 |
-
<div role="main">
|
95 |
-
<div class="section">
|
96 |
-
|
97 |
-
|
98 |
-
<h1 id="404-page-not-found">404</h1>
|
99 |
-
|
100 |
-
<p><strong>Page not found</strong></p>
|
101 |
-
|
102 |
-
|
103 |
-
</div>
|
104 |
-
</div>
|
105 |
-
<footer>
|
106 |
-
|
107 |
-
|
108 |
-
<hr/>
|
109 |
-
|
110 |
-
<div role="contentinfo">
|
111 |
-
<!-- Copyright etc -->
|
112 |
-
|
113 |
-
</div>
|
114 |
-
|
115 |
-
Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
116 |
-
</footer>
|
117 |
-
|
118 |
-
</div>
|
119 |
-
</div>
|
120 |
-
|
121 |
-
</section>
|
122 |
-
|
123 |
-
</div>
|
124 |
-
|
125 |
-
<div class="rst-versions" role="note" style="cursor: pointer">
|
126 |
-
<span class="rst-current-version" data-toggle="rst-current-version">
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
</span>
|
131 |
-
</div>
|
132 |
-
<script>var base_url = '';</script>
|
133 |
-
<script src="/js/theme.js"></script>
|
134 |
-
<script src="/search/require.js"></script>
|
135 |
-
<script src="/search/search.js"></script>
|
136 |
-
|
137 |
-
</body>
|
138 |
-
</html>
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
3 |
+
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
4 |
+
<head>
|
5 |
+
<meta charset="utf-8">
|
6 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8 |
+
|
9 |
+
|
10 |
+
<link rel="shortcut icon" href="/img/favicon.ico">
|
11 |
+
<title>Soft79 Documentation</title>
|
12 |
+
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
13 |
+
|
14 |
+
<link rel="stylesheet" href="/css/theme.css" type="text/css" />
|
15 |
+
<link rel="stylesheet" href="/css/theme_extra.css" type="text/css" />
|
16 |
+
<link rel="stylesheet" href="/css/highlight.css">
|
17 |
+
<link href="/css/jos.css" rel="stylesheet">
|
18 |
+
|
19 |
+
<script src="/js/jquery-2.1.1.min.js"></script>
|
20 |
+
<script src="/js/modernizr-2.8.3.min.js"></script>
|
21 |
+
<script type="text/javascript" src="/js/highlight.pack.js"></script>
|
22 |
+
|
23 |
+
</head>
|
24 |
+
|
25 |
+
<body class="wy-body-for-nav" role="document">
|
26 |
+
|
27 |
+
<div class="wy-grid-for-nav">
|
28 |
+
|
29 |
+
|
30 |
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
31 |
+
<div class="wy-side-nav-search">
|
32 |
+
<a href="/" class="icon icon-home"> Soft79 Documentation</a>
|
33 |
+
<div role="search">
|
34 |
+
<form id ="rtd-search-form" class="wy-form" action="/search.html" method="get">
|
35 |
+
<input type="text" name="q" placeholder="Search docs" />
|
36 |
+
</form>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
|
40 |
+
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
41 |
+
<ul class="current">
|
42 |
+
|
43 |
+
|
44 |
+
<li class="toctree-l1">
|
45 |
+
|
46 |
+
<span class="caption-text">WooCommerce Extended Coupon Features</span>
|
47 |
+
<ul class="subnav">
|
48 |
+
<li class="">
|
49 |
+
|
50 |
+
<a class="" href="/">About</a>
|
51 |
+
</li>
|
52 |
+
<li class="">
|
53 |
+
|
54 |
+
<a class="" href="/usage/">Usage</a>
|
55 |
+
</li>
|
56 |
+
<li class="">
|
57 |
+
|
58 |
+
<a class="" href="/development/">Development</a>
|
59 |
+
</li>
|
60 |
+
<li class="">
|
61 |
+
|
62 |
+
<a class="" href="/changelog/">Changelog</a>
|
63 |
+
</li>
|
64 |
+
</ul>
|
65 |
+
</li>
|
66 |
+
|
67 |
+
</ul>
|
68 |
+
</div>
|
69 |
+
|
70 |
+
</nav>
|
71 |
+
|
72 |
+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
73 |
+
|
74 |
+
|
75 |
+
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
76 |
+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
77 |
+
<a href="/">Soft79 Documentation</a>
|
78 |
+
</nav>
|
79 |
+
|
80 |
+
|
81 |
+
<div class="wy-nav-content">
|
82 |
+
<div class="rst-content">
|
83 |
+
<div role="navigation" aria-label="breadcrumbs navigation">
|
84 |
+
<ul class="wy-breadcrumbs">
|
85 |
+
<li><a href="/">Docs</a> »</li>
|
86 |
+
|
87 |
+
|
88 |
+
<li class="wy-breadcrumbs-aside">
|
89 |
+
|
90 |
+
</li>
|
91 |
+
</ul>
|
92 |
+
<hr/>
|
93 |
+
</div>
|
94 |
+
<div role="main">
|
95 |
+
<div class="section">
|
96 |
+
|
97 |
+
|
98 |
+
<h1 id="404-page-not-found">404</h1>
|
99 |
+
|
100 |
+
<p><strong>Page not found</strong></p>
|
101 |
+
|
102 |
+
|
103 |
+
</div>
|
104 |
+
</div>
|
105 |
+
<footer>
|
106 |
+
|
107 |
+
|
108 |
+
<hr/>
|
109 |
+
|
110 |
+
<div role="contentinfo">
|
111 |
+
<!-- Copyright etc -->
|
112 |
+
|
113 |
+
</div>
|
114 |
+
|
115 |
+
Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
116 |
+
</footer>
|
117 |
+
|
118 |
+
</div>
|
119 |
+
</div>
|
120 |
+
|
121 |
+
</section>
|
122 |
+
|
123 |
+
</div>
|
124 |
+
|
125 |
+
<div class="rst-versions" role="note" style="cursor: pointer">
|
126 |
+
<span class="rst-current-version" data-toggle="rst-current-version">
|
127 |
+
|
128 |
+
|
129 |
+
|
130 |
+
</span>
|
131 |
+
</div>
|
132 |
+
<script>var base_url = '';</script>
|
133 |
+
<script src="/js/theme.js"></script>
|
134 |
+
<script src="/search/require.js"></script>
|
135 |
+
<script src="/search/search.js"></script>
|
136 |
+
|
137 |
+
</body>
|
138 |
+
</html>
|
@@ -1,422 +1,464 @@
|
|
1 |
-
<!DOCTYPE html>
|
2 |
-
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
3 |
-
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
4 |
-
<head>
|
5 |
-
<meta charset="utf-8">
|
6 |
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7 |
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8 |
-
|
9 |
-
|
10 |
-
<link rel="shortcut icon" href="../img/favicon.ico">
|
11 |
-
<title>Changelog - Soft79 Documentation</title>
|
12 |
-
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
13 |
-
|
14 |
-
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
|
15 |
-
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
|
16 |
-
<link rel="stylesheet" href="../css/highlight.css">
|
17 |
-
<link href="../css/jos.css" rel="stylesheet">
|
18 |
-
|
19 |
-
<script>
|
20 |
-
// Current page data
|
21 |
-
var mkdocs_page_name = "Changelog";
|
22 |
-
var mkdocs_page_input_path = "changelog.md";
|
23 |
-
var mkdocs_page_url = "/changelog/";
|
24 |
-
</script>
|
25 |
-
|
26 |
-
<script src="../js/jquery-2.1.1.min.js"></script>
|
27 |
-
<script src="../js/modernizr-2.8.3.min.js"></script>
|
28 |
-
<script type="text/javascript" src="../js/highlight.pack.js"></script>
|
29 |
-
|
30 |
-
</head>
|
31 |
-
|
32 |
-
<body class="wy-body-for-nav" role="document">
|
33 |
-
|
34 |
-
<div class="wy-grid-for-nav">
|
35 |
-
|
36 |
-
|
37 |
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
38 |
-
<div class="wy-side-nav-search">
|
39 |
-
<a href=".." class="icon icon-home"> Soft79 Documentation</a>
|
40 |
-
<div role="search">
|
41 |
-
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
42 |
-
<input type="text" name="q" placeholder="Search docs" />
|
43 |
-
</form>
|
44 |
-
</div>
|
45 |
-
</div>
|
46 |
-
|
47 |
-
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
48 |
-
<ul class="current">
|
49 |
-
|
50 |
-
|
51 |
-
<li class="toctree-l1">
|
52 |
-
|
53 |
-
<span class="caption-text">WooCommerce Extended Coupon Features</span>
|
54 |
-
<ul class="subnav">
|
55 |
-
<li class="">
|
56 |
-
|
57 |
-
<a class="" href="..">About</a>
|
58 |
-
</li>
|
59 |
-
<li class="">
|
60 |
-
|
61 |
-
<a class="" href="../usage/">Usage</a>
|
62 |
-
</li>
|
63 |
-
<li class="">
|
64 |
-
|
65 |
-
<a class="" href="../development/">Development</a>
|
66 |
-
</li>
|
67 |
-
<li class=" current">
|
68 |
-
|
69 |
-
<a class="current" href="./">Changelog</a>
|
70 |
-
<ul class="subnav">
|
71 |
-
|
72 |
-
</ul>
|
73 |
-
</li>
|
74 |
-
</ul>
|
75 |
-
</li>
|
76 |
-
|
77 |
-
</ul>
|
78 |
-
</div>
|
79 |
-
|
80 |
-
</nav>
|
81 |
-
|
82 |
-
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
83 |
-
|
84 |
-
|
85 |
-
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
86 |
-
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
87 |
-
<a href="..">Soft79 Documentation</a>
|
88 |
-
</nav>
|
89 |
-
|
90 |
-
|
91 |
-
<div class="wy-nav-content">
|
92 |
-
<div class="rst-content">
|
93 |
-
<div role="navigation" aria-label="breadcrumbs navigation">
|
94 |
-
<ul class="wy-breadcrumbs">
|
95 |
-
<li><a href="..">Docs</a> »</li>
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
<li>WooCommerce Extended Coupon Features »</li>
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
<li>Changelog</li>
|
104 |
-
<li class="wy-breadcrumbs-aside">
|
105 |
-
|
106 |
-
</li>
|
107 |
-
</ul>
|
108 |
-
<hr/>
|
109 |
-
</div>
|
110 |
-
<div role="main">
|
111 |
-
<div class="section">
|
112 |
-
|
113 |
-
<pre><code
|
114 |
-
|
115 |
-
*
|
116 |
-
*
|
117 |
-
*
|
118 |
-
* INTERNAL:
|
119 |
-
*
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
*
|
124 |
-
|
125 |
-
|
126 |
-
*
|
127 |
-
*
|
128 |
-
|
129 |
-
= 2.
|
130 |
-
*Release Date -
|
131 |
-
*
|
132 |
-
*
|
133 |
-
*
|
134 |
-
* (PRO)
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
*
|
139 |
-
* (PRO)
|
140 |
-
|
141 |
-
|
142 |
-
*
|
143 |
-
*
|
144 |
-
*
|
145 |
-
* (PRO)
|
146 |
-
* (PRO)
|
147 |
-
|
148 |
-
= 2.
|
149 |
-
*Release Date - 2017-
|
150 |
-
*
|
151 |
-
|
152 |
-
|
153 |
-
*
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
*
|
158 |
-
*
|
159 |
-
|
160 |
-
|
161 |
-
*
|
162 |
-
* (PRO)
|
163 |
-
|
164 |
-
|
165 |
-
* (PRO)
|
166 |
-
|
167 |
-
|
168 |
-
*
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
*
|
173 |
-
* FIX:
|
174 |
-
*
|
175 |
-
*
|
176 |
-
*
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
* (
|
181 |
-
* (PRO) FEATURE:
|
182 |
-
* (PRO) FEATURE:
|
183 |
-
*
|
184 |
-
*
|
185 |
-
*
|
186 |
-
* FIX:
|
187 |
-
* FIX:
|
188 |
-
* FIX:
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
* FIX:
|
193 |
-
|
194 |
-
|
195 |
-
* FIX:
|
196 |
-
|
197 |
-
= 2.
|
198 |
-
*
|
199 |
-
* FIX:
|
200 |
-
* FIX:
|
201 |
-
|
202 |
-
= 2.
|
203 |
-
*
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
*
|
208 |
-
|
209 |
-
|
210 |
-
*
|
211 |
-
|
212 |
-
= 2.
|
213 |
-
* FIX:
|
214 |
-
|
215 |
-
|
216 |
-
*
|
217 |
-
|
218 |
-
|
219 |
-
*
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
* (PRO)
|
224 |
-
|
225 |
-
|
226 |
-
*
|
227 |
-
*
|
228 |
-
* FIX:
|
229 |
-
* FIX:
|
230 |
-
*
|
231 |
-
*
|
232 |
-
|
233 |
-
= 2.3
|
234 |
-
* FIX:
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
*
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
* FIX:
|
246 |
-
|
247 |
-
|
248 |
-
*
|
249 |
-
*
|
250 |
-
|
251 |
-
= 2.3.
|
252 |
-
* FIX:
|
253 |
-
|
254 |
-
|
255 |
-
*
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
* FIX:
|
262 |
-
*
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
* FIX: WPML Compatibility
|
271 |
-
* FIX:
|
272 |
-
* FIX:
|
273 |
-
*
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
* (PRO) FEATURE:
|
279 |
-
|
280 |
-
|
281 |
-
* (PRO)
|
282 |
-
* (PRO) FIX:
|
283 |
-
|
284 |
-
|
285 |
-
* FIX:
|
286 |
-
* FIX:
|
287 |
-
* FIX:
|
288 |
-
* FIX:
|
289 |
-
* INTERNAL:
|
290 |
-
*
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
* (PRO) FEATURE:
|
297 |
-
* FIX:
|
298 |
-
* (PRO) FIX:
|
299 |
-
* (PRO)
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
*
|
304 |
-
*
|
305 |
-
* FIX: Backwards
|
306 |
-
*
|
307 |
-
|
308 |
-
= 2.
|
309 |
-
*
|
310 |
-
|
311 |
-
|
312 |
-
*
|
313 |
-
*
|
314 |
-
* FIX:
|
315 |
-
*
|
316 |
-
*
|
317 |
-
*
|
318 |
-
|
319 |
-
= 2.
|
320 |
-
*
|
321 |
-
*
|
322 |
-
|
323 |
-
|
324 |
-
* FIX:
|
325 |
-
*
|
326 |
-
* FEATURE:
|
327 |
-
*
|
328 |
-
*
|
329 |
-
*
|
330 |
-
* FIX:
|
331 |
-
*
|
332 |
-
*
|
333 |
-
|
334 |
-
|
335 |
-
*
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
*
|
340 |
-
*
|
341 |
-
*
|
342 |
-
*
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
* FIX:
|
348 |
-
*
|
349 |
-
|
350 |
-
=
|
351 |
-
*
|
352 |
-
*
|
353 |
-
|
354 |
-
|
355 |
-
*
|
356 |
-
|
357 |
-
|
358 |
-
*
|
359 |
-
*
|
360 |
-
|
361 |
-
=
|
362 |
-
*
|
363 |
-
*
|
364 |
-
|
365 |
-
=
|
366 |
-
*
|
367 |
-
|
368 |
-
|
369 |
-
*
|
370 |
-
|
371 |
-
|
372 |
-
*
|
373 |
-
|
374 |
-
|
375 |
-
*
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
</
|
422 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
3 |
+
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
4 |
+
<head>
|
5 |
+
<meta charset="utf-8">
|
6 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8 |
+
|
9 |
+
|
10 |
+
<link rel="shortcut icon" href="../img/favicon.ico">
|
11 |
+
<title>Changelog - Soft79 Documentation</title>
|
12 |
+
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
13 |
+
|
14 |
+
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
|
15 |
+
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
|
16 |
+
<link rel="stylesheet" href="../css/highlight.css">
|
17 |
+
<link href="../css/jos.css" rel="stylesheet">
|
18 |
+
|
19 |
+
<script>
|
20 |
+
// Current page data
|
21 |
+
var mkdocs_page_name = "Changelog";
|
22 |
+
var mkdocs_page_input_path = "changelog.md";
|
23 |
+
var mkdocs_page_url = "/changelog/";
|
24 |
+
</script>
|
25 |
+
|
26 |
+
<script src="../js/jquery-2.1.1.min.js"></script>
|
27 |
+
<script src="../js/modernizr-2.8.3.min.js"></script>
|
28 |
+
<script type="text/javascript" src="../js/highlight.pack.js"></script>
|
29 |
+
|
30 |
+
</head>
|
31 |
+
|
32 |
+
<body class="wy-body-for-nav" role="document">
|
33 |
+
|
34 |
+
<div class="wy-grid-for-nav">
|
35 |
+
|
36 |
+
|
37 |
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
38 |
+
<div class="wy-side-nav-search">
|
39 |
+
<a href=".." class="icon icon-home"> Soft79 Documentation</a>
|
40 |
+
<div role="search">
|
41 |
+
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
42 |
+
<input type="text" name="q" placeholder="Search docs" />
|
43 |
+
</form>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
|
47 |
+
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
48 |
+
<ul class="current">
|
49 |
+
|
50 |
+
|
51 |
+
<li class="toctree-l1">
|
52 |
+
|
53 |
+
<span class="caption-text">WooCommerce Extended Coupon Features</span>
|
54 |
+
<ul class="subnav">
|
55 |
+
<li class="">
|
56 |
+
|
57 |
+
<a class="" href="..">About</a>
|
58 |
+
</li>
|
59 |
+
<li class="">
|
60 |
+
|
61 |
+
<a class="" href="../usage/">Usage</a>
|
62 |
+
</li>
|
63 |
+
<li class="">
|
64 |
+
|
65 |
+
<a class="" href="../development/">Development</a>
|
66 |
+
</li>
|
67 |
+
<li class=" current">
|
68 |
+
|
69 |
+
<a class="current" href="./">Changelog</a>
|
70 |
+
<ul class="subnav">
|
71 |
+
|
72 |
+
</ul>
|
73 |
+
</li>
|
74 |
+
</ul>
|
75 |
+
</li>
|
76 |
+
|
77 |
+
</ul>
|
78 |
+
</div>
|
79 |
+
|
80 |
+
</nav>
|
81 |
+
|
82 |
+
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
83 |
+
|
84 |
+
|
85 |
+
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
86 |
+
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
87 |
+
<a href="..">Soft79 Documentation</a>
|
88 |
+
</nav>
|
89 |
+
|
90 |
+
|
91 |
+
<div class="wy-nav-content">
|
92 |
+
<div class="rst-content">
|
93 |
+
<div role="navigation" aria-label="breadcrumbs navigation">
|
94 |
+
<ul class="wy-breadcrumbs">
|
95 |
+
<li><a href="..">Docs</a> »</li>
|
96 |
+
|
97 |
+
|
98 |
+
|
99 |
+
<li>WooCommerce Extended Coupon Features »</li>
|
100 |
+
|
101 |
+
|
102 |
+
|
103 |
+
<li>Changelog</li>
|
104 |
+
<li class="wy-breadcrumbs-aside">
|
105 |
+
|
106 |
+
</li>
|
107 |
+
</ul>
|
108 |
+
<hr/>
|
109 |
+
</div>
|
110 |
+
<div role="main">
|
111 |
+
<div class="section">
|
112 |
+
|
113 |
+
<pre><code>= 3.0.0-beta.1 =
|
114 |
+
* IMPORTANT: Requires WooCommerce 3.0+ WordPress 4.8+ and PHP 5.3+
|
115 |
+
* FIX/PERFORMANCE: Rewritten handling of auto-coupons. Performance improvement
|
116 |
+
* (PRO) ENHANCEMENT: Free products: Better handling and performance of cart ajax events
|
117 |
+
* (PRO) FIX: Duplicate notices when enqueuing a coupon
|
118 |
+
* INTERNAL: Removed code for backwards compatibility with WC versions prior to 3.0
|
119 |
+
* INTERNAL: Rewritten boot-process. Class auto-loading. Code cleanup.
|
120 |
+
|
121 |
+
|
122 |
+
= 2.6.3 =
|
123 |
+
*Release Date - 2018-06-04*
|
124 |
+
* FIX: WJECF_Controller: Don't use wp_get_current_user() for admin-orders
|
125 |
+
* FIX: WJECF_Controller: Don't use WC()->cart->subtotal for admin-orders
|
126 |
+
* FIX: Possible division by zero when calculating multiplier value
|
127 |
+
* FEATURE: Filter 'wjecf_coupon_multiplier_value' to allow overriding the coupon's multiplier value
|
128 |
+
|
129 |
+
= 2.6.2 =
|
130 |
+
*Release Date - 2018-04-02*
|
131 |
+
* FEATURE: Auto-coupon compatibility with the 'WooCommerce Free Gift Coupons'-plugin
|
132 |
+
* FIX: CATEGORIES AND in combination with variable products
|
133 |
+
* FIX: Call to undefined function wc_add_notice()
|
134 |
+
* FIX: (PRO) First order purchase: Ignore cancelled/waiting for payment order statuses
|
135 |
+
* FIX: (PRO) Auto updater plugins_api return $def instead of false
|
136 |
+
|
137 |
+
= 2.6.1.1 =
|
138 |
+
*Release Date - 2017-12-24*
|
139 |
+
* FIX: (PRO) Possible crash on null reference in filter woocommerce_coupon_get_discount_amount
|
140 |
+
|
141 |
+
= 2.6.1 =
|
142 |
+
*Release Date - 2017-12-22*
|
143 |
+
* German translation (Thanks to, Guido Hloch)
|
144 |
+
* FIX: Use WC_Coupon::get_description (for translation plugins)
|
145 |
+
* FIX: (PRO) ADMIN - Auto update: Allow multiple license activation
|
146 |
+
* FIX: (PRO) ADMIN - Auto update: Removed invalid warning 'Invalid response block'
|
147 |
+
|
148 |
+
= 2.6.0.2 =
|
149 |
+
*Release Date - 2017-12-04*
|
150 |
+
* FIX: Typo 'impode' (Thanks to Constantine for reporting)
|
151 |
+
|
152 |
+
= 2.6.0.1 =
|
153 |
+
*Release Date - 2017-12-02*
|
154 |
+
* ADMIN: Fix: Changelog of plugin update screen
|
155 |
+
|
156 |
+
= 2.6.0 =
|
157 |
+
*Release Date - 2017-12-02*
|
158 |
+
* ADMIN: Compatibility with coupons added on the Order page from wp-admin (requires WC3.3+)
|
159 |
+
* ADMIN: Show 'settings' link on the plugin screen
|
160 |
+
* INTERNAL: Moved debugging functions to WJECF_Debug. Use template/log.php for output rendering of the log
|
161 |
+
* (PRO) FEATURE: Limit coupon to first time purchase only
|
162 |
+
* (PRO) ENHANCEMENT: Free products: Better grid layout of the free product selector
|
163 |
+
* (PRO) ENHANCEMENT: Free products: Auto submit of selection (works for inputs in container with class 'wjecf-auto-submit')
|
164 |
+
* (PRO) FIX: Free products: Respect "sold individually" when adding free products to the cart
|
165 |
+
* (PRO) FIX: Free products: WC2.6 compatibility (product->get_status())
|
166 |
+
|
167 |
+
= 2.5.5.1 =
|
168 |
+
*Release Date - 2017-11-07*
|
169 |
+
* (PRO) FIX: 'Limit discount to' not applied correctly in combination with WC3.2.3
|
170 |
+
|
171 |
+
= 2.5.5 =
|
172 |
+
*Release Date - 2017-11-01*
|
173 |
+
* (PRO) FIX: Free products: Removed unnecessary $lt;tr&gt; in cart / checkout table if no free product selection applies
|
174 |
+
* (PRO) FIX: Free products: Preserve notices when updating cart after applying/removing a coupon
|
175 |
+
* (PRO) FIX: Free products: Compatibility with Subscriptions plugin (prevent trigger of calculate_totals when adding free product to the cart)
|
176 |
+
* (PRO) FIX: Free products: Compatibility with WPML plugin (translation of the free products)
|
177 |
+
|
178 |
+
= 2.5.4 =
|
179 |
+
*Release Date - 2017-09-23*
|
180 |
+
* TWEAK: Get coupon description using WC_Coupon::get_description() to respect applicable filters (for example used by Polylang)
|
181 |
+
* (PRO) FEATURE: Allow customer to remove 'Auto Coupons' from the cart (see settings page)
|
182 |
+
* (PRO) FEATURE: Filter 'wjecf_get_limit_to_options' to allow adding custom 'Limit to'-options
|
183 |
+
* (PRO) PERFORMANCE: Free products: Only load js and css when required
|
184 |
+
* (PRO) FIX: Free products: "update cart"-button not automatically enabled after selecting a free product (in combination with certain themes (e.g. Flatsome)
|
185 |
+
* (PRO) FIX: Free products: Prevent certain plugins from parsing attribute fields containing [products] as shortcode
|
186 |
+
* (PRO) FIX: Limit discount to cheapest item failed in WC3.0 in combination with a percent discount
|
187 |
+
* (PRO) FIX: Custom fields: Accept WC3.0 core fields (e.g. _price)
|
188 |
+
* (PRO) FIX: PHP Warnings in WJECF_Pro_Admin_Auto_Update
|
189 |
+
|
190 |
+
= 2.5.3 =
|
191 |
+
*Release Date - 2017-06-12*
|
192 |
+
* (PRO) FIX: Free products: Free product selection always visible on checkout-page
|
193 |
+
* (PRO) FIX: Free products: JS error when using IE / Safari
|
194 |
+
* (PRO) FIX: Free products: Cart contents was not updated when applying a coupon
|
195 |
+
* (PRO) FIX: Free products: wjecf_free_product_amount_for_coupon not called for $max_quantity variable in the template
|
196 |
+
|
197 |
+
= 2.5.2.2 =
|
198 |
+
*Release Date - 2017-06-01*
|
199 |
+
* (PRO) FIX: Documentation url
|
200 |
+
* (PRO) FIX: Forgot to raise version number, causing a permanent 'An update is available'
|
201 |
+
|
202 |
+
= 2.5.2.1 =
|
203 |
+
*Release Date - 2017-06-01*
|
204 |
+
* (PRO) FIX: Duplicate products at free product selection
|
205 |
+
|
206 |
+
= 2.5.2 =
|
207 |
+
* (PRO) FEATURE: Free product selection using checkboxes / numeric inputs
|
208 |
+
* (PRO) FIX: Free product selection fails if coupon code contains a space
|
209 |
+
* (PRO) FIX: CSS for column system used by the free product selection
|
210 |
+
* DOCUMENTATION: Added the API part to the documentation (work in progress)
|
211 |
+
|
212 |
+
= 2.5.1 =
|
213 |
+
* FIX: Draft settings not being saved
|
214 |
+
* FIX: PHP < 5.5 compatibility
|
215 |
+
* FIX: Abstract_WJECF_Plugin log function
|
216 |
+
* INTERNAL: Functions add_action_once / add_filter_once. To guarantee execution only once.
|
217 |
+
* INTERNAL: Updated the API example; also usable from CLI
|
218 |
+
* INTERNAL: Created Sanitizer for form data handling
|
219 |
+
* INTERNAL: Reorganised coupon meta handling ( Abstract_WJECF_Plugin::admin_coupon_meta_fields )
|
220 |
+
|
221 |
+
= 2.5.0 =
|
222 |
+
* (PRO) FEATURE: Auto update!
|
223 |
+
* (PRO) FEATURE: Checkbox 'Allow applying coupon when invalid'
|
224 |
+
* (PRO) FEATURE: Custom message when applying a coupon which does not yet validate
|
225 |
+
* FEATURE: Settings page
|
226 |
+
* FEATURE REMOVED: Experimental feature 'Allow when minimum spend not reached' (Use 'Allow applying coupon when invalid' instead)
|
227 |
+
* COSMETIC: Products tab is now 'Free Products' tab. Moved other items to the 'Usage restriction'-tab
|
228 |
+
* FIX: Issue with 'Allow discount on cart with excluded items'
|
229 |
+
* FIX: Notice if a free product without weight is added/removed to/from the cart
|
230 |
+
* FIX: Deprecation notice in WJECF_AutoCoupon::sort_auto_coupons
|
231 |
+
* INTERNAL: Introduced 'allow_overwrite_coupon_values'
|
232 |
+
|
233 |
+
= 2.4.3 =
|
234 |
+
* FIX: Customer selector WooCommerce 3.0.0 compatibility
|
235 |
+
|
236 |
+
= 2.4.2.1 =
|
237 |
+
* FIX: WooCommerce < 2.7 compatibility
|
238 |
+
|
239 |
+
= 2.4.2 =
|
240 |
+
* FIX: Invalid calculation of subtotal/quantity of matching product since WC 3.0.0
|
241 |
+
* FIX: Missing "PRODUCT AND/OR" selector on Admin since WC 3.0.0 (Javascript)
|
242 |
+
* FIX: WooCommerce version detection if woocommerce is not installed in /wp-content/plugins/woocommerce directory
|
243 |
+
|
244 |
+
= 2.4.1 =
|
245 |
+
* (PRO) FIX: Product selector compatability with select2 v4 (WooCommerce 3.0)
|
246 |
+
|
247 |
+
= 2.4.0 =
|
248 |
+
* FIX: WooCommerce 3.0.0 Compatibility
|
249 |
+
* INTERNAL: Also load textdomain from WP_LANG_DIR/woocommerce-jos-autocoupon/woocommerce-jos-autocoupon-LOCALE.mo
|
250 |
+
|
251 |
+
= 2.3.7.5 =
|
252 |
+
* FIX: Limit usage to cheapest discounting the wrong product when the quantity of cheapest product was greater than 1.
|
253 |
+
|
254 |
+
= 2.3.7.4 =
|
255 |
+
* FIX: Combining add-to-cart and apply_coupon in a single querystring
|
256 |
+
|
257 |
+
= 2.3.7.3 =
|
258 |
+
* FIX: Invalid usage of get_plugin_data
|
259 |
+
|
260 |
+
= 2.3.7.2 =
|
261 |
+
* FIX: Backwards compatibility with WooCommerce < 2.5.0
|
262 |
+
* INTERNAL: Introducing WJECF_WC() to maintain backwards compatibility
|
263 |
+
|
264 |
+
= 2.3.7.1 =
|
265 |
+
* (PRO) FIX: Bug in 'Limit discount to'
|
266 |
+
|
267 |
+
= 2.3.7 =
|
268 |
+
* PERFORMANCE: Admin could hang in some occasions on a jQuery-selector
|
269 |
+
* FIX: Suppresed warnings were displayed by the Query Monitor plugin if pro files are missing
|
270 |
+
* FIX: WPML Compatibility
|
271 |
+
* FIX: Invalid textdomain in woocommerce_coupon_error (Thanks, 7o599)
|
272 |
+
* (PRO) FIX: 'Limit discount to' skipped non-matching products on cart % discount
|
273 |
+
* (PRO) FEATURE: Limit discount to every nth (matching) item in the cart
|
274 |
+
|
275 |
+
= 2.3.6 =
|
276 |
+
* FIX: Compatibility with WooCommerce < 2.3.0 for coupon by url
|
277 |
+
* COSMETIC: On the admin page, moved AND/OR selector near the product/categories input
|
278 |
+
* (PRO) FEATURE: Filter matching products by custom field.
|
279 |
+
|
280 |
+
= 2.3.5 =
|
281 |
+
* (PRO) FIX: Workaround for missing WooCommerce 2.6.3 constant WC_ROUNDING_PRECISION
|
282 |
+
* (PRO) FIX: Refresh the cart when a coupon is applied/removed by AJAX (to add/remove free products)
|
283 |
+
|
284 |
+
= 2.3.4 =
|
285 |
+
* FIX: WooCommerce 2.6 and UPS / USPS Shipping method compatibility ( those plugins use : as separator )
|
286 |
+
* FIX: Coupon by url (hook on wp_loaded instead of init)
|
287 |
+
* FIX: Admin pages invalid parsing of Chosen inputboxes WooCommerce < 2.3.0
|
288 |
+
* FIX: Free product on WooCommerce < 2.3.0
|
289 |
+
* INTERNAL: Rewritten overwrite_success_message methods
|
290 |
+
* (PRO) Ajax 'Apply coupon' support for free product selection on cart and checkout page. (OVERRIDEABLE TEMPLATE FILES UPDATED!)
|
291 |
+
* (PRO) FEATURE: Remember coupons that are not valid when applying (on the cart page) and apply them automatically when they validate
|
292 |
+
|
293 |
+
= 2.3.3 =
|
294 |
+
* FIX: limit_usage_to_x_items: Removed call to get_discount_amount from coupon_has_a_value; it is redundant and caused limit_usage_to_x_items to change
|
295 |
+
* (PRO) FEATURE: Filters wjecf_free_product_amount_for_coupon, wjecf_bogo_product_amount_for_coupon and wjecf_set_free_product_amount_in_cart
|
296 |
+
* (PRO) FEATURE: Keep track of by-url-coupons (?apply_coupon=) and apply when they validate
|
297 |
+
* (PRO) FIX: Experimental feature 'Allow discount on cart with excluded items' didn't work since 2.2.3
|
298 |
+
* (PRO) FIX: Invalid free product quantity applied when using both BOGO and FREE products in a single coupon.
|
299 |
+
* (PRO) FIX: limit_usage_to_x_items: Possible wrong discount on combination of limit_usage_to_x_items and \_wjecf_apply_discount_to
|
300 |
+
|
301 |
+
= 2.3.2 =
|
302 |
+
* FEATURE: Display custom error message when coupon is invalidated by this plugin
|
303 |
+
* FIX: apply_coupon redirected to wrong url when home_url contained a subdirectory
|
304 |
+
* FIX: Remove add-to-cart when redirecting for apply_coupon
|
305 |
+
* FIX: Auto Coupon Backwards compatability for WooCommerce versions prior to 2.3.0 that don't have hook woocommerce_after_calculate_totals
|
306 |
+
* TRANSLATION: Persian. Thanks to Ehsan Shahnazi.
|
307 |
+
|
308 |
+
= 2.3.1.1 =
|
309 |
+
* TRANSLATION: Brazilian Portuguese. Thanks to Francisco.
|
310 |
+
|
311 |
+
= 2.3.1 =
|
312 |
+
* FIX: WPML Compatibility for AND Products / AND Categories
|
313 |
+
* FIX: Redirect to page without ?apply_coupon= after applying coupon by url
|
314 |
+
* FIX: Auto coupon meta_query issue (thanks to hwillson)
|
315 |
+
* FIX: Compatibility with WooCommerce prior to 2.2.9 (WC_Cart::get_cart_item)
|
316 |
+
* (PRO) FIX: Free products: Add variant attributes to cart items for variable products
|
317 |
+
* (PRO) FEATURE: Apply discount only to the cheapest product
|
318 |
+
|
319 |
+
= 2.3.0 =
|
320 |
+
* (PRO) FEATURE: Allow customer to choose a free product
|
321 |
+
* (PRO) FEATURE: Setting the priority of auto coupons (Useful for Individual use coupons)
|
322 |
+
* (PRO) FEATURE: Display extra columns on the Coupon Admin page (auto coupon, individual use, priority, free products)
|
323 |
+
* (PRO) TWEAK: Free products: Display 'Free!' as subtotal for free products, (adaptable with filter 'wjecf_free_cart_item_subtotal' )
|
324 |
+
* (PRO) FIX: Free products: Plugin wouldn't always detect the free products in cart and kept appending free products
|
325 |
+
* (PRO) Introduction of the API for developers, see wjecf-pro-api.php
|
326 |
+
* FEATURE: Filter to only display Auto Coupons on the Coupon Admin page
|
327 |
+
* FIX: Compatibilty PHP 5.4
|
328 |
+
* FIX: Rewritten and simplified Autocoupon removal/addition routine making it more robust
|
329 |
+
* FIX: Multiplier value calculation (as for now only used for Free Products)
|
330 |
+
* FIX: Coupon must never be valid for free products (_wjecf_free_product_coupon set in cart_item)
|
331 |
+
* INTERNAL: Refactoring of all classes
|
332 |
+
* INTERNAL: New log for debugging
|
333 |
+
|
334 |
+
= 2.2.5.1 =
|
335 |
+
* FIX: When checkbox 'Individual use' was ticked, Autocoupons would be removed/added multiple times
|
336 |
+
|
337 |
+
= 2.2.5 =
|
338 |
+
* (PRO) FEATURE: BOGO On all matching products
|
339 |
+
* FIX: Changed WooCommerce detection method for better Multi Site support
|
340 |
+
* (PRO) FIX: Free products: Fixed an inconsistency that could cause a loop on removal/adding of free variant products
|
341 |
+
* (PRO) TWEAK: Free products: Hooking before_calculate_totals for most cases but also on woocommerce_applied_coupon, which is required when one coupon is replaced by another
|
342 |
+
* INTERNAL: Check if classes already exist before creating them
|
343 |
+
|
344 |
+
= 2.2.4 =
|
345 |
+
* FEATURE: Online documentation added
|
346 |
+
* FEATURE: Use AND-operator for the selected categories (default is OR)
|
347 |
+
* FIX: Backwards compatibility with WooCommerce 2.3.7 (WC_Cart::is_empty)
|
348 |
+
* FIX: Backwards compatibility with WooCommerce < 2.3.0 (WC_Coupon::is_type, Chosen in stead of Select2)
|
349 |
+
|
350 |
+
= 2.2.3 =
|
351 |
+
* (PRO) FEATURE: Allow discount on cart with excluded items
|
352 |
+
* (PRO) FEATURE: Free products!
|
353 |
+
* FEATURE: Allow coupon in cart even if minimum spend not reached
|
354 |
+
* FEATURE: New coupon feature: Minimum / maximum price subtotal of matching products in the cart
|
355 |
+
* COSMETIC: Admin Extended coupon features in multiple tabs
|
356 |
+
* FIX: Create session cookie if no session was initialized when applying coupon by url
|
357 |
+
* TWEAK: Auto coupon: Use woocommerce_after_calculate_totals hook for update_matched_autocoupons
|
358 |
+
* API: New function: $wjecf_extended_coupon_features->get_quantity_of_matching_products( $coupon )
|
359 |
+
* API: New function: $wjecf_extended_coupon_features->get_subtotal_of_matching_products( $coupon )
|
360 |
+
|
361 |
+
= 2.2.1 =
|
362 |
+
* FIX: Prevent mulitple apply_coupon calls (for example through ajax)
|
363 |
+
* FIX: Don't redirect to cart when using WooCommerce's ?add-to-cart=xxx in combination with ?apply_coupon=xxx as this would prevent the application of the coupon.
|
364 |
+
|
365 |
+
= 2.2.0 =
|
366 |
+
* FIX: Lowered execution priority for apply_coupon by url for combinations with add-to-cart.
|
367 |
+
* FEATURE: New coupon feature: Excluded customer role restriction
|
368 |
+
* FEATURE: New coupon feature: Customer / customer role restriction
|
369 |
+
* FEATURE: New coupon feature: Minimum / maximum quantity of matching products in the cart
|
370 |
+
* FEATURE: New coupon feature: Allow auto coupons to be applied silently (without displaying a message)
|
371 |
+
* TWEAK: Moved all settings to the 'Extended features'-tab on the admin page.
|
372 |
+
* FIX: 2.0.0 broke compatibility with PHP versions older than 5.3
|
373 |
+
* FIX: Changed method to fetch email addresses for auto coupon with email address restriction
|
374 |
+
* FILTER: Filter wjecf_coupon_has_a_value (An auto coupon will not be applied if this returns false)
|
375 |
+
* FILTER: Filter wjecf_coupon_can_be_applied (An auto coupon will not be applied if this returns false)
|
376 |
+
* INTERNAL: db_version tracking for automatic updates
|
377 |
+
* INTERNAL: Consistent use of wjecf prefix.
|
378 |
+
* INTERNAL: Renamed meta_key woocommerce-jos-autocoupon to \_wjecf_is_auto_coupon
|
379 |
+
|
380 |
+
= 2.0.0 =
|
381 |
+
* RENAME: Renamed plugin from "WooCommerce auto added coupons" to "WooCommerce Extended Coupon Features"
|
382 |
+
* FEATURE: Restrict coupons by payment method
|
383 |
+
* FEATURE: Restrict coupons by shipping method
|
384 |
+
* FEATURE: Use AND-operator for the selected products (default is OR)
|
385 |
+
* FIX: Validate email restrictions for auto coupons
|
386 |
+
* Norwegian translation added (Thanks to Anders Zorensen)
|
387 |
+
|
388 |
+
= 1.1.5 =
|
389 |
+
* FIX: Cart total discount amount showing wrong discount value in newer WooCommerce versions (tax)
|
390 |
+
* Performance: get_all_auto_coupons select only where meta woocommerce_jos_autocoupon = yes (Thanks to ircary)
|
391 |
+
|
392 |
+
= 1.1.4 =
|
393 |
+
* Translation support through .mo / .po files
|
394 |
+
* Included translations: Dutch, German, Spanish (Thanks to stephan.sperling for the german translation)
|
395 |
+
|
396 |
+
= 1.1.3.1 =
|
397 |
+
* FIX: Apply auto coupon if discount is 0.00 and free shipping is ticked
|
398 |
+
|
399 |
+
= 1.1.3 =
|
400 |
+
* Don't apply coupon if the discount is 0.00
|
401 |
+
* Allow applying multiple coupons via an url using *?apply_coupon=coupon_code1,coupon_code2*
|
402 |
+
|
403 |
+
= 1.1.2 =
|
404 |
+
* Minor change to make the plugin compatible with WooCommerce 2.3.1
|
405 |
+
* Loop through coupons in ascending order
|
406 |
+
|
407 |
+
= 1.1.1 =
|
408 |
+
* Tested with Wordpress 4.0
|
409 |
+
|
410 |
+
= 1.1.0 =
|
411 |
+
* Allow applying coupon via an url using *?apply_coupon=coupon_code*
|
412 |
+
|
413 |
+
= 1.0.1 =
|
414 |
+
* Don't add the coupon if *Individual use only* is checked and another coupon is already applied.
|
415 |
+
|
416 |
+
= 1.0 =
|
417 |
+
* First version ever!
|
418 |
+
</code></pre>
|
419 |
+
|
420 |
+
</div>
|
421 |
+
</div>
|
422 |
+
<footer>
|
423 |
+
|
424 |
+
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
425 |
+
|
426 |
+
|
427 |
+
<a href="../development/" class="btn btn-neutral" title="Development"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
428 |
+
|
429 |
+
</div>
|
430 |
+
|
431 |
+
|
432 |
+
<hr/>
|
433 |
+
|
434 |
+
<div role="contentinfo">
|
435 |
+
<!-- Copyright etc -->
|
436 |
+
|
437 |
+
</div>
|
438 |
+
|
439 |
+
Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
440 |
+
</footer>
|
441 |
+
|
442 |
+
</div>
|
443 |
+
</div>
|
444 |
+
|
445 |
+
</section>
|
446 |
+
|
447 |
+
</div>
|
448 |
+
|
449 |
+
<div class="rst-versions" role="note" style="cursor: pointer">
|
450 |
+
<span class="rst-current-version" data-toggle="rst-current-version">
|
451 |
+
|
452 |
+
|
453 |
+
<span><a href="../development/" style="color: #fcfcfc;">« Previous</a></span>
|
454 |
+
|
455 |
+
|
456 |
+
</span>
|
457 |
+
</div>
|
458 |
+
<script>var base_url = '..';</script>
|
459 |
+
<script src="../js/theme.js"></script>
|
460 |
+
<script src="../search/require.js"></script>
|
461 |
+
<script src="../search/search.js"></script>
|
462 |
+
|
463 |
+
</body>
|
464 |
+
</html>
|
@@ -1,124 +1,124 @@
|
|
1 |
-
/*
|
2 |
-
This is the GitHub theme for highlight.js
|
3 |
-
|
4 |
-
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
5 |
-
|
6 |
-
*/
|
7 |
-
|
8 |
-
.hljs {
|
9 |
-
display: block;
|
10 |
-
overflow-x: auto;
|
11 |
-
color: #333;
|
12 |
-
-webkit-text-size-adjust: none;
|
13 |
-
}
|
14 |
-
|
15 |
-
.hljs-comment,
|
16 |
-
.diff .hljs-header,
|
17 |
-
.hljs-javadoc {
|
18 |
-
color: #998;
|
19 |
-
font-style: italic;
|
20 |
-
}
|
21 |
-
|
22 |
-
.hljs-keyword,
|
23 |
-
.css .rule .hljs-keyword,
|
24 |
-
.hljs-winutils,
|
25 |
-
.nginx .hljs-title,
|
26 |
-
.hljs-subst,
|
27 |
-
.hljs-request,
|
28 |
-
.hljs-status {
|
29 |
-
color: #333;
|
30 |
-
font-weight: bold;
|
31 |
-
}
|
32 |
-
|
33 |
-
.hljs-number,
|
34 |
-
.hljs-hexcolor,
|
35 |
-
.ruby .hljs-constant {
|
36 |
-
color: #008080;
|
37 |
-
}
|
38 |
-
|
39 |
-
.hljs-string,
|
40 |
-
.hljs-tag .hljs-value,
|
41 |
-
.hljs-phpdoc,
|
42 |
-
.hljs-dartdoc,
|
43 |
-
.tex .hljs-formula {
|
44 |
-
color: #d14;
|
45 |
-
}
|
46 |
-
|
47 |
-
.hljs-title,
|
48 |
-
.hljs-id,
|
49 |
-
.scss .hljs-preprocessor {
|
50 |
-
color: #900;
|
51 |
-
font-weight: bold;
|
52 |
-
}
|
53 |
-
|
54 |
-
.hljs-list .hljs-keyword,
|
55 |
-
.hljs-subst {
|
56 |
-
font-weight: normal;
|
57 |
-
}
|
58 |
-
|
59 |
-
.hljs-class .hljs-title,
|
60 |
-
.hljs-type,
|
61 |
-
.vhdl .hljs-literal,
|
62 |
-
.tex .hljs-command {
|
63 |
-
color: #458;
|
64 |
-
font-weight: bold;
|
65 |
-
}
|
66 |
-
|
67 |
-
.hljs-tag,
|
68 |
-
.hljs-tag .hljs-title,
|
69 |
-
.hljs-rule .hljs-property,
|
70 |
-
.django .hljs-tag .hljs-keyword {
|
71 |
-
color: #000080;
|
72 |
-
font-weight: normal;
|
73 |
-
}
|
74 |
-
|
75 |
-
.hljs-attribute,
|
76 |
-
.hljs-variable,
|
77 |
-
.lisp .hljs-body,
|
78 |
-
.hljs-name {
|
79 |
-
color: #008080;
|
80 |
-
}
|
81 |
-
|
82 |
-
.hljs-regexp {
|
83 |
-
color: #009926;
|
84 |
-
}
|
85 |
-
|
86 |
-
.hljs-symbol,
|
87 |
-
.ruby .hljs-symbol .hljs-string,
|
88 |
-
.lisp .hljs-keyword,
|
89 |
-
.clojure .hljs-keyword,
|
90 |
-
.scheme .hljs-keyword,
|
91 |
-
.tex .hljs-special,
|
92 |
-
.hljs-prompt {
|
93 |
-
color: #990073;
|
94 |
-
}
|
95 |
-
|
96 |
-
.hljs-built_in {
|
97 |
-
color: #0086b3;
|
98 |
-
}
|
99 |
-
|
100 |
-
.hljs-preprocessor,
|
101 |
-
.hljs-pragma,
|
102 |
-
.hljs-pi,
|
103 |
-
.hljs-doctype,
|
104 |
-
.hljs-shebang,
|
105 |
-
.hljs-cdata {
|
106 |
-
color: #999;
|
107 |
-
font-weight: bold;
|
108 |
-
}
|
109 |
-
|
110 |
-
.hljs-deletion {
|
111 |
-
background: #fdd;
|
112 |
-
}
|
113 |
-
|
114 |
-
.hljs-addition {
|
115 |
-
background: #dfd;
|
116 |
-
}
|
117 |
-
|
118 |
-
.diff .hljs-change {
|
119 |
-
background: #0086b3;
|
120 |
-
}
|
121 |
-
|
122 |
-
.hljs-chunk {
|
123 |
-
color: #aaa;
|
124 |
-
}
|
1 |
+
/*
|
2 |
+
This is the GitHub theme for highlight.js
|
3 |
+
|
4 |
+
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
5 |
+
|
6 |
+
*/
|
7 |
+
|
8 |
+
.hljs {
|
9 |
+
display: block;
|
10 |
+
overflow-x: auto;
|
11 |
+
color: #333;
|
12 |
+
-webkit-text-size-adjust: none;
|
13 |
+
}
|
14 |
+
|
15 |
+
.hljs-comment,
|
16 |
+
.diff .hljs-header,
|
17 |
+
.hljs-javadoc {
|
18 |
+
color: #998;
|
19 |
+
font-style: italic;
|
20 |
+
}
|
21 |
+
|
22 |
+
.hljs-keyword,
|
23 |
+
.css .rule .hljs-keyword,
|
24 |
+
.hljs-winutils,
|
25 |
+
.nginx .hljs-title,
|
26 |
+
.hljs-subst,
|
27 |
+
.hljs-request,
|
28 |
+
.hljs-status {
|
29 |
+
color: #333;
|
30 |
+
font-weight: bold;
|
31 |
+
}
|
32 |
+
|
33 |
+
.hljs-number,
|
34 |
+
.hljs-hexcolor,
|
35 |
+
.ruby .hljs-constant {
|
36 |
+
color: #008080;
|
37 |
+
}
|
38 |
+
|
39 |
+
.hljs-string,
|
40 |
+
.hljs-tag .hljs-value,
|
41 |
+
.hljs-phpdoc,
|
42 |
+
.hljs-dartdoc,
|
43 |
+
.tex .hljs-formula {
|
44 |
+
color: #d14;
|
45 |
+
}
|
46 |
+
|
47 |
+
.hljs-title,
|
48 |
+
.hljs-id,
|
49 |
+
.scss .hljs-preprocessor {
|
50 |
+
color: #900;
|
51 |
+
font-weight: bold;
|
52 |
+
}
|
53 |
+
|
54 |
+
.hljs-list .hljs-keyword,
|
55 |
+
.hljs-subst {
|
56 |
+
font-weight: normal;
|
57 |
+
}
|
58 |
+
|
59 |
+
.hljs-class .hljs-title,
|
60 |
+
.hljs-type,
|
61 |
+
.vhdl .hljs-literal,
|
62 |
+
.tex .hljs-command {
|
63 |
+
color: #458;
|
64 |
+
font-weight: bold;
|
65 |
+
}
|
66 |
+
|
67 |
+
.hljs-tag,
|
68 |
+
.hljs-tag .hljs-title,
|
69 |
+
.hljs-rule .hljs-property,
|
70 |
+
.django .hljs-tag .hljs-keyword {
|
71 |
+
color: #000080;
|
72 |
+
font-weight: normal;
|
73 |
+
}
|
74 |
+
|
75 |
+
.hljs-attribute,
|
76 |
+
.hljs-variable,
|
77 |
+
.lisp .hljs-body,
|
78 |
+
.hljs-name {
|
79 |
+
color: #008080;
|
80 |
+
}
|
81 |
+
|
82 |
+
.hljs-regexp {
|
83 |
+
color: #009926;
|
84 |
+
}
|
85 |
+
|
86 |
+
.hljs-symbol,
|
87 |
+
.ruby .hljs-symbol .hljs-string,
|
88 |
+
.lisp .hljs-keyword,
|
89 |
+
.clojure .hljs-keyword,
|
90 |
+
.scheme .hljs-keyword,
|
91 |
+
.tex .hljs-special,
|
92 |
+
.hljs-prompt {
|
93 |
+
color: #990073;
|
94 |
+
}
|
95 |
+
|
96 |
+
.hljs-built_in {
|
97 |
+
color: #0086b3;
|
98 |
+
}
|
99 |
+
|
100 |
+
.hljs-preprocessor,
|
101 |
+
.hljs-pragma,
|
102 |
+
.hljs-pi,
|
103 |
+
.hljs-doctype,
|
104 |
+
.hljs-shebang,
|
105 |
+
.hljs-cdata {
|
106 |
+
color: #999;
|
107 |
+
font-weight: bold;
|
108 |
+
}
|
109 |
+
|
110 |
+
.hljs-deletion {
|
111 |
+
background: #fdd;
|
112 |
+
}
|
113 |
+
|
114 |
+
.hljs-addition {
|
115 |
+
background: #dfd;
|
116 |
+
}
|
117 |
+
|
118 |
+
.diff .hljs-change {
|
119 |
+
background: #0086b3;
|
120 |
+
}
|
121 |
+
|
122 |
+
.hljs-chunk {
|
123 |
+
color: #aaa;
|
124 |
+
}
|
@@ -1,12 +1,12 @@
|
|
1 |
-
/*
|
2 |
-
* This file is copied from the upstream ReadTheDocs Sphinx
|
3 |
-
* theme. To aid upgradability this file should *not* be edited.
|
4 |
-
* modifications we need should be included in theme_extra.css.
|
5 |
-
*
|
6 |
-
* https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/core/static/core/css/theme.css
|
7 |
-
*/
|
8 |
-
|
9 |
-
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}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-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*!
|
10 |
-
* Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
|
11 |
-
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
|
12 |
-
*/@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.1.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.pull-left.icon{margin-right:.3em}.fa.pull-right,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-square:before,.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .icon,.nav .fa,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .icon{display:inline}.btn .fa.fa-large,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#999;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:0.3125em;font-style:italic}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#f3f6f6;color:#cad2d3}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fff;color:#cad2d3;border-color:transparent}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{padding:6px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical header{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#2980B9;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-side-nav-search{z-index:200;background-color:#2980B9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:absolute;top:0;left:0;width:300px;overflow:hidden;min-height:100%;background:#343131;z-index:200}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}nav.stickynav{position:fixed;top:0}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt{color:#000}.rst-content tt big,.rst-content tt em{font-size:100% !important;line-height:normal}.rst-content tt .xref,a .rst-content tt{font-weight:bold}.rst-content a tt{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:gray}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}
|
1 |
+
/*
|
2 |
+
* This file is copied from the upstream ReadTheDocs Sphinx
|
3 |
+
* theme. To aid upgradability this file should *not* be edited.
|
4 |
+
* modifications we need should be included in theme_extra.css.
|
5 |
+
*
|
6 |
+
* https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/core/static/core/css/theme.css
|
7 |
+
*/
|
8 |
+
|
9 |
+
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}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-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*!
|
10 |
+
* Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
|
11 |
+
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
|
12 |
+
*/@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.1.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.pull-left.icon{margin-right:.3em}.fa.pull-right,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-square:before,.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .icon,.nav .fa,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .icon{display:inline}.btn .fa.fa-large,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#999;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:0.3125em;font-style:italic}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#f3f6f6;color:#cad2d3}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fff;color:#cad2d3;border-color:transparent}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{padding:6px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical header{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#2980B9;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-side-nav-search{z-index:200;background-color:#2980B9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:absolute;top:0;left:0;width:300px;overflow:hidden;min-height:100%;background:#343131;z-index:200}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}nav.stickynav{position:fixed;top:0}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt{color:#000}.rst-content tt big,.rst-content tt em{font-size:100% !important;line-height:normal}.rst-content tt .xref,a .rst-content tt{font-weight:bold}.rst-content a tt{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:gray}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}
|
@@ -1,194 +1,194 @@
|
|
1 |
-
/*
|
2 |
-
* Sphinx doesn't have support for section dividers like we do in
|
3 |
-
* MkDocs, this styles the section titles in the nav
|
4 |
-
*
|
5 |
-
* https://github.com/mkdocs/mkdocs/issues/175
|
6 |
-
*/
|
7 |
-
.wy-menu-vertical span {
|
8 |
-
line-height: 18px;
|
9 |
-
padding: 0.4045em 1.618em;
|
10 |
-
display: block;
|
11 |
-
position: relative;
|
12 |
-
font-size: 90%;
|
13 |
-
color: #838383;
|
14 |
-
}
|
15 |
-
|
16 |
-
.wy-menu-vertical .subnav a {
|
17 |
-
padding: 0.4045em 2.427em;
|
18 |
-
}
|
19 |
-
|
20 |
-
/*
|
21 |
-
* Long navigations run off the bottom of the screen as the nav
|
22 |
-
* area doesn't scroll.
|
23 |
-
*
|
24 |
-
* https://github.com/mkdocs/mkdocs/pull/202
|
25 |
-
*
|
26 |
-
* Builds upon pull 202 https://github.com/mkdocs/mkdocs/pull/202
|
27 |
-
* to make toc scrollbar end before navigations buttons to not be overlapping.
|
28 |
-
*/
|
29 |
-
.wy-nav-side {
|
30 |
-
height: calc(100% - 45px);
|
31 |
-
overflow-y: auto;
|
32 |
-
min-height: 0;
|
33 |
-
}
|
34 |
-
|
35 |
-
.rst-versions{
|
36 |
-
border-top: 0;
|
37 |
-
height: 45px;
|
38 |
-
}
|
39 |
-
|
40 |
-
@media screen and (max-width: 768px) {
|
41 |
-
.wy-nav-side {
|
42 |
-
height: 100%;
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
/*
|
47 |
-
* readthedocs theme hides nav items when the window height is
|
48 |
-
* too small to contain them.
|
49 |
-
*
|
50 |
-
* https://github.com/mkdocs/mkdocs/issues/#348
|
51 |
-
*/
|
52 |
-
.wy-menu-vertical ul {
|
53 |
-
margin-bottom: 2em;
|
54 |
-
}
|
55 |
-
|
56 |
-
/*
|
57 |
-
* Wrap inline code samples otherwise they shoot of the side and
|
58 |
-
* can't be read at all.
|
59 |
-
*
|
60 |
-
* https://github.com/mkdocs/mkdocs/issues/313
|
61 |
-
* https://github.com/mkdocs/mkdocs/issues/233
|
62 |
-
* https://github.com/mkdocs/mkdocs/issues/834
|
63 |
-
*/
|
64 |
-
code {
|
65 |
-
white-space: pre-wrap;
|
66 |
-
word-wrap: break-word;
|
67 |
-
padding: 2px 5px;
|
68 |
-
}
|
69 |
-
|
70 |
-
/**
|
71 |
-
* Make code blocks display as blocks and give them the appropriate
|
72 |
-
* font size and padding.
|
73 |
-
*
|
74 |
-
* https://github.com/mkdocs/mkdocs/issues/855
|
75 |
-
* https://github.com/mkdocs/mkdocs/issues/834
|
76 |
-
* https://github.com/mkdocs/mkdocs/issues/233
|
77 |
-
*/
|
78 |
-
pre code {
|
79 |
-
white-space: pre;
|
80 |
-
word-wrap: normal;
|
81 |
-
display: block;
|
82 |
-
padding: 12px;
|
83 |
-
font-size: 12px;
|
84 |
-
}
|
85 |
-
|
86 |
-
/*
|
87 |
-
* Fix link colors when the link text is inline code.
|
88 |
-
*
|
89 |
-
* https://github.com/mkdocs/mkdocs/issues/718
|
90 |
-
*/
|
91 |
-
a code {
|
92 |
-
color: #2980B9;
|
93 |
-
}
|
94 |
-
a:hover code {
|
95 |
-
color: #3091d1;
|
96 |
-
}
|
97 |
-
a:visited code {
|
98 |
-
color: #9B59B6;
|
99 |
-
}
|
100 |
-
|
101 |
-
/*
|
102 |
-
* The CSS classes from highlight.js seem to clash with the
|
103 |
-
* ReadTheDocs theme causing some code to be incorrectly made
|
104 |
-
* bold and italic.
|
105 |
-
*
|
106 |
-
* https://github.com/mkdocs/mkdocs/issues/411
|
107 |
-
*/
|
108 |
-
pre .cs, pre .c {
|
109 |
-
font-weight: inherit;
|
110 |
-
font-style: inherit;
|
111 |
-
}
|
112 |
-
|
113 |
-
/*
|
114 |
-
* Fix some issues with the theme and non-highlighted code
|
115 |
-
* samples. Without and highlighting styles attached the
|
116 |
-
* formatting is broken.
|
117 |
-
*
|
118 |
-
* https://github.com/mkdocs/mkdocs/issues/319
|
119 |
-
*/
|
120 |
-
.no-highlight {
|
121 |
-
display: block;
|
122 |
-
padding: 0.5em;
|
123 |
-
color: #333;
|
124 |
-
}
|
125 |
-
|
126 |
-
|
127 |
-
/*
|
128 |
-
* Additions specific to the search functionality provided by MkDocs
|
129 |
-
*/
|
130 |
-
|
131 |
-
.search-results article {
|
132 |
-
margin-top: 23px;
|
133 |
-
border-top: 1px solid #E1E4E5;
|
134 |
-
padding-top: 24px;
|
135 |
-
}
|
136 |
-
|
137 |
-
.search-results article:first-child {
|
138 |
-
border-top: none;
|
139 |
-
}
|
140 |
-
|
141 |
-
form .search-query {
|
142 |
-
width: 100%;
|
143 |
-
border-radius: 50px;
|
144 |
-
padding: 6px 12px; /* csslint allow: box-model */
|
145 |
-
border-color: #D1D4D5;
|
146 |
-
}
|
147 |
-
|
148 |
-
.wy-menu-vertical li ul {
|
149 |
-
display: inherit;
|
150 |
-
}
|
151 |
-
|
152 |
-
.wy-menu-vertical li ul.subnav ul.subnav{
|
153 |
-
padding-left: 1em;
|
154 |
-
}
|
155 |
-
|
156 |
-
.wy-menu-vertical .subnav li.current > a {
|
157 |
-
padding-left: 2.42em;
|
158 |
-
}
|
159 |
-
.wy-menu-vertical .subnav li.current > ul li a {
|
160 |
-
padding-left: 3.23em;
|
161 |
-
}
|
162 |
-
|
163 |
-
/*
|
164 |
-
* Improve inline code blocks within admonitions.
|
165 |
-
*
|
166 |
-
* https://github.com/mkdocs/mkdocs/issues/656
|
167 |
-
*/
|
168 |
-
.admonition code {
|
169 |
-
color: #404040;
|
170 |
-
border: 1px solid #c7c9cb;
|
171 |
-
border: 1px solid rgba(0, 0, 0, 0.2);
|
172 |
-
background: #f8fbfd;
|
173 |
-
background: rgba(255, 255, 255, 0.7);
|
174 |
-
}
|
175 |
-
|
176 |
-
/*
|
177 |
-
* Account for wide tables which go off the side.
|
178 |
-
* Override borders to avoid wierdness on narrow tables.
|
179 |
-
*
|
180 |
-
* https://github.com/mkdocs/mkdocs/issues/834
|
181 |
-
* https://github.com/mkdocs/mkdocs/pull/1034
|
182 |
-
*/
|
183 |
-
.rst-content .section .docutils {
|
184 |
-
width: 100%;
|
185 |
-
overflow: auto;
|
186 |
-
display: block;
|
187 |
-
border: none;
|
188 |
-
}
|
189 |
-
|
190 |
-
td, th {
|
191 |
-
border: 1px solid #e1e4e5 !important; /* csslint allow: important */
|
192 |
-
border-collapse: collapse;
|
193 |
-
}
|
194 |
-
|
1 |
+
/*
|
2 |
+
* Sphinx doesn't have support for section dividers like we do in
|
3 |
+
* MkDocs, this styles the section titles in the nav
|
4 |
+
*
|
5 |
+
* https://github.com/mkdocs/mkdocs/issues/175
|
6 |
+
*/
|
7 |
+
.wy-menu-vertical span {
|
8 |
+
line-height: 18px;
|
9 |
+
padding: 0.4045em 1.618em;
|
10 |
+
display: block;
|
11 |
+
position: relative;
|
12 |
+
font-size: 90%;
|
13 |
+
color: #838383;
|
14 |
+
}
|
15 |
+
|
16 |
+
.wy-menu-vertical .subnav a {
|
17 |
+
padding: 0.4045em 2.427em;
|
18 |
+
}
|
19 |
+
|
20 |
+
/*
|
21 |
+
* Long navigations run off the bottom of the screen as the nav
|
22 |
+
* area doesn't scroll.
|
23 |
+
*
|
24 |
+
* https://github.com/mkdocs/mkdocs/pull/202
|
25 |
+
*
|
26 |
+
* Builds upon pull 202 https://github.com/mkdocs/mkdocs/pull/202
|
27 |
+
* to make toc scrollbar end before navigations buttons to not be overlapping.
|
28 |
+
*/
|
29 |
+
.wy-nav-side {
|
30 |
+
height: calc(100% - 45px);
|
31 |
+
overflow-y: auto;
|
32 |
+
min-height: 0;
|
33 |
+
}
|
34 |
+
|
35 |
+
.rst-versions{
|
36 |
+
border-top: 0;
|
37 |
+
height: 45px;
|
38 |
+
}
|
39 |
+
|
40 |
+
@media screen and (max-width: 768px) {
|
41 |
+
.wy-nav-side {
|
42 |
+
height: 100%;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
/*
|
47 |
+
* readthedocs theme hides nav items when the window height is
|
48 |
+
* too small to contain them.
|
49 |
+
*
|
50 |
+
* https://github.com/mkdocs/mkdocs/issues/#348
|
51 |
+
*/
|
52 |
+
.wy-menu-vertical ul {
|
53 |
+
margin-bottom: 2em;
|
54 |
+
}
|
55 |
+
|
56 |
+
/*
|
57 |
+
* Wrap inline code samples otherwise they shoot of the side and
|
58 |
+
* can't be read at all.
|
59 |
+
*
|
60 |
+
* https://github.com/mkdocs/mkdocs/issues/313
|
61 |
+
* https://github.com/mkdocs/mkdocs/issues/233
|
62 |
+
* https://github.com/mkdocs/mkdocs/issues/834
|
63 |
+
*/
|
64 |
+
code {
|
65 |
+
white-space: pre-wrap;
|
66 |
+
word-wrap: break-word;
|
67 |
+
padding: 2px 5px;
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Make code blocks display as blocks and give them the appropriate
|
72 |
+
* font size and padding.
|
73 |
+
*
|
74 |
+
* https://github.com/mkdocs/mkdocs/issues/855
|
75 |
+
* https://github.com/mkdocs/mkdocs/issues/834
|
76 |
+
* https://github.com/mkdocs/mkdocs/issues/233
|
77 |
+
*/
|
78 |
+
pre code {
|
79 |
+
white-space: pre;
|
80 |
+
word-wrap: normal;
|
81 |
+
display: block;
|
82 |
+
padding: 12px;
|
83 |
+
font-size: 12px;
|
84 |
+
}
|
85 |
+
|
86 |
+
/*
|
87 |
+
* Fix link colors when the link text is inline code.
|
88 |
+
*
|
89 |
+
* https://github.com/mkdocs/mkdocs/issues/718
|
90 |
+
*/
|
91 |
+
a code {
|
92 |
+
color: #2980B9;
|
93 |
+
}
|
94 |
+
a:hover code {
|
95 |
+
color: #3091d1;
|
96 |
+
}
|
97 |
+
a:visited code {
|
98 |
+
color: #9B59B6;
|
99 |
+
}
|
100 |
+
|
101 |
+
/*
|
102 |
+
* The CSS classes from highlight.js seem to clash with the
|
103 |
+
* ReadTheDocs theme causing some code to be incorrectly made
|
104 |
+
* bold and italic.
|
105 |
+
*
|
106 |
+
* https://github.com/mkdocs/mkdocs/issues/411
|
107 |
+
*/
|
108 |
+
pre .cs, pre .c {
|
109 |
+
font-weight: inherit;
|
110 |
+
font-style: inherit;
|
111 |
+
}
|
112 |
+
|
113 |
+
/*
|
114 |
+
* Fix some issues with the theme and non-highlighted code
|
115 |
+
* samples. Without and highlighting styles attached the
|
116 |
+
* formatting is broken.
|
117 |
+
*
|
118 |
+
* https://github.com/mkdocs/mkdocs/issues/319
|
119 |
+
*/
|
120 |
+
.no-highlight {
|
121 |
+
display: block;
|
122 |
+
padding: 0.5em;
|
123 |
+
color: #333;
|
124 |
+
}
|
125 |
+
|
126 |
+
|
127 |
+
/*
|
128 |
+
* Additions specific to the search functionality provided by MkDocs
|
129 |
+
*/
|
130 |
+
|
131 |
+
.search-results article {
|
132 |
+
margin-top: 23px;
|
133 |
+
border-top: 1px solid #E1E4E5;
|
134 |
+
padding-top: 24px;
|
135 |
+
}
|
136 |
+
|
137 |
+
.search-results article:first-child {
|
138 |
+
border-top: none;
|
139 |
+
}
|
140 |
+
|
141 |
+
form .search-query {
|
142 |
+
width: 100%;
|
143 |
+
border-radius: 50px;
|
144 |
+
padding: 6px 12px; /* csslint allow: box-model */
|
145 |
+
border-color: #D1D4D5;
|
146 |
+
}
|
147 |
+
|
148 |
+
.wy-menu-vertical li ul {
|
149 |
+
display: inherit;
|
150 |
+
}
|
151 |
+
|
152 |
+
.wy-menu-vertical li ul.subnav ul.subnav{
|
153 |
+
padding-left: 1em;
|
154 |
+
}
|
155 |
+
|
156 |
+
.wy-menu-vertical .subnav li.current > a {
|
157 |
+
padding-left: 2.42em;
|
158 |
+
}
|
159 |
+
.wy-menu-vertical .subnav li.current > ul li a {
|
160 |
+
padding-left: 3.23em;
|
161 |
+
}
|
162 |
+
|
163 |
+
/*
|
164 |
+
* Improve inline code blocks within admonitions.
|
165 |
+
*
|
166 |
+
* https://github.com/mkdocs/mkdocs/issues/656
|
167 |
+
*/
|
168 |
+
.admonition code {
|
169 |
+
color: #404040;
|
170 |
+
border: 1px solid #c7c9cb;
|
171 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
172 |
+
background: #f8fbfd;
|
173 |
+
background: rgba(255, 255, 255, 0.7);
|
174 |
+
}
|
175 |
+
|
176 |
+
/*
|
177 |
+
* Account for wide tables which go off the side.
|
178 |
+
* Override borders to avoid wierdness on narrow tables.
|
179 |
+
*
|
180 |
+
* https://github.com/mkdocs/mkdocs/issues/834
|
181 |
+
* https://github.com/mkdocs/mkdocs/pull/1034
|
182 |
+
*/
|
183 |
+
.rst-content .section .docutils {
|
184 |
+
width: 100%;
|
185 |
+
overflow: auto;
|
186 |
+
display: block;
|
187 |
+
border: none;
|
188 |
+
}
|
189 |
+
|
190 |
+
td, th {
|
191 |
+
border: 1px solid #e1e4e5 !important; /* csslint allow: important */
|
192 |
+
border-collapse: collapse;
|
193 |
+
}
|
194 |
+
|
@@ -1,339 +1,339 @@
|
|
1 |
-
<!DOCTYPE html>
|
2 |
-
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
3 |
-
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
4 |
-
<head>
|
5 |
-
<meta charset="utf-8">
|
6 |
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7 |
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8 |
-
|
9 |
-
|
10 |
-
<link rel="shortcut icon" href="../img/favicon.ico">
|
11 |
-
<title>Development - Soft79 Documentation</title>
|
12 |
-
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
13 |
-
|
14 |
-
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
|
15 |
-
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
|
16 |
-
<link rel="stylesheet" href="../css/highlight.css">
|
17 |
-
<link href="../css/jos.css" rel="stylesheet">
|
18 |
-
|
19 |
-
<script>
|
20 |
-
// Current page data
|
21 |
-
var mkdocs_page_name = "Development";
|
22 |
-
var mkdocs_page_input_path = "development.md";
|
23 |
-
var mkdocs_page_url = "/development/";
|
24 |
-
</script>
|
25 |
-
|
26 |
-
<script src="../js/jquery-2.1.1.min.js"></script>
|
27 |
-
<script src="../js/modernizr-2.8.3.min.js"></script>
|
28 |
-
<script type="text/javascript" src="../js/highlight.pack.js"></script>
|
29 |
-
|
30 |
-
</head>
|
31 |
-
|
32 |
-
<body class="wy-body-for-nav" role="document">
|
33 |
-
|
34 |
-
<div class="wy-grid-for-nav">
|
35 |
-
|
36 |
-
|
37 |
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
38 |
-
<div class="wy-side-nav-search">
|
39 |
-
<a href=".." class="icon icon-home"> Soft79 Documentation</a>
|
40 |
-
<div role="search">
|
41 |
-
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
42 |
-
<input type="text" name="q" placeholder="Search docs" />
|
43 |
-
</form>
|
44 |
-
</div>
|
45 |
-
</div>
|
46 |
-
|
47 |
-
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
48 |
-
<ul class="current">
|
49 |
-
|
50 |
-
|
51 |
-
<li class="toctree-l1">
|
52 |
-
|
53 |
-
<span class="caption-text">WooCommerce Extended Coupon Features</span>
|
54 |
-
<ul class="subnav">
|
55 |
-
<li class="">
|
56 |
-
|
57 |
-
<a class="" href="..">About</a>
|
58 |
-
</li>
|
59 |
-
<li class="">
|
60 |
-
|
61 |
-
<a class="" href="../usage/">Usage</a>
|
62 |
-
</li>
|
63 |
-
<li class=" current">
|
64 |
-
|
65 |
-
<a class="current" href="./">Development</a>
|
66 |
-
<ul class="subnav">
|
67 |
-
|
68 |
-
<li class="toctree-l3"><a href="#filters-and-actions">Filters and Actions</a></li>
|
69 |
-
|
70 |
-
|
71 |
-
<li class="toctree-l3"><a href="#api-functions">API Functions</a></li>
|
72 |
-
|
73 |
-
|
74 |
-
<li class="toctree-l3"><a href="#create-mini-plugins-for-extended-coupon-features">Create mini-plugins for Extended Coupon Features</a></li>
|
75 |
-
|
76 |
-
|
77 |
-
</ul>
|
78 |
-
</li>
|
79 |
-
<li class="">
|
80 |
-
|
81 |
-
<a class="" href="../changelog/">Changelog</a>
|
82 |
-
</li>
|
83 |
-
</ul>
|
84 |
-
</li>
|
85 |
-
|
86 |
-
</ul>
|
87 |
-
</div>
|
88 |
-
|
89 |
-
</nav>
|
90 |
-
|
91 |
-
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
92 |
-
|
93 |
-
|
94 |
-
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
95 |
-
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
96 |
-
<a href="..">Soft79 Documentation</a>
|
97 |
-
</nav>
|
98 |
-
|
99 |
-
|
100 |
-
<div class="wy-nav-content">
|
101 |
-
<div class="rst-content">
|
102 |
-
<div role="navigation" aria-label="breadcrumbs navigation">
|
103 |
-
<ul class="wy-breadcrumbs">
|
104 |
-
<li><a href="..">Docs</a> »</li>
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
<li>WooCommerce Extended Coupon Features »</li>
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
<li>Development</li>
|
113 |
-
<li class="wy-breadcrumbs-aside">
|
114 |
-
|
115 |
-
</li>
|
116 |
-
</ul>
|
117 |
-
<hr/>
|
118 |
-
</div>
|
119 |
-
<div role="main">
|
120 |
-
<div class="section">
|
121 |
-
|
122 |
-
<h1 id="filters-and-actions">Filters and Actions</h1>
|
123 |
-
<p>These filters are called by WooCommerce Extended Coupon Features:</p>
|
124 |
-
<pre><code class="php">apply_filters( 'wjecf_bogo_product_amount_for_coupon', $qty, $coupon );
|
125 |
-
apply_filters( 'wjecf_set_free_product_amount_in_cart', $quantity, $product );
|
126 |
-
apply_filters( 'wjecf_free_product_amount_for_coupon', $coupon_qty, $coupon );
|
127 |
-
apply_filters( 'wjecf_free_cart_item_price', __('Free!', 'woocommerce'), $price_html, $cart_item, $cart_item_key );
|
128 |
-
apply_filters( 'wjecf_free_cart_item_subtotal', __('Free!', 'woocommerce'), $price_html, $cart_item, $cart_item_key );
|
129 |
-
apply_filters( 'wjecf_coupon_can_be_applied', $can_be_applied, $coupon );
|
130 |
-
apply_filters( 'wjecf_coupon_has_a_value', $has_a_value, $coupon );
|
131 |
-
</code></pre>
|
132 |
-
|
133 |
-
<p>These actions are called by WooCommerce Extended Coupon Features:</p>
|
134 |
-
<pre><code class="php">do_action( 'wjecf_coupon_metabox_checkout', $thepostid, $post );
|
135 |
-
do_action( 'wjecf_coupon_metabox_customer', $thepostid, $post );
|
136 |
-
do_action( 'wjecf_woocommerce_coupon_options_extended_features', $thepostid, $post );
|
137 |
-
do_action( 'wjecf_coupon_metabox_misc', $thepostid, $post );
|
138 |
-
do_action( 'wjecf_coupon_metabox_products', $thepostid, $post );
|
139 |
-
do_action( 'wjecf_coupon_metabox_free_products', $thepostid, $post );
|
140 |
-
do_action( 'wjecf_init_plugins');
|
141 |
-
do_action( 'wjecf_assert_coupon_is_valid', $coupon );
|
142 |
-
</code></pre>
|
143 |
-
|
144 |
-
<h1 id="api-functions">API Functions</h1>
|
145 |
-
<p>The API functions are in WJECF_Pro_Api.php and can be called using <code>WJECF_API()->function_name()</code>.</p>
|
146 |
-
<p>Documentation is not yet available, but see <em>wjecf-pro-api-example.php</em> for reference.</p>
|
147 |
-
<h1 id="create-mini-plugins-for-extended-coupon-features">Create mini-plugins for Extended Coupon Features</h1>
|
148 |
-
<p>You can further extend functionality of WooCommerce Extended Coupon Features by creating your own mini-plugins.</p>
|
149 |
-
<ol>
|
150 |
-
<li>Hook into the <code>wjecf_init_plugins</code>-action. (Using this hook guarantees that the WooCommerce and WooCommerce Extended Coupon Features plugins are loaded)</li>
|
151 |
-
<li>Here, create a class that extends <code>Abstract_WJECF_Plugin</code>.</li>
|
152 |
-
<li>Create a constructor <code>__construct()</code>, where you setup the plugin data by calling <code>$this->set_plugin_data</code></li>
|
153 |
-
<li>Create a function <code>init_hook()</code>, where you setup your plugin and define frontend hooks.</li>
|
154 |
-
<li>Create a function <code>init_admin_hook()</code>, where you setup your plugin for admin usage and define admin hooks.</li>
|
155 |
-
<li>
|
156 |
-
<p>(Version 2.5.1+ only) If your plugin need to handle custom meta fields, use the WooCommerce meta box functions (e.g. <code>woocommerce_wp_select</code>).</p>
|
157 |
-
<p>To handle the sanitization of these fields, create a function <code>admin_coupon_meta_fields( $coupon )</code>
|
158 |
-
and have it return an array <code>[ 'field_name' => 'sanitization', ... ]</code> .</p>
|
159 |
-
<p>Upon saving a coupon, these fields will be automatically read from <code>$_POST</code> and sanitized with the given sanitization method,
|
160 |
-
e.g. <code>'int'</code>, <code>'int[]'</code>, <code>'yesno'</code>, <code>'decimal'</code>, <code>'clean'</code> or even a callback: <code>[ 'callback' => callback ]</code> and saved to the current coupon. </p>
|
161 |
-
<p>For versions prior to 2.5.1, you need to handle process_shop_coupon_meta yourself.</p>
|
162 |
-
</li>
|
163 |
-
<li>
|
164 |
-
<p>Load the class by calling <code>WJECF()->add_plugin( 'NameOfYourClass')</code></p>
|
165 |
-
</li>
|
166 |
-
</ol>
|
167 |
-
<p><strong>Example:</strong></p>
|
168 |
-
<pre><code class="php"><?php
|
169 |
-
/**
|
170 |
-
Plugin Name: WJECF Example plugin - Allow a coupon on certain weekdays only
|
171 |
-
Description: An example on how to extend WooCommerce Extended Coupon Features
|
172 |
-
Author: Soft79
|
173 |
-
Version: 1.0
|
174 |
-
Author URI: http://www.soft79.nl/
|
175 |
-
*/
|
176 |
-
|
177 |
-
add_action( 'wjecf_init_plugins', 'setup_my_wjecf_example_plugin' );
|
178 |
-
|
179 |
-
function setup_my_wjecf_example_plugin() {
|
180 |
-
|
181 |
-
class WJECF_Plugin_Example extends Abstract_WJECF_Plugin {
|
182 |
-
|
183 |
-
//This is the meta-key where the weekday will be saved
|
184 |
-
//HINT: Prepend it with _wjecf_<your plugin name> to avoid naming conflicts
|
185 |
-
const META_KEY_WEEKDAY = '_wjecf_example_plugin_weekday';
|
186 |
-
|
187 |
-
/**
|
188 |
-
* In the constructor you can supply general information about your WJECF-plugin.
|
189 |
-
*/
|
190 |
-
public function __construct() {
|
191 |
-
$this->set_plugin_data( array(
|
192 |
-
'description' => __( 'WJECF Example plugin - Accept a coupon on certain weekdays only.', 'your-text-domain' ),
|
193 |
-
'dependencies' => array(),
|
194 |
-
'minimal_wjecf_version' => '2.5.1',
|
195 |
-
'can_be_disabled' => true
|
196 |
-
) );
|
197 |
-
}
|
198 |
-
|
199 |
-
//FRONTEND
|
200 |
-
|
201 |
-
/**
|
202 |
-
* This function is called when WooCommerce and all other plugins are loaded.
|
203 |
-
* Here you can setup frontend hooks.
|
204 |
-
*/
|
205 |
-
|
206 |
-
public function init_hook() {
|
207 |
-
add_action( 'woocommerce_coupon_is_valid', array( $this, 'filter_woocommerce_coupon_is_valid' ), 10, 2 );
|
208 |
-
}
|
209 |
-
|
210 |
-
|
211 |
-
/**
|
212 |
-
* Invalidates the coupon if the weekday is not ok
|
213 |
-
* @param bool $valid
|
214 |
-
* @param WC_Coupon $coupon
|
215 |
-
* @return bool False if invalid
|
216 |
-
*/
|
217 |
-
|
218 |
-
public function filter_woocommerce_coupon_is_valid( $valid, $coupon ) {
|
219 |
-
if ( is_callable( array( $coupon, 'get_meta' ) ) ) {
|
220 |
-
//WC3.0+
|
221 |
-
$coupon_weekday = $coupon->get_meta( self::META_KEY_WEEKDAY );
|
222 |
-
} else {
|
223 |
-
//Older WC versions
|
224 |
-
$coupon_weekday = get_post_meta( $coupon->id, self::META_KEY_WEEKDAY, true );
|
225 |
-
}
|
226 |
-
|
227 |
-
//Not valid if the weekday differs
|
228 |
-
if ( is_numeric( $coupon_weekday ) && date('w') != $coupon_weekday ) {
|
229 |
-
return false;
|
230 |
-
}
|
231 |
-
|
232 |
-
return $valid;
|
233 |
-
}
|
234 |
-
|
235 |
-
//ADMIN
|
236 |
-
|
237 |
-
/**
|
238 |
-
* This function is called when WooCommerce and all other plugins are loaded and we are on the admin section of WordPress.
|
239 |
-
* Here you can setup admin hooks.
|
240 |
-
*/
|
241 |
-
public function init_admin_hook() {
|
242 |
-
add_action( 'woocommerce_coupon_options_usage_restriction', array( $this, 'action_woocommerce_coupon_options_usage_restriction' ), 9999 ); //9999 is at the bottom of the tab
|
243 |
-
}
|
244 |
-
|
245 |
-
/**
|
246 |
-
* Automatically called at the process_shop_coupon_meta action (WJECF 2.5.1+ only).
|
247 |
-
*
|
248 |
-
* Returns an array [ meta_key => sanitizion_rule, ... ] with the meta fields that must be saved if the user clicks 'Update' on the coupon admin page. *
|
249 |
-
* Valid sanitizion rules are: 'html', 'clean', 'yesno', 'decimal', 'int', 'int[]' (array of ints), 'int,' (comma separated ints)
|
250 |
-
*
|
251 |
-
* $_POST[meta_key] will be sanitized and automatically saved.
|
252 |
-
*
|
253 |
-
* @since 2.5.1
|
254 |
-
* @param WC_Coupon $coupon The coupon that will be saved
|
255 |
-
* @return array An array with [ key => sanitizion_rule, ... ]
|
256 |
-
*/
|
257 |
-
public function admin_coupon_meta_fields( $coupon ) {
|
258 |
-
return array( self::META_KEY_WEEKDAY => 'int' );
|
259 |
-
}
|
260 |
-
|
261 |
-
/**
|
262 |
-
* This is called when the usage restrictions tab is rendered.
|
263 |
-
*/
|
264 |
-
public function action_woocommerce_coupon_options_usage_restriction() {
|
265 |
-
woocommerce_wp_select(
|
266 |
-
array(
|
267 |
-
'id' => self::META_KEY_WEEKDAY,
|
268 |
-
'label' => __( 'Weekday', 'woocommerce-jos-autocoupon' ),
|
269 |
-
'options' => array(
|
270 |
-
'' => '(Always valid)',
|
271 |
-
0 => 'Sunday',
|
272 |
-
1 => 'Monday',
|
273 |
-
2 => 'Tuesday',
|
274 |
-
3 => 'Wednesday',
|
275 |
-
4 => 'Thursday',
|
276 |
-
5 => 'Friday',
|
277 |
-
6 => 'Saturday'
|
278 |
-
),
|
279 |
-
'description' => __( 'Coupon is only valid on this weekday.', 'your-text-domain' ),
|
280 |
-
'desc_tip' => true
|
281 |
-
)
|
282 |
-
);
|
283 |
-
}
|
284 |
-
}
|
285 |
-
|
286 |
-
//Loads the plugin!
|
287 |
-
WJECF()->add_plugin( 'WJECF_Plugin_Example' );
|
288 |
-
}
|
289 |
-
</code></pre>
|
290 |
-
|
291 |
-
</div>
|
292 |
-
</div>
|
293 |
-
<footer>
|
294 |
-
|
295 |
-
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
296 |
-
|
297 |
-
<a href="../changelog/" class="btn btn-neutral float-right" title="Changelog">Next <span class="icon icon-circle-arrow-right"></span></a>
|
298 |
-
|
299 |
-
|
300 |
-
<a href="../usage/" class="btn btn-neutral" title="Usage"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
301 |
-
|
302 |
-
</div>
|
303 |
-
|
304 |
-
|
305 |
-
<hr/>
|
306 |
-
|
307 |
-
<div role="contentinfo">
|
308 |
-
<!-- Copyright etc -->
|
309 |
-
|
310 |
-
</div>
|
311 |
-
|
312 |
-
Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
313 |
-
</footer>
|
314 |
-
|
315 |
-
</div>
|
316 |
-
</div>
|
317 |
-
|
318 |
-
</section>
|
319 |
-
|
320 |
-
</div>
|
321 |
-
|
322 |
-
<div class="rst-versions" role="note" style="cursor: pointer">
|
323 |
-
<span class="rst-current-version" data-toggle="rst-current-version">
|
324 |
-
|
325 |
-
|
326 |
-
<span><a href="../usage/" style="color: #fcfcfc;">« Previous</a></span>
|
327 |
-
|
328 |
-
|
329 |
-
<span style="margin-left: 15px"><a href="../changelog/" style="color: #fcfcfc">Next »</a></span>
|
330 |
-
|
331 |
-
</span>
|
332 |
-
</div>
|
333 |
-
<script>var base_url = '..';</script>
|
334 |
-
<script src="../js/theme.js"></script>
|
335 |
-
<script src="../search/require.js"></script>
|
336 |
-
<script src="../search/search.js"></script>
|
337 |
-
|
338 |
-
</body>
|
339 |
-
</html>
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
3 |
+
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
4 |
+
<head>
|
5 |
+
<meta charset="utf-8">
|
6 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
8 |
+
|
9 |
+
|
10 |
+
<link rel="shortcut icon" href="../img/favicon.ico">
|
11 |
+
<title>Development - Soft79 Documentation</title>
|
12 |
+
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
13 |
+
|
14 |
+
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
|
15 |
+
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
|
16 |
+
<link rel="stylesheet" href="../css/highlight.css">
|
17 |
+
<link href="../css/jos.css" rel="stylesheet">
|
18 |
+
|
19 |
+
<script>
|
20 |
+
// Current page data
|
21 |
+
var mkdocs_page_name = "Development";
|
22 |
+
var mkdocs_page_input_path = "development.md";
|
23 |
+
var mkdocs_page_url = "/development/";
|
24 |
+
</script>
|
25 |
+
|
26 |
+
<script src="../js/jquery-2.1.1.min.js"></script>
|
27 |
+
<script src="../js/modernizr-2.8.3.min.js"></script>
|
28 |
+
<script type="text/javascript" src="../js/highlight.pack.js"></script>
|
29 |
+
|
30 |
+
</head>
|
31 |
+
|
32 |
+
<body class="wy-body-for-nav" role="document">
|
33 |
+
|
34 |
+
<div class="wy-grid-for-nav">
|
35 |
+
|
36 |
+
|
37 |
+
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
38 |
+
<div class="wy-side-nav-search">
|
39 |
+
<a href=".." class="icon icon-home"> Soft79 Documentation</a>
|
40 |
+
<div role="search">
|
41 |
+
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
42 |
+
<input type="text" name="q" placeholder="Search docs" />
|
43 |
+
</form>
|
44 |
+
</div>
|
45 |
+
</div>
|
46 |
+
|
47 |
+
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
48 |
+
<ul class="current">
|
49 |
+
|
50 |
+
|
51 |
+
<li class="toctree-l1">
|
52 |
+
|
53 |
+
<span class="caption-text">WooCommerce Extended Coupon Features</span>
|
54 |
+
<ul class="subnav">
|
55 |
+
<li class="">
|
56 |
+
|
57 |
+
<a class="" href="..">About</a>
|
58 |
+
</li>
|
59 |
+
<li class="">
|
60 |
+
|
61 |
+
<a class="" href="../usage/">Usage</a>
|
62 |
+
</li>
|
63 |
+
<li class=" current">
|
64 |
+
|
65 |
+
<a class="current" href="./">Development</a>
|
66 |
+
<ul class="subnav">
|
67 |
+
|
68 |
+
<li class="toctree-l3"><a href="#filters-and-actions">Filters and Actions</a></li>
|
69 |
+
|
70 |
+
|
71 |
+
<li class="toctree-l3"><a href="#api-functions">API Functions</a></li>
|
72 |
+
|
73 |
+
|
74 |
+
<li class="toctree-l3"><a href="#create-mini-plugins-for-extended-coupon-features">Create mini-plugins for Extended Coupon Features</a></li>
|