WP-Chatbot for Facebook Messenger Customer Chat - Version 4.0.8

Version Description

Contacts page + new look & feel

Download this release

Release Info

Developer yankovski
Plugin Icon 128x128 WP-Chatbot for Facebook Messenger Customer Chat
Version 4.0.8
Comparing to
See all releases

Code changes from version 4.0.1 to 4.0.8

admin/admin.php CHANGED
@@ -1,73 +1,73 @@
1
- <?php
2
- /**
3
- * Central file for admin
4
- *
5
- * @package htcc
6
- * @subpackage Admin
7
- * @since 1.0.0
8
- *
9
- * subpackage Admin loads only on wp-admin
10
- */
11
-
12
-
13
- if ( ! defined( 'ABSPATH' ) ) exit;
14
-
15
- require_once(HTCC_PLUGIN_DIR . 'inc/MobileMonkeyApi.php');
16
-
17
- require_once('class-htcc-lang.php');
18
-
19
- require_once('class-htcc-admin.php');
20
-
21
-
22
- require_once('class-htcc-enqueue.php');
23
-
24
-
25
- $admin = new HTCC_Admin();
26
- add_action('admin_menu', array( $admin, 'htcc_options_page') );
27
- add_action( 'admin_init', array( $admin, 'htcc_custom_settings' ) );
28
-
29
-
30
-
31
- #premium
32
- if ( 'true' == HTCC_PRO ) {
33
- include_once HTCC_PLUGIN_DIR . 'admin/pro/htcc-pro-update.php';
34
- include_once HTCC_PLUGIN_DIR . 'admin/pro/class-admin-htcc-pro.php';
35
- }
36
-
37
-
38
-
39
-
40
- /**
41
- * ht_cc_service_content - by default there is no option ..
42
- * so when no option exists .. so it not equal to 'hide'
43
- * so in admin sidebar the service content will display . .
44
- * if clicks on hide box ..
45
- * then an option update will happen ( create an option )
46
- *
47
- */
48
- add_action( 'wp_ajax_ht_cc_service_content', 'ht_cc_service_content_ajax' );
49
-
50
- function ht_cc_service_content_ajax() {
51
-
52
- $service_content = get_option( 'ht_cc_service_content' );
53
-
54
- // wp_localize_script can use - but this may be easy, as only one value ..
55
- echo $service_content;
56
-
57
- wp_die();
58
- }
59
-
60
-
61
-
62
- // action - ht_cc_service_content_hide
63
- // update the option ht_cc_service_content to hide
64
- add_action( 'wp_ajax_ht_cc_service_content_hide', 'ht_cc_service_content_hide_ajax' );
65
-
66
- function ht_cc_service_content_hide_ajax() {
67
-
68
- $service_content = get_option( 'ht_cc_service_content' );
69
-
70
- update_option( 'ht_cc_service_content', 'hide' );
71
-
72
- wp_die();
73
  }
1
+ <?php
2
+ /**
3
+ * Central file for admin
4
+ *
5
+ * @package htcc
6
+ * @subpackage Admin
7
+ * @since 1.0.0
8
+ *
9
+ * subpackage Admin loads only on wp-admin
10
+ */
11
+
12
+
13
+ if ( ! defined( 'ABSPATH' ) ) exit;
14
+
15
+ require_once(HTCC_PLUGIN_DIR . 'inc/MobileMonkeyApi.php');
16
+
17
+ require_once('class-htcc-lang.php');
18
+
19
+ require_once('class-htcc-admin.php');
20
+
21
+
22
+ require_once('class-htcc-enqueue.php');
23
+
24
+
25
+ $admin = new HTCC_Admin();
26
+ add_action('admin_menu', array( $admin, 'htcc_options_page') );
27
+ add_action( 'admin_init', array( $admin, 'htcc_custom_settings' ) );
28
+
29
+
30
+
31
+ #premium
32
+ if ( 'true' == HTCC_PRO ) {
33
+ include_once HTCC_PLUGIN_DIR . 'admin/pro/htcc-pro-update.php';
34
+ include_once HTCC_PLUGIN_DIR . 'admin/pro/class-admin-htcc-pro.php';
35
+ }
36
+
37
+
38
+
39
+
40
+ /**
41
+ * ht_cc_service_content - by default there is no option ..
42
+ * so when no option exists .. so it not equal to 'hide'
43
+ * so in admin sidebar the service content will display . .
44
+ * if clicks on hide box ..
45
+ * then an option update will happen ( create an option )
46
+ *
47
+ */
48
+ add_action( 'wp_ajax_ht_cc_service_content', 'ht_cc_service_content_ajax' );
49
+
50
+ function ht_cc_service_content_ajax() {
51
+
52
+ $service_content = get_option( 'ht_cc_service_content' );
53
+
54
+ // wp_localize_script can use - but this may be easy, as only one value ..
55
+ echo $service_content;
56
+
57
+ wp_die();
58
+ }
59
+
60
+
61
+
62
+ // action - ht_cc_service_content_hide
63
+ // update the option ht_cc_service_content to hide
64
+ add_action( 'wp_ajax_ht_cc_service_content_hide', 'ht_cc_service_content_hide_ajax' );
65
+
66
+ function ht_cc_service_content_hide_ajax() {
67
+
68
+ $service_content = get_option( 'ht_cc_service_content' );
69
+
70
+ update_option( 'ht_cc_service_content', 'hide' );
71
+
72
+ wp_die();
73
  }
admin/assets/css/admin-styles.css CHANGED
@@ -1,326 +1,586 @@
1
- /* Styles for admin page */
2
-
3
-
4
-
5
- /* Submit button */
6
- /* .options .submit { */
7
- .submit {
8
- position: sticky !important;
9
- bottom: 1px;
10
- float: right;
11
- }
12
-
13
-
14
- .display-none {
15
- display: none;
16
- }
17
-
18
- .display-block {
19
- display: block;
20
- }
21
-
22
- .mobilemonkey-big-button {
23
- padding: 20px 40px !important;
24
- line-height: 0 !important;
25
- }
26
-
27
- .connect-button {
28
- background-color: #4267b2;
29
- border-radius: 4px;
30
- color: #fff;
31
- display: block;
32
- width: 254px;
33
- height: 40px;
34
- text-decoration: none;
35
- }
36
-
37
- .connect-button:hover, .connect-button:focus{
38
- color: #fff;
39
- }
40
-
41
- .connected-page{
42
- padding: 15px;
43
- background: #eaeaea;
44
- margin-bottom: 30px;
45
- }
46
-
47
- .connected-page .connected-page-title{
48
- font-size: 16px;
49
- font-weight: 700;
50
- }
51
-
52
- .connected-page .connected-page-title span {
53
- font-weight: bold;
54
- color: green;
55
- }
56
- .connected-page .connected-page-settings {
57
- position: relative;
58
- }
59
-
60
- .connected-page .connected-page-settings a {
61
- background-color: #ca4646;
62
- display: inline-block;
63
- padding: 3px 8px;
64
- font-size: 12px;
65
- text-decoration: none;
66
- color: #fff;
67
- border-radius: 5px;
68
- }
69
- .connected-page .connected-page-settings a:hover {
70
- color: #3a3a3a;
71
- background: #e8e8e8;
72
- }
73
-
74
- .cat-checklist{
75
- padding: 15px !important;
76
- margin-bottom: 30px !important;
77
- }
78
-
79
- .connect-button span {
80
- font-family: Helvetica, Arial, sans-serif;
81
- font-size: 14px;
82
- text-align: center;
83
- display: inline-block;
84
- width: 200px;
85
- }
86
-
87
- .connect-button svg{
88
- height: 24px;
89
- margin: 8px;
90
- display: inline-block;
91
- vertical-align: middle;
92
- }
93
-
94
- .choose-page {
95
- margin-top: 10px;
96
- }
97
-
98
- .choose-page .select-page {
99
- border: 1px solid #dedede;
100
- padding: 15px;
101
- margin-top: -1px;
102
- font-size: 16px;
103
- }
104
-
105
- .choose-page .select-page + .select-page{
106
- border-bottom: none;
107
- }
108
-
109
- .choose-page .select-page:last-child{
110
- border-bottom: 1px solid #dedede;
111
- }
112
-
113
- .choose-page .select-page a{
114
- background-color: #d93;
115
- display: inline-block;
116
- float: right;
117
- padding: 3px 8px;
118
- font-size: 12px;
119
- text-decoration: none;
120
- color: #fff;
121
- border-radius: 5px;
122
- }
123
-
124
- .choose-page .select-page a:hover{
125
- color: #3a3a3a;
126
- background: #e8e8e8;
127
- }
128
-
129
- .logout-mobilemonkey{
130
- text-align: right;
131
- margin: 15px;
132
- }
133
-
134
- .logout-mobilemonkey a{
135
- background-color: #d93;
136
- display: inline-block;
137
- float: right;
138
- padding: 3px 8px;
139
- font-size: 12px;
140
- text-decoration: none;
141
- color: #fff;
142
- border-radius: 5px;
143
- }
144
-
145
- .logout-mobilemonkey a:hover{
146
- color: #3a3a3a;
147
- background: #e8e8e8;
148
- }
149
-
150
- .mobilemonkey-button {
151
- margin-top: 10px;
152
- position: relative;
153
- display: inline-block;
154
- }
155
-
156
- .mobilemonkey-button button {
157
- background-color: #d93;
158
- display: inline-block;
159
- padding: 3px 8px;
160
- font-size: 12px;
161
- text-decoration: none;
162
- color: #fff;
163
- border-radius: 5px;
164
- }
165
-
166
- .mobilemonkey-button .copiedtext{
167
- color: green;
168
- display: none;
169
- }
170
-
171
- .get-subscribers_block {
172
- margin-bottom: 15px;
173
- }
174
-
175
- .get-subscribers_block h3 {
176
- margin: 0 0 10px;
177
- }
178
-
179
- .get-subscribers_block .link-icon {
180
- width: 45px;
181
- display: inline-block;
182
- margin-right: 10px;
183
- vertical-align: top;
184
- }
185
-
186
- .get-subscribers_block .link-icon path {
187
- fill: #654fa5;
188
- }
189
-
190
- .get-subscribers_block .link-info {
191
- display: inline-block;
192
- }
193
-
194
- .get-subscribers_block button {
195
- background-color: #d93;
196
- display: inline-block;
197
- border: none;
198
- padding: 5px 8px;
199
- font-size: 12px;
200
- text-decoration: none;
201
- color: #fff;
202
- border-radius: 5px;
203
- }
204
-
205
- .get-subscribers_block button:hover {
206
- cursor: pointer;
207
- color: #3a3a3a;
208
- background: #e8e8e8;
209
- }
210
-
211
- .mobilemonkey-settings {
212
- display: inline-block;
213
- }
214
-
215
- .mobilemonkey-settings, .connect-page {
216
- position: relative;
217
- }
218
-
219
- .connect-page {
220
- float: right;
221
- height: 32px;
222
- }
223
-
224
- .opacity-button {
225
- opacity: 0.3;
226
- }
227
-
228
- .lazyload {
229
- display: none;
230
- position: absolute;
231
- top: 0;
232
- background: url(../img/lazyload.svg) center no-repeat;
233
- width: 100%;
234
- bottom: 0;
235
- }
236
-
237
- .connect-page .lazyload, .connected-page-settings .lazyload {
238
- top: -8px;
239
- }
240
- .active-page-info {
241
- display: flex;
242
- justify-content: space-between;
243
- align-items: center;
244
- }
245
-
246
- /* .active-page-image, .active-page-info {
247
- display: inline-block;
248
- vertical-align: middle;
249
- } */
250
-
251
- .active-page-image {
252
- max-width: 60px;
253
- margin-right: 10px;
254
- }
255
-
256
- .toplevel_page_mobilemonkey-contacts {
257
- padding-right: 20px;
258
- }
259
-
260
- /* i.mce-i-mobilemonkey-shortcode {
261
- background-image: url('../image/tinymce_icon.png');
262
- } */
263
-
264
- .get-mm-free-button {
265
- position: relative;
266
- width: 254px;
267
- height: 40px;
268
- overflow: hidden;
269
- border-radius: 3px;
270
- }
271
-
272
- .get-mm-free-button__fallback,
273
- .get-mm-free-button__fallback:hover {
274
- text-decoration: none;
275
- }
276
-
277
- /*Fallback button and iframe:before get same styles */
278
- .get-mm-free-button__fallback, .get-mm-free-button .fb-send-to-messenger.fb_iframe_widget::before {
279
- color: #fff;
280
- font-size: 19px;
281
- line-height: 29px;
282
- text-transform: uppercase;
283
- border-radius: 3px;
284
- position: absolute;
285
- top: 0;
286
- left: 0;
287
- right: 0;
288
- bottom: 0;
289
- transition: all 0.3s ease 0s;
290
- }
291
-
292
- .get-mm-free-button .fb-send-to-messenger.fb_iframe_widget::before {
293
- pointer-events: none;
294
- z-index: 2;
295
- content: 'Connect Facebook Page';
296
- font-family: Helvetica, Arial, sans-serif;
297
- background: #4267b2 url(../img/fb.svg) 8px no-repeat;
298
- background-size: 24px;
299
- font-size: 14px;
300
- text-align: right;
301
- padding-right: 13px;
302
- box-sizing: border-box;
303
- color: #fff;
304
- width: 254px;
305
- height: 40px;
306
- line-height: 40px;
307
- text-decoration: none;
308
- text-transform: uppercase;
309
- border-radius: 3px;
310
- position: absolute;
311
- top: 0;
312
- left: 0;
313
- right: 0;
314
- bottom: 0;
315
- transition: all 0.3s ease 0s;
316
- }
317
-
318
- /* Hide Facebook plugin until rendered callback from Facebook */
319
- .get-mm-free-button .fb-send-to-messenger {
320
- display: none;
321
- }
322
-
323
- /* Add class to show Facebook plugin once get rendered callback from Facebook */
324
- .get-mm-free-button .fb-send-to-messenger.fb-send-to-messenger--loaded-iframe {
325
- display: block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
326
  }
1
+ /* Styles for admin page */
2
+
3
+
4
+ /* Submit button */
5
+ /* .options .submit { */
6
+ .submit {
7
+ position: sticky !important;
8
+ bottom: 1px;
9
+ float: right;
10
+ }
11
+
12
+
13
+ .display-none {
14
+ display: none;
15
+ }
16
+
17
+ .display-block {
18
+ display: block;
19
+ }
20
+
21
+ .mobilemonkey-big-button {
22
+ padding: 20px 40px !important;
23
+ line-height: 0 !important;
24
+ }
25
+
26
+ .connect-button {
27
+ background-color: #4267b2;
28
+ border-radius: 4px;
29
+ color: #fff;
30
+ display: block;
31
+ width: 254px;
32
+ height: 40px;
33
+ text-decoration: none;
34
+ }
35
+
36
+ .connect-button:hover, .connect-button:focus {
37
+ color: #fff;
38
+ }
39
+
40
+ .connected-page {
41
+ padding: 15px;
42
+ background: #eaeaea;
43
+ margin-bottom: 30px;
44
+ }
45
+
46
+ .connected-page .connected-page-title {
47
+ font-size: 16px;
48
+ font-weight: 700;
49
+ }
50
+
51
+ .connected-page .connected-page-title span {
52
+ font-weight: bold;
53
+ color: green;
54
+ }
55
+
56
+ .connected-page .connected-page-settings {
57
+ position: relative;
58
+ }
59
+
60
+ .connected-page .connected-page-settings a {
61
+ background-color: #ca4646;
62
+ display: inline-block;
63
+ padding: 3px 8px;
64
+ font-size: 12px;
65
+ text-decoration: none;
66
+ color: #fff;
67
+ border-radius: 5px;
68
+ }
69
+
70
+ .connected-page .connected-page-settings a:hover {
71
+ color: #3a3a3a;
72
+ background: #e8e8e8;
73
+ }
74
+
75
+ .cat-checklist {
76
+ padding: 15px !important;
77
+ margin-bottom: 30px !important;
78
+ }
79
+
80
+ .connect-button span {
81
+ font-family: Helvetica, Arial, sans-serif;
82
+ font-size: 14px;
83
+ text-align: center;
84
+ display: inline-block;
85
+ width: 200px;
86
+ }
87
+
88
+ .connect-button svg {
89
+ height: 24px;
90
+ margin: 8px;
91
+ display: inline-block;
92
+ vertical-align: middle;
93
+ }
94
+
95
+ .choose-page {
96
+ margin-top: 10px;
97
+ }
98
+
99
+ .choose-page .select-page {
100
+ border: 1px solid #dedede;
101
+ padding: 15px;
102
+ margin-top: -1px;
103
+ font-size: 16px;
104
+ }
105
+
106
+ .choose-page .select-page + .select-page {
107
+ border-bottom: none;
108
+ }
109
+
110
+ .choose-page .select-page:last-child {
111
+ border-bottom: 1px solid #dedede;
112
+ }
113
+
114
+ .choose-page .select-page a {
115
+ background-color: #d93;
116
+ display: inline-block;
117
+ float: right;
118
+ padding: 3px 8px;
119
+ font-size: 12px;
120
+ text-decoration: none;
121
+ color: #fff;
122
+ border-radius: 5px;
123
+ }
124
+
125
+ .choose-page .select-page a:hover {
126
+ color: #3a3a3a;
127
+ background: #e8e8e8;
128
+ }
129
+
130
+ .logout-mobilemonkey {
131
+ text-align: right;
132
+ margin: 15px;
133
+ }
134
+
135
+ .logout-mobilemonkey a {
136
+ background-color: #d93;
137
+ display: inline-block;
138
+ float: right;
139
+ padding: 3px 8px;
140
+ font-size: 12px;
141
+ text-decoration: none;
142
+ color: #fff;
143
+ border-radius: 5px;
144
+ }
145
+
146
+ .logout-mobilemonkey a:hover {
147
+ color: #3a3a3a;
148
+ background: #e8e8e8;
149
+ }
150
+
151
+ .mobilemonkey-button {
152
+ margin-top: 10px;
153
+ position: relative;
154
+ display: inline-block;
155
+ }
156
+
157
+ .mobilemonkey-button button {
158
+ background-color: #d93;
159
+ display: inline-block;
160
+ padding: 3px 8px;
161
+ font-size: 12px;
162
+ text-decoration: none;
163
+ color: #fff;
164
+ border-radius: 5px;
165
+ }
166
+
167
+ .mobilemonkey-button .copiedtext {
168
+ color: green;
169
+ display: none;
170
+ }
171
+
172
+ .get-subscribers_block {
173
+ margin-bottom: 15px;
174
+ }
175
+
176
+ .get-subscribers_block h3 {
177
+ margin: 0 0 10px;
178
+ }
179
+
180
+ .get-subscribers_block .link-icon {
181
+ width: 45px;
182
+ display: inline-block;
183
+ margin-right: 10px;
184
+ vertical-align: top;
185
+ }
186
+
187
+ .get-subscribers_block .link-icon path {
188
+ fill: #654fa5;
189
+ }
190
+
191
+ .get-subscribers_block .link-info {
192
+ display: inline-block;
193
+ }
194
+
195
+ .get-subscribers_block button {
196
+ background-color: #d93;
197
+ display: inline-block;
198
+ border: none;
199
+ padding: 5px 8px;
200
+ font-size: 12px;
201
+ text-decoration: none;
202
+ color: #fff;
203
+ border-radius: 5px;
204
+ }
205
+
206
+ .get-subscribers_block button:hover {
207
+ cursor: pointer;
208
+ color: #3a3a3a;
209
+ background: #e8e8e8;
210
+ }
211
+
212
+ .mobilemonkey-settings {
213
+ display: inline-block;
214
+ }
215
+
216
+ .mobilemonkey-settings, .connect-page {
217
+ position: relative;
218
+ }
219
+
220
+ .connect-page {
221
+ float: right;
222
+ height: 32px;
223
+ }
224
+
225
+ .opacity-button {
226
+ opacity: 0.3;
227
+ }
228
+
229
+ .lazyload {
230
+ display: none;
231
+ position: absolute;
232
+ top: 0;
233
+ background: url(../img/lazyload.svg) center no-repeat;
234
+ width: 100%;
235
+ bottom: 0;
236
+ }
237
+
238
+ .connect-page .lazyload, .connected-page-settings .lazyload {
239
+ top: -8px;
240
+ }
241
+
242
+ .active-page-info {
243
+ display: flex;
244
+ justify-content: space-between;
245
+ align-items: center;
246
+ }
247
+
248
+ /* .active-page-image, .active-page-info {
249
+ display: inline-block;
250
+ vertical-align: middle;
251
+ } */
252
+
253
+ .active-page-image {
254
+ max-width: 60px;
255
+ margin-right: 10px;
256
+ }
257
+
258
+ .toplevel_page_mobilemonkey-contacts {
259
+ padding-right: 20px;
260
+ }
261
+
262
+ /* i.mce-i-mobilemonkey-shortcode {
263
+ background-image: url('../image/tinymce_icon.png');
264
+ } */
265
+
266
+ .get-mm-free-button {
267
+ position: relative;
268
+ width: 254px;
269
+ height: 40px;
270
+ overflow: hidden;
271
+ border-radius: 3px;
272
+ }
273
+
274
+ .get-mm-free-button__fallback,
275
+ .get-mm-free-button__fallback:hover {
276
+ text-decoration: none;
277
+ }
278
+
279
+ /*Fallback button and iframe:before get same styles */
280
+ .get-mm-free-button__fallback, .get-mm-free-button .fb-send-to-messenger.fb_iframe_widget::before {
281
+ color: #fff;
282
+ font-size: 19px;
283
+ line-height: 29px;
284
+ text-transform: uppercase;
285
+ border-radius: 3px;
286
+ position: absolute;
287
+ top: 0;
288
+ left: 0;
289
+ right: 0;
290
+ bottom: 0;
291
+ transition: all 0.3s ease 0s;
292
+ }
293
+
294
+ .get-mm-free-button .fb-send-to-messenger.fb_iframe_widget::before {
295
+ pointer-events: none;
296
+ z-index: 2;
297
+ content: 'Connect Facebook Page';
298
+ font-family: Helvetica, Arial, sans-serif;
299
+ background: #4267b2 url(../img/fb.svg) 8px no-repeat;
300
+ background-size: 24px;
301
+ font-size: 14px;
302
+ text-align: right;
303
+ padding-right: 13px;
304
+ box-sizing: border-box;
305
+ color: #fff;
306
+ width: 254px;
307
+ height: 40px;
308
+ line-height: 40px;
309
+ text-decoration: none;
310
+ text-transform: uppercase;
311
+ border-radius: 3px;
312
+ position: absolute;
313
+ top: 0;
314
+ left: 0;
315
+ right: 0;
316
+ bottom: 0;
317
+ transition: all 0.3s ease 0s;
318
+ }
319
+
320
+ /* Hide Facebook plugin until rendered callback from Facebook */
321
+ .get-mm-free-button .fb-send-to-messenger {
322
+ display: none;
323
+ }
324
+
325
+ /* Add class to show Facebook plugin once get rendered callback from Facebook */
326
+ .get-mm-free-button .fb-send-to-messenger.fb-send-to-messenger--loaded-iframe {
327
+ display: block;
328
+ }
329
+
330
+ .mobilemonkey-logo {
331
+ background: url(../img/mobilemonkey_logo.png) left bottom no-repeat;
332
+ background-size: contain;
333
+ height: 70px;
334
+ max-width: 330px;
335
+ }
336
+
337
+ .options-subtitle {
338
+ font-size: 12px;
339
+ }
340
+
341
+
342
+ .toc-tab-box h3.acc-title {
343
+ color: #002d5b;
344
+ background: #F3FAFD;
345
+ padding: 20px 0px 20px 30px;
346
+ font-size: 20px;
347
+ font-weight: 400;
348
+ margin: 0px;
349
+ margin-bottom: 4px;
350
+ cursor: pointer;
351
+ position: relative;
352
+ transition: all 0.5s ease;
353
+ width: 100%;
354
+ float: left;
355
+ }
356
+
357
+ .toc-tab-box table.form-table, .acc-content {
358
+ width: 100%;
359
+ margin-bottom: 4px;
360
+ float: left;
361
+ padding: 15px 30px 30px 60px;
362
+ font-size: 14px;
363
+ position: relative;
364
+ overflow: hidden;
365
+ background-color: #FFFFFF;
366
+ }
367
+
368
+
369
+ .step_fa {
370
+ float: right;
371
+ margin-right: 20px;
372
+ font-size: 48px;
373
+ font-weight: bolder;
374
+ color: #666;
375
+ vertical-align: middle;
376
+ }
377
+
378
+ .circle {
379
+ width: 50px;
380
+ height: 50px;
381
+ border-radius: 25px;
382
+ color: #fff;
383
+ background: #647BE0;
384
+ display: inline-block;
385
+ font-size: 35px;
386
+ line-height: 42px;
387
+ text-align: center;
388
+ vertical-align: middle;
389
+ margin-right: 20px;
390
+ }
391
+
392
+ .answering-service .switch {
393
+ position: relative;
394
+ display: inline-block;
395
+ width: 60px;
396
+ height: 34px;
397
+ margin: 0;
398
+ }
399
+
400
+ /* Hide default HTML checkbox */
401
+ .switch input {
402
+ opacity: 0;
403
+ width: 0;
404
+ height: 0;
405
+ }
406
+
407
+ /* The slider */
408
+ .slider {
409
+ position: absolute;
410
+ cursor: pointer;
411
+ top: 0;
412
+ left: 0;
413
+ right: 0;
414
+ bottom: 0;
415
+ background-color: #ccc;
416
+ -webkit-transition: .4s;
417
+ transition: .4s;
418
+ }
419
+
420
+ .slider:before {
421
+ position: absolute;
422
+ content: "";
423
+ height: 26px;
424
+ width: 26px;
425
+ left: 4px;
426
+ bottom: 4px;
427
+ background-color: white;
428
+ -webkit-transition: .4s;
429
+ transition: .4s;
430
+ }
431
+
432
+ input:checked + .slider {
433
+ background-color: #2196F3;
434
+ }
435
+
436
+ input:focus + .slider {
437
+ box-shadow: 0 0 1px #2196F3;
438
+ }
439
+
440
+ input:checked + .slider:before {
441
+ -webkit-transform: translateX(26px);
442
+ -ms-transform: translateX(26px);
443
+ transform: translateX(26px);
444
+ }
445
+
446
+ /* Rounded sliders */
447
+ .slider.round {
448
+ border-radius: 34px;
449
+ }
450
+
451
+ .slider.round:before {
452
+ border-radius: 50%;
453
+ }
454
+
455
+ .answering-service label {
456
+ display: block;
457
+ margin-bottom: 10px;
458
+ }
459
+
460
+ .toc-tab-box .answering-service .input-field {
461
+ padding-left: 0;
462
+ }
463
+
464
+ .toc-tab-box .answering-service h6 {
465
+ font-weight: bold;
466
+ }
467
+
468
+ .answering-service textarea {
469
+ resize: none;
470
+ }
471
+
472
+ .as_state p {
473
+ display: inline-block;
474
+ color: #444;
475
+ margin-left: 20px;
476
+ font-size: 1rem;
477
+ font-weight: bold;
478
+ vertical-align: middle;
479
+ }
480
+
481
+ body .toc-tab-box .answering-service input {
482
+ border: 1px solid #9e9e9e;
483
+ padding: 0 0 0 20px;
484
+ }
485
+
486
+ body .toc-tab-box .button {
487
+ padding: 20px;
488
+ line-height: 0;
489
+ }
490
+
491
+ .toc-tab-box .form-table th {
492
+ width: 1px;
493
+ }
494
+
495
+
496
+ .toc-tab-box .answering-service .mm_only h6 {
497
+ line-height: 1.6rem;
498
+ margin: 0px;
499
+ font-weight: 600;
500
+ font-size: 16px;
501
+ letter-spacing: 1px;
502
+ }
503
+
504
+ .mm_only a.button {
505
+ margin-top: 20px;
506
+ height: auto;
507
+ background-color: darkgreen;
508
+ padding: 25px 40px;
509
+ border: 1px solid #000;
510
+ color: #fff;
511
+ }
512
+
513
+ .mm_only a.button:active, .mm_only a.button:focus {
514
+ background-color: darkgreen;
515
+ border: 1px solid #000;
516
+ color: #fff;
517
+ }
518
+
519
+ .test-bot-button {
520
+ float: right;
521
+ }
522
+
523
+ .acc-content .testchat {
524
+ float: right;
525
+ background-color: #6071fb;
526
+ color: #FFFFFF;
527
+ box-shadow: none;
528
+ border: 0px;
529
+ }
530
+
531
+ .acc-content .button.testchat {
532
+ padding: 15px;
533
+ margin-right: 8px;
534
+ margin-bottom: 2px;
535
+ }
536
+
537
+ .acc-content .testchat:hover {
538
+ background-color: #6071fb;
539
+ color: #FFFFFF;
540
+ }
541
+
542
+ .test-bot-button__button-wrapper {
543
+ height: 29px;
544
+ width: 137px;
545
+ margin-bottom: 10px;
546
+ overflow: hidden;
547
+ border-radius: 3px;
548
+ position: relative;
549
+ }
550
+
551
+ .test-bot-button .fb_iframe_widget {
552
+ position: initial;
553
+ }
554
+
555
+ .fb_iframe_widget {
556
+ display: inline-block;
557
+ position: relative;
558
+ }
559
+
560
+ .test-bot-button .fb-send-to-messenger.fb_iframe_widget:before {
561
+ background-color: #0084ff;
562
+ border-radius: 3px;
563
+ color: #fff;
564
+ content: "Test your ChatBot";
565
+ font-size: 14px;
566
+ font-weight: 500;
567
+ height: 29px;
568
+ line-height: 29px;
569
+ pointer-events: none;
570
+ position: absolute;
571
+ left: 0;
572
+ top: 0;
573
+ width: 135px;
574
+ padding-right: 0px;
575
+ z-index: 2;
576
+ padding-left: 12px;
577
+ -webkit-transition: background-color .3s ease-in-out;
578
+ transition: background-color .3s ease-in-out;
579
+ cursor: pointer;
580
+ }
581
+
582
+ .fb_iframe_widget span {
583
+ display: inline-block;
584
+ position: relative;
585
+ text-align: justify;
586
  }
admin/assets/css/materialize.min.css CHANGED
@@ -3,14 +3,14 @@
3
  * Copyright 2014-2017 Materialize
4
  * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
  */
6
- .materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2);box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^="mdi-"],.breadcrumb [class*="mdi-"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}/*tr{border-bottom:1px solid rgba(0,0,0,0.12)}*/td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:"\00a0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]::after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*="push-"],.row .col[class*="pull-"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^="mdi-"],nav [class*="mdi-"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^="mdi-"],nav .brand-logo [class*="mdi-"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type="checkbox"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*!
7
  * Waves v0.6.0
8
  * http://fian.my.id/Waves
9
  *
10
  * Copyright 2014 Alfiana E. Sibuea and other contributors
11
  * Released under the MIT license
12
  * https://github.com/fians/Waves/blob/master/LICENSE
13
- */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type="button"],.waves-effect input[type="reset"],.waves-effect input[type="submit"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly="readonly"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly="readonly"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly="readonly"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly="readonly"],input[type=url]:not(.browser-default):disabled,input[type=url]:not(.browser-default)[readonly="readonly"],input[type=time]:not(.browser-default):disabled,input[type=time]:not(.browser-default)[readonly="readonly"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly="readonly"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly="readonly"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly="readonly"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly="readonly"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly="readonly"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly="readonly"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly="readonly"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly="readonly"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly="readonly"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly="readonly"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly="readonly"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly="readonly"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly="readonly"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly="readonly"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly="readonly"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly="readonly"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly="readonly"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly="readonly"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:"";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type="search"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type="radio"]:not(:checked),[type="radio"]:checked{position:absolute;opacity:0;pointer-events:none}[type="radio"]:not(:checked)+span,[type="radio"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]+span:before,[type="radio"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after,[type="radio"]:checked+span:before,[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border-radius:50%}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type="radio"]:checked+span:before{border:2px solid transparent}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border:2px solid #26a69a}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:after{background-color:#26a69a}[type="radio"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type="radio"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type="radio"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type="radio"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type="radio"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before,[type="radio"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled+span{color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type="checkbox"]:not(:checked),[type="checkbox"]:checked{position:absolute;opacity:0;pointer-events:none}[type="checkbox"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:not(.lever):before,[type="checkbox"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type="checkbox"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type="checkbox"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type="checkbox"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type="checkbox"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type="checkbox"].filled-in+span:not(.lever):after{border-radius:2px}[type="checkbox"].filled-in+span:not(.lever):before,[type="checkbox"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type="checkbox"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type="checkbox"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type="checkbox"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:"";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^="mdi-"],.sidenav li>a li>a>[class*="mdi-"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s,
14
  visibility 0s 1s,
15
  -webkit-transform .3s;transition:opacity .3s,
16
  visibility 0s 1s,
3
  * Copyright 2014-2017 Materialize
4
  * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
  */
6
+ .materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.lightp� p� P� � �� �� @ �� ortant}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14p� p� P� � �� �� @ �� ,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^="mdi-"],.breadcrumb [class*="mdi-"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}/*tr{border-bottom:1px solid rgba(0,0,0,0.12)}*/td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:"\00a0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]::after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*="push-"],.row .col[class*="pull-"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.p� p� P� � �� �� @ �� ght:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^="mdi-"],nav [class*="mdi-"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^="mdi-"],nav .brand-logo [class*="mdi-"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type="checkbox"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*!
7
  * Waves v0.6.0
8
  * http://fian.my.id/Waves
9
  *
10
  * Copyright 2014 Alfiana E. Sibuea and other contributors
11
  * Released under the MIT license
12
  * https://github.com/fians/Waves/blob/master/LICENSE
13
+ */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type="button"],.waves-effect input[type="reset"],.waves-effect input[type="submit"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly="readonly"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly="readonly"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly="readonly"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly="readonly"],input[type=url]:not(.browser-default):disabled,input[type=urp� p� P� � �� �� @ �� =time]:not(.browser-default)[readonly="readonly"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly="readonly"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly="readonly"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly="readonly"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly="readonly"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly="readonly"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly="readonly"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly="readonly"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly="readonly"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly="readonly"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly="readonly"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly="readonly"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly="readonly"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly="readonly"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly="readonly"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly="readonly"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly="readonly"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly="readonly"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly="readonly"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[typp� p� P� � �� �� @ �� lt).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:"";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type="search"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type="radio"]:not(:checked),[type="radio"]:checked{position:absolute;opacity:0;pointer-events:none}[type="radio"]:not(:checked)+span,[type="radio"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]+span:before,[type="radio"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after,[type="radio"]:checked+span:before,[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border-radius:50%}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type="radio"]:checked+span:before{border:2px solid transparent}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border:2px solid #26a69a}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:after{background-color:#26a69a}[type="radio"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type="radio"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type="radio"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type="radio"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type="radio"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before,[type="radio"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled+span{color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type="checkbox"]:not(:checked),[type="checkbox"]:checked{position:absolute;opacity:0;pointer-events:none}[type="checkbox"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:not(.lever):before,[type="checkbox"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type="checkbox"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type="checkbox"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type="checkbox"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type="checkbox"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type="checkbox"].filled-in+span:not(.lever):after{border-radius:2px}[type="checkbox"].filled-in+span:not(.lever):before,[type="checkbox"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type="checkbox"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type="checkbox"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type="checkbox"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:"";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:4p� p� P� � �� �� @ �� li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^="mdi-"],.sidenav li>a li>a>[class*="mdi-"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s,
14
  visibility 0s 1s,
15
  -webkit-transform .3s;transition:opacity .3s,
16
  visibility 0s 1s,
admin/assets/img/fb.svg CHANGED
@@ -1,6 +1,6 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 216 216" class="_5h0m" color="#FFFFFF"><path fill="#FFFFFF" d="
2
- M204.1 0H11.9C5.3 0 0 5.3 0 11.9v192.2c0 6.6 5.3 11.9 11.9
3
- 11.9h103.5v-83.6H87.2V99.8h28.1v-24c0-27.9 17-43.1 41.9-43.1
4
- 11.9 0 22.2.9 25.2 1.3v29.2h-17.3c-13.5 0-16.2 6.4-16.2
5
- 15.9v20.8h32.3l-4.2 32.6h-28V216h55c6.6 0 11.9-5.3
6
  11.9-11.9V11.9C216 5.3 210.7 0 204.1 0z"></path></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 216 216" class="_5h0m" color="#FFFFFF"><path fill="#FFFFFF" d="
2
+ M204.1 0H11.9C5.3 0 0 5.3 0 11.9v192.2c0 6.6 5.3 11.9 11.9
3
+ 11.9h103.5v-83.6H87.2V99.8h28.1v-24c0-27.9 17-43.1 41.9-43.1
4
+ 11.9 0 22.2.9 25.2 1.3v29.2h-17.3c-13.5 0-16.2 6.4-16.2
5
+ 15.9v20.8h32.3l-4.2 32.6h-28V216h55c6.6 0 11.9-5.3
6
  11.9-11.9V11.9C216 5.3 210.7 0 204.1 0z"></path></svg>
admin/assets/img/mobilemonkey_logo.png ADDED
Binary file
admin/assets/js/admin.js CHANGED
@@ -1,502 +1,544 @@
1
-
2
- jQuery(document).ready(function($){
3
-
4
- // for support wp-color-picker
5
- // $('.htcc-color-wp').wpColorPicker();
6
-
7
- // $('select').material_select();
8
- // $('select').formSelect(); // v1.0.0.rc.2
9
-
10
- // $('.collapsible').collapsible();
11
-
12
-
13
- /**
14
- * Customer Chat - Messenger - position
15
- */
16
- var cc_i_position = document.querySelectorAll('.cc_i_position');
17
- var cc_g_position = document.querySelectorAll('.cc_g_position');
18
-
19
- var cc_i_position_mobile = document.querySelectorAll('.cc_i_position-mobile');
20
- var cc_g_position_mobile = document.querySelectorAll('.cc_g_position-mobile');
21
-
22
- // incase display-block is added remove it ..
23
- var cc_i_remove = function cc_i_remove() {
24
- cc_i_position.forEach(function (e) {
25
- e.classList.remove('display-block');
26
- });
27
- };
28
-
29
- var cc_g_remove = function cc_g_remove() {
30
- cc_g_position.forEach(function (e) {
31
- e.classList.remove('display-block');
32
- });
33
- };
34
-
35
- var cc_i_remove_mobile = function cc_i_remove_mobile() {
36
- cc_i_position_mobile.forEach(function (e) {
37
- e.classList.remove('display-block');
38
- });
39
- };
40
-
41
- var cc_g_remove_mobile = function cc_g_remove_mobile() {
42
- cc_g_position_mobile.forEach(function (e) {
43
- e.classList.remove('display-block');
44
- });
45
- };
46
-
47
-
48
- function cc_default_display() {
49
-
50
- // icon position
51
- var val = $('.cc_i_select').find(":selected").val();
52
-
53
- var cc_i_position2 = document.querySelector('.cc_i_position-2');
54
- var cc_i_position1 = document.querySelector('.cc_i_position-1');
55
- var cc_i_position3 = document.querySelector('.cc_i_position-3');
56
- var cc_i_position4 = document.querySelector('.cc_i_position-4');
57
-
58
- if (val == '1') {
59
- cc_i_position1.classList.add('display-block');
60
- } else if (val == '2') {
61
- cc_i_position2.classList.add('display-block');
62
- } else if (val == '3') {
63
- cc_i_position3.classList.add('display-block');
64
- } else if (val == '4') {
65
- cc_i_position4.classList.add('display-block');
66
- }
67
-
68
-
69
- // onchange - icon - postion
70
- $(".cc_i_select").on("change", function (e) {
71
- var x = e.target;
72
- var val = e.target.value;
73
-
74
- if (val == '1') {
75
- cc_i_remove();
76
- cc_i_position1.classList.add('display-block');
77
- } else if (val == '2') {
78
- cc_i_remove();
79
- cc_i_position2.classList.add('display-block');
80
- } else if (val == '3') {
81
- cc_i_remove();
82
- cc_i_position3.classList.add('display-block');
83
- } else if (val == '4') {
84
- cc_i_remove();
85
- cc_i_position4.classList.add('display-block');
86
- }
87
- });
88
-
89
-
90
- // Greetings dialog position
91
- var val = $('.cc_g_select').find(":selected").val();
92
-
93
- var cc_g_position2 = document.querySelector('.cc_g_position-2');
94
- var cc_g_position1 = document.querySelector('.cc_g_position-1');
95
- var cc_g_position3 = document.querySelector('.cc_g_position-3');
96
- var cc_g_position4 = document.querySelector('.cc_g_position-4');
97
-
98
- if (val == '1') {
99
- cc_g_position1.classList.add('display-block');
100
- } else if (val == '2') {
101
- cc_g_position2.classList.add('display-block');
102
- } else if (val == '3') {
103
- cc_g_position3.classList.add('display-block');
104
- } else if (val == '4') {
105
- cc_g_position4.classList.add('display-block');
106
- }
107
-
108
- // onchange - Greetings - postion
109
- $(".cc_g_select").on("change", function (e) {
110
- var x = e.target;
111
- var val = e.target.value;
112
-
113
- if (val == '1') {
114
- cc_g_remove();
115
- cc_g_position1.classList.add('display-block');
116
- } else if (val == '2') {
117
- cc_g_remove();
118
- cc_g_position2.classList.add('display-block');
119
- } else if (val == '3') {
120
- cc_g_remove();
121
- cc_g_position3.classList.add('display-block');
122
- } else if (val == '4') {
123
- cc_g_remove();
124
- cc_g_position4.classList.add('display-block');
125
- }
126
- });
127
-
128
-
129
- // icon position - mobile
130
- var val = $('.cc_i_select-mobile').find(":selected").val();
131
-
132
- var cc_i_position2_mobile = document.querySelector('.cc_i_position-2-mobile');
133
- var cc_i_position1_mobile = document.querySelector('.cc_i_position-1-mobile');
134
- var cc_i_position3_mobile = document.querySelector('.cc_i_position-3-mobile');
135
- var cc_i_position4_mobile = document.querySelector('.cc_i_position-4-mobile');
136
-
137
- if (val == '1') {
138
- cc_i_position1_mobile.classList.add('display-block');
139
- } else if (val == '2') {
140
- cc_i_position2_mobile.classList.add('display-block');
141
- } else if (val == '3') {
142
- cc_i_position3_mobile.classList.add('display-block');
143
- } else if (val == '4') {
144
- cc_i_position4_mobile.classList.add('display-block');
145
- }
146
-
147
- // onchange - icon - postion - mobile
148
- $(".cc_i_select-mobile").on("change", function (e) {
149
- var x = e.target;
150
- var val = e.target.value;
151
-
152
- if (val == '1') {
153
- cc_i_remove_mobile();
154
- cc_i_position1_mobile.classList.add('display-block');
155
- } else if (val == '2') {
156
- cc_i_remove_mobile();
157
- cc_i_position2_mobile.classList.add('display-block');
158
- } else if (val == '3') {
159
- cc_i_remove_mobile();
160
- cc_i_position3_mobile.classList.add('display-block');
161
- } else if (val == '4') {
162
- cc_i_remove_mobile();
163
- cc_i_position4_mobile.classList.add('display-block');
164
- }
165
- });
166
-
167
-
168
- // Greetings dialog position - mobile
169
- var val = $('.cc_g_select-mobile').find(":selected").val();
170
-
171
- var cc_g_position2_mobile = document.querySelector('.cc_g_position-2-mobile');
172
- var cc_g_position1_mobile = document.querySelector('.cc_g_position-1-mobile');
173
- var cc_g_position3_mobile = document.querySelector('.cc_g_position-3-mobile');
174
- var cc_g_position4_mobile = document.querySelector('.cc_g_position-4-mobile');
175
-
176
- if (val == '1') {
177
- cc_g_position1_mobile.classList.add('display-block');
178
- } else if (val == '2') {
179
- cc_g_position2_mobile.classList.add('display-block');
180
- } else if (val == '3') {
181
- cc_g_position3_mobile.classList.add('display-block');
182
- } else if (val == '4') {
183
- cc_g_position4_mobile.classList.add('display-block');
184
- }
185
-
186
- // onchange - Greetings - postion - mobile
187
- $(".cc_g_select-mobile").on("change", function (e) {
188
- var x = e.target;
189
- var val = e.target.value;
190
-
191
- if (val == '1') {
192
- cc_g_remove_mobile();
193
- cc_g_position1_mobile.classList.add('display-block');
194
- } else if (val == '2') {
195
- cc_g_remove_mobile();
196
- cc_g_position2_mobile.classList.add('display-block');
197
- } else if (val == '3') {
198
- cc_g_remove_mobile();
199
- cc_g_position3_mobile.classList.add('display-block');
200
- } else if (val == '4') {
201
- cc_g_remove_mobile();
202
- cc_g_position4_mobile.classList.add('display-block');
203
- }
204
- });
205
-
206
-
207
-
208
-
209
- };
210
-
211
- cc_default_display();
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
- /**
225
- * Custom Image positions
226
- */
227
- var ci_position = document.querySelectorAll('.ci_position');
228
- var ci_position_mobile = document.querySelectorAll('.ci_position-mobile');
229
-
230
- // incase display-block is added remove it ..
231
- var remove = function remove() {
232
- ci_position.forEach(function (e) {
233
- e.classList.remove('display-block');
234
- });
235
- };
236
-
237
- // incase display-block is added remove it ..
238
- var remove_mobile = function remove() {
239
- ci_position_mobile.forEach(function (e) {
240
- e.classList.remove('display-block');
241
- });
242
- };
243
-
244
-
245
- function ci_default_display() {
246
-
247
- var val = $('.select').find(":selected").val();
248
-
249
- var position1 = document.querySelector('.ci_position-1');
250
- var position2 = document.querySelector('.ci_position-2');
251
- var position3 = document.querySelector('.ci_position-3');
252
- var position4 = document.querySelector('.ci_position-4');
253
-
254
- if (val == '1') {
255
- position1.classList.add('display-block');
256
- } else if (val == '2') {
257
- position2.classList.add('display-block');
258
- } else if (val == '3') {
259
- position3.classList.add('display-block');
260
- } else if (val == '4') {
261
- position4.classList.add('display-block');
262
- }
263
-
264
-
265
- // onchange - postion
266
- $(".select").on("change", function (e) {
267
- var x = e.target;
268
- var val = e.target.value;
269
-
270
- if (val == '1') {
271
- remove();
272
- position1.classList.add('display-block');
273
- } else if (val == '2') {
274
- remove();
275
- position2.classList.add('display-block');
276
- } else if (val == '3') {
277
- remove();
278
- position3.classList.add('display-block');
279
- } else if (val == '4') {
280
- remove();
281
- position4.classList.add('display-block');
282
- }
283
- });
284
-
285
- };
286
-
287
- ci_default_display();
288
-
289
-
290
-
291
- function ci_default_display_mobile() {
292
-
293
- var val = $('.select-mobile').find(":selected").val();
294
-
295
- var position1 = document.querySelector('.ci_position-1-mobile');
296
- var position2 = document.querySelector('.ci_position-2-mobile');
297
- var position3 = document.querySelector('.ci_position-3-mobile');
298
- var position4 = document.querySelector('.ci_position-4-mobile');
299
-
300
- if (val == '1') {
301
- position1.classList.add('display-block');
302
- } else if (val == '2') {
303
- position2.classList.add('display-block');
304
- } else if (val == '3') {
305
- position3.classList.add('display-block');
306
- } else if (val == '4') {
307
- position4.classList.add('display-block');
308
- }
309
-
310
- // onchange - mobile position
311
- $(".select-mobile").on("change", function (e) {
312
- var x = e.target;
313
- var val = e.target.value;
314
-
315
- if (val == '1') {
316
- remove_mobile();
317
- position1.classList.add('display-block');
318
- } else if (val == '2') {
319
- remove_mobile();
320
- position2.classList.add('display-block');
321
- } else if (val == '3') {
322
- remove_mobile();
323
- position3.classList.add('display-block');
324
- } else if (val == '4') {
325
- remove_mobile();
326
- position4.classList.add('display-block');
327
- }
328
- });
329
-
330
-
331
- };
332
-
333
- ci_default_display_mobile();
334
-
335
- });
336
-
337
-
338
-
339
- /**
340
- * makes an ajax call
341
- * by default service_content will hide using style="display: none;"
342
- * if ht_cc_service_content option is not set or not equal to hide
343
- * then show the card - set display: block
344
- * ajax action at admin.php
345
- */
346
- jQuery.post(
347
- ajaxurl,
348
- {
349
- 'action': 'ht_cc_service_content',
350
- },
351
- function(response){
352
- if ( 'hide' !== response ) {
353
- var service_content = document.querySelector(".service-content");
354
- if ( service_content ) {
355
- service_content.style.display = "block";
356
- }
357
- }
358
- }
359
- );
360
-
361
-
362
- /**
363
- * when clicked on hide at admin - service content
364
- * makes an ajax call an update / create the ht_cc_service_content option to hide
365
- * ajax action at admin.php
366
- */
367
- function ht_cc_admin_hide_services_content() {
368
-
369
- jQuery.post(
370
- ajaxurl,
371
- {
372
- 'action': 'ht_cc_service_content_hide',
373
- },
374
- );
375
-
376
- var service_content = document.querySelector(".service-content");
377
-
378
- if ( service_content ) {
379
- service_content.style.display = "none";
380
- }
381
-
382
- }
383
-
384
-
385
- // wpColorPicker
386
- // jQuery(document).ready(function($){
387
- // $('.htcc-color-wp').wpColorPicker();
388
- // });
389
-
390
- jQuery(document).ready(function($){
391
-
392
- if ( $(".htcc-color-wp") ) {
393
- if ( $(".htcc-color-wp").spectrum ) {
394
- $(".htcc-color-wp").spectrum({
395
- preferredFormat: "hex",
396
- showInput: true,
397
- allowEmpty:true,
398
- chooseText:'Select',
399
- // showPalette: true,
400
- // showSelectionPalette: true,
401
- // palette: [ 'red', 'green', 'blue' ],
402
- // localStorageKey: "spectrum.homepage",
403
- });
404
- }
405
- }
406
-
407
- $('.button-lazy-load').click(function () {
408
- $(this).addClass('opacity-button');
409
- $(this).siblings('.lazyload').css('display', 'block');
410
- });
411
-
412
- $('.button-copy').click(function () {
413
- $(this).siblings('.copiedtext').css('display', 'inline-block');
414
- var attr = $(this).data('elem');
415
- var temp = jQuery("<input>");
416
- jQuery("body").append(temp);
417
- temp.val(jQuery(attr + " .to-copy").val().trim()).select();
418
- document.execCommand("copy");
419
- });
420
-
421
- function addUserRefs() {
422
- var user_ref, elements = document.querySelectorAll(".fb-send-to-messenger[page_id='1754274684887439']");
423
-
424
- if (elements) {
425
- for (var i = 0; i < elements.length; i++) {
426
- user_ref = 'mobile-monkey_' + Math.random().toString(36).substring(2) + Math.random().toString(36).substring(2);
427
- elements[i].setAttribute('user_ref', user_ref);
428
- elements[i].setAttribute('origin', window.location.href);
429
- }
430
- }
431
- }
432
-
433
- function getFacebookSDK() {
434
- if (window.FB) {
435
- return Promise.resolve(window.FB);
436
- }
437
-
438
- var pollNumber = 0;
439
-
440
- return new Promise(function (resolve, reject) {
441
- var intervalId = setInterval(function () {
442
- if (window.FB) {
443
- clearInterval(intervalId);
444
- resolve(window.FB);
445
- } else if (pollNumber > 300) {
446
- reject('Cannot reach Facebook SDK');
447
- } else {
448
- pollNumber = pollNumber + 1;
449
- }
450
- }, 350);
451
- });
452
- }
453
-
454
- getFacebookSDK().then(function (FB) {
455
- var link = document.getElementById('get-mm-free-button__link');
456
- addUserRefs();
457
-
458
- // Listen to FB events
459
- FB.Event.subscribe('send_to_messenger', function (e) {
460
-
461
- if (e.event === 'rendered') {
462
-
463
- var iframe = document.getElementById('get-mm-free-button__iframe-container');
464
-
465
- if (iframe && !iframe.classList.contains('fb-send-to-messenger--loaded-iframe')) {
466
- iframe.classList.add('fb-send-to-messenger--loaded-iframe');
467
- }
468
- }
469
-
470
-
471
- // The logic below may be different for you if you don't need to open a link like I
472
- // did for send to messenger plugin
473
-
474
- // Always click the link or button if opt_in
475
- if (e.event === 'opt_in') {
476
-
477
- if (link) {
478
- link.click();
479
- }
480
- }
481
-
482
- if (e.event === 'clicked') {
483
- setTimeout(function () {
484
- setInterval(function () {
485
- var focused = document.hasFocus();
486
-
487
- // We open up a new modal and Facebook and need to make sure action still takes place if user does not
488
- // click opt_in
489
- if (focused && link) {
490
- setTimeout(function () {
491
- link.click();
492
- }, 450);
493
- }
494
- }, 200);
495
- }, 200);
496
- }
497
- });
498
- });
499
-
500
-
501
- });
502
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ jQuery(document).ready(function($){
3
+
4
+ // for support wp-color-picker
5
+ // $('.htcc-color-wp').wpColorPicker();
6
+
7
+ // $('select').material_select();
8
+ // $('select').formSelect(); // v1.0.0.rc.2
9
+
10
+ // $('.collapsible').collapsible();
11
+
12
+
13
+ /**
14
+ * Customer Chat - Messenger - position
15
+ */
16
+ var cc_i_position = document.querySelectorAll('.cc_i_position');
17
+ var cc_g_position = document.querySelectorAll('.cc_g_position');
18
+
19
+ var cc_i_position_mobile = document.querySelectorAll('.cc_i_position-mobile');
20
+ var cc_g_position_mobile = document.querySelectorAll('.cc_g_position-mobile');
21
+
22
+ // incase display-block is added remove it ..
23
+ var cc_i_remove = function cc_i_remove() {
24
+ cc_i_position.forEach(function (e) {
25
+ e.classList.remove('display-block');
26
+ });
27
+ };
28
+
29
+ var cc_g_remove = function cc_g_remove() {
30
+ cc_g_position.forEach(function (e) {
31
+ e.classList.remove('display-block');
32
+ });
33
+ };
34
+
35
+ var cc_i_remove_mobile = function cc_i_remove_mobile() {
36
+ cc_i_position_mobile.forEach(function (e) {
37
+ e.classList.remove('display-block');
38
+ });
39
+ };
40
+
41
+ var cc_g_remove_mobile = function cc_g_remove_mobile() {
42
+ cc_g_position_mobile.forEach(function (e) {
43
+ e.classList.remove('display-block');
44
+ });
45
+ };
46
+
47
+
48
+ function cc_default_display() {
49
+
50
+ // icon position
51
+ var val = $('.cc_i_select').find(":selected").val();
52
+
53
+ var cc_i_position2 = document.querySelector('.cc_i_position-2');
54
+ var cc_i_position1 = document.querySelector('.cc_i_position-1');
55
+ var cc_i_position3 = document.querySelector('.cc_i_position-3');
56
+ var cc_i_position4 = document.querySelector('.cc_i_position-4');
57
+
58
+ if (val == '1') {
59
+ cc_i_position1.classList.add('display-block');
60
+ } else if (val == '2') {
61
+ cc_i_position2.classList.add('display-block');
62
+ } else if (val == '3') {
63
+ cc_i_position3.classList.add('display-block');
64
+ } else if (val == '4') {
65
+ cc_i_position4.classList.add('display-block');
66
+ }
67
+
68
+
69
+ // onchange - icon - postion
70
+ $(".cc_i_select").on("change", function (e) {
71
+ var x = e.target;
72
+ var val = e.target.value;
73
+
74
+ if (val == '1') {
75
+ cc_i_remove();
76
+ cc_i_position1.classList.add('display-block');
77
+ } else if (val == '2') {
78
+ cc_i_remove();
79
+ cc_i_position2.classList.add('display-block');
80
+ } else if (val == '3') {
81
+ cc_i_remove();
82
+ cc_i_position3.classList.add('display-block');
83
+ } else if (val == '4') {
84
+ cc_i_remove();
85
+ cc_i_position4.classList.add('display-block');
86
+ }
87
+ });
88
+
89
+
90
+ // Greetings dialog position
91
+ var val = $('.cc_g_select').find(":selected").val();
92
+
93
+ var cc_g_position2 = document.querySelector('.cc_g_position-2');
94
+ var cc_g_position1 = document.querySelector('.cc_g_position-1');
95
+ var cc_g_position3 = document.querySelector('.cc_g_position-3');
96
+ var cc_g_position4 = document.querySelector('.cc_g_position-4');
97
+
98
+ if (val == '1') {
99
+ cc_g_position1.classList.add('display-block');
100
+ } else if (val == '2') {
101
+ cc_g_position2.classList.add('display-block');
102
+ } else if (val == '3') {
103
+ cc_g_position3.classList.add('display-block');
104
+ } else if (val == '4') {
105
+ cc_g_position4.classList.add('display-block');
106
+ }
107
+
108
+ // onchange - Greetings - postion
109
+ $(".cc_g_select").on("change", function (e) {
110
+ var x = e.target;
111
+ var val = e.target.value;
112
+
113
+ if (val == '1') {
114
+ cc_g_remove();
115
+ cc_g_position1.classList.add('display-block');
116
+ } else if (val == '2') {
117
+ cc_g_remove();
118
+ cc_g_position2.classList.add('display-block');
119
+ } else if (val == '3') {
120
+ cc_g_remove();
121
+ cc_g_position3.classList.add('display-block');
122
+ } else if (val == '4') {
123
+ cc_g_remove();
124
+ cc_g_position4.classList.add('display-block');
125
+ }
126
+ });
127
+
128
+
129
+ // icon position - mobile
130
+ var val = $('.cc_i_select-mobile').find(":selected").val();
131
+
132
+ var cc_i_position2_mobile = document.querySelector('.cc_i_position-2-mobile');
133
+ var cc_i_position1_mobile = document.querySelector('.cc_i_position-1-mobile');
134
+ var cc_i_position3_mobile = document.querySelector('.cc_i_position-3-mobile');
135
+ var cc_i_position4_mobile = document.querySelector('.cc_i_position-4-mobile');
136
+
137
+ if (val == '1') {
138
+ cc_i_position1_mobile.classList.add('display-block');
139
+ } else if (val == '2') {
140
+ cc_i_position2_mobile.classList.add('display-block');
141
+ } else if (val == '3') {
142
+ cc_i_position3_mobile.classList.add('display-block');
143
+ } else if (val == '4') {
144
+ cc_i_position4_mobile.classList.add('display-block');
145
+ }
146
+
147
+ // onchange - icon - postion - mobile
148
+ $(".cc_i_select-mobile").on("change", function (e) {
149
+ var x = e.target;
150
+ var val = e.target.value;
151
+
152
+ if (val == '1') {
153
+ cc_i_remove_mobile();
154
+ cc_i_position1_mobile.classList.add('display-block');
155
+ } else if (val == '2') {
156
+ cc_i_remove_mobile();
157
+ cc_i_position2_mobile.classList.add('display-block');
158
+ } else if (val == '3') {
159
+ cc_i_remove_mobile();
160
+ cc_i_position3_mobile.classList.add('display-block');
161
+ } else if (val == '4') {
162
+ cc_i_remove_mobile();
163
+ cc_i_position4_mobile.classList.add('display-block');
164
+ }
165
+ });
166
+
167
+
168
+ // Greetings dialog position - mobile
169
+ var val = $('.cc_g_select-mobile').find(":selected").val();
170
+
171
+ var cc_g_position2_mobile = document.querySelector('.cc_g_position-2-mobile');
172
+ var cc_g_position1_mobile = document.querySelector('.cc_g_position-1-mobile');
173
+ var cc_g_position3_mobile = document.querySelector('.cc_g_position-3-mobile');
174
+ var cc_g_position4_mobile = document.querySelector('.cc_g_position-4-mobile');
175
+
176
+ if (val == '1') {
177
+ cc_g_position1_mobile.classList.add('display-block');
178
+ } else if (val == '2') {
179
+ cc_g_position2_mobile.classList.add('display-block');
180
+ } else if (val == '3') {
181
+ cc_g_position3_mobile.classList.add('display-block');
182
+ } else if (val == '4') {
183
+ cc_g_position4_mobile.classList.add('display-block');
184
+ }
185
+
186
+ // onchange - Greetings - postion - mobile
187
+ $(".cc_g_select-mobile").on("change", function (e) {
188
+ var x = e.target;
189
+ var val = e.target.value;
190
+
191
+ if (val == '1') {
192
+ cc_g_remove_mobile();
193
+ cc_g_position1_mobile.classList.add('display-block');
194
+ } else if (val == '2') {
195
+ cc_g_remove_mobile();
196
+ cc_g_position2_mobile.classList.add('display-block');
197
+ } else if (val == '3') {
198
+ cc_g_remove_mobile();
199
+ cc_g_position3_mobile.classList.add('display-block');
200
+ } else if (val == '4') {
201
+ cc_g_remove_mobile();
202
+ cc_g_position4_mobile.classList.add('display-block');
203
+ }
204
+ });
205
+
206
+
207
+
208
+
209
+ };
210
+
211
+ cc_default_display();
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+ /**
225
+ * Custom Image positions
226
+ */
227
+ var ci_position = document.querySelectorAll('.ci_position');
228
+ var ci_position_mobile = document.querySelectorAll('.ci_position-mobile');
229
+
230
+ // incase display-block is added remove it ..
231
+ var remove = function remove() {
232
+ ci_position.forEach(function (e) {
233
+ e.classList.remove('display-block');
234
+ });
235
+ };
236
+
237
+ // incase display-block is added remove it ..
238
+ var remove_mobile = function remove() {
239
+ ci_position_mobile.forEach(function (e) {
240
+ e.classList.remove('display-block');
241
+ });
242
+ };
243
+
244
+
245
+ function ci_default_display() {
246
+
247
+ var val = $('.select').find(":selected").val();
248
+
249
+ var position1 = document.querySelector('.ci_position-1');
250
+ var position2 = document.querySelector('.ci_position-2');
251
+ var position3 = document.querySelector('.ci_position-3');
252
+ var position4 = document.querySelector('.ci_position-4');
253
+
254
+ if (val == '1') {
255
+ position1.classList.add('display-block');
256
+ } else if (val == '2') {
257
+ position2.classList.add('display-block');
258
+ } else if (val == '3') {
259
+ position3.classList.add('display-block');
260
+ } else if (val == '4') {
261
+ position4.classList.add('display-block');
262
+ }
263
+
264
+
265
+ // onchange - postion
266
+ $(".select").on("change", function (e) {
267
+ var x = e.target;
268
+ var val = e.target.value;
269
+
270
+ if (val == '1') {
271
+ remove();
272
+ position1.classList.add('display-block');
273
+ } else if (val == '2') {
274
+ remove();
275
+ position2.classList.add('display-block');
276
+ } else if (val == '3') {
277
+ remove();
278
+ position3.classList.add('display-block');
279
+ } else if (val == '4') {
280
+ remove();
281
+ position4.classList.add('display-block');
282
+ }
283
+ });
284
+
285
+ };
286
+
287
+ ci_default_display();
288
+
289
+
290
+
291
+ function ci_default_display_mobile() {
292
+
293
+ var val = $('.select-mobile').find(":selected").val();
294
+
295
+ var position1 = document.querySelector('.ci_position-1-mobile');
296
+ var position2 = document.querySelector('.ci_position-2-mobile');
297
+ var position3 = document.querySelector('.ci_position-3-mobile');
298
+ var position4 = document.querySelector('.ci_position-4-mobile');
299
+
300
+ if (val == '1') {
301
+ position1.classList.add('display-block');
302
+ } else if (val == '2') {
303
+ position2.classList.add('display-block');
304
+ } else if (val == '3') {
305
+ position3.classList.add('display-block');
306
+ } else if (val == '4') {
307
+ position4.classList.add('display-block');
308
+ }
309
+
310
+ // onchange - mobile position
311
+ $(".select-mobile").on("change", function (e) {
312
+ var x = e.target;
313
+ var val = e.target.value;
314
+
315
+ if (val == '1') {
316
+ remove_mobile();
317
+ position1.classList.add('display-block');
318
+ } else if (val == '2') {
319
+ remove_mobile();
320
+ position2.classList.add('display-block');
321
+ } else if (val == '3') {
322
+ remove_mobile();
323
+ position3.classList.add('display-block');
324
+ } else if (val == '4') {
325
+ remove_mobile();
326
+ position4.classList.add('display-block');
327
+ }
328
+ });
329
+
330
+
331
+ };
332
+
333
+ ci_default_display_mobile();
334
+
335
+ });
336
+
337
+
338
+
339
+ /**
340
+ * makes an ajax call
341
+ * by default service_content will hide using style="display: none;"
342
+ * if ht_cc_service_content option is not set or not equal to hide
343
+ * then show the card - set display: block
344
+ * ajax action at admin.php
345
+ */
346
+ jQuery.post(
347
+ ajaxurl,
348
+ {
349
+ 'action': 'ht_cc_service_content',
350
+ },
351
+ function(response){
352
+ if ( 'hide' !== response ) {
353
+ var service_content = document.querySelector(".service-content");
354
+ if ( service_content ) {
355
+ service_content.style.display = "block";
356
+ }
357
+ }
358
+ }
359
+ );
360
+
361
+
362
+ /**
363
+ * when clicked on hide at admin - service content
364
+ * makes an ajax call an update / create the ht_cc_service_content option to hide
365
+ * ajax action at admin.php
366
+ */
367
+ function ht_cc_admin_hide_services_content() {
368
+
369
+ jQuery.post(
370
+ ajaxurl,
371
+ {
372
+ 'action': 'ht_cc_service_content_hide',
373
+ },
374
+ );
375
+
376
+ var service_content = document.querySelector(".service-content");
377
+
378
+ if ( service_content ) {
379
+ service_content.style.display = "none";
380
+ }
381
+
382
+ }
383
+
384
+
385
+ // wpColorPicker
386
+ // jQuery(document).ready(function($){
387
+ // $('.htcc-color-wp').wpColorPicker();
388
+ // });
389
+
390
+ jQuery(document).ready(function($){
391
+ if ( $(".htcc-color-wp") ) {
392
+ if ( $(".htcc-color-wp").spectrum ) {
393
+ $(".htcc-color-wp").spectrum({
394
+ preferredFormat: "hex",
395
+ showInput: true,
396
+ allowEmpty:true,
397
+ chooseText:'Select',
398
+ // showPalette: true,
399
+ // showSelectionPalette: true,
400
+ // palette: [ 'red', 'green', 'blue' ],
401
+ // localStorageKey: "spectrum.homepage",
402
+ });
403
+ }
404
+ }
405
+
406
+ $('.button-lazy-load').click(function () {
407
+ $(this).addClass('opacity-button');
408
+ $(this).siblings('.lazyload').css('display', 'block');
409
+ });
410
+
411
+ $('.button-copy').click(function () {
412
+ $(this).siblings('.copiedtext').css('display', 'inline-block');
413
+ var attr = $(this).data('elem');
414
+ var temp = jQuery("<input>");
415
+ jQuery("body").append(temp);
416
+ temp.val(jQuery(attr + " .to-copy").val().trim()).select();
417
+ document.execCommand("copy");
418
+ });
419
+
420
+ function addUserRefs() {
421
+ var user_ref, elements = document.querySelectorAll(".fb-send-to-messenger[page_id='1754274684887439']");
422
+
423
+ if (elements) {
424
+ for (var i = 0; i < elements.length; i++) {
425
+ user_ref = 'mobile-monkey_' + Math.random().toString(36).substring(2) + Math.random().toString(36).substring(2);
426
+ elements[i].setAttribute('user_ref', user_ref);
427
+ elements[i].setAttribute('origin', window.location.href);
428
+ }
429
+ }
430
+ }
431
+
432
+ function getFacebookSDK() {
433
+ if (window.FB) {
434
+ return Promise.resolve(window.FB);
435
+ }
436
+
437
+ var pollNumber = 0;
438
+
439
+ return new Promise(function (resolve, reject) {
440
+ var intervalId = setInterval(function () {
441
+ if (window.FB) {
442
+ clearInterval(intervalId);
443
+ resolve(window.FB);
444
+ } else if (pollNumber > 300) {
445
+ reject('Cannot reach Facebook SDK');
446
+ } else {
447
+ pollNumber = pollNumber + 1;
448
+ }
449
+ }, 350);
450
+ });
451
+ }
452
+
453
+ getFacebookSDK().then(function (FB) {
454
+ var link = document.getElementById('get-mm-free-button__link');
455
+ addUserRefs();
456
+
457
+ // Listen to FB events
458
+ FB.Event.subscribe('send_to_messenger', function (e) {
459
+
460
+ if (e.event === 'rendered') {
461
+
462
+ var iframe = document.getElementById('get-mm-free-button__iframe-container');
463
+
464
+ if (iframe && !iframe.classList.contains('fb-send-to-messenger--loaded-iframe')) {
465
+ iframe.classList.add('fb-send-to-messenger--loaded-iframe');
466
+ }
467
+ }
468
+
469
+
470
+ // The logic below may be different for you if you don't need to open a link like I
471
+ // did for send to messenger plugin
472
+
473
+ // Always click the link or button if opt_in
474
+ if (e.event === 'opt_in') {
475
+
476
+ if (link) {
477
+ link.click();
478
+ }
479
+ }
480
+
481
+ if (e.event === 'clicked') {
482
+ setTimeout(function () {
483
+ setInterval(function () {
484
+ var focused = document.hasFocus();
485
+
486
+ // We open up a new modal and Facebook and need to make sure action still takes place if user does not
487
+ // click opt_in
488
+ if (focused && link) {
489
+ setTimeout(function () {
490
+ link.click();
491
+ }, 450);
492
+ }
493
+ }, 200);
494
+ }, 200);
495
+ }
496
+ });
497
+ });
498
+
499
+ $('h3.acc-title').each(function( index ) {
500
+ if ($(this).hasClass('open')){
501
+ $(this).next().css('display','block');
502
+ }else
503
+ if ($(this).hasClass('colapse')){
504
+ $(this).next().css('display','none');
505
+ }else {
506
+ $(this).css('pointer-events','none');
507
+ $(this).css('opacity','0.6');
508
+ $(this).next().css('display','none');
509
+ }
510
+ });
511
+
512
+ $('.toc-tab-box .acc-title, table.form-table h3.acc-title').off().on('click', function (event) {
513
+ if (!$(this).hasClass('open')) {
514
+ $(this).addClass('open');
515
+ $(this).next().slideDown();
516
+ $(this).next().css('display','block');
517
+ } else {
518
+ $(this).removeClass('open');
519
+ $(this).next().slideUp();
520
+ }
521
+ });
522
+ $('.acc-content').each(function() {
523
+ if ($(this).hasClass('disabled')) {
524
+ $(this).find("table").css('display', 'none');
525
+ $(this).find(".mm_only").css('display', 'block');
526
+ }
527
+ });
528
+ $('.trigger').on('click', function() {
529
+ $('.modal-wrapper-mobilemonkey').removeClass("open");
530
+ $('.modal-wrapper-mobilemonkey').toggleClass('close');
531
+ return false;
532
+ });
533
+ if (!$('#htcc_fb_as_state').prop('checked')){
534
+ $('.as').css({'pointer-events':'none','opacity':'0.6'});
535
+ }
536
+ $('#htcc_fb_as_state').on('change', function (event) {
537
+ if(!$(this).prop('checked')){
538
+ $('.as').css({'pointer-events':'none','opacity':'0.6'});
539
+ }else{
540
+ $('.as').css({'pointer-events':'all','opacity':'1'});
541
+ }
542
+ })
543
+ });
544
+
admin/assets/js/materialize.min.js CHANGED
@@ -1,47 +1,6 @@
1
- // code added after this material design..
2
-
3
- // material design
4
- var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}window.cash=function(){var i,o=document,a=window,t=Array.prototype,r=t.slice,n=t.filter,s=t.push,e=function(){},h=function(t){return typeof t==typeof e&&t.call},d=function(t){return"string"==typeof t},l=/^#[\w-]*$/,u=/^\.[\w-]*$/,c=/<.+>/,p=/^\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement("base");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){"loading"!==o.readyState?t():o.addEventListener("DOMContentLoaded",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;s<i;s++)this[s]=n[s];return this}function _(t,e){return new g(t,e)}var y=_.fn=_.prototype=g.prototype={cash:!0,length:0,push:s,splice:t.splice,map:t.map,init:g};function k(t,e){for(var i=t.length,n=0;n<i&&!1!==e.call(t[n],t[n],n,t);n++);}function b(t,e){var i=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector);return!!i&&i.call(t,e)}function w(e){return d(e)?b:e.cash?function(t){return e.is(t)}:function(t,e){return t===e}}function C(t){return _(r.call(t).filter(function(t,e,i){return i.indexOf(t)===e}))}Object.defineProperty(y,"constructor",{value:_}),_.parseHTML=f,_.noop=e,_.isFunction=h,_.isString=d,_.extend=y.extend=function(t){t=t||{};var e=r.call(arguments),i=e.length,n=1;for(1===e.length&&(t=this,n=0);n<i;n++)if(e[n])for(var s in e[n])e[n].hasOwnProperty(s)&&(t[s]=e[n][s]);return t},_.extend({merge:function(t,e){for(var i=+e.length,n=t.length,s=0;s<i;n++,s++)t[n]=e[s];return t.length=n,t},each:k,matches:b,unique:C,isArray:Array.isArray,isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)}});var E=_.uid="_cash"+Date.now();function M(t){return t[E]=t[E]||{}}function O(t,e,i){return M(t)[e]=i}function x(t,e){var i=M(t);return void 0===i[e]&&(i[e]=t.dataset?t.dataset[e]:_(t).attr("data-"+e)),i[e]}y.extend({data:function(e,i){if(d(e))return void 0===i?x(this[0],e):this.each(function(t){return O(t,e,i)});for(var t in e)this.data(t,e[t]);return this},removeData:function(s){return this.each(function(t){return i=s,void((n=M(e=t))?delete n[i]:e.dataset?delete e.dataset[i]:_(e).removeAttr("data-"+name));var e,i,n})}});var L=/\S+/g;function T(t){return d(t)&&t.match(L)}function $(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function B(t,e,i){t.classList?t.classList.add(e):i.indexOf(" "+e+" ")&&(t.className+=" "+e)}function D(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(e,"")}y.extend({addClass:function(t){var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){B(e,t,i)})}):this},attr:function(e,i){if(e){if(d(e))return void 0===i?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(t){t.setAttribute?t.setAttribute(e,i):t[e]=i});for(var t in e)this.attr(t,e[t]);return this}},hasClass:function(t){var e=!1,i=T(t);return i&&i.length&&this.each(function(t){return!(e=$(t,i[0]))}),e},prop:function(e,i){if(d(e))return void 0===i?this[0][e]:this.each(function(t){t[e]=i});for(var t in e)this.prop(t,e[t]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(t){if(!arguments.length)return this.attr("class","");var i=T(t);return i?this.each(function(e){k(i,function(t){D(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(t,e){if(void 0!==e)return this[e?"addClass":"removeClass"](t);var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){$(e,t)?D(e,t):B(e,t,i)})}):this}}),y.extend({add:function(t,e){return C(_.merge(this,_(t,e)))},each:function(t){return k(this,t),this},eq:function(t){return _(this.get(t))},filter:function(e){if(!e)return this;var i=h(e)?e:w(e);return _(n.call(this,function(t){return i(t,e)}))},first:function(){return this.eq(0)},get:function(t){return void 0===t?r.call(this):t<0?this[t+this.length]:this[t]},index:function(t){var e=t?_(t)[0]:this[0],i=t?this:_(e).parent().children();return r.call(i).indexOf(e)},last:function(){return this.eq(-1)}});var S,I,A,R,H,P,W=(H=/(?:^\w|[A-Z]|\b\w)/g,P=/[\s-_]+/g,function(t){return t.replace(H,function(t,e){return t[0===e?"toLowerCase":"toUpperCase"]()}).replace(P,"")}),j=(S={},I=document,A=I.createElement("div"),R=A.style,function(e){if(e=W(e),S[e])return S[e];var t=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+["webkit","moz","ms","o"].join(t+" ")+t).split(" ");return k(i,function(t){if(t in R)return S[t]=e=S[e]=t,!1}),S[e]});function F(t,e){return parseInt(a.getComputedStyle(t[0],null)[e],10)||0}function q(e,i,t){var n,s=x(e,"_cashEvents"),o=s&&s[i];o&&(t?(e.removeEventListener(i,t),0<=(n=o.indexOf(t))&&o.splice(n,1)):(k(o,function(t){e.removeEventListener(i,t)}),o=[]))}function N(t,e){return"&"+encodeURIComponent(t)+"="+encodeURIComponent(e).replace(/%20/g,"+")}function z(t){var e,i,n,s=t.type;if(!s)return null;switch(s.toLowerCase()){case"select-one":return 0<=(n=(i=t).selectedIndex)?i.options[n].value:null;case"select-multiple":return e=[],k(t.options,function(t){t.selected&&e.push(t.value)}),e.length?e:null;case"radio":case"checkbox":return t.checked?t.value:null;default:return t.value?t.value:null}}function V(e,i,n){var t=d(i);t||!i.length?k(e,t?function(t){return t.insertAdjacentHTML(n?"afterbegin":"beforeend",i)}:function(t,e){return function(t,e,i){if(i){var n=t.childNodes[0];t.insertBefore(e,n)}else t.appendChild(e)}(t,0===e?i:i.cloneNode(!0),n)}):k(i,function(t){return V(e,t,n)})}_.prefixedProp=j,_.camelCase=W,y.extend({css:function(e,i){if(d(e))return e=j(e),1<arguments.length?this.each(function(t){return t.style[e]=i}):a.getComputedStyle(this[0])[e];for(var t in e)this.css(t,e[t]);return this}}),k(["Width","Height"],function(e){var t=e.toLowerCase();y[t]=function(){return this[0].getBoundingClientRect()[t]},y["inner"+e]=function(){return this[0]["client"+e]},y["outer"+e]=function(t){return this[0]["offset"+e]+(t?F(this,"margin"+("Width"===e?"Left":"Top"))+F(this,"margin"+("Width"===e?"Right":"Bottom")):0)}}),y.extend({off:function(e,i){return this.each(function(t){return q(t,e,i)})},on:function(a,i,r,l){var n;if(!d(a)){for(var t in a)this.on(t,i,a[t]);return this}return h(i)&&(r=i,i=null),"ready"===a?(m(r),this):(i&&(n=r,r=function(t){for(var e=t.target;!b(e,i);){if(e===this||null===e)return e=!1;e=e.parentNode}e&&n.call(e,t)}),this.each(function(t){var e,i,n,s,o=r;l&&(o=function(){r.apply(this,arguments),q(t,a,o)}),i=a,n=o,(s=x(e=t,"_cashEvents")||O(e,"_cashEvents",{}))[i]=s[i]||[],s[i].push(n),e.addEventListener(i,n)}))},one:function(t,e,i){return this.on(t,e,i,!0)},ready:m,trigger:function(t,e){if(document.createEvent){var i=document.createEvent("HTMLEvents");return i.initEvent(t,!0,!1),i=this.extend(i,e),this.each(function(t){return t.dispatchEvent(i)})}}}),y.extend({serialize:function(){var s="";return k(this[0].elements||this,function(t){if(!t.disabled&&"FIELDSET"!==t.tagName){var e=t.name;switch(t.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var i=z(t);null!==i&&k(i,function(t){s+=N(e,t)});break;default:var n=z(t);null!==n&&(s+=N(e,n))}}}),s.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),y.extend({after:function(t){return _(t).insertAfter(this),this},append:function(t){return V(this,t),this},appendTo:function(t){return V(_(t),this),this},before:function(t){return _(t).insertBefore(this),this},clone:function(){return _(this.map(function(t){return t.cloneNode(!0)}))},empty:function(){return this.html(""),this},html:function(t){if(void 0===t)return this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t){return t.innerHTML=e})},insertAfter:function(t){var s=this;return _(t).each(function(t,e){var i=t.parentNode,n=t.nextSibling;s.each(function(t){i.insertBefore(0===e?t:t.cloneNode(!0),n)})}),this},insertBefore:function(t){var s=this;return _(t).each(function(e,i){var n=e.parentNode;s.each(function(t){n.insertBefore(0===i?t:t.cloneNode(!0),e)})}),this},prepend:function(t){return V(this,t,!0),this},prependTo:function(t){return V(_(t),this,!0),this},remove:function(){return this.each(function(t){if(t.parentNode)return t.parentNode.removeChild(t)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var X=o.documentElement;return y.extend({position:function(){var t=this[0];return{left:t.offsetLeft,top:t.offsetTop}},offset:function(){var t=this[0].getBoundingClientRect();return{top:t.top+a.pageYOffset-X.clientTop,left:t.left+a.pageXOffset-X.clientLeft}},offsetParent:function(){return _(this[0].offsetParent)}}),y.extend({children:function(e){var i=[];return this.each(function(t){s.apply(i,t.children)}),i=C(i),e?i.filter(function(t){return b(t,e)}):i},closest:function(t){return!t||this.length<1?_():this.is(t)?this.filter(t):this.parent().closest(t)},is:function(e){if(!e)return!1;var i=!1,n=w(e);return this.each(function(t){return!(i=n(t,e))}),i},find:function(e){if(!e||e.nodeType)return _(e&&this.has(e).length?e:null);var i=[];return this.each(function(t){s.apply(i,v(e,t))}),C(i)},has:function(e){var t=d(e)?function(t){return 0!==v(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return _(this[0].nextElementSibling)},not:function(e){if(!e)return this;var i=w(e);return this.filter(function(t){return!i(t,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),C(e)},parents:function(e){var i,n=[];return this.each(function(t){for(i=t;i&&i.parentNode&&i!==o.body.parentNode;)i=i.parentNode,(!e||e&&b(i,e))&&n.push(i)}),C(n)},prev:function(){return _(this[0].previousElementSibling)},siblings:function(t){var e=this.parent().children(t),i=this[0];return e.filter(function(t){return t!==i})}}),_}();var Component=function(){function s(t,e,i){_classCallCheck(this,s),e instanceof Element||console.error(Error(e+" is not an HTML Element"));var n=t.getInstance(e);n&&n.destroy(),this.el=e,this.$el=cash(e)}return _createClass(s,null,[{key:"init",value:function(t,e,i){var n=null;if(e instanceof Element)n=new t(e,i);else if(e&&(e.jquery||e.cash||e instanceof NodeList)){for(var s=[],o=0;o<e.length;o++)s.push(new t(e[o],i));n=s}return n}}]),s}();!function(t){t.Package?M={}:t.M={},M.jQueryLoaded=!!t.jQuery}(window),"function"==typeof define&&define.amd?define("M",[],function(){return M}):"undefined"==typeof exports||exports.nodeType||("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=M),exports.default=M),M.version="1.0.0",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;var docHandleKeydown=function(t){M.keyDown=!0,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},docHandleKeyup=function(t){M.keyDown=!1,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},docHandleFocus=function(t){M.keyDown&&document.body.classList.add("keyboard-focused")},docHandleBlur=function(t){document.body.classList.remove("keyboard-focused")};document.addEventListener("keydown",docHandleKeydown,!0),document.addEventListener("keyup",docHandleKeyup,!0),document.addEventListener("focus",docHandleFocus,!0),document.addEventListener("blur",docHandleBlur,!0),M.initializeJqueryWrapper=function(n,s,o){jQuery.fn[s]=function(e){if(n.prototype[e]){var i=Array.prototype.slice.call(arguments,1);if("get"===e.slice(0,3)){var t=this.first()[0][o];return t[e].apply(t,i)}return this.each(function(){var t=this[o];t[e].apply(t,i)})}if("object"==typeof e||!e)return n.init(this,e),this;jQuery.error("Method "+e+" does not exist on jQuery."+s)}},M.AutoInit=function(t){var e=t||document.body,i={Autocomplete:e.querySelectorAll(".autocomplete:not(.no-autoinit)"),Carousel:e.querySelectorAll(".carousel:not(.no-autoinit)"),Chips:e.querySelectorAll(".chips:not(.no-autoinit)"),Collapsible:e.querySelectorAll(".collapsible:not(.no-autoinit)"),Datepicker:e.querySelectorAll(".datepicker:not(.no-autoinit)"),Dropdown:e.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),Materialbox:e.querySelectorAll(".materialboxed:not(.no-autoinit)"),Modal:e.querySelectorAll(".modal:not(.no-autoinit)"),Parallax:e.querySelectorAll(".parallax:not(.no-autoinit)"),Pushpin:e.querySelectorAll(".pushpin:not(.no-autoinit)"),ScrollSpy:e.querySelectorAll(".scrollspy:not(.no-autoinit)"),FormSelect:e.querySelectorAll("select:not(.no-autoinit)"),Sidenav:e.querySelectorAll(".sidenav:not(.no-autoinit)"),Tabs:e.querySelectorAll(".tabs:not(.no-autoinit)"),TapTarget:e.querySelectorAll(".tap-target:not(.no-autoinit)"),Timepicker:e.querySelectorAll(".timepicker:not(.no-autoinit)"),Tooltip:e.querySelectorAll(".tooltipped:not(.no-autoinit)"),FloatingActionButton:e.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")};for(var n in i){M[n].init(i[n])}},M.objectSelectorString=function(t){return((t.prop("tagName")||"")+(t.attr("id")||"")+(t.attr("class")||"")).replace(/\s/g,"")},M.guid=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}(),M.escapeHash=function(t){return t.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")},M.elementOrParentIsFixed=function(t){var e=$(t),i=e.add(e.parents()),n=!1;return i.each(function(){if("fixed"===$(this).css("position"))return!(n=!0)}),n},M.checkWithinContainer=function(t,e,i){var n={top:!1,right:!1,bottom:!1,left:!1},s=t.getBoundingClientRect(),o=t===document.body?Math.max(s.bottom,window.innerHeight):s.bottom,a=t.scrollLeft,r=t.scrollTop,l=e.left-a,h=e.top-r;return(l<s.left+i||l<i)&&(n.left=!0),(l+e.width>s.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(h<s.top+i||h<i)&&(n.top=!0),(h+e.height>o-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},$jscomp.iteratorPrototype=function(t){return $jscomp.initSymbolIterator(),(t={next:t})[$jscomp.global.Symbol.iterator]=function(){return this},t},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(e,i){$jscomp.initSymbolIterator(),e instanceof String&&(e+="");var n=0,s={next:function(){if(n<e.length){var t=n++;return{value:i(t,e[t]),done:!1}}return s.next=function(){return{done:!0,value:void 0}},s.next()}};return s[Symbol.iterator]=function(){return s},s},$jscomp.polyfill=function(t,e,i,n){if(e){for(i=$jscomp.global,t=t.split("."),n=0;n<t.length-1;n++){var s=t[n];s in i||(i[s]={}),i=i[s]}(e=e(n=i[t=t[t.length-1]]))!=n&&null!=e&&$jscomp.defineProperty(i,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill("Array.prototype.keys",function(t){return t||function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},"es6-impl","es3");var $jscomp$this=this;M.anime=function(){function s(t){if(!B.col(t))try{return document.querySelectorAll(t)}catch(t){}}function b(t,e){for(var i=t.length,n=2<=arguments.length?e:void 0,s=[],o=0;o<i;o++)if(o in t){var a=t[o];e.call(n,a,o,t)&&s.push(a)}return s}function d(t){return t.reduce(function(t,e){return t.concat(B.arr(e)?d(e):e)},[])}function o(t){return B.arr(t)?t:(B.str(t)&&(t=s(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function a(t,e){return t.some(function(t){return t===e})}function r(t){var e,i={};for(e in t)i[e]=t[e];return i}function u(t,e){var i,n=r(t);for(i in t)n[i]=e.hasOwnProperty(i)?e[i]:t[i];return n}function c(t,e){var i,n=r(t);for(i in e)n[i]=B.und(t[i])?e[i]:t[i];return n}function l(t){if(t=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function h(t,e){return B.fnc(t)?t(e.target,e.id,e.total):t}function w(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function p(t,e){return B.dom(t)&&a($,e)?"transform":B.dom(t)&&(t.getAttribute(e)||B.svg(t)&&t[e])?"attribute":B.dom(t)&&"transform"!==e&&w(t,e)?"css":null!=t[e]?"object":void 0}function v(t,e){switch(p(t,e)){case"transform":return function(t,i){var e,n=-1<(e=i).indexOf("translate")||"perspective"===e?"px":-1<e.indexOf("rotate")||-1<e.indexOf("skew")?"deg":void 0,n=-1<i.indexOf("scale")?1:0+n;if(!(t=t.style.transform))return n;for(var s=[],o=[],a=[],r=/(\w+)\((.+?)\)/g;s=r.exec(t);)o.push(s[1]),a.push(s[2]);return(t=b(a,function(t,e){return o[e]===i})).length?t[0]:n}(t,e);case"css":return w(t,e);case"attribute":return t.getAttribute(e)}return t[e]||0}function f(t,e){var i=/^(\*=|\+=|-=)/.exec(t);if(!i)return t;var n=l(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(i[0],"")),i[0][0]){case"+":return e+t+n;case"-":return e-t+n;case"*":return e*t+n}}function m(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function i(t){t=t.points;for(var e,i=0,n=0;n<t.numberOfItems;n++){var s=t.getItem(n);0<n&&(i+=m(e,s)),e=s}return i}function g(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return 2*Math.PI*t.getAttribute("r");case"rect":return 2*t.getAttribute("width")+2*t.getAttribute("height");case"line":return m({x:t.getAttribute("x1"),y:t.getAttribute("y1")},{x:t.getAttribute("x2"),y:t.getAttribute("y2")});case"polyline":return i(t);case"polygon":var e=t.points;return i(t)+m(e.getItem(e.numberOfItems-1),e.getItem(0))}}function C(e,i){function t(t){return t=void 0===t?0:t,e.el.getPointAtLength(1<=i+t?i+t:0)}var n=t(),s=t(-1),o=t(1);switch(e.property){case"x":return n.x;case"y":return n.y;case"angle":return 180*Math.atan2(o.y-s.y,o.x-s.x)/Math.PI}}function _(t,e){var i,n=/-?\d*\.?\d+/g;if(i=B.pth(t)?t.totalLength:t,B.col(i))if(B.rgb(i)){var s=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(i);i=s?"rgba("+s[1]+",1)":i}else i=B.hex(i)?function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,n){return e+e+i+i+n+n});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);t=parseInt(e[1],16);var i=parseInt(e[2],16),e=parseInt(e[3],16);return"rgba("+t+","+i+","+e+",1)"}(i):B.hsl(i)?function(t){function e(t,e,i){return i<0&&(i+=1),1<i&&--i,i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}var i=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);t=parseInt(i[1])/360;var n=parseInt(i[2])/100,s=parseInt(i[3])/100,i=i[4]||1;if(0==n)s=n=t=s;else{var o=s<.5?s*(1+n):s+n-s*n,a=2*s-o,s=e(a,o,t+1/3),n=e(a,o,t);t=e(a,o,t-1/3)}return"rgba("+255*s+","+255*n+","+255*t+","+i+")"}(i):void 0;else s=(s=l(i))?i.substr(0,i.length-s.length):i,i=e&&!/\s/g.test(i)?s+e:s;return{original:i+="",numbers:i.match(n)?i.match(n).map(Number):[0],strings:B.str(t)||e?i.split(n):[]}}function y(t){return b(t=t?d(B.arr(t)?t.map(o):o(t)):[],function(t,e,i){return i.indexOf(t)===e})}function k(t,i){var e=r(i);if(B.arr(t)){var n=t.length;2!==n||B.obj(t[0])?B.fnc(i.duration)||(e.duration=i.duration/n):t={value:t}}return o(t).map(function(t,e){return e=e?0:i.delay,t=B.obj(t)&&!B.pth(t)?t:{value:t},B.und(t.delay)&&(t.delay=e),t}).map(function(t){return c(t,e)})}function E(o,a){var r;return o.tweens.map(function(t){var e=(t=function(t,e){var i,n={};for(i in t){var s=h(t[i],e);B.arr(s)&&1===(s=s.map(function(t){return h(t,e)})).length&&(s=s[0]),n[i]=s}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(t,a)).value,i=v(a.target,o.name),n=r?r.to.original:i,n=B.arr(e)?e[0]:n,s=f(B.arr(e)?e[1]:e,n),i=l(s)||l(n)||l(i);return t.from=_(n,i),t.to=_(s,i),t.start=r?r.end:o.offset,t.end=t.start+t.delay+t.duration,t.easing=function(t){return B.arr(t)?D.apply(this,t):S[t]}(t.easing),t.elasticity=(1e3-Math.min(Math.max(t.elasticity,1),999))/1e3,t.isPath=B.pth(e),t.isColor=B.col(t.from.original),t.isColor&&(t.round=1),r=t})}function M(e,t,i,n){var s="delay"===e;return t.length?(s?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):s?n.delay:i.offset+n.delay+n.duration}function n(t){var e,i,n,s,o=u(L,t),a=u(T,t),r=(i=t.targets,(n=y(i)).map(function(t,e){return{target:t,id:e,total:n.length}})),l=[],h=c(o,a);for(e in t)h.hasOwnProperty(e)||"targets"===e||l.push({name:e,offset:h.offset,tweens:k(t[e],a)});return s=l,t=b(d(r.map(function(n){return s.map(function(t){var e=p(n.target,t.name);if(e){var i=E(t,n);t={type:e,property:t.name,animatable:n,tweens:i,duration:i[i.length-1].end,delay:i[0].delay}}else t=void 0;return t})})),function(t){return!B.und(t)}),c(o,{children:[],animatables:r,animations:t,duration:M("duration",t,o,a),delay:M("delay",t,o,a)})}function O(t){function d(){return window.Promise&&new Promise(function(t){return _=t})}function u(t){return k.reversed?k.duration-t:t}function c(e){for(var t=0,i={},n=k.animations,s=n.length;t<s;){var o=n[t],a=o.animatable,r=o.tweens,l=r.length-1,h=r[l];l&&(h=b(r,function(t){return e<t.end})[0]||h);for(var r=Math.min(Math.max(e-h.start-h.delay,0),h.duration)/h.duration,d=isNaN(r)?1:h.easing(r,h.elasticity),r=h.to.strings,u=h.round,l=[],c=void 0,c=h.to.numbers.length,p=0;p<c;p++){var v=void 0,v=h.to.numbers[p],f=h.from.numbers[p],v=h.isPath?C(h.value,d*v):f+d*(v-f);u&&(h.isColor&&2<p||(v=Math.round(v*u)/u)),l.push(v)}if(h=r.length)for(c=r[0],d=0;d<h;d++)u=r[d+1],p=l[d],isNaN(p)||(c=u?c+(p+u):c+(p+" "));else c=l[0];I[o.type](a.target,o.property,c,i,a.id),o.currentValue=c,t++}if(t=Object.keys(i).length)for(n=0;n<t;n++)x||(x=w(document.body,"transform")?"transform":"-webkit-transform"),k.animatables[n].target.style[x]=i[n].join(" ");k.currentTime=e,k.progress=e/k.duration*100}function p(t){k[t]&&k[t](k)}function v(){k.remaining&&!0!==k.remaining&&k.remaining--}function e(t){var e=k.duration,i=k.offset,n=i+k.delay,s=k.currentTime,o=k.reversed,a=u(t);if(k.children.length){var r=k.children,l=r.length;if(a>=k.currentTime)for(var h=0;h<l;h++)r[h].seek(a);else for(;l--;)r[l].seek(a)}(n<=a||!e)&&(k.began||(k.began=!0,p("begin")),p("run")),i<a&&a<e?c(a):(a<=i&&0!==s&&(c(0),o&&v()),(e<=a&&s!==e||!e)&&(c(e),o||v())),p("update"),e<=t&&(k.remaining?(m=f,"alternate"===k.direction&&(k.reversed=!k.reversed)):(k.pause(),k.completed||(k.completed=!0,p("complete"),"Promise"in window&&(_(),y=d()))),g=0)}t=void 0===t?{}:t;var f,m,g=0,_=null,y=d(),k=n(t);return k.reset=function(){var t=k.direction,e=k.loop;for(k.currentTime=0,k.progress=0,k.paused=!0,k.began=!1,k.completed=!1,k.reversed="reverse"===t,k.remaining="alternate"===t&&1===e?2:e,c(0),t=k.children.length;t--;)k.children[t].reset()},k.tick=function(t){f=t,m||(m=f),e((g+f-m)*O.speed)},k.seek=function(t){e(u(t))},k.pause=function(){var t=A.indexOf(k);-1<t&&A.splice(t,1),k.paused=!0},k.play=function(){k.paused&&(k.paused=!1,m=0,g=u(k.currentTime),A.push(k),R||H())},k.reverse=function(){k.reversed=!k.reversed,m=0,g=u(k.currentTime)},k.restart=function(){k.pause(),k.reset(),k.play()},k.finished=y,k.reset(),k.autoplay&&k.play(),k}var x,L={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},T={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},$="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),B={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf("Object")},pth:function(t){return B.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||B.svg(t)},str:function(t){return"string"==typeof t},fnc:function(t){return"function"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return B.hex(t)||B.rgb(t)||B.hsl(t)}},D=function(){function u(t,e,i){return(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t}return function(a,r,l,h){if(0<=a&&a<=1&&0<=l&&l<=1){var d=new Float32Array(11);if(a!==r||l!==h)for(var t=0;t<11;++t)d[t]=u(.1*t,a,l);return function(t){if(a===r&&l===h)return t;if(0===t)return 0;if(1===t)return 1;for(var e=0,i=1;10!==i&&d[i]<=t;++i)e+=.1;var i=e+(t-d[--i])/(d[i+1]-d[i])*.1,n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a;if(.001<=n){for(e=0;e<4&&0!=(n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a);++e)var s=u(i,a,l)-t,i=i-s/n;t=i}else if(0===n)t=i;else{for(var i=e,e=e+.1,o=0;0<(n=u(s=i+(e-i)/2,a,l)-t)?e=s:i=s,1e-7<Math.abs(n)&&++o<10;);t=s}return u(t,r,h)}}}}(),S=function(){function i(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var t,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),e={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],i],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,e){return 1-i(1-t,e)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,e){return t<.5?i(2*t,e)/2:1-i(-2*t+2,e)/2}]},s={linear:D(.25,.25,.75,.75)},o={};for(t in e)o.type=t,e[o.type].forEach(function(i){return function(t,e){s["ease"+i.type+n[e]]=B.fnc(t)?t:D.apply($jscomp$this,t)}}(o)),o={type:o.type};return s}(),I={css:function(t,e,i){return t.style[e]=i},attribute:function(t,e,i){return t.setAttribute(e,i)},object:function(t,e,i){return t[e]=i},transform:function(t,e,i,n,s){n[s]||(n[s]=[]),n[s].push(e+"("+i+")")}},A=[],R=0,H=function(){function n(){R=requestAnimationFrame(t)}function t(t){var e=A.length;if(e){for(var i=0;i<e;)A[i]&&A[i].tick(t),i++;n()}else cancelAnimationFrame(R),R=0}return n}();return O.version="2.2.0",O.speed=1,O.running=A,O.remove=function(t){t=y(t);for(var e=A.length;e--;)for(var i=A[e],n=i.animations,s=n.length;s--;)a(t,n[s].animatable.target)&&(n.splice(s,1),n.length||i.pause())},O.getValue=v,O.path=function(t,e){var i=B.str(t)?s(t)[0]:t,n=e||100;return function(t){return{el:i,property:t,totalLength:g(i)*(n/100)}}},O.setDashoffset=function(t){var e=g(t);return t.setAttribute("stroke-dasharray",e),e},O.bezier=D,O.easings=S,O.timeline=function(n){var s=O(n);return s.pause(),s.duration=0,s.add=function(t){return s.children.forEach(function(t){t.began=!0,t.completed=!0}),o(t).forEach(function(t){var e=c(t,u(T,n||{}));e.targets=e.targets||n.targets,t=s.duration;var i=e.offset;e.autoplay=!1,e.direction=s.direction,e.offset=B.und(i)?t:f(i,t),s.began=!0,s.completed=!0,s.seek(e.offset),(e=O(e)).began=!0,e.completed=!0,e.duration>t&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){"use strict";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var n=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?n.first().css("display","block"):n.css("display","block"),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(t){var e=r(t.target).closest(".collapsible-header");if(t.target&&e.length){var i=e.closest(".collapsible");if(i[0]===this.el){var n=e.closest("li"),s=i.children("li"),o=n[0].classList.contains("active"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var s=n.css("padding-top"),o=n.css("padding-bottom"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){n.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:"_animateOut",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css("overflow","hidden"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){n.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:"open",value:function(t){var i=this,e=this.$el.children("li").eq(t);if(e.length&&!e[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children("li");this.$el.children("li.active").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"collapsible","M_Collapsible")}(cash,M.anime),function(h,i){"use strict";var e={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var e=h(t.target).closest("li")[0];this.options.onItemClick.call(this,e)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find("a, button").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(s<this.dropdownEl.children.length&&0<=s);o&&(this.focusedIndex=s,this._focusFocusedItem())}var a=String.fromCharCode(t.which).toLowerCase();if(a&&-1===[9,13,27,38,40].indexOf(t.which)){this.filterQuery.push(a);var r=this.filterQuery.join(""),l=h(this.dropdownEl).find("li").filter(function(t){return 0===h(t).text().toLowerCase().indexOf(r)})[0];l&&(this.focusedIndex=h(l).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,h(this.dropdownEl).children().each(function(t){t.getAttribute("tabindex")||t.setAttribute("tabindex",0)})}},{key:"_focusFocusedItem",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:"_getDropdownPosition",value:function(){this.el.offsetParent.getBoundingClientRect();var t=this.el.getBoundingClientRect(),e=this.dropdownEl.getBoundingClientRect(),i=e.height,n=e.width,s=t.left-e.left,o=t.top-e.top,a={left:s,top:o,height:i,width:n},r=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,r,a,this.options.coverTrigger?0:t.height),h="top",d=this.options.alignment;if(o+=this.options.coverTrigger?0:t.height,this.isScrollable=!1,l.top||(l.bottom?h="bottom":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"dropdown","M_Dropdown")}(cash,M.anime),function(s,i){"use strict";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=s('<div class="modal-overlay"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===n._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".modal-trigger");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){s(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var t=this;s.extend(this.el.style,{display:"block",opacity:0}),s.extend(this.$overlay[0].style,{display:"block",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var e={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:"_animateOut",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var e={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){t.el.style.display="none",t.$overlay.remove(),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:"-100%",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===n._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"modal","M_Modal")}(cash,M.anime),function(o,a){"use strict";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o("<div></div>").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);"visible"!==e.css("overflow")&&(e.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(e.maxWidth=this.newWidth),"none"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:"_animateImageOut",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.originInlineStyles&&t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=o('<div id="materialbox-overlay"></div>').css({opacity:0}).one("click",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*e.left+"px",top:-1*e.top+"px"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('<div class="materialbox-caption"></div>'),this.$photoCaption.text(this.caption),o("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,s<n?(i=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*i):(i=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*i,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var t=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),a.remove(this.el),a.remove(this.$overlay[0]),""!==this.caption&&a.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),a({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.overlayActive=!1,t.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&a({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.$photoCaption.remove()}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Materialbox}},{key:"defaults",get:function(){return e}}]),n}();M.Materialbox=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"materialbox","M_Materialbox")}(cash,M.anime),function(s){"use strict";var e={responsiveThreshold:0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Parallax=i).options=s.extend({},n.defaults,e),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&s(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=0<this.$el.height()?this.el.parentNode.offsetHeight:500,e=this.$img[0].offsetHeight-t,i=this.$el.offset().top+t,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=e*((s+o-n)/(t+o));this._enabled?s<i&&n<s+o&&(this.$img[0].style.transform="translate3D(-50%, "+a+"px, 0)"):this.$img[0].style.transform=""}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Parallax}},{key:"_handleScroll",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._updateParallax.call(e)}}},{key:"_handleWindowResize",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._enabled=window.innerWidth>e.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"parallax","M_Parallax")}(cash),function(a,s){"use strict";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var e=this,i=a(t.target).closest("li.tab"),n=a(t.target).closest("a");if(n.length&&n.parent().hasClass("tab"))if(i.hasClass("disabled"))t.preventDefault();else if(!n.attr("target")){this.$activeTabLink.removeClass("active");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display="none",s.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass("carousel-item"),n=n.add(e)});var t=a('<div class="tabs-content carousel carousel-slider"></div>');n.first().before(t),t.append(n),n[0].style.display="";var e=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass("active"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass("active"),i._animateIndicator(e),"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:"easeOutQuad"};s.remove(this._indicator),s(n)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tabs","M_Tabs")}(cash,M.anime),function(d,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tooltip","M_Tooltip")}(cash,M.anime),function(i){"use strict";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement("div");n.className="waves-ripple",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v="scale("+i.clientWidth/100*10+")";"touches"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute("data-hold",Date.now()),n.setAttribute("data-scale",v),n.setAttribute("data-x",p),n.setAttribute("data-y",c);var f={top:c+"px",left:p+"px"};n.className=n.className+" waves-notransition",n.setAttribute("style",m(f)),n.className=n.className.replace("waves-notransition",""),f["-webkit-transform"]=v,f["-moz-transform"]=v,f["-ms-transform"]=v,f["-o-transform"]=v,f.transform=v,f.opacity="1",f["-webkit-transition-duration"]=g.duration+"ms",f["-moz-transition-duration"]=g.duration+"ms",f["-o-transition-duration"]=g.duration+"ms",f["transition-duration"]=g.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",n.setAttribute("style",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(0<n.length))return!1;var s=(i=n[n.length-1]).getAttribute("data-x"),o=i.getAttribute("data-y"),a=i.getAttribute("data-scale"),r=350-(Date.now()-Number(i.getAttribute("data-hold")));r<0&&(r=0),setTimeout(function(){var t={top:o+"px",left:s+"px",opacity:"0","-webkit-transition-duration":g.duration+"ms","-moz-transition-duration":g.duration+"ms","-o-transition-duration":g.duration+"ms","transition-duration":g.duration+"ms","-webkit-transform":a,"-moz-transform":a,"-ms-transform":a,"-o-transform":a,transform:a};i.setAttribute("style",m(t)),setTimeout(function(){try{e.removeChild(i)}catch(t){return!1}},g.duration)},r)},wrapInput:function(t){for(var e=0;e<t.length;e++){var i=t[e];if("input"===i.tagName.toLowerCase()){var n=i.parentNode;if("i"===n.tagName.toLowerCase()&&-1!==n.className.indexOf("waves-effect"))continue;var s=document.createElement("i");s.className=i.className+" waves-input-wrapper";var o=i.getAttribute("style");o||(o=""),s.setAttribute("style",o),i.className="waves-button-input",i.removeAttribute("style"),n.replaceChild(s,i),s.appendChild(i)}}}},l={touches:0,allowEvent:function(t){var e=!0;return"touchstart"===t.type?l.touches+=1:"touchend"===t.type||"touchcancel"===t.type?setTimeout(function(){0<l.touches&&(l.touches-=1)},500):"mousedown"===t.type&&0<l.touches&&(e=!1),e},touchup:function(t){l.allowEvent(t)}};function n(t){var e=function(t){if(!1===l.allowEvent(t))return null;for(var e=null,i=t.target||t.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf("waves-effect")){e=i;break}i=i.parentNode}return e}(t);null!==e&&(g.show(t,e),"ontouchstart"in i&&(e.addEventListener("touchend",g.hide,!1),e.addEventListener("touchcancel",g.hide,!1)),e.addEventListener("mouseup",g.hide,!1),e.addEventListener("mouseleave",g.hide,!1),e.addEventListener("dragend",g.hide,!1))}t.displayEffect=function(t){"duration"in(t=t||{})&&(g.duration=t.duration),g.wrapInput(e(".waves-effect")),"ontouchstart"in i&&document.body.addEventListener("touchstart",n,!1),document.body.addEventListener("mousedown",n,!1)},t.attach=function(t){"input"===t.tagName.toLowerCase()&&(g.wrapInput([t]),t=t.parentNode),"ontouchstart"in i&&t.addEventListener("touchstart",n,!1),t.addEventListener("mousedown",n,!1)},i.Waves=t,document.addEventListener("DOMContentLoaded",function(){t.displayEffect()},!1)}(window),function(i,n){"use strict";var t={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},e=function(){function s(t){_classCallCheck(this,s),this.options=i.extend({},s.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===s._toasts.length&&s._createContainer(),s._toasts.push(this);var e=this._createToast();(e.M_Toast=this).el=e,this.$el=i(e),this._animateIn(),this._setTimer()}return _createClass(s,[{key:"_createToast",value:function(){var t=document.createElement("div");return t.classList.add("toast"),this.options.classes.length&&i(t).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?i(t).append(this.message[0]):t.innerHTML=this.message,s._container.appendChild(t),t}},{key:"_animateIn",value:function(){n({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var t=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){t.panning||(t.timeRemaining-=20),t.timeRemaining<=0&&t.dismiss()},20))}},{key:"dismiss",value:function(){var t=this;window.clearInterval(this.counterInterval);var e=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+e+"px)",this.el.style.opacity=0),n({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),s._toasts.splice(s._toasts.indexOf(t),1),0===s._toasts.length&&s._removeContainer()}})}}],[{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Toast}},{key:"_createContainer",value:function(){var t=document.createElement("div");t.setAttribute("id","toast-container"),t.addEventListener("touchstart",s._onDragStart),t.addEventListener("touchmove",s._onDragMove),t.addEventListener("touchend",s._onDragEnd),t.addEventListener("mousedown",s._onDragStart),document.addEventListener("mousemove",s._onDragMove),document.addEventListener("mouseup",s._onDragEnd),document.body.appendChild(t),s._container=t}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",s._onDragMove),document.removeEventListener("mouseup",s._onDragEnd),i(s._container).remove(),s._container=null}},{key:"_onDragStart",value:function(t){if(t.target&&i(t.target).closest(".toast").length){var e=i(t.target).closest(".toast")[0].M_Toast;e.panning=!0,(s._draggedToast=e).el.classList.add("panning"),e.el.style.transition="",e.startingXPos=s._xPos(t),e.time=Date.now(),e.xPos=s._xPos(t)}}},{key:"_onDragMove",value:function(t){if(s._draggedToast){t.preventDefault();var e=s._draggedToast;e.deltaX=Math.abs(e.xPos-s._xPos(t)),e.xPos=s._xPos(t),e.velocityX=e.deltaX/(Date.now()-e.time),e.time=Date.now();var i=e.xPos-e.startingXPos,n=e.el.offsetWidth*e.options.activationPercent;e.el.style.transform="translateX("+i+"px)",e.el.style.opacity=1-Math.abs(i/n)}}},{key:"_onDragEnd",value:function(){if(s._draggedToast){var t=s._draggedToast;t.panning=!1,t.el.classList.remove("panning");var e=t.xPos-t.startingXPos,i=t.el.offsetWidth*t.options.activationPercent;Math.abs(e)>i||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition="transform .2s, opacity .2s",t.el.style.transform="",t.el.style.opacity=""),s._draggedToast=null}}},{key:"_xPos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"dismissAll",value:function(){for(var t in s._toasts)s._toasts[t].dismiss()}},{key:"defaults",get:function(){return t}}]),s}();e._toasts=[],e._container=null,e._draggedToast=null,M.Toast=e,M.toast=function(t){return new e(t)}}(cash,M.anime),function(s,o){"use strict";var e={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Sidenav=i).id=i.$el.attr("id"),i.options=s.extend({},n.defaults,e),i.isOpen=!1,i.isFixed=i.el.classList.contains("sidenav-fixed"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),n._sidenavs.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var t=n._sidenavs.indexOf(this);0<=t&&n._sidenavs.splice(t,1)}},{key:"_createOverlay",value:function(){var t=document.createElement("div");this._closeBound=this.close.bind(this),t.classList.add("sidenav-overlay"),t.addEventListener("click",this._closeBound),document.body.appendChild(t),this._overlay=t}},{key:"_setupEventHandlers",value:function(){0===n._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===n._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".sidenav-trigger");if(t.target&&e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Sidenav;n&&n.open(e),t.preventDefault()}}},{key:"_startDrag",value:function(t){var e=t.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=e,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,o.remove(this.el),o.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(t){var e=t.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-e),this._xPos=e,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(t){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge===i&&(e=0);var n=e,s="translateX(-100%)";"right"===this.options.edge&&(s="translateX(100%)",n=-n),this.percentOpen=Math.min(1,e/this._width),this.el.style.transform=s+" translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(t){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge!==i&&(e=0);var n=-e;"right"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-e/this._width),this.el.style.transform="translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(t){s(t.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&992<window.innerWidth}},{key:"_createDragTarget",value:function(){var t=document.createElement("div");t.classList.add("drag-target"),document.body.appendChild(t),this.dragTarget=t}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(o.remove(this.el),o({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var t="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+t+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var t=this,e="left"===this.options.edge?-1:1;this.isDragged&&(e="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*e+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}})}},{key:"_animateOverlayIn",value:function(){var t=0;this.isDragged?t=this.percentOpen:s(this._overlay).css({display:"block"}),o.remove(this._overlay),o({targets:this._overlay,opacity:[t,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var t=this,e="left"===this.options.edge?-1:1,i=0;this.isDragged&&(i="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*i+"%",105*e+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}})}},{key:"_animateOverlayOut",value:function(){var t=this;o.remove(this._overlay),o({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){s(t._overlay).css("display","none")}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Sidenav}},{key:"defaults",get:function(){return e}}]),n}();t._sidenavs=[],M.Sidenav=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"sidenav","M_Sidenav")}(cash,M.anime),function(o,a){"use strict";var e={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(t){return'a[href="#'+t+'"]'}},t=function(t){function c(t,e){_classCallCheck(this,c);var i=_possibleConstructorReturn(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,c,t,e));return(i.el.M_ScrollSpy=i).options=o.extend({},c.defaults,e),c._elements.push(i),c._count++,c._increment++,i.tickId=-1,i.id=c._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return _inherits(c,Component),_createClass(c,[{key:"destroy",value:function(){c._elements.splice(c._elements.indexOf(this),1),c._elementsInView.splice(c._elementsInView.indexOf(this),1),c._visibleElements.splice(c._visibleElements.indexOf(this.$el),1),c._count--,this._removeEventHandlers(),o(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var t=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=t.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===c._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===c._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(t){for(var e=o(t.target),i=c._elements.length-1;0<=i;i--){var n=c._elements[i];if(e.is('a[href="#'+n.$el.attr("id")+'"]')){t.preventDefault();var s=n.$el.offset().top+1;a({targets:[document.documentElement,document.body],scrollTop:s-n.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){c._ticks++;for(var t=M.getDocumentScrollTop(),e=M.getDocumentScrollLeft(),i=e+window.innerWidth,n=t+window.innerHeight,s=c._findElements(t,i,n,e),o=0;o<s.length;o++){var a=s[o];a.tickId<0&&a._enter(),a.tickId=c._ticks}for(var r=0;r<c._elementsInView.length;r++){var l=c._elementsInView[r],h=l.tickId;0<=h&&h!==c._ticks&&(l._exit(),l.tickId=-1)}c._elementsInView=s}},{key:"_enter",value:function(){(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]?(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),c._visibleElements[0][0].M_ScrollSpy&&this.id<c._visibleElements[0][0].M_ScrollSpy.id?c._visibleElements.unshift(this.$el):c._visibleElements.push(this.$el)):c._visibleElements.push(this.$el),o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass)}},{key:"_exit",value:function(){var e=this;(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]&&(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),(c._visibleElements=c._visibleElements.filter(function(t){return t.attr("id")!=e.$el.attr("id")}))[0]&&o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass))}}],[{key:"init",value:function(t,e){return _get(c.__proto__||Object.getPrototypeOf(c),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_ScrollSpy}},{key:"_findElements",value:function(t,e,i,n){for(var s=[],o=0;o<c._elements.length;o++){var a=c._elements[o],r=t+a.options.scrollOffset||200;if(0<a.$el.height()){var l=a.$el.offset().top,h=a.$el.offset().left,d=h+a.$el.width(),u=l+a.$el.height();!(e<h||d<n||i<l||u<r)&&s.push(a)}}return s}},{key:"defaults",get:function(){return e}}]),c}();t._elements=[],t._elementsInView=[],t._visibleElements=[],t._count=0,t._increment=0,t._ticks=0,M.ScrollSpy=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"scrollSpy","M_ScrollSpy")}(cash,M.anime),function(h){"use strict";var e={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(t,e,i){return t.indexOf(i)-e.indexOf(i)}},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));return(i.el.M_Autocomplete=i).options=h.extend({},s.defaults,e),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(".input-field"),i.$active=h(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener("blur",this._handleInputBlurBound),this.el.addEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.addEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("click",this._handleInputClickBound),this.container.addEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("blur",this._handleInputBlurBound),this.el.removeEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("click",this._handleInputClickBound),this.container.removeEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_setupDropdown",value:function(){var e=this;this.container=document.createElement("ul"),this.container.id="autocomplete-options-"+M.guid(),h(this.container).addClass("autocomplete-content dropdown-content"),this.$inputField.append(this.container),this.el.setAttribute("data-target",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(h(t))}}),this.el.removeEventListener("click",this.dropdown._handleClickBound)}},{key:"_removeDropdown",value:function(){this.container.parentNode.removeChild(this.container)}},{key:"_handleInputBlur",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:"_handleInputKeyupAndFocus",value:function(t){"keyup"===t.type&&(s._keydown=!1),this.count=0;var e=this.el.value.toLowerCase();13!==t.keyCode&&38!==t.keyCode&&40!==t.keyCode&&(this.oldVal===e||!M.tabPressed&&"focus"===t.type||this.open(),this.oldVal=e)}},{key:"_handleInputKeydown",value:function(t){s._keydown=!0;var e=t.keyCode,i=void 0,n=h(this.container).children("li").length;e===M.keys.ENTER&&0<=this.activeIndex?(i=h(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(i),t.preventDefault()):e!==M.keys.ARROW_UP&&e!==M.keys.ARROW_DOWN||(t.preventDefault(),e===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,e===M.keys.ARROW_DOWN&&this.activeIndex<n-1&&this.activeIndex++,this.$active.removeClass("active"),0<=this.activeIndex&&(this.$active=h(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(t){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(t){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(t){this._mousedown=!1}},{key:"_highlight",value:function(t,e){var i=e.find("img"),n=e.text().toLowerCase().indexOf(""+t.toLowerCase()),s=n+t.length-1,o=e.text().slice(0,n),a=e.text().slice(n,s+1),r=e.text().slice(s+1);e.html("<span>"+o+"<span class='highlight'>"+a+"</span>"+r+"</span>"),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a<e.length;a++){var r=e[a],l=h("<li></li>");r.data?l.append('<img src="'+r.data+'" class="right circle"><span>'+r.key+"</span>"):l.append("<span>"+r.key+"</span>"),h(this.container).append(l),this._highlight(i,l)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"autocomplete","M_Autocomplete")}(cash),function(d){M.updateTextFields=function(){d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t,e){var i=d(this);0<t.value.length||d(t).is(":focus")||t.autofocus||null!==i.attr("placeholder")?i.siblings("label").addClass("active"):t.validity?i.siblings("label").toggleClass("active",!0===t.validity.badInput):i.siblings("label").removeClass("active")})},M.validate_field=function(t){var e=null!==t.attr("data-length"),i=parseInt(t.attr("data-length")),n=t[0].value.length;0!==n||!1!==t[0].validity.badInput||t.is(":required")?t.hasClass("validate")&&(t.is(":valid")&&e&&n<=i||t.is(":valid")&&!e?(t.removeClass("invalid"),t.addClass("valid")):(t.removeClass("valid"),t.addClass("invalid"))):t.hasClass("validate")&&(t.removeClass("valid"),t.removeClass("invalid"))},M.textareaAutoResize=function(t){if(t instanceof Element&&(t=d(t)),t.length){var e=d(".hiddendiv").first();e.length||(e=d('<div class="hiddendiv common"></div>'),d("body").append(e));var i=t.css("font-family"),n=t.css("font-size"),s=t.css("line-height"),o=t.css("padding-top"),a=t.css("padding-right"),r=t.css("padding-bottom"),l=t.css("padding-left");n&&e.css("font-size",n),i&&e.css("font-family",i),s&&e.css("line-height",s),o&&e.css("padding-top",o),a&&e.css("padding-right",a),r&&e.css("padding-bottom",r),l&&e.css("padding-left",l),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(t[0].value+"\n");var h=e.html().replace(/\n/g,"<br>");e.html(h),0<t[0].offsetWidth&&0<t[0].offsetHeight?e.css("width",t.width()+"px"):e.css("width",window.innerWidth/2+"px"),t.data("original-height")<=e.innerHeight()?t.css("height",e.innerHeight()+"px"):t[0].value.length<t.data("previous-length")&&t.css("height",t.data("original-height")+"px"),t.data("previous-length",t[0].value.length)}else console.error("No textarea element found")},d(document).ready(function(){var n="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";d(document).on("change",n,function(){0===this.value.length&&null===d(this).attr("placeholder")||d(this).siblings("label").addClass("active"),M.validate_field(d(this))}),d(document).ready(function(){M.updateTextFields()}),d(document).on("reset",function(t){var e=d(t.target);e.is("form")&&(e.find(n).removeClass("valid").removeClass("invalid"),e.find(n).each(function(t){this.value.length&&d(this).siblings("label").removeClass("active")}),setTimeout(function(){e.find("select").each(function(){this.M_FormSelect&&d(this).trigger("change")})},0))}),document.addEventListener("focus",function(t){d(t.target).is(n)&&d(t.target).siblings("label, .prefix").addClass("active")},!0),document.addEventListener("blur",function(t){var e=d(t.target);if(e.is(n)){var i=".prefix";0===e[0].value.length&&!0!==e[0].validity.badInput&&null===e.attr("placeholder")&&(i+=", label"),e.siblings(i).removeClass("active"),M.validate_field(e)}},!0);d(document).on("keyup","input[type=radio], input[type=checkbox]",function(t){if(t.which===M.keys.TAB)return d(this).addClass("tabbed"),void d(this).one("blur",function(t){d(this).removeClass("tabbed")})});var t=".materialize-textarea";d(t).each(function(){var t=d(this);t.data("original-height",t.height()),t.data("previous-length",this.value.length),M.textareaAutoResize(t)}),d(document).on("keyup",t,function(){M.textareaAutoResize(d(this))}),d(document).on("keydown",t,function(){M.textareaAutoResize(d(this))}),d(document).on("change",'.file-field input[type="file"]',function(){for(var t=d(this).closest(".file-field").find("input.file-path"),e=d(this)[0].files,i=[],n=0;n<e.length;n++)i.push(e[n].name);t[0].value=i.join(", "),t.trigger("change")})})}(cash),function(s,o){"use strict";var e={indicators:!0,height:400,duration:500,interval:6e3},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Slider=i).options=s.extend({},n.defaults,e),i.$slider=i.$el.find(".slides"),i.$slides=i.$slider.children("li"),i.activeIndex=i.$slides.filter(function(t){return s(t).hasClass("active")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(".caption").each(function(t){i._animateCaptionIn(t,0)}),i.$slides.find("img").each(function(t){var e="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";s(t).attr("src")!==e&&(s(t).css("background-image",'url("'+s(t).attr("src")+'")'),s(t).attr("src",e))}),i._setupIndicators(),i.$active?i.$active.css("display","block"):(i.$slides.first().addClass("active"),o({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:"easeOutQuad"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass("active")),i.$active.find("img").each(function(t){o({targets:i.$active.find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:"easeOutQuad"})}),i._setupEventHandlers(),i.start(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener("click",e._handleIndicatorClickBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener("click",e._handleIndicatorClickBound)})}},{key:"_handleIndicatorClick",value:function(t){var e=s(t.target).index();this.set(e)}},{key:"_handleInterval",value:function(){var t=this.$slider.find(".active").index();this.$slides.length===t+1?t=0:t+=1,this.set(t)}},{key:"_animateCaptionIn",value:function(t,e){var i={targets:t,opacity:0,duration:e,easing:"easeOutQuad"};s(t).hasClass("center-align")?i.translateY=-100:s(t).hasClass("right-align")?i.translateX=100:s(t).hasClass("left-align")&&(i.translateX=-100),o(i)}},{key:"_setSliderHeight",value:function(){this.$el.hasClass("fullscreen")||(this.options.indicators?this.$el.css("height",this.options.height+40+"px"):this.$el.css("height",this.options.height+"px"),this.$slider.css("height",this.options.height+"px"))}},{key:"_setupIndicators",value:function(){var n=this;this.options.indicators&&(this.$indicators=s('<ul class="indicators"></ul>'),this.$slides.each(function(t,e){var i=s('<li class="indicator-item"></li>');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(".caption");this.$active.removeClass("active"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){e.$slides.not(".active").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),o({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"slider","M_Slider")}(cash,M.anime),function(n,s){n(document).on("click",".card",function(t){if(n(this).children(".card-reveal").length){var i=n(t.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var e=n(this).find(".card-reveal");n(t.target).is(n(".card-reveal .card-title"))||n(t.target).is(n(".card-reveal .card-title i"))?s({targets:e[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var e=t.animatables[0].target;n(e).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(n(t.target).is(n(".card .activator"))||n(t.target).is(n(".card .activator i")))&&(i.css("overflow","hidden"),e.css({display:"block"}),s({targets:e[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(h){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr("id")||i.$input.attr("id",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return _inherits(l,Component),_createClass(l,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",l._handleChipsKeydown),document.addEventListener("keyup",l._handleChipsKeyup),this.el.addEventListener("blur",l._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",l._handleChipsKeydown),document.removeEventListener("keyup",l._handleChipsKeyup),this.el.removeEventListener("blur",l._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(t){var e=h(t.target).closest(".chip"),i=h(t.target).is(".close");if(e.length){var n=e.index();i?(this.deleteChip(n),this.$input[0].focus()):this.selectChip(n)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(t){if(l._keydown=!0,13===t.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;t.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""}else 8!==t.keyCode&&37!==t.keyCode||""!==this.$input[0].value||!this.chipsData.length||(t.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(t){if(t.tag){var e=document.createElement("div"),i=document.createElement("i");if(e.classList.add("chip"),e.textContent=t.tag,e.setAttribute("tabindex",0),h(i).addClass("material-icons close"),i.textContent="close",t.image){var n=document.createElement("img");n.setAttribute("src",t.image),e.insertBefore(n,e.firstChild)}return e.appendChild(i),e}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var t=0;t<this.chipsData.length;t++){var e=this._renderChip(this.chipsData[t]);this.$el.append(e),this.$chips.add(e)}this.$el.append(this.$input[0])}},{key:"_setupAutocomplete",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value="",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:"_setupInput",value:function(){this.$input=this.$el.find("input"),this.$input.length||(this.$input=h("<input></input>"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i<this.chipsData.length;i++)if(this.chipsData[i].tag===t.tag){e=!0;break}return!e}return!1}},{key:"addChip",value:function(t){if(this._isValid(t)&&!(this.chipsData.length>=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:"deleteChip",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(t){l._keydown=!0;var e=h(t.target).closest(".chips"),i=t.target&&e.length;if(!h(t.target).is("input, textarea")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:"_handleChipsKeyup",value:function(t){l._keydown=!1}},{key:"_handleChipsBlur",value:function(t){l._keydown||(h(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"chips","M_Chips"),h(document).ready(function(){h(document.body).on("click",".chip .close",function(){var t=h(this).closest(".chips");t.length&&t[0].M_Chips||h(this).closest(".chip").remove()})})}(cash),function(s){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),t<this.options.top&&!this.el.classList.contains("pin-top")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add("pin-top"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-top")),t>this.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:"defaults",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"pushpin","M_Pushpin")}(cash),function(r,s){"use strict";var e={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('<div class="fab-backdrop"></div>'),a=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":a}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":a}),o.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(g){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty("i18n")&&"object"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&t<i?t=i:B._isDate(n)&&n<t&&(t=n),this.date=new Date(t.getTime()),this._renderDateDisplay(),B._setToStartOfDay(this.date),this.gotoDate(this.date),e||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var t=B._isDate(this.date)?this.date:new Date,e=this.options.i18n,i=e.weekdaysShort[t.getDay()],n=e.monthsShort[t.getMonth()],s=t.getDate();this.yearTextEl.innerHTML=t.getFullYear(),this.dateTextEl.innerHTML=i+", "+n+" "+s}},{key:"gotoDate",value:function(t){var e=!0;if(B._isDate(t)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),n=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),s=t.getTime();n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1),e=s<i.getTime()||n.getTime()<s}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}]),this.adjustCalendars()}}},{key:"adjustCalendars",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:"adjustCalendar",value:function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),11<t.month&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(t,e,i){var n=this.options,s=new Date,o=B._getDaysInMonth(t,e),a=new Date(t,e,1).getDay(),r=[],l=[];B._setToStartOfDay(s),0<n.firstDay&&(a-=n.firstDay)<0&&(a+=7);for(var h=0===e?11:e-1,d=11===e?0:e+1,u=0===e?t-1:t,c=11===e?t+1:t,p=B._getDaysInMonth(u,h),v=o+a,f=v;7<f;)f-=7;v+=7-f;for(var m=!1,g=0,_=0;g<v;g++){var y=new Date(t,e,g-a+1),k=!!B._isDate(this.date)&&B._compareDates(y,this.date),b=B._compareDates(y,s),w=-1!==n.events.indexOf(y.toDateString()),C=g<a||o+a<=g,E=g-a+1,M=e,O=t,x=n.startRange&&B._compareDates(n.startRange,y),L=n.endRange&&B._compareDates(n.endRange,y),T=n.startRange&&n.endRange&&n.startRange<y&&y<n.endRange;C&&(g<a?(E=p+E,M=h,O=u):(E-=o,M=d,O=c));var $={day:E,month:M,year:O,hasEvent:w,isSelected:k,isToday:b,isDisabled:n.minDate&&y<n.minDate||n.maxDate&&y>n.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:"renderDay",value:function(t){var e=[],i="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),'<td data-day="'+t.day+'" class="'+e.join(" ")+'" aria-selected="'+i+'"><button class="datepicker-day-button" type="button" data-year="'+t.year+'" data-month="'+t.month+'" data-day="'+t.day+'">'+t.day+"</button></td>"}},{key:"renderRow",value:function(t,e,i){return'<tr class="datepicker-row'+(i?" is-selected":"")+'">'+(e?t.reverse():t).join("")+"</tr>"}},{key:"renderTable",value:function(t,e,i){return'<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="'+i+'">'+this.renderHead(t)+this.renderBody(e)+"</table></div>"}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push('<th scope="col"><abbr title="'+this.renderDayName(t,e)+'">'+this.renderDayName(t,e,!0)+"</abbr></th>");return"<thead><tr>"+(t.isRTL?i.reverse():i).join("")+"</tr></thead>"}},{key:"renderBody",value:function(t){return"<tbody>"+t.join("")+"</tbody>"}},{key:"renderTitle",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='<div id="'+o+'" class="datepicker-controls" role="heading" aria-live="assertive">',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('<option value="'+(i===s?l-e:12+l-e)+'"'+(l===n?' selected="selected"':"")+(c&&l<u.minMonth||p&&l>u.maxMonth?'disabled="disabled"':"")+">"+u.i18n.months[l]+"</option>");for(a='<select class="datepicker-select orig-select-month" tabindex="-1">'+d.join("")+"</select>",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l<h&&l<=u.maxYear;l++)l>=u.minYear&&d.push('<option value="'+l+'" '+(l===i?'selected="selected"':"")+">"+l+"</option>");r='<select class="datepicker-select orig-select-year" tabindex="-1">'+d.join("")+"</select>";v+='<button class="month-prev'+(f?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>',v+='<div class="selects-container">',u.showMonthAfterYear?v+=r+a:v+=a+r,v+="</div>",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='<button class="month-next'+(m?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>')+"</div>"}},{key:"draw",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass("is-disabled")||(!e.hasClass("datepicker-day-button")||e.hasClass("is-empty")||e.parent().hasClass("is-disabled")?e.closest(".month-prev").length?this.prevMonth():e.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),B}();t._template=['<div class= "modal datepicker-modal">','<div class="modal-content datepicker-container">','<div class="datepicker-date-display">','<span class="year-text"></span>','<span class="date-text"></span>',"</div>",'<div class="datepicker-calendar-container">','<div class="datepicker-calendar"></div>','<div class="datepicker-footer">','<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>','<div class="confirmation-btns">','<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>','<button class="btn-flat datepicker-done waves-effect" type="button"></button>',"</div>","</div>","</div>","</div>","</div>"].join(""),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"datepicker","M_Datepicker")}(cash),function(h){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),h(this.spanHours).on("click",this.showView.bind(this,"hours")),h(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var e=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){e.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=h('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.clear+"</button>").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var e=h('<div class="confirmation-btns"></div>');h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.cancel+"</button>").appendTo(e).on("click",this.close.bind(this)),h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.done+"</button>").appendTo(e).on("click",this.done.bind(this)),e.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=h('<div class="am-btn">AM</div>'),this.$pmBtn=h('<div class="pm-btn">PM</div>'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl("svg");n.setAttribute("class","timepicker-svg"),n.setAttribute("width",i),n.setAttribute("height",i);var s=f._createSVGEl("g");s.setAttribute("transform","translate("+t+","+t+")");var o=f._createSVGEl("circle");o.setAttribute("class","timepicker-canvas-bearing"),o.setAttribute("cx",0),o.setAttribute("cy",0),o.setAttribute("r",4);var a=f._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var r=f._createSVGEl("circle");r.setAttribute("class","timepicker-canvas-bg"),r.setAttribute("r",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:"_buildHoursView",value:function(){var t=h('<div class="timepicker-tick"></div>');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+"px"}),i.html(0===e?"00":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;a.css({left:this.options.dialRadius+Math.sin(r)*l-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(r)*l-this.options.tickRadius+"px"}),a.html(0===o?"00":o),this.hoursView.appendChild(a[0])}}},{key:"_buildMinutesView",value:function(){for(var t=h('<div class="timepicker-tick"></div>'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(0<t[1].toUpperCase().indexOf("AM")?this.amOrPm="AM":this.amOrPm="PM",t[1]=t[1].replace("AM","").replace("PM","")),"now"===t[0]){var e=new Date(+new Date+this.options.fromNow);t=[e.getHours(),e.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=t[0]&&t[0]<24?"PM":"AM")}this.hours=+t[0]||0,this.minutes=+t[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=f._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(t,e){"minutes"===t&&h(this.hoursView).css("visibility");var i="hours"===t,n=i?this.hoursView:this.minutesView,s=i?this.minutesView:this.hoursView;this.currentView=t,h(this.spanHours).toggleClass("text-primary",i),h(this.spanMinutes).toggleClass("text-primary",!i),s.classList.add("timepicker-dial-out"),h(n).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(e),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){h(s).css("visibility","hidden")},this.options.duration)}},{key:"resetClock",value:function(t){var e=this.currentView,i=this[e],n="hours"===e,s=i*(Math.PI/(n?6:30)),o=n&&0<i&&i<13?this.options.innerRadius:this.options.outerRadius,a=Math.sin(s)*o,r=-Math.cos(s)*o,l=this;t?(h(this.canvas).addClass("timepicker-canvas-out"),setTimeout(function(){h(l.canvas).removeClass("timepicker-canvas-out"),l.setHand(a,r)},t)):this.setHand(a,r)}},{key:"setHand",value:function(t,e,i){var n=this,s=Math.atan2(t,-e),o="hours"===this.currentView,a=Math.PI/(o||i?6:30),r=Math.sqrt(t*t+e*e),l=o&&r<(this.options.outerRadius+this.options.innerRadius)/2,h=l?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(h=this.options.outerRadius),s<0&&(s=2*Math.PI+s);var d=Math.round(s/a);s=d*a,this.options.twelveHour?o?0===d&&(d=12):(i&&(d*=5),60===d&&(d=0)):o?(12===d&&(d=0),d=l?0===d?12:d:0===d?0:d+12):(i&&(d*=5),60===d&&(d=0)),this[this.currentView]!==d&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){n.vibrateTimer=null},100))),this[this.currentView]=d,o?this.spanHours.innerHTML=d:this.spanMinutes.innerHTML=f._addLeadingZero(d);var u=Math.sin(s)*(h-this.options.tickRadius),c=-Math.cos(s)*(h-this.options.tickRadius),p=Math.sin(s)*h,v=-Math.cos(s)*h;this.hand.setAttribute("x2",u),this.hand.setAttribute("y2",c),this.bg.setAttribute("cx",p),this.bg.setAttribute("cy",v)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(t,e){var i=this.el.value,n=e?"":f._addLeadingZero(this.hours)+":"+f._addLeadingZero(this.minutes);this.time=n,!e&&this.options.twelveHour&&(n=n+" "+this.amOrPm),(this.el.value=n)!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(t,e){return _get(f.__proto__||Object.getPrototypeOf(f),"init",this).call(this,this,t,e)}},{key:"_addLeadingZero",value:function(t){return(t<10?"0":"")+t}},{key:"_createSVGEl",value:function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}},{key:"_Pos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?{x:t.targetTouches[0].clientX,y:t.targetTouches[0].clientY}:{x:t.clientX,y:t.clientY}}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Timepicker}},{key:"defaults",get:function(){return e}}]),f}();t._template=['<div class= "modal timepicker-modal">','<div class="modal-content timepicker-container">','<div class="timepicker-digital-display">','<div class="timepicker-text-container">','<div class="timepicker-display-column">','<span class="timepicker-span-hours text-primary"></span>',":",'<span class="timepicker-span-minutes"></span>',"</div>",'<div class="timepicker-display-column timepicker-display-am-pm">','<div class="timepicker-span-am-pm"></div>',"</div>","</div>","</div>",'<div class="timepicker-analog-display">','<div class="timepicker-plate">','<div class="timepicker-canvas"></div>','<div class="timepicker-dial timepicker-hours"></div>','<div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div>',"</div>",'<div class="timepicker-footer"></div>',"</div>","</div>","</div>"].join(""),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"timepicker","M_Timepicker")}(cash),function(s){"use strict";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),s(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){s(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+="/"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"characterCounter","M_CharacterCounter")}(cash),function(b){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1<n.$el.find(".carousel-item").length,n.showIndicators=n.options.indicators&&n.hasMultipleSlides,n.noWrap=n.options.noWrap||!n.hasMultipleSlides,n.pressed=!1,n.dragged=!1,n.offset=n.target=0,n.images=[],n.itemWidth=n.$el.find(".carousel-item").first().innerWidth(),n.itemHeight=n.$el.find(".carousel-item").first().innerHeight(),n.dim=2*n.itemWidth+n.options.padding||1,n._autoScrollBound=n._autoScroll.bind(n),n._trackBound=n._track.bind(n),n.options.fullWidth&&(n.options.dist=0,n._setCarouselHeight(),n.showIndicators&&n.$el.find(".carousel-fixed-item").addClass("with-indicators")),n.$indicators=b('<ul class="indicators"></ul>'),n.$el.find(".carousel-item").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('<li class="indicator-item"></li>');0===e&&i[0].classList.add("active"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,e){t.addEventListener("click",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,e){t.removeEventListener("click",i._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&b(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2<n||n<-2)&&(this.dragged=!0,this.reference=e,this._scroll(this.offset+n));else{if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(t){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var e=b(t.target).closest(".indicator-item");e.length&&this._cycleTo(e.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var i=this,e=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=e.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(0<s)this.$el.css("height",s+"px");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css("height",r+"px")}}else n.one("load",function(t,e){i.$el.css("height",t.offsetHeight+"px")});else if(!t){var l=e.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"_ypos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientY:t.clientY}},{key:"_wrap",value:function(t){return t>=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var e=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass("scrolling")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l="translateX(0)",u=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",l+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==v&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)],b(r).hasClass("active")||(this.$el.find(".carousel-item").removeClass("active"),r.classList.add("active"));var m=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o*a+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,m)}for(a=1;a<=i;++a){if(this.options.fullWidth?(h=this.options.dist,d=a===i&&n<0?1-o:1):(h=this.options.dist*(2*a+o*s),d=1-p*(2*a+o*s)),!this.noWrap||this.center+a<this.count){r=this.images[this._wrap(this.center+a)];var g=l+" translateX("+(this.options.shift+(this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,g)}if(this.options.fullWidth?(h=this.options.dist,d=a===i&&0<n?1-o:1):(h=this.options.dist*(2*a-o*s),d=1-p*(2*a-o*s)),!this.noWrap||0<=this.center-a){r=this.images[this._wrap(this.center-a)];var _=l+" translateX("+(-this.options.shift+(-this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,_)}}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)];var y=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,y)}var k=this.$el.find(".carousel-item").eq(this._wrap(this.center));c!==this.center&&"function"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,k[0],this.dragged),"function"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,k[0],this.dragged),this.oneTimeCallback=null)}},{key:"_updateItemStyle",value:function(t,e,i,n){t.style[this.xform]=n,t.style.zIndex=i,t.style.opacity=e,t.style.visibility="visible"}},{key:"_cycleTo",value:function(t,e){var i=this.center%this.count-t;this.noWrap||(i<0?Math.abs(i+this.count)<Math.abs(i)&&(i+=this.count):0<i&&Math.abs(i-this.count)<i&&(i-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),i<0?this.target+=this.dim*Math.abs(i):0<i&&(this.target-=this.dim*i),"function"==typeof e&&(this.oneTimeCallback=e),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center+t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"carousel","M_Carousel")}(cash),function(S){"use strict";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){S(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(".tap-target-wave")[0],this.originEl=S(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],S(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var e=this.$origin.parents(),i=0;i<e.length&&!(t="fixed"==S(e[i]).css("position"));i++);var n=this.$origin.outerWidth(),s=this.$origin.outerHeight(),o=t?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,a=t?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,r=window.innerWidth,l=window.innerHeight,h=r/2,d=l/2,u=a<=h,c=h<a,p=o<=d,v=d<o,f=.25*r<=a&&a<=.75*r,m=this.$el.outerWidth(),g=this.$el.outerHeight(),_=o+s/2-g/2,y=a+n/2-m/2,k=t?"fixed":"absolute",b=f?m:m/2+n,w=g/2,C=p?g/2:0,E=u&&!f?m/2-n:0,O=n,x=v?"bottom":"top",L=2*n,T=L,$=g/2-T/2,B=m/2-L/2,D={};D.top=p?_+"px":"",D.right=c?r-y-m+"px":"",D.bottom=v?l-_-g+"px":"",D.left=u?y+"px":"",D.position=k,S(this.wrapper).css(D),S(this.contentEl).css({width:b+"px",height:w+"px",top:C+"px",right:"0px",bottom:"0px",left:E+"px",padding:O+"px",verticalAlign:x}),S(this.waveEl).css({top:$+"px",left:B+"px",width:L+"px",height:T+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_TapTarget}},{key:"defaults",get:function(){return e}}]),n}();M.TapTarget=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tapTarget","M_TapTarget")}(cash),function(d){"use strict";var e={classes:"",dropdownOptions:{}},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.$el.hasClass("browser-default")?_possibleConstructorReturn(i):((i.el.M_FormSelect=i).options=d.extend({},n.defaults,e),i.isMultiple=i.$el.prop("multiple"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.addEventListener("click",e._handleOptionClickBound)}),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var e=this;d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.removeEventListener("click",e._handleOptionClickBound)}),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(t){this._setValueToInput()}},{key:"_handleOptionClick",value:function(t){t.preventDefault();var e=d(t.target).closest("li")[0],i=e.id;if(!d(e).hasClass("disabled")&&!d(e).hasClass("optgroup")&&i.length){var n=!0;if(this.isMultiple){var s=d(this.dropdownOptions).find("li.disabled.selected");s.length&&(s.removeClass("selected"),s.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(s[0].id)),n=this._toggleEntryFromArray(i)}else d(this.dropdownOptions).find("li").removeClass("selected"),d(e).toggleClass("selected",n);d(this._valueDict[i].el).prop("selected")!==n&&(d(this._valueDict[i].el).prop("selected",n),this.$el.trigger("change"))}t.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var n=this;this.wrapper=document.createElement("div"),d(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(d(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),d(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(d(t).is("option")){var e=void 0;e=n.isMultiple?n._appendOptionWithIcon(n.$el,t,"multiple"):n._appendOptionWithIcon(n.$el,t),n._addOptionToValueDict(t,e)}else if(d(t).is("optgroup")){var i=d(t).children("option");d(n.dropdownOptions).append(d('<li class="optgroup"><span>'+t.getAttribute("label")+"</span></li>")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,"optgroup-option");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),d(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=d('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(".selected").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){d(this.wrapper).find(".caret").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,e,i){var n=e.disabled?"disabled ":"",s="optgroup-option"===i?"optgroup-option ":"",o=this.isMultiple?'<label><input type="checkbox"'+n+'"/><span>'+e.innerHTML+"</span></label>":e.innerHTML,a=d("<li></li>"),r=d("<span></span>");r.html(o),a.addClass(n+" "+s),a.append(r);var l=e.getAttribute("data-icon");if(l){var h=d('<img alt="" src="'+l+'">');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:"_toggleEntryFromArray",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass("selected",e),i.find('input[type="checkbox"]').prop("checked",e),i.prop("selected",e),e}},{key:"_setValueToInput",value:function(){var i=[];if(this.$el.find("option").each(function(t){if(d(t).prop("selected")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&i.push(t.text())}this.input.value=i.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop("selected");d(e.optionEl).find('input[type="checkbox"]').prop("checked",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,e){e&&(this.isMultiple||t.find("li.selected").removeClass("selected"),d(e).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"formSelect","M_FormSelect")}(cash),function(s,e){"use strict";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),s(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",e+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px"),s(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css("padding-left"))+"px";s(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:t,duration:100})),s(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),s(this.thumb).addClass("thumb"),s(this.value).addClass("value"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){s(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var t=-7+parseInt(s(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"range","M_Range"),t.init(s("input[type=range]"))}(cash,M.anime);
5
-
6
-
7
-
8
-
9
-
10
- jQuery(document).ready(function($){
11
-
12
-
13
-
14
-
15
- // Materialize css
16
- $('select').formSelect();
17
-
18
- $('.collapsible').collapsible();
19
-
20
- $('.timepicker').timepicker({
21
- twelveHour: false,
22
- showClearBtn: true
23
- });
24
-
25
-
26
-
27
- // let s1_options = {
28
- // defaultColor: 'ddd',
29
- // hide: true,
30
- // palettes: true
31
- // }
32
- // $('.htcc-color-wp').wpColorPicker(s1_options);
33
-
34
-
35
-
36
- // $('#htcc-color-wp').iris();
37
-
38
- // $('.htcc-color-wp').wpColorPicker();
39
-
40
- // $('.htcc-color-wp').each(function(){
41
- // $(this).wpColorPicker();
42
- // });
43
-
44
- // var hello = document.querySelector('.htcc-color-wp');
45
- // hello.wpColorPicker();
46
-
47
- });
1
+ /*!
2
+ * Materialize v1.0.0 (http://materializecss.com)
3
+ * Copyright 2014-2017 Materialize
4
+ * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
+ */
6
+ var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}window.cash=function(){var i,o=document,a=window,t=Array.prototype,r=t.slice,n=t.filter,s=t.push,e=function(){},h=function(t){return typeof t==typeof e&&t.call},d=function(t){return"string"==typeof t},l=/^#[\w-]*$/,u=/^\.[\w-]*$/,c=/<.+>/,p=/^\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement("base");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){"loading"!==o.readyState?t():o.addEventListener("DOMContentLoaded",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;s<i;s++)this[s]=n[s];return this}function _(t,e){return new g(t,e)}var y=_.fn=_.prototype=g.prototype={cash:!0,length:0,push:s,splice:t.splice,map:t.map,init:g};function k(t,e){for(var i=t.length,n=0;n<i&&!1!==e.call(t[n],t[n],n,t);n++);}function b(t,e){var i=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector);return!!i&&i.call(t,e)}function w(e){return d(e)?b:e.cash?function(t){return e.is(t)}:function(t,e){return t===e}}function C(t){return _(r.call(t).filter(function(t,e,i){return i.indexOf(t)===e}))}Object.defineProperty(y,"constructor",{value:_}),_.parseHTML=f,_.noop=e,_.isFunction=h,_.isString=d,_.extend=y.extend=function(t){t=t||{};var e=r.call(arguments),i=e.length,n=1;for(1===e.length&&(t=this,n=0);n<i;n++)if(e[n])for(var s in e[n])e[n].hasOwnProperty(s)&&(t[s]=e[n][s]);return t},_.extend({merge:function(t,e){for(var i=+e.length,n=t.length,s=0;s<i;n++,s++)t[n]=e[s];return t.length=n,t},each:k,matches:b,unique:C,isArray:Array.isArray,isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)}});var E=_.uid="_cash"+Date.now();function M(t){return t[E]=t[E]||{}}function O(t,e,i){return M(t)[e]=i}function x(t,e){var i=M(t);return void 0===i[e]&&(i[e]=t.dataset?t.dataset[e]:_(t).attr("data-"+e)),i[e]}y.extend({data:function(e,i){if(d(e))return void 0===i?x(this[0],e):this.each(function(t){return O(t,e,i)});for(var t in e)this.data(t,e[t]);return this},removeData:function(s){return this.each(function(t){return i=s,void((n=M(e=t))?delete n[i]:e.dataset?delete e.dataset[i]:_(e).removeAttr("data-"+name));var e,i,n})}});var L=/\S+/g;function T(t){return d(t)&&t.match(L)}function $(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function B(t,e,i){t.classList?t.classList.add(e):i.indexOf(" "+e+" ")&&(t.className+=" "+e)}function D(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(e,"")}y.extend({addClass:function(t){var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){B(e,t,i)})}):this},attr:function(e,i){if(e){if(d(e))return void 0===i?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(t){t.setAttribute?t.setAttribute(e,i):t[e]=i});for(var t in e)this.attr(t,e[t]);return this}},hasClass:function(t){var e=!1,i=T(t);return i&&i.length&&this.each(function(t){return!(e=$(t,i[0]))}),e},prop:function(e,i){if(d(e))return void 0===i?this[0][e]:this.each(function(t){t[e]=i});for(var t in e)this.prop(t,e[t]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(t){if(!arguments.length)return this.attr("class","");var i=T(t);return i?this.each(function(e){k(i,function(t){D(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(t,e){if(void 0!==e)return this[e?"addClass":"removeClass"](t);var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){$(e,t)?D(e,t):B(e,t,i)})}):this}}),y.extend({add:function(t,e){return C(_.merge(this,_(t,e)))},each:function(t){return k(this,t),this},eq:function(t){return _(this.get(t))},filter:function(e){if(!e)return this;var i=h(e)?e:w(e);return _(n.call(this,function(t){return i(t,e)}))},first:function(){return this.eq(0)},get:function(t){return void 0===t?r.call(this):t<0?this[t+this.length]:this[t]},index:function(t){var e=t?_(t)[0]:this[0],i=t?this:_(e).parent().children();return r.call(i).indexOf(e)},last:function(){return this.eq(-1)}});var S,I,A,R,H,P,W=(H=/(?:^\w|[A-Z]|\b\w)/g,P=/[\s-_]+/g,function(t){return t.replace(H,function(t,e){return t[0===e?"toLowerCase":"toUpperCase"]()}).replace(P,"")}),j=(S={},I=document,A=I.createElement("div"),R=A.style,function(e){if(e=W(e),S[e])return S[e];var t=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+["webkit","moz","ms","o"].join(t+" ")+t).split(" ");return k(i,function(t){if(t in R)return S[t]=e=S[e]=t,!1}),S[e]});function F(t,e){return parseInt(a.getComputedStyle(t[0],null)[e],10)||0}function q(e,i,t){var n,s=x(e,"_cashEvents"),o=s&&s[i];o&&(t?(e.removeEventListener(i,t),0<=(n=o.indexOf(t))&&o.splice(n,1)):(k(o,function(t){e.removeEventListener(i,t)}),o=[]))}function N(t,e){return"&"+encodeURIComponent(t)+"="+encodeURIComponent(e).replace(/%20/g,"+")}function z(t){var e,i,n,s=t.type;if(!s)return null;switch(s.toLowerCase()){case"select-one":return 0<=(n=(i=t).selectedIndex)?i.options[n].value:null;case"select-multiple":return e=[],k(t.options,function(t){t.selected&&e.push(t.value)}),e.length?e:null;case"radio":case"checkbox":return t.checked?t.value:null;default:return t.value?t.value:null}}function V(e,i,n){var t=d(i);t||!i.length?k(e,t?function(t){return t.insertAdjacentHTML(n?"afterbegin":"beforeend",i)}:function(t,e){return function(t,e,i){if(i){var n=t.childNodes[0];t.insertBefore(e,n)}else t.appendChild(e)}(t,0===e?i:i.cloneNode(!0),n)}):k(i,function(t){return V(e,t,n)})}_.prefixedProp=j,_.camelCase=W,y.extend({css:function(e,i){if(d(e))return e=j(e),1<arguments.length?this.each(function(t){return t.style[e]=i}):a.getComputedStyle(this[0])[e];for(var t in e)this.css(t,e[t]);return this}}),k(["Width","Height"],function(e){var t=e.toLowerCase();y[t]=function(){return this[0].getBoundingClientRect()[t]},y["inner"+e]=function(){return this[0]["client"+e]},y["outer"+e]=function(t){return this[0]["offset"+e]+(t?F(this,"margin"+("Width"===e?"Left":"Top"))+F(this,"margin"+("Width"===e?"Right":"Bottom")):0)}}),y.extend({off:function(e,i){return this.each(function(t){return q(t,e,i)})},on:function(a,i,r,l){var n;if(!d(a)){for(var t in a)this.on(t,i,a[t]);return this}return h(i)&&(r=i,i=null),"ready"===a?(m(r),this):(i&&(n=r,r=function(t){for(var e=t.target;!b(e,i);){if(e===this||null===e)return e=!1;e=e.parentNode}e&&n.call(e,t)}),this.each(function(t){var e,i,n,s,o=r;l&&(o=function(){r.apply(this,arguments),q(t,a,o)}),i=a,n=o,(s=x(e=t,"_cashEvents")||O(e,"_cashEvents",{}))[i]=s[i]||[],s[i].push(n),e.addEventListener(i,n)}))},one:function(t,e,i){return this.on(t,e,i,!0)},ready:m,trigger:function(t,e){if(document.createEvent){var i=document.createEvent("HTMLEvents");return i.initEvent(t,!0,!1),i=this.extend(i,e),this.each(function(t){return t.dispatchEvent(i)})}}}),y.extend({serialize:function(){var s="";return k(this[0].elements||this,function(t){if(!t.disabled&&"FIELDSET"!==t.tagName){var e=t.name;switch(t.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var i=z(t);null!==i&&k(i,function(t){s+=N(e,t)});break;default:var n=z(t);null!==n&&(s+=N(e,n))}}}),s.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),y.extend({after:function(t){return _(t).insertAfter(this),this},append:function(t){return V(this,t),this},appendTo:function(t){return V(_(t),this),this},before:function(t){return _(t).insertBefore(this),this},clone:function(){return _(this.map(function(t){return t.cloneNode(!0)}))},empty:function(){return this.html(""),this},html:function(t){if(void 0===t)return this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t){return t.innerHTML=e})},insertAfter:function(t){var s=this;return _(t).each(function(t,e){var i=t.parentNode,n=t.nextSibling;s.each(function(t){i.insertBefore(0===e?t:t.cloneNode(!0),n)})}),this},insertBefore:function(t){var s=this;return _(t).each(function(e,i){var n=e.parentNode;s.each(function(t){n.insertBefore(0===i?t:t.cloneNode(!0),e)})}),this},prepend:function(t){return V(this,t,!0),this},prependTo:function(t){return V(_(t),this,!0),this},remove:function(){return this.each(function(t){if(t.parentNode)return t.parentNode.removeChild(t)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var X=o.documentElement;return y.extend({position:function(){var t=this[0];return{left:t.offsetLeft,top:t.offsetTop}},offset:function(){var t=this[0].getBoundingClientRect();return{top:t.top+a.pageYOffset-X.clientTop,left:t.left+a.pageXOffset-X.clientLeft}},offsetParent:function(){return _(this[0].offsetParent)}}),y.extend({children:function(e){var i=[];return this.each(function(t){s.apply(i,t.children)}),i=C(i),e?i.filter(function(t){return b(t,e)}):i},closest:function(t){return!t||this.length<1?_():this.is(t)?this.filter(t):this.parent().closest(t)},is:function(e){if(!e)return!1;var i=!1,n=w(e);return this.each(function(t){return!(i=n(t,e))}),i},find:function(e){if(!e||e.nodeType)return _(e&&this.has(e).length?e:null);var i=[];return this.each(function(t){s.apply(i,v(e,t))}),C(i)},has:function(e){var t=d(e)?function(t){return 0!==v(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return _(this[0].nextElementSibling)},not:function(e){if(!e)return this;var i=w(e);return this.filter(function(t){return!i(t,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),C(e)},parents:function(e){var i,n=[];return this.each(function(t){for(i=t;i&&i.parentNode&&i!==o.body.parentNode;)i=i.parentNode,(!e||e&&b(i,e))&&n.push(i)}),C(n)},prev:function(){return _(this[0].previousElementSibling)},siblings:function(t){var e=this.parent().children(t),i=this[0];return e.filter(function(t){return t!==i})}}),_}();var Component=function(){function s(t,e,i){_classCallCheck(this,s),e instanceof Element||console.error(Error(e+" is not an HTML Element"));var n=t.getInstance(e);n&&n.destroy(),this.el=e,this.$el=cash(e)}return _createClass(s,null,[{key:"init",value:function(t,e,i){var n=null;if(e instanceof Element)n=new t(e,i);else if(e&&(e.jquery||e.cash||e instanceof NodeList)){for(var s=[],o=0;o<e.length;o++)s.push(new t(e[o],i));n=s}return n}}]),s}();!function(t){t.Package?M={}:t.M={},M.jQueryLoaded=!!t.jQuery}(window),"function"==typeof define&&define.amd?define("M",[],function(){return M}):"undefined"==typeof exports||exports.nodeType||("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=M),exports.default=M),M.version="1.0.0",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;var docHandleKeydown=function(t){M.keyDown=!0,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},docHandleKeyup=function(t){M.keyDown=!1,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},docHandleFocus=function(t){M.keyDown&&document.body.classList.add("keyboard-focused")},docHandleBlur=function(t){document.body.classList.remove("keyboard-focused")};document.addEventListener("keydown",docHandleKeydown,!0),document.addEventListener("keyup",docHandleKeyup,!0),document.addEventListener("focus",docHandleFocus,!0),document.addEventListener("blur",docHandleBlur,!0),M.initializeJqueryWrapper=function(n,s,o){jQuery.fn[s]=function(e){if(n.prototype[e]){var i=Array.prototype.slice.call(arguments,1);if("get"===e.slice(0,3)){var t=this.first()[0][o];return t[e].apply(t,i)}return this.each(function(){var t=this[o];t[e].apply(t,i)})}if("object"==typeof e||!e)return n.init(this,e),this;jQuery.error("Method "+e+" does not exist on jQuery."+s)}},M.AutoInit=function(t){var e=t||document.body,i={Autocomplete:e.querySelectorAll(".autocomplete:not(.no-autoinit)"),Carousel:e.querySelectorAll(".carousel:not(.no-autoinit)"),Chips:e.querySelectorAll(".chips:not(.no-autoinit)"),Collapsible:e.querySelectorAll(".collapsible:not(.no-autoinit)"),Datepicker:e.querySelectorAll(".datepicker:not(.no-autoinit)"),Dropdown:e.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),Materialbox:e.querySelectorAll(".materialboxed:not(.no-autoinit)"),Modal:e.querySelectorAll(".modal:not(.no-autoinit)"),Parallax:e.querySelectorAll(".parallax:not(.no-autoinit)"),Pushpin:e.querySelectorAll(".pushpin:not(.no-autoinit)"),ScrollSpy:e.querySelectorAll(".scrollspy:not(.no-autoinit)"),FormSelect:e.querySelectorAll("select:not(.no-autoinit)"),Sidenav:e.querySelectorAll(".sidenav:not(.no-autoinit)"),Tabs:e.querySelectorAll(".tabs:not(.no-autoinit)"),TapTarget:e.querySelectorAll(".tap-target:not(.no-autoinit)"),Timepicker:e.querySelectorAll(".timepicker:not(.no-autoinit)"),Tooltip:e.querySelectorAll(".tooltipped:not(.no-autoinit)"),FloatingActionButton:e.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")};for(var n in i){M[n].init(i[n])}},M.objectSelectorString=function(t){return((t.prop("tagName")||"")+(t.attr("id")||"")+(t.attr("class")||"")).replace(/\s/g,"")},M.guid=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}(),M.escapeHash=function(t){return t.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")},M.elementOrParentIsFixed=function(t){var e=$(t),i=e.add(e.parents()),n=!1;return i.each(function(){if("fixed"===$(this).css("position"))return!(n=!0)}),n},M.checkWithinContainer=function(t,e,i){var n={top:!1,right:!1,bottom:!1,left:!1},s=t.getBoundingClientRect(),o=t===document.body?Math.max(s.bottom,window.innerHeight):s.bottom,a=t.scrollLeft,r=t.scrollTop,l=e.left-a,h=e.top-r;return(l<s.left+i||l<i)&&(n.left=!0),(l+e.width>s.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(h<s.top+i||h<i)&&(n.top=!0),(h+e.height>o-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},$jscomp.iteratorPrototype=function(t){return $jscomp.initSymbolIterator(),(t={next:t})[$jscomp.global.Symbol.iterator]=function(){return this},t},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(e,i){$jscomp.initSymbolIterator(),e instanceof String&&(e+="");var n=0,s={next:function(){if(n<e.length){var t=n++;return{value:i(t,e[t]),done:!1}}return s.next=function(){return{done:!0,value:void 0}},s.next()}};return s[Symbol.iterator]=function(){return s},s},$jscomp.polyfill=function(t,e,i,n){if(e){for(i=$jscomp.global,t=t.split("."),n=0;n<t.length-1;n++){var s=t[n];s in i||(i[s]={}),i=i[s]}(e=e(n=i[t=t[t.length-1]]))!=n&&null!=e&&$jscomp.defineProperty(i,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill("Array.prototype.keys",function(t){return t||function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},"es6-impl","es3");var $jscomp$this=this;M.anime=function(){function s(t){if(!B.col(t))try{return document.querySelectorAll(t)}catch(t){}}function b(t,e){for(var i=t.length,n=2<=arguments.length?e:void 0,s=[],o=0;o<i;o++)if(o in t){var a=t[o];e.call(n,a,o,t)&&s.push(a)}return s}function d(t){return t.reduce(function(t,e){return t.concat(B.arr(e)?d(e):e)},[])}function o(t){return B.arr(t)?t:(B.str(t)&&(t=s(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function a(t,e){return t.some(function(t){return t===e})}function r(t){var e,i={};for(e in t)i[e]=t[e];return i}function u(t,e){var i,n=r(t);for(i in t)n[i]=e.hasOwnProperty(i)?e[i]:t[i];return n}function c(t,e){var i,n=r(t);for(i in e)n[i]=B.und(t[i])?e[i]:t[i];return n}function l(t){if(t=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function h(t,e){return B.fnc(t)?t(e.target,e.id,e.total):t}function w(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function p(t,e){return B.dom(t)&&a($,e)?"transform":B.dom(t)&&(t.getAttribute(e)||B.svg(t)&&t[e])?"attribute":B.dom(t)&&"transform"!==e&&w(t,e)?"css":null!=t[e]?"object":void 0}function v(t,e){switch(p(t,e)){case"transform":return function(t,i){var e,n=-1<(e=i).indexOf("translate")||"perspective"===e?"px":-1<e.indexOf("rotate")||-1<e.indexOf("skew")?"deg":void 0,n=-1<i.indexOf("scale")?1:0+n;if(!(t=t.style.transform))return n;for(var s=[],o=[],a=[],r=/(\w+)\((.+?)\)/g;s=r.exec(t);)o.push(s[1]),a.push(s[2]);return(t=b(a,function(t,e){return o[e]===i})).length?t[0]:n}(t,e);case"css":return w(t,e);case"attribute":return t.getAttribute(e)}return t[e]||0}function f(t,e){var i=/^(\*=|\+=|-=)/.exec(t);if(!i)return t;var n=l(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(i[0],"")),i[0][0]){case"+":return e+t+n;case"-":return e-t+n;case"*":return e*t+n}}function m(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function i(t){t=t.points;for(var e,i=0,n=0;n<t.numberOfItems;n++){var s=t.getItem(n);0<n&&(i+=m(e,s)),e=s}return i}function g(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return 2*Math.PI*t.getAttribute("r");case"rect":return 2*t.getAttribute("width")+2*t.getAttribute("height");case"line":return m({x:t.getAttribute("x1"),y:t.getAttribute("y1")},{x:t.getAttribute("x2"),y:t.getAttribute("y2")});case"polyline":return i(t);case"polygon":var e=t.points;return i(t)+m(e.getItem(e.numberOfItems-1),e.getItem(0))}}function C(e,i){function t(t){return t=void 0===t?0:t,e.el.getPointAtLength(1<=i+t?i+t:0)}var n=t(),s=t(-1),o=t(1);switch(e.property){case"x":return n.x;case"y":return n.y;case"angle":return 180*Math.atan2(o.y-s.y,o.x-s.x)/Math.PI}}function _(t,e){var i,n=/-?\d*\.?\d+/g;if(i=B.pth(t)?t.totalLength:t,B.col(i))if(B.rgb(i)){var s=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(i);i=s?"rgba("+s[1]+",1)":i}else i=B.hex(i)?function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,n){return e+e+i+i+n+n});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);t=parseInt(e[1],16);var i=parseInt(e[2],16),e=parseInt(e[3],16);return"rgba("+t+","+i+","+e+",1)"}(i):B.hsl(i)?function(t){function e(t,e,i){return i<0&&(i+=1),1<i&&--i,i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}var i=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);t=parseInt(i[1])/360;var n=parseInt(i[2])/100,s=parseInt(i[3])/100,i=i[4]||1;if(0==n)s=n=t=s;else{var o=s<.5?s*(1+n):s+n-s*n,a=2*s-o,s=e(a,o,t+1/3),n=e(a,o,t);t=e(a,o,t-1/3)}return"rgba("+255*s+","+255*n+","+255*t+","+i+")"}(i):void 0;else s=(s=l(i))?i.substr(0,i.length-s.length):i,i=e&&!/\s/g.test(i)?s+e:s;return{original:i+="",numbers:i.match(n)?i.match(n).map(Number):[0],strings:B.str(t)||e?i.split(n):[]}}function y(t){return b(t=t?d(B.arr(t)?t.map(o):o(t)):[],function(t,e,i){return i.indexOf(t)===e})}function k(t,i){var e=r(i);if(B.arr(t)){var n=t.length;2!==n||B.obj(t[0])?B.fnc(i.duration)||(e.duration=i.duration/n):t={value:t}}return o(t).map(function(t,e){return e=e?0:i.delay,t=B.obj(t)&&!B.pth(t)?t:{value:t},B.und(t.delay)&&(t.delay=e),t}).map(function(t){return c(t,e)})}function E(o,a){var r;return o.tweens.map(function(t){var e=(t=function(t,e){var i,n={};for(i in t){var s=h(t[i],e);B.arr(s)&&1===(s=s.map(function(t){return h(t,e)})).length&&(s=s[0]),n[i]=s}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(t,a)).value,i=v(a.target,o.name),n=r?r.to.original:i,n=B.arr(e)?e[0]:n,s=f(B.arr(e)?e[1]:e,n),i=l(s)||l(n)||l(i);return t.from=_(n,i),t.to=_(s,i),t.start=r?r.end:o.offset,t.end=t.start+t.delay+t.duration,t.easing=function(t){return B.arr(t)?D.apply(this,t):S[t]}(t.easing),t.elasticity=(1e3-Math.min(Math.max(t.elasticity,1),999))/1e3,t.isPath=B.pth(e),t.isColor=B.col(t.from.original),t.isColor&&(t.round=1),r=t})}function M(e,t,i,n){var s="delay"===e;return t.length?(s?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):s?n.delay:i.offset+n.delay+n.duration}function n(t){var e,i,n,s,o=u(L,t),a=u(T,t),r=(i=t.targets,(n=y(i)).map(function(t,e){return{target:t,id:e,total:n.length}})),l=[],h=c(o,a);for(e in t)h.hasOwnProperty(e)||"targets"===e||l.push({name:e,offset:h.offset,tweens:k(t[e],a)});return s=l,t=b(d(r.map(function(n){return s.map(function(t){var e=p(n.target,t.name);if(e){var i=E(t,n);t={type:e,property:t.name,animatable:n,tweens:i,duration:i[i.length-1].end,delay:i[0].delay}}else t=void 0;return t})})),function(t){return!B.und(t)}),c(o,{children:[],animatables:r,animations:t,duration:M("duration",t,o,a),delay:M("delay",t,o,a)})}function O(t){function d(){return window.Promise&&new Promise(function(t){return _=t})}function u(t){return k.reversed?k.duration-t:t}function c(e){for(var t=0,i={},n=k.animations,s=n.length;t<s;){var o=n[t],a=o.animatable,r=o.tweens,l=r.length-1,h=r[l];l&&(h=b(r,function(t){return e<t.end})[0]||h);for(var r=Math.min(Math.max(e-h.start-h.delay,0),h.duration)/h.duration,d=isNaN(r)?1:h.easing(r,h.elasticity),r=h.to.strings,u=h.round,l=[],c=void 0,c=h.to.numbers.length,p=0;p<c;p++){var v=void 0,v=h.to.numbers[p],f=h.from.numbers[p],v=h.isPath?C(h.value,d*v):f+d*(v-f);u&&(h.isColor&&2<p||(v=Math.round(v*u)/u)),l.push(v)}if(h=r.length)for(c=r[0],d=0;d<h;d++)u=r[d+1],p=l[d],isNaN(p)||(c=u?c+(p+u):c+(p+" "));else c=l[0];I[o.type](a.target,o.property,c,i,a.id),o.currentValue=c,t++}if(t=Object.keys(i).length)for(n=0;n<t;n++)x||(x=w(document.body,"transform")?"transform":"-webkit-transform"),k.animatables[n].target.style[x]=i[n].join(" ");k.currentTime=e,k.progress=e/k.duration*100}function p(t){k[t]&&k[t](k)}function v(){k.remaining&&!0!==k.remaining&&k.remaining--}function e(t){var e=k.duration,i=k.offset,n=i+k.delay,s=k.currentTime,o=k.reversed,a=u(t);if(k.children.length){var r=k.children,l=r.length;if(a>=k.currentTime)for(var h=0;h<l;h++)r[h].seek(a);else for(;l--;)r[l].seek(a)}(n<=a||!e)&&(k.began||(k.began=!0,p("begin")),p("run")),i<a&&a<e?c(a):(a<=i&&0!==s&&(c(0),o&&v()),(e<=a&&s!==e||!e)&&(c(e),o||v())),p("update"),e<=t&&(k.remaining?(m=f,"alternate"===k.direction&&(k.reversed=!k.reversed)):(k.pause(),k.completed||(k.completed=!0,p("complete"),"Promise"in window&&(_(),y=d()))),g=0)}t=void 0===t?{}:t;var f,m,g=0,_=null,y=d(),k=n(t);return k.reset=function(){var t=k.direction,e=k.loop;for(k.currentTime=0,k.progress=0,k.paused=!0,k.began=!1,k.completed=!1,k.reversed="reverse"===t,k.remaining="alternate"===t&&1===e?2:e,c(0),t=k.children.length;t--;)k.children[t].reset()},k.tick=function(t){f=t,m||(m=f),e((g+f-m)*O.speed)},k.seek=function(t){e(u(t))},k.pause=function(){var t=A.indexOf(k);-1<t&&A.splice(t,1),k.paused=!0},k.play=function(){k.paused&&(k.paused=!1,m=0,g=u(k.currentTime),A.push(k),R||H())},k.reverse=function(){k.reversed=!k.reversed,m=0,g=u(k.currentTime)},k.restart=function(){k.pause(),k.reset(),k.play()},k.finished=y,k.reset(),k.autoplay&&k.play(),k}var x,L={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},T={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},$="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),B={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf("Object")},pth:function(t){return B.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||B.svg(t)},str:function(t){return"string"==typeof t},fnc:function(t){return"function"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return B.hex(t)||B.rgb(t)||B.hsl(t)}},D=function(){function u(t,e,i){return(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t}return function(a,r,l,h){if(0<=a&&a<=1&&0<=l&&l<=1){var d=new Float32Array(11);if(a!==r||l!==h)for(var t=0;t<11;++t)d[t]=u(.1*t,a,l);return function(t){if(a===r&&l===h)return t;if(0===t)return 0;if(1===t)return 1;for(var e=0,i=1;10!==i&&d[i]<=t;++i)e+=.1;var i=e+(t-d[--i])/(d[i+1]-d[i])*.1,n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a;if(.001<=n){for(e=0;e<4&&0!=(n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a);++e)var s=u(i,a,l)-t,i=i-s/n;t=i}else if(0===n)t=i;else{for(var i=e,e=e+.1,o=0;0<(n=u(s=i+(e-i)/2,a,l)-t)?e=s:i=s,1e-7<Math.abs(n)&&++o<10;);t=s}return u(t,r,h)}}}}(),S=function(){function i(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var t,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),e={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],i],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,e){return 1-i(1-t,e)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,e){return t<.5?i(2*t,e)/2:1-i(-2*t+2,e)/2}]},s={linear:D(.25,.25,.75,.75)},o={};for(t in e)o.type=t,e[o.type].forEach(function(i){return function(t,e){s["ease"+i.type+n[e]]=B.fnc(t)?t:D.apply($jscomp$this,t)}}(o)),o={type:o.type};return s}(),I={css:function(t,e,i){return t.style[e]=i},attribute:function(t,e,i){return t.setAttribute(e,i)},object:function(t,e,i){return t[e]=i},transform:function(t,e,i,n,s){n[s]||(n[s]=[]),n[s].push(e+"("+i+")")}},A=[],R=0,H=function(){function n(){R=requestAnimationFrame(t)}function t(t){var e=A.length;if(e){for(var i=0;i<e;)A[i]&&A[i].tick(t),i++;n()}else cancelAnimationFrame(R),R=0}return n}();return O.version="2.2.0",O.speed=1,O.running=A,O.remove=function(t){t=y(t);for(var e=A.length;e--;)for(var i=A[e],n=i.animations,s=n.length;s--;)a(t,n[s].animatable.target)&&(n.splice(s,1),n.length||i.pause())},O.getValue=v,O.path=function(t,e){var i=B.str(t)?s(t)[0]:t,n=e||100;return function(t){return{el:i,property:t,totalLength:g(i)*(n/100)}}},O.setDashoffset=function(t){var e=g(t);return t.setAttribute("stroke-dasharray",e),e},O.bezier=D,O.easings=S,O.timeline=function(n){var s=O(n);return s.pause(),s.duration=0,s.add=function(t){return s.children.forEach(function(t){t.began=!0,t.completed=!0}),o(t).forEach(function(t){var e=c(t,u(T,n||{}));e.targets=e.targets||n.targets,t=s.duration;var i=e.offset;e.autoplay=!1,e.direction=s.direction,e.offset=B.und(i)?t:f(i,t),s.began=!0,s.completed=!0,s.seek(e.offset),(e=O(e)).began=!0,e.completed=!0,e.duration>t&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){"use strict";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var n=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?n.first().css("display","block"):n.css("display","block"),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(t){var e=r(t.target).closest(".collapsible-header");if(t.target&&e.length){var i=e.closest(".collapsible");if(i[0]===this.el){var n=e.closest("li"),s=i.children("li"),o=n[0].classList.contains("active"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var s=n.css("padding-top"),o=n.css("padding-bottom"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){n.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:"_animateOut",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css("overflow","hidden"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){n.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:"open",value:function(t){var i=this,e=this.$el.children("li").eq(t);if(e.length&&!e[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children("li");this.$el.children("li.active").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"collapsible","M_Collapsible")}(cash,M.anime),function(h,i){"use strict";var e={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var e=h(t.target).closest("li")[0];this.options.onItemClick.call(this,e)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find("a, button").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(s<this.dropdownEl.children.length&&0<=s);o&&(this.focusedIndex=s,this._focusFocusedItem())}var a=String.fromCharCode(t.which).toLowerCase();if(a&&-1===[9,13,27,38,40].indexOf(t.which)){this.filterQuery.push(a);var r=this.filterQuery.join(""),l=h(this.dropdownEl).find("li").filter(function(t){return 0===h(t).text().toLowerCase().indexOf(r)})[0];l&&(this.focusedIndex=h(l).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,h(this.dropdownEl).children().each(function(t){t.getAttribute("tabindex")||t.setAttribute("tabindex",0)})}},{key:"_focusFocusedItem",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:"_getDropdownPosition",value:function(){this.el.offsetParent.getBoundingClientRect();var t=this.el.getBoundingClientRect(),e=this.dropdownEl.getBoundingClientRect(),i=e.height,n=e.width,s=t.left-e.left,o=t.top-e.top,a={left:s,top:o,height:i,width:n},r=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,r,a,this.options.coverTrigger?0:t.height),h="top",d=this.options.alignment;if(o+=this.options.coverTrigger?0:t.height,this.isScrollable=!1,l.top||(l.bottom?h="bottom":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"dropdown","M_Dropdown")}(cash,M.anime),function(s,i){"use strict";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=s('<div class="modal-overlay"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===n._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".modal-trigger");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){s(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var t=this;s.extend(this.el.style,{display:"block",opacity:0}),s.extend(this.$overlay[0].style,{display:"block",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var e={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:"_animateOut",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var e={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){t.el.style.display="none",t.$overlay.remove(),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:"-100%",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===n._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"modal","M_Modal")}(cash,M.anime),function(o,a){"use strict";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o("<div></div>").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);"visible"!==e.css("overflow")&&(e.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(e.maxWidth=this.newWidth),"none"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:"_animateImageOut",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.originInlineStyles&&t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=o('<div id="materialbox-overlay"></div>').css({opacity:0}).one("click",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*e.left+"px",top:-1*e.top+"px"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('<div class="materialbox-caption"></div>'),this.$photoCaption.text(this.caption),o("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,s<n?(i=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*i):(i=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*i,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var t=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),a.remove(this.el),a.remove(this.$overlay[0]),""!==this.caption&&a.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),a({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.overlayActive=!1,t.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&a({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.$photoCaption.remove()}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Materialbox}},{key:"defaults",get:function(){return e}}]),n}();M.Materialbox=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"materialbox","M_Materialbox")}(cash,M.anime),function(s){"use strict";var e={responsiveThreshold:0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Parallax=i).options=s.extend({},n.defaults,e),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&s(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=0<this.$el.height()?this.el.parentNode.offsetHeight:500,e=this.$img[0].offsetHeight-t,i=this.$el.offset().top+t,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=e*((s+o-n)/(t+o));this._enabled?s<i&&n<s+o&&(this.$img[0].style.transform="translate3D(-50%, "+a+"px, 0)"):this.$img[0].style.transform=""}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Parallax}},{key:"_handleScroll",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._updateParallax.call(e)}}},{key:"_handleWindowResize",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._enabled=window.innerWidth>e.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"parallax","M_Parallax")}(cash),function(a,s){"use strict";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var e=this,i=a(t.target).closest("li.tab"),n=a(t.target).closest("a");if(n.length&&n.parent().hasClass("tab"))if(i.hasClass("disabled"))t.preventDefault();else if(!n.attr("target")){this.$activeTabLink.removeClass("active");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display="none",s.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass("carousel-item"),n=n.add(e)});var t=a('<div class="tabs-content carousel carousel-slider"></div>');n.first().before(t),t.append(n),n[0].style.display="";var e=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass("active"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass("active"),i._animateIndicator(e),"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:"easeOutQuad"};s.remove(this._indicator),s(n)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tabs","M_Tabs")}(cash,M.anime),function(d,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tooltip","M_Tooltip")}(cash,M.anime),function(i){"use strict";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement("div");n.className="waves-ripple",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v="scale("+i.clientWidth/100*10+")";"touches"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute("data-hold",Date.now()),n.setAttribute("data-scale",v),n.setAttribute("data-x",p),n.setAttribute("data-y",c);var f={top:c+"px",left:p+"px"};n.className=n.className+" waves-notransition",n.setAttribute("style",m(f)),n.className=n.className.replace("waves-notransition",""),f["-webkit-transform"]=v,f["-moz-transform"]=v,f["-ms-transform"]=v,f["-o-transform"]=v,f.transform=v,f.opacity="1",f["-webkit-transition-duration"]=g.duration+"ms",f["-moz-transition-duration"]=g.duration+"ms",f["-o-transition-duration"]=g.duration+"ms",f["transition-duration"]=g.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",n.setAttribute("style",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(0<n.length))return!1;var s=(i=n[n.length-1]).getAttribute("data-x"),o=i.getAttribute("data-y"),a=i.getAttribute("data-scale"),r=350-(Date.now()-Number(i.getAttribute("data-hold")));r<0&&(r=0),setTimeout(function(){var t={top:o+"px",left:s+"px",opacity:"0","-webkit-transition-duration":g.duration+"ms","-moz-transition-duration":g.duration+"ms","-o-transition-duration":g.duration+"ms","transition-duration":g.duration+"ms","-webkit-transform":a,"-moz-transform":a,"-ms-transform":a,"-o-transform":a,transform:a};i.setAttribute("style",m(t)),setTimeout(function(){try{e.removeChild(i)}catch(t){return!1}},g.duration)},r)},wrapInput:function(t){for(var e=0;e<t.length;e++){var i=t[e];if("input"===i.tagName.toLowerCase()){var n=i.parentNode;if("i"===n.tagName.toLowerCase()&&-1!==n.className.indexOf("waves-effect"))continue;var s=document.createElement("i");s.className=i.className+" waves-input-wrapper";var o=i.getAttribute("style");o||(o=""),s.setAttribute("style",o),i.className="waves-button-input",i.removeAttribute("style"),n.replaceChild(s,i),s.appendChild(i)}}}},l={touches:0,allowEvent:function(t){var e=!0;return"touchstart"===t.type?l.touches+=1:"touchend"===t.type||"touchcancel"===t.type?setTimeout(function(){0<l.touches&&(l.touches-=1)},500):"mousedown"===t.type&&0<l.touches&&(e=!1),e},touchup:function(t){l.allowEvent(t)}};function n(t){var e=function(t){if(!1===l.allowEvent(t))return null;for(var e=null,i=t.target||t.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf("waves-effect")){e=i;break}i=i.parentNode}return e}(t);null!==e&&(g.show(t,e),"ontouchstart"in i&&(e.addEventListener("touchend",g.hide,!1),e.addEventListener("touchcancel",g.hide,!1)),e.addEventListener("mouseup",g.hide,!1),e.addEventListener("mouseleave",g.hide,!1),e.addEventListener("dragend",g.hide,!1))}t.displayEffect=function(t){"duration"in(t=t||{})&&(g.duration=t.duration),g.wrapInput(e(".waves-effect")),"ontouchstart"in i&&document.body.addEventListener("touchstart",n,!1),document.body.addEventListener("mousedown",n,!1)},t.attach=function(t){"input"===t.tagName.toLowerCase()&&(g.wrapInput([t]),t=t.parentNode),"ontouchstart"in i&&t.addEventListener("touchstart",n,!1),t.addEventListener("mousedown",n,!1)},i.Waves=t,document.addEventListener("DOMContentLoaded",function(){t.displayEffect()},!1)}(window),function(i,n){"use strict";var t={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},e=function(){function s(t){_classCallCheck(this,s),this.options=i.extend({},s.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===s._toasts.length&&s._createContainer(),s._toasts.push(this);var e=this._createToast();(e.M_Toast=this).el=e,this.$el=i(e),this._animateIn(),this._setTimer()}return _createClass(s,[{key:"_createToast",value:function(){var t=document.createElement("div");return t.classList.add("toast"),this.options.classes.length&&i(t).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?i(t).append(this.message[0]):t.innerHTML=this.message,s._container.appendChild(t),t}},{key:"_animateIn",value:function(){n({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var t=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){t.panning||(t.timeRemaining-=20),t.timeRemaining<=0&&t.dismiss()},20))}},{key:"dismiss",value:function(){var t=this;window.clearInterval(this.counterInterval);var e=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+e+"px)",this.el.style.opacity=0),n({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),s._toasts.splice(s._toasts.indexOf(t),1),0===s._toasts.length&&s._removeContainer()}})}}],[{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Toast}},{key:"_createContainer",value:function(){var t=document.createElement("div");t.setAttribute("id","toast-container"),t.addEventListener("touchstart",s._onDragStart),t.addEventListener("touchmove",s._onDragMove),t.addEventListener("touchend",s._onDragEnd),t.addEventListener("mousedown",s._onDragStart),document.addEventListener("mousemove",s._onDragMove),document.addEventListener("mouseup",s._onDragEnd),document.body.appendChild(t),s._container=t}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",s._onDragMove),document.removeEventListener("mouseup",s._onDragEnd),i(s._container).remove(),s._container=null}},{key:"_onDragStart",value:function(t){if(t.target&&i(t.target).closest(".toast").length){var e=i(t.target).closest(".toast")[0].M_Toast;e.panning=!0,(s._draggedToast=e).el.classList.add("panning"),e.el.style.transition="",e.startingXPos=s._xPos(t),e.time=Date.now(),e.xPos=s._xPos(t)}}},{key:"_onDragMove",value:function(t){if(s._draggedToast){t.preventDefault();var e=s._draggedToast;e.deltaX=Math.abs(e.xPos-s._xPos(t)),e.xPos=s._xPos(t),e.velocityX=e.deltaX/(Date.now()-e.time),e.time=Date.now();var i=e.xPos-e.startingXPos,n=e.el.offsetWidth*e.options.activationPercent;e.el.style.transform="translateX("+i+"px)",e.el.style.opacity=1-Math.abs(i/n)}}},{key:"_onDragEnd",value:function(){if(s._draggedToast){var t=s._draggedToast;t.panning=!1,t.el.classList.remove("panning");var e=t.xPos-t.startingXPos,i=t.el.offsetWidth*t.options.activationPercent;Math.abs(e)>i||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition="transform .2s, opacity .2s",t.el.style.transform="",t.el.style.opacity=""),s._draggedToast=null}}},{key:"_xPos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"dismissAll",value:function(){for(var t in s._toasts)s._toasts[t].dismiss()}},{key:"defaults",get:function(){return t}}]),s}();e._toasts=[],e._container=null,e._draggedToast=null,M.Toast=e,M.toast=function(t){return new e(t)}}(cash,M.anime),function(s,o){"use strict";var e={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Sidenav=i).id=i.$el.attr("id"),i.options=s.extend({},n.defaults,e),i.isOpen=!1,i.isFixed=i.el.classList.contains("sidenav-fixed"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),n._sidenavs.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var t=n._sidenavs.indexOf(this);0<=t&&n._sidenavs.splice(t,1)}},{key:"_createOverlay",value:function(){var t=document.createElement("div");this._closeBound=this.close.bind(this),t.classList.add("sidenav-overlay"),t.addEventListener("click",this._closeBound),document.body.appendChild(t),this._overlay=t}},{key:"_setupEventHandlers",value:function(){0===n._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===n._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".sidenav-trigger");if(t.target&&e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Sidenav;n&&n.open(e),t.preventDefault()}}},{key:"_startDrag",value:function(t){var e=t.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=e,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,o.remove(this.el),o.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(t){var e=t.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-e),this._xPos=e,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(t){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge===i&&(e=0);var n=e,s="translateX(-100%)";"right"===this.options.edge&&(s="translateX(100%)",n=-n),this.percentOpen=Math.min(1,e/this._width),this.el.style.transform=s+" translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(t){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge!==i&&(e=0);var n=-e;"right"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-e/this._width),this.el.style.transform="translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(t){s(t.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&992<window.innerWidth}},{key:"_createDragTarget",value:function(){var t=document.createElement("div");t.classList.add("drag-target"),document.body.appendChild(t),this.dragTarget=t}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(o.remove(this.el),o({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var t="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+t+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var t=this,e="left"===this.options.edge?-1:1;this.isDragged&&(e="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*e+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}})}},{key:"_animateOverlayIn",value:function(){var t=0;this.isDragged?t=this.percentOpen:s(this._overlay).css({display:"block"}),o.remove(this._overlay),o({targets:this._overlay,opacity:[t,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var t=this,e="left"===this.options.edge?-1:1,i=0;this.isDragged&&(i="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*i+"%",105*e+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}})}},{key:"_animateOverlayOut",value:function(){var t=this;o.remove(this._overlay),o({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){s(t._overlay).css("display","none")}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Sidenav}},{key:"defaults",get:function(){return e}}]),n}();t._sidenavs=[],M.Sidenav=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"sidenav","M_Sidenav")}(cash,M.anime),function(o,a){"use strict";var e={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(t){return'a[href="#'+t+'"]'}},t=function(t){function c(t,e){_classCallCheck(this,c);var i=_possibleConstructorReturn(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,c,t,e));return(i.el.M_ScrollSpy=i).options=o.extend({},c.defaults,e),c._elements.push(i),c._count++,c._increment++,i.tickId=-1,i.id=c._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return _inherits(c,Component),_createClass(c,[{key:"destroy",value:function(){c._elements.splice(c._elements.indexOf(this),1),c._elementsInView.splice(c._elementsInView.indexOf(this),1),c._visibleElements.splice(c._visibleElements.indexOf(this.$el),1),c._count--,this._removeEventHandlers(),o(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var t=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=t.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===c._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===c._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(t){for(var e=o(t.target),i=c._elements.length-1;0<=i;i--){var n=c._elements[i];if(e.is('a[href="#'+n.$el.attr("id")+'"]')){t.preventDefault();var s=n.$el.offset().top+1;a({targets:[document.documentElement,document.body],scrollTop:s-n.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){c._ticks++;for(var t=M.getDocumentScrollTop(),e=M.getDocumentScrollLeft(),i=e+window.innerWidth,n=t+window.innerHeight,s=c._findElements(t,i,n,e),o=0;o<s.length;o++){var a=s[o];a.tickId<0&&a._enter(),a.tickId=c._ticks}for(var r=0;r<c._elementsInView.length;r++){var l=c._elementsInView[r],h=l.tickId;0<=h&&h!==c._ticks&&(l._exit(),l.tickId=-1)}c._elementsInView=s}},{key:"_enter",value:function(){(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]?(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),c._visibleElements[0][0].M_ScrollSpy&&this.id<c._visibleElements[0][0].M_ScrollSpy.id?c._visibleElements.unshift(this.$el):c._visibleElements.push(this.$el)):c._visibleElements.push(this.$el),o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass)}},{key:"_exit",value:function(){var e=this;(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]&&(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),(c._visibleElements=c._visibleElements.filter(function(t){return t.attr("id")!=e.$el.attr("id")}))[0]&&o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass))}}],[{key:"init",value:function(t,e){return _get(c.__proto__||Object.getPrototypeOf(c),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_ScrollSpy}},{key:"_findElements",value:function(t,e,i,n){for(var s=[],o=0;o<c._elements.length;o++){var a=c._elements[o],r=t+a.options.scrollOffset||200;if(0<a.$el.height()){var l=a.$el.offset().top,h=a.$el.offset().left,d=h+a.$el.width(),u=l+a.$el.height();!(e<h||d<n||i<l||u<r)&&s.push(a)}}return s}},{key:"defaults",get:function(){return e}}]),c}();t._elements=[],t._elementsInView=[],t._visibleElements=[],t._count=0,t._increment=0,t._ticks=0,M.ScrollSpy=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"scrollSpy","M_ScrollSpy")}(cash,M.anime),function(h){"use strict";var e={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(t,e,i){return t.indexOf(i)-e.indexOf(i)}},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));return(i.el.M_Autocomplete=i).options=h.extend({},s.defaults,e),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(".input-field"),i.$active=h(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener("blur",this._handleInputBlurBound),this.el.addEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.addEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("click",this._handleInputClickBound),this.container.addEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("blur",this._handleInputBlurBound),this.el.removeEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("click",this._handleInputClickBound),this.container.removeEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_setupDropdown",value:function(){var e=this;this.container=document.createElement("ul"),this.container.id="autocomplete-options-"+M.guid(),h(this.container).addClass("autocomplete-content dropdown-content"),this.$inputField.append(this.container),this.el.setAttribute("data-target",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(h(t))}}),this.el.removeEventListener("click",this.dropdown._handleClickBound)}},{key:"_removeDropdown",value:function(){this.container.parentNode.removeChild(this.container)}},{key:"_handleInputBlur",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:"_handleInputKeyupAndFocus",value:function(t){"keyup"===t.type&&(s._keydown=!1),this.count=0;var e=this.el.value.toLowerCase();13!==t.keyCode&&38!==t.keyCode&&40!==t.keyCode&&(this.oldVal===e||!M.tabPressed&&"focus"===t.type||this.open(),this.oldVal=e)}},{key:"_handleInputKeydown",value:function(t){s._keydown=!0;var e=t.keyCode,i=void 0,n=h(this.container).children("li").length;e===M.keys.ENTER&&0<=this.activeIndex?(i=h(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(i),t.preventDefault()):e!==M.keys.ARROW_UP&&e!==M.keys.ARROW_DOWN||(t.preventDefault(),e===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,e===M.keys.ARROW_DOWN&&this.activeIndex<n-1&&this.activeIndex++,this.$active.removeClass("active"),0<=this.activeIndex&&(this.$active=h(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(t){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(t){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(t){this._mousedown=!1}},{key:"_highlight",value:function(t,e){var i=e.find("img"),n=e.text().toLowerCase().indexOf(""+t.toLowerCase()),s=n+t.length-1,o=e.text().slice(0,n),a=e.text().slice(n,s+1),r=e.text().slice(s+1);e.html("<span>"+o+"<span class='highlight'>"+a+"</span>"+r+"</span>"),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a<e.length;a++){var r=e[a],l=h("<li></li>");r.data?l.append('<img src="'+r.data+'" class="right circle"><span>'+r.key+"</span>"):l.append("<span>"+r.key+"</span>"),h(this.container).append(l),this._highlight(i,l)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"autocomplete","M_Autocomplete")}(cash),function(d){M.updateTextFields=function(){d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t,e){var i=d(this);0<t.value.length||d(t).is(":focus")||t.autofocus||null!==i.attr("placeholder")?i.siblings("label").addClass("active"):t.validity?i.siblings("label").toggleClass("active",!0===t.validity.badInput):i.siblings("label").removeClass("active")})},M.validate_field=function(t){var e=null!==t.attr("data-length"),i=parseInt(t.attr("data-length")),n=t[0].value.length;0!==n||!1!==t[0].validity.badInput||t.is(":required")?t.hasClass("validate")&&(t.is(":valid")&&e&&n<=i||t.is(":valid")&&!e?(t.removeClass("invalid"),t.addClass("valid")):(t.removeClass("valid"),t.addClass("invalid"))):t.hasClass("validate")&&(t.removeClass("valid"),t.removeClass("invalid"))},M.textareaAutoResize=function(t){if(t instanceof Element&&(t=d(t)),t.length){var e=d(".hiddendiv").first();e.length||(e=d('<div class="hiddendiv common"></div>'),d("body").append(e));var i=t.css("font-family"),n=t.css("font-size"),s=t.css("line-height"),o=t.css("padding-top"),a=t.css("padding-right"),r=t.css("padding-bottom"),l=t.css("padding-left");n&&e.css("font-size",n),i&&e.css("font-family",i),s&&e.css("line-height",s),o&&e.css("padding-top",o),a&&e.css("padding-right",a),r&&e.css("padding-bottom",r),l&&e.css("padding-left",l),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(t[0].value+"\n");var h=e.html().replace(/\n/g,"<br>");e.html(h),0<t[0].offsetWidth&&0<t[0].offsetHeight?e.css("width",t.width()+"px"):e.css("width",window.innerWidth/2+"px"),t.data("original-height")<=e.innerHeight()?t.css("height",e.innerHeight()+"px"):t[0].value.length<t.data("previous-length")&&t.css("height",t.data("original-height")+"px"),t.data("previous-length",t[0].value.length)}else console.error("No textarea element found")},d(document).ready(function(){var n="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";d(document).on("change",n,function(){0===this.value.length&&null===d(this).attr("placeholder")||d(this).siblings("label").addClass("active"),M.validate_field(d(this))}),d(document).ready(function(){M.updateTextFields()}),d(document).on("reset",function(t){var e=d(t.target);e.is("form")&&(e.find(n).removeClass("valid").removeClass("invalid"),e.find(n).each(function(t){this.value.length&&d(this).siblings("label").removeClass("active")}),setTimeout(function(){e.find("select").each(function(){this.M_FormSelect&&d(this).trigger("change")})},0))}),document.addEventListener("focus",function(t){d(t.target).is(n)&&d(t.target).siblings("label, .prefix").addClass("active")},!0),document.addEventListener("blur",function(t){var e=d(t.target);if(e.is(n)){var i=".prefix";0===e[0].value.length&&!0!==e[0].validity.badInput&&null===e.attr("placeholder")&&(i+=", label"),e.siblings(i).removeClass("active"),M.validate_field(e)}},!0);d(document).on("keyup","input[type=radio], input[type=checkbox]",function(t){if(t.which===M.keys.TAB)return d(this).addClass("tabbed"),void d(this).one("blur",function(t){d(this).removeClass("tabbed")})});var t=".materialize-textarea";d(t).each(function(){var t=d(this);t.data("original-height",t.height()),t.data("previous-length",this.value.length),M.textareaAutoResize(t)}),d(document).on("keyup",t,function(){M.textareaAutoResize(d(this))}),d(document).on("keydown",t,function(){M.textareaAutoResize(d(this))}),d(document).on("change",'.file-field input[type="file"]',function(){for(var t=d(this).closest(".file-field").find("input.file-path"),e=d(this)[0].files,i=[],n=0;n<e.length;n++)i.push(e[n].name);t[0].value=i.join(", "),t.trigger("change")})})}(cash),function(s,o){"use strict";var e={indicators:!0,height:400,duration:500,interval:6e3},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Slider=i).options=s.extend({},n.defaults,e),i.$slider=i.$el.find(".slides"),i.$slides=i.$slider.children("li"),i.activeIndex=i.$slides.filter(function(t){return s(t).hasClass("active")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(".caption").each(function(t){i._animateCaptionIn(t,0)}),i.$slides.find("img").each(function(t){var e="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";s(t).attr("src")!==e&&(s(t).css("background-image",'url("'+s(t).attr("src")+'")'),s(t).attr("src",e))}),i._setupIndicators(),i.$active?i.$active.css("display","block"):(i.$slides.first().addClass("active"),o({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:"easeOutQuad"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass("active")),i.$active.find("img").each(function(t){o({targets:i.$active.find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:"easeOutQuad"})}),i._setupEventHandlers(),i.start(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener("click",e._handleIndicatorClickBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener("click",e._handleIndicatorClickBound)})}},{key:"_handleIndicatorClick",value:function(t){var e=s(t.target).index();this.set(e)}},{key:"_handleInterval",value:function(){var t=this.$slider.find(".active").index();this.$slides.length===t+1?t=0:t+=1,this.set(t)}},{key:"_animateCaptionIn",value:function(t,e){var i={targets:t,opacity:0,duration:e,easing:"easeOutQuad"};s(t).hasClass("center-align")?i.translateY=-100:s(t).hasClass("right-align")?i.translateX=100:s(t).hasClass("left-align")&&(i.translateX=-100),o(i)}},{key:"_setSliderHeight",value:function(){this.$el.hasClass("fullscreen")||(this.options.indicators?this.$el.css("height",this.options.height+40+"px"):this.$el.css("height",this.options.height+"px"),this.$slider.css("height",this.options.height+"px"))}},{key:"_setupIndicators",value:function(){var n=this;this.options.indicators&&(this.$indicators=s('<ul class="indicators"></ul>'),this.$slides.each(function(t,e){var i=s('<li class="indicator-item"></li>');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(".caption");this.$active.removeClass("active"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){e.$slides.not(".active").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),o({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"slider","M_Slider")}(cash,M.anime),function(n,s){n(document).on("click",".card",function(t){if(n(this).children(".card-reveal").length){var i=n(t.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var e=n(this).find(".card-reveal");n(t.target).is(n(".card-reveal .card-title"))||n(t.target).is(n(".card-reveal .card-title i"))?s({targets:e[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var e=t.animatables[0].target;n(e).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(n(t.target).is(n(".card .activator"))||n(t.target).is(n(".card .activator i")))&&(i.css("overflow","hidden"),e.css({display:"block"}),s({targets:e[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(h){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr("id")||i.$input.attr("id",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return _inherits(l,Component),_createClass(l,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",l._handleChipsKeydown),document.addEventListener("keyup",l._handleChipsKeyup),this.el.addEventListener("blur",l._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",l._handleChipsKeydown),document.removeEventListener("keyup",l._handleChipsKeyup),this.el.removeEventListener("blur",l._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(t){var e=h(t.target).closest(".chip"),i=h(t.target).is(".close");if(e.length){var n=e.index();i?(this.deleteChip(n),this.$input[0].focus()):this.selectChip(n)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(t){if(l._keydown=!0,13===t.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;t.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""}else 8!==t.keyCode&&37!==t.keyCode||""!==this.$input[0].value||!this.chipsData.length||(t.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(t){if(t.tag){var e=document.createElement("div"),i=document.createElement("i");if(e.classList.add("chip"),e.textContent=t.tag,e.setAttribute("tabindex",0),h(i).addClass("material-icons close"),i.textContent="close",t.image){var n=document.createElement("img");n.setAttribute("src",t.image),e.insertBefore(n,e.firstChild)}return e.appendChild(i),e}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var t=0;t<this.chipsData.length;t++){var e=this._renderChip(this.chipsData[t]);this.$el.append(e),this.$chips.add(e)}this.$el.append(this.$input[0])}},{key:"_setupAutocomplete",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value="",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:"_setupInput",value:function(){this.$input=this.$el.find("input"),this.$input.length||(this.$input=h("<input></input>"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i<this.chipsData.length;i++)if(this.chipsData[i].tag===t.tag){e=!0;break}return!e}return!1}},{key:"addChip",value:function(t){if(this._isValid(t)&&!(this.chipsData.length>=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:"deleteChip",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(t){l._keydown=!0;var e=h(t.target).closest(".chips"),i=t.target&&e.length;if(!h(t.target).is("input, textarea")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:"_handleChipsKeyup",value:function(t){l._keydown=!1}},{key:"_handleChipsBlur",value:function(t){l._keydown||(h(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"chips","M_Chips"),h(document).ready(function(){h(document.body).on("click",".chip .close",function(){var t=h(this).closest(".chips");t.length&&t[0].M_Chips||h(this).closest(".chip").remove()})})}(cash),function(s){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),t<this.options.top&&!this.el.classList.contains("pin-top")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add("pin-top"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-top")),t>this.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:"defaults",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"pushpin","M_Pushpin")}(cash),function(r,s){"use strict";var e={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('<div class="fab-backdrop"></div>'),a=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":a}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":a}),o.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(g){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty("i18n")&&"object"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&t<i?t=i:B._isDate(n)&&n<t&&(t=n),this.date=new Date(t.getTime()),this._renderDateDisplay(),B._setToStartOfDay(this.date),this.gotoDate(this.date),e||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var t=B._isDate(this.date)?this.date:new Date,e=this.options.i18n,i=e.weekdaysShort[t.getDay()],n=e.monthsShort[t.getMonth()],s=t.getDate();this.yearTextEl.innerHTML=t.getFullYear(),this.dateTextEl.innerHTML=i+", "+n+" "+s}},{key:"gotoDate",value:function(t){var e=!0;if(B._isDate(t)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),n=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),s=t.getTime();n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1),e=s<i.getTime()||n.getTime()<s}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}]),this.adjustCalendars()}}},{key:"adjustCalendars",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:"adjustCalendar",value:function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),11<t.month&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(t,e,i){var n=this.options,s=new Date,o=B._getDaysInMonth(t,e),a=new Date(t,e,1).getDay(),r=[],l=[];B._setToStartOfDay(s),0<n.firstDay&&(a-=n.firstDay)<0&&(a+=7);for(var h=0===e?11:e-1,d=11===e?0:e+1,u=0===e?t-1:t,c=11===e?t+1:t,p=B._getDaysInMonth(u,h),v=o+a,f=v;7<f;)f-=7;v+=7-f;for(var m=!1,g=0,_=0;g<v;g++){var y=new Date(t,e,g-a+1),k=!!B._isDate(this.date)&&B._compareDates(y,this.date),b=B._compareDates(y,s),w=-1!==n.events.indexOf(y.toDateString()),C=g<a||o+a<=g,E=g-a+1,M=e,O=t,x=n.startRange&&B._compareDates(n.startRange,y),L=n.endRange&&B._compareDates(n.endRange,y),T=n.startRange&&n.endRange&&n.startRange<y&&y<n.endRange;C&&(g<a?(E=p+E,M=h,O=u):(E-=o,M=d,O=c));var $={day:E,month:M,year:O,hasEvent:w,isSelected:k,isToday:b,isDisabled:n.minDate&&y<n.minDate||n.maxDate&&y>n.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:"renderDay",value:function(t){var e=[],i="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),'<td data-day="'+t.day+'" class="'+e.join(" ")+'" aria-selected="'+i+'"><button class="datepicker-day-button" type="button" data-year="'+t.year+'" data-month="'+t.month+'" data-day="'+t.day+'">'+t.day+"</button></td>"}},{key:"renderRow",value:function(t,e,i){return'<tr class="datepicker-row'+(i?" is-selected":"")+'">'+(e?t.reverse():t).join("")+"</tr>"}},{key:"renderTable",value:function(t,e,i){return'<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="'+i+'">'+this.renderHead(t)+this.renderBody(e)+"</table></div>"}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push('<th scope="col"><abbr title="'+this.renderDayName(t,e)+'">'+this.renderDayName(t,e,!0)+"</abbr></th>");return"<thead><tr>"+(t.isRTL?i.reverse():i).join("")+"</tr></thead>"}},{key:"renderBody",value:function(t){return"<tbody>"+t.join("")+"</tbody>"}},{key:"renderTitle",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='<div id="'+o+'" class="datepicker-controls" role="heading" aria-live="assertive">',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('<option value="'+(i===s?l-e:12+l-e)+'"'+(l===n?' selected="selected"':"")+(c&&l<u.minMonth||p&&l>u.maxMonth?'disabled="disabled"':"")+">"+u.i18n.months[l]+"</option>");for(a='<select class="datepicker-select orig-select-month" tabindex="-1">'+d.join("")+"</select>",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l<h&&l<=u.maxYear;l++)l>=u.minYear&&d.push('<option value="'+l+'" '+(l===i?'selected="selected"':"")+">"+l+"</option>");r='<select class="datepicker-select orig-select-year" tabindex="-1">'+d.join("")+"</select>";v+='<button class="month-prev'+(f?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>',v+='<div class="selects-container">',u.showMonthAfterYear?v+=r+a:v+=a+r,v+="</div>",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='<button class="month-next'+(m?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>')+"</div>"}},{key:"draw",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass("is-disabled")||(!e.hasClass("datepicker-day-button")||e.hasClass("is-empty")||e.parent().hasClass("is-disabled")?e.closest(".month-prev").length?this.prevMonth():e.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),B}();t._template=['<div class= "modal datepicker-modal">','<div class="modal-content datepicker-container">','<div class="datepicker-date-display">','<span class="year-text"></span>','<span class="date-text"></span>',"</div>",'<div class="datepicker-calendar-container">','<div class="datepicker-calendar"></div>','<div class="datepicker-footer">','<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>','<div class="confirmation-btns">','<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>','<button class="btn-flat datepicker-done waves-effect" type="button"></button>',"</div>","</div>","</div>","</div>","</div>"].join(""),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"datepicker","M_Datepicker")}(cash),function(h){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),h(this.spanHours).on("click",this.showView.bind(this,"hours")),h(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var e=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){e.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=h('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.clear+"</button>").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var e=h('<div class="confirmation-btns"></div>');h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.cancel+"</button>").appendTo(e).on("click",this.close.bind(this)),h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.done+"</button>").appendTo(e).on("click",this.done.bind(this)),e.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=h('<div class="am-btn">AM</div>'),this.$pmBtn=h('<div class="pm-btn">PM</div>'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl("svg");n.setAttribute("class","timepicker-svg"),n.setAttribute("width",i),n.setAttribute("height",i);var s=f._createSVGEl("g");s.setAttribute("transform","translate("+t+","+t+")");var o=f._createSVGEl("circle");o.setAttribute("class","timepicker-canvas-bearing"),o.setAttribute("cx",0),o.setAttribute("cy",0),o.setAttribute("r",4);var a=f._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var r=f._createSVGEl("circle");r.setAttribute("class","timepicker-canvas-bg"),r.setAttribute("r",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:"_buildHoursView",value:function(){var t=h('<div class="timepicker-tick"></div>');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+"px"}),i.html(0===e?"00":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;a.css({left:this.options.dialRadius+Math.sin(r)*l-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(r)*l-this.options.tickRadius+"px"}),a.html(0===o?"00":o),this.hoursView.appendChild(a[0])}}},{key:"_buildMinutesView",value:function(){for(var t=h('<div class="timepicker-tick"></div>'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(0<t[1].toUpperCase().indexOf("AM")?this.amOrPm="AM":this.amOrPm="PM",t[1]=t[1].replace("AM","").replace("PM","")),"now"===t[0]){var e=new Date(+new Date+this.options.fromNow);t=[e.getHours(),e.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=t[0]&&t[0]<24?"PM":"AM")}this.hours=+t[0]||0,this.minutes=+t[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=f._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(t,e){"minutes"===t&&h(this.hoursView).css("visibility");var i="hours"===t,n=i?this.hoursView:this.minutesView,s=i?this.minutesView:this.hoursView;this.currentView=t,h(this.spanHours).toggleClass("text-primary",i),h(this.spanMinutes).toggleClass("text-primary",!i),s.classList.add("timepicker-dial-out"),h(n).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(e),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){h(s).css("visibility","hidden")},this.options.duration)}},{key:"resetClock",value:function(t){var e=this.currentView,i=this[e],n="hours"===e,s=i*(Math.PI/(n?6:30)),o=n&&0<i&&i<13?this.options.innerRadius:this.options.outerRadius,a=Math.sin(s)*o,r=-Math.cos(s)*o,l=this;t?(h(this.canvas).addClass("timepicker-canvas-out"),setTimeout(function(){h(l.canvas).removeClass("timepicker-canvas-out"),l.setHand(a,r)},t)):this.setHand(a,r)}},{key:"setHand",value:function(t,e,i){var n=this,s=Math.atan2(t,-e),o="hours"===this.currentView,a=Math.PI/(o||i?6:30),r=Math.sqrt(t*t+e*e),l=o&&r<(this.options.outerRadius+this.options.innerRadius)/2,h=l?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(h=this.options.outerRadius),s<0&&(s=2*Math.PI+s);var d=Math.round(s/a);s=d*a,this.options.twelveHour?o?0===d&&(d=12):(i&&(d*=5),60===d&&(d=0)):o?(12===d&&(d=0),d=l?0===d?12:d:0===d?0:d+12):(i&&(d*=5),60===d&&(d=0)),this[this.currentView]!==d&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){n.vibrateTimer=null},100))),this[this.currentView]=d,o?this.spanHours.innerHTML=d:this.spanMinutes.innerHTML=f._addLeadingZero(d);var u=Math.sin(s)*(h-this.options.tickRadius),c=-Math.cos(s)*(h-this.options.tickRadius),p=Math.sin(s)*h,v=-Math.cos(s)*h;this.hand.setAttribute("x2",u),this.hand.setAttribute("y2",c),this.bg.setAttribute("cx",p),this.bg.setAttribute("cy",v)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(t,e){var i=this.el.value,n=e?"":f._addLeadingZero(this.hours)+":"+f._addLeadingZero(this.minutes);this.time=n,!e&&this.options.twelveHour&&(n=n+" "+this.amOrPm),(this.el.value=n)!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(t,e){return _get(f.__proto__||Object.getPrototypeOf(f),"init",this).call(this,this,t,e)}},{key:"_addLeadingZero",value:function(t){return(t<10?"0":"")+t}},{key:"_createSVGEl",value:function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}},{key:"_Pos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?{x:t.targetTouches[0].clientX,y:t.targetTouches[0].clientY}:{x:t.clientX,y:t.clientY}}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Timepicker}},{key:"defaults",get:function(){return e}}]),f}();t._template=['<div class= "modal timepicker-modal">','<div class="modal-content timepicker-container">','<div class="timepicker-digital-display">','<div class="timepicker-text-container">','<div class="timepicker-display-column">','<span class="timepicker-span-hours text-primary"></span>',":",'<span class="timepicker-span-minutes"></span>',"</div>",'<div class="timepicker-display-column timepicker-display-am-pm">','<div class="timepicker-span-am-pm"></div>',"</div>","</div>","</div>",'<div class="timepicker-analog-display">','<div class="timepicker-plate">','<div class="timepicker-canvas"></div>','<div class="timepicker-dial timepicker-hours"></div>','<div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div>',"</div>",'<div class="timepicker-footer"></div>',"</div>","</div>","</div>"].join(""),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"timepicker","M_Timepicker")}(cash),function(s){"use strict";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),s(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){s(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+="/"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"characterCounter","M_CharacterCounter")}(cash),function(b){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1<n.$el.find(".carousel-item").length,n.showIndicators=n.options.indicators&&n.hasMultipleSlides,n.noWrap=n.options.noWrap||!n.hasMultipleSlides,n.pressed=!1,n.dragged=!1,n.offset=n.target=0,n.images=[],n.itemWidth=n.$el.find(".carousel-item").first().innerWidth(),n.itemHeight=n.$el.find(".carousel-item").first().innerHeight(),n.dim=2*n.itemWidth+n.options.padding||1,n._autoScrollBound=n._autoScroll.bind(n),n._trackBound=n._track.bind(n),n.options.fullWidth&&(n.options.dist=0,n._setCarouselHeight(),n.showIndicators&&n.$el.find(".carousel-fixed-item").addClass("with-indicators")),n.$indicators=b('<ul class="indicators"></ul>'),n.$el.find(".carousel-item").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('<li class="indicator-item"></li>');0===e&&i[0].classList.add("active"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,e){t.addEventListener("click",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,e){t.removeEventListener("click",i._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&b(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2<n||n<-2)&&(this.dragged=!0,this.reference=e,this._scroll(this.offset+n));else{if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(t){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var e=b(t.target).closest(".indicator-item");e.length&&this._cycleTo(e.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var i=this,e=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=e.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(0<s)this.$el.css("height",s+"px");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css("height",r+"px")}}else n.one("load",function(t,e){i.$el.css("height",t.offsetHeight+"px")});else if(!t){var l=e.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"_ypos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientY:t.clientY}},{key:"_wrap",value:function(t){return t>=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var e=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass("scrolling")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l="translateX(0)",u=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",l+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==v&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)],b(r).hasClass("active")||(this.$el.find(".carousel-item").removeClass("active"),r.classList.add("active"));var m=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o*a+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,m)}for(a=1;a<=i;++a){if(this.options.fullWidth?(h=this.options.dist,d=a===i&&n<0?1-o:1):(h=this.options.dist*(2*a+o*s),d=1-p*(2*a+o*s)),!this.noWrap||this.center+a<this.count){r=this.images[this._wrap(this.center+a)];var g=l+" translateX("+(this.options.shift+(this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,g)}if(this.options.fullWidth?(h=this.options.dist,d=a===i&&0<n?1-o:1):(h=this.options.dist*(2*a-o*s),d=1-p*(2*a-o*s)),!this.noWrap||0<=this.center-a){r=this.images[this._wrap(this.center-a)];var _=l+" translateX("+(-this.options.shift+(-this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,_)}}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)];var y=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,y)}var k=this.$el.find(".carousel-item").eq(this._wrap(this.center));c!==this.center&&"function"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,k[0],this.dragged),"function"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,k[0],this.dragged),this.oneTimeCallback=null)}},{key:"_updateItemStyle",value:function(t,e,i,n){t.style[this.xform]=n,t.style.zIndex=i,t.style.opacity=e,t.style.visibility="visible"}},{key:"_cycleTo",value:function(t,e){var i=this.center%this.count-t;this.noWrap||(i<0?Math.abs(i+this.count)<Math.abs(i)&&(i+=this.count):0<i&&Math.abs(i-this.count)<i&&(i-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),i<0?this.target+=this.dim*Math.abs(i):0<i&&(this.target-=this.dim*i),"function"==typeof e&&(this.oneTimeCallback=e),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center+t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"carousel","M_Carousel")}(cash),function(S){"use strict";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){S(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(".tap-target-wave")[0],this.originEl=S(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],S(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var e=this.$origin.parents(),i=0;i<e.length&&!(t="fixed"==S(e[i]).css("position"));i++);var n=this.$origin.outerWidth(),s=this.$origin.outerHeight(),o=t?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,a=t?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,r=window.innerWidth,l=window.innerHeight,h=r/2,d=l/2,u=a<=h,c=h<a,p=o<=d,v=d<o,f=.25*r<=a&&a<=.75*r,m=this.$el.outerWidth(),g=this.$el.outerHeight(),_=o+s/2-g/2,y=a+n/2-m/2,k=t?"fixed":"absolute",b=f?m:m/2+n,w=g/2,C=p?g/2:0,E=u&&!f?m/2-n:0,O=n,x=v?"bottom":"top",L=2*n,T=L,$=g/2-T/2,B=m/2-L/2,D={};D.top=p?_+"px":"",D.right=c?r-y-m+"px":"",D.bottom=v?l-_-g+"px":"",D.left=u?y+"px":"",D.position=k,S(this.wrapper).css(D),S(this.contentEl).css({width:b+"px",height:w+"px",top:C+"px",right:"0px",bottom:"0px",left:E+"px",padding:O+"px",verticalAlign:x}),S(this.waveEl).css({top:$+"px",left:B+"px",width:L+"px",height:T+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_TapTarget}},{key:"defaults",get:function(){return e}}]),n}();M.TapTarget=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tapTarget","M_TapTarget")}(cash),function(d){"use strict";var e={classes:"",dropdownOptions:{}},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.$el.hasClass("browser-default")?_possibleConstructorReturn(i):((i.el.M_FormSelect=i).options=d.extend({},n.defaults,e),i.isMultiple=i.$el.prop("multiple"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.addEventListener("click",e._handleOptionClickBound)}),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var e=this;d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.removeEventListener("click",e._handleOptionClickBound)}),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(t){this._setValueToInput()}},{key:"_handleOptionClick",value:function(t){t.preventDefault();var e=d(t.target).closest("li")[0],i=e.id;if(!d(e).hasClass("disabled")&&!d(e).hasClass("optgroup")&&i.length){var n=!0;if(this.isMultiple){var s=d(this.dropdownOptions).find("li.disabled.selected");s.length&&(s.removeClass("selected"),s.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(s[0].id)),n=this._toggleEntryFromArray(i)}else d(this.dropdownOptions).find("li").removeClass("selected"),d(e).toggleClass("selected",n);d(this._valueDict[i].el).prop("selected")!==n&&(d(this._valueDict[i].el).prop("selected",n),this.$el.trigger("change"))}t.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var n=this;this.wrapper=document.createElement("div"),d(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(d(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),d(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(d(t).is("option")){var e=void 0;e=n.isMultiple?n._appendOptionWithIcon(n.$el,t,"multiple"):n._appendOptionWithIcon(n.$el,t),n._addOptionToValueDict(t,e)}else if(d(t).is("optgroup")){var i=d(t).children("option");d(n.dropdownOptions).append(d('<li class="optgroup"><span>'+t.getAttribute("label")+"</span></li>")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,"optgroup-option");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),d(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=d('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(".selected").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){d(this.wrapper).find(".caret").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,e,i){var n=e.disabled?"disabled ":"",s="optgroup-option"===i?"optgroup-option ":"",o=this.isMultiple?'<label><input type="checkbox"'+n+'"/><span>'+e.innerHTML+"</span></label>":e.innerHTML,a=d("<li></li>"),r=d("<span></span>");r.html(o),a.addClass(n+" "+s),a.append(r);var l=e.getAttribute("data-icon");if(l){var h=d('<img alt="" src="'+l+'">');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:"_toggleEntryFromArray",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass("selected",e),i.find('input[type="checkbox"]').prop("checked",e),i.prop("selected",e),e}},{key:"_setValueToInput",value:function(){var i=[];if(this.$el.find("option").each(function(t){if(d(t).prop("selected")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&i.push(t.text())}this.input.value=i.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop("selected");d(e.optionEl).find('input[type="checkbox"]').prop("checked",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,e){e&&(this.isMultiple||t.find("li.selected").removeClass("selected"),d(e).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"formSelect","M_FormSelect")}(cash),function(s,e){"use strict";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),s(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",e+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px"),s(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css("padding-left"))+"px";s(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:t,duration:100})),s(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),s(this.thumb).addClass("thumb"),s(this.value).addClass("value"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){s(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var t=-7+parseInt(s(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"range","M_Range"),t.init(s("input[type=range]"))}(cash,M.anime);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/class-htcc-admin.php CHANGED
@@ -1,731 +1,1022 @@
1
- <?php
2
- /**
3
- * Creates top level menu
4
- * and options page
5
- *
6
- * @package htcc
7
- * @subpackage admin
8
- * @since 1.0.0
9
- *
10
- */
11
-
12
- if ( ! defined( 'ABSPATH' ) ) exit;
13
-
14
- if ( ! class_exists( 'HTCC_Admin' ) ) :
15
-
16
- class HTCC_Admin {
17
-
18
- private $api;
19
-
20
- public function __construct()
21
- {
22
- $this->api = new MobileMonkeyApi();
23
- }
24
-
25
- private function getApi()
26
- {
27
- return $this->api;
28
- }
29
-
30
- /**
31
- * Adds top level menu -> WP CSS Shapes
32
- *
33
- * @uses action hook - admin_menu
34
- *
35
- * @since 1.0.0
36
- * @return void
37
- */
38
- public function htcc_options_page() {
39
- add_menu_page(
40
- 'WP-Chatbot Setting page',
41
- 'WP-Chatbot',
42
- 'manage_options',
43
- 'wp-chatbot',
44
- array( $this, 'settings_page' ),
45
- 'dashicons-format-chat'
46
- );
47
- }
48
-
49
- /**
50
- * Options page Content -
51
- * get settings form from a template settings_page.php
52
- *
53
- * Call back from - $this->htcc_options_page, add_menu_page
54
- *
55
- * @since 1.0.0
56
- * @return void
57
- */
58
- public function settings_page() {
59
-
60
- if ( ! current_user_can('manage_options') ) {
61
- return;
62
- }
63
-
64
- // get options page form
65
- require_once('settings_page.php');
66
- }
67
-
68
- /**
69
- * Options page - Regsiter, add section and add setting fields
70
- *
71
- * @uses action hook - admin_init
72
- *
73
- * @since 1.0.0
74
- * @return void
75
- */
76
- public function htcc_custom_settings() {
77
-
78
- register_setting( 'htcc_settings_group', 'htcc_options' , array( $this, 'htcc_options_sanitize' ) );
79
-
80
- add_settings_section( 'htcc_settings', '', array( $this, 'htcc_settings_section_cb' ), 'htcc_options_settings' );
81
-
82
- add_settings_field('htcc_fb_connection_button', __('Facebook connection', 'wp-chatbot'), array($this, 'htcc_fb_connection_button_cb'), 'htcc_options_settings', 'htcc_settings');
83
-
84
- add_settings_field( 'htcc_fb_color', __( 'Color' , 'wp-chatbot' ), array( $this, 'htcc_fb_color_cb' ), 'htcc_options_settings', 'htcc_settings' );
85
- add_settings_field( 'htcc_fb_greeting_login', __( 'Logged in Greeting' , 'wp-chatbot' ), array( $this, 'htcc_fb_greeting_login_cb' ), 'htcc_options_settings', 'htcc_settings' );
86
- add_settings_field( 'htcc_fb_greeting_logout', __( 'Logged out Greeting' , 'wp-chatbot' ), array( $this, 'htcc_fb_greeting_logout_cb' ), 'htcc_options_settings', 'htcc_settings' );
87
-
88
- add_settings_field( 'htcc_fb_greeting_dialog_display', __( 'Greeting Dialog Display' , 'wp-chatbot' ), array( $this, 'htcc_fb_greeting_dialog_display_cb' ), 'htcc_options_settings', 'htcc_settings' );
89
- add_settings_field( 'htcc_fb_greeting_dialog_delay', __( 'Greeting Dialog Delay' , 'wp-chatbot' ), array( $this, 'htcc_fb_greeting_dialog_delay_cb' ), 'htcc_options_settings', 'htcc_settings' );
90
- add_settings_field( 'htcc_fb_sdk_lang', __( 'Messenger language' , 'wp-chatbot' ), array( $this, 'htcc_fb_sdk_lang_cb' ), 'htcc_options_settings', 'htcc_settings' );
91
- add_settings_field( 'htcc_fb_ref', __( 'Ref' , 'wp-chatbot' ), array( $this, 'htcc_fb_ref_cb' ), 'htcc_options_settings', 'htcc_settings' );
92
-
93
- add_settings_field( 'htcc_show_hide', __( 'Hide Based on post type' , 'wp-chatbot' ), array( $this, 'htcc_show_hide_post_types_cb' ), 'htcc_options_settings', 'htcc_settings' );
94
- add_settings_field( 'htcc_list_id_tohide', __( 'Post, Page Id\'s to Hide' , 'wp-chatbot' ), array( $this, 'htcc_list_id_tohide_cb' ), 'htcc_options_settings', 'htcc_settings' );
95
- add_settings_field( 'htcc_list_cat_tohide', __( 'Categorys to Hide' , 'wp-chatbot' ), array( $this, 'htcc_list_cat_tohide_cb' ), 'htcc_options_settings', 'htcc_settings' );
96
- add_settings_field( 'htcc_devices_show_hide', __( 'Hide Based on Devices' , 'wp-chatbot' ), array( $this, 'htcc_show_hide_devices_cb' ), 'htcc_options_settings', 'htcc_settings' );
97
- add_settings_field( 'htcc_shortcode', __( 'Shortcode name' , 'wp-chatbot' ), array( $this, 'htcc_custom_shortcode_cb' ), 'htcc_options_settings', 'htcc_settings' );
98
-
99
- // add_settings_field( 'htcc_fb_is_minimized', __( 'Minimized' , 'wp-chatbot' ), array( $this, 'htcc_fb_is_minimized_cb' ), 'htcc_options_settings', 'htcc_settings' );
100
-
101
- add_settings_field( 'htcc_page_load', __( 'Call SDK after Page Load' , 'wp-chatbot' ), array( $this, 'htcc_page_load_cb' ), 'htcc_options_settings', 'htcc_settings' );
102
-
103
- }
104
-
105
- // section heading
106
- function htcc_settings_section_cb() {
107
-
108
- // Comment when in production
109
- //$this->getApi()->debug();
110
-
111
- echo '<h1>WP-Chatbot Settings</h1>';
112
- }
113
-
114
- /**
115
- * Facebook connection button area view
116
- */
117
-
118
- public function htcc_fb_connection_button_cb() {
119
-
120
- $options = get_option('htcc_options');
121
-
122
- $api = $this->getApi();
123
- $api->logoutMobilemonkey();
124
- $token = $api->connectMobileMonkey();
125
-
126
- if ($token) {
127
-
128
- $reset = FALSE;
129
- if ($api->connectPage() || $api->disconnectPage()) {
130
- $reset = TRUE;
131
-
132
- }
133
-
134
- $pages = $api->getPages($reset);
135
- $activePage = $api->getActivePage($reset);
136
-
137
- if ($activePage) {
138
-
139
- $fb_connected_area_active_page_settings = [
140
- 'connected_page' => $activePage,
141
- 'current_facebook_page_block' => '',
142
- 'logout_path' => add_query_arg([
143
- 'page' => HTCC_PLUGIN_MAIN_MENU,
144
- 'logout' => true,
145
- ], admin_url('admin.php')),
146
- ];
147
- HT_CC::view('ht-cc-admin-fb-button-connected', $fb_connected_area_active_page_settings);
148
-
149
- } else {
150
-
151
- $fb_connected_area_pages_settings = [
152
- 'pages' => $pages,
153
- 'logout_path' => add_query_arg([
154
- 'page' => HTCC_PLUGIN_MAIN_MENU,
155
- 'logout' => true,
156
- ], admin_url('admin.php')),
157
- ];
158
- HT_CC::view('ht-cc-admin-fb-button-select-page', $fb_connected_area_pages_settings);
159
- }
160
-
161
- } else {
162
-
163
- HT_CC::view('ht-cc-admin-fb-button-not-connected', [
164
- 'options' => $options,
165
- 'path' => $this->getApi()->connectLink(),
166
- ]);
167
- }
168
-
169
- }
170
-
171
-
172
- // color - next new version added ..
173
- public function htcc_fb_color_cb_old() {
174
-
175
- $htcc_fb_color = get_option('htcc_options');
176
- ?>
177
- <div class="row">
178
- <div class="input-field col s12">
179
-
180
- <!-- <input name="htcc_options[fb_color]" data-default-color="#26a69a" value="<?php echo esc_attr( $htcc_fb_color['fb_color'] ) ?>" type="text" class="htcc-color-wp" style="height: 1.375rem;" > -->
181
-
182
- <input id="htcc-color-wp" class="htcc-color-wp" name="htcc_options[fb_color]" value="<?php echo esc_attr( $htcc_fb_color['fb_color'] ) ?>" type="text" style="height: 1.375rem;" >
183
- <p class="description"><?php _e( 'messenger theme color, leave empty for default color - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/messenger-theme-color/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
184
- </div>
185
- </div>
186
- <?php
187
- }
188
-
189
-
190
- // color
191
- public function htcc_fb_color_cb() {
192
-
193
- $htcc_fb_color = get_option('htcc_options');
194
- ?>
195
- <div class="row">
196
- <div class="input-field col s12">
197
- <!-- <input name="htcc_options[fb_color]" value="<?php echo esc_attr( $htcc_fb_color['fb_color'] ) ?>" type="color" class="htcc-color-wp" style="width: 5rem; height: 1.5rem;" > -->
198
- <input name="htcc_options[fb_color]" value="<?php echo esc_attr( $htcc_fb_color['fb_color'] ) ?>" type="text" class="htcc-color-wp" style="height: 1.375rem;" >
199
- <p class="description"><?php _e( 'messenger theme color, leave empty for default color - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/messenger-theme-color/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
200
- <!-- <p class="description"><?php _e( 'please open settings page in the browser that supports "type color", we are planning to make a better way to choose the color ' , 'wp-chatbot' ) ?></p> -->
201
- </div>
202
- </div>
203
- <?php
204
- }
205
-
206
-
207
-
208
- // Greeting for logged in user
209
- public function htcc_fb_greeting_login_cb() {
210
-
211
- $htcc_fb_greeting_login = get_option('htcc_options');
212
- ?>
213
- <div class="row">
214
- <div class="input-field col s12">
215
- <input type="text" name="htcc_options[fb_greeting_login]" id="fb_greeting_login" value="<?php echo esc_attr( $htcc_fb_greeting_login['fb_greeting_login'] ) ?>">
216
- <label for="fb_greeting_login"><?php _e( 'Logged in Greetings' , 'ht-click' ) ?></label>
217
- <p class="description"><?php _e( 'Greetings text - If Facebook logged in the current browser, leave empty for default message - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/change-facebook-messenger-greetings-text/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
218
- <!-- <p class="description"><?php _e( 'Grettings can add in any language, this can be different to the messenger language' , 'wp-chatbot' ) ?></p> -->
219
- <!-- <p class="description"><?php _e( 'If this Greetings fields are blank, default Greetings will load based on Messenger Language' , 'wp-chatbot' ) ?></p> -->
220
- </div>
221
- </div>
222
- <?php
223
- }
224
-
225
- // Greeting for logged out user
226
- public function htcc_fb_greeting_logout_cb() {
227
-
228
- $htcc_fb_greeting_logout = get_option('htcc_options');
229
- ?>
230
- <div class="row">
231
- <div class="input-field col s12">
232
- <input type="text" name="htcc_options[fb_greeting_logout]" id="fb_greeting_logout" value="<?php echo esc_attr( $htcc_fb_greeting_logout['fb_greeting_logout'] ) ?>">
233
- <label for="fb_greeting_logout"><?php _e( 'Logged out Greetings' , 'ht-click' ) ?></label>
234
- <p class="description"><?php _e( 'Greetings text - If Facebook logged out in the current browser, leave empty for default message - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/change-facebook-messenger-greetings-text/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
235
- </div>
236
- </div>
237
- <?php
238
- }
239
-
240
- // sdk lang. / messenger lang
241
- public function htcc_fb_sdk_lang_cb() {
242
-
243
- $sdk_lang = get_option('htcc_options');
244
- $lang = esc_attr( $sdk_lang['fb_sdk_lang'] );
245
- ?>
246
- <div class="row">
247
- <div class="input-field col s12">
248
- <select name="htcc_options[fb_sdk_lang]">
249
- <?php
250
- $fb_lang = HTCC_Lang::$fb_lang;
251
-
252
- foreach ( $fb_lang as $key => $value ) {
253
- ?>
254
- <option value="<?php echo $key ?>" <?php echo $lang == $key ? 'SELECTED' : ''; ?> ><?php echo $value ?></option>
255
- <?php
256
- }
257
-
258
- ?>
259
- </select>
260
- <label for=""><?php _e( 'Language' , 'ht-click' ) ?></label>
261
- <p class="description"><?php _e( 'Language displays in chat window, not user input - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/messenger-language/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
262
- <p class="description"><?php _e( 'Facebook SDK is not supporting all languages.., please don\'t consider it, as an error ' , 'wp-chatbot' ) ?> </p>
263
- <!-- <p class="description"><?php _e( 'If desired Language is not added - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.messenger.com/t/1541811499235090/"><?php _e( 'please message us' , 'wp-chatbot' ) ?></a> </p> -->
264
- </div>
265
- </div>
266
- <?php
267
- }
268
-
269
-
270
- // greeting_dialog_display - since v2.2
271
- public function htcc_fb_greeting_dialog_display_cb() {
272
- $greeting_dialog_display = get_option('htcc_options');
273
- $min_value = esc_attr( $greeting_dialog_display['greeting_dialog_display'] );
274
- ?>
275
- <div class="row">
276
- <div class="input-field col s12">
277
- <select name="htcc_options[greeting_dialog_display]" class="select-1">
278
- <option value="" <?php echo $min_value == "" ? 'SELECTED' : ''; ?> >Default</option>
279
- <option value="show" <?php echo $min_value == "show" ? 'SELECTED' : ''; ?> >Show</option>
280
- <option value="fade" <?php echo $min_value == "fade" ? 'SELECTED' : ''; ?> >Fade</option>
281
- <option value="hide" <?php echo $min_value == "hide" ? 'SELECTED' : ''; ?> >Hide</option>
282
- </select>
283
- <label for=""><?php _e( 'Greeting Dialog Display' , 'ht-click' ) ?></label>
284
- <p class="description"><?php _e( 'Greetings Dialog Display - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/greeting-dialog-display/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
285
- <p class="description"><?php _e( 'Show - The greeting dialog will always be shown when the plugin loads.' , 'wp-chatbot' ) ?></p>
286
- <p class="description"><?php _e( 'Fade - The greeting dialog of the plugin will be shown, then fade away and stay hidden afterwards.' , 'wp-chatbot' ) ?></p>
287
- <p class="description"><?php _e( 'Hide - The greeting dialog of the plugin will always be hidden until a user clicks on the plugin.' , 'wp-chatbot' ) ?></p>
288
- </div>
289
- </div>
290
- <?php
291
- }
292
-
293
- // greeting_dialog_delay - since v2.2
294
- public function htcc_fb_greeting_dialog_delay_cb() {
295
- $greeting_dialog_delay = get_option('htcc_options');
296
- $delay_time = esc_attr( $greeting_dialog_delay['greeting_dialog_delay'] );
297
- ?>
298
- <div class="row">
299
- <div class="input-field col s12">
300
- <input type="number" min="0" name="htcc_options[greeting_dialog_delay]" id="greeting_dialog_delay" value="<?php echo $delay_time ?>">
301
- <label for="greeting_dialog_delay"><?php _e( 'Greeting Dialog Delay' , 'ht-click' ) ?></label>
302
- <p class="description"><?php _e( 'Sets the number of seconds of delay before the greeting dialog is shown after the plugin is loaded - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/greeting-dialog-delay/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
303
- </div>
304
- </div>
305
- <?php
306
- }
307
-
308
-
309
- // ref
310
- public function htcc_fb_ref_cb() {
311
-
312
- $reference = get_option('htcc_options');
313
- ?>
314
- <div class="row">
315
- <div class="input-field col s12">
316
- <input type="text" name="htcc_options[ref]" id="ref" value="<?php echo esc_attr( $reference['ref'] ) ?>">
317
- <label for="ref"><?php _e( 'REF Attribute' , 'ht-click' ) ?></label>
318
- <p class="description"><?php _e( 'Useful to create Entry Point to your messenger chatbot - ' , 'wp-chatbot' ) ?><a target="_blank" href="https://www.holithemes.com/wp-chatbot/messenger-ref/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
319
- </div>
320
- </div>
321
- <?php
322
- }
323
-
324
-
325
- // minimized - deprecated - since v2.2
326
- // removed since 3.2
327
- public function htcc_fb_is_minimized_cb() {
328
- $minimized = get_option('htcc_options');
329
- $min_value = esc_attr( $minimized['minimized'] );
330
- ?>
331
- <div class="row">
332
- <div class="input-field col s12">
333
- <div>
334
- <select name="htcc_options[minimized]" class="select-1">
335
- <option value="" <?php echo $min_value == "" ? 'SELECTED' : ''; ?> >Default</option>
336
- <option value="false" <?php echo $min_value == "false" ? 'SELECTED' : ''; ?> >False</option>
337
- <option value="true" <?php echo $min_value == "true" ? 'SELECTED' : ''; ?> >True</option>
338
- </select> This attribute is now deprecated - <a target="_blank" href="https://www.holithemes.com/wp-chatbot/minimize-messenger/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a>
339
- </div>
340
- <p class="description"><?php _e( 'Instead, use greeting_dialog_display, greeting_dialog_delay for customization' , 'wp-chatbot' ) ?> </p>
341
- </div>
342
- </div>
343
- <?php
344
- }
345
-
346
-
347
-
348
- // checkboxes - Hide based on Type of posts ..
349
- public function htcc_show_hide_post_types_cb() {
350
- $htcc_checkbox = get_option('htcc_options');
351
-
352
- // Single Posts
353
- if ( isset( $htcc_checkbox['hideon_posts'] ) ) {
354
- ?>
355
- <p>
356
- <label>
357
- <input name="htcc_options[hideon_posts]" type="checkbox" value="1" <?php checked( $htcc_checkbox['hideon_posts'], 1 ); ?> id="filled-in-box1" />
358
- <span><?php _e( 'Hide on - Posts' , 'wp-chatbot' ) ?></span>
359
- </label>
360
- </p>
361
- <?php
362
- } else {
363
- ?>
364
- <p>
365
- <label>
366
- <input name="htcc_options[hideon_posts]" type="checkbox" value="1" id="filled-in-box1" />
367
- <span><?php _e( 'Hide on - Posts' , 'wp-chatbot' ) ?></span>
368
- </label>
369
- </p>
370
- <?php
371
- }
372
-
373
-
374
- // Page
375
- if ( isset( $htcc_checkbox['hideon_page'] ) ) {
376
- ?>
377
- <p>
378
- <label>
379
- <input name="htcc_options[hideon_page]" type="checkbox" value="1" <?php checked( $htcc_checkbox['hideon_page'], 1 ); ?> id="filled-in-box2" />
380
- <span><?php _e( 'Hide on - Pages' , 'wp-chatbot' ) ?></span>
381
- </label>
382
- </p>
383
- <?php
384
- } else {
385
- ?>
386
- <p>
387
- <label>
388
- <input name="htcc_options[hideon_page]" type="checkbox" value="1" id="filled-in-box2" />
389
- <span><?php _e( 'Hide on - Pages' , 'wp-chatbot' ) ?></span>
390
- </label>
391
- </p>
392
- <?php
393
- }
394
-
395
-
396
- // Home Page
397
- if ( isset( $htcc_checkbox['hideon_homepage'] ) ) {
398
- ?>
399
- <p>
400
- <label>
401
- <input name="htcc_options[hideon_homepage]" type="checkbox" value="1" <?php checked( $htcc_checkbox['hideon_homepage'], 1 ); ?> id="filled-in-box3" />
402
- <span><?php _e( 'Hide on - Home Page' , 'wp-chatbot' ) ?></span>
403
- </label>
404
- </p>
405
- <?php
406
- } else {
407
- ?>
408
- <p>
409
- <label>
410
- <input name="htcc_options[hideon_homepage]" type="checkbox" value="1" id="filled-in-box3" />
411
- <span><?php _e( 'Hide on - Home Page' , 'wp-chatbot' ) ?></span>
412
- </label>
413
- </p>
414
- <?php
415
- }
416
-
417
-
418
- /* Front Page
419
- A front page is also a home page, but home page is not a front page
420
- if front page unchecked - it works on both homepage and fornt page
421
- but if home page is unchecked - it works only on home page, not on front page */
422
- if ( isset( $htcc_checkbox['hideon_frontpage'] ) ) {
423
- ?>
424
- <p>
425
- <label>
426
- <input name="htcc_options[hideon_frontpage]" type="checkbox" value="1" <?php checked( $htcc_checkbox['hideon_frontpage'], 1 ); ?> id="filled-in-box4" />
427
- <span><?php _e( 'Hide on - Front Page' , 'wp-chatbot' ) ?></span>
428
- </label>
429
- </p>
430
- <?php
431
- } else {
432
- ?>
433
- <p>
434
- <label>
435
- <input name="htcc_options[hideon_frontpage]" type="checkbox" value="1" id="filled-in-box4" />
436
- <span><?php _e( 'Hide on - Front Page' , 'wp-chatbot' ) ?></span>
437
- </label>
438
- </p>
439
- <?php
440
- }
441
-
442
-
443
-
444
- // Category
445
- if ( isset( $htcc_checkbox['hideon_category'] ) ) {
446
- ?>
447
- <p>
448
- <label>
449
- <input name="htcc_options[hideon_category]" type="checkbox" value="1" <?php checked( $htcc_checkbox['hideon_category'], 1 ); ?> id="filled-in-box5" />
450
- <span><?php _e( 'Hide on - Category' , 'wp-chatbot' ) ?></span>
451
- </label>
452
- </p>
453
- <?php
454
- } else {
455
- ?>
456
- <p>
457
- <label>
458
- <input name="htcc_options[hideon_category]" type="checkbox" value="1" id="filled-in-box5" />
459
- <span><?php _e( 'Hide on - Category' , 'wp-chatbot' ) ?></span>
460
- </label>
461
- </p>
462
- <?php
463
- }
464
-
465
-
466
-
467
- // Archive
468
- if ( isset( $htcc_checkbox['hideon_archive'] ) ) {
469
- ?>
470
- <p>
471
- <label>
472
- <input name="htcc_options[hideon_archive]" type="checkbox" value="1" <?php checked( $htcc_checkbox['hideon_archive'], 1 ); ?> id="filled-in-box6" />
473
- <span><?php _e( 'Hide on - Archive' , 'wp-chatbot' ) ?></span>
474
- </label>
475
- </p>
476
- <?php
477
- } else {
478
- ?>
479
- <p>
480
- <label>
481
- <input name="htcc_options[hideon_archive]" type="checkbox" value="1" id="filled-in-box6" />
482
- <span><?php _e( 'Hide on - Archive' , 'wp-chatbot' ) ?></span>
483
- </label>
484
- </p>
485
- <?php
486
- }
487
-
488
-
489
-
490
- // 404 Page
491
- if ( isset( $htcc_checkbox['hideon_404'] ) ) {
492
- ?>
493
- <p>
494
- <label>
495
- <input name="htcc_options[hideon_404]" type="checkbox" value="1" <?php checked( $htcc_checkbox['hideon_404'], 1 ); ?> id="filled-in-box7" />
496
- <span><?php _e( 'Hide on - 404 Page' , 'wp-chatbot' ) ?></span>
497
- </label>
498
- </p>
499
- <?php
500
- } else {
501
- ?>
502
- <p>
503
- <label>
504
- <input name="htcc_options[hideon_404]" type="checkbox" value="1" id="filled-in-box7" />
505
- <span><?php _e( 'Hide on - 404 Page' , 'wp-chatbot' ) ?></span>
506
- </label>
507
- </p>
508
- <?php
509
- }
510
- ?>
511
- <p class="description"> <?php _e( 'check for not to load Messenger - based on type of the page - ' , 'wp-chatbot' ) ?> <a target="_blank" href="https://www.holithemes.com/wp-chatbot/show-hide-messenger-based-on-type-of-the-page/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
512
-
513
-
514
- <?php
515
- }
516
-
517
-
518
- // ID 's list to hide styles
519
- function htcc_list_id_tohide_cb() {
520
- $htcc_list_id_tohide = get_option('htcc_options');
521
- ?>
522
- <div class="row">
523
- <div class="input-field col s12">
524
- <input name="htcc_options[list_hideon_pages]" value="<?php echo esc_attr( $htcc_list_id_tohide['list_hideon_pages'] ) ?>" id="list_hideon_pages htcc_list_id_tohide" type="text">
525
- <label for="list_hideon_pages"><?php _e( 'Post, Page Ids to Hide' , 'ht-click' ) ?></label>
526
- <p class="description"> <?php _e( 'Add Post, Page, Media - ID\'s to hide,' , 'wp-chatbot' ) ?> <br> <?php _e( 'can add multiple IDs separate with comma ( , )' , 'wp-chatbot' ) ?> - <a target="_blank" href="https://www.holithemes.com/wp-chatbot/hide-messenger-based-on-post-id/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
527
- </div>
528
- </div>
529
- <?php
530
- }
531
-
532
- // Categorys list - to hide
533
- function htcc_list_cat_tohide_cb() {
534
- $htcc_list_cat_tohide = get_option('htcc_options');
535
- ?>
536
- <div class="row">
537
- <div class="input-field col s12">
538
- <input name="htcc_options[list_hideon_cat]" value="<?php echo esc_attr( $htcc_list_cat_tohide['list_hideon_cat'] ) ?>" id="list_hideon_cat htcc_list_cat_tohide" type="text" >
539
- <label for="list_hideon_cat"><?php _e( 'Categorys to Hide' , 'ht-click' ) ?></label>
540
- <p class="description"> <?php _e( 'Category name\'s to hide,' , 'wp-chatbot' ) ?> <br> <?php _e( 'can add multiple Categories separate with comma ( , )' , 'wp-chatbot' ) ?> - <a target="_blank" href="https://www.holithemes.com/wp-chatbot/hide-messenger-based-on-category/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
541
- </div>
542
- </div>
543
- <?php
544
- }
545
-
546
-
547
-
548
-
549
- // checkboxes - based on Type of device ..
550
- public function htcc_show_hide_devices_cb() {
551
- $htcc_devices = get_option('htcc_options');
552
-
553
- // Hide on Mobile Devices
554
- if ( isset( $htcc_devices['hideon_mobile'] ) ) {
555
- ?>
556
- <p>
557
- <label>
558
- <input name="htcc_options[hideon_mobile]" type="checkbox" value="1" <?php checked( $htcc_devices['hideon_mobile'], 1 ); ?> id="hideon_mobile" />
559
- <span><?php _e( 'Hide on - Mobile Devices' , 'wp-chatbot' ) ?></span>
560
- </label>
561
- </p>
562
- <?php
563
- } else {
564
- ?>
565
- <p>
566
- <label>
567
- <input name="htcc_options[hideon_mobile]" type="checkbox" value="1" id="hideon_mobile" />
568
- <span><?php _e( 'Hide on - Mobile Devices' , 'wp-chatbot' ) ?></span>
569
- </label>
570
- </p>
571
- <?php
572
- }
573
-
574
-
575
- // Hide on Desktop Devices
576
- if ( isset( $htcc_devices['hideon_desktop'] ) ) {
577
- ?>
578
- <p>
579
- <label>
580
- <input name="htcc_options[hideon_desktop]" type="checkbox" value="1" <?php checked( $htcc_devices['hideon_desktop'], 1 ); ?> id="hideon_desktop" />
581
- <span><?php _e( 'Hide on - Desktops' , 'wp-chatbot' ) ?></span>
582
- </label>
583
- </p>
584
- <?php
585
- } else {
586
- ?>
587
- <p>
588
- <label>
589
- <input name="htcc_options[hideon_desktop]" type="checkbox" value="1" id="hideon_desktop" />
590
- <span><?php _e( 'Hide on - Desktops' , 'wp-chatbot' ) ?></span>
591
- </label>
592
- </p>
593
- <?php
594
- }
595
- }
596
-
597
-
598
- // Custom shortcode
599
- function htcc_custom_shortcode_cb() {
600
- $htcc_shortcode = get_option('htcc_options');
601
- ?>
602
- <div class="row">
603
- <div class="input-field col s12">
604
- <input name="htcc_options[shortcode]" value="<?php echo esc_attr( $htcc_shortcode['shortcode'] ) ?>" id="shortcode" type="text" class="validate input-margin">
605
- <label for="shortcode"><?php _e( 'Shortcode name' , 'ht-click' ) ?></label>
606
- <?php
607
- // $shorcode_list = '';
608
- // foreach ($GLOBALS['shortcode_tags'] AS $key => $value) {
609
- // $shorcode_list .= $key . ', ';
610
- // }
611
- ?>
612
- <p class="description"> <?php printf( __( 'Default value is \'%1$s\', can customize shortcode name' , 'wp-chatbot' ), 'chatbot' ) ?> - <a target="_blank" href="https://www.holithemes.com/wp-chatbot/change-shortcode-name/"><?php _e( 'more info' , 'wp-chatbot' ) ?></a> </p>
613
- <p class="description"> <?php _e( 'please don\'t add an already existing shortcode name' , 'wp-chatbot' ) ?>
614
- <!-- <p class="description"> <?php _e( 'please dont add this already existing shorcode names' , 'wp-chatbot' ) ?> - <?php echo $shorcode_list ?> </p> -->
615
- </div>
616
- </div>
617
- <?php
618
- }
619
-
620
- // page load
621
- public function htcc_page_load_cb() {
622
- $options = get_option('htcc_options');
623
-
624
- ?>
625
- <p class="description"><a href="https://www.holithemes.com/wp-chatbot/call-sdk-after-page-loads/" target="_blank">Call SDK after page load</a></p>
626
- <p class="description">This feature is in beta stage ( please review these settings at least in the next two versions )</p>
627
- <p class="description">Don't enable this features If some other plugins or some other source also calls Facebook SDK.</p>
628
- <br>
629
-
630
- <?php
631
- // load sdk after page loaded
632
- if ( isset( $options['is_sdk_after_page_load'] ) ) {
633
- ?>
634
- <p>
635
- <label>
636
- <input name="htcc_options[is_sdk_after_page_load]" type="checkbox" value="1" <?php checked( $options['is_sdk_after_page_load'], 1 ); ?> id="is_sdk_after_page_load" />
637
- <span><?php _e( 'Call SDK after page loads' , 'wp-chatbot' ) ?></span>
638
- </label>
639
- </p>
640
- <?php
641
- } else {
642
- ?>
643
- <p>
644
- <label>
645
- <input name="htcc_options[is_sdk_after_page_load]" type="checkbox" value="1" id="is_sdk_after_page_load" />
646
- <span><?php _e( 'Call SDK after page loads' , 'wp-chatbot' ) ?></span>
647
- </label>
648
- </p>
649
- <?php
650
- }
651
- ?>
652
- <p class="description">Improves user experience. After webpage loaded, call SDK and display messenger</p>
653
- <br>
654
-
655
- <!-- <div class="time-delay" style="margin-left: 25px;"> -->
656
-
657
- <?php
658
-
659
- // +4 seconds - load sdk after page loaded
660
- if ( isset( $options['is_sdk_4_seconds'] ) ) {
661
- ?>
662
- <p>
663
- <label>
664
- <input name="htcc_options[is_sdk_4_seconds]" type="checkbox" value="1" <?php checked( $options['is_sdk_4_seconds'], 1 ); ?> id="is_sdk_4_seconds" />
665
- <span><?php _e('+4 seconds after page loaded' , 'wp-chatbot') ?></span>
666
- </label>
667
- </p>
668
- <?php
669
- } else {
670
- ?>
671
- <p>
672
- <label>
673
- <input name="htcc_options[is_sdk_4_seconds]" type="checkbox" value="1" id="is_sdk_4_seconds" />
674
- <span><?php _e('+4 seconds after page loaded' , 'wp-chatbot') ?></span>
675
- </label>
676
- </p>
677
- <?php
678
- }
679
- ?>
680
- <!-- <p class="description">After webpage loaded and after 4 seconds, call SDK and display Messenger</p> -->
681
- <p class="description">Adds benefit at page speed metrics</p>
682
-
683
-
684
- <?php
685
- if ( 'true' == HTCC_PRO ) {
686
- include_once HTCC_PLUGIN_DIR . 'admin/pro/admin-sdk-load-time.php';
687
- }
688
- ?>
689
-
690
- <!-- </div> -->
691
-
692
- <?php
693
-
694
- if ( 'true' !== HTCC_PRO ) {
695
- ?>
696
- <br>
697
- <p class="description">In pro version can set time to call SDK, and can set time to display messenger</p>
698
- <p class="description"><a target="_blank" href="https://www.holithemes.com/wp-chatbot/pro/"> Pro Version has lot more features</a> </p>
699
- <!-- <p class="description">it's like giving high priority to page content and also getting benefit in page speed rank, seo as Page speed tools will not count the sdk and messenger )</p> -->
700
- <?php
701
- }
702
-
703
- }
704
-
705
- /**
706
- * Sanitize each setting field as needed
707
- *
708
- * @since 1.0.0
709
- * @param array $input Contains all settings fields as array keys
710
- */
711
- public function htcc_options_sanitize( $input ) {
712
-
713
- if ( ! current_user_can( 'manage_options' ) ) {
714
- wp_die( 'not allowed to modify - please contact admin ' );
715
- }
716
-
717
- $new_input = array();
718
-
719
- foreach ($input as $key => $value) {
720
- if( isset( $input[$key] ) ) {
721
- $new_input[$key] = sanitize_text_field( $input[$key] );
722
- }
723
- }
724
-
725
-
726
- return $new_input;
727
- }
728
-
729
- }
730
-
731
- endif; // END class_exists check
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Creates top level menu
4
+ * and options page
5
+ *
6
+ * @package htcc
7
+ * @subpackage admin
8
+ * @since 1.0.0
9
+ *
10
+ */
11
+
12
+ if (!defined('ABSPATH')) exit;
13
+
14
+ if (!class_exists('HTCC_Admin')) :
15
+
16
+ class HTCC_Admin
17
+ {
18
+
19
+ private $api;
20
+ private $fb_page_id;
21
+ private $options;
22
+ private $botid;
23
+ private $token;
24
+ private $test;
25
+
26
+ public function __construct()
27
+ {
28
+ $this->api = new MobileMonkeyApi();
29
+ $this->token = $this->api->connectMobileMonkey();
30
+ $this->options = get_option('htcc_options');
31
+ $this->fb_page_id = $this->options['fb_page_id'];
32
+ $this->botid = $this->api->getActivePage();
33
+ }
34
+
35
+ private function getApi()
36
+ {
37
+ return $this->api;
38
+ }
39
+
40
+ /**
41
+ * Adds top level menu -> WP CSS Shapes
42
+ *
43
+ * @uses action hook - admin_menu
44
+ *
45
+ * @since 1.0.0
46
+ * @return void
47
+ */
48
+ public function htcc_options_page()
49
+ {
50
+ add_menu_page(
51
+ 'WP-Chatbot Setting page',
52
+ 'WP-Chatbot',
53
+ 'manage_options',
54
+ 'wp-chatbot',
55
+ array($this, 'settings_page'),
56
+ 'dashicons-format-chat'
57
+ );
58
+ if ($this->getApi()->connectMobileMonkey()) {
59
+ add_submenu_page('wp-chatbot', 'Contacts', 'Contacts', 8, 'wp-chatbot-contact', [
60
+ $this, 'page_contact'
61
+ ]);
62
+ }
63
+
64
+
65
+ }
66
+
67
+ /**
68
+ * Options page Content -
69
+ * get settings form from a template settings_page.php
70
+ *
71
+ * Call back from - $this->htcc_options_page, add_menu_page
72
+ *
73
+ * @since 1.0.0
74
+ * @return void
75
+ */
76
+ public function settings_page()
77
+ {
78
+
79
+ if (!current_user_can('manage_options')) {
80
+ return;
81
+ }
82
+
83
+ // get options page form
84
+ require_once('settings_page.php');
85
+ }
86
+
87
+ function page_contact()
88
+ {
89
+ include('contact_page.php');
90
+ $table = new MobileMonkey_Contacts_List_Table();
91
+ $table->prepare_items();
92
+ $table->display();
93
+ }
94
+
95
+ /**
96
+ * Options page - Regsiter, add section and add setting fields
97
+ *
98
+ * @uses action hook - admin_init
99
+ *
100
+ * @since 1.0.0
101
+ * @return void
102
+ */
103
+ public function htcc_custom_settings()
104
+ {
105
+ add_settings_section('htcc_settings_connect', '', array($this, 'htcc_section_connect_render'), 'wp-chatbot');
106
+ add_settings_section('htcc_settings_as', '', array($this, 'htcc_section_as_render'), 'wp-chatbot');
107
+
108
+ add_settings_field('htcc_fb_welcome_message', '', array($this, 'htcc_fb_welcome_message_cb'), 'wp-chatbot', 'htcc_settings_as');
109
+ add_settings_field('htcc_fb_as_state', '', array($this, 'htcc_fb_as_state_cb'), 'wp-chatbot', 'htcc_settings_as');
110
+ add_settings_field('htcc_fb_answer1','', array($this, 'htcc_fb_answer1_cb'), 'wp-chatbot', 'htcc_settings_as');
111
+ add_settings_field('htcc_fb_answer2','', array($this, 'htcc_fb_answer2_cb'), 'wp-chatbot', 'htcc_settings_as');
112
+ add_settings_field('htcc_fb_answer3','', array($this, 'htcc_fb_answer3_cb'), 'wp-chatbot', 'htcc_settings_as');
113
+ add_settings_field('htcc_fb_thank_answer','', array($this, 'htcc_fb_thank_answer_cb'), 'wp-chatbot', 'htcc_settings_as');
114
+ add_settings_field('htcc_fb_email_trans','', array($this, 'htcc_fb_email_trans_cb'), 'wp-chatbot', 'htcc_settings_as');
115
+
116
+ register_setting('htcc_setting_group', 'htcc_as_options', array($this, 'htcc_as_options_sanitize'));
117
+
118
+
119
+
120
+ add_settings_section('htcc_settings', '', array($this, 'print_additional_settings_section_info'), 'wp-chatbot');
121
+ add_settings_field('htcc_fb_color', __('Color', 'wp-chatbot'), array($this, 'htcc_fb_color_cb'), 'wp-chatbot', 'htcc_settings');
122
+ add_settings_field('htcc_fb_greeting_login', __('Logged in Greeting', 'wp-chatbot'), array($this, 'htcc_fb_greeting_login_cb'), 'wp-chatbot', 'htcc_settings');
123
+ add_settings_field('htcc_fb_greeting_logout', __('Logged out Greeting', 'wp-chatbot'), array($this, 'htcc_fb_greeting_logout_cb'), 'wp-chatbot', 'htcc_settings');
124
+ add_settings_field('htcc_fb_greeting_dialog_display', __('Greeting Dialog Display', 'wp-chatbot'), array($this, 'htcc_fb_greeting_dialog_display_cb'), 'wp-chatbot', 'htcc_settings');
125
+ add_settings_field('htcc_fb_greeting_dialog_delay', __('Greeting Dialog Delay', 'wp-chatbot'), array($this, 'htcc_fb_greeting_dialog_delay_cb'), 'wp-chatbot', 'htcc_settings');
126
+ add_settings_field('htcc_fb_sdk_lang', __('Messenger language', 'wp-chatbot'), array($this, 'htcc_fb_sdk_lang_cb'), 'wp-chatbot', 'htcc_settings');
127
+ add_settings_field('htcc_fb_ref', __('Ref', 'wp-chatbot'), array($this, 'htcc_fb_ref_cb'), 'wp-chatbot', 'htcc_settings');
128
+ add_settings_field('htcc_show_hide', __('Hide Based on post type', 'wp-chatbot'), array($this, 'htcc_show_hide_post_types_cb'), 'wp-chatbot', 'htcc_settings');
129
+ add_settings_field('htcc_list_id_tohide', __('Post, Page Id\'s to Hide', 'wp-chatbot'), array($this, 'htcc_list_id_tohide_cb'), 'wp-chatbot', 'htcc_settings');
130
+ add_settings_field('htcc_list_cat_tohide', __('Categorys to Hide', 'wp-chatbot'), array($this, 'htcc_list_cat_tohide_cb'), 'wp-chatbot', 'htcc_settings');
131
+ add_settings_field('htcc_devices_show_hide', __('Hide Based on Devices', 'wp-chatbot'), array($this, 'htcc_show_hide_devices_cb'), 'wp-chatbot', 'htcc_settings');
132
+ add_settings_field('htcc_shortcode', __('Shortcode name', 'wp-chatbot'), array($this, 'htcc_custom_shortcode_cb'), 'wp-chatbot', 'htcc_settings');
133
+ add_settings_field('htcc_page_load', __('Call SDK after Page Load', 'wp-chatbot'), array($this, 'htcc_page_load_cb'), 'wp-chatbot', 'htcc_settings');
134
+ register_setting('htcc_setting_group', 'htcc_options', array($this, 'htcc_options_sanitize'));
135
+ }
136
+
137
+
138
+ function htcc_section_connect_render() {
139
+ ?>
140
+ <h3 class="acc-title <?php if ($this->botid && $this->token){ echo "colapse"; } else {echo "open";}?>"><div class="circle">1</div>Connect to your Facebook account<i class="fa fa-angle-down step_fa"></i></h3>
141
+
142
+ <div class="acc-content" style="display:block">
143
+ <div class="accordionItemHeading">
144
+ <?php $this->htcc_fb_connection_button_cb(); ?>
145
+ </div>
146
+ </div>
147
+ <?php
148
+ }
149
+ function htcc_section_as_render() {
150
+ ?>
151
+ <?php
152
+ if ($this->fb_page_id && $this->token && $this->botid){
153
+ if ($this->api->mmOnlyCheck($this->fb_page_id)){
154
+ $style = "disabled";
155
+ $this->test = "none";
156
+ }else{
157
+ $style = "";
158
+ $this->test = "block";
159
+ }
160
+ }
161
+ ?>
162
+ <h3 class="acc-title <?php if ($this->fb_page_id && $this->token && $this->botid){ echo "open"; } else {echo "close";}?>"><div class="circle">2</div>Set up your ChatBot<i class="fa fa-angle-down step_fa"></i></h3>
163
+ <div class="acc-content answering-service <?php echo $style; ?>" style="display:block">
164
+ <div class="accordionItemHeading">
165
+
166
+ <div class="mm_only" style="display: none">
167
+ <h6><?php _e('Looks like you\'ve already worked in MobileMonkey. Please use the MobileMonkey app to make additional edits to the \'Welcome message\' and \'Answering Service\'.', 'wp-chatbot') ?></h6>
168
+ <a target="_blank" rel="noopener noreferrer" href='https://app.mobilemonkey.com/chatbot-editor/bot-builder' class="button">Go to MobileMonkey</a>
169
+ </div>
170
+ <?php
171
+ }
172
+ function print_additional_settings_section_info() {
173
+ ?>
174
+ </div>
175
+ </div>
176
+ <h3 class="acc-title <?php if ($this->fb_page_id && $this->token && $this->botid){ echo "open"; } else {echo "close";} ?>"><div class="circle">3</div>Customize<i class="fa fa-angle-down step_fa"></i></h3>
177
+ <div class="acc-content" style="display:block">
178
+ <div class="accordionItemHeading">
179
+ <?php
180
+
181
+ }
182
+ public function htcc_fb_connection_button_cb()
183
+ {
184
+ $options = get_option('htcc_options');
185
+ $options_as = get_option('htcc_as_options');
186
+ $api = $this->getApi();
187
+ $api->logoutMobilemonkey();
188
+ $token = $api->connectMobileMonkey();
189
+
190
+ if ($token) {
191
+
192
+ $reset = FALSE;
193
+ if ($api->connectPage() || $api->disconnectPage()) {
194
+ $reset = TRUE;
195
+ }
196
+
197
+ $pages = $api->getPages();
198
+ $activePage = $api->getActivePage($reset);
199
+ if ($activePage) {
200
+ $test = $api->getWidgets($activePage['remote_id']);
201
+ if ((float)$test->enabled!== (float)$options_as['fb_as_state']){
202
+
203
+ if ($options_as['fb_as_state']==null || $options_as['fb_as_state']==0){
204
+ $valuse = false;
205
+ } else {
206
+ $valuse = true;
207
+ }
208
+ $api->AsStateSave($valuse,$activePage['remote_id']);
209
+ }
210
+
211
+ if ($test) {
212
+ foreach ($test->widgets as $key=>$value){
213
+ if ($value->type == "quick_question"){
214
+ $key+=1;
215
+ if (!empty($options_as['fb_answer'.$key.'']) && $options_as['fb_answer'.$key.'']!== $value->config->body){
216
+ $dump_value = $value;
217
+ $dump_value->config->body = $options_as['fb_answer'.$key.''];
218
+ $api->updateWidgets($dump_value);
219
+ }
220
+ }
221
+ if ($value->type == 'text'){
222
+ if (!empty($options_as['thank_message']) && $options_as['thank_message']!== $value->config->body) {
223
+ $dump_value = $value;
224
+ $dump_value->config->body = $options_as['thank_message'];
225
+ $api->updateWidgets($dump_value);
226
+
227
+ }
228
+ }
229
+ if ($value->type == 'email'){
230
+ if (!empty($options_as['email']) && $options_as['email']!== $value->config->recipient) {
231
+ $dump_value = $value;
232
+ $dump_value->config->recipient = $options_as['email'];
233
+ $api->updateWidgets($dump_value);
234
+
235
+ }
236
+ }
237
+ }
238
+ // var_dump($options_as = get_option('htcc_as_options'));
239
+ }
240
+
241
+ $current_welcome_message = $api->getWelcomeMessage($activePage['remote_id']);
242
+ if (!empty($options['fb_welcome_message']) && $options['fb_welcome_message'] !== $current_welcome_message) {
243
+ $api->updateWelcomeMessage($options['fb_welcome_message'], $activePage['remote_id']);
244
+ }
245
+ $current_language = $api->getLanguage($activePage['remote_id']);
246
+ if (!empty($options['fb_sdk_lang']) && $options['fb_sdk_lang'] !== $current_language) {
247
+ $api->updateLanguage($options['fb_sdk_lang'], $activePage['remote_id']);
248
+ }
249
+ $fb_connected_area_active_page_settings = [
250
+ 'connected_page' => $activePage,
251
+ 'current_facebook_page_block' => '',
252
+ 'logout_path' => add_query_arg([
253
+ 'page' => HTCC_PLUGIN_MAIN_MENU,
254
+ 'logout' => true,
255
+ ], admin_url('admin.php')),
256
+ ];
257
+ HT_CC::view('ht-cc-admin-fb-button-connected', $fb_connected_area_active_page_settings);
258
+
259
+ } else {
260
+
261
+ $fb_connected_area_pages_settings = [
262
+ 'pages' => $pages,
263
+ 'logout_path' => add_query_arg([
264
+ 'page' => HTCC_PLUGIN_MAIN_MENU,
265
+ 'logout' => true,
266
+ ], admin_url('admin.php')),
267
+ ];
268
+ HT_CC::view('ht-cc-admin-fb-button-select-page', $fb_connected_area_pages_settings);
269
+ }
270
+
271
+ } else {
272
+
273
+ HT_CC::view('ht-cc-admin-fb-button-not-connected', [
274
+ 'options' => $options,
275
+ 'path' => $this->getApi()->connectLink(),
276
+ ]);
277
+ }
278
+
279
+ }
280
+
281
+
282
+ // color - next new version added ..
283
+ public function htcc_fb_color_cb_old()
284
+ {
285
+ $htcc_fb_color = get_option('htcc_options');
286
+ ?>
287
+
288
+ <div class="row">
289
+ <div class="input-field col s12">
290
+
291
+ <!-- <input name="htcc_options[fb_color]" data-default-color="#26a69a" value="<?php echo esc_attr($htcc_fb_color['fb_color']) ?>" type="text" class="htcc-color-wp" style="height: 1.375rem;" > -->
292
+
293
+ <input id="htcc-color-wp" class="htcc-color-wp" name="htcc_options[fb_color]"
294
+ value="<?php echo esc_attr($htcc_fb_color['fb_color']) ?>" type="text"
295
+ style="height: 1.375rem;">
296
+ <p class="description"><?php _e('messenger theme color, leave empty for default color - ', 'wp-chatbot') ?>
297
+ <a target="_blank"
298
+ href="https://mobilemonkey.com/wp-chatbot/messenger-theme-color/"><?php _e('more info', 'wp-chatbot') ?></a>
299
+ </p>
300
+ </div>
301
+ </div>
302
+ <?php
303
+ }
304
+
305
+ // color
306
+ public function htcc_fb_color_cb()
307
+ {
308
+
309
+ $htcc_fb_color = get_option('htcc_options');
310
+ ?>
311
+ <div class="row">
312
+ <div class="input-field col s12">
313
+ <!-- <input name="htcc_options[fb_color]" value="<?php echo esc_attr($htcc_fb_color['fb_color']) ?>" type="color" class="htcc-color-wp" style="width: 5rem; height: 1.5rem;" > -->
314
+ <input name="htcc_options[fb_color]" value="<?php echo esc_attr($htcc_fb_color['fb_color']) ?>"
315
+ type="text" class="htcc-color-wp" style="height: 1.375rem;">
316
+ <p class="description"><?php _e('messenger theme color, leave empty for default color - ', 'wp-chatbot') ?>
317
+ <a target="_blank"
318
+ href="https://mobilemonkey.com/wp-chatbot/messenger-theme-color/"><?php _e('more info', 'wp-chatbot') ?></a>
319
+ </p>
320
+ <!-- <p class="description"><?php _e('please open settings page in the browser that supports "type color", we are planning to make a better way to choose the color ', 'wp-chatbot') ?></p> -->
321
+ </div>
322
+ </div>
323
+ <?php
324
+ }
325
+ public function htcc_fb_as_state_cb()
326
+ {
327
+ $htcc_fb_as_state = get_option('htcc_as_options');
328
+ ?>
329
+ <div class="row">
330
+ <div class="input-field as_state col s12">
331
+ <label class="switch">
332
+ <input id="htcc_fb_as_state" name="htcc_as_options[fb_as_state]" type="checkbox" value="1" <?php checked($htcc_fb_as_state['fb_as_state'], 1); ?>/>
333
+ <span class="slider round"></span>
334
+ </label>
335
+ <p><?php _e('Answering Service is on', 'wp-chatbot') ?></p>
336
+ </div>
337
+ </div>
338
+ <?php
339
+ }
340
+
341
+ // Welcome message
342
+ public function htcc_fb_welcome_message_cb()
343
+ {
344
+ $htcc_fb_welcome_message = get_option('htcc_options');
345
+ $htcc_fb_app_id = get_option('mobilemonkey_environment');
346
+ ?>
347
+ <div class="row">
348
+ <div class="test-bot-button" style="display: <?php echo $this->test; ?>">
349
+ <div class="test-bot-button__button-wrapper">
350
+ <div class="test-bot-button__messenger">
351
+ <div class="fb-send-to-messenger"
352
+ messenger_app_id="<?php echo $htcc_fb_app_id->fb_app_id; ?>"
353
+ page_id="<?php echo $this->fb_page_id; ?>"
354
+ data-ref="<?php echo $htcc_fb_welcome_message['ref'];; ?>"
355
+ color="blue"
356
+ size="large">
357
+ </div>
358
+ </div>
359
+ </div>
360
+ </div>
361
+
362
+ <a target="_blank" rel="noopener noreferrer" style="display: none" href="https://www.m.me/<?php echo $this->fb_page_id?>" id="messanger" class="button testchat">Open Messenger</a>
363
+ <h6><?php _e('Welcome message', 'wp-chatbot') ?></h6>
364
+ <div class="input-field col s12">
365
+ <label for="fb_greeting_login"><?php _e('WP-Chatbot will greet your chat users with this message', 'wp-chatbot') ?></label>
366
+ <textarea rows="5" cols="100" name="htcc_options[fb_welcome_message]" id="fb_welcome_message"> <?php echo esc_attr($htcc_fb_welcome_message['fb_welcome_message']) ?></textarea>
367
+ </div>
368
+ </div>
369
+ <?php
370
+ }
371
+ public function htcc_fb_answer1_cb()
372
+ {
373
+ $htcc_fb_answer1 = get_option('htcc_as_options');
374
+ ?>
375
+ <div class="row as">
376
+ <div class="input-field col s9">
377
+ <h6><?php _e('Quick Questions', 'wp-chatbot') ?></h6>
378
+ <label for="fb_answer1"><?php _e('WP-Chatbot will greet your chat users with this message', 'wp-chatbot') ?></label>
379
+ <input type="text" name="htcc_as_options[fb_answer1]" id="fb_answer1"
380
+ value="<?php echo esc_attr($htcc_fb_answer1['fb_answer1']) ?>">
381
+ </div>
382
+ </div>
383
+ <?php
384
+ }
385
+ public function htcc_fb_answer2_cb()
386
+ {
387
+ $htcc_fb_answer2 = get_option('htcc_as_options');
388
+ ?>
389
+ <div class="row as">
390
+ <div class="input-field col s9">
391
+ <input type="text" name="htcc_as_options[fb_answer2]" id="fb_answer2"
392
+ value="<?php echo esc_attr($htcc_fb_answer2['fb_answer2']) ?>">
393
+ </div>
394
+ </div>
395
+ <?php
396
+ }
397
+ public function htcc_fb_answer3_cb()
398
+ {
399
+ $htcc_fb_answer3 = get_option('htcc_as_options');
400
+ ?>
401
+ <div class="row as">
402
+ <div class="input-field col s9">
403
+ <input type="text" name="htcc_as_options[fb_answer3]" id="fb_answer3"
404
+ value="<?php echo esc_attr($htcc_fb_answer3['fb_answer3']) ?>">
405
+ </div>
406
+ </div>
407
+ <?php
408
+ }
409
+ public function htcc_fb_thank_answer_cb()
410
+ {
411
+ $htcc_fb_thank_answer = get_option('htcc_as_options');
412
+ ?>
413
+ <div class="row as">
414
+ <div class="input-field col s9">
415
+ <h6><?php _e('Thank you message', 'wp-chatbot') ?></h6>
416
+ <label for="fb_answer1"><?php _e('Thank your users for answering your questions, and let them know you\'ll get back to them', 'wp-chatbot') ?></label>
417
+ <input type="text" name="htcc_as_options[thank_message]" id="thank_message"
418
+ value="<?php echo esc_attr($htcc_fb_thank_answer['thank_message']) ?>">
419
+ </div>
420
+ </div>
421
+ <?php
422
+ }
423
+ public function htcc_fb_email_trans_cb()
424
+ {
425
+ $htcc_fb_email_trans = get_option('htcc_as_options');
426
+ ?>
427
+ <div class="row as">
428
+ <div class="input-field col s9">
429
+ <h6><?php _e('Email to send transcripts to:', 'wp-chatbot') ?></h6>
430
+ <label for="htcc_fb_email_trans"><?php _e('When people answer all of the questions below, we can send the answers to an email address of your choice! To disable, simply leave this field blank.', 'wp-chatbot') ?></label>
431
+ <input type="text" name="htcc_as_options[email]" id="email"
432
+ value="<?php echo esc_attr($htcc_fb_email_trans['email']) ?>">
433
+ </div>
434
+ </div>
435
+ <div class="row mobilego">
436
+ <h6><?php _e('Add More Questions and Customization for free in MobileMonkey!', 'wp-chatbot') ?></h6>
437
+ <a target="_blank" rel="noopener noreferrer" href='https://app.mobilemonkey.com/chatbot-editor/<?php echo $this->botid?>/bot-builder' class="button">Enter MobileMonkey Free Web Edition</a>
438
+ </div>
439
+ <?php
440
+ }
441
+
442
+ // Greeting for logged in user
443
+ public function htcc_fb_greeting_login_cb()
444
+ {
445
+
446
+ $htcc_fb_greeting_login = get_option('htcc_options');
447
+ ?>
448
+ <div class="row">
449
+ <div class="input-field col s12">
450
+ <input type="text" name="htcc_options[fb_greeting_login]" id="fb_greeting_login"
451
+ value="<?php echo esc_attr($htcc_fb_greeting_login['fb_greeting_login']) ?>">
452
+ <label for="fb_greeting_login"><?php _e('Logged in Greetings', 'ht-click') ?></label>
453
+ <p class="description"><?php _e('Greetings text - If Facebook logged in the current browser, leave empty for default message - ', 'wp-chatbot') ?>
454
+ <a target="_blank"
455
+ href="https://mobilemonkey.com/wp-chatbot/change-facebook-messenger-greetings-text/"><?php _e('more info', 'wp-chatbot') ?></a>
456
+ </p>
457
+ <!-- <p class="description"><?php _e('Grettings can add in any language, this can be different to the messenger language', 'wp-chatbot') ?></p> -->
458
+ <!-- <p class="description"><?php _e('If this Greetings fields are blank, default Greetings will load based on Messenger Language', 'wp-chatbot') ?></p> -->
459
+ </div>
460
+ </div>
461
+ <?php
462
+ }
463
+
464
+ // Greeting for logged out user
465
+ public function htcc_fb_greeting_logout_cb()
466
+ {
467
+
468
+ $htcc_fb_greeting_logout = get_option('htcc_options');
469
+ ?>
470
+ <div class="row">
471
+ <div class="input-field col s12">
472
+ <input type="text" name="htcc_options[fb_greeting_logout]" id="fb_greeting_logout"
473
+ value="<?php echo esc_attr($htcc_fb_greeting_logout['fb_greeting_logout']) ?>">
474
+ <label for="fb_greeting_logout"><?php _e('Logged out Greetings', 'ht-click') ?></label>
475
+ <p class="description"><?php _e('Greetings text - If Facebook logged out in the current browser, leave empty for default message - ', 'wp-chatbot') ?>
476
+ <a target="_blank"
477
+ href="https://mobilemonkey.com/wp-chatbot/change-facebook-messenger-greetings-text/"><?php _e('more info', 'wp-chatbot') ?></a>
478
+ </p>
479
+ </div>
480
+ </div>
481
+ <?php
482
+ }
483
+
484
+ // sdk lang. / messenger lang
485
+ public function htcc_fb_sdk_lang_cb()
486
+ {
487
+
488
+ $sdk_lang = get_option('htcc_options');
489
+ $lang = esc_attr($sdk_lang['fb_sdk_lang']);
490
+ ?>
491
+ <div class="row">
492
+ <div class="input-field col s12">
493
+ <select name="htcc_options[fb_sdk_lang]">
494
+ <?php
495
+ $fb_lang = HTCC_Lang::$fb_lang;
496
+
497
+ foreach ($fb_lang as $key => $value) {
498
+ ?>
499
+ <option value="<?php echo $value ?>"<?php if ($lang == $value) echo 'SELECTED'; ?> ><?php echo $value ?></option>
500
+ <?php
501
+ }
502
+ ?>
503
+ </select>
504
+ <label for=""><?php _e('Language', 'ht-click') ?></label>
505
+ <p class="description"><?php _e('Language displays in chat window, not user input - ', 'wp-chatbot') ?>
506
+ <a target="_blank"
507
+ href="https://mobilemonkey.com/wp-chatbot/messenger-language/"><?php _e('more info', 'wp-chatbot') ?></a>
508
+ </p>
509
+ <p class="description"><?php _e('Facebook SDK is not supporting all languages.., please don\'t consider it, as an error ', 'wp-chatbot') ?> </p>
510
+ <!-- <p class="description"><?php _e('If desired Language is not added - ', 'wp-chatbot') ?><a target="_blank" href="https://www.messenger.com/t/1541811499235090/"><?php _e('please message us', 'wp-chatbot') ?></a> </p> -->
511
+ </div>
512
+ </div>
513
+ <?php
514
+ }
515
+
516
+
517
+ // greeting_dialog_display - since v2.2
518
+ public function htcc_fb_greeting_dialog_display_cb()
519
+ {
520
+ $greeting_dialog_display = get_option('htcc_options');
521
+ $min_value = esc_attr($greeting_dialog_display['greeting_dialog_display']);
522
+ ?>
523
+ <div class="row">
524
+ <div class="input-field col s12">
525
+ <select name="htcc_options[greeting_dialog_display]" class="select-1">
526
+ <option value="" <?php echo $min_value == "" ? 'SELECTED' : ''; ?> >Default</option>
527
+ <option value="show" <?php echo $min_value == "show" ? 'SELECTED' : ''; ?> >Show</option>
528
+ <option value="fade" <?php echo $min_value == "fade" ? 'SELECTED' : ''; ?> >Fade</option>
529
+ <option value="hide" <?php echo $min_value == "hide" ? 'SELECTED' : ''; ?> >Hide</option>
530
+ </select>
531
+ <label for=""><?php _e('Greeting Dialog Display', 'ht-click') ?></label>
532
+ <p class="description"><?php _e('Greetings Dialog Display - ', 'wp-chatbot') ?><a target="_blank"
533
+ href="https://mobilemonkey.com/wp-chatbot/greeting-dialog-display/"><?php _e('more info', 'wp-chatbot') ?></a>
534
+ </p>
535
+ <p class="description"><?php _e('Show - The greeting dialog will always be shown when the plugin loads.', 'wp-chatbot') ?></p>
536
+ <p class="description"><?php _e('Fade - The greeting dialog of the plugin will be shown, then fade away and stay hidden afterwards.', 'wp-chatbot') ?></p>
537
+ <p class="description"><?php _e('Hide - The greeting dialog of the plugin will always be hidden until a user clicks on the plugin.', 'wp-chatbot') ?></p>
538
+ </div>
539
+ </div>
540
+ <?php
541
+ }
542
+
543
+ // greeting_dialog_delay - since v2.2
544
+ public function htcc_fb_greeting_dialog_delay_cb()
545
+ {
546
+ $greeting_dialog_delay = get_option('htcc_options');
547
+ $delay_time = esc_attr($greeting_dialog_delay['greeting_dialog_delay']);
548
+ ?>
549
+ <div class="row">
550
+ <div class="input-field col s12">
551
+ <input type="number" min="0" name="htcc_options[greeting_dialog_delay]" id="greeting_dialog_delay"
552
+ value="<?php echo $delay_time ?>">
553
+ <label for="greeting_dialog_delay"><?php _e('Greeting Dialog Delay', 'ht-click') ?></label>
554
+ <p class="description"><?php _e('Sets the number of seconds of delay before the greeting dialog is shown after the plugin is loaded - ', 'wp-chatbot') ?>
555
+ <a target="_blank"
556
+ href="https://mobilemonkey.com/wp-chatbot/greeting-dialog-delay/"><?php _e('more info', 'wp-chatbot') ?></a>
557
+ </p>
558
+ </div>
559
+ </div>
560
+ <?php
561
+ }
562
+
563
+
564
+ // ref
565
+ public function htcc_fb_ref_cb()
566
+ {
567
+
568
+ $reference = get_option('htcc_options');
569
+ ?>
570
+ <div class="row">
571
+ <div class="input-field col s12">
572
+ <input type="text" name="htcc_options[ref]" id="ref"
573
+ value="<?php echo esc_attr($reference['ref']) ?>">
574
+ <label for="ref"><?php _e('REF Attribute', 'ht-click') ?></label>
575
+ <p class="description"><?php _e('Useful to create Entry Point to your messenger chatbot - ', 'wp-chatbot') ?>
576
+ <a target="_blank"
577
+ href="https://mobilemonkey.com/wp-chatbot/messenger-ref/"><?php _e('more info', 'wp-chatbot') ?></a>
578
+ </p>
579
+ </div>
580
+ </div>
581
+ <?php
582
+ }
583
+
584
+
585
+ // minimized - deprecated - since v2.2
586
+ // removed since 3.2
587
+ public function htcc_fb_is_minimized_cb()
588
+ {
589
+ $minimized = get_option('htcc_options');
590
+ $min_value = esc_attr($minimized['minimized']);
591
+ ?>
592
+ <div class="row">
593
+ <div class="input-field col s12">
594
+ <div>
595
+ <select name="htcc_options[minimized]" class="select-1">
596
+ <option value="" <?php echo $min_value == "" ? 'SELECTED' : ''; ?> >Default</option>
597
+ <option value="false" <?php echo $min_value == "false" ? 'SELECTED' : ''; ?> >False</option>
598
+ <option value="true" <?php echo $min_value == "true" ? 'SELECTED' : ''; ?> >True</option>
599
+ </select> This attribute is now deprecated - <a target="_blank"
600
+ href="https://mobilemonkey.com/wp-chatbot/minimize-messenger/"><?php _e('more info', 'wp-chatbot') ?></a>
601
+ </div>
602
+ <p class="description"><?php _e('Instead, use greeting_dialog_display, greeting_dialog_delay for customization', 'wp-chatbot') ?> </p>
603
+ </div>
604
+ </div>
605
+ <?php
606
+ }
607
+
608
+
609
+ // checkboxes - Hide based on Type of posts ..
610
+ public function htcc_show_hide_post_types_cb()
611
+ {
612
+ $htcc_checkbox = get_option('htcc_options');
613
+
614
+ // Single Posts
615
+ if (isset($htcc_checkbox['hideon_posts'])) {
616
+ ?>
617
+ <p>
618
+ <label>
619
+ <input name="htcc_options[hideon_posts]" type="checkbox"
620
+ value="1" <?php checked($htcc_checkbox['hideon_posts'], 1); ?> id="filled-in-box1"/>
621
+ <span><?php _e('Hide on - Posts', 'wp-chatbot') ?></span>
622
+ </label>
623
+ </p>
624
+ <?php
625
+ } else {
626
+ ?>
627
+ <p>
628
+ <label>
629
+ <input name="htcc_options[hideon_posts]" type="checkbox" value="1" id="filled-in-box1"/>
630
+ <span><?php _e('Hide on - Posts', 'wp-chatbot') ?></span>
631
+ </label>
632
+ </p>
633
+ <?php
634
+ }
635
+
636
+
637
+ // Page
638
+ if (isset($htcc_checkbox['hideon_page'])) {
639
+ ?>
640
+ <p>
641
+ <label>
642
+ <input name="htcc_options[hideon_page]" type="checkbox"
643
+ value="1" <?php checked($htcc_checkbox['hideon_page'], 1); ?> id="filled-in-box2"/>
644
+ <span><?php _e('Hide on - Pages', 'wp-chatbot') ?></span>
645
+ </label>
646
+ </p>
647
+ <?php
648
+ } else {
649
+ ?>
650
+ <p>
651
+ <label>
652
+ <input name="htcc_options[hideon_page]" type="checkbox" value="1" id="filled-in-box2"/>
653
+ <span><?php _e('Hide on - Pages', 'wp-chatbot') ?></span>
654
+ </label>
655
+ </p>
656
+ <?php
657
+ }
658
+
659
+
660
+ // Home Page
661
+ if (isset($htcc_checkbox['hideon_homepage'])) {
662
+ ?>
663
+ <p>
664
+ <label>
665
+ <input name="htcc_options[hideon_homepage]" type="checkbox"
666
+ value="1" <?php checked($htcc_checkbox['hideon_homepage'], 1); ?> id="filled-in-box3"/>
667
+ <span><?php _e('Hide on - Home Page', 'wp-chatbot') ?></span>
668
+ </label>
669
+ </p>
670
+ <?php
671
+ } else {
672
+ ?>
673
+ <p>
674
+ <label>
675
+ <input name="htcc_options[hideon_homepage]" type="checkbox" value="1" id="filled-in-box3"/>
676
+ <span><?php _e('Hide on - Home Page', 'wp-chatbot') ?></span>
677
+ </label>
678
+ </p>
679
+ <?php
680
+ }
681
+
682
+
683
+ /* Front Page
684
+ A front page is also a home page, but home page is not a front page
685
+ if front page unchecked - it works on both homepage and fornt page
686
+ but if home page is unchecked - it works only on home page, not on front page */
687
+ if (isset($htcc_checkbox['hideon_frontpage'])) {
688
+ ?>
689
+ <p>
690
+ <label>
691
+ <input name="htcc_options[hideon_frontpage]" type="checkbox"
692
+ value="1" <?php checked($htcc_checkbox['hideon_frontpage'], 1); ?> id="filled-in-box4"/>
693
+ <span><?php _e('Hide on - Front Page', 'wp-chatbot') ?></span>
694
+ </label>
695
+ </p>
696
+ <?php
697
+ } else {
698
+ ?>
699
+ <p>
700
+ <label>
701
+ <input name="htcc_options[hideon_frontpage]" type="checkbox" value="1" id="filled-in-box4"/>
702
+ <span><?php _e('Hide on - Front Page', 'wp-chatbot') ?></span>
703
+ </label>
704
+ </p>
705
+ <?php
706
+ }
707
+
708
+
709
+ // Category
710
+ if (isset($htcc_checkbox['hideon_category'])) {
711
+ ?>
712
+ <p>
713
+ <label>
714
+ <input name="htcc_options[hideon_category]" type="checkbox"
715
+ value="1" <?php checked($htcc_checkbox['hideon_category'], 1); ?> id="filled-in-box5"/>
716
+ <span><?php _e('Hide on - Category', 'wp-chatbot') ?></span>
717
+ </label>
718
+ </p>
719
+ <?php
720
+ } else {
721
+ ?>
722
+ <p>
723
+ <label>
724
+ <input name="htcc_options[hideon_category]" type="checkbox" value="1" id="filled-in-box5"/>
725
+ <span><?php _e('Hide on - Category', 'wp-chatbot') ?></span>
726
+ </label>
727
+ </p>
728
+ <?php
729
+ }
730
+
731
+
732
+ // Archive
733
+ if (isset($htcc_checkbox['hideon_archive'])) {
734
+ ?>
735
+ <p>
736
+ <label>
737
+ <input name="htcc_options[hideon_archive]" type="checkbox"
738
+ value="1" <?php checked($htcc_checkbox['hideon_archive'], 1); ?> id="filled-in-box6"/>
739
+ <span><?php _e('Hide on - Archive', 'wp-chatbot') ?></span>
740
+ </label>
741
+ </p>
742
+ <?php
743
+ } else {
744
+ ?>
745
+ <p>
746
+ <label>
747
+ <input name="htcc_options[hideon_archive]" type="checkbox" value="1" id="filled-in-box6"/>
748
+ <span><?php _e('Hide on - Archive', 'wp-chatbot') ?></span>
749
+ </label>
750
+ </p>
751
+ <?php
752
+ }
753
+
754
+
755
+ // 404 Page
756
+ if (isset($htcc_checkbox['hideon_404'])) {
757
+ ?>
758
+ <p>
759
+ <label>
760
+ <input name="htcc_options[hideon_404]" type="checkbox"
761
+ value="1" <?php checked($htcc_checkbox['hideon_404'], 1); ?> id="filled-in-box7"/>
762
+ <span><?php _e('Hide on - 404 Page', 'wp-chatbot') ?></span>
763
+ </label>
764
+ </p>
765
+ <?php
766
+ } else {
767
+ ?>
768
+ <p>
769
+ <label>
770
+ <input name="htcc_options[hideon_404]" type="checkbox" value="1" id="filled-in-box7"/>
771
+ <span><?php _e('Hide on - 404 Page', 'wp-chatbot') ?></span>
772
+ </label>
773
+ </p>
774
+ <?php
775
+ }
776
+ ?>
777
+ <p class="description"> <?php _e('check for not to load Messenger - based on type of the page - ', 'wp-chatbot') ?>
778
+ <a target="_blank"
779
+ href="https://mobilemonkey.com/wp-chatbot/show-hide-messenger-based-on-type-of-the-page/"><?php _e('more info', 'wp-chatbot') ?></a>
780
+ </p>
781
+
782
+
783
+ <?php
784
+ }
785
+
786
+
787
+ // ID 's list to hide styles
788
+ function htcc_list_id_tohide_cb()
789
+ {
790
+ $htcc_list_id_tohide = get_option('htcc_options');
791
+ ?>
792
+ <div class="row">
793
+ <div class="input-field col s12">
794
+ <input name="htcc_options[list_hideon_pages]"
795
+ value="<?php echo esc_attr($htcc_list_id_tohide['list_hideon_pages']) ?>"
796
+ id="list_hideon_pages htcc_list_id_tohide" type="text">
797
+ <label for="list_hideon_pages"><?php _e('Post, Page Ids to Hide', 'ht-click') ?></label>
798
+ <p class="description"> <?php _e('Add Post, Page, Media - ID\'s to hide,', 'wp-chatbot') ?>
799
+ <br> <?php _e('can add multiple IDs separate with comma ( , )', 'wp-chatbot') ?> - <a
800
+ target="_blank"
801
+ href="https://mobilemonkey.com/wp-chatbot/hide-messenger-based-on-post-id/"><?php _e('more info', 'wp-chatbot') ?></a>
802
+ </p>
803
+ </div>
804
+ </div>
805
+ <?php
806
+ }
807
+
808
+ // Categorys list - to hide
809
+ function htcc_list_cat_tohide_cb()
810
+ {
811
+ $htcc_list_cat_tohide = get_option('htcc_options');
812
+ ?>
813
+ <div class="row">
814
+ <div class="input-field col s12">
815
+ <input name="htcc_options[list_hideon_cat]"
816
+ value="<?php echo esc_attr($htcc_list_cat_tohide['list_hideon_cat']) ?>"
817
+ id="list_hideon_cat htcc_list_cat_tohide" type="text">
818
+ <label for="list_hideon_cat"><?php _e('Categorys to Hide', 'ht-click') ?></label>
819
+ <p class="description"> <?php _e('Category name\'s to hide,', 'wp-chatbot') ?>
820
+ <br> <?php _e('can add multiple Categories separate with comma ( , )', 'wp-chatbot') ?> - <a
821
+ target="_blank"
822
+ href="https://mobilemonkey.com/wp-chatbot/hide-messenger-based-on-category/"><?php _e('more info', 'wp-chatbot') ?></a>
823
+ </p>
824
+ </div>
825
+ </div>
826
+ <?php
827
+ }
828
+
829
+
830
+ // checkboxes - based on Type of device ..
831
+ public function htcc_show_hide_devices_cb()
832
+ {
833
+ $htcc_devices = get_option('htcc_options');
834
+
835
+ // Hide on Mobile Devices
836
+ if (isset($htcc_devices['hideon_mobile'])) {
837
+ ?>
838
+ <p>
839
+ <label>
840
+ <input name="htcc_options[hideon_mobile]" type="checkbox"
841
+ value="1" <?php checked($htcc_devices['hideon_mobile'], 1); ?> id="hideon_mobile"/>
842
+ <span><?php _e('Hide on - Mobile Devices', 'wp-chatbot') ?></span>
843
+ </label>
844
+ </p>
845
+ <?php
846
+ } else {
847
+ ?>
848
+ <p>
849
+ <label>
850
+ <input name="htcc_options[hideon_mobile]" type="checkbox" value="1" id="hideon_mobile"/>
851
+ <span><?php _e('Hide on - Mobile Devices', 'wp-chatbot') ?></span>
852
+ </label>
853
+ </p>
854
+ <?php
855
+ }
856
+
857
+
858
+ // Hide on Desktop Devices
859
+ if (isset($htcc_devices['hideon_desktop'])) {
860
+ ?>
861
+ <p>
862
+ <label>
863
+ <input name="htcc_options[hideon_desktop]" type="checkbox"
864
+ value="1" <?php checked($htcc_devices['hideon_desktop'], 1); ?> id="hideon_desktop"/>
865
+ <span><?php _e('Hide on - Desktops', 'wp-chatbot') ?></span>
866
+ </label>
867
+ </p>
868
+ <?php
869
+ } else {
870
+ ?>
871
+ <p>
872
+ <label>
873
+ <input name="htcc_options[hideon_desktop]" type="checkbox" value="1" id="hideon_desktop"/>
874
+ <span><?php _e('Hide on - Desktops', 'wp-chatbot') ?></span>
875
+ </label>
876
+ </p>
877
+ <?php
878
+ }
879
+ }
880
+
881
+
882
+ // Custom shortcode
883
+ function htcc_custom_shortcode_cb()
884
+ {
885
+ $htcc_shortcode = get_option('htcc_options');
886
+ ?>
887
+ <div class="row">
888
+ <div class="input-field col s12">
889
+ <input name="htcc_options[shortcode]" value="<?php echo esc_attr($htcc_shortcode['shortcode']) ?>"
890
+ id="shortcode" type="text" class="validate input-margin">
891
+ <label for="shortcode"><?php _e('Shortcode name', 'ht-click') ?></label>
892
+ <?php
893
+ // $shorcode_list = '';
894
+ // foreach ($GLOBALS['shortcode_tags'] AS $key => $value) {
895
+ // $shorcode_list .= $key . ', ';
896
+ // }
897
+ ?>
898
+ <p class="description"> <?php printf(__('Default value is \'%1$s\', can customize shortcode name', 'wp-chatbot'), 'chatbot') ?>
899
+ - <a target="_blank"
900
+ href="https://mobilemonkey.com/wp-chatbot/change-shortcode-name/"><?php _e('more info', 'wp-chatbot') ?></a>
901
+ </p>
902
+ <p class="description"> <?php _e('please don\'t add an already existing shortcode name', 'wp-chatbot') ?>
903
+ <!-- <p class="description"> <?php _e('please dont add this already existing shorcode names', 'wp-chatbot') ?> - </p> -->
904
+ </div>
905
+ </div>
906
+ <?php
907
+ }
908
+
909
+ // page load
910
+ public function htcc_page_load_cb()
911
+ {
912
+ $options = get_option('htcc_options');
913
+
914
+ ?>
915
+ <p class="description"><a href="https://mobilemonkey.com/wp-chatbot/call-sdk-after-page-loads/"
916
+ target="_blank">Call SDK after page load</a></p>
917
+ <p class="description">This feature is in beta stage ( please review these settings at least in the next two
918
+ versions )</p>
919
+ <p class="description">Don't enable this features If some other plugins or some other source also calls
920
+ Facebook SDK.</p>
921
+ <br>
922
+
923
+ <?php
924
+ // load sdk after page loaded
925
+ if (isset($options['is_sdk_after_page_load'])) {
926
+ ?>
927
+ <p>
928
+ <label>
929
+ <input name="htcc_options[is_sdk_after_page_load]" type="checkbox"
930
+ value="1" <?php checked($options['is_sdk_after_page_load'], 1); ?>
931
+ id="is_sdk_after_page_load"/>
932
+ <span><?php _e('Call SDK after page loads', 'wp-chatbot') ?></span>
933
+ </label>
934
+ </p>
935
+ <?php
936
+ } else {
937
+ ?>
938
+ <p>
939
+ <label>
940
+ <input name="htcc_options[is_sdk_after_page_load]" type="checkbox" value="1"
941
+ id="is_sdk_after_page_load"/>
942
+ <span><?php _e('Call SDK after page loads', 'wp-chatbot') ?></span>
943
+ </label>
944
+ </p>
945
+ <?php
946
+ }
947
+ ?>
948
+ <p class="description">Improves user experience. After webpage loaded, call SDK and display messenger</p>
949
+ <br>
950
+
951
+ <!-- <div class="time-delay" style="margin-left: 25px;"> -->
952
+
953
+ <?php
954
+
955
+ // +4 seconds - load sdk after page loaded
956
+ if (isset($options['is_sdk_4_seconds'])) {
957
+ ?>
958
+ <p>
959
+ <label>
960
+ <input name="htcc_options[is_sdk_4_seconds]" type="checkbox"
961
+ value="1" <?php checked($options['is_sdk_4_seconds'], 1); ?> id="is_sdk_4_seconds"/>
962
+ <span><?php _e('+4 seconds after page loaded', 'wp-chatbot') ?></span>
963
+ </label>
964
+ </p>
965
+ <?php
966
+ } else {
967
+ ?>
968
+ <p>
969
+ <label>
970
+ <input name="htcc_options[is_sdk_4_seconds]" type="checkbox" value="1" id="is_sdk_4_seconds"/>
971
+ <span><?php _e('+4 seconds after page loaded', 'wp-chatbot') ?></span>
972
+ </label>
973
+ </p>
974
+ <?php
975
+ }
976
+ ?>
977
+ <!-- <p class="description">After webpage loaded and after 4 seconds, call SDK and display Messenger</p> -->
978
+ <p class="description">Adds benefit at page speed metrics</p>
979
+ <?php
980
+ }
981
+
982
+
983
+ public function htcc_options_sanitize($input)
984
+ {
985
+
986
+ if (!current_user_can('manage_options')) {
987
+ wp_die('not allowed to modify - please contact admin ');
988
+ }
989
+
990
+ $new_input = array();
991
+
992
+ foreach ($input as $key => $value) {
993
+ if (isset($input[$key])) {
994
+ $new_input[$key] = sanitize_text_field($input[$key]);
995
+ }
996
+ }
997
+
998
+
999
+ return $new_input;
1000
+ }
1001
+ public function htcc_as_options_sanitize($input)
1002
+ {
1003
+
1004
+ if (!current_user_can('manage_options')) {
1005
+ wp_die('not allowed to modify - please contact admin ');
1006
+ }
1007
+ if ($input){
1008
+ $new_input = array();
1009
+
1010
+ foreach ($input as $key => $value) {
1011
+ if (isset($input[$key])) {
1012
+ $new_input[$key] = sanitize_text_field($input[$key]);
1013
+ }
1014
+ }
1015
+ }
1016
+
1017
+ return $new_input;
1018
+ }
1019
+
1020
+ }
1021
+
1022
+ endif; // END class_exists check
admin/class-htcc-enqueue.php CHANGED
@@ -1,52 +1,54 @@
1
- <?php
2
- /**
3
- * Admin - enqueue sytle, scripts
4
- */
5
-
6
-
7
- if ( ! defined( 'ABSPATH' ) ) exit;
8
-
9
- if ( ! class_exists( 'HTCC_Enqueue' ) ) :
10
-
11
- class HTCC_Enqueue {
12
-
13
-
14
- function enqueue( $hook ) {
15
-
16
- // echo $hook;
17
- if( 'toplevel_page_wp-chatbot' == $hook || 'wp-chatbot_page_wp-chatbot-features' == $hook || 'wp-chatbot_page_wp-chatbot-actions' == $hook || 'wp-chatbot_page_wp-chatbot-pro-woo' == $hook ) {
18
-
19
-
20
- // color picker..
21
- // wp_enqueue_style( 'htcc_admin_color_picker_styles', plugins_url( 'admin/assets/color/colors.css', HTCC_PLUGIN_FILE ), '', HTCC_VERSION );
22
- // wp_enqueue_script( 'htcc_admin_color_picker_js', plugins_url( 'admin/assets/color/colors.js', HTCC_PLUGIN_FILE ), array( 'jquery', 'wp-color-picker', 'htcc_admin_md_js' ), HTCC_VERSION );
23
-
24
- // spectrum
25
- wp_enqueue_style( 'htcc_admin_color_picker_styles', 'https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.css', '', HTCC_VERSION );
26
- wp_enqueue_script( 'htcc_admin_color_picker_js', 'https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js', array( 'jquery' ), HTCC_VERSION, true );
27
-
28
-
29
-
30
- wp_enqueue_style( 'htcc_admin_styles', plugins_url( 'admin/assets/css/admin-styles.css', HTCC_PLUGIN_FILE ), '', HTCC_VERSION );
31
- wp_enqueue_style( 'htcc_admin_md_styles', plugins_url( 'admin/assets/css/materialize.min.css', HTCC_PLUGIN_FILE ), '', HTCC_VERSION );
32
-
33
- wp_enqueue_style( 'wp-color-picker' );
34
- wp_enqueue_script( 'wp-color-picker');
35
-
36
-
37
- wp_enqueue_script( 'htcc_admin_js', plugins_url( 'admin/assets/js/admin.js', HTCC_PLUGIN_FILE ), array( 'wp-color-picker', 'jquery' ), HTCC_VERSION, true );
38
- wp_enqueue_script( 'htcc_admin_md_js', plugins_url( 'admin/assets/js/materialize.min.js', HTCC_PLUGIN_FILE ), array('wp-color-picker', 'jquery' ), HTCC_VERSION, true );
39
-
40
-
41
- }
42
-
43
- }
44
-
45
- }
46
-
47
- $htcc_enqueue = new HTCC_Enqueue();
48
-
49
- add_action('admin_enqueue_scripts', array( $htcc_enqueue, 'enqueue' ) );
50
-
51
-
 
 
52
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * Admin - enqueue sytle, scripts
4
+ */
5
+
6
+
7
+ if ( ! defined( 'ABSPATH' ) ) exit;
8
+
9
+ if ( ! class_exists( 'HTCC_Enqueue' ) ) :
10
+
11
+ class HTCC_Enqueue {
12
+
13
+
14
+ function enqueue( $hook ) {
15
+
16
+ // echo $hook;
17
+ if( 'toplevel_page_wp-chatbot' == $hook || 'wp-chatbot_page_wp-chatbot-features' == $hook || 'wp-chatbot_page_wp-chatbot-actions' == $hook || 'wp-chatbot_page_wp-chatbot-pro-woo' == $hook ) {
18
+
19
+
20
+ // color picker..
21
+ // wp_enqueue_style( 'htcc_admin_color_picker_styles', plugins_url( 'admin/assets/color/colors.css', HTCC_PLUGIN_FILE ), '', HTCC_VERSION );
22
+ // wp_enqueue_script( 'htcc_admin_color_picker_js', plugins_url( 'admin/assets/color/colors.js', HTCC_PLUGIN_FILE ), array( 'jquery', 'wp-color-picker', 'htcc_admin_md_js' ), HTCC_VERSION );
23
+
24
+ // spectrum
25
+ wp_enqueue_style( 'htcc_admin_color_picker_styles', 'https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.css', '', HTCC_VERSION );
26
+ wp_enqueue_style( 'font_awesome', 'https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css', '', HTCC_VERSION );
27
+ wp_enqueue_style( 'Fredoka One', 'https://fonts.googleapis.com/css?family=Fredoka+One', '', HTCC_VERSION );
28
+ wp_enqueue_script( 'htcc_admin_color_picker_js', 'https://cdnjs.cloudflare.com/ajax/libs/spectrum/1.8.0/spectrum.min.js', array( 'jquery' ), HTCC_VERSION, true );
29
+
30
+
31
+
32
+ wp_enqueue_style( 'htcc_admin_styles', plugins_url( 'admin/assets/css/admin-styles.css', HTCC_PLUGIN_FILE ), '', HTCC_VERSION );
33
+ wp_enqueue_style( 'htcc_admin_md_styles', plugins_url( 'admin/assets/css/materialize.min.css', HTCC_PLUGIN_FILE ), '', HTCC_VERSION );
34
+
35
+ wp_enqueue_style( 'wp-color-picker' );
36
+ wp_enqueue_script( 'wp-color-picker');
37
+
38
+
39
+ wp_enqueue_script( 'htcc_admin_js', plugins_url( 'admin/assets/js/admin.js', HTCC_PLUGIN_FILE ), array( 'wp-color-picker', 'jquery' ), HTCC_VERSION, true );
40
+ wp_enqueue_script( 'htcc_admin_md_js', plugins_url( 'admin/assets/js/materialize.min.js', HTCC_PLUGIN_FILE ), array('wp-color-picker', 'jquery' ), HTCC_VERSION, true );
41
+
42
+
43
+ }
44
+
45
+ }
46
+
47
+ }
48
+
49
+ $htcc_enqueue = new HTCC_Enqueue();
50
+
51
+ add_action('admin_enqueue_scripts', array( $htcc_enqueue, 'enqueue' ) );
52
+
53
+
54
  endif; // END class_exists check
admin/class-htcc-lang.php CHANGED
@@ -1,98 +1,133 @@
1
- <?php
2
- /**
3
- * Added Languages - Messenger ..
4
- *
5
- */
6
-
7
- if ( ! defined( 'ABSPATH' ) ) exit;
8
-
9
- if ( ! class_exists( 'HTCC_Lang' ) ) :
10
-
11
- class HTCC_Lang {
12
-
13
- static $fb_lang = array(
14
- 'af_ZA' => 'Afrikaans',
15
- 'sq_AL' => 'Albanian',
16
- 'hy_AM' => 'Armenian',
17
- 'ar_AR' => 'Arabic',
18
- 'az_AZ' => 'Azerbaijani',
19
- 'be_BY' => 'Belarusian',
20
- 'bg_BG' => 'Bulgarian *', // tried - not worked
21
- 'bn_IN' => 'Bengali',
22
- 'bs_BA' => 'Bosnian',
23
- 'eu_ES' => 'Basque',
24
- 'ca_ES' => 'Catalan',
25
- 'cs_CZ' => 'Czech',
26
- 'hr_HR' => 'Croatian',
27
- 'da_DK' => 'Danish',
28
- 'nl_NL' => 'Dutch',
29
- 'en_US' => 'English',
30
- 'eo_EO' => 'Esperanto',
31
- 'tl_PH' => 'Filipino',
32
- 'fi_FI' => 'Finnish',
33
- 'et_EE' => 'Estonian',
34
- 'fo_FO' => 'Faroese',
35
- 'fr_FR' => 'French (France)',
36
- 'fr_CA' => 'French (Canada)',
37
- 'fy_NL' => 'Frisian',
38
- 'de_DE' => 'German',
39
- 'el_GR' => 'Greek',
40
- 'ka_GE' => 'Georgian *', // tried - not worked
41
- 'gl_ES' => 'Galician',
42
- 'he_IL' => 'Hebrew',
43
- 'hi_IN' => 'Hindi',
44
- 'hu_HU' => 'Hungarian',
45
- 'id_ID' => 'Indonesian',
46
- 'it_IT' => 'Italian',
47
- 'is_IS' => 'Icelandic',
48
- 'ga_IE' => 'Irish',
49
- 'ja_JP' => 'Japanese',
50
- 'ko_KR' => 'Korean',
51
- 'ku_TR' => 'Kurdish',
52
- 'km_KH' => 'Khmer',
53
- 'la_VA' => 'Latin',
54
- 'lt_LT' => 'Lithuanian *', // tried - not worked
55
- 'lv_LV' => 'Latvian *', // tried - not worked
56
- 'mr_IN' => 'Marathi',
57
- 'mk_MK' => 'Macedonian',
58
- 'ml_IN' => 'Malayalam',
59
- 'ms_MY' => 'Malay',
60
- 'nb_NO' => 'Norwegian (bokmal)',
61
- 'ne_NP' => 'Nepali',
62
- 'nn_NO' => 'Norwegian (nynorsk)',
63
- 'fa_IR' => 'Persian',
64
- 'pa_IN' => 'Punjabi',
65
- 'pl_PL' => 'Polish',
66
- 'ps_AF' => 'Pashto',
67
- 'pt_BR' => 'Portuguese (Brazil)',
68
- 'pt_PT' => 'Portuguese (Portugal)',
69
- 'ro_RO' => 'Romanian',
70
- 'ru_RU' => 'Russian',
71
- 'es_LA' => 'Spanish',
72
- 'es_ES' => 'Spanish (Spain)',
73
- 'sk_SK' => 'Slovak *', // tried - not worked
74
- 'sl_SI' => 'Slovenian',
75
- 'sr_RS' => 'Serbian',
76
- 'sv_SE' => 'Swedish',
77
- 'sw_KE' => 'Swahili',
78
- 'ta_IN' => 'Tamil',
79
- 'te_IN' => 'Telugu',
80
- 'th_TH' => 'Thai',
81
- 'tr_TR' => 'Turkish',
82
- 'uk_UA' => 'Ukrainian',
83
- 'vi_VN' => 'Vietnamese',
84
- 'cy_GB' => 'Welsh',
85
- 'zh_CN' => 'zh_CN Simplified Chinese (China)',
86
- 'zh_HK' => 'zh_HK Traditional Chinese (Hong Kong)',
87
- 'zh_TW' => 'zh_TW Traditional Chinese (Taiwan)',
88
- );
89
-
90
-
91
- // http://www.loc.gov/standards/iso639-2/php/code_list.php
92
- // https://developers.facebook.com/docs/internationalization/
93
- // https://developers.facebook.com/apps/156589268405824/app-details/localize/
94
- // https://developers.facebook.com/docs/messenger-platform/messenger-profile/supported-locales ( but not all as expected )
95
-
96
- }
97
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * Added Languages - Messenger ..
4
+ *
5
+ */
6
+
7
+ if (!defined('ABSPATH')) exit;
8
+
9
+ if (!class_exists('HTCC_Lang')) :
10
+
11
+ class HTCC_Lang
12
+ {
13
+ //TODO Get Lang list by API
14
+ static $fb_lang = array(
15
+ "Armenian",
16
+ "Basque",
17
+ "Bulgarian",
18
+ "Catalan",
19
+ "Chinese",
20
+ "Czech",
21
+ "Danish",
22
+ "Dutch",
23
+ "English",
24
+ "Finnish",
25
+ "French (Canada)",
26
+ "French (France)",
27
+ "Galician",
28
+ "German",
29
+ "Greek",
30
+ "Hindi",
31
+ "Hungarian",
32
+ "Indonesian",
33
+ "Irish",
34
+ "Italian",
35
+ "Japanese",
36
+ "Korean",
37
+ "Kurdish",
38
+ "Norwegian",
39
+ "Persian",
40
+ "Portuguese",
41
+ "Portuguese (Brazil)",
42
+ "Romanian",
43
+ "Russian",
44
+ "Spanish",
45
+ "Spanish (Mexico)",
46
+ "Swedish",
47
+ "Turkish",
48
+ "Thai"
49
+ /*'af_ZA' => 'Afrikaans',
50
+ 'sq_AL' => 'Albanian',
51
+ 'hy_AM' => 'Armenian',
52
+ 'ar_AR' => 'Arabic',
53
+ 'az_AZ' => 'Azerbaijani',
54
+ 'be_BY' => 'Belarusian',
55
+ 'bg_BG' => 'Bulgarian *', // tried - not worked
56
+ 'bn_IN' => 'Bengali',
57
+ 'bs_BA' => 'Bosnian',
58
+ 'eu_ES' => 'Basque',
59
+ 'ca_ES' => 'Catalan',
60
+ 'cs_CZ' => 'Czech',
61
+ 'hr_HR' => 'Croatian',
62
+ 'da_DK' => 'Danish',
63
+ 'nl_NL' => 'Dutch',
64
+ 'en_US' => 'English',
65
+ 'eo_EO' => 'Esperanto',
66
+ 'tl_PH' => 'Filipino',
67
+ 'fi_FI' => 'Finnish',
68
+ 'et_EE' => 'Estonian',
69
+ 'fo_FO' => 'Faroese',
70
+ 'fr_FR' => 'French (France)',
71
+ 'fr_CA' => 'French (Canada)',
72
+ 'fy_NL' => 'Frisian',
73
+ 'de_DE' => 'German',
74
+ 'el_GR' => 'Greek',
75
+ 'ka_GE' => 'Georgian *', // tried - not worked
76
+ 'gl_ES' => 'Galician',
77
+ 'he_IL' => 'Hebrew',
78
+ 'hi_IN' => 'Hindi',
79
+ 'hu_HU' => 'Hungarian',
80
+ 'id_ID' => 'Indonesian',
81
+ 'it_IT' => 'Italian',
82
+ 'is_IS' => 'Icelandic',
83
+ 'ga_IE' => 'Irish',
84
+ 'ja_JP' => 'Japanese',
85
+ 'ko_KR' => 'Korean',
86
+ 'ku_TR' => 'Kurdish',
87
+ 'km_KH' => 'Khmer',
88
+ 'la_VA' => 'Latin',
89
+ 'lt_LT' => 'Lithuanian *', // tried - not worked
90
+ 'lv_LV' => 'Latvian *', // tried - not worked
91
+ 'mr_IN' => 'Marathi',
92
+ 'mk_MK' => 'Macedonian',
93
+ 'ml_IN' => 'Malayalam',
94
+ 'ms_MY' => 'Malay',
95
+ 'nb_NO' => 'Norwegian (bokmal)',
96
+ 'ne_NP' => 'Nepali',
97
+ 'nn_NO' => 'Norwegian (nynorsk)',
98
+ 'fa_IR' => 'Persian',
99
+ 'pa_IN' => 'Punjabi',
100
+ 'pl_PL' => 'Polish',
101
+ 'ps_AF' => 'Pashto',
102
+ 'pt_BR' => 'Portuguese (Brazil)',
103
+ 'pt_PT' => 'Portuguese (Portugal)',
104
+ 'ro_RO' => 'Romanian',
105
+ 'ru_RU' => 'Russian',
106
+ 'es_LA' => 'Spanish',
107
+ 'es_ES' => 'Spanish (Spain)',
108
+ 'sk_SK' => 'Slovak *', // tried - not worked
109
+ 'sl_SI' => 'Slovenian',
110
+ 'sr_RS' => 'Serbian',
111
+ 'sv_SE' => 'Swedish',
112
+ 'sw_KE' => 'Swahili',
113
+ 'ta_IN' => 'Tamil',
114
+ 'te_IN' => 'Telugu',
115
+ 'th_TH' => 'Thai',
116
+ 'tr_TR' => 'Turkish',
117
+ 'uk_UA' => 'Ukrainian',
118
+ 'vi_VN' => 'Vietnamese',
119
+ 'cy_GB' => 'Welsh',
120
+ 'zh_CN' => 'zh_CN Simplified Chinese (China)',
121
+ 'zh_HK' => 'zh_HK Traditional Chinese (Hong Kong)',
122
+ 'zh_TW' => 'zh_TW Traditional Chinese (Taiwan)',*/
123
+ );
124
+
125
+
126
+ // http://www.loc.gov/standards/iso639-2/php/code_list.php
127
+ // https://developers.facebook.com/docs/internationalization/
128
+ // https://developers.facebook.com/apps/156589268405824/app-details/localize/
129
+ // https://developers.facebook.com/docs/messenger-platform/messenger-profile/supported-locales ( but not all as expected )
130
+
131
+ }
132
+
133
  endif; // END class_exists check
admin/commons/ht-cc-admin-fb-button-connected.php CHANGED
@@ -9,7 +9,16 @@
9
  if (!defined('ABSPATH')) exit;
10
 
11
  ?>
12
- <div class="logout-mobilemonkey"><a href="<?php echo $logout_path; ?>">Logout WP-Chatbot</a></div>
 
 
 
 
 
 
 
 
 
13
 
14
  <h5>Connected Facebook page</h5>
15
  <div class="connected-page">
9
  if (!defined('ABSPATH')) exit;
10
 
11
  ?>
12
+
13
+ <?php
14
+
15
+ $logout_button = [
16
+ 'logout_path' => $logout_path
17
+ ];
18
+
19
+ HT_CC::view('ht-cc-admin-logout-button', $logout_button);
20
+
21
+ ?>
22
 
23
  <h5>Connected Facebook page</h5>
24
  <div class="connected-page">
admin/commons/ht-cc-admin-fb-button-not-connected.php CHANGED
@@ -43,4 +43,7 @@ if (!defined('ABSPATH')) exit;
43
  <span>Connect Facebook Page</span></a>
44
  <div class="lazyload"></div>
45
  </div>
 
 
 
46
  </div>
43
  <span>Connect Facebook Page</span></a>
44
  <div class="lazyload"></div>
45
  </div>
46
+ <div class="mobilemonkey-terms">
47
+ <p>By connecting with Facebook you are agreeing to the<a href="https://mobilemonkey.com/master-service-agreement" target="_blank"> WP Chatbot Terms of Service</a></p>
48
+ </div>
49
  </div>
admin/commons/ht-cc-admin-fb-button-select-page.php CHANGED
@@ -11,7 +11,16 @@
11
  if (!defined('ABSPATH')) exit;
12
 
13
  ?>
14
- <div class="logout-mobilemonkey"><a href="<?php echo $logout_path; ?>">Logout WP-Chatbot</a></div>
 
 
 
 
 
 
 
 
 
15
 
16
  <h5>Connect to your Facebook page</h5>
17
  <p class="description">This is the page that will receive messages from your website visitors.</p>
11
  if (!defined('ABSPATH')) exit;
12
 
13
  ?>
14
+
15
+ <?php
16
+
17
+ $logout_button = [
18
+ 'logout_path' => $logout_path
19
+ ];
20
+
21
+ HT_CC::view('ht-cc-admin-logout-button', $logout_button);
22
+
23
+ ?>
24
 
25
  <h5>Connect to your Facebook page</h5>
26
  <p class="description">This is the page that will receive messages from your website visitors.</p>
admin/commons/ht-cc-admin-logout-button.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) exit;
4
+ /**
5
+ * @param $logout_path
6
+ */
7
+ ?>
8
+
9
+ <div class="logout-mobilemonkey" style="position: relative;">
10
+ <div class="disabled-notise hidden">
11
+ <p class="disabled-notise__message">Log out, before switching to the manual option</p>
12
+ </div>
13
+ <a href="<?php echo $logout_path; ?>">Logout WP-Chatbot</a>
14
+ </div>
admin/commons/ht-cc-admin-sidebar.php CHANGED
@@ -1,144 +1,33 @@
1
- <?php
2
- /**
3
- * sidebar in admin area - plugin settings page.
4
- *
5
- * @uses at settings_page.php
6
- *
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) exit;
10
-
11
- ?>
12
-
13
-
14
-
15
-
16
- <!-- Premium plugin Content -->
17
- <div class="service-content" style="display: none;" >
18
- <br><br>
19
-
20
-
21
- <div class="row">
22
- <div class="col s12 m6 offset-s2 offset-m3 offset-xl2">
23
-
24
-
25
- <!-- docs -->
26
- <div class="links">
27
- <p>Documentation</p>
28
- <p><a target="_blank" href="https://www.holithemes.com/wp-chatbot/wp-chatbot-settings/?utm_source=wp-chatbot&utm_medium=admin-page">WP-Chatbot Settings</a></p>
29
- <p><a target="_blank" href="https://www.holithemes.com/wp-chatbot/basic-troubleshooting/?utm_source=wp-chatbot&utm_medium=admin-page">Basic Troubleshooting</a></p>
30
- </div>
31
- <br>
32
-
33
-
34
- <?php
35
-
36
- // dont display on pro version
37
- if ( 'true' !== HTCC_PRO ) {
38
- ?>
39
-
40
- <!-- premium plugin card -->
41
- <div class="card blue-grey darken-1">
42
- <div class="card-content white-text">
43
-
44
- <span class="card-title">WP-Chatbot Pro</span>
45
- <br>
46
-
47
- <p>Change Messenger <br>
48
- - Icon Position <br>
49
- - Greetings Dialog and Chat Window Position<br>
50
- Different Settings per Device ( Mobile, Desktop ) </p>
51
- <br>
52
-
53
- <p>Call Customer Chat SDK<br>
54
- - at any time after page loads </p>
55
- <br>
56
-
57
- <p>Display Messenger <br>
58
- - After Some Time Delay, <br>
59
- - After user Scroll down the page <br>
60
- Different Settings per Device ( Mobile, Desktop ) </p>
61
- <br>
62
-
63
- <p>Set Greetings text Dialog<br>
64
- - based on time range (like working hours or not)<br>
65
- - based on days in a week (like working days or not) <br>
66
- ( Online / Offline feature )</p>
67
- <br>
68
-
69
- <p>option to not Load Messenger on <br>
70
- - Selected Days in a Week ( like Weekends ) <br>
71
- - Selected Time Range ( like non working hours ) <br>
72
- ( Online / Offline feature )</p>
73
- <br>
74
-
75
- <p>Update Greetings, REF on Fly <br>
76
- - based on Time <br>
77
- - based on user Scroll down the page <br>
78
- - based on Clicks</p>
79
- <br>
80
-
81
- <p>Actions - Show, Hide - Icon, Greetings Dialog<br>
82
- - based on Time <br>
83
- - based on user Scroll down the page <br>
84
- - based on Clicks</p>
85
- <br>
86
-
87
- <p>Click Actions - When Clicked on Button/ Element <br>
88
- - Show - Icon, Greetings Dialog <br>
89
- - Hide - Icon, Greetings Dialog <br>
90
- - Update Greetings, REF </p>
91
- <br>
92
-
93
- <p>WooCommerce - Separate Settings page<br>
94
- - Greetings Dialog, REF, Page ID, Color <br>
95
- plan to expand to a lot of features </p>
96
- <br>
97
-
98
- <p>Placeholders for Greetings Dialog, REF <br>
99
- - {{product}} - to add WooCommerce product name
100
- in Greeting Dialog, REF Attribute <br>
101
- - {{title}} - to add page title in REF Attribute <br>
102
- - {{id}} - to add the page ID in REF Attribute </p>
103
- <br>
104
-
105
- <!-- <p>( planning to expand a lot of Features, Especially related to WooCommerce )</p> -->
106
- <p>More Features Included</p>
107
- <br>
108
-
109
- <p>One Time Payment, Lifetime updates</p>
110
- <p></p>
111
- </div>
112
- <div class="card-action">
113
- <a target="_blank" href="https://www.holithemes.com/wp-chatbot/pro/?utm_source=wp-chatbot&utm_medium=admin-page">WP-Chatbot PRO</a><br><br>
114
-
115
- <!-- <a target="_blank" href="https://www.holithemes.com/shop/product/wp-chatbot-pro-single-website-plan/?utm_source=wp-chatbot&utm_medium=admin-page">Single Website plan</a><br><br> -->
116
- <!-- <a target="_blank" href="https://www.holithemes.com/shop/product/wp-chatbot-pro-unlimited-website-plan/?utm_source=wp-chatbot&utm_medium=admin-page">Unlimited Website plan</a> -->
117
- </div>
118
- </div>
119
-
120
- <?php
121
- }
122
- ?>
123
-
124
- <small class="close" onclick="ht_cc_admin_hide_services_content()" style="cursor: pointer;">Hide this box</small>
125
-
126
- </div>
127
-
128
- </div>
129
-
130
-
131
-
132
- <!-- <br><hr><br> -->
133
-
134
- <!-- <p>Busy, someone to setup the plugin</p>
135
- <div class="wpchatbot-setup">
136
- <h2>We will setup the plugin for US$ 10</h2>
137
- <li>Setup the Required things, to appear messenger on your Website.</li>
138
- <li>modify the plugin settings based on your requirement</li>
139
- <p>Pay US$ 10, After the setup has done</p>
140
- <p>To start the project please <a target="_blank" href="https://www.messenger.com/t/holithemes?ref=wp-chabot-setup">message us</a> </p>
141
- </div> -->
142
-
143
-
144
- </div>
1
+ <?php
2
+ /**
3
+ * sidebar in admin area - plugin settings page.
4
+ *
5
+ * @uses at settings_page.php
6
+ *
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) exit;
10
+
11
+ ?>
12
+
13
+
14
+
15
+
16
+ <!-- Premium plugin Content -->
17
+ <div class="service-content" style="display: none;" >
18
+ <div class="row">
19
+ <div class="col s12 m6">
20
+ <!-- docs -->
21
+ <div class="links">
22
+ <p>Documentation</p>
23
+ <p><a target="_blank" href="https://mobilemonkey.com/wp-chatbot/wp-chatbot-settings/?utm_source=wp-chatbot&utm_medium=admin-page">WP-Chatbot Settings</a></p>
24
+ <p><a target="_blank" href="https://mobilemonkey.com/wp-chatbot/basic-troubleshooting/?utm_source=wp-chatbot&utm_medium=admin-page">Basic Troubleshooting</a></p>
25
+ </div>
26
+ <br>
27
+ <small class="close" onclick="ht_cc_admin_hide_services_content()" style="cursor: pointer;">Hide this box</small>
28
+ <div>
29
+ <iframe src="https://s3.amazonaws.com/mm-prod-webinars/wp-chatbot-banner.html" style="width: 300px; height: 700px; border: 0"></iframe>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/contact_page.php ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * template for options page
4
+ * @uses HTCC_Admin::settings_page
5
+ * @since 1.0.0
6
+ */
7
+ class MobileMonkey_Contacts_List_Table extends WP_List_Table
8
+ {
9
+ private $api;
10
+ private $totalItems;
11
+ private $count = 10;
12
+
13
+ public function __construct() {
14
+ parent::__construct();
15
+ $this->api = new MobileMonkeyApi();
16
+ }
17
+
18
+ private function getApi(){
19
+ return $this->api;
20
+ }
21
+
22
+ /**
23
+ * Prepare the items for the table to process
24
+ *
25
+ * @return Void
26
+ */
27
+ public function prepare_items()
28
+ {
29
+ $api = $this->getApi();
30
+ $deleteId = filter_input( INPUT_GET, "delete", FILTER_SANITIZE_STRING );
31
+ if ($deleteId) {
32
+ $api->deleteContact( $deleteId );
33
+ }
34
+
35
+ $columns = $this->get_columns();
36
+ $hidden = $this->get_hidden_columns();
37
+ $sortable = $this->get_sortable_columns();
38
+ $data = $this->table_data();
39
+ $perPage = $api->getPagination()->per_page;
40
+ $this->totalItems = $api->getPagination()->total;
41
+ $this->set_pagination_args( [
42
+ 'total_items' => $this->totalItems,
43
+ 'per_page' => $perPage
44
+ ] );
45
+ $this->_column_headers = [$columns, $hidden, $sortable];
46
+ $this->items = $data;
47
+ }
48
+ /**
49
+ * Override the parent columns method. Defines the columns to use in your listing table
50
+ *
51
+ * @return Array
52
+ */
53
+ public function get_columns()
54
+ {
55
+ $columns = [
56
+ 'first_name'=> __('First Name'),
57
+ 'last_name' => __('Last Name'),
58
+ 'gender' => __('Gender'),
59
+ 'locale' => __('Locale'),
60
+ 'timezone' => __('Timezone'),
61
+ 'created_at'=> __('Created'),
62
+ ];
63
+ return $columns;
64
+ }
65
+ /**
66
+ * Define which columns are hidden
67
+ *
68
+ * @return Array
69
+ */
70
+ public function get_hidden_columns()
71
+ {
72
+ return [];
73
+ }
74
+ /**
75
+ * Define the sortable columns
76
+ *
77
+ * @return Array
78
+ */
79
+ public function get_sortable_columns()
80
+ {
81
+ return [
82
+ 'first_name' => ['first_name', true],
83
+ 'last_name' => ['last_name', true],
84
+ 'gender' => ['gender', true],
85
+ 'locale' => ['locale', true],
86
+ 'timezone' => ['timezone', true],
87
+ 'created_at' => ['created_at', true]
88
+ ];
89
+ }
90
+ /**
91
+ * Get the table data
92
+ *
93
+ * @return Array
94
+ */
95
+ private function table_data()
96
+ {
97
+ $data = [];
98
+ $contacts = $this->getApi()->getContacts();
99
+ if($contacts) {
100
+ foreach ( $contacts as $contact ) {
101
+ $path = add_query_arg( [
102
+ 'page' => 'wp-chatbot-contact',
103
+ 'delete' => $contact->id,
104
+ ], admin_url( 'admin.php' ) );
105
+
106
+ $timezone = $contact->timezone;
107
+ if($timezone > 0) {
108
+ $timezone = 'GMT +'.$timezone;
109
+ } else {
110
+ $timezone = 'GMT -'.$timezone;
111
+ }
112
+
113
+ $created = date('m/d/Y H:i', strtotime($contact->created_at));
114
+
115
+ $data[] = [
116
+ 'first_name' => $contact->first_name,
117
+ 'last_name' => $contact->last_name,
118
+ 'gender' => $contact->gender,
119
+ 'locale' => $contact->locale,
120
+ 'timezone' => $timezone,
121
+ 'created_at' => $created,
122
+ ];
123
+ }
124
+ }
125
+ return $data;
126
+ }
127
+ /**
128
+ * Define what data to show on each column of the table
129
+ *
130
+ * @param Array $item Data
131
+ * @param String $column_name - Current column name
132
+ *
133
+ * @return Mixed
134
+ */
135
+ public function column_default( $item, $column_name )
136
+ {
137
+ switch( $column_name ) {
138
+ case 'first_name':
139
+ case 'last_name':
140
+ case 'gender':
141
+ case 'locale':
142
+ case 'timezone':
143
+ case 'created_at':
144
+ return $item[ $column_name ];
145
+ }
146
+ }
147
+
148
+ /**
149
+ * Display the table
150
+ *
151
+ * @since 3.1.0
152
+ */
153
+ public function display() {
154
+ $singular = $this->_args['singular'];
155
+
156
+ $this->display_tablenav( 'top' );
157
+
158
+ $this->screen->render_screen_reader_content( 'heading_list' );
159
+ ?>
160
+ <table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
161
+ <thead>
162
+ <tr>
163
+ <?php $this->print_column_headers(); ?>
164
+ </tr>
165
+ </thead>
166
+
167
+ <tbody id="the-list"<?php
168
+ if ( $singular ) {
169
+ echo " data-wp-lists='list:$singular'";
170
+ } ?>>
171
+ <?php $this->display_rows_or_placeholder(); ?>
172
+ </tbody>
173
+
174
+ <?php
175
+ if($this->totalItems > $this->count):
176
+ ?>
177
+ <tfoot>
178
+ <tr>
179
+ <?php $this->print_column_headers( false ); ?>
180
+ </tr>
181
+ </tfoot>
182
+ <?php endif; ?>
183
+
184
+ </table>
185
+ <?php
186
+ $this->display_tablenav( 'bottom' );
187
+ }
188
+
189
+ public function no_items() {
190
+ echo 'Table empty';
191
+ }
192
+ }
admin/settings_page.php CHANGED
@@ -1,33 +1,43 @@
1
- <?php
2
- /**
3
- * template for options page
4
- * @uses HTCC_Admin::settings_page
5
- * @since 1.0.0
6
- */
7
-
8
- if ( ! defined( 'ABSPATH' ) ) exit;
9
-
10
- ?>
11
-
12
- <!-- style="display: flex; flex-wrap: wrap;" -->
13
- <div class="wrap">
14
-
15
-
16
- <?php settings_errors(); ?>
17
-
18
- <div class="row">
19
- <div class="col s12 m12 xl6 options">
20
- <form action="options.php" method="post" class="">
21
- <?php settings_fields( 'htcc_settings_group' ); ?>
22
- <?php do_settings_sections( 'htcc_options_settings' ) ?>
23
- <?php submit_button() ?>
24
- </form>
25
- </div>
26
-
27
- <div class="col s12 m12 xl6 ht-cc-admin-sidebar">
28
- <?php include_once 'commons/ht-cc-admin-sidebar.php'; ?>
29
- </div>
30
- </div>
31
-
32
-
 
 
 
 
 
 
 
 
 
 
33
  </div>
1
+ <?php
2
+ /**
3
+ * template for options page
4
+ * @uses HTCC_Admin::settings_page
5
+ * @since 1.0.0
6
+ */
7
+
8
+ if (!defined('ABSPATH')) exit;
9
+
10
+ ?>
11
+
12
+ <!-- style="display: flex; flex-wrap: wrap;" -->
13
+
14
+ <div class="wrap">
15
+ <div class="row mobile_wrap">
16
+ <div class="col s12 m9 x9 options">
17
+ <div class="mobilemonkey-logo"></div>
18
+ <h6 class="options-subtitle">WP-Chatbot is <a href="https://mobilemonkey.com/" target="_blank">powered by
19
+ MobileMonkey</a>: an Official Facebook Messenger Solutions Provider Partner</h6>
20
+ <h2><?php settings_errors(); ?> </h2>
21
+
22
+ <form action="options.php" method="post">
23
+ <div class="toc-tab-box">
24
+ <?php
25
+ settings_fields('htcc_setting_group');
26
+ do_settings_sections('wp-chatbot');
27
+ ?>
28
+ </div>
29
+ </div>
30
+ <?php
31
+ submit_button('Save Changes');
32
+ ?>
33
+ </div>
34
+ </form>
35
+ </div>
36
+
37
+ <div class="col s12 m3 x3 ht-cc-admin-sidebar">
38
+ <?php include_once 'commons/ht-cc-admin-sidebar.php'; ?>
39
+ </div>
40
+ </div>
41
+
42
+
43
  </div>
inc/MobileMonkeyApi.php CHANGED
@@ -1,377 +1,858 @@
1
- <?php
2
-
3
- class MobileMonkeyApi {
4
-
5
- private $option_prefix = 'mobilemonkey_';
6
- private $api_domain = 'https://api.mobilemonkey.com/';
7
- private $src = 'wordpress';
8
- private $pages = [];
9
- private $active_page = false;
10
- private $promoters = [];
11
- private $landing_page;
12
- private $env = true;
13
- private $pagination;
14
- private $contacts;
15
- private $plugin_name = 'wp-chatbot';
16
-
17
- private function getApiDomain(){
18
- return $this->api_domain;
19
- }
20
-
21
- private function getSrc(){
22
- return $this->src;
23
- }
24
-
25
- public function getOptionPrefix(){
26
- return $this->option_prefix;
27
- }
28
-
29
- private function setToken(){
30
- $token = filter_input( INPUT_GET, "auth_token", FILTER_SANITIZE_STRING );
31
- if ($token) {
32
- update_option( $this->option_prefix.'token', $token );
33
- return true;
34
- }
35
- return false;
36
- }
37
-
38
- private function getToken(){
39
- return get_option($this->option_prefix.'token');
40
- }
41
-
42
- private function setCompanyId(){
43
- $company_id = filter_input( INPUT_GET, "company_id", FILTER_SANITIZE_STRING );
44
- if ($company_id) {
45
- update_option( $this->option_prefix . 'company_id', $company_id );
46
- return true;
47
- }
48
- return false;
49
- }
50
-
51
- private function getCompanyId($connection_page_id){
52
-
53
- if($connection_page_id){
54
-
55
- $pages = $this->getPages();
56
-
57
- foreach ($pages as $page) {
58
- if ($connection_page_id == $page['remote_id']) {
59
-
60
- $right_company_id = $page['company_id'];
61
-
62
- break;
63
- }
64
- }
65
- return $right_company_id;
66
- }
67
-
68
- return get_option($this->option_prefix . 'company_id');
69
- }
70
-
71
- private function setActiveBotId($bot_id){
72
- update_option( $this->option_prefix . 'active_bot', $bot_id );
73
- }
74
-
75
- private function getActiveBotId(){
76
- return get_option( $this->option_prefix . 'active_bot' );
77
- }
78
-
79
- private function setActivePageId($page_id){
80
- update_option( $this->option_prefix . 'active_page_id', $page_id );
81
- }
82
-
83
- private function getActivePageId(){
84
- return get_option( $this->option_prefix . 'active_page_id');
85
- }
86
-
87
- private function setEnvironment($environment){
88
- update_option( $this->option_prefix . 'environment', $environment );
89
- }
90
-
91
- public function getEnvironment(){
92
- return get_option( $this->option_prefix . 'environment');
93
- }
94
-
95
- public function refreshSettingsPage(){
96
- echo "<script type='text/javascript'>
97
- var path = location.protocol + '//' + location.host + location.pathname + '?page=wp-chatbot';
98
- window.location = path;
99
- </script>";
100
- }
101
-
102
- public function connectLink(){
103
- return $this->getApiDomain().'/wordpress/auth?callback="' . add_query_arg( [ 'page' => $this->plugin_name ], admin_url( 'admin.php' ) ) . '"';
104
- }
105
-
106
- public function connectMobileMonkey(){
107
- if($this->setToken() && $this->setCompanyId()) {
108
-
109
- $this->getEnv();
110
-
111
- $this->refreshSettingsPage();
112
- }
113
- return $this->getToken();
114
- }
115
-
116
- public function logoutMobilemonkey($reset = false){
117
- $logout = filter_input( INPUT_GET, "logout", FILTER_SANITIZE_STRING );
118
- if ( $logout || $reset) {
119
- delete_option( $this->option_prefix . 'token');
120
- delete_option( $this->option_prefix . 'company_id');
121
- delete_option( $this->option_prefix . 'active_page_id');
122
- delete_option( $this->option_prefix . 'active_page_remote_id');
123
- delete_option( $this->option_prefix . 'active_bot');
124
- delete_option( $this->option_prefix . 'environment');
125
- }
126
- }
127
-
128
- public function connectPage(){
129
-
130
- $pageId = filter_input( INPUT_GET, "connect", FILTER_SANITIZE_STRING );
131
- $pageName = filter_input( INPUT_GET, "page_name", FILTER_SANITIZE_STRING );
132
-
133
- if ($pageId && $pageName) {
134
- $args = [
135
- 'timeout' => 10,
136
- 'body' => json_encode([
137
- 'remote_id' => $pageId,
138
- 'company_id' => $this->getCompanyId($pageId),
139
- 'name' => $pageName,
140
- 'base_url' => get_site_url(),
141
- 'src' => $this->getSrc(),
142
- ]),
143
- 'headers' => [
144
- 'Authorization' => $this->getToken(),
145
- 'Content-Type' => 'application/json; charset=utf-8',
146
- ],
147
- ];
148
- $response = wp_remote_post($this->getApiDomain() . '/api/facebook_pages', $args);
149
- $content = wp_remote_retrieve_body($response);
150
- $connect_response = json_decode($content);
151
-
152
- if (json_last_error() !== JSON_ERROR_NONE) {
153
- $this->renderNotice('The data from MobileMonkey is wrong!');
154
- } elseif (!empty($connect_response->success)) {
155
- if ($connect_response->facebook_page->remote_id) {
156
-
157
- if ($connect_response->facebook_page->square_picture) {
158
- update_option($this->option_prefix . 'active_page_image', $connect_response->facebook_page->square_picture);
159
- }
160
-
161
- $options = get_option('htcc_options', array());
162
- $options['fb_page_id'] = $connect_response->facebook_page->remote_id;
163
- update_option('htcc_options', $options);
164
-
165
- $this->refreshSettingsPage();
166
-
167
- return true;
168
- }
169
-
170
- } elseif ($connect_response->error_code) {
171
- $this->renderNotice('Error code: ' . $connect_response->error_code);
172
- if (!empty($connect_response->errors)) {
173
- foreach ($connect_response->errors as $error) {
174
- $this->renderNotice('Error: ' . $error);
175
- }
176
- }
177
- } elseif (!empty($connect_response->errors)) {
178
- foreach ($connect_response->errors as $error) {
179
- $this->renderNotice('Error: ' . $error);
180
- }
181
- } else {
182
- $this->renderNotice('The data from MobileMonkey is wrong!');
183
- }
184
- }
185
- return false;
186
- }
187
-
188
- public function disconnectPage() {
189
- $pageId = filter_input( INPUT_GET, "disconnect", FILTER_SANITIZE_STRING );
190
-
191
- if ($pageId) {
192
- $args = [
193
- 'timeout' => 10,
194
- 'body' => json_encode([
195
- 'src' => $this->getSrc(),
196
- ]),
197
- 'headers' => [
198
- 'Authorization' => $this->getToken(),
199
- 'Content-Type' => 'application/json; charset=utf-8',
200
- ],
201
- 'method' => 'DELETE',
202
- ];
203
- $response = wp_remote_request($this->getApiDomain() . '/api/facebook_pages/' . $pageId, $args);
204
- $content = wp_remote_retrieve_body($response);
205
- if (empty($content)) {
206
-
207
- $this->active_page = false;
208
-
209
- $options = get_option('htcc_options', array());
210
- $options['fb_page_id'] = '';
211
- update_option('htcc_options', $options);
212
-
213
- delete_option($this->option_prefix . 'active_page_id');
214
- delete_option($this->option_prefix . 'active_page_remote_id');
215
- delete_option($this->option_prefix . 'active_bot');
216
- delete_option($this->option_prefix . 'environment');
217
-
218
- $this->refreshSettingsPage();
219
-
220
- return true;
221
-
222
- } elseif (isset($response["response"]["code"]) && $response["response"]["code"] == 422) {
223
- $this->renderNotice('The page is not connected!');
224
- } else {
225
- $json_response = json_decode($content);
226
- if (json_last_error() === JSON_ERROR_NONE && !empty($json_response->errors)) {
227
- foreach ($json_response->errors as $error) {
228
- $this->renderNotice('Error: ' . $error);
229
- }
230
- }
231
- }
232
- return false;
233
- }
234
- }
235
-
236
- public function getPages($reset = false) {
237
- if (!empty($this->pages) && !$reset) {
238
- return $this->pages;
239
- }
240
-
241
- $args = [
242
- 'timeout' => 10,
243
- 'headers' => [
244
- 'Authorization' => $this->getToken()
245
- ],
246
- ];
247
- $pagesObj = NULL;
248
- $pages = [];
249
- $response = wp_remote_get( $this->getApiDomain() . '/api/facebook_pages/available_options?src=' . $this->getSrc(), $args );
250
- $content = wp_remote_retrieve_body( $response );
251
-
252
- if ( ! empty( $content ) ) {
253
- $pagesObj = json_decode( $content );
254
-
255
- if ( empty( $pagesObj->errors ) ) {
256
-
257
- foreach ( $pagesObj->data as $page ) {
258
- $p = [
259
- 'name' => $page->name,
260
- 'remote_id' => $page->remote_id,
261
- 'id' => $page->facebook_page_id,
262
- 'bot_id' => $page->bot_id,
263
- 'bot_kind' => $page->bot_kind,
264
- 'company_id' => $page->company_id,
265
- 'path' => add_query_arg( [
266
- 'page' => $this->plugin_name,
267
- 'connect' => $page->remote_id,
268
- 'page_name' => $page->name
269
- ], admin_url( 'admin.php' ) ),
270
- ];
271
-
272
- $pages[] = $p;
273
- }
274
- } else {
275
- $this->logoutMobilemonkey(true);
276
- }
277
- }
278
-
279
- $this->pages = $pages;
280
-
281
- return $pages;
282
- }
283
-
284
- public function getActivePage($reset = false) {
285
-
286
- if(!$reset && !empty($this->active_page)){
287
- return $this->active_page;
288
- }
289
-
290
- $activePage = [];
291
- $pages = $this->getPages();
292
-
293
- $options = get_option('htcc_options', array());
294
- $active_remote_page_id = $options['fb_page_id'];
295
-
296
- foreach ( $pages as $page ) {
297
-
298
- if($active_remote_page_id == $page['remote_id']){
299
-
300
- $activePage['remote_id'] = $page['remote_id'];
301
- $activePage['bot_id'] = $page['bot_id'];
302
- $activePage['name'] = $page['name'];
303
- $activePage['id'] = $page['facebook_page_id'];
304
- $activePage['path'] = add_query_arg([
305
- 'page' => $this->plugin_name,
306
- 'disconnect' => $page['id'],
307
- ], admin_url('admin.php'));
308
-
309
- update_option($this->option_prefix . 'active_page_remote_id', $page['remote_id']);
310
- $this->setActivePageId($page['id']);
311
- $this->setActiveBotId($page['bot_id']);
312
-
313
- break;
314
- }
315
- }
316
-
317
- $this->active_page = $activePage;
318
- return $activePage;
319
- }
320
-
321
- public function getEnv() {
322
-
323
- $args = [
324
- 'timeout' => 10,
325
- 'headers' => [
326
- 'Authorization' => $this->getToken(),
327
- ],
328
- ];
329
-
330
- $response = wp_remote_get( $this->getApiDomain() . '/api/env/', $args );
331
- $content = wp_remote_retrieve_body( $response );
332
- if ( !empty( $content ) ) {
333
-
334
- $env = json_decode( $content );
335
-
336
- if (json_last_error() !== JSON_ERROR_NONE) {
337
- $this->renderNotice('The data from MobileMonkey is wrong!');
338
- }
339
- elseif ( !empty( $env->errors ) ) {
340
- $this->renderNotice('The data from MobileMonkey return error. Please try again!');
341
- }
342
- else {
343
- $this->env = $env;
344
-
345
- $options = get_option('htcc_options', array());
346
- $options['fb_app_id'] = $this->env->fb_app_id;
347
- update_option('htcc_options', $options);
348
-
349
- $this->setEnvironment($env);
350
-
351
- return $env;
352
- }
353
- }
354
-
355
- return false;
356
- }
357
-
358
- private function renderNotice($text)
359
- {
360
- $setting_page_args = [
361
- 'text' => $text,
362
- ];
363
- HT_CC::view('ht-cc-admin-fb-button-notice', $setting_page_args);
364
- }
365
-
366
- public function debug(){
367
- $options = [];
368
- $options['token'] = get_option( $this->option_prefix . 'token');
369
- $options['company_id'] = get_option( $this->option_prefix . 'company_id');
370
- $options['active_page_id'] = get_option( $this->option_prefix . 'active_page_id');
371
- $options['active_page_remote_id'] = get_option( $this->option_prefix . 'active_page_remote_id');
372
- $options['active_bot'] = get_option( $this->option_prefix . 'active_bot');
373
- $options['environment'] = get_option( $this->option_prefix . 'environment');
374
- $options['ht_cc'] = get_option('htcc_options');
375
- return var_dump($options);
376
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
  }
1
+ <?php
2
+
3
+ class MobileMonkeyApi
4
+ {
5
+
6
+ private $option_prefix = 'mobilemonkey_';
7
+ private $api_domain = 'https://api.mobilemonkey.com/';
8
+ private $src = 'wordpress';
9
+ private $pages = [];
10
+ private $active_page = false;
11
+ private $promoters = [];
12
+ private $landing_page;
13
+ private $env = true;
14
+ private $pagination;
15
+ private $contacts;
16
+ private $plugin_name = 'wp-chatbot';
17
+
18
+ private function getApiDomain()
19
+ {
20
+ return $this->api_domain;
21
+ }
22
+
23
+ private function getSrc()
24
+ {
25
+ return $this->src;
26
+ }
27
+
28
+ public function getOptionPrefix()
29
+ {
30
+ return $this->option_prefix;
31
+ }
32
+
33
+ private function setToken()
34
+ {
35
+ $token = filter_input(INPUT_GET, "auth_token", FILTER_SANITIZE_STRING);
36
+ if ($token) {
37
+ update_option($this->option_prefix . 'token', $token);
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+
43
+ private function getToken()
44
+ {
45
+ return get_option($this->option_prefix . 'token');
46
+ }
47
+
48
+ private function setCompanyId()
49
+ {
50
+ $company_id = filter_input(INPUT_GET, "company_id", FILTER_SANITIZE_STRING);
51
+ if ($company_id) {
52
+ update_option($this->option_prefix . 'company_id', $company_id);
53
+ return true;
54
+ }
55
+ return false;
56
+ }
57
+
58
+ public function getCompanyId($connection_page_id)
59
+ {
60
+
61
+ if ($connection_page_id) {
62
+
63
+ $pages = $this->getPages();
64
+ foreach ($pages as $page) {
65
+ if ($page['id'] && $connection_page_id == $page['remote_id']) {
66
+ return $page['company_id'];
67
+ }
68
+ }
69
+ return get_option($this->option_prefix . 'company_id');
70
+ }
71
+ }
72
+
73
+ private function getInternalPageId($connection_page_id)
74
+ {
75
+
76
+ if ($connection_page_id) {
77
+
78
+ $pages = $this->getPages();
79
+ foreach ($pages as $page) {
80
+ if ($page['id'] && $connection_page_id == $page['remote_id']) {
81
+ return $page['id'];
82
+ }
83
+ }
84
+ return get_option($this->option_prefix . 'fb_internal_page_id');
85
+ }
86
+ }
87
+
88
+ private function setActiveBotId($bot_id)
89
+ {
90
+ update_option($this->option_prefix . 'active_bot', $bot_id);
91
+ }
92
+
93
+ private function getActiveBotId()
94
+ {
95
+ return get_option($this->option_prefix . 'active_bot');
96
+ }
97
+
98
+ private function setActivePageId($page_id)
99
+ {
100
+ update_option($this->option_prefix . 'active_page_id', $page_id);
101
+ }
102
+
103
+ private function getActivePageId()
104
+ {
105
+ return get_option($this->option_prefix . 'active_page_id');
106
+ }
107
+
108
+ private function setEnvironment($environment)
109
+ {
110
+ update_option($this->option_prefix . 'environment', $environment);
111
+ }
112
+
113
+ public function getEnvironment()
114
+ {
115
+ return get_option($this->option_prefix . 'environment');
116
+ }
117
+
118
+ public function refreshSettingsPage()
119
+ {
120
+ echo "<script type='text/javascript'>
121
+ var path = location.protocol + '//' + location.host + location.pathname + '?page=wp-chatbot';
122
+ window.location = path;
123
+
124
+ </script>";
125
+ }
126
+
127
+ public function connectLink()
128
+ {
129
+ $current_user = wp_get_current_user();
130
+
131
+ if (!empty($current_user->user_email)) {
132
+ $user_email = $current_user->user_email;
133
+ } else {
134
+ $user_email = get_option('admin_email', '');
135
+ }
136
+ return $this->getApiDomain() . 'wordpress/auth?callback="' . add_query_arg(['page' => $this->plugin_name], admin_url('admin.php')) . '"&email=' . $user_email . '&v=' . HTCC_VERSION;
137
+ }
138
+
139
+ public function connectMobileMonkey()
140
+ {
141
+ if ($this->setToken() && $this->setCompanyId()) {
142
+
143
+ $this->getEnv();
144
+
145
+ $this->sendUserEmail();
146
+
147
+ $this->refreshSettingsPage();
148
+ }
149
+ return $this->getToken();
150
+ }
151
+
152
+ public function logoutMobilemonkey($reset = false)
153
+ {
154
+ $logout = filter_input(INPUT_GET, "logout", FILTER_SANITIZE_STRING);
155
+ if ($logout || $reset) {
156
+ delete_option($this->option_prefix . 'token');
157
+ delete_option($this->option_prefix . 'company_id');
158
+ delete_option($this->option_prefix . 'active_page_id');
159
+ delete_option($this->option_prefix . 'active_page_remote_id');
160
+ delete_option($this->option_prefix . 'active_bot');
161
+ $this->refreshSettingsPage();
162
+ }
163
+ }
164
+
165
+ public function mmOnlyCheck($page_id)
166
+ {
167
+ $args = [
168
+ 'timeout' => 10,
169
+ 'headers' => [
170
+ 'Authorization' => $this->getToken(),
171
+ 'Content-Type' => 'application/json; charset=utf-8',
172
+ ],
173
+ 'method' => 'GET',
174
+ ];
175
+ $response = wp_remote_post($this->getApiDomain() . 'api/facebook_pages/' . $this->getInternalPageId($page_id), $args);
176
+ $content = wp_remote_retrieve_body($response);
177
+ $connect_response = json_decode($content);
178
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
179
+ return $connect_response->wordpress_settings->mm_only_mode;
180
+ } elseif ($connect_response->error_code) {
181
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
182
+ if (!empty($connect_response->errors)) {
183
+ foreach ($connect_response->errors as $error) {
184
+ $this->renderNotice('Error: ' . $error);
185
+ }
186
+ }
187
+ } elseif (!empty($connect_response->errors)) {
188
+ foreach ($connect_response->errors as $error) {
189
+ $this->renderNotice('Error: ' . $error);
190
+ }
191
+ } else {
192
+ $this->renderNotice('API communication error. Unable to receive MM Only State.');
193
+ }
194
+ }
195
+
196
+
197
+ public function connectPage()
198
+ {
199
+ $pageId = filter_input(INPUT_GET, "connect", FILTER_SANITIZE_STRING);
200
+ $pageName = filter_input(INPUT_GET, "page_name", FILTER_SANITIZE_STRING);
201
+ if ($pageId && $pageName) {
202
+ $args = [
203
+ 'timeout' => 10,
204
+ 'body' => json_encode([
205
+ 'remote_id' => $pageId,
206
+ 'company_id' => $this->getCompanyId($pageId),
207
+ 'name' => $pageName,
208
+ 'base_url' => get_site_url(),
209
+ 'src' => $this->getSrc(),
210
+ ]),
211
+ 'headers' => [
212
+ 'Authorization' => $this->getToken(),
213
+ 'Content-Type' => 'application/json; charset=utf-8',
214
+ ],
215
+ 'method' => 'POST',
216
+ ];
217
+ $response = wp_remote_post($this->getApiDomain() . 'api/facebook_pages', $args);
218
+ $content = wp_remote_retrieve_body($response);
219
+ $connect_response = json_decode($content);
220
+ if (json_last_error() !== JSON_ERROR_NONE) {
221
+ $this->renderNotice('API communication error. Unable to connect facebook page.');
222
+ } elseif (!empty($connect_response->success)) {
223
+ if ($connect_response->facebook_page->remote_id) {
224
+ $options = get_option('htcc_options', array());
225
+ $options['fb_page_id'] = $connect_response->facebook_page->remote_id;
226
+ $options['fb_internal_page_id'] = $connect_response->facebook_page->id;
227
+ if ($connect_response->facebook_page->active_bot_id) {
228
+ $ref_cont = $this->getBotRef($connect_response->facebook_page->active_bot_id);
229
+ $ref = stristr($ref_cont->test_link, '=');
230
+ $options['ref'] = str_replace("=", "", $ref);
231
+ if ($connect_response->welcome_message) {
232
+ $options['fb_welcome_message'] = $connect_response->welcome_message;
233
+ } else {
234
+ $options['fb_welcome_message'] = '';
235
+ }
236
+ $options['fb_sdk_lang'] = $this->getLanguage($connect_response->facebook_page->remote_id);
237
+ update_option('htcc_options', $options);
238
+ $test = $this->getWidgets($connect_response->facebook_page->remote_id);
239
+
240
+ if ($test) {
241
+ foreach ($test->widgets as $key => $value) {
242
+ if ($value->type == "quick_question") {
243
+ $key += 1;
244
+ $value_new['fb_answer' . $key . ''] = $value->config->body;
245
+ }
246
+ if ($value->type == 'text') {
247
+ $value_new['thank_message'] = $value->config->body;
248
+ }
249
+ if ($value->type == 'email') {
250
+ $value_new['email'] = $value->config->recipient;
251
+ }
252
+ }
253
+ }
254
+ $value_new['fb_as_state'] = 0;
255
+ update_option('htcc_as_options', $value_new);
256
+
257
+ $this->refreshSettingsPage();
258
+ return true;
259
+ }
260
+ }
261
+
262
+ } elseif ($connect_response->error_code) {
263
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
264
+ if (!empty($connect_response->errors)) {
265
+ foreach ($connect_response->errors as $error) {
266
+ $this->renderNotice('Error: ' . $error);
267
+ }
268
+ }
269
+ } elseif (!empty($connect_response->errors)) {
270
+ foreach ($connect_response->errors as $error) {
271
+ $this->renderNotice('Error: ' . $error);
272
+ }
273
+ } else {
274
+ $this->renderNotice('API communication error. Unable to connect facebook page.');
275
+ }
276
+ }
277
+ return false;
278
+ }
279
+
280
+
281
+ public function AsStateSave($state, $fb_page_id)
282
+ {
283
+ $args = [
284
+ 'timeout' => 10,
285
+ 'headers' => [
286
+ 'Authorization' => $this->getToken(),
287
+ 'Content-Type' => 'application/json',
288
+ ],
289
+ 'body' => json_encode([
290
+ 'enabled' => $state,
291
+ 'fb_page_remote_id' => $fb_page_id
292
+ ]),
293
+ 'method' => 'PUT',
294
+ ];
295
+ $response = wp_remote_request($this->getApiDomain() . 'api/wordpress_settings/answering_service?v=' . HTCC_VERSION, $args);
296
+ $content = wp_remote_retrieve_body($response);
297
+ $connect_response = json_decode($content);
298
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
299
+ // Succesfully updated welcome message for $options['fb_page_id'] page
300
+ } elseif ($connect_response->error_code) {
301
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
302
+ if (!empty($connect_response->errors)) {
303
+ foreach ($connect_response->errors as $error) {
304
+ $this->renderNotice('Error: ' . $error);
305
+ }
306
+ }
307
+ } elseif (!empty($connect_response->errors)) {
308
+ foreach ($connect_response->errors as $error) {
309
+ $this->renderNotice('Error: ' . $error);
310
+ }
311
+ } else {
312
+ $this->renderNotice('API communication error. Unable to save `AS` State');
313
+ }
314
+ }
315
+
316
+ public function disconnectPage()
317
+ {
318
+ $pageId = filter_input(INPUT_GET, "disconnect", FILTER_SANITIZE_STRING);
319
+
320
+ if ($pageId) {
321
+ $args = [
322
+ 'timeout' => 10,
323
+ 'body' => json_encode([
324
+ 'src' => $this->getSrc(),
325
+ ]),
326
+ 'headers' => [
327
+ 'Authorization' => $this->getToken(),
328
+ 'Content-Type' => 'application/json; charset=utf-8',
329
+ ],
330
+ 'method' => 'DELETE',
331
+ ];
332
+ $response = wp_remote_request($this->getApiDomain() . '/api/facebook_pages/' . $pageId, $args);
333
+ $content = wp_remote_retrieve_body($response);
334
+ $connect_response = json_decode($content);
335
+ if (empty($content)) {
336
+
337
+ $this->active_page = false;
338
+
339
+ $options = get_option('htcc_options', array());
340
+ $options['fb_page_id'] = '';
341
+ $options['fb_welcome_message'] = '';
342
+ update_option('htcc_options', $options);
343
+
344
+ delete_option($this->option_prefix . 'active_page_id');
345
+ delete_option($this->option_prefix . 'active_page_remote_id');
346
+ delete_option($this->option_prefix . 'active_bot');
347
+
348
+ $this->refreshSettingsPage();
349
+
350
+ return true;
351
+
352
+ } elseif (isset($response["response"]["code"]) && $response["response"]["code"] == 422) {
353
+ $this->renderNotice('The page is not connected!');
354
+ } elseif ($connect_response->error_code) {
355
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
356
+ if (!empty($connect_response->errors)) {
357
+ foreach ($connect_response->errors as $error) {
358
+ $this->renderNotice('Error: ' . $error);
359
+ }
360
+ }
361
+ } elseif (!empty($connect_response->errors)) {
362
+ foreach ($connect_response->errors as $error) {
363
+ $this->renderNotice('Error: ' . $error);
364
+ }
365
+ } else {
366
+ $this->renderNotice('API communication error. Unable to disconnect facebook page.');
367
+ }
368
+ return false;
369
+ }
370
+ }
371
+
372
+ public function getPages()
373
+ {
374
+ $args = [
375
+ 'timeout' => 10,
376
+ 'headers' => [
377
+ 'Authorization' => $this->getToken()
378
+ ],
379
+ ];
380
+ $pagesObj = NULL;
381
+ $pages = [];
382
+ $response = wp_remote_get($this->getApiDomain() . '/api/facebook_pages/available_options?src=' . $this->getSrc(), $args);
383
+ $content = wp_remote_retrieve_body($response);
384
+ if (!empty($content)) {
385
+ $pagesObj = json_decode($content);
386
+
387
+ if (empty($pagesObj->errors)) {
388
+
389
+ foreach ($pagesObj->data as $page) {
390
+ $p = [
391
+ 'name' => $page->name,
392
+ 'remote_id' => $page->remote_id,
393
+ 'id' => $page->facebook_page_id,
394
+ 'bot_id' => $page->bot_id,
395
+ 'bot_kind' => $page->bot_kind,
396
+ 'company_id' => $page->company_id,
397
+ 'path' => add_query_arg([
398
+ 'page' => $this->plugin_name,
399
+ 'connect' => $page->remote_id,
400
+ 'page_name' => $page->name
401
+ ], admin_url('admin.php')),
402
+ ];
403
+
404
+ $pages[] = $p;
405
+ }
406
+ }
407
+ }
408
+ $this->pages = $pages;
409
+
410
+ return $pages;
411
+ }
412
+
413
+ public function getActivePage($reset = false)
414
+ {
415
+
416
+ if (!$reset && !empty($this->active_page)) {
417
+ return $this->active_page;
418
+ }
419
+
420
+ $activePage = [];
421
+ $pages = $this->getPages();
422
+ $options = get_option('htcc_options', array());
423
+ $active_remote_page_id = $options['fb_page_id'];
424
+
425
+ foreach ($pages as $page) {
426
+ if ($active_remote_page_id == $page['remote_id']) {
427
+ $activePage['remote_id'] = $page['remote_id'];
428
+ $activePage['bot_id'] = $page['bot_id'];
429
+ $activePage['name'] = $page['name'];
430
+ $activePage['id'] = $page['id'];
431
+ $activePage['path'] = add_query_arg([
432
+ 'page' => $this->plugin_name,
433
+ 'disconnect' => $page['id'],
434
+ ], admin_url('admin.php'));
435
+
436
+ update_option($this->option_prefix . 'active_page_remote_id', $page['remote_id']);
437
+ $this->setActivePageId($page['id']);
438
+ $this->setActiveBotId($page['bot_id']);
439
+ break;
440
+ }
441
+ }
442
+
443
+ $this->active_page = $activePage;
444
+ return $activePage;
445
+ }
446
+
447
+ public function sendUserEmail()
448
+ {
449
+ if (function_exists('wp_get_current_user')) {
450
+ $current_user = wp_get_current_user();
451
+ }
452
+ if (!empty($current_user->user_email)) {
453
+ $user_email = $current_user->user_email;
454
+ } else {
455
+ $user_email = get_option('admin_email', '');
456
+ }
457
+
458
+ $args = [
459
+ 'timeout' => 10,
460
+ 'headers' => [
461
+ 'Authorization' => $this->getToken(),
462
+ 'Content-Type' => 'application/json',
463
+ ],
464
+ 'body' => json_encode([
465
+ 'user' => [
466
+ "wp_email" => $user_email,
467
+ ],
468
+ 'src' => $this->getSrc(),
469
+ ]),
470
+ 'method' => 'PUT',
471
+ ];
472
+
473
+ $response = wp_remote_request($this->getApiDomain() . '/api/user/', $args);
474
+ $content = wp_remote_retrieve_body($response);
475
+ $connect_response = json_decode($content);
476
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
477
+ // Email successfully sent
478
+ } elseif ($connect_response->error_code) {
479
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
480
+ if (!empty($connect_response->errors)) {
481
+ foreach ($connect_response->errors as $error) {
482
+ $this->renderNotice('Error: ' . $error);
483
+ }
484
+ }
485
+ } elseif (!empty($connect_response->errors)) {
486
+ foreach ($connect_response->errors as $error) {
487
+ $this->renderNotice('Error: ' . $error);
488
+ }
489
+ } else {
490
+ $this->renderNotice('API communication error. Unable to send user email.');
491
+ }
492
+ }
493
+
494
+ public function getWelcomeMessage($remote_id)
495
+ {
496
+ $args = [
497
+ 'timeout' => 10,
498
+ 'headers' => [
499
+ 'Authorization' => $this->getToken(),
500
+ 'Content-Type' => 'application/json',
501
+ ]
502
+ ];
503
+
504
+ $response = wp_remote_get($this->getApiDomain() . 'api/wordpress_settings/welcome_message?fb_page_remote_id=' . $remote_id . '&v=' . HTCC_VERSION, $args);
505
+ $content = wp_remote_retrieve_body($response);
506
+ $connect_response = json_decode($content);
507
+
508
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
509
+ return str_replace('"', '', $content);
510
+ } elseif ($connect_response->error_code) {
511
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
512
+ if (!empty($connect_response->errors)) {
513
+ foreach ($connect_response->errors as $error) {
514
+ $this->renderNotice('Error: ' . $error);
515
+ }
516
+ }
517
+ } elseif (!empty($connect_response->errors)) {
518
+ foreach ($connect_response->errors as $error) {
519
+ $this->renderNotice('Error: ' . $error);
520
+ }
521
+ } else {
522
+ $this->renderNotice('API communication error. Unable to receive Welcome Message');
523
+ }
524
+ }
525
+
526
+ public function updateWelcomeMessage($new_welcome_message, $fb_page_id)
527
+ {
528
+ $args = [
529
+ 'timeout' => 10,
530
+ 'headers' => [
531
+ 'Authorization' => $this->getToken(),
532
+ 'Content-Type' => 'application/json',
533
+ ],
534
+ 'body' => json_encode([
535
+ 'body' => $new_welcome_message,
536
+ 'fb_page_remote_id' => $fb_page_id
537
+ ]),
538
+ 'method' => 'PUT',
539
+ ];
540
+ $response = wp_remote_request($this->getApiDomain() . 'api/wordpress_settings/welcome_message?v=' . HTCC_VERSION, $args);
541
+ $content = wp_remote_retrieve_body($response);
542
+ $connect_response = json_decode($content);
543
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
544
+ // Succesfully updated welcome message for $options['fb_page_id'] page
545
+ } elseif ($connect_response->error_code) {
546
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
547
+ if (!empty($connect_response->errors)) {
548
+ foreach ($connect_response->errors as $error) {
549
+ $this->renderNotice('Error: ' . $error);
550
+ }
551
+ }
552
+ } elseif (!empty($connect_response->errors)) {
553
+ foreach ($connect_response->errors as $error) {
554
+ $this->renderNotice('Error: ' . $error);
555
+ }
556
+ } else {
557
+ $this->renderNotice('API communication error. Unable to Update Welcome Message');
558
+ }
559
+
560
+ }
561
+
562
+ public function updateLanguage($new_language, $fb_page_id)
563
+ {
564
+ $args = [
565
+ 'timeout' => 10,
566
+ 'headers' => [
567
+ 'Authorization' => $this->getToken(),
568
+ 'Content-Type' => 'application/json',
569
+ ],
570
+ 'body' => json_encode([
571
+ 'language' => $new_language,
572
+ 'fb_page_remote_id' => $fb_page_id
573
+ ]),
574
+ 'method' => 'PUT',
575
+ ];
576
+
577
+ $response = wp_remote_request($this->getApiDomain() . 'api/wordpress_settings/language?v=' . HTCC_VERSION, $args);
578
+ $content = wp_remote_retrieve_body($response);
579
+ $connect_response = json_decode($content);
580
+
581
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
582
+ } elseif ($connect_response->error_code) {
583
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
584
+ if (!empty($connect_response->errors)) {
585
+ foreach ($connect_response->errors as $error) {
586
+ $this->renderNotice('Error: ' . $error);
587
+ }
588
+ }
589
+ } elseif (!empty($connect_response->errors)) {
590
+ foreach ($connect_response->errors as $error) {
591
+ $this->renderNotice('Error: ' . $error);
592
+ }
593
+ } else {
594
+ $this->renderNotice('API communication error. Unable to update Language');
595
+ }
596
+
597
+ }
598
+
599
+ public function getLanguage($remote_id)
600
+ {
601
+ $args = [
602
+ 'timeout' => 10,
603
+ 'headers' => [
604
+ 'Authorization' => $this->getToken(),
605
+ 'Content-Type' => 'application/json',
606
+ ]
607
+ ];
608
+
609
+ $response = wp_remote_get($this->getApiDomain() . 'api/wordpress_settings/language?fb_page_remote_id=' . $remote_id . '&v=' . HTCC_VERSION, $args);
610
+ $content = wp_remote_retrieve_body($response);
611
+ $connect_response = json_decode($content);
612
+
613
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
614
+ return str_replace('"', '', $content);
615
+ } elseif ($connect_response->error_code) {
616
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
617
+ if (!empty($connect_response->errors)) {
618
+ foreach ($connect_response->errors as $error) {
619
+ $this->renderNotice('Error: ' . $error);
620
+ }
621
+ }
622
+ } elseif (!empty($connect_response->errors)) {
623
+ foreach ($connect_response->errors as $error) {
624
+ $this->renderNotice('Error: ' . $error);
625
+ }
626
+ } else {
627
+ $this->renderNotice('API communication error. Unable to get Language');
628
+ }
629
+ }
630
+
631
+ public function getWidgets($remote_id)
632
+ {
633
+ $args = [
634
+ 'timeout' => 10,
635
+ 'headers' => [
636
+ 'Authorization' => $this->getToken(),
637
+ 'Content-Type' => 'application/json',
638
+ ]
639
+ ];
640
+
641
+ $response = wp_remote_get($this->getApiDomain() . 'api/wordpress_settings/answering_service?fb_page_remote_id=' . $remote_id . '&v=' . HTCC_VERSION, $args);
642
+ $content = wp_remote_retrieve_body($response);
643
+ $connect_response = json_decode($content);
644
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
645
+ return json_decode($content);
646
+ } elseif ($connect_response->error_code) {
647
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
648
+ if (!empty($connect_response->errors)) {
649
+ foreach ($connect_response->errors as $error) {
650
+ $this->renderNotice('Error: ' . $error);
651
+ }
652
+ }
653
+ } elseif (!empty($connect_response->errors)) {
654
+ foreach ($connect_response->errors as $error) {
655
+ $this->renderNotice('Error: ' . $error);
656
+ }
657
+ } else {
658
+ return false;
659
+ }
660
+ }
661
+
662
+ public function updateWidgets($object)
663
+ {
664
+ $argsas = json_decode(json_encode($object->config), true);
665
+ $args = [
666
+ 'timeout' => 10,
667
+ 'headers' => [
668
+ 'Authorization' => $this->getToken(),
669
+ 'Content-Type' => 'application/json',
670
+ ],
671
+ 'body' => json_encode(['config' => $argsas, 'src' => 'wordpress']),
672
+ 'method' => 'PATCH',
673
+ ];
674
+ $response = wp_remote_request($this->getApiDomain() . 'api/widgets/' . $object->id . '', $args);
675
+ $content = wp_remote_retrieve_body($response);
676
+ $connect_response = json_decode($content);
677
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
678
+ return $response;
679
+ } elseif ($connect_response->error_code) {
680
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
681
+ if (!empty($connect_response->errors)) {
682
+ foreach ($connect_response->errors as $error) {
683
+ $this->renderNotice('Error: ' . $error);
684
+ }
685
+ }
686
+ } elseif (!empty($connect_response->errors)) {
687
+ foreach ($connect_response->errors as $error) {
688
+ $this->renderNotice('Error: ' . $error);
689
+ }
690
+ } else {
691
+ $this->renderNotice('API communication error. Unable to update Widgets.');
692
+ }
693
+
694
+ }
695
+
696
+ public function getBotRef($bot_id)
697
+ {
698
+ $args = [
699
+ 'timeout' => 10,
700
+ 'headers' => [
701
+ 'Authorization' => $this->getToken(),
702
+ 'Content-Type' => 'application/json; charset=utf-8',
703
+ ],
704
+ 'method' => 'GET',
705
+ ];
706
+ $response = wp_remote_post($this->getApiDomain() . 'api/bots/' . $bot_id, $args);
707
+ $content = wp_remote_retrieve_body($response);
708
+ $connect_response = json_decode($content);
709
+ if (isset($response["response"]["code"]) && $response["response"]["code"] == 200) {
710
+ return $connect_response;
711
+ } elseif ($connect_response->error_code) {
712
+ $this->renderNotice('Error code: ' . $connect_response->error_code);
713
+ if (!empty($connect_response->errors)) {
714
+ foreach ($connect_response->errors as $error) {
715
+ $this->renderNotice('Error: ' . $error);
716
+ }
717
+ }
718
+ } elseif (!empty($connect_response->errors)) {
719
+ foreach ($connect_response->errors as $error) {
720
+ $this->renderNotice('Error: ' . $error);
721
+ }
722
+ } else {
723
+ $this->renderNotice('API communication error. Unable to receive BotRef.');
724
+ }
725
+ }
726
+
727
+ public function getEnv()
728
+ {
729
+
730
+ $args = [
731
+ 'timeout' => 10,
732
+ 'headers' => [
733
+ 'Authorization' => $this->getToken(),
734
+ ],
735
+ ];
736
+ $response = wp_remote_get($this->getApiDomain() . '/api/env/', $args);
737
+ $content = wp_remote_retrieve_body($response);
738
+ if (!empty($content)) {
739
+
740
+ $env = json_decode($content);
741
+
742
+ if (json_last_error() !== JSON_ERROR_NONE) {
743
+ $this->renderNotice('API communication error. Please try again later.');
744
+ } elseif (!empty($env->errors)) {
745
+ $this->renderNotice('API communication error. Please try again later.');
746
+ } else {
747
+ $this->env = $env;
748
+
749
+ $options = get_option('htcc_options', array());
750
+ $options['fb_app_id'] = $this->env->fb_app_id;
751
+ update_option('htcc_options', $options);
752
+
753
+ $this->setEnvironment($env);
754
+
755
+ return $env;
756
+ }
757
+ }
758
+
759
+ return false;
760
+ }
761
+
762
+ private function renderNotice($text)
763
+ {
764
+ $setting_page_args = [
765
+ 'text' => $text,
766
+ ];
767
+ HT_CC::view('ht-cc-admin-fb-button-notice', $setting_page_args);
768
+ }
769
+
770
+ public function debug()
771
+ {
772
+ $options = [];
773
+ $options['token'] = get_option($this->option_prefix . 'token');
774
+ $options['company_id'] = get_option($this->option_prefix . 'company_id');
775
+ $options['active_page_id'] = get_option($this->option_prefix . 'active_page_id');
776
+ $options['active_page_remote_id'] = get_option($this->option_prefix . 'active_page_remote_id');
777
+ $options['active_bot'] = get_option($this->option_prefix . 'active_bot');
778
+ $options['environment'] = get_option($this->option_prefix . 'environment');
779
+ $options['htcc_options'] = get_option('htcc_options');
780
+ return var_dump($options);
781
+ }
782
+
783
+ private function setContacts($data)
784
+ {
785
+ $this->contacts = $data;
786
+ }
787
+
788
+ public function getContacts()
789
+ {
790
+ if (empty($this->contacts)) {
791
+ $this->getData();
792
+ }
793
+ return $this->contacts;
794
+ }
795
+
796
+ private function setPagination($data)
797
+ {
798
+ $this->pagination = $data;
799
+ }
800
+
801
+ public function getPagination()
802
+ {
803
+ if (empty($this->pagination)) {
804
+ $this->getData();
805
+ }
806
+ return $this->pagination;
807
+ }
808
+
809
+ private function getArgs()
810
+ {
811
+ $get = [
812
+ 'page' => 1,
813
+ 'pre_page' => 25,
814
+ 'sort_column' => 'created_at',
815
+ 'sort_direction' => 'desc',
816
+ ];
817
+
818
+ $paged = filter_input(INPUT_GET, "paged", FILTER_SANITIZE_STRING);
819
+ if (!empty($paged)) {
820
+ $get['page'] = $paged;
821
+ }
822
+
823
+ $orderby = filter_input(INPUT_GET, "orderby", FILTER_SANITIZE_STRING);
824
+ if (!empty($orderby)) {
825
+ $get['sort_column'] = $orderby;
826
+ }
827
+
828
+ $order = filter_input(INPUT_GET, "order", FILTER_SANITIZE_STRING);
829
+ if (!empty($order)) {
830
+ $get['sort_direction'] = $order;
831
+ }
832
+
833
+ return $get;
834
+
835
+ }
836
+
837
+ private function getData()
838
+ {
839
+ $get = $this->getArgs();
840
+
841
+ $args = [
842
+ 'timeout' => 10,
843
+ 'headers' => [
844
+ 'Authorization' => $this->getToken(),
845
+ ],
846
+ ];
847
+
848
+ $activePageId = $this->getActivePageId();
849
+
850
+ $response = wp_remote_get($this->getApiDomain() . 'api/facebook_pages/' . $activePageId . '/contacts?page=' . $get['page'] . '&per_page=' . $get['pre_page'] . '&sort_column=' . $get['sort_column'] . '&sort_direction=' . $get['sort_direction'] . '&src=' . $this->getSrc(), $args);
851
+ $content = wp_remote_retrieve_body($response);
852
+ if (!empty($content)) {
853
+ $contacts = json_decode($content);
854
+ $this->setContacts($contacts->contacts);
855
+ $this->setPagination($contacts->pagination);
856
+ }
857
+ }
858
  }
inc/class-ht-cc.php CHANGED
@@ -1,247 +1,251 @@
1
- <?php
2
- /**
3
- * Starter..
4
- *
5
- * Include files - admin - front end
6
- *
7
- * add hooks
8
- *
9
- * added variable to declare other instance if needed
10
- * ( in some cases in this plugin, using static methods and calling with out creating instance )
11
- *
12
- * @since 2.2
13
- */
14
-
15
- if ( ! defined( 'ABSPATH' ) ) exit;
16
-
17
- if ( ! class_exists( 'HT_CC' ) ) :
18
-
19
- class HT_CC {
20
-
21
- /**
22
- * HTCC_VERSION
23
- *
24
- * plugin version
25
- * no need to call this using instance..
26
- * call using 'constanct'
27
- *
28
- * out side of this class @use defined constant
29
- * HTCC_VERSION
30
- *
31
- * @uses to define constant - HTCC_VERSION
32
- *
33
- * @var float
34
- *
35
- * if Version changed dont forgot to change in plugin header content
36
- * wp-chatbot.php - Version
37
- */
38
- // directly using with constant ..
39
- // private $version = '3.5';
40
-
41
-
42
- /**
43
- * singleton instance
44
- *
45
- * @var HT_CC
46
- */
47
- private static $instance = null;
48
-
49
-
50
- /**
51
- * ht-cc-ismobile - ismobile - yes ? no
52
- *
53
- * @var int if mobile, tab .. then 1, else 2
54
- */
55
- public $device_type;
56
-
57
-
58
- /**
59
- * instance of HT_CC_Variables
60
- *
61
- * database values , .. . options ..
62
- *
63
- * @var HT_CC_Variables
64
- */
65
- public $variables = null;
66
-
67
-
68
- /**
69
- * main instance - HT_CCW
70
- *
71
- * @return HT_CCW instance
72
- * @since 1.0
73
- */
74
- public static function instance() {
75
- if ( is_null( self::$instance ) ) {
76
- self::$instance = new self();
77
- }
78
- return self::$instance;
79
- }
80
-
81
-
82
- public function __clone() {
83
- wc_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'click-to-chat-for-whatsapp' ), '1.0' );
84
- }
85
-
86
- public function __wakeup() {
87
- wc_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'click-to-chat-for-whatsapp' ), '1.0' );
88
- }
89
-
90
-
91
-
92
- /**
93
- * constructor
94
- * calling to - includes - which include files
95
- * calling to - hooks - which run hooks
96
- */
97
- public function __construct() {
98
- $this->define_constants();
99
-
100
- $this->basic();
101
-
102
- $this->includes();
103
- $this->hooks();
104
- }
105
-
106
-
107
- /**
108
- * add the basic things
109
- *
110
- * calling this before include, initilize other things
111
- *
112
- * because this things may useful before initilize other things
113
- *
114
- * e.g. include, initialize files based on device, user settings
115
- */
116
- private function basic() {
117
-
118
- require_once HTCC_PLUGIN_DIR .'inc/commons/class-ht-cc-ismobile.php';
119
- require_once HTCC_PLUGIN_DIR .'inc/commons/class-ht-cc-variables.php';
120
-
121
- $this->device_type = new HT_CC_IsMobile();
122
- $this->variables = new HT_CC_Variables();
123
-
124
- }
125
-
126
-
127
- /**
128
- * Define Constants
129
- *
130
- * @return void
131
- */
132
- private function define_constants() {
133
-
134
- // $this->define( 'HTCC_VERSION', $this->version );
135
-
136
- $this->define( 'HTCC_WP_MIN_VERSION', '4.6' );
137
-
138
- $this->define( 'HTCC_PLUGIN_DIR', plugin_dir_path( HTCC_PLUGIN_FILE ) );
139
- $this->define( 'HTCC_PLUGIN_BASENAME', plugin_basename( HTCC_PLUGIN_FILE ) );
140
-
141
- $this->define( 'HTCC_PLUGIN_MAIN_MENU', 'wp-chatbot' );
142
- $this->define( 'HTCC_PLUGIN_LICENSE_MENU', 'wp-chatbot-license' );
143
-
144
- $this->define( 'HTCC_SL_STORE_URL', 'https://www.holithemes.com/shop/' );
145
- $this->define( 'HTCC_SL_ITEM_ID', 272 );
146
-
147
- }
148
-
149
-
150
-
151
-
152
- /**
153
- * @uses this->define_constants
154
- *
155
- * @param string $name Constant name
156
- * @param string.. $value Constant value
157
- */
158
- private function define( $name, $value ) {
159
- if ( ! defined( $name ) ) {
160
- define( $name, $value );
161
- }
162
- }
163
-
164
-
165
-
166
-
167
- /**
168
- * include plugin file
169
- */
170
- private function includes() {
171
-
172
- // include in admin and front pages
173
- require_once HTCC_PLUGIN_DIR .'inc/class-htcc-register.php';
174
-
175
-
176
- // is_admin ? include file to admin area : include files to non-admin area
177
- if ( is_admin() ) {
178
- require_once HTCC_PLUGIN_DIR . 'admin/admin.php';
179
- } else {
180
- require_once HTCC_PLUGIN_DIR . 'inc/class-htcc-chatbot.php';
181
- require_once HTCC_PLUGIN_DIR . 'inc/class-htcc-shortcode.php';
182
-
183
- #premium
184
- if ( 'true' == HTCC_PRO ) {
185
- include_once HTCC_PLUGIN_DIR . 'inc/pro/class-htcc-pro.php';
186
- }
187
-
188
- }
189
- }
190
-
191
-
192
-
193
- /**
194
- * Register hooks - when plugin activate, deactivate, uninstall
195
- * commented deactivation, uninstall hook - its not needed as now
196
- *
197
- * plugins_loaded - Check Diff - uses when plugin updates.
198
- */
199
- private function hooks() {
200
-
201
- register_activation_hook( __FILE__, array( 'HTCC_Register', 'activate' ) );
202
- register_deactivation_hook( __FILE__, array( 'HTCC_Register', 'deactivate' ) );
203
- register_uninstall_hook(__FILE__, array( 'HTCC_Register', 'uninstall' ) );
204
-
205
-
206
- // initilaze classes
207
- if ( ! is_admin() ) {
208
- add_action( 'init', array( $this, 'init' ), 0 );
209
- }
210
-
211
- // settings page link
212
- add_filter( 'plugin_action_links_' . HTCC_PLUGIN_BASENAME, array( 'HTCC_Register', 'plugin_action_links' ) );
213
-
214
- // when plugin updated - check version diff
215
- add_action('plugins_loaded', array( 'HTCC_Register', 'plugin_update' ) );
216
-
217
- }
218
-
219
- public static function view($name, array $args = [])
220
- {
221
- $args = apply_filters('plugin_view_arguments', $args, $name);
222
-
223
- foreach ($args as $key => $val) {
224
- $$key = $val;
225
- }
226
-
227
- $file = HTCC_PLUGIN_DIR . 'admin/commons/' . $name . '.php';
228
-
229
- include($file);
230
- }
231
-
232
-
233
- /**
234
- * create instance
235
- * @uses this->hooks() - using init hook - priority 0
236
- */
237
- public function init() {
238
-
239
- // $this->variables = new HT_CCW_Variables();
240
-
241
- }
242
-
243
-
244
-
245
- }
246
-
 
 
 
 
247
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * Starter..
4
+ *
5
+ * Include files - admin - front end
6
+ *
7
+ * add hooks
8
+ *
9
+ * added variable to declare other instance if needed
10
+ * ( in some cases in this plugin, using static methods and calling with out creating instance )
11
+ *
12
+ * @since 2.2
13
+ */
14
+
15
+ if ( ! defined( 'ABSPATH' ) ) exit;
16
+
17
+ if ( ! class_exists( 'HT_CC' ) ) :
18
+
19
+ class HT_CC {
20
+
21
+ /**
22
+ * HTCC_VERSION
23
+ *
24
+ * plugin version
25
+ * no need to call this using instance..
26
+ * call using 'constanct'
27
+ *
28
+ * out side of this class @use defined constant
29
+ * HTCC_VERSION
30
+ *
31
+ * @uses to define constant - HTCC_VERSION
32
+ *
33
+ * @var float
34
+ *
35
+ * if Version changed dont forgot to change in plugin header content
36
+ * wp-chatbot.php - Version
37
+ */
38
+ // directly using with constant ..
39
+ // private $version = '3.5';
40
+
41
+
42
+ /**
43
+ * singleton instance
44
+ *
45
+ * @var HT_CC
46
+ */
47
+ private static $instance = null;
48
+
49
+
50
+ /**
51
+ * ht-cc-ismobile - ismobile - yes ? no
52
+ *
53
+ * @var int if mobile, tab .. then 1, else 2
54
+ */
55
+ public $device_type;
56
+
57
+
58
+ /**
59
+ * instance of HT_CC_Variables
60
+ *
61
+ * database values , .. . options ..
62
+ *
63
+ * @var HT_CC_Variables
64
+ */
65
+ public $variables = null;
66
+
67
+
68
+ /**
69
+ * main instance - HT_CCW
70
+ *
71
+ * @return HT_CCW instance
72
+ * @since 1.0
73
+ */
74
+ public static function instance() {
75
+ if ( is_null( self::$instance ) ) {
76
+ self::$instance = new self();
77
+ }
78
+ return self::$instance;
79
+ }
80
+
81
+
82
+ public function __clone() {
83
+ wc_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'click-to-chat-for-whatsapp' ), '1.0' );
84
+ }
85
+
86
+ public function __wakeup() {
87
+ wc_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'click-to-chat-for-whatsapp' ), '1.0' );
88
+ }
89
+
90
+
91
+
92
+ /**
93
+ * constructor
94
+ * calling to - includes - which include files
95
+ * calling to - hooks - which run hooks
96
+ */
97
+ public function __construct() {
98
+ $this->define_constants();
99
+
100
+ $this->basic();
101
+
102
+ $this->includes();
103
+ $this->hooks();
104
+ }
105
+
106
+
107
+ /**
108
+ * add the basic things
109
+ *
110
+ * calling this before include, initilize other things
111
+ *
112
+ * because this things may useful before initilize other things
113
+ *
114
+ * e.g. include, initialize files based on device, user settings
115
+ */
116
+ private function basic() {
117
+
118
+ require_once HTCC_PLUGIN_DIR .'inc/commons/class-ht-cc-ismobile.php';
119
+ require_once HTCC_PLUGIN_DIR .'inc/commons/class-ht-cc-variables.php';
120
+
121
+ $this->device_type = new HT_CC_IsMobile();
122
+ $this->variables = new HT_CC_Variables();
123
+
124
+ }
125
+
126
+
127
+ /**
128
+ * Define Constants
129
+ *
130
+ * @return void
131
+ */
132
+ private function define_constants() {
133
+
134
+ // $this->define( 'HTCC_VERSION', $this->version );
135
+
136
+ $this->define( 'HTCC_WP_MIN_VERSION', '4.6' );
137
+
138
+ $this->define( 'HTCC_PLUGIN_DIR', plugin_dir_path( HTCC_PLUGIN_FILE ) );
139
+ $this->define( 'HTCC_PLUGIN_BASENAME', plugin_basename( HTCC_PLUGIN_FILE ) );
140
+
141
+ $this->define( 'HTCC_PLUGIN_MAIN_MENU', 'wp-chatbot' );
142
+ $this->define( 'HTCC_PLUGIN_LICENSE_MENU', 'wp-chatbot-license' );
143
+
144
+ $this->define( 'HTCC_SL_STORE_URL', 'https://www.holithemes.com/shop/' );
145
+ $this->define( 'HTCC_SL_ITEM_ID', 272 );
146
+
147
+ }
148
+
149
+
150
+
151
+
152
+ /**
153
+ * @uses this->define_constants
154
+ *
155
+ * @param string $name Constant name
156
+ * @param string.. $value Constant value
157
+ */
158
+ private function define( $name, $value ) {
159
+ if ( ! defined( $name ) ) {
160
+ define( $name, $value );
161
+ }
162
+ }
163
+
164
+
165
+
166
+
167
+ /**
168
+ * include plugin file
169
+ */
170
+ private function includes() {
171
+
172
+ // include in admin and front pages
173
+ require_once HTCC_PLUGIN_DIR .'inc/class-htcc-register.php';
174
+
175
+
176
+ // is_admin ? include file to admin area : include files to non-admin area
177
+ if ( is_admin() ) {
178
+ require_once HTCC_PLUGIN_DIR . 'admin/admin.php';
179
+ require_once HTCC_PLUGIN_DIR . 'inc/class-htcc-test-chatbot.php';
180
+ } else {
181
+
182
+ require_once HTCC_PLUGIN_DIR . 'inc/MobileMonkeyApi.php';
183
+
184
+ require_once HTCC_PLUGIN_DIR . 'inc/class-htcc-chatbot.php';
185
+ require_once HTCC_PLUGIN_DIR . 'inc/class-htcc-shortcode.php';
186
+
187
+ #premium
188
+ if ( 'true' == HTCC_PRO ) {
189
+ include_once HTCC_PLUGIN_DIR . 'inc/pro/class-htcc-pro.php';
190
+ }
191
+
192
+ }
193
+ }
194
+
195
+
196
+
197
+ /**
198
+ * Register hooks - when plugin activate, deactivate, uninstall
199
+ * commented deactivation, uninstall hook - its not needed as now
200
+ *
201
+ * plugins_loaded - Check Diff - uses when plugin updates.
202
+ */
203
+ private function hooks() {
204
+
205
+ register_activation_hook( __FILE__, array( 'HTCC_Register', 'activate' ) );
206
+ register_deactivation_hook( __FILE__, array( 'HTCC_Register', 'deactivate' ) );
207
+ register_uninstall_hook(__FILE__, array( 'HTCC_Register', 'uninstall' ) );
208
+
209
+
210
+ // initilaze classes
211
+ if ( ! is_admin() ) {
212
+ add_action( 'init', array( $this, 'init' ), 0 );
213
+ }
214
+
215
+ // settings page link
216
+ add_filter( 'plugin_action_links_' . HTCC_PLUGIN_BASENAME, array( 'HTCC_Register', 'plugin_action_links' ) );
217
+
218
+ // when plugin updated - check version diff
219
+ add_action('plugins_loaded', array( 'HTCC_Register', 'plugin_update' ) );
220
+
221
+ }
222
+
223
+ public static function view($name, array $args = [])
224
+ {
225
+ $args = apply_filters('plugin_view_arguments', $args, $name);
226
+
227
+ foreach ($args as $key => $val) {
228
+ $$key = $val;
229
+ }
230
+
231
+ $file = HTCC_PLUGIN_DIR . 'admin/commons/' . $name . '.php';
232
+
233
+ include($file);
234
+ }
235
+
236
+
237
+ /**
238
+ * create instance
239
+ * @uses this->hooks() - using init hook - priority 0
240
+ */
241
+ public function init() {
242
+
243
+ // $this->variables = new HT_CCW_Variables();
244
+
245
+ }
246
+
247
+
248
+
249
+ }
250
+
251
  endif; // END class_exists check
inc/class-htcc-chatbot.php CHANGED
@@ -1,382 +1,372 @@
1
- <?php
2
- /**
3
- * check condtions to display messenger or not
4
- * get app id
5
- * get page id
6
- * and add it to script, div
7
- */
8
-
9
- if ( ! defined( 'ABSPATH' ) ) exit;
10
-
11
- if ( ! class_exists( 'HTCC_Chatbot' ) ) :
12
-
13
- class HTCC_Chatbot {
14
-
15
- // if sdk is not added then dont add - customer chat html content
16
- public $sdk_added = 'no';
17
- public $sdk_added_for_shortcode = 'no';
18
- public $sdk_load_time = '';
19
-
20
- /**
21
- * load Customer Chat SDK at header
22
- * if shortcode is used load sdk - even if hided based on other way.
23
- */
24
- public function chatbot() {
25
-
26
- // $htcc_options = get_option('htcc_options');
27
- $htcc_options = ht_cc()->variables->get_option;
28
-
29
- $fb_page_id = esc_attr( $htcc_options['fb_page_id'] );
30
- $fb_app_id = esc_attr( $htcc_options['fb_app_id'] );
31
- $log_events_value = esc_attr( $htcc_options['log_events'] );
32
- $fb_sdk_lang = esc_attr( $htcc_options['fb_sdk_lang'] );
33
- $fb_greeting_dialog_display = esc_attr( $htcc_options['greeting_dialog_display'] );
34
- $fb_greeting_dialog_delay = esc_attr( $htcc_options['greeting_dialog_delay'] );
35
- $fb_ref = esc_attr( $htcc_options['ref'] );
36
- $fb_color = esc_attr( $htcc_options['fb_color'] );
37
- $fb_greeting_login = esc_attr( $htcc_options['fb_greeting_login'] );
38
- $fb_greeting_logout = esc_attr( $htcc_options['fb_greeting_logout'] );
39
- $shortcode_name = esc_attr( $htcc_options['shortcode'] );
40
-
41
- $is_mobile = ht_cc()->device_type->is_mobile;
42
-
43
- $env = get_option('mobilemonkey_environment');
44
-
45
- /**
46
- * enable not equal to 1, means dont show the chat button.
47
- * so retun out of the page.
48
- *
49
- *
50
- * Deprecated
51
- *
52
- *
53
- */
54
- // if ( '1' !== $enable ) {
55
- // return;
56
- // }
57
-
58
-
59
-
60
- /**
61
- * shortocode can add or have to work only on singular pages ..
62
- *
63
- * so check for shortocode in singular post ..
64
- * if shortocode exists - load sdk - and dont load cc code ..
65
- *
66
- * and for not singular post .. or is shortcode not exist ..
67
- * then check for other conditions ..
68
- * and load sdk, cc code ..
69
- *
70
- */
71
-
72
- // check shortcode exists only on singular post .. if yes load sdk .. and dont load cc code
73
- if ( is_singular() ) {
74
-
75
- global $post;
76
- if ( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, $shortcode_name ) ) {
77
- // If shortcode is added in this page - add sdk.
78
-
79
- // this will be useful at $this->customer_chat()
80
- $this->sdk_added_for_shortcode = 'yes';
81
- }
82
- }
83
-
84
-
85
- /**
86
- * if shortcode is not added .. ( in singular post ) - then check for other conditons ..
87
- * if in a singular post - shortcode is added - then no need to check other conditons
88
- * as sdk is need for shortcode ..
89
- */
90
- if ( 'yes' !== $this->sdk_added_for_shortcode ) {
91
- // check for conditions that any thing is hiding
92
- // - other then place where shortcode added in singular posts
93
-
94
- // in pro version .. hide base on device will be handle by js
95
- // not equal to true
96
- if ( 'true' !== HTCC_PRO ) {
97
- // Hide based on Devices - Mobile, Desktop
98
- if ( 'yes' == $is_mobile ) {
99
- if ( isset( $htcc_options['hideon_mobile'] ) ) {
100
- return;
101
- }
102
- } else {
103
- if ( isset( $htcc_options['hideon_desktop'] ) ) {
104
- return;
105
- }
106
- }
107
- }
108
-
109
-
110
-
111
- // single post
112
- if ( is_single() && isset( $htcc_options['hideon_posts'] ) ) {
113
- return;
114
- }
115
-
116
- // single page - but not on home page, front page
117
- if ( is_page() && isset( $htcc_options['hideon_page'] ) ) {
118
- if ( ( !is_home() ) && ( !is_front_page() ) ) {
119
- return;
120
- }
121
- }
122
-
123
- if ( is_home() && isset( $htcc_options['hideon_homepage'] ) ) {
124
- return;
125
- }
126
-
127
- if ( is_front_page() && isset( $htcc_options['hideon_frontpage'] ) ) {
128
- return;
129
- }
130
-
131
- if ( is_category() && isset( $htcc_options['hideon_category'] ) ) {
132
- return;
133
- }
134
-
135
- if ( is_archive() && isset( $htcc_options['hideon_archive'] ) ) {
136
- return;
137
- }
138
-
139
- if ( is_404() && isset( $htcc_options['hideon_404'] ) ) {
140
- return;
141
- }
142
-
143
-
144
- $this_page_id = get_the_ID();
145
- $pages_list_tohide = $htcc_options['list_hideon_pages'];
146
- $pages_list_tohide_array = explode(',', $pages_list_tohide);
147
-
148
- if( ( is_single() || is_page() ) && in_array( $this_page_id, $pages_list_tohide_array ) ) {
149
- return;
150
- }
151
-
152
- // Hide styles on this catergorys - list
153
- $list_hideon_cat = $htcc_options['list_hideon_cat'];
154
-
155
- if( $list_hideon_cat ) {
156
- // Get current post Categorys list and create an array for that..
157
- $current_categorys_array = array();
158
- $current_categorys = get_the_category();
159
- foreach ( $current_categorys as $category ) {
160
- $current_categorys_array[] = strtolower($category->name);
161
- }
162
-
163
- $list_hideon_cat_array = explode(',', $list_hideon_cat);
164
-
165
- foreach ( $list_hideon_cat_array as $category ) {
166
- $category_trim = trim($category);
167
- if ( in_array( strtolower($category_trim), $current_categorys_array ) ) {
168
- return;
169
- }
170
- }
171
- }
172
- }
173
-
174
-
175
-
176
- $fb_sdk_src = "//connect.facebook.net/$fb_sdk_lang/sdk/xfbml.customerchat.js";
177
- // $fb_sdk_src = "https://connect.facebook.net/$fb_sdk_lang/sdk.js";
178
-
179
-
180
- // log events
181
- if ( 'yes' == $log_events_value && $fb_app_id !== $env->fb_app_id) {
182
- $log_events = true;
183
- } else {
184
- $log_events = false;
185
- }
186
-
187
-
188
- // update xfbml
189
- $xfbml = true;
190
- if ( 'true' == HTCC_PRO ) {
191
- // if pro set to false - parse form js after conditons check .. ..
192
- $xfbml = false;
193
- }
194
-
195
- // is_sdk_after_page_load
196
- // is_sdk_4_seconds
197
- $is_sdk_after_page_load = 'no';
198
- if ( isset( $htcc_options['is_sdk_after_page_load'] ) ) {
199
- $is_sdk_after_page_load = 'yes';
200
- }
201
-
202
- $sdk_load_time = '';
203
- $is_sdk_4_seconds = 'no';
204
- if ( isset( $htcc_options['is_sdk_4_seconds'] ) ) {
205
- $is_sdk_4_seconds = 'yes';
206
- $sdk_load_time = '4';
207
- }
208
-
209
-
210
- if ( isset( $htcc_options['sdk_load_time'] ) ) {
211
- $db_sdk_load_time = esc_attr( $htcc_options['sdk_load_time'] );
212
-
213
- // to avoud - if +2 is enabled and sdk_load_time value is empty.
214
- if ( '0.1' < $db_sdk_load_time ) {
215
- $sdk_load_time = $db_sdk_load_time;
216
- }
217
- }
218
-
219
- if ( 'yes' == $is_sdk_after_page_load && '0.1' <= $sdk_load_time ) {
220
- ?>
221
- <!-- Add Messenger - wp-chatbot - HoliThemes - https://www.holithemes.com/wp-chatbot -->
222
- <script>
223
- window.onload = function() {
224
- setTimeout(function(){
225
- htcc_load_fb_sdk();
226
- }, <?php echo $sdk_load_time ?> * 1000 );
227
- }
228
- function htcc_load_fb_sdk() {
229
- window.fbAsyncInit = function() {
230
- FB.init({
231
- appId : '<?php echo $fb_app_id ?>',
232
- autoLogAppEvents : <?php echo $log_events ? 'true' : 'false' ?>,
233
- xfbml : <?php echo $xfbml ? 'true' : 'false' ?>,
234
- version : 'v3.2'
235
- });
236
- };
237
-
238
- (function(d, s, id){
239
- var js, fjs = d.getElementsByTagName(s)[0];
240
- if (d.getElementById(id)) {return;}
241
- js = d.createElement(s); js.id = id;
242
- js.src = '<?php echo $fb_sdk_src ?>';
243
- fjs.parentNode.insertBefore(js, fjs);
244
- }(document, 'script', 'facebook-jssdk'));
245
- }
246
- </script>
247
- <!-- / Add Messenger - wp-chatbot - HoliThemes -->
248
- <?php
249
- } else {
250
- ?>
251
- <!-- Add Messenger - wp-chatbot - HoliThemes - https://www.holithemes.com/wp-chatbot -->
252
- <script>
253
- window.fbAsyncInit = function() {
254
- FB.init({
255
- appId : '<?php echo $fb_app_id ?>',
256
- autoLogAppEvents : <?php echo $log_events ? 'true' : 'false' ?>,
257
- xfbml : <?php echo $xfbml ? 'true' : 'false' ?>,
258
- version : 'v3.2'
259
- });
260
- };
261
-
262
- (function(d, s, id){
263
- var js, fjs = d.getElementsByTagName(s)[0];
264
- if (d.getElementById(id)) {return;}
265
- js = d.createElement(s); js.id = id;
266
- js.src = '<?php echo $fb_sdk_src ?>';
267
- fjs.parentNode.insertBefore(js, fjs);
268
- }(document, 'script', 'facebook-jssdk'));
269
- </script>
270
- <!-- / Add Messenger - wp-chatbot - HoliThemes -->
271
- <?php
272
- }
273
-
274
- // After sdk is added
275
- // for customer_chat(), var htcc_values
276
- $this->sdk_added = 'yes';
277
- $this->sdk_load_time = $sdk_load_time;
278
-
279
- }
280
-
281
-
282
-
283
- // cc code - customer chat code
284
- public function customer_chat() {
285
- // instead of adding the cc code in header added like this ..
286
- // can check more conditions as calling from footer .. woocommerce or so ...
287
-
288
- $htcc_options = ht_cc()->variables->get_option;
289
-
290
- $fb_page_id = esc_attr( $htcc_options['fb_page_id'] );
291
- $fb_greeting_dialog_display = esc_attr( $htcc_options['greeting_dialog_display'] );
292
- $fb_greeting_dialog_delay = esc_attr( $htcc_options['greeting_dialog_delay'] );
293
- $fb_ref = esc_attr( $htcc_options['ref'] );
294
- $fb_color = esc_attr( $htcc_options['fb_color'] );
295
- $fb_greeting_login = esc_attr( $htcc_options['fb_greeting_login'] );
296
- $fb_greeting_logout = esc_attr( $htcc_options['fb_greeting_logout'] );
297
-
298
-
299
-
300
- /**
301
- * update values for woocommerce selected pages
302
- *
303
- * placeholders .. these are final values that place in cc code ..
304
- * localize this values if need to use in js - Actions ..
305
- *
306
- */
307
- if ( 'true' == HTCC_PRO ) {
308
- include_once HTCC_PLUGIN_DIR . 'inc/pro/htcc-pro-woo.php';
309
- include_once HTCC_PLUGIN_DIR . 'inc/pro/htcc-pro-values.php';
310
- }
311
-
312
- // custom image - call this if sdk only..
313
- // call this before - checking sdk_added_for_shortcode
314
- if ( 'true' == HTCC_PRO ) {
315
- include_once HTCC_PLUGIN_DIR . 'inc/pro/htcc-pro-custom-image.php';
316
- }
317
-
318
-
319
- // make this check only after included - htcc-pro-values.php - using if statement
320
-
321
- // if sdk added for shortcode then this cc code not needed to add .. so return
322
- // cc code will added by shortocodes ..
323
- if ( 'yes' == $this->sdk_added_for_shortcode ) {
324
- return;
325
- }
326
- // if sdk added then only load this
327
- if ( 'no' == $this->sdk_added ) {
328
- return;
329
- }
330
-
331
-
332
-
333
-
334
- if ( 'true' == HTCC_PRO ) {
335
- ?>
336
-
337
- <!-- Add Messenger - wp-chatbot pro - HoliThemes - https://www.holithemes.com/wp-chatbot -->
338
- <div id="htcc-messenger" class="htcc-messenger">
339
-
340
- </div>
341
- <!-- / Add Messenger - wp-chatbot pro - HoliThemes -->
342
-
343
-
344
- <?php
345
- } else {
346
- ?>
347
-
348
- <!-- Add Messenger - wp-chatbot - HoliThemes - https://www.holithemes.com/wp-chatbot -->
349
- <div id="htcc-messenger" class="htcc-messenger">
350
- <div id="htcc-customerchat" class="fb-customerchat"
351
- page_id="<?php echo $fb_page_id ?>"
352
- theme_color="<?php echo $fb_color ?>"
353
- logged_in_greeting="<?php echo $fb_greeting_login ?>"
354
- logged_out_greeting="<?php echo $fb_greeting_logout ?>"
355
- ref="<?php echo $fb_ref ?>"
356
- greeting_dialog_display = "<?php echo $fb_greeting_dialog_display ?>"
357
- greeting_dialog_delay = "<?php echo $fb_greeting_dialog_delay ?>"
358
- >
359
- </div>
360
- </div>
361
- <!-- / Add Messenger - wp-chatbot - HoliThemes -->
362
-
363
- <?php
364
- }
365
-
366
-
367
-
368
- }
369
-
370
-
371
-
372
-
373
- }
374
-
375
-
376
-
377
- $chatbot = new HTCC_Chatbot();
378
- add_action( 'wp_head', array( $chatbot, 'chatbot' ), 1 );
379
- add_action( 'wp_footer', array( $chatbot, 'customer_chat' ) );
380
-
381
-
382
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * check condtions to display messenger or not
4
+ * get app id
5
+ * get page id
6
+ * and add it to script, div
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) exit;
10
+
11
+ if ( ! class_exists( 'HTCC_Chatbot' ) ) :
12
+
13
+ class HTCC_Chatbot {
14
+
15
+ // if sdk is not added then dont add - customer chat html content
16
+ public $sdk_added = 'no';
17
+ public $sdk_added_for_shortcode = 'no';
18
+ public $sdk_load_time = '';
19
+
20
+ public $api;
21
+
22
+ public function __construct()
23
+ {
24
+ $this->api = new MobileMonkeyApi();
25
+ }
26
+
27
+ /**
28
+ * load Customer Chat SDK at header
29
+ * if shortcode is used load sdk - even if hided based on other way.
30
+ */
31
+ public function chatbot() {
32
+
33
+ // $htcc_options = get_option('htcc_options');
34
+ $htcc_options = ht_cc()->variables->get_option;
35
+
36
+ $fb_page_id = esc_attr( $htcc_options['fb_page_id'] );
37
+ $fb_app_id = esc_attr( $htcc_options['fb_app_id'] );
38
+ $log_events_value = esc_attr( $htcc_options['log_events'] );
39
+ $fb_sdk_lang = esc_attr( $htcc_options['fb_sdk_lang'] );
40
+ $fb_greeting_dialog_display = esc_attr( $htcc_options['greeting_dialog_display'] );
41
+ $fb_greeting_dialog_delay = esc_attr( $htcc_options['greeting_dialog_delay'] );
42
+ $fb_ref = esc_attr( $htcc_options['ref'] );
43
+ $fb_color = esc_attr( $htcc_options['fb_color'] );
44
+ $fb_greeting_login = esc_attr( $htcc_options['fb_greeting_login'] );
45
+ $fb_greeting_logout = esc_attr( $htcc_options['fb_greeting_logout'] );
46
+ $shortcode_name = esc_attr( $htcc_options['shortcode'] );
47
+
48
+ $is_mobile = ht_cc()->device_type->is_mobile;
49
+
50
+ /**
51
+ * shortocode can add or have to work only on singular pages ..
52
+ *
53
+ * so check for shortocode in singular post ..
54
+ * if shortocode exists - load sdk - and dont load cc code ..
55
+ *
56
+ * and for not singular post .. or is shortcode not exist ..
57
+ * then check for other conditions ..
58
+ * and load sdk, cc code ..
59
+ *
60
+ */
61
+
62
+ // check shortcode exists only on singular post .. if yes load sdk .. and dont load cc code
63
+ if ( is_singular() ) {
64
+
65
+ global $post;
66
+ if ( is_a( $post, 'WP_Post' ) && has_shortcode( $post->post_content, $shortcode_name ) ) {
67
+ // If shortcode is added in this page - add sdk.
68
+
69
+ // this will be useful at $this->customer_chat()
70
+ $this->sdk_added_for_shortcode = 'yes';
71
+ }
72
+ }
73
+
74
+
75
+ /**
76
+ * if shortcode is not added .. ( in singular post ) - then check for other conditons ..
77
+ * if in a singular post - shortcode is added - then no need to check other conditons
78
+ * as sdk is need for shortcode ..
79
+ */
80
+ if ( 'yes' !== $this->sdk_added_for_shortcode ) {
81
+ // check for conditions that any thing is hiding
82
+ // - other then place where shortcode added in singular posts
83
+
84
+ // in pro version .. hide base on device will be handle by js
85
+ // not equal to true
86
+ if ( 'true' !== HTCC_PRO ) {
87
+ // Hide based on Devices - Mobile, Desktop
88
+ if ( 'yes' == $is_mobile ) {
89
+ if ( isset( $htcc_options['hideon_mobile'] ) ) {
90
+ return;
91
+ }
92
+ } else {
93
+ if ( isset( $htcc_options['hideon_desktop'] ) ) {
94
+ return;
95
+ }
96
+ }
97
+ }
98
+
99
+
100
+
101
+ // single post
102
+ if ( is_single() && isset( $htcc_options['hideon_posts'] ) ) {
103
+ return;
104
+ }
105
+
106
+ // single page - but not on home page, front page
107
+ if ( is_page() && isset( $htcc_options['hideon_page'] ) ) {
108
+ if ( ( !is_home() ) && ( !is_front_page() ) ) {
109
+ return;
110
+ }
111
+ }
112
+
113
+ if ( is_home() && isset( $htcc_options['hideon_homepage'] ) ) {
114
+ return;
115
+ }
116
+
117
+ if ( is_front_page() && isset( $htcc_options['hideon_frontpage'] ) ) {
118
+ return;
119
+ }
120
+
121
+ if ( is_category() && isset( $htcc_options['hideon_category'] ) ) {
122
+ return;
123
+ }
124
+
125
+ if ( is_archive() && isset( $htcc_options['hideon_archive'] ) ) {
126
+ return;
127
+ }
128
+
129
+ if ( is_404() && isset( $htcc_options['hideon_404'] ) ) {
130
+ return;
131
+ }
132
+
133
+
134
+ $this_page_id = get_the_ID();
135
+ $pages_list_tohide = $htcc_options['list_hideon_pages'];
136
+ $pages_list_tohide_array = explode(',', $pages_list_tohide);
137
+
138
+ if( ( is_single() || is_page() ) && in_array( $this_page_id, $pages_list_tohide_array ) ) {
139
+ return;
140
+ }
141
+
142
+ // Hide styles on this catergorys - list
143
+ $list_hideon_cat = $htcc_options['list_hideon_cat'];
144
+
145
+ if( $list_hideon_cat ) {
146
+ // Get current post Categorys list and create an array for that..
147
+ $current_categorys_array = array();
148
+ $current_categorys = get_the_category();
149
+ foreach ( $current_categorys as $category ) {
150
+ $current_categorys_array[] = strtolower($category->name);
151
+ }
152
+
153
+ $list_hideon_cat_array = explode(',', $list_hideon_cat);
154
+
155
+ foreach ( $list_hideon_cat_array as $category ) {
156
+ $category_trim = trim($category);
157
+ if ( in_array( strtolower($category_trim), $current_categorys_array ) ) {
158
+ return;
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+
165
+
166
+ $fb_sdk_src = "//connect.facebook.net/$fb_sdk_lang/sdk/xfbml.customerchat.js";
167
+ // $fb_sdk_src = "https://connect.facebook.net/$fb_sdk_lang/sdk.js";
168
+
169
+
170
+ // log events
171
+ if ( 'yes' == $log_events_value ) {
172
+ $log_events = true;
173
+ } else {
174
+ $log_events = false;
175
+ }
176
+
177
+
178
+ // update xfbml
179
+ $xfbml = true;
180
+ if ( 'true' == HTCC_PRO ) {
181
+ // if pro set to false - parse form js after conditons check .. ..
182
+ $xfbml = false;
183
+ }
184
+
185
+ // is_sdk_after_page_load
186
+ // is_sdk_4_seconds
187
+ $is_sdk_after_page_load = 'no';
188
+ if ( isset( $htcc_options['is_sdk_after_page_load'] ) ) {
189
+ $is_sdk_after_page_load = 'yes';
190
+ }
191
+
192
+ $sdk_load_time = '';
193
+ $is_sdk_4_seconds = 'no';
194
+ if ( isset( $htcc_options['is_sdk_4_seconds'] ) ) {
195
+ $is_sdk_4_seconds = 'yes';
196
+ $sdk_load_time = '4';
197
+ }
198
+
199
+
200
+ if ( isset( $htcc_options['sdk_load_time'] ) ) {
201
+ $db_sdk_load_time = esc_attr( $htcc_options['sdk_load_time'] );
202
+
203
+ // to avoud - if +2 is enabled and sdk_load_time value is empty.
204
+ if ( '0.1' < $db_sdk_load_time ) {
205
+ $sdk_load_time = $db_sdk_load_time;
206
+ }
207
+ }
208
+
209
+ if ( 'yes' == $is_sdk_after_page_load && '0.1' <= $sdk_load_time ) {
210
+ ?>
211
+ <!-- Add Messenger - wp-chatbot - HoliThemes - https://www.holithemes.com/wp-chatbot -->
212
+ <script>
213
+ window.onload = function() {
214
+ setTimeout(function(){
215
+ htcc_load_fb_sdk();
216
+ }, <?php echo $sdk_load_time ?> * 1000 );
217
+ }
218
+ function htcc_load_fb_sdk() {
219
+ window.fbAsyncInit = function() {
220
+ FB.init({
221
+ appId : '<?php echo $fb_app_id ?>',
222
+ autoLogAppEvents : <?php echo $log_events ? 'true' : 'false' ?>,
223
+ xfbml : <?php echo $xfbml ? 'true' : 'false' ?>,
224
+ version : 'v3.2'
225
+ });
226
+ };
227
+
228
+ (function(d, s, id){
229
+ var js, fjs = d.getElementsByTagName(s)[0];
230
+ if (d.getElementById(id)) {return;}
231
+ js = d.createElement(s); js.id = id;
232
+ js.src = '<?php echo $fb_sdk_src ?>';
233
+ fjs.parentNode.insertBefore(js, fjs);
234
+ }(document, 'script', 'facebook-jssdk'));
235
+ }
236
+ </script>
237
+ <!-- / Add Messenger - wp-chatbot - HoliThemes -->
238
+ <?php
239
+ } else {
240
+ ?>
241
+ <!-- Add Messenger - wp-chatbot - HoliThemes - https://www.holithemes.com/wp-chatbot -->
242
+ <script>
243
+ window.fbAsyncInit = function() {
244
+ FB.init({
245
+ appId : '<?php echo $fb_app_id ?>',
246
+ autoLogAppEvents : <?php echo $log_events ? 'true' : 'false' ?>,
247
+ xfbml : <?php echo $xfbml ? 'true' : 'false' ?>,
248
+ version : 'v3.2'
249
+ });
250
+ };
251
+
252
+ (function(d, s, id){
253
+ var js, fjs = d.getElementsByTagName(s)[0];
254
+ if (d.getElementById(id)) {return;}
255
+ js = d.createElement(s); js.id = id;
256
+ js.src = '<?php echo $fb_sdk_src ?>';
257
+ fjs.parentNode.insertBefore(js, fjs);
258
+ }(document, 'script', 'facebook-jssdk'));
259
+ </script>
260
+ <!-- / Add Messenger - wp-chatbot - HoliThemes -->
261
+ <?php
262
+ }
263
+
264
+ // After sdk is added
265
+ // for customer_chat(), var htcc_values
266
+ $this->sdk_added = 'yes';
267
+ $this->sdk_load_time = $sdk_load_time;
268
+
269
+ }
270
+
271
+
272
+
273
+ // cc code - customer chat code
274
+ public function customer_chat() {
275
+ // instead of adding the cc code in header added like this ..
276
+ // can check more conditions as calling from footer .. woocommerce or so ...
277
+
278
+ $htcc_options = ht_cc()->variables->get_option;
279
+
280
+ $fb_page_id = esc_attr( $htcc_options['fb_page_id'] );
281
+ $fb_greeting_dialog_display = esc_attr( $htcc_options['greeting_dialog_display'] );
282
+ $fb_greeting_dialog_delay = esc_attr( $htcc_options['greeting_dialog_delay'] );
283
+ $fb_ref = esc_attr( $htcc_options['ref'] );
284
+ $fb_color = esc_attr( $htcc_options['fb_color'] );
285
+ $fb_greeting_login = esc_attr( $htcc_options['fb_greeting_login'] );
286
+ $fb_greeting_logout = esc_attr( $htcc_options['fb_greeting_logout'] );
287
+
288
+
289
+
290
+ /**
291
+ * update values for woocommerce selected pages
292
+ *
293
+ * placeholders .. these are final values that place in cc code ..
294
+ * localize this values if need to use in js - Actions ..
295
+ *
296
+ */
297
+ if ( 'true' == HTCC_PRO ) {
298
+ include_once HTCC_PLUGIN_DIR . 'inc/pro/htcc-pro-woo.php';
299
+ include_once HTCC_PLUGIN_DIR . 'inc/pro/htcc-pro-values.php';
300
+ }
301
+
302
+ // custom image - call this if sdk only..
303
+ // call this before - checking sdk_added_for_shortcode
304
+ if ( 'true' == HTCC_PRO ) {
305
+ include_once HTCC_PLUGIN_DIR . 'inc/pro/htcc-pro-custom-image.php';
306
+ }
307
+
308
+
309
+ // make this check only after included - htcc-pro-values.php - using if statement
310
+
311
+ // if sdk added for shortcode then this cc code not needed to add .. so return
312
+ // cc code will added by shortocodes ..
313
+ if ( 'yes' == $this->sdk_added_for_shortcode ) {
314
+ return;
315
+ }
316
+ // if sdk added then only load this
317
+ if ( 'no' == $this->sdk_added ) {
318
+ return;
319
+ }
320
+
321
+
322
+
323
+
324
+ if ( 'true' == HTCC_PRO ) {
325
+ ?>
326
+
327
+ <!-- Add Messenger - wp-chatbot pro - HoliThemes - https://www.holithemes.com/wp-chatbot -->
328
+ <div id="htcc-messenger" class="htcc-messenger">
329
+
330
+ </div>
331
+ <!-- / Add Messenger - wp-chatbot pro - HoliThemes -->
332
+
333
+
334
+ <?php
335
+ } else {
336
+ ?>
337
+
338
+ <!-- Add Messenger - wp-chatbot - HoliThemes - https://www.holithemes.com/wp-chatbot -->
339
+ <div id="htcc-messenger" class="htcc-messenger">
340
+ <div id="htcc-customerchat" class="fb-customerchat"
341
+ page_id="<?php echo $fb_page_id ?>"
342
+ theme_color="<?php echo $fb_color ?>"
343
+ logged_in_greeting="<?php echo $fb_greeting_login ?>"
344
+ logged_out_greeting="<?php echo $fb_greeting_logout ?>"
345
+ ref="<?php echo $fb_ref ?>"
346
+ greeting_dialog_display = "<?php echo $fb_greeting_dialog_display ?>"
347
+ greeting_dialog_delay = "<?php echo $fb_greeting_dialog_delay ?>"
348
+ >
349
+ </div>
350
+ </div>
351
+ <!-- / Add Messenger - wp-chatbot - HoliThemes -->
352
+
353
+ <?php
354
+ }
355
+
356
+
357
+
358
+ }
359
+
360
+
361
+
362
+
363
+ }
364
+
365
+
366
+
367
+ $chatbot = new HTCC_Chatbot();
368
+ add_action( 'wp_head', array( $chatbot, 'chatbot' ), 1 );
369
+ add_action( 'wp_footer', array( $chatbot, 'customer_chat' ) );
370
+
371
+
 
 
 
 
 
 
 
 
 
 
372
  endif; // END class_exists check
inc/class-htcc-db.php CHANGED
@@ -1,91 +1,91 @@
1
- <?php
2
- /**
3
- * Database - values, default values ..
4
- * plugin details
5
- * plugin settings - options page
6
- */
7
-
8
- if ( ! defined( 'ABSPATH' ) ) exit;
9
-
10
- if ( ! class_exists( 'HTCC_db' ) ) :
11
-
12
- class HTCC_db {
13
-
14
-
15
- /**
16
- * Add plugin Details to db - wp_options table
17
- * Add plugin version to db - useful while updating plugin
18
- *
19
- * @uses class-htcc-register -> activate()
20
- * @return void
21
- */
22
- public static function db_plugin_details() {
23
-
24
- // plugin details
25
- $plugin_details = array(
26
- 'version' => HTCC_VERSION,
27
- );
28
-
29
- // Always use update_option - override new values .. don't preseve already existing values
30
- update_option( 'htcc_plugin_details', $plugin_details );
31
- }
32
-
33
-
34
-
35
-
36
- /**
37
- * options page - default values.
38
- *
39
- * @uses class-htcc-register -> activate()
40
- * @return void
41
- */
42
- public static function db_default_values() {
43
-
44
- /**
45
- * plugin details
46
- * name: htcc_options
47
- * @key enable - 1, means true. show the button.
48
- *
49
- * greeting_dialog_display - show, hide, fade
50
- * greeting_dialog_delay - number in seconds with in quotes
51
- *
52
- *
53
- * sdk_load_time - set time when to load sdk after page load..
54
- *
55
- * checkbox
56
- * is_sdk_after_page_load - if checked sdk will load after page load
57
- * is_sdk_4_seconds - if both checked - after page loaded, load sdk after 4 seconds
58
- */
59
- $values = array(
60
- // 'enable' => '1', Deprecated
61
- 'fb_page_id' => '',
62
- 'fb_app_id' => '',
63
- 'log_events' => 'no',
64
- 'fb_sdk_lang' => 'en_US',
65
-
66
- 'fb_color' => '',
67
- 'fb_greeting_login' => '',
68
- 'fb_greeting_logout' => '',
69
-
70
- 'list_hideon_pages' => '',
71
- 'list_hideon_cat' => '',
72
- 'shortcode' => 'chatbot',
73
-
74
- 'greeting_dialog_display' => '',
75
- 'greeting_dialog_delay' => '',
76
- 'ref' => '',
77
-
78
- 'sdk_load_time' => '4',
79
- );
80
-
81
- $db_values = get_option( 'htcc_options', array() );
82
- $update_values = array_merge($values, $db_values);
83
- update_option('htcc_options', $update_values);
84
- }
85
-
86
-
87
-
88
-
89
- }
90
-
91
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * Database - values, default values ..
4
+ * plugin details
5
+ * plugin settings - options page
6
+ */
7
+
8
+ if ( ! defined( 'ABSPATH' ) ) exit;
9
+
10
+ if ( ! class_exists( 'HTCC_db' ) ) :
11
+
12
+ class HTCC_db {
13
+
14
+
15
+ /**
16
+ * Add plugin Details to db - wp_options table
17
+ * Add plugin version to db - useful while updating plugin
18
+ *
19
+ * @uses class-htcc-register -> activate()
20
+ * @return void
21
+ */
22
+ public static function db_plugin_details() {
23
+
24
+ // plugin details
25
+ $plugin_details = array(
26
+ 'version' => HTCC_VERSION,
27
+ );
28
+
29
+ // Always use update_option - override new values .. don't preseve already existing values
30
+ update_option( 'htcc_plugin_details', $plugin_details );
31
+ }
32
+
33
+
34
+
35
+
36
+ /**
37
+ * options page - default values.
38
+ *
39
+ * @uses class-htcc-register -> activate()
40
+ * @return void
41
+ */
42
+ public static function db_default_values() {
43
+
44
+ /**
45
+ * plugin details
46
+ * name: htcc_options
47
+ * @key enable - 1, means true. show the button.
48
+ *
49
+ * greeting_dialog_display - show, hide, fade
50
+ * greeting_dialog_delay - number in seconds with in quotes
51
+ *
52
+ *
53
+ * sdk_load_time - set time when to load sdk after page load..
54
+ *
55
+ * checkbox
56
+ * is_sdk_after_page_load - if checked sdk will load after page load
57
+ * is_sdk_4_seconds - if both checked - after page loaded, load sdk after 4 seconds
58
+ */
59
+ $values = array(
60
+ // 'enable' => '1', Deprecated
61
+ 'fb_page_id' => '',
62
+ 'fb_app_id' => '',
63
+ 'log_events' => 'no',
64
+ 'fb_sdk_lang' => 'English',
65
+
66
+ 'fb_color' => '',
67
+ 'fb_greeting_login' => '',
68
+ 'fb_greeting_logout' => '',
69
+
70
+ 'list_hideon_pages' => '',
71
+ 'list_hideon_cat' => '',
72
+ 'shortcode' => 'chatbot',
73
+
74
+ 'greeting_dialog_display' => '',
75
+ 'greeting_dialog_delay' => '',
76
+ 'ref' => '',
77
+
78
+ 'sdk_load_time' => '4',
79
+ );
80
+
81
+ $db_values = get_option( 'htcc_options', array() );
82
+ $update_values = array_merge($values, $db_values);
83
+ update_option('htcc_options', $update_values);
84
+ }
85
+
86
+
87
+
88
+
89
+ }
90
+
91
  endif; // END class_exists check
inc/class-htcc-register.php CHANGED
@@ -1,107 +1,107 @@
1
- <?php
2
- /**
3
- * class htcc_register
4
- *
5
- * this class have methods to run when plugin
6
- * activate, deactivate, uninstall, update
7
- *
8
- * add values to Database - wp_options table
9
- * plugin details
10
- */
11
-
12
- if ( ! defined( 'ABSPATH' ) ) exit;
13
-
14
- if ( ! class_exists( 'HTCC_Register' ) ) :
15
-
16
- class HTCC_Register {
17
-
18
- /**
19
- * When plugin activate this function will call
20
- *
21
- * Check min wp version
22
- * calls self::db_plugin_details - add plugin details to db
23
- *
24
- * @since 1.0.0
25
- * @uses register_activation_hook
26
- *
27
- * @return void
28
- */
29
- public static function activate() {
30
-
31
- // check minimum version required to run this plugin
32
- if( version_compare( get_bloginfo('version'), HTCC_WP_MIN_VERSION, '<') ) {
33
- wp_die( 'please update WordPress' );
34
- }
35
-
36
- require_once HTCC_PLUGIN_DIR .'inc/class-htcc-db.php';
37
-
38
- // update plugin details to wp_options table
39
- HTCC_db::db_plugin_details();
40
-
41
- // default values
42
- HTCC_db::db_default_values();
43
-
44
-
45
- // premium
46
- if ( 'true' == HTCC_PRO ) {
47
- include_once HTCC_PLUGIN_DIR . 'inc/pro/class-htcc-pro-db.php';
48
- }
49
-
50
- }
51
-
52
- /**
53
- * When plugin deactivate
54
- * @since 1.0.0
55
- * @uses register_deactivation_hook
56
- * @return void
57
- */
58
- public static function deactivate() {
59
-
60
- }
61
-
62
- /**
63
- * When plugin uninstall ( delete )
64
- * @since 1.0.0
65
- * @uses register_uninstall_hook
66
- * @return void
67
- */
68
- public static function uninstall() {
69
-
70
- }
71
-
72
-
73
- /**
74
- * @uses action hook - plugins_loaded
75
- *
76
- * compare this content version with saved version in db
77
- * If version is different then run activate function
78
- *
79
- * @since 1.0.0
80
- *
81
- * @return void
82
- */
83
- public static function plugin_update() {
84
-
85
- $htcc_plugin_details = get_option('htcc_plugin_details');
86
-
87
- if ( HTCC_VERSION !== $htcc_plugin_details['version'] ) {
88
- // to update the plugin - just like activate plugin
89
- self::activate();
90
-
91
- }
92
- }
93
-
94
-
95
- // add settings page links in plugins page - at plugin
96
- public static function plugin_action_links( $links ) {
97
- $new_links = array(
98
- 'settings' => '<a href="' . admin_url( 'admin.php?page=wp-chatbot' ) . '">' . __( 'Settings' , 'wp-chatbot' ) . '</a>',
99
- );
100
-
101
- return array_merge( $new_links, $links );
102
- }
103
-
104
-
105
- }
106
-
107
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * class htcc_register
4
+ *
5
+ * this class have methods to run when plugin
6
+ * activate, deactivate, uninstall, update
7
+ *
8
+ * add values to Database - wp_options table
9
+ * plugin details
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) exit;
13
+
14
+ if ( ! class_exists( 'HTCC_Register' ) ) :
15
+
16
+ class HTCC_Register {
17
+
18
+ /**
19
+ * When plugin activate this function will call
20
+ *
21
+ * Check min wp version
22
+ * calls self::db_plugin_details - add plugin details to db
23
+ *
24
+ * @since 1.0.0
25
+ * @uses register_activation_hook
26
+ *
27
+ * @return void
28
+ */
29
+ public static function activate() {
30
+
31
+ // check minimum version required to run this plugin
32
+ if( version_compare( get_bloginfo('version'), HTCC_WP_MIN_VERSION, '<') ) {
33
+ wp_die( 'please update WordPress' );
34
+ }
35
+
36
+ require_once HTCC_PLUGIN_DIR .'inc/class-htcc-db.php';
37
+
38
+ // update plugin details to wp_options table
39
+ HTCC_db::db_plugin_details();
40
+
41
+ // default values
42
+ HTCC_db::db_default_values();
43
+
44
+
45
+ // premium
46
+ if ( 'true' == HTCC_PRO ) {
47
+ include_once HTCC_PLUGIN_DIR . 'inc/pro/class-htcc-pro-db.php';
48
+ }
49
+
50
+ }
51
+
52
+ /**
53
+ * When plugin deactivate
54
+ * @since 1.0.0
55
+ * @uses register_deactivation_hook
56
+ * @return void
57
+ */
58
+ public static function deactivate() {
59
+
60
+ }
61
+
62
+ /**
63
+ * When plugin uninstall ( delete )
64
+ * @since 1.0.0
65
+ * @uses register_uninstall_hook
66
+ * @return void
67
+ */
68
+ public static function uninstall() {
69
+
70
+ }
71
+
72
+
73
+ /**
74
+ * @uses action hook - plugins_loaded
75
+ *
76
+ * compare this content version with saved version in db
77
+ * If version is different then run activate function
78
+ *
79
+ * @since 1.0.0
80
+ *
81
+ * @return void
82
+ */
83
+ public static function plugin_update() {
84
+
85
+ $htcc_plugin_details = get_option('htcc_plugin_details');
86
+
87
+ if ( HTCC_VERSION !== $htcc_plugin_details['version'] ) {
88
+ // to update the plugin - just like activate plugin
89
+ self::activate();
90
+
91
+ }
92
+ }
93
+
94
+
95
+ // add settings page links in plugins page - at plugin
96
+ public static function plugin_action_links( $links ) {
97
+ $new_links = array(
98
+ 'settings' => '<a href="' . admin_url( 'admin.php?page=wp-chatbot' ) . '">' . __( 'Settings' , 'wp-chatbot' ) . '</a>',
99
+ );
100
+
101
+ return array_merge( $new_links, $links );
102
+ }
103
+
104
+
105
+ }
106
+
107
  endif; // END class_exists check
inc/class-htcc-shortcode.php CHANGED
@@ -1,152 +1,151 @@
1
- <?php
2
- /**
3
- * shortcodes
4
- * base shorcode name is [chat]
5
- * for list of attribute support check -> shortcode_atts ( $a )
6
- *
7
- * @package ccw
8
- * @since 1.0
9
- */
10
-
11
- if ( ! defined( 'ABSPATH' ) ) exit;
12
-
13
- if ( ! class_exists( 'HTCC_Shortcode' ) ) :
14
-
15
- class HTCC_Shortcode {
16
-
17
-
18
- function shortcode($atts = [], $content = null, $shortcode = '') {
19
-
20
- // let the script add - when shortcode added
21
- // ~ any how fb won't load the sdk second time ..
22
-
23
- // $htcc_options = get_option('htcc_options');
24
- $htcc_options = ht_cc()->variables->get_option;
25
-
26
- $is_mobile = ht_cc()->device_type->is_mobile;
27
-
28
-
29
- $fb_app_id = esc_attr( $htcc_options['fb_app_id'] );
30
- $fb_page_id = esc_attr( $htcc_options['fb_page_id'] );
31
- $fb_sdk_lang = esc_attr( $htcc_options['fb_sdk_lang'] );
32
- $fb_ref = esc_attr( $htcc_options['ref'] );
33
- $fb_color = esc_attr( $htcc_options['fb_color'] );
34
- $fb_greeting_login = esc_attr( $htcc_options['fb_greeting_login'] );
35
- $fb_greeting_logout = esc_attr( $htcc_options['fb_greeting_logout'] );
36
-
37
- $fb_greeting_dialog_display = esc_attr( $htcc_options['greeting_dialog_display'] );
38
- $fb_greeting_dialog_delay = esc_attr( $htcc_options['greeting_dialog_delay'] );
39
-
40
-
41
- $a = shortcode_atts(
42
- array(
43
- 'page_id' => $fb_page_id,
44
-
45
- 'color' => $fb_color,
46
- 'logged_in_greetings' => $fb_greeting_login,
47
- 'logged_out_greetings' => $fb_greeting_logout,
48
-
49
- 'greeting_dialog_display' => $fb_greeting_dialog_display,
50
- 'greeting_dialog_delay' => $fb_greeting_dialog_delay,
51
-
52
- 'ref' => $fb_ref,
53
-
54
- 'hide_mobile' => '',
55
- 'hide_desktop' => '',
56
-
57
- 'app_id' => $fb_app_id, // Deprecated
58
-
59
- ), $atts, $shortcode );
60
-
61
-
62
- $app_id = $a["app_id"];
63
- $page_id = $a["page_id"];
64
- $fb_color = $a["color"];
65
- $fb_greeting_login = $a["logged_in_greetings"];
66
- $fb_greeting_logout = $a["logged_out_greetings"];
67
-
68
- $greeting_dialog_display = $a["greeting_dialog_display"];
69
- $greeting_dialog_delay = $a["greeting_dialog_delay"];
70
-
71
- $ref = $a["ref"];
72
-
73
-
74
- // hide based on device
75
- $hide_mobile = $a["hide_mobile"];
76
- $hide_desktop = $a["hide_desktop"];
77
- // if set to true then hide. - here shortcode wont use main options
78
- if ( 'yes' == $is_mobile ) {
79
- if ( "true" == $hide_mobile ) {
80
- return;
81
- }
82
- } else {
83
- if ( "true" == $hide_desktop ) {
84
- return;
85
- }
86
- }
87
-
88
-
89
-
90
- // js.src = '//connect.facebook.net/$fb_sdk_lang/sdk/xfbml.customerchat.js';
91
- // js.src = 'https://connect.facebook.net/$fb_sdk_lang/sdk.js';
92
-
93
- $o = '';
94
- // $o .= "<script>
95
- // window.fbAsyncInit = function() {
96
- // FB.init({
97
- // appId : '$app_id',
98
- // autoLogAppEvents : true,
99
- // xfbml : true,
100
- // version : 'v3.2'
101
- // });
102
- // };
103
-
104
- // (function(d, s, id){
105
- // var js, fjs = d.getElementsByTagName(s)[0];
106
- // if (d.getElementById(id)) {return;}
107
- // js = d.createElement(s); js.id = id;
108
- // js.src = '//connect.facebook.net/$fb_sdk_lang/sdk/xfbml.customerchat.js';
109
- // fjs.parentNode.insertBefore(js, fjs);
110
- // }(document, 'script', 'facebook-jssdk'));
111
- // </script>";
112
-
113
-
114
- $o .= '';
115
- $o .= '<div id="htcc-messenger-shortcode" class="htcc-messenger htcc-shortcode">
116
- <div id="htcc-customerchat" class="fb-customerchat"
117
- page_id="'.$page_id.'"
118
- theme_color="' .$fb_color. '"
119
- logged_in_greeting="' .$fb_greeting_login. '"
120
- logged_out_greeting="' .$fb_greeting_logout. '"
121
- ref="'.$ref.'"
122
- greeting_dialog_display="'.$greeting_dialog_display.'"
123
- greeting_dialog_delay="'.$greeting_dialog_delay.'"
124
- >
125
- </div>
126
- </div>';
127
- $o .= '';
128
-
129
-
130
- return $o;
131
- }
132
-
133
-
134
- // Register shortcode
135
- function htcc_shortcodes_init() {
136
-
137
- $htcc_options = get_option('htcc_options');
138
-
139
- $shortcode_name = esc_attr( $htcc_options['shortcode'] );
140
-
141
- // add_shortcode('chatbot', array( $this, 'shortcode' ));
142
- add_shortcode( $shortcode_name, array( $this, 'shortcode' ) );
143
- }
144
-
145
-
146
- }
147
-
148
- $shortcode = new HTCC_Shortcode();
149
-
150
- add_action('init', array( $shortcode, 'htcc_shortcodes_init' ) );
151
-
152
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * shortcodes
4
+ * base shorcode name is [chat]
5
+ * for list of attribute support check -> shortcode_atts ( $a )
6
+ *
7
+ * @package ccw
8
+ * @since 1.0
9
+ */
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) exit;
12
+
13
+ if ( ! class_exists( 'HTCC_Shortcode' ) ) :
14
+
15
+ class HTCC_Shortcode {
16
+
17
+
18
+ function shortcode($atts = [], $content = null, $shortcode = '') {
19
+
20
+ // let the script add - when shortcode added
21
+ // ~ any how fb won't load the sdk second time ..
22
+
23
+ // $htcc_options = get_option('htcc_options');
24
+ $htcc_options = ht_cc()->variables->get_option;
25
+
26
+ $is_mobile = ht_cc()->device_type->is_mobile;
27
+
28
+ $fb_app_id = esc_attr( $htcc_options['fb_app_id'] );
29
+ $fb_page_id = esc_attr( $htcc_options['fb_page_id'] );
30
+ $fb_sdk_lang = esc_attr( $htcc_options['fb_sdk_lang'] );
31
+ $fb_ref = esc_attr( $htcc_options['ref'] );
32
+ $fb_color = esc_attr( $htcc_options['fb_color'] );
33
+ $fb_greeting_login = esc_attr( $htcc_options['fb_greeting_login'] );
34
+ $fb_greeting_logout = esc_attr( $htcc_options['fb_greeting_logout'] );
35
+
36
+ $fb_greeting_dialog_display = esc_attr( $htcc_options['greeting_dialog_display'] );
37
+ $fb_greeting_dialog_delay = esc_attr( $htcc_options['greeting_dialog_delay'] );
38
+
39
+
40
+ $a = shortcode_atts(
41
+ array(
42
+ 'page_id' => $fb_page_id,
43
+
44
+ 'color' => $fb_color,
45
+ 'logged_in_greetings' => $fb_greeting_login,
46
+ 'logged_out_greetings' => $fb_greeting_logout,
47
+
48
+ 'greeting_dialog_display' => $fb_greeting_dialog_display,
49
+ 'greeting_dialog_delay' => $fb_greeting_dialog_delay,
50
+
51
+ 'ref' => $fb_ref,
52
+
53
+ 'hide_mobile' => '',
54
+ 'hide_desktop' => '',
55
+
56
+ 'app_id' => $fb_app_id, // Deprecated
57
+
58
+ ), $atts, $shortcode );
59
+
60
+
61
+ $app_id = $a["app_id"];
62
+ $page_id = $a["page_id"];
63
+ $fb_color = $a["color"];
64
+ $fb_greeting_login = $a["logged_in_greetings"];
65
+ $fb_greeting_logout = $a["logged_out_greetings"];
66
+
67
+ $greeting_dialog_display = $a["greeting_dialog_display"];
68
+ $greeting_dialog_delay = $a["greeting_dialog_delay"];
69
+
70
+ $ref = $a["ref"];
71
+
72
+
73
+ // hide based on device
74
+ $hide_mobile = $a["hide_mobile"];
75
+ $hide_desktop = $a["hide_desktop"];
76
+ // if set to true then hide. - here shortcode wont use main options
77
+ if ( 'yes' == $is_mobile ) {
78
+ if ( "true" == $hide_mobile ) {
79
+ return;
80
+ }
81
+ } else {
82
+ if ( "true" == $hide_desktop ) {
83
+ return;
84
+ }
85
+ }
86
+
87
+
88
+
89
+ // js.src = '//connect.facebook.net/$fb_sdk_lang/sdk/xfbml.customerchat.js';
90
+ // js.src = 'https://connect.facebook.net/$fb_sdk_lang/sdk.js';
91
+
92
+ $o = '';
93
+ // $o .= "<script>
94
+ // window.fbAsyncInit = function() {
95
+ // FB.init({
96
+ // appId : '$app_id',
97
+ // autoLogAppEvents : true,
98
+ // xfbml : true,
99
+ // version : 'v3.2'
100
+ // });
101
+ // };
102
+
103
+ // (function(d, s, id){
104
+ // var js, fjs = d.getElementsByTagName(s)[0];
105
+ // if (d.getElementById(id)) {return;}
106
+ // js = d.createElement(s); js.id = id;
107
+ // js.src = '//connect.facebook.net/$fb_sdk_lang/sdk/xfbml.customerchat.js';
108
+ // fjs.parentNode.insertBefore(js, fjs);
109
+ // }(document, 'script', 'facebook-jssdk'));
110
+ // </script>";
111
+
112
+
113
+ $o .= '';
114
+ $o .= '<div id="htcc-messenger-shortcode" class="htcc-messenger htcc-shortcode">
115
+ <div id="htcc-customerchat" class="fb-customerchat"
116
+ page_id="'.$page_id.'"
117
+ theme_color="' .$fb_color. '"
118
+ logged_in_greeting="' .$fb_greeting_login. '"
119
+ logged_out_greeting="' .$fb_greeting_logout. '"
120
+ ref="'.$ref.'"
121
+ greeting_dialog_display="'.$greeting_dialog_display.'"
122
+ greeting_dialog_delay="'.$greeting_dialog_delay.'"
123
+ >
124
+ </div>
125
+ </div>';
126
+ $o .= '';
127
+
128
+
129
+ return $o;
130
+ }
131
+
132
+
133
+ // Register shortcode
134
+ function htcc_shortcodes_init() {
135
+
136
+ $htcc_options = get_option('htcc_options');
137
+
138
+ $shortcode_name = esc_attr( $htcc_options['shortcode'] );
139
+
140
+ // add_shortcode('chatbot', array( $this, 'shortcode' ));
141
+ add_shortcode( $shortcode_name, array( $this, 'shortcode' ) );
142
+ }
143
+
144
+
145
+ }
146
+
147
+ $shortcode = new HTCC_Shortcode();
148
+
149
+ add_action('init', array( $shortcode, 'htcc_shortcodes_init' ) );
150
+
 
151
  endif; // END class_exists check
inc/class-htcc-test-chatbot.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * check condtions to display messenger or not
4
+ * get app id
5
+ * get page id
6
+ * and add it to script, div
7
+ */
8
+
9
+ if (!defined('ABSPATH')) exit;
10
+
11
+ if (!class_exists('HTCC_Test_Chatbot')) :
12
+
13
+ class HTCC_Test_Chatbot
14
+ {
15
+
16
+ public $sdk_added = 'no';
17
+ public $sdk_load_time = '';
18
+
19
+ public $api;
20
+
21
+ public function __construct()
22
+ {
23
+ $this->api = new MobileMonkeyApi();
24
+ }
25
+
26
+ public function chatbot()
27
+ {
28
+
29
+ $htcc_options = ht_cc()->variables->get_option;
30
+ $fb_page_id = esc_attr($htcc_options['fb_page_id']);
31
+ $fb_app_id = esc_attr($htcc_options['fb_app_id']);
32
+ $fb_sdk_lang = esc_attr($htcc_options['fb_sdk_lang']);
33
+ $fb_greeting_dialog_display = esc_attr($htcc_options['greeting_dialog_display']);
34
+ $fb_greeting_dialog_delay = esc_attr($htcc_options['greeting_dialog_delay']);
35
+ $fb_ref = esc_attr($htcc_options['ref']);
36
+ $fb_color = esc_attr($htcc_options['fb_color']);
37
+ $fb_greeting_login = esc_attr($htcc_options['fb_greeting_login']);
38
+ $fb_greeting_logout = esc_attr($htcc_options['fb_greeting_logout']);
39
+ $is_mobile = ht_cc()->device_type->is_mobile;
40
+ $fb_sdk_src = "//connect.facebook.net/$fb_sdk_lang/sdk/xfbml.customerchat.js";
41
+ $xfbml = true;
42
+ if ('true' == HTCC_PRO) {
43
+ $xfbml = false;
44
+ }
45
+
46
+ $is_sdk_after_page_load = 'no';
47
+ if (isset($htcc_options['is_sdk_after_page_load'])) {
48
+ $is_sdk_after_page_load = 'yes';
49
+ }
50
+
51
+ $sdk_load_time = '';
52
+ $is_sdk_4_seconds = 'no';
53
+ if (isset($htcc_options['is_sdk_4_seconds'])) {
54
+ $is_sdk_4_seconds = 'yes';
55
+ $sdk_load_time = '4';
56
+ }
57
+
58
+
59
+ if (isset($htcc_options['sdk_load_time'])) {
60
+ $db_sdk_load_time = esc_attr($htcc_options['sdk_load_time']);
61
+ if ('0.1' < $db_sdk_load_time) {
62
+ $sdk_load_time = $db_sdk_load_time;
63
+ }
64
+ }
65
+
66
+ ?>
67
+ <!-- Add Messenger - wp-chatbot - HoliThemes - https://www.holithemes.com/wp-chatbot -->
68
+ <script>
69
+ window.onload = function () {
70
+ jQuery(document).ready(function ($) {
71
+
72
+ window.fbAsyncInit = function () {
73
+ FB.init({
74
+ appId: '<?php echo $fb_app_id ?>',
75
+ autoLogAppEvents: false,
76
+ xfbml: true,
77
+ version: 'v3.2'
78
+ });
79
+ FB.Event.subscribe('send_to_messenger', function(e) {
80
+ if (e.event === 'opt_in'){
81
+ $('.test-bot-button').hide();
82
+ $('.testchat').show();
83
+ $("#htcc-messenger").remove();
84
+ $("#htcc-customerchat").remove();
85
+ $(".fb_dialog").remove();
86
+ $("body").append("<div id='htcc-messenger' class='htcc-messenger'><div id='htcc-customerchat' class='fb-customerchat' greeting_dialog_delay='1' greeting_dialog_display='show' page_id='<?php echo $fb_page_id ?>' ref='<?php echo $fb_ref ?>'> </div></div>");
87
+ FB.XFBML.parse($("#htcc-messenger").ref);
88
+ $('.testchat').on('click',function () {
89
+ FB.XFBML.parse($("#htcc-messenger").ref);
90
+ $('.test-bot-button').show();
91
+ $('.testchat').hide();
92
+ })
93
+ }
94
+ });
95
+ };
96
+ (function (d, s, id) {
97
+ var js, fjs = d.getElementsByTagName(s)[0];
98
+ if (d.getElementById(id)) {
99
+ return;
100
+ }
101
+ js = d.createElement(s);
102
+ js.id = id;
103
+ js.src = '<?php echo $fb_sdk_src ?>';
104
+ fjs.parentNode.insertBefore(js, fjs);
105
+ }(document, 'script', 'facebook-jssdk'));
106
+
107
+
108
+ });
109
+ }
110
+
111
+ </script>
112
+ <?php
113
+ $this->sdk_added = 'yes';
114
+ $this->sdk_load_time = $sdk_load_time;
115
+
116
+ }
117
+
118
+
119
+
120
+ }
121
+
122
+
123
+ $chatbot = new HTCC_Test_Chatbot();
124
+
125
+ add_action( 'admin_head', array( $chatbot, 'chatbot' ));
126
+
127
+
128
+ endif; // END class_exists check
inc/commons/class-ht-cc-ismobile.php CHANGED
@@ -1,99 +1,99 @@
1
- <?php
2
- /**
3
- * find mobile device or not ..
4
- *
5
- * @fix
6
- * if error realted to wp_is_mobile then
7
- * at construct - $this->is_mobile = $this->is_mobile();
8
- * and uncomment - $this->is_mobile = $this->new_is_mobile();
9
- *
10
- */
11
-
12
- if ( ! defined( 'ABSPATH' ) ) exit;
13
-
14
- if ( ! class_exists( 'HT_CC_IsMobile' ) ) :
15
-
16
- class HT_CC_IsMobile {
17
-
18
- /**
19
- * return is mobile or not
20
- * while using in condition check with 1 not with 2
21
- * @var int - if mobile : 1 ? 2
22
- */
23
- public $is_mobile;
24
-
25
- public function __construct() {
26
-
27
- // $this->is_mobile = $this->is_mobile();
28
- $this->is_mobile = $this->new_is_mobile();
29
-
30
- }
31
-
32
-
33
- /**
34
- *
35
- * Check is mobile device or not
36
- * wp_is_mobile - if true then 1, else 2
37
- */
38
- public function is_mobile() {
39
- if ( wp_is_mobile() ) {
40
- // return $this->is_mobile = 1;
41
- return $this->is_mobile = 'yes';
42
- } else {
43
- // return $this->is_mobile = 2;
44
- return $this->is_mobile = 'no';
45
- }
46
- }
47
-
48
-
49
-
50
- /**
51
- * added this - an user mention that wp_is_mobile uncauched error
52
- * so now it easy to fix incase more users repoted this issue
53
- *
54
- * Check is mobile device or not
55
- * wp_is_mobile - if true then 1, else 2
56
- */
57
- public function new_is_mobile() {
58
-
59
- if ( function_exists( 'wp_is_mobile' ) ) {
60
- if ( wp_is_mobile() ) {
61
- // return $this->is_mobile = 1;
62
- return $this->is_mobile = 'yes';
63
- } else {
64
- // return $this->is_mobile = 2;
65
- return $this->is_mobile = 'no';
66
- }
67
- } else {
68
- if ( $this->php_is_mobile() ) {
69
- // return $this->is_mobile = 1;
70
- return $this->is_mobile = 'yes';
71
- } else {
72
- // return $this->is_mobile = 2;
73
- return $this->is_mobile = 'no';
74
- }
75
- }
76
-
77
- }
78
-
79
-
80
- /**
81
- * @uses $this -> new_is_mobile
82
- *
83
- * fallback for wp_is_mobile
84
- * php way of find is mobile - but not with wordpress defined wp_is_mobile
85
- *
86
- * wp_is_mobile is more efficient
87
- * - uses if in user server it's cause Fatal error: Uncaught Error
88
- * @return boolean
89
- */
90
- public function php_is_mobile() {
91
- // return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
92
- return preg_match("/(android|webos|avantgo|iphone|ipad|ipod|blackbe‌​rry|iemobile|bolt|bo‌​ost|cricket|docomo|f‌​one|hiptop|mini|oper‌​a mini|kitkat|mobi|palm|phone|pie|tablet|up\.browser|up\.link|‌​webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
93
- }
94
-
95
-
96
-
97
- }
98
-
99
  endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * find mobile device or not ..
4
+ *
5
+ * @fix
6
+ * if error realted to wp_is_mobile then
7
+ * at construct - $this->is_mobile = $this->is_mobile();
8
+ * and uncomment - $this->is_mobile = $this->new_is_mobile();
9
+ *
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) exit;
13
+
14
+ if ( ! class_exists( 'HT_CC_IsMobile' ) ) :
15
+
16
+ class HT_CC_IsMobile {
17
+
18
+ /**
19
+ * return is mobile or not
20
+ * while using in condition check with 1 not with 2
21
+ * @var int - if mobile : 1 ? 2
22
+ */
23
+ public $is_mobile;
24
+
25
+ public function __construct() {
26
+
27
+ // $this->is_mobile = $this->is_mobile();
28
+ $this->is_mobile = $this->new_is_mobile();
29
+
30
+ }
31
+
32
+
33
+ /**
34
+ *
35
+ * Check is mobile device or not
36
+ * wp_is_mobile - if true then 1, else 2
37
+ */
38
+ public function is_mobile() {
39
+ if ( wp_is_mobile() ) {
40
+ // return $this->is_mobile = 1;
41
+ return $this->is_mobile = 'yes';
42
+ } else {
43
+ // return $this->is_mobile = 2;
44
+ return $this->is_mobile = 'no';
45
+ }
46
+ }
47
+
48
+
49
+
50
+ /**
51
+ * added this - an user mention that wp_is_mobile uncauched error
52
+ * so now it easy to fix incase more users repoted this issue
53
+ *
54
+ * Check is mobile device or not
55
+ * wp_is_mobile - if true then 1, else 2
56
+ */
57
+ public function new_is_mobile() {
58
+
59
+ if ( function_exists( 'wp_is_mobile' ) ) {
60
+ if ( wp_is_mobile() ) {
61
+ // return $this->is_mobile = 1;
62
+ return $this->is_mobile = 'yes';
63
+ } else {
64
+ // return $this->is_mobile = 2;
65
+ return $this->is_mobile = 'no';
66
+ }
67
+ } else {
68
+ if ( $this->php_is_mobile() ) {
69
+ // return $this->is_mobile = 1;
70
+ return $this->is_mobile = 'yes';
71
+ } else {
72
+ // return $this->is_mobile = 2;
73
+ return $this->is_mobile = 'no';
74
+ }
75
+ }
76
+
77
+ }
78
+
79
+
80
+ /**
81
+ * @uses $this -> new_is_mobile
82
+ *
83
+ * fallback for wp_is_mobile
84
+ * php way of find is mobile - but not with wordpress defined wp_is_mobile
85
+ *
86
+ * wp_is_mobile is more efficient
87
+ * - uses if in user server it's cause Fatal error: Uncaught Error
88
+ * @return boolean
89
+ */
90
+ public function php_is_mobile() {
91
+ // return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
92
+ return preg_match("/(android|webos|avantgo|iphone|ipad|ipod|blackbe‌​rry|iemobile|bolt|bo‌​ost|cricket|docomo|f‌​one|hiptop|mini|oper‌​a mini|kitkat|mobi|palm|phone|pie|tablet|up\.browser|up\.link|‌​webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
93
+ }
94
+
95
+
96
+
97
+ }
98
+
99
  endif; // END class_exists check
inc/commons/class-ht-cc-variables.php CHANGED
@@ -1,53 +1,53 @@
1
- <?php
2
- /**
3
- * Varibales to use among plugin - try to avoid globals ..
4
- * replaced variables.php
5
- *
6
- * @method get_option retuns options table 'htcc_options' values
7
- *
8
- * use like ..
9
- *
10
- * ht_cc()->variables->get_option['enable'];
11
- * or
12
- * $values = ht_cc()->variables->get_option;
13
- * $values["enable"];
14
- * $values["fb_app_id"];
15
- *
16
- */
17
-
18
-
19
- if ( ! defined( 'ABSPATH' ) ) exit;
20
-
21
- if ( ! class_exists( 'HT_CC_Variables' ) ) :
22
-
23
- class HT_CC_Variables {
24
-
25
- /**
26
- * db options table - htcc_options values
27
- *
28
- * @var array get_options htcc_options
29
- *
30
- *
31
-
32
- */
33
- public $get_option;
34
-
35
-
36
- public function __construct() {
37
- $this->get_option();
38
- }
39
-
40
- public function get_option() {
41
- $this->get_option = get_option('htcc_options');
42
- }
43
-
44
- // public function ccw_enable() {
45
- // $ccw_enable = esc_attr( $this->get_option['enable'] );
46
- // return $ccw_enable;
47
- // }
48
-
49
-
50
-
51
- }
52
-
53
- endif; // END class_exists check
1
+ <?php
2
+ /**
3
+ * Varibales to use among plugin - try to avoid globals ..
4
+ * replaced variables.php
5
+ *
6
+ * @method get_option retuns options table 'htcc_options' values
7
+ *
8
+ * use like ..
9
+ *
10
+ * ht_cc()->variables->get_option['enable'];
11
+ * or
12
+ * $values = ht_cc()->variables->get_option;
13
+ * $values["enable"];
14
+ * $values["fb_app_id"];
15
+ *
16
+ */
17
+
18
+
19
+ if ( ! defined( 'ABSPATH' ) ) exit;
20
+
21
+ if ( ! class_exists( 'HT_CC_Variables' ) ) :
22
+
23
+ class HT_CC_Variables {
24
+
25
+ /**
26
+ * db options table - htcc_options values
27
+ *
28
+ * @var array get_options htcc_options
29
+ *
30
+ *
31
+
32
+ */
33
+ public $get_option;
34
+
35
+
36
+ public function __construct() {
37
+ $this->get_option();
38
+ }
39
+
40
+ public function get_option() {
41
+ $this->get_option = get_option('htcc_options');
42
+ }
43
+
44
+ // public function ccw_enable() {
45
+ // $ccw_enable = esc_attr( $this->get_option['enable'] );
46
+ // return $ccw_enable;
47
+ // }
48
+
49
+
50
+
51
+ }
52
+
53
+ endif; // END class_exists check
index.php CHANGED
@@ -1,2 +1,2 @@
1
- <?php
2
  // Silence is golden.
1
+ <?php
2
  // Silence is golden.
readme.txt CHANGED
@@ -1,311 +1,642 @@
1
- === WP-Chatbot for Facebook Messenger Customer Chat ===
2
- Requires at least: 4.6
3
- Tested up to: 5.0
4
- Requires PHP: 5.6
5
- Contributors: larrykim, yankovski
6
- Stable tag: trunk
7
- Tags: messenger, customer chat plugin, customer chat, facebook customer chat, facebook chat, chatbot, messenger chatbot, messenger customer chat, facebook live chat, live chat, messenger live chat, facebook, facebook messenger, mobilemonkey
8
- License: GPLv2 or later
9
- License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
-
11
-
12
- == Description ==
13
- Add Facebook Messenger on your Website. Chatbot or live chat to your Customers from your website using Messenger. build for Facebook Messenger Customer Chat plugin.
14
-
15
- Add Messenger directly into your WebSite, [Demo](https://mobilemonkey.com/wp-chatbot/demo-default/)
16
-
17
-
18
- == Documentation ==
19
-
20
- Live chat to your customers or integrate chatbot to the messenger and let bot chat to your customers.
21
-
22
- Users can interact with your business from your Website using Messenger.
23
- Chat history will be saved automatically, continue chat at any time using Messenger.
24
-
25
- [Demo](https://mobilemonkey.com/wp-chatbot/demo-default/)
26
-
27
- = Features =
28
-
29
- * Add Messenger Customer Chat in Web Applications
30
- * Messenger Language
31
- * Messenger Theme Color
32
- * Enable/disable Facebook Analytics
33
- * Greetings message for logged in users ( If Facebook logged in the current browser )
34
- * Greetings message for logged out users
35
- * Greetings Dialog Display
36
- * Greetings Dialog Delay
37
- * REF Attribute
38
- * Hide Messenger based on post type, post id, category, Device ( Mobile, Desktop )
39
- * Shortcode - add different settings at page level.
40
- * WooCommerce Compatible
41
-
42
-
43
- == Call SDK After Page Loads ==
44
- ( Beta feature - added in Version 3.7 )
45
-
46
- There are two increment options
47
-
48
- = Call SDK after page loads =
49
- After web page loaded, call Customer chat SDK and display messenger.
50
-
51
- = +4 seconds after page loads =
52
- First Webpage loads and after 4 seconds call SDK and display Messenger - benefits at page speed metrics, SEO
53
-
54
- https://youtu.be/XDHeiwD6pMw
55
-
56
- = To identify this new feature benefit =
57
- 1. Check webpage before activating this plugin ( GTmetrix or similar )
58
- 2. Check after activating and enable this 'after page load' and '+4' feature
59
- It will be almost the same, by just adding Messenger after a few seconds delay. this can benefit at Page speed, SEO
60
-
61
- ( In pro version can set time to load SDK after page loads )
62
-
63
- PRO Version has lot more features
64
-
65
- == Premium Version - WP-Chabot Pro ==
66
-
67
- <blockquote>
68
-
69
- * Change Messenger
70
- - Icon Position
71
- - Greetings Dialog and Chat Window Position
72
- Different Settings per Device ( Mobile, Desktop )
73
-
74
- * Call Customer Chat SDK at any time after page loads
75
-
76
- * Display Messenger
77
- - After some Time Delay
78
- - After user scroll down the page
79
- Different Settings per Device ( Mobile, Desktop )
80
-
81
- * Set Greetings text Dialog
82
- - based on time range (like working hours or not)
83
- - based on days in a week (like working days or not)
84
- ( Online / Offline feature )
85
-
86
- * option to not Load Messenger on
87
- - Selected Days in a Week ( like Weekends )
88
- - Selected Time Range ( like non working hours )
89
- ( Online / Offline feature )
90
-
91
- * Update Greetings, REF on Fly
92
- - based on Time
93
- - based on user Scroll down the page
94
- - based on Clicks
95
-
96
- * Actions - Show, Hide - Icon, Greetings Dialog
97
- - based on Time
98
- - based on user Scroll down the page
99
- - based on Clicks
100
-
101
- * Click Actions - When Clicked on Button/ Element
102
- - Show - Icon, Greetings Dialog
103
- - Hide - Icon, Greetings Dialog
104
- - Update Greetings, REF
105
-
106
- * WooCommerce - Separate Settings page
107
- - Greetings Dialog, REF, Page ID, Color
108
- plan to expand a lot of features
109
-
110
- * Placeholders for Greetings Dialog, REF
111
- - {{product}} - WooCommerce single product name
112
- - {{title}} - Page Title for REF Attribute
113
- - {{id}} - Page ID for REF Attribute
114
- - For Greeting Dialog replaces Placeholder values as it is.
115
- - For REF - replace spaces with '-' ( Hyphen ) it will be easy to track where the user chats from and target specific messages using your messenger chatbots
116
-
117
- Support/setup the plugin by taking screen share
118
-
119
- One Time Payment, Lifetime updates
120
-
121
- </blockquote>
122
-
123
- [WP-Chabot Pro](https://mobilemonkey.com/wp-chatbot/pro/?utm_source=wp.org&utm_medium=wp-chatbot&utm_campaign=plugin-faq)
124
-
125
-
126
- [Plugin Settings Page](https://mobilemonkey.com/wp-chatbot/wp-chatbot-settings/?utm_source=wp.org&utm_medium=wp-chatbot-description),
127
-
128
- This plugin adds Messenger Customer Chat on your Website.
129
-
130
-
131
- = Shortcodes =
132
-
133
- Useful to change settings at page level. to change Facebook Page, color, Greetings text, REF,...
134
-
135
- [chatbot page_id="123456789"]
136
-
137
- [chatbot logged_in_greetings="Get 20% discount" ref="20-discount"]
138
-
139
- = Key benefits of using Messenger =
140
-
141
- * Target, Retarget, Marketing
142
- * User can chat from your Website
143
- * Chat history will be saved automatically
144
- * Easy to contact out of Website using Messenger
145
- * Set Initial message based on availability
146
- * Integrate chatbot tools and send schedule Messages or make chat automatic NLP/AI.
147
-
148
-
149
- = Tools to build Chatbots for Messenger =
150
- MobileMonkey
151
- wit.ai
152
- DialogFlow
153
- AWS Lex
154
-
155
- == Demo ==
156
-
157
- [Demo](https://mobilemonkey.com/wp-chatbot/demo-default/)
158
-
159
-
160
- == Screenshots ==
161
-
162
- 1. modified demo - In reality, messenger icon display's at - circle, please check demo links
163
- 2. Setting page
164
- 3. Setting page
165
- 4. Setting page
166
- 5. Setting page
167
- 6. Change Language
168
- 7. Shortcode
169
-
170
-
171
- == Installation ==
172
-
173
- = From Dashboard ( WordPress admin ) =
174
- * plugins -> Add New
175
- * search for 'wp chatbot'
176
- * click on Install Now and then Active.
177
-
178
- = using FTP or similar =
179
- * unzip "WP-Chatbot" file and
180
- * Upload "WP-Chabot" folder to the "/wp-content/plugins/" directory.
181
- * Activate the plugin through the "Plugins" menu in WordPress.
182
-
183
-
184
- == Frequently Asked Questions ==
185
-
186
- = Demo =
187
-
188
- [Default Demo](https://mobilemonkey.com/wp-chatbot/demo-default/)
189
-
190
- [Greetings Text Demo](https://mobilemonkey.com/wp-chatbot/demo-change-greetings-text/)
191
-
192
- [Messenger Theme Color - Demo](https://mobilemonkey.com/wp-chatbot/demo-messenger-theme/)
193
-
194
- [REF Attribute](https://mobilemonkey.com/wp-chatbot/demo-ref/)
195
-
196
- = Premium Plugin =
197
-
198
- * One Time Payment Lifetime updates
199
-
200
- [WP-Chabot Pro](https://mobilemonkey.com/wp-chatbot/pro/?utm_source=wp.org&utm_medium=wp-chatbot&utm_campaign=plugin-faq)
201
-
202
- Contact
203
- Mail: support@mobilemonkey.com
204
-
205
- Refund policy
206
- Money back guaranty, If don’t like the plugin, if you send a message for refund within 14 days, we will refund the money
207
-
208
-
209
- = WP Chatbot Pro - Demo =
210
-
211
- [Change Messenger Position - bottom-right ](https://mobilemonkey.com/wp-chatbot/demo-change-messenger-position/)
212
- [Change Messenger Position - bottom-left ](https://mobilemonkey.com/wp-chatbot/demo-change-messenger-position-bottom-left/)
213
- Can change to any position of the screen
214
- please select the position where icon, greetins dialog looks good.
215
- Icon, Greetings dialog position can select differently
216
- Can set different settings per device ( Mobile, Desktop ).
217
-
218
- [Load Messenger - based on Time](https://mobilemonkey.com/wp-chatbot/demo-load-messenger-time/)
219
- [Load Messenger - based on Page Scroll](https://mobilemonkey.com/wp-chatbot/demo-load-messenger-page-scroll/)
220
-
221
- [Custom Image](https://mobilemonkey.com/wp-chatbot/demo-custom-image/)
222
-
223
- [Actions Time](https://mobilemonkey.com/wp-chatbot/demo-time-actions/)
224
-
225
- [Update Greetings on Fly - based on time](https://mobilemonkey.com/wp-chatbot/demo-update-greetings-on-fly-based-on-time/)
226
- [Update Greetings on Fly - based on page Scroll](https://mobilemonkey.com/wp-chatbot/demo-update-greetings-on-fly-based-on-page-scroll/)
227
-
228
- [WP Chatbot Pro](https://mobilemonkey.com/wp-chatbot/pro/?utm_source=wp.org&utm_medium=wp-chatbot&utm_campaign=plugin-faq-demo)
229
-
230
- = Change Messenger position =
231
-
232
- This feature is available in [PRO](https://mobilemonkey.com/wp-chatbot/pro/?utm_source=wp.org&utm_medium=wp-chatbot&utm_campaign=messenger-position-faq) Version
233
-
234
- https://youtu.be/HIz8GtSYhc0
235
-
236
-
237
- == Upgrade Notice ==
238
-
239
- = From Dashboard ( WordPress admin ) =
240
- * If plugin new version released - you can see 'update now' link at wp-admin -> plugins
241
- * click on 'update now'
242
-
243
- = using FTP or similar =
244
- * Delete wp-chatbot folder - your setting will not lost.
245
- * unzip wp-chatbot file and
246
- * Upload "wp-chatbot" folder to the "/wp-content/plugins/" directory.
247
- * Activate the plugin through the "Plugins" menu in WordPress.
248
-
249
-
250
- == Changelog ==
251
-
252
- = 4.0.1 =
253
- Stability and bug fixes
254
-
255
- = 4.0 =
256
- Facebook integration.
257
- Allow for easier deployment by connecting to Facebook and selecting a page for messaging.
258
-
259
- = silent release =
260
- Customer Chat supports for safari 12, so removed alternative Support
261
-
262
- = 3.7 =
263
- alpha feature - load sdk after page load (page speed matters)
264
-
265
- = silent release =
266
- browser feature - admin page user interface
267
-
268
- = 3.5 =
269
- "Message Us" button for Safari 12
270
- SDK updated to 3.2
271
-
272
- = 3.1 =
273
- Admin page - Material Design
274
- enable/disable - autologevents
275
- FB SDK updated to 3.1
276
- Show / Hide based on Device for Shortcode
277
- Deprecated minimized is deleted
278
-
279
- = 2.2 =
280
- FB SDK updated to 3.0
281
- Greetings Dialog Display
282
- Greetings Dialog Delay
283
-
284
- = silent release =
285
- Facebook SDK updated to v2.12
286
-
287
- = 2.1 =
288
- change messenger theme color
289
- change greetings text for the logged in user
290
- change greetings text for the logged out user
291
-
292
- = 2.0 =
293
- * can add ref
294
- * set chat window minimized or not
295
-
296
- = 1.3.0 =
297
- * can change Language for Messenger
298
-
299
- = 1.2.0 =
300
- * Shortcode - beta
301
- * Hide Messenger based on Devices
302
-
303
- = 1.1.1 =
304
- * Hide messenger based on page type ( now - check to hide )
305
-
306
- = 1.1.0 =
307
- * show / hide messenger based on page types
308
- * Hide messenger based on post id, category name.
309
-
310
- = 1.0.0 =
311
- * Initial release.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WP-Chatbot for Facebook Messenger Customer Chat ===
2
+ Requires at least: 4.6
3
+ Tested up to: 5.2
4
+ Requires PHP: 5.6
5
+ Contributors: larrykim, yankovski
6
+ Stable tag: 4.0.9
7
+ Tags: messenger, customer chat plugin, customer chat, facebook customer chat, facebook chat, chatbot, messenger chatbot, messenger customer chat, facebook live chat, live chat, messenger live chat, facebook, facebook messenger, mobilemonkey
8
+ License: GPLv2 or later
9
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+
12
+ == Description ==
13
+ WP-Chatbot adds a Facebook Messenger chat widget to your website. The Messenger widget is the fastest and simplest way to add live chat to your website, convert more leads and engage your customers, even after they’ve left your website.
14
+
15
+ - One-click installation for WordPress
16
+ - Livechat with visitors 24/7, even while you sleep
17
+ - Single inbox for all incoming messages
18
+ - Zero-hassle integration with powerful chatbot features
19
+ - 100% integration with your Facebook Business page and Facebook Messenger
20
+
21
+
22
+
23
+ == WP-Chatbot’s Explosive Results and Huge Fans ==
24
+
25
+ WP-Chatbot is the most popular and powerful chatbot in the WordPress ecosystem, powering up tens of thousands of websites with live chat and web chat capabilities. Here are just a few of WP-Chatbot’s fans:
26
+ - It is the world’s fastest growing official Facebook messenger marketing solutions provider partner (2019)
27
+ - Neil Patel selected it as his chatbot of choice (2019)
28
+ - Brian Dean of Backlinko endorsed it (2019)
29
+
30
+
31
+ == Quick facts about the WP-Chatbot ==
32
+
33
+ - Integrates with your Facebook Business page easily and quickly
34
+ - Uses Facebook Messenger, the most powerful, widespread, and robust messaging platform in the world
35
+ - Provides live chat functionality to any WordPress website
36
+ - Works on any device, any size, anywhere in the world
37
+ - Compatible with all versions of WordPress
38
+ - Uses chatbot technology to provide constant support, even if no customer service staff are available.
39
+ - The chat can be continued at any time using Messenger, even if users aren’t on your website.
40
+ - It is compatible with hundreds of plugins, themes, and ecommerce platforms including WooCommerce
41
+
42
+ ==[FACEBOOK OFFICIAL] MobileMonkey is the world’s fastest growing official Facebook messenger marketing solutions provider partner =
43
+
44
+ In 2019, MobileMonkey, which owns and develops WP-Chatbot was recognized as the world’s fastest growing official Facebook messenger marketing solutions provider partner.
45
+
46
+ The reason for MobileMonkey’s meteoric growth is due in large part to the popularity of the Messenger plug in.
47
+
48
+ WP-Chatbot does far more than simply integrate chat on your homepage. It opens up an entirely new marketing channel complete with drip campaigns, chat blasts, RSS feeds, messenger ads, analytics tracking, and more.
49
+
50
+ Facebook Messenger marketing is the hottest marketing channel available to marketers today. By using WP-Chatbot and MobileMonkey, you are gaining cutting-edge advantage of an enormously powerful tool that promises massive results for years to come. It is the world’s fastest growing official Facebook messenger marketing solutions provider partner (2019)
51
+
52
+ ==Advantages of using WP-Chatbot on your website==
53
+
54
+ Using a Facebook Messenger chat bot on your website opens up a new and powerful marketing channel. You can begin building a Facebook Messenger contact list, and engage these potential customers with ease and power.
55
+ - Access to more than 1.3 billion Messenger users worldwide.
56
+ - 24/7 interaction with customers. Chat with and interact with customers while you sleep.
57
+ - Integration with the fastest-growing messaging platform in the world.
58
+ - A single, unified inbox for website chats, Facebook page chats, or other entry points.
59
+ - Keep contacts forever. Chat history is persistent regardless of when and how your users messaged you.
60
+ - Teamwide access to Messenger chat. Your entire team including support personnel from around the world can access the conversations.
61
+ - Seamless integration with other powerful chat bot tools. WP-Chatbot is fully integrated with the MobileMonkey chatbot builder.
62
+
63
+ ==Customize the plugin according to your exact preferences==
64
+
65
+ WP-Chatbot is designed to look and feel exactly how you want it. Here’s the level of customization that you gain when using WP-Chatbot.
66
+
67
+ - Select your brand’s exact colors using a color picker or hex code.
68
+ - Create a custom greeting for logged-in users when they see the chatbot
69
+ - Create a different greeting for users who are not logged in to Messenger
70
+ - Select where you want the chat to be located
71
+ - Add chat to any or all pages on your website
72
+ - Choose the Messenger language to use for chat
73
+ - Hide the chatbot based on post type, post ID, categories, or device type
74
+ - Add your Facebook page branding with the display photo in the chat window
75
+ - Create custom dialogue flows or menus to help users navigate and get the information they need
76
+ - Enable or disable Facebook analytics
77
+ - Create a chatbot dialogue or use natural language processing (NLP)
78
+
79
+ ==Supercharge your marketing with a single plugin.==
80
+
81
+ WP-Chatbot is the ultimate small-but-mighty in the world of WordPress plugins. It’s more than just a chat feature. It’s a method of dramatically improving the number of hot and highly engaged leads for your business.
82
+
83
+ Without a Messenger chatbot on your website, leads are slipping through your fingers night and day. With a Messenger chatbot, you are securing leads night and day. Ordinary live chat plugins don’t compare with the power and potential of a Facebook Messenger plugin. Why? Because such plugins do not retain the contacts in Facebook Messenger.
84
+
85
+ By simply installing this Messenger chatbot plugin on your WordPress site, you are effectively gaining more leads, more engagement, and more return on your marketing investment — totally free.
86
+
87
+ ==Chatbot Demo==
88
+
89
+ [Here is a complete demo of all of the default capabilities and functions of the WP-Chatbot.](https://mobilemonkey.com/wp-chatbot/demo-default/)
90
+
91
+ == Screenshots ==
92
+
93
+ 1. modified demo - In reality, messenger icon display's at - circle, please check demo links
94
+ 2. modified demo - In reality, messenger icon display's at - circle, please check demo links
95
+ 3. Setting page
96
+ 4. Setting page
97
+ 5. Setting page
98
+ 6. Setting page
99
+ 7. Shortcode
100
+
101
+
102
+ ==FAQs: WP-Chatbot Plugin Questions and Answers==
103
+
104
+
105
+ **What can the WP-Chatbot do?**
106
+
107
+ The main purpose of the WP-Chatbot is to allow users to have a live chat experience directly on your website. Users can start chatting on any page of your website. The chat is persistent, meaning that if they start a Messenger chat from your website, that chat thread is also available on their mobile device or the desktop version of Facebook Messenger. Chats don’t end when a user leaves your website. They’ve just begun.
108
+
109
+ **Is that all?**
110
+
111
+ No. That’s the main purpose of the WP-Chatbot. By using MobileMonkey, a chatbot builder, you can engage with the user long after their first interaction. Using advanced Facebook Messenger chatbots (easy to make, with no coding involved), you can send drip campaigns, segment users, send chat blasts, and more.
112
+
113
+ **What if no one is available to answer a user’s chat?**
114
+
115
+ Instead of relying on live support to answer chats, you can set up a chatbot that dialogues with customers using natural language processing (NLP) and artificial intelligence (AI), or you can create a custom sequence that guides users through various menus and options to get exactly what they need. If you want, you can also set a message that informs users when they should check back for a live chat with a real person.
116
+
117
+ **Will WP-Chatbot work with any WordPress website?**
118
+
119
+ Yes, WP-Chatbot is designed to work with any website built on WordPress v. 4.6 or higher. It has been tested up to WordPress version 5.2
120
+
121
+ **What else do I need in order to start using WP-Chatbot?**
122
+
123
+ When you start using WP-Chatbot, you should have the following:
124
+ - A Facebook Business Page
125
+ - Your Facebook Page ID
126
+ In the setup process, you’ll also need to add your website to the whitelisted pages section within Facebook.
127
+
128
+ **Is WP-Chatbot compliant with GDPR?**
129
+
130
+ Yes. Consent, a requisite component of GDPR, takes place when the user clicks the button to “continue as [name].” It’s important that any chatbot dialogues you create should inform subscribers how they can unsubscribe at any time. For example, you can tell users “Just type STOP at any time to unsubscribe.” If you are using MobileMonkey, then MobileMonkey will automatically handle the unsubscribe request by deleting the contact from your database.
131
+
132
+ **Does WP-Chatbot come with any analytics?**
133
+
134
+ If you have a Facebook Developer account, you can view WP-Chatbot analytics if desired. If you do not have a Facebook Developer account, you can easily create one.
135
+
136
+ **Can WP-Chatbot increase leads?**
137
+
138
+ Yes. In fact, that’s the main reason that most website creators and marketers add the plugin. It is a powerful way to grow an active and engaged contact list from your website traffic. Rather than visitors simply stopping in and checking out your site, they are intentionally engaging with your brand in a way that secures them a spot on your contact list.
139
+
140
+ **Will the WP-Chatbot plugin also improve conversions?**
141
+
142
+ The answer is most likely yes, but it just depends on the nature of your business, what you consider a conversion, and other factors. Data indicates that users who are able to live chat with a business are worth 4.5 times as customers who don’t chat, and their average order size is 10% larger than non-chatting users.
143
+
144
+ **Is the WP-Chatbot just for customer support?**
145
+
146
+ The WP-Chatbot is, of course, a marvelous customer support tool, but it has many other uses in marketing. Most users of WP-Chatbot are also MobileMonkey users.
147
+
148
+ **How does the chat process work from a user perspective?**
149
+
150
+ The widget is usually persistently positioned at the lower corner of a website. You can customize the greeting message. One popular greeting is “Hi! How can we help you?” If the user is logged in, they will click the button that reads “Continue as [Name].” Instantly, they receive a message with an invitation to continue the conversation. They can continue with the chat on the website, or they can use the Facebook Messenger app to continue.
151
+
152
+ **Who owns WP-Chatbot?**
153
+ WP-Chatbot is owned by MobileMonkey, a Facebook Messenger marketing app and chatbot builder. LarryKim, the founder of MobileMonkey is a three-time winner of the most influential PPC marketer, a number one columnist on Search Engine Land and Search Engine Journal. He founded Wordstream, grew it to one of the world’s leading search marketing firms, and later sold it for $150m. Larry immediately founded MobileMonkey, recognizing Facebook Messenger marketing as one of the hottest marketing tactics available.
154
+
155
+ **Do any famous people use or endorse WP-Chatbot?**
156
+
157
+ Yes. Some of the world’s leading marketers and publications are active users of WP-Chatbot or its parent company, MobileMonkey. Here are some of them:
158
+ - Neil Patel, a Forbes top 10 marketer, founder of Quicksprout and Neil Patel Digital
159
+ - Mari Smith, Facebook designated “Small Business and Facebook Marketing Expert”
160
+ - Olga Andrienko, Head of Global Marketing at SEMrush
161
+ - Brian Dean, founder of Backlinko and globally recognized SEO and marketer
162
+ - Cat Howell, CEO of Eight Loop Social and Creator of the Academy
163
+ - Sean Ellis, founder of Growth Hackers
164
+ - Andrea Vahl, Speaker, trainer and consultant, author of Facebook Ads Made Easy
165
+ - Daniel Gilbert, CEO of Brainlabs
166
+ - Kelly Noble Mirabella, Bot Marketing Trainer with Baby Got Bot and founder of Stellar Media Marketing
167
+ - Dennis Yu, CTO of BlitzMetrics
168
+ - Mandy Mcewen, CEO of Mod Girl Marketing
169
+ - Andrew Warner, Founder of Bot Academy
170
+ - Vasil Azarov, Founder of Growth Marketing Conference
171
+
172
+ **What brands have featured WP-Chatbot or MobileMonkey?**
173
+
174
+ Facebook has named MobileMonkey the fastest growing Messenger partner, due in part to the explosive growth of WP-Chatbot. Many brands and organizations are reviewing MobileMonkey, discussing the advantages of Messenger marketing tools like MobileMonkey, and providing Facebook Messenger Marketing strategies and tactics, fueled by MobileMonkey chatbots. Here are some of the publications that MobileMonkey has been seen on.
175
+
176
+ - Forbes
177
+ - Inc.
178
+ - Venture Beat
179
+ - Wordstream
180
+ - Search Engine Journal
181
+ - Entrepreneur
182
+
183
+ **What companies use WP-Chatbot or MobileMonkey?**
184
+
185
+ There are thousands of small businesses, entrepreneurs, in-house marketers, and freelancers using WP-Chatbot every day. The widget has more than 20,000 active installs and is growing by the dozens on a daily basis. Here are some more happy users:
186
+
187
+ - Toyota
188
+ - Century 21
189
+ - SofaMania
190
+ - Hush Puppies
191
+ - Big Guys Pizza
192
+ - Veterans United Home Loans
193
+ - VMWare
194
+ - DocsApp
195
+ - Outdoorsy
196
+ - Search Engine Journal
197
+
198
+ **Does the chatbot plugin require any coding?**
199
+
200
+ No. Not at all. In fact, you can even create advanced and high-impact chatbot sequences on MobileMonkey without any coding.
201
+
202
+ **Is the chat history deleted or can I save them?**
203
+
204
+ All chats are automatically stored in Facebook Messenger, where they are stored indefinitely or until a user unsubscribes from your list. There’s no need to manually save chats. The user also retains a persistent record of their chat history with you.
205
+
206
+ **Can I see information about contacts who opt-in to the chat?**
207
+
208
+ Yes. When a user starts a chat with you, you can see their name as well as any information that they have chosen to share publicly on their Facebook profile. This may include their workplace, relationships, places they’ve lived, photos, etc.
209
+
210
+ **Can anyone on your business’s support team or customer service team chat with users?**
211
+
212
+ Yes. Anyone who has a page role on your Business Page (Admin, Editor, Moderator) can chat. Even if the chat is bot-driven, a human can step in at anytime to chat with the user.
213
+
214
+ **How do users start a chat?**
215
+
216
+ To start chatting from your website, a user clicks the Messenger button on the widget, wherever it is positioned on the page. If the user is already logged into Facebook or Facebook Messenger on their browser or mobile device, the widget can display the button message “Continue as [Name].” If the user is not logged in to Facebook Messenger, the button has the message “Log into Messenger.” The user must first log into Facebook or their Messenger account before initiating the chat.
217
+
218
+ **Does WP-Chatbot provide support?**
219
+
220
+ Yes. WP-Chatbot has a large support forum with fast response and top-rated support.
221
+
222
+ **Is WP-Chatbot similar to ManyChat?**
223
+
224
+ ManyChat is a great chatbot builder, but is not a WordPress plugin. WP-Chatbot makes it easy for website visitors to chat with you on Facebook Messenger. For maximum chatbot power, WP-Chatbot seamlessly integrates with MobileMonkey, a robust and full-featured chatbot builder. MobileMonkey is where you can harness the full power of Facebook Messenger chatbot marketing, creating drip sequences, lead magnets, chat blasts, and more.
225
+
226
+ **How is WP-Chatbot different from other Messenger chatbot plugins?**
227
+
228
+ Many plugins simply open a link to a Facebook page. WP-Chatbot integrates the chat on your website with no new tabs or links being required to continue the chat. Another distinguishing feature is WP-Chatbot’s ease of use. Installing the plugin to your site and connecting it to your Facebook Business page is simple and requires only a few minutes.
229
+
230
+ **How is WP-Chatbot different from Tidio Live Chat?**
231
+
232
+ Tidio Live Chat is a great chatbot for communicating with customers on your website. it is not connected with Facebook or Facebook Messenger. WP-Chatbot has the same chat functionality as Tidio Live Chat, but uses Messenger as the messaging platform. More customers are likely to use Messenger as a chat forum because it’s safe and familiar. In addition, when customers open a chat in Messenger, they become part of your Messenger contact list. Tidio is a great WordPress chabot plugin if you don’t need to integrate with Facebook Messenger.
233
+
234
+ **Is WP-Chatbot similar to Collect.chat?**
235
+
236
+ Collect.chat is a chatbot plugin that allows you to chat with customers on your website. Like other chatbots including Tidio, Collect.chat is a native chat application without integration to Facebook Messenger. While Colllect.chat provides useful chat functionality, it is limited in what it can offer for retaining chat users for .
237
+
238
+ [DEMO](https://mobilemonkey.com/wp-chatbot/demo-default/)
239
+
240
+ **Does WP-Chatbot have the same level of power as the IBM Watson Assistant?**
241
+
242
+ IBM Watson is a chatbot plugin that uses IBM’s data and information to create an intelligent chatbot. It is not a Facebook Messenger chatbot, so it’s not possible to continue marketing to chatbot users on Facebook. Additionally, in order to gain the full functionality of IBM Watson, it is necessary to purchase IBM Cloud usage.
243
+
244
+ **Are there are WordPress chatbot plugins that are similar to WP-Chatbot?**
245
+
246
+ There are currently dozens of WordPress chatbot plugins including Cliengo, Clientity, Acobot, My Chatbot, HubSpot, Instabot, Chatbot Botnation, Chatfuel, ArtiBot, Bot Libre, GoBot, and Botsify. Most of these chatbots do not integrate with Facebook Messenger. Chatbots that do have Messenger integration may offer a single limited feature, for example, to improve an onsite shopping experience or to send newsletters.
247
+
248
+ **Does WP-Chatbot work in other countries or with other languages?**
249
+
250
+ Yes, WP-Chatbot supports all Facebook languages, which is currently 142 different languages.
251
+
252
+ **Does WP-Chatbot work in real time?**
253
+
254
+ Yes, WP-Chatbot works on the Facebook Messenger platform, which transmits messages in real time.
255
+
256
+ **What industries is WP-Chatbot helpful for?**
257
+
258
+ Any industry is a perfect case use for website chatting. WP-Chatbot is highly flexible, meaning that you can customize it for any industry, any vertical, any business type, and any audience (B2B or B2C). Here are some business types that have found the WP-Chatbot to be very useful:
259
+
260
+ - Chatbots for small businesses
261
+ - Chatbots for restaurants
262
+ - Chatbots for agencies
263
+ - Chatbots for doctor’s offices
264
+ - Chatbots for influencers
265
+ - Chatbots for consultants
266
+ - Chatbots for personal trainers
267
+ - Chatbots for personal coaches
268
+ - Chatbots for MLM sales
269
+ - Chatbots for brick-and-mortar shops
270
+ - Chatbots for ecommerce
271
+ - Chatbots for selling online courses
272
+ - Chatbots for entrepreneurs
273
+ - Chatbots for digital marketers
274
+ - Chatbots for designers
275
+ - Chatbots for freelancers
276
+
277
+ ==WP-Chatbot and MobileMonkey: What else can you do with the chatbot?==
278
+
279
+ Integrating the plugin to your website and Facebook page is only the first step. Once you’ve done that, the marketing possibilities are endless. You can do each one of these actions using the chatbot building platform, MobileMonkey.
280
+
281
+
282
+ **Customers who engage with you are contacts for life.**
283
+
284
+ One of the main advantages of WP-Chatbot over ordinary chatbot plugins is that the chat takes place on Facebook Messenger. Users can access the chat on their phone or their desktop, not just on your website. In addition, they remain on your contact list until they choose to unsubscribe.
285
+
286
+
287
+ **Grow your contact list.**
288
+
289
+ WP-Chatbot makes it easy and effortless to amass a huge contact list of Messenger contacts. The power of chatbots goes beyond a single interaction on your website. The real power begins once you’ve gained that contact.
290
+
291
+ **Send contacts chat blasts.**
292
+
293
+ A chat blast is a message that you can send to your entire Messenger mailing list. A single blast can reach thousands of potential customers with any variety of marketing messages. Because you’re using Facebook Messenger as your platform, you can expect to get 80% open rates and 40% clickthrough rates within sixty minutes!
294
+
295
+ **Create an RSS integration that sends new content to your mailing list.**
296
+
297
+ Another powerful feature of Facebook Messenger marketing is the ability to connect your Messenger contact list with an RSS feed. Every time you publish something to the feed, it will send your mailing list a link to the content along with a custom message. All it takes is a quick thirty-second integration using MobileMonkey, and you’re set forever.
298
+
299
+ **Market to your Messenger contact list using a drip campaign.**
300
+
301
+ A drip campaign is a powerful way to methodically coax your users to conversion. Perhaps you want them to schedule a consultation, attend a webinar, or download a resource. Whatever it is you want them to do, you can create a drip campaign in MobileMonkey that allows you to achieve that. The drip campaign sends the user a series of messages in a live and interactive way. You can easily amass hundreds of conversions in a few minutes using a strategic drip campaign on Facebook Messenger.
302
+
303
+ **Combine the power of your chatbot plugin with your Facebook Business page.**
304
+
305
+ Once you install your chatbot plugin and begin building a mailing list, you can also build your mailing list using Facebook. To do so, create Click-to-Message ads on Facebook. When users convert on the ad, they are added to your Messenger mailing list. Click-to-Message ads are less expensive and more effective than conventional Facebook display ads. Plus, the user is consenting to allow you to message them again.
306
+
307
+ **You have access to a huge audience.**
308
+
309
+ Facebook’s messenger applications including WhatsApp and Instagram are the largest in the world, by far. 11% of the world’s total population uses one of Facebook’s messaging apps. With access to an audience this large, you are sure to increase your marketing reach and power.
310
+
311
+ **Answer FAQs**
312
+
313
+ One great thing about chatbots is that they can be programmed to answer the questions that users are likely to ask. Setting this up in MobileMonkey is easy, and doesn’t require any coding.
314
+
315
+ **Qualify Leads**
316
+
317
+ Not everyone who starts chatting on your website will turn out to be a valuable lead. A chatbot can help qualify leads by guiding them through a series of questions. Even a certain contact isn’t a lead right now, they might turn into one later. You can invite them to join a Facebook group, retain them in your contact list, or simply message them from time to time to keep them engaged.
318
+
319
+ **Notify the sales team about hot leads**
320
+
321
+ When a potential lead does qualify themselves through a chatbot dialogue, you can easily alert your sales team about it. They can step in for a live chat with the potential lead and close the deal.
322
+
323
+ **Allow contacts to set appointments**
324
+
325
+ Does your business use appointment setting? Whether you operate a dentist office, gym, or restaurant, users can make reservations, schedule appointments, make changes to their reservation, check the status of their appointment, get directions, and more.
326
+
327
+ ==Technical Facts about the Chatbot Plugin==
328
+
329
+ - Number of active installations: 20,000. Historic installations: 147,960
330
+ - Version of WordPress: 4.6 or higher
331
+ - Version of WordPress tested up to: Version 5.2
332
+
333
+ ==Contributors and Developers==
334
+
335
+ “WP-Chatbot for Facebook Messenger Customer Chat” is open source software. The following people have contributed to this plugin.
336
+
337
+ [larrykim](https://profiles.wordpress.org/larrykim/) [yankovski](https://profiles.wordpress.org/yankovski/)
338
+
339
+
340
+ ==Five Star Reviews of WP-Chatbot==
341
+
342
+ WP-Chatbot has exclusively five-star reviews. Check out some of the recent reviews by users of WP-Chatbot.
343
+
344
+
345
+ <img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">Really, It is the best chatbot plugin out there. The plugin works so smooth and has some advanced features also. **(@rahulbiswal)**
346
+
347
+
348
+ **Works as expected!**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
349
+ Great plugin, functions properly, easy to set up and looks great! Support is responsive as well. Would recommend! **(@jordanho)**
350
+
351
+
352
+ **If 6 stars were available I would give them.**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
353
+ I’ve just discovered WP-Chatbot a few days ago. It’s insanely useful. In fact, it helps me connect with my Facebook users directly from my website. As users love chatbots even more than emails, I think I’ll never uninstall this plugin. Thanks for having created it. **(@giuseppedeepakbenti)**
354
+
355
+
356
+ **Great Plugin for Chat Support.**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
357
+ I love this plugin, it really works with no problems with the new WordPress version. **(@jhsandy)**
358
+
359
+
360
+ **Works perfectly with 5.1.1.**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
361
+ I have not experienced any problems with WP 5.1.1 thank you for a great plug-in. **(@jweaver214)**
362
+
363
+
364
+ **Easy to set up**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
365
+ Easy to use and set up. **(@lancememan)**
366
+
367
+ **Nice Plugin**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
368
+ This plugin is very easy to implement. Very straight forward and support is very responsive. **(@ladykatherynstark)**
369
+
370
+ **Best Chatbot Plugin**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
371
+ Best plugin, easy to setup, easy to use and great support. **(@gmatters)**
372
+
373
+ **Incredible Support**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
374
+ The educational support and low bar of entry available for this Facebook chatbot builder are unmatched. Larry, Virginia, and the rest of the Mobile Monkey team have done a phenomenal job getting marketers acclimated with one of the most efficient ways to market your business online now. Thank you for such an incredible contribution to the digital entrepreneur community! **(@notifyneal)**
375
+
376
+ **Incredible plugin!**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
377
+ Simple to install, and easy to configure! This plugin is a gem for marketers! **(@kristelcuenta)**
378
+
379
+ **So easy**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
380
+ I’ve been procrastinating on site chat because I figured it would be a pain, but it turns out it’s a lot easier than I thought. In my industry it takes 12-18 touches to turn someone into a buyer, so every new channel I can set up is gold. **(@formido)**
381
+
382
+ **Great Plugin for Chatbot**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
383
+ This is a great plugin for Chatbot. Doesn’t impact pagespeed and is simple to set up. A very useful plugin to chat with current and new customers off of your WordPress website. **(@rez311)**
384
+
385
+ **Great job!**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
386
+ Just plug and play to have a working FB chatbot – cool! **(@benpines)**
387
+
388
+ **Best chatbot plugin**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
389
+ Install was super easy and I’m already seeing results. Love it! WP-Chatbot really helps you grow your business, I already started connecting with my visitors and messaging them directly to get them back. **(@maxcr)**
390
+
391
+ **Finally Messenger chat that’s easy**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
392
+ This one works simply by putting almost all settings inside WordPress. (The only part that’s left out is connecting to Facebook. And even the button to initiate that is inside of WordPress.) **(@andrewwarner)**
393
+
394
+ **Great plugin**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
395
+ I started using this today. Works great so far! **(@backlinko)**
396
+
397
+ **Installed and Working**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
398
+ The plugin is installed and works as advertised. I’m happy :-). **(@brianjjaxn)**
399
+
400
+ **What was needed**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
401
+ Very handy plugin that fully performs its functions. I am pleased **(@holysheepcoder)**
402
+
403
+ **Best Facebook Chat Plugin**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
404
+ Perfectly streamlined for both mobile & desktop users. Most WordPress Facebook chat plugins just opens a link to the facebook page. This plugin has full API capabilities and it is completely inline. Best Facebook Chat plugin with no question. **(@avdigiovanniv)**
405
+
406
+ **Amazing**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
407
+ Straightforward. Works! **(@aleknovkovski)**
408
+
409
+ **Excellent service and plugin**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
410
+ These developers are truly passionate about this project. They’re responsive and efficient in resolving issues – Would definitely recommend using this plugin. **(@dimsumdesigns)**
411
+
412
+ **Good plugin, good support**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
413
+ Plugin working perfectly now. Had some great support from the developer! **(@macr0ni)**
414
+
415
+ **Excellent plugin, great support!!**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
416
+ Every website needs to be reachable to its customers, you need this plugin! **(@rgenck)**
417
+
418
+ **Simple and effective!**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
419
+ Great job, thanks! **(@wstrzalkowska)**
420
+
421
+ **Super Impressed and Super Easy 2 setup**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
422
+ This is simply the best plugin for quick chat directly connected to your Facebook page chat. If you’re using facebook bot for the chat this is perfect! Thank you guys for your amazing work! Keep it up! So happy that I found your plugin! **(@cristianuibar)**
423
+
424
+ **Better than premium support!**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
425
+ I honestly use a lot of premium plugins and use their support. I have to admit that for a free plugin, your support is as good, if not better, than other companies’ premium support!! Thanks!!! **(@boulosblack)**
426
+
427
+ **Best WP Messenger app**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
428
+ this is a great app. Easy to install even if due do another widget I had a problem. They have a great and quick support and now everything is working great. **(@mralet)**
429
+
430
+ **Excellent plugin, very easy setup**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
431
+ An amazing plugin that works well and is very easy to set up. **(@thethandon)**
432
+
433
+ **It works perfectly**<img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false"><img src="https://image.flaticon.com/icons/svg/291/291205.svg" width="15" height="15" draggable="false">
434
+ it is very helpful! Good job!**(@duynguyen)**
435
+
436
+
437
+ ==List of Compatible Chatbot Integrations==
438
+ WP-Chatbot is extremely flexible, versatile, and compatible. Because it works seamlessly with MobileMonkey, an integration powerhouse, any webhook or Zapier connection works. Here is a sample of popular chatbot integrations.
439
+
440
+ - AWeber
441
+ - ActiveCampaign
442
+ - AgileCRM
443
+ - Autopilot
444
+ - Capsule
445
+ - ConvertKit
446
+ - Copper
447
+ - Customerly
448
+ - Drift
449
+ - Drip
450
+ - Flexie
451
+ - Gist
452
+ - Groundhogg
453
+ - HubSpot
454
+ - Infusionsoft
455
+ - Intercom
456
+ - Kartra
457
+ - MailChimp
458
+ - MailerLite
459
+ - Mailjet
460
+ - Maropost
461
+ - Mautic
462
+ - NationBuilder
463
+ - Ontraport
464
+ - Platform.ly
465
+ - Salesflare
466
+ - Salesforce
467
+ - SendinBlue
468
+ - Shopify
469
+ - Sendlane
470
+ - Tubular
471
+ - UserEngage
472
+ - Zoho
473
+ - Drift
474
+ - Intercom
475
+ - Freshdesk
476
+ - Woocommerce
477
+
478
+
479
+ ==Solutions: Using MobileMonkey, WP-Chatbot works with all of the following chatbot integration categories:==
480
+
481
+ - Accounting
482
+ - Ads and Analytics
483
+ - Amazon Web Services (AWS)
484
+ - Analytics
485
+ - App Builder
486
+ - Appointment setting
487
+ - Bookmarks
488
+ - Calendar
489
+ - Call Tracking
490
+ - Contacts
491
+ - Customer Appreciation
492
+ - Customer Relationship Management (CRM)
493
+ - Customer Support
494
+ - Dashboards
495
+ - Databases
496
+ - Developer Tools
497
+ - Devices
498
+ - Documents
499
+ - Drip Emails
500
+ - Ecommerce
501
+ - Education
502
+ - Email
503
+ - Email Newsletters
504
+ - Event Management
505
+ - FAQ
506
+ - Facebook
507
+ - Fax
508
+ - Files
509
+ - Fitness & Entertainment
510
+ - Forms
511
+ - Fundraising
512
+ - Gaming
513
+ - Google
514
+ - Human Resources (HR)
515
+ - Management Tools
516
+ - Marketing Automation
517
+ - Microsoft
518
+ - Net Promoter Score
519
+ - News
520
+ - Notes
521
+ - Notifications
522
+ - Payment Processing
523
+ - Phone & SMS
524
+ - Printing
525
+ - Product Management
526
+ - Project Management
527
+ - Proposals & Invoices
528
+ - Real Estate
529
+ - Reports
530
+ - Reminders
531
+ - Scheduling
532
+ - Server Monitoring
533
+ - Signatures
534
+ - Social Media
535
+ - Social Media Management
536
+ - Spreadsheets
537
+ - Surveys
538
+ - Team Chat
539
+ - Team Collaboration
540
+ - Time Tracking
541
+ - To-do Lists
542
+ - Transactional Email
543
+ - Video Calls
544
+ - Video, Audio, & Images
545
+ - Webinars
546
+ - Websites
547
+ - WordPress
548
+ - Zapier
549
+ - Zoho
550
+
551
+
552
+ == Installation ==
553
+
554
+ = From Dashboard ( WordPress admin ) =
555
+ * plugins -> Add New
556
+ * search for 'wp chatbot'
557
+ * click on Install Now and then Active.
558
+
559
+ = using FTP or similar =
560
+ * unzip "WP-Chatbot" file and
561
+ * Upload "WP-Chabot" folder to the "/wp-content/plugins/" directory.
562
+ * Activate the plugin through the "Plugins" menu in WordPress.
563
+
564
+
565
+ == Upgrade Notice ==
566
+
567
+ = From Dashboard ( WordPress admin ) =
568
+ * If plugin new version released - you can see 'update now' link at wp-admin -> plugins
569
+ * click on 'update now'
570
+
571
+ = using FTP or similar =
572
+ * Delete wp-chatbot folder - your setting will not lost.
573
+ * unzip wp-chatbot file and
574
+ * Upload "wp-chatbot" folder to the "/wp-content/plugins/" directory.
575
+ * Activate the plugin through the "Plugins" menu in WordPress.
576
+
577
+
578
+ == Changelog ==
579
+
580
+ = 4.0.8 =
581
+ Contacts page + new look & feel
582
+
583
+ = 4.0.1 =
584
+ Stability and bug fixes
585
+
586
+ = 4.0 =
587
+ Facebook integration.
588
+ Allow for easier deployment by connecting to Facebook and selecting a page for messaging.
589
+
590
+ = silent release =
591
+ Customer Chat supports for safari 12, so removed alternative Support
592
+
593
+ = 3.7 =
594
+ alpha feature - load sdk after page load (page speed matters)
595
+
596
+ = silent release =
597
+ browser feature - admin page user interface
598
+
599
+ = 3.5 =
600
+ "Message Us" button for Safari 12
601
+ SDK updated to 3.2
602
+
603
+ = 3.1 =
604
+ Admin page - Material Design
605
+ enable/disable - autologevents
606
+ FB SDK updated to 3.1
607
+ Show / Hide based on Device for Shortcode
608
+ Deprecated minimized is deleted
609
+
610
+ = 2.2 =
611
+ FB SDK updated to 3.0
612
+ Greetings Dialog Display
613
+ Greetings Dialog Delay
614
+
615
+ = silent release =
616
+ Facebook SDK updated to v2.12
617
+
618
+ = 2.1 =
619
+ change messenger theme color
620
+ change greetings text for the logged in user
621
+ change greetings text for the logged out user
622
+
623
+ = 2.0 =
624
+ * can add ref
625
+ * set chat window minimized or not
626
+
627
+ = 1.3.0 =
628
+ * can change Language for Messenger
629
+
630
+ = 1.2.0 =
631
+ * Shortcode - beta
632
+ * Hide Messenger based on Devices
633
+
634
+ = 1.1.1 =
635
+ * Hide messenger based on page type ( now - check to hide )
636
+
637
+ = 1.1.0 =
638
+ * show / hide messenger based on page types
639
+ * Hide messenger based on post id, category name.
640
+
641
+ = 1.0.0 =
642
+ * Initial release.
wp-chatbot.php CHANGED
@@ -1,46 +1,46 @@
1
- <?php
2
- /*
3
- Plugin Name: WP Chatbot
4
- Plugin URI: https://mobilemonkey.com/wp-chatbot/
5
- Description: Add Messenger to your website, Chatbot or live Chat using Facebook Messenger
6
- Version: 4.0.1
7
- Author: MobileMonkey
8
- Author URI: https://mobilemonkey.com/wp-chatbot/
9
- License: GPL2
10
- License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
- Text Domain: wp-chatbot
12
- */
13
-
14
-
15
- if ( ! defined( 'ABSPATH' ) ) exit;
16
-
17
-
18
- // Version - define HTCC_VERSION
19
- if ( ! defined( 'HTCC_VERSION' ) ) {
20
- define( 'HTCC_VERSION', '4.0.1' );
21
- }
22
-
23
-
24
- /**
25
- * if premium set to true
26
- * and change add suffix to name, version
27
- * for wp.org - remove the pro folders
28
- */
29
- if ( ! defined( 'HTCC_PRO' ) ) {
30
- define( 'HTCC_PRO', 'false' );
31
- }
32
-
33
- // define HTCC_PLUGIN_FILE
34
- if ( ! defined( 'HTCC_PLUGIN_FILE' ) ) {
35
- define( 'HTCC_PLUGIN_FILE', __FILE__ );
36
- }
37
-
38
- // include main file
39
- require_once 'inc/class-ht-cc.php';
40
-
41
- // create instance for the main file - HT_CC
42
- function ht_cc() {
43
- return HT_CC::instance();
44
- }
45
-
46
  ht_cc();
1
+ <?php
2
+ /*
3
+ Plugin Name: WP Chatbot
4
+ Plugin URI: https://mobilemonkey.com/wp-chatbot/
5
+ Description: Add Messenger to your website, Chatbot or live Chat using Facebook Messenger
6
+ Version: 4.0.8
7
+ Author: MobileMonkey
8
+ Author URI: https://mobilemonkey.com/wp-chatbot/
9
+ License: GPL2
10
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
+ Text Domain: wp-chatbot
12
+ */
13
+
14
+
15
+ if ( ! defined( 'ABSPATH' ) ) exit;
16
+
17
+
18
+ // Version - define HTCC_VERSION
19
+ if ( ! defined( 'HTCC_VERSION' ) ) {
20
+ define( 'HTCC_VERSION', '4.0.8' );
21
+ }
22
+
23
+
24
+ /**
25
+ * if premium set to true
26
+ * and change add suffix to name, version
27
+ * for wp.org - remove the pro folders
28
+ */
29
+ if ( ! defined( 'HTCC_PRO' ) ) {
30
+ define( 'HTCC_PRO', 'false' );
31
+ }
32
+
33
+ // define HTCC_PLUGIN_FILE
34
+ if ( ! defined( 'HTCC_PLUGIN_FILE' ) ) {
35
+ define( 'HTCC_PLUGIN_FILE', __FILE__ );
36
+ }
37
+
38
+ // include main file
39
+ require_once 'inc/class-ht-cc.php';
40
+
41
+ // create instance for the main file - HT_CC
42
+ function ht_cc() {
43
+ return HT_CC::instance();
44
+ }
45
+
46
  ht_cc();