Click to Chat for WhatsApp Chat - Version 1.2

Version Description

  • improved: improved code on how to dected mobile device.
  • sticky save button in options page - easy to save.
  • option page - Documentation links.
Download this release

Release Info

Developer bhvreddy
Plugin Icon 128x128 Click to Chat for WhatsApp Chat
Version 1.2
Comparing to
See all releases

Code changes from version 1.0 to 1.2

admin/admin.php CHANGED
@@ -1,21 +1,25 @@
1
<?php
2
- /*
3
* starting point for the admin side of this plugin.
4
*
5
* include other file here .. which need in admin side.
6
*
7
- * In click-to-chat.php this file will be loaded as is_admin
8
*/
9
10
if ( ! defined( 'ABSPATH' ) ) exit;
11
12
/*************** includes ***********/
13
- require_once('add_styles_scripts_admin.php');
14
15
16
- require_once('admin_menu.php');
17
- require_once('admin_page.php');
18
- require_once('admin_page_customize_styles.php');
19
20
21
1
<?php
2
+ /**
3
* starting point for the admin side of this plugin.
4
*
5
* include other file here .. which need in admin side.
6
*
7
+ * In click-to-chat.php this file will be loaded as is_admin
8
+ *
9
+ * @package ccw
10
+ * @subpackage Administration
11
+ * @since 1.0
12
*/
13
14
if ( ! defined( 'ABSPATH' ) ) exit;
15
16
/*************** includes ***********/
17
+ require_once('class-ccw-add-styles-scripts-admin.php');
18
19
20
+ require_once('class-ccw-admin-menu.php');
21
+ require_once('class-ccw-admin-page.php');
22
+ require_once('class-ccw-admin-page-customize-styles.php');
23
24
25
admin/admin_menu.php DELETED
@@ -1,73 +0,0 @@
1
- <?php
2
- /*
3
- * Admin - menu page - add_menu_page for this plugin - top level menu
4
- * calls settings_page.php ( ccw_settings_page - > require_once('settings_page.php') )
5
- * and page content display at admin_menu.php
6
- */
7
-
8
- if ( ! defined( 'ABSPATH' ) ) exit;
9
-
10
- if( ! function_exists('ccw_options_page') ) {
11
-
12
- function ccw_options_page() {
13
- add_menu_page(
14
- 'Click to Chat for WhatsApp - Plugin Option Page',
15
- 'Click to Chat',
16
- 'manage_options',
17
- 'click-to-chat',
18
- 'ccw_settings_page',
19
- 'dashicons-format-chat'
20
- );
21
- }
22
- }
23
-
24
- add_action('admin_menu', 'ccw_options_page');
25
-
26
-
27
- if( ! function_exists('ccw_settings_page') ) {
28
-
29
- function ccw_settings_page() {
30
-
31
- if ( ! current_user_can('manage_options') ) {
32
- return;
33
- }
34
-
35
- require_once('settings_page.php');
36
-
37
- }
38
- }
39
-
40
-
41
-
42
-
43
- // second page
44
- if( ! function_exists('ccw_options_page_two') ) {
45
-
46
- function ccw_options_page_two() {
47
- add_submenu_page(
48
- 'click-to-chat',
49
- 'Edit Styles',
50
- 'Customize Styles',
51
- 'manage_options',
52
- 'ccw-edit-styles',
53
- 'ccw_settings_page_two'
54
- );
55
-
56
- }
57
- }
58
-
59
- add_action('admin_menu', 'ccw_options_page_two');
60
-
61
-
62
- if( ! function_exists('ccw_settings_page_two') ) {
63
-
64
- function ccw_settings_page_two() {
65
-
66
- if ( ! current_user_can('manage_options') ) {
67
- return;
68
- }
69
-
70
- require_once('sp_customize_styles.php');
71
-
72
- }
73
- }
admin/{add_styles_scripts_admin.php → class-ccw-add-styles-scripts-admin.php} RENAMED
@@ -1,17 +1,24 @@
1
<?php
2
- /*
3
* Register css styles, javascript files at admin side
4
* instead of register multiple styles - as using sass in dev env,
5
* import files and at final create less css files
6
*/
7
8
if ( ! defined( 'ABSPATH' ) ) exit;
9
10
- // Register css styles, javascript files only on 'click-to-chat' page
11
- if( ! function_exists('ccw_register_files_admin') ) {
12
-
13
- function ccw_register_files_admin($hook) {
14
15
// ?page=click-to-chat
16
if( 'toplevel_page_click-to-chat' == $hook || 'click-to-chat_page_ccw-edit-styles' == $hook ) {
17
@@ -32,8 +39,12 @@ if( ! function_exists('ccw_register_files_admin') ) {
32
33
34
}
35
-
36
}
37
38
39
- add_action('admin_enqueue_scripts', 'ccw_register_files_admin');
1
<?php
2
+ /**
3
* Register css styles, javascript files at admin side
4
* instead of register multiple styles - as using sass in dev env,
5
* import files and at final create less css files
6
+ *
7
+ * @package ccw
8
+ * @subpackage Administration
9
+ * @since 1.0
10
*/
11
12
if ( ! defined( 'ABSPATH' ) ) exit;
13
14
+ if ( !class_exists( 'CCW_Add_Styles_Scripts_Admin' ) ) :
15
+
16
+ class CCW_Add_Styles_Scripts_Admin {
17
18
+
19
+ // Register css styles, javascript files only on 'click-to-chat' page
20
+ function ccw_register_files_admin($hook) {
21
+
22
// ?page=click-to-chat
23
if( 'toplevel_page_click-to-chat' == $hook || 'click-to-chat_page_ccw-edit-styles' == $hook ) {
24
39
40
41
}
42
+
43
}
44
45
+ $add_styles_scripts_admin = new CCW_Add_Styles_Scripts_Admin();
46
+
47
+ add_action('admin_enqueue_scripts', array( $add_styles_scripts_admin, 'ccw_register_files_admin' ) );
48
+
49
50
+ endif; // END class_exists check
admin/class-ccw-admin-menu.php ADDED
@@ -0,0 +1,73 @@
1
+ <?php
2
+ /**
3
+ * Admin - menu page - add_menu_page for this plugin - top level menu
4
+ * calls settings_page.php ( ccw_settings_page - > require_once('settings_page.php') )
5
+ * and page content display at admin_menu.php
6
+ *
7
+ * @package ccw
8
+ * @subpackage Administration
9
+ * @since 1.0
10
+ */
11
+
12
+ if ( ! defined( 'ABSPATH' ) ) exit;
13
+
14
+ if ( !class_exists( 'CCW_Admin_Menu' ) ) :
15
+
16
+ class CCW_Admin_Menu {
17
+
18
+ // top level page
19
+ function ccw_options_page() {
20
+ add_menu_page(
21
+ 'Click to Chat for WhatsApp - Plugin Option Page',
22
+ 'Click to Chat',
23
+ 'manage_options',
24
+ 'click-to-chat',
25
+ array( $this, 'ccw_settings_page' ),
26
+ 'dashicons-format-chat'
27
+ );
28
+ }
29
+
30
+ // top level page - setting page
31
+ function ccw_settings_page() {
32
+
33
+ if ( ! current_user_can('manage_options') ) {
34
+ return;
35
+ }
36
+
37
+ require_once('settings_page.php');
38
+ }
39
+
40
+
41
+ // customize style page
42
+ function ccw_options_page_two() {
43
+ add_submenu_page(
44
+ 'click-to-chat',
45
+ 'Edit Styles',
46
+ 'Customize Styles',
47
+ 'manage_options',
48
+ 'ccw-edit-styles',
49
+ array( $this, 'ccw_settings_page_two' )
50
+ );
51
+
52
+ }
53
+
54
+ // customize style page - setting page
55
+ function ccw_settings_page_two() {
56
+
57
+ if ( ! current_user_can('manage_options') ) {
58
+ return;
59
+ }
60
+
61
+ require_once('sp_customize_styles.php');
62
+ }
63
+
64
+
65
+ }
66
+
67
+ $admin_menu = new CCW_Admin_Menu();
68
+
69
+ add_action('admin_menu', array( $admin_menu, 'ccw_options_page') );
70
+
71
+ add_action('admin_menu', array( $admin_menu, 'ccw_options_page_two') );
72
+
73
+ endif; // END class_exists check
admin/{admin_page_customize_styles.php → class-ccw-admin-page-customize-styles.php} RENAMED
@@ -1,44 +1,46 @@
1
<?php
2
- /*
3
* content of the options page .. Customize Styles ..
4
* admin_menu.php -> settings_page.php -> admin_page.php
5
* in name exists - this short values - it means
6
* cs - customize styles
7
- * cb - call back - function
8
*/
9
10
if ( ! defined( 'ABSPATH' ) ) exit;
11
12
- function ccw_customize_styles() {
13
14
- register_setting( 'ccw_settings_group_cs', 'ccw_options_cs' , 'ccw_options_sanitize_cs_cb' );
15
-
16
- add_settings_section( 'ccw_settings_cs', '', 'ccw_settings_section_cs_cb', 'ccw_options_settings_cs' );
17
-
18
- add_settings_field( 'ccw_style_1_cs', 'Style 1', 'ccw_style_1_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
19
- add_settings_field( 'ccw_style_2_cs', 'Style 2', 'ccw_style_2_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
20
- add_settings_field( 'ccw_style_3_cs', 'Style 3', 'ccw_style_3_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
21
- add_settings_field( 'ccw_style_4_cs', 'Style 4', 'ccw_style_4_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
22
- add_settings_field( 'ccw_style_5_cs', 'Style 5', 'ccw_style_5_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
23
- add_settings_field( 'ccw_style_6_cs', 'Style 6', 'ccw_style_6_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
24
- add_settings_field( 'ccw_style_7_cs', 'Style 7', 'ccw_style_7_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
25
- add_settings_field( 'ccw_style_8_cs', 'Style 8', 'ccw_style_8_cb', 'ccw_options_settings_cs', 'ccw_settings_cs' );
26
-
27
- }
28
- add_action( 'admin_init', 'ccw_customize_styles' );
29
30
31
32
- if( ! function_exists('ccw_settings_section_cs_cb') ) {
33
34
function ccw_settings_section_cs_cb() {
35
echo '<h1>Customize Styles</h1>';
36
}
37
- }
38
39
40
- if( ! function_exists('ccw_style_1_cb') ) {
41
-
42
function ccw_style_1_cb() {
43
$ccw_style_1 = get_option('ccw_options_cs');
44
?>
@@ -116,10 +118,7 @@ if( ! function_exists('ccw_style_1_cb') ) {
116
</ul>
117
<?php
118
}
119
- }
120
121
-
122
- if( ! function_exists('ccw_style_2_cb') ) {
123
124
function ccw_style_2_cb() {
125
$ccw_style_2 = get_option('ccw_options_cs');
@@ -189,11 +188,8 @@ if( ! function_exists('ccw_style_2_cb') ) {
189
</ul>
190
<?php
191
}
192
- }
193
194
195
- if( ! function_exists('ccw_style_3_cb') ) {
196
-
197
function ccw_style_3_cb() {
198
$ccw_style_3 = get_option('ccw_options_cs');
199
?>
@@ -218,10 +214,8 @@ if( ! function_exists('ccw_style_3_cb') ) {
218
219
<?php
220
}
221
- }
222
223
- if( ! function_exists('ccw_style_4_cb') ) {
224
-
225
function ccw_style_4_cb() {
226
$ccw_style_4 = get_option('ccw_options_cs');
227
?>
@@ -256,12 +250,8 @@ if( ! function_exists('ccw_style_4_cb') ) {
256
257
<?php
258
}
259
- }
260
-
261
262
263
- if( ! function_exists('ccw_style_5_cb') ) {
264
-
265
function ccw_style_5_cb() {
266
$ccw_style_5 = get_option('ccw_options_cs');
267
?>
@@ -304,11 +294,8 @@ if( ! function_exists('ccw_style_5_cb') ) {
304
305
<?php
306
}
307
- }
308
309
310
- if( ! function_exists('ccw_style_6_cb') ) {
311
-
312
function ccw_style_6_cb() {
313
$ccw_style_6 = get_option('ccw_options_cs');
314
?>
@@ -400,12 +387,9 @@ if( ! function_exists('ccw_style_6_cb') ) {
400
401
<?php
402
}
403
- }
404
405
406
407
- if( ! function_exists('ccw_style_7_cb') ) {
408
-
409
function ccw_style_7_cb() {
410
$ccw_style_7 = get_option('ccw_options_cs');
411
?>
@@ -499,11 +483,8 @@ if( ! function_exists('ccw_style_7_cb') ) {
499
500
<?php
501
}
502
- }
503
504
505
- if( ! function_exists('ccw_style_8_cb') ) {
506
-
507
function ccw_style_8_cb() {
508
$ccw_style_8 = get_option('ccw_options_cs');
509
$s8_icon_float = esc_attr( $ccw_style_8['s8_icon_float'] )
@@ -598,14 +579,10 @@ if( ! function_exists('ccw_style_8_cb') ) {
598
599
<?php
600
}
601
- }
602
-
603
604
605
606
607
- if( ! function_exists('ccw_options_sanitize_cs_cb') ) {
608
-
609
function ccw_options_sanitize_cs_cb( $input ) {
610
611
if ( ! current_user_can( 'manage_options' ) ) {
@@ -739,4 +716,12 @@ if( ! function_exists('ccw_options_sanitize_cs_cb') ) {
739
740
return $new_input;
741
}
742
- }
1
<?php
2
+ /**
3
* content of the options page .. Customize Styles ..
4
* admin_menu.php -> settings_page.php -> admin_page.php
5
* in name exists - this short values - it means
6
* cs - customize styles
7
+ * cb - call back - function
8
+ *
9
+ * @package ccw
10
+ * @subpackage Administration
11
+ * @since 1.0
12
*/
13
14
if ( ! defined( 'ABSPATH' ) ) exit;
15
16
+ if ( !class_exists( 'CCW_Admin_Page_Customize_Styles' ) ) :
17
18
+ class CCW_Admin_Page_Customize_Styles {
19
20
21
+ function customize_styles() {
22
+
23
+ register_setting( 'ccw_settings_group_cs', 'ccw_options_cs' , 'ccw_options_sanitize_cs_cb' );
24
+
25
+ add_settings_section( 'ccw_settings_cs', '', array( $this, 'ccw_settings_section_cs_cb' ), 'ccw_options_settings_cs' );
26
+
27
+ add_settings_field( 'ccw_style_1_cs', 'Style 1', array( $this, 'ccw_style_1_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
28
+ add_settings_field( 'ccw_style_2_cs', 'Style 2', array( $this, 'ccw_style_2_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
29
+ add_settings_field( 'ccw_style_3_cs', 'Style 3', array( $this, 'ccw_style_3_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
30
+ add_settings_field( 'ccw_style_4_cs', 'Style 4', array( $this, 'ccw_style_4_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
31
+ add_settings_field( 'ccw_style_5_cs', 'Style 5', array( $this, 'ccw_style_5_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
32
+ add_settings_field( 'ccw_style_6_cs', 'Style 6', array( $this, 'ccw_style_6_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
33
+ add_settings_field( 'ccw_style_7_cs', 'Style 7', array( $this, 'ccw_style_7_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
34
+ add_settings_field( 'ccw_style_8_cs', 'Style 8', array( $this, 'ccw_style_8_cb' ), 'ccw_options_settings_cs', 'ccw_settings_cs' );
35
+
36
+ }
37
38
39
function ccw_settings_section_cs_cb() {
40
echo '<h1>Customize Styles</h1>';
41
}
42
43
44
function ccw_style_1_cb() {
45
$ccw_style_1 = get_option('ccw_options_cs');
46
?>
118
</ul>
119
<?php
120
}
121
122
123
function ccw_style_2_cb() {
124
$ccw_style_2 = get_option('ccw_options_cs');
188
</ul>
189
<?php
190
}
191
192
193
function ccw_style_3_cb() {
194
$ccw_style_3 = get_option('ccw_options_cs');
195
?>
214
215
<?php
216
}
217
218
+
219
function ccw_style_4_cb() {
220
$ccw_style_4 = get_option('ccw_options_cs');
221
?>
250
251
<?php
252
}
253
254
255
function ccw_style_5_cb() {
256
$ccw_style_5 = get_option('ccw_options_cs');
257
?>
294
295
<?php
296
}
297
298
299
function ccw_style_6_cb() {
300
$ccw_style_6 = get_option('ccw_options_cs');
301
?>
387
388
<?php
389
}
390
391
392
393
function ccw_style_7_cb() {
394
$ccw_style_7 = get_option('ccw_options_cs');
395
?>
483
484
<?php
485
}
486
487
488
function ccw_style_8_cb() {
489
$ccw_style_8 = get_option('ccw_options_cs');
490
$s8_icon_float = esc_attr( $ccw_style_8['s8_icon_float'] )
579
580
<?php
581
}
582
583
584
585
586
function ccw_options_sanitize_cs_cb( $input ) {
587
588
if ( ! current_user_can( 'manage_options' ) ) {
716
717
return $new_input;
718
}
719
+
720
+
721
+ }
722
+
723
+ $ccw_customize_styles = new CCW_Admin_Page_Customize_Styles();
724
+
725
+ add_action( 'admin_init', array( $ccw_customize_styles, 'customize_styles') );
726
+
727
+ endif; // END class_exists check
admin/{admin_page.php → class-ccw-admin-page.php} RENAMED
@@ -1,49 +1,49 @@
1
<?php
2
- /*
3
* content of the options page ..
4
* admin_menu.php -> settings_page.php -> admin_page.php
5
*/
6
7
if ( ! defined( 'ABSPATH' ) ) exit;
8
9
- function ccw_custom_settings() {
10
11
- register_setting( 'ccw_settings_group', 'ccw_options' , 'ccw_options_sanitize' );
12
-
13
- add_settings_section( 'ccw_settings', '', 'ccw_settings_section', 'ccw_options_settings' );
14
-
15
- add_settings_field( 'ccw_enable', 'Enable Floating Styles', 'ccw_enable_cb', 'ccw_options_settings', 'ccw_settings' );
16
- add_settings_field( 'ccw_enable_sc', 'Enable ShortCodes', 'ccw_enable_sc_cb', 'ccw_options_settings', 'ccw_settings' );
17
- add_settings_field( 'ccw_return_type', 'Return Type', 'ccw_return_type_cb', 'ccw_options_settings', 'ccw_settings' );
18
- add_settings_field( 'ccw_number', 'WhatsApp Number', 'ccw_number_input_cb', 'ccw_options_settings', 'ccw_settings' );
19
- add_settings_field( 'ccw_group_id', 'Group Id', 'ccw_group_id_cb', 'ccw_options_settings', 'ccw_settings' );
20
- add_settings_field( 'ccw_style', 'Style for Desktops', 'ccw_style_cb', 'ccw_options_settings', 'ccw_settings' );
21
- add_settings_field( 'ccw_style_mobile', 'Style for Mobile Devices', 'ccw_style_mobile_cb', 'ccw_options_settings', 'ccw_settings' );
22
- add_settings_field( 'ccw_position', 'Position to Place', 'ccw_position_input_cb', 'ccw_options_settings', 'ccw_settings' );
23
- add_settings_field( 'ccw_placeholder', 'Text to Display', 'ccw_input_placeholder_cb', 'ccw_options_settings', 'ccw_settings' );
24
- add_settings_field( 'ccw_checkbox', 'Show / Hide ', 'ccw_checkbox_cb', 'ccw_options_settings', 'ccw_settings' );
25
- add_settings_field( 'ccw_list_id_tohide', 'Posts, Pages Id\'s to Hide', 'ccw_list_id_tohide_cb', 'ccw_options_settings', 'ccw_settings' );
26
- add_settings_field( 'ccw_list_cat_tohide', 'Categorys to Hide', 'ccw_list_cat_tohide_cb', 'ccw_options_settings', 'ccw_settings' );
27
- add_settings_field( 'ccw_custom_shortcode', 'Shortcode name', 'ccw_custom_shortcode_cb', 'ccw_options_settings', 'ccw_settings' );
28
-
29
- }
30
-
31
-
32
- add_action( 'admin_init', 'ccw_custom_settings' );
33
34
35
- // heading
36
- if( ! function_exists('ccw_settings_section') ) {
37
38
function ccw_settings_section() {
39
echo '<h1>Click to Chat For WhatsApp - Global Settings</h1>';
40
}
41
- }
42
43
44
- // enable / disable floating styles
45
- if( ! function_exists('ccw_enable_cb') ) {
46
-
47
function ccw_enable_cb() {
48
$ccw_enable = get_option('ccw_options');
49
?>
@@ -58,11 +58,8 @@ if( ! function_exists('ccw_enable_cb') ) {
58
</div>
59
<?php
60
}
61
- }
62
63
- // enable / disable shortcodes
64
- if( ! function_exists('ccw_enable_sc_cb') ) {
65
-
66
function ccw_enable_sc_cb() {
67
$ccw_enable_sc = get_option('ccw_options');
68
?>
@@ -78,11 +75,8 @@ if( ! function_exists('ccw_enable_sc_cb') ) {
78
</div>
79
<?php
80
}
81
- }
82
83
- // Return type - chat or group chat
84
- if( ! function_exists('ccw_return_type_cb') ) {
85
-
86
function ccw_return_type_cb() {
87
$ccw_return_type = get_option('ccw_options');
88
?>
@@ -98,12 +92,9 @@ if( ! function_exists('ccw_return_type_cb') ) {
98
</div>
99
<?php
100
}
101
- }
102
103
104
- // Desktop - select style
105
- if( ! function_exists('ccw_style_cb') ) {
106
-
107
function ccw_style_cb() {
108
$ccw_style = get_option('ccw_options');
109
$style_value = esc_attr( $ccw_style['style'] );
@@ -127,11 +118,8 @@ if( ! function_exists('ccw_style_cb') ) {
127
</div>
128
<?php
129
}
130
- }
131
132
- // Mobile - Select Style
133
- if( ! function_exists('ccw_style_mobile_cb') ) {
134
-
135
function ccw_style_mobile_cb() {
136
$ccw_stylemobile = get_option('ccw_options');
137
$style_mobile_value = esc_attr( $ccw_stylemobile['stylemobile'] );
@@ -154,11 +142,8 @@ if( ! function_exists('ccw_style_mobile_cb') ) {
154
</div>
155
<?php
156
}
157
- }
158
159
- // number
160
- if( ! function_exists('ccw_number_input_cb') ) {
161
-
162
function ccw_number_input_cb() {
163
$ccw_number = get_option('ccw_options');
164
?>
@@ -171,11 +156,8 @@ if( ! function_exists('ccw_number_input_cb') ) {
171
</div>
172
<?php
173
}
174
- }
175
176
- // Group ID
177
- if( ! function_exists('ccw_group_id_cb') ) {
178
-
179
function ccw_group_id_cb() {
180
$ccw_group_id = get_option('ccw_options');
181
?>
@@ -183,16 +165,13 @@ if( ! function_exists('ccw_group_id_cb') ) {
183
<div class="input-field col s12">
184
<input name="ccw_options[group_id]" value="<?php echo esc_attr( $ccw_group_id['group_id'] ) ?>" id="whatsapp_group_id" type="text" class="validate input-margin">
185
<label for="whatsapp_group_id">whatsapp group ID Extenstion </label>
186
- <p class="description">Enter whatsapp Group Id - <a target="_blank" href="https://medium.com/clicktochat/later">more info</a> ) </p>
187
</div>
188
</div>
189
<?php
190
}
191
- }
192
193
- // postion
194
- if( ! function_exists('ccw_position_input_cb') ) {
195
-
196
function ccw_position_input_cb() {
197
$ccw_position = get_option('ccw_options');
198
$ccw_position_value = esc_attr( $ccw_position['position'] )
@@ -258,11 +237,8 @@ if( ! function_exists('ccw_position_input_cb') ) {
258
259
<?php
260
}
261
- }
262
263
- // Text - placeholder
264
- if( ! function_exists('ccw_input_placeholder_cb') ) {
265
-
266
function ccw_input_placeholder_cb() {
267
$ccw_placeholder = get_option('ccw_options');
268
?>
@@ -275,11 +251,8 @@ if( ! function_exists('ccw_input_placeholder_cb') ) {
275
</div>
276
<?php
277
}
278
- }
279
-
280
- // checkboxes - based on Type of posts ..
281
- if( ! function_exists('ccw_checkbox_cb') ) {
282
283
function ccw_checkbox_cb() {
284
$ccw_checkbox = get_option('ccw_options');
285
@@ -412,11 +385,8 @@ if( ! function_exists('ccw_checkbox_cb') ) {
412
<p class="description"> check to show, uncheck to hide - Show/ Hide - Styles - based on type of the page <a target="_blank" href="https://medium.com/clicktochat/show-hide-styles-based-on-type-of-the-page-4f0542a92909">more info</a> </p>
413
<?php
414
}
415
- }
416
417
// ID 's list to hide styles
418
- if( ! function_exists('ccw_list_id_tohide_cb') ) {
419
-
420
function ccw_list_id_tohide_cb() {
421
$ccw_list_id_tohide = get_option('ccw_options');
422
?>
@@ -429,12 +399,8 @@ if( ! function_exists('ccw_list_id_tohide_cb') ) {
429
</div>
430
<?php
431
}
432
- }
433
434
-
435
- // Categorys list - to hide
436
- if( ! function_exists('ccw_list_cat_tohide_cb') ) {
437
-
438
function ccw_list_cat_tohide_cb() {
439
$ccw_list_cat_tohide = get_option('ccw_options');
440
?>
@@ -447,11 +413,8 @@ if( ! function_exists('ccw_list_cat_tohide_cb') ) {
447
</div>
448
<?php
449
}
450
- }
451
452
- // Custom shortcode
453
- if( ! function_exists('ccw_custom_shortcode_cb') ) {
454
-
455
function ccw_custom_shortcode_cb() {
456
$ccw_shortcode = get_option('ccw_options');
457
?>
@@ -471,11 +434,8 @@ if( ! function_exists('ccw_custom_shortcode_cb') ) {
471
</div>
472
<?php
473
}
474
- }
475
476
- // Sanitize callback ..
477
- if( ! function_exists('ccw_options_sanitize') ) {
478
-
479
function ccw_options_sanitize( $input ) {
480
481
if ( ! current_user_can( 'manage_options' ) ) {
@@ -568,4 +528,14 @@ if( ! function_exists('ccw_options_sanitize') ) {
568
// $new_input = sanitize_text_field($input);
569
return $new_input;
570
}
571
- }
1
<?php
2
+ /**
3
* content of the options page ..
4
* admin_menu.php -> settings_page.php -> admin_page.php
5
+ *
6
+ * @package ccw
7
+ * @subpackage Administration
8
+ * @since 1.0
9
*/
10
11
if ( ! defined( 'ABSPATH' ) ) exit;
12
13
+ if ( !class_exists( 'CCW_Admin_Page' ) ) :
14
15
+ class CCW_Admin_Page {
16
17
+ function ccw_custom_settings() {
18
+
19
+ register_setting( 'ccw_settings_group', 'ccw_options' , 'ccw_options_sanitize' );
20
+
21
+ add_settings_section( 'ccw_settings', '', array( $this, 'ccw_settings_section' ), 'ccw_options_settings' );
22
+
23
+ add_settings_field( 'ccw_enable', 'Enable Floating Styles', array( $this, 'ccw_enable_cb' ), 'ccw_options_settings', 'ccw_settings' );
24
+ add_settings_field( 'ccw_enable_sc', 'Enable ShortCodes', array( $this, 'ccw_enable_sc_cb' ), 'ccw_options_settings', 'ccw_settings' );
25
+ add_settings_field( 'ccw_return_type', 'Return Type', array( $this, 'ccw_return_type_cb' ), 'ccw_options_settings', 'ccw_settings' );
26
+ add_settings_field( 'ccw_number', 'WhatsApp Number', array( $this, 'ccw_number_input_cb' ), 'ccw_options_settings', 'ccw_settings' );
27
+ add_settings_field( 'ccw_group_id', 'Group Id', array( $this, 'ccw_group_id_cb' ), 'ccw_options_settings', 'ccw_settings' );
28
+ add_settings_field( 'ccw_style', 'Style for Desktops', array( $this, 'ccw_style_cb' ), 'ccw_options_settings', 'ccw_settings' );
29
+ add_settings_field( 'ccw_style_mobile', 'Style for Mobile Devices', array( $this, 'ccw_style_mobile_cb' ), 'ccw_options_settings', 'ccw_settings' );
30
+ add_settings_field( 'ccw_position', 'Position to Place', array( $this, 'ccw_position_input_cb' ), 'ccw_options_settings', 'ccw_settings' );
31
+ add_settings_field( 'ccw_placeholder', 'Text to Display', array( $this, 'ccw_input_placeholder_cb' ), 'ccw_options_settings', 'ccw_settings' );
32
+ add_settings_field( 'ccw_checkbox', 'Show / Hide ', array( $this, 'ccw_checkbox_cb' ), 'ccw_options_settings', 'ccw_settings' );
33
+ add_settings_field( 'ccw_list_id_tohide', 'Posts, Pages Id\'s to Hide', array( $this, 'ccw_list_id_tohide_cb' ), 'ccw_options_settings', 'ccw_settings' );
34
+ add_settings_field( 'ccw_list_cat_tohide', 'Categorys to Hide', array( $this, 'ccw_list_cat_tohide_cb' ), 'ccw_options_settings', 'ccw_settings' );
35
+ add_settings_field( 'ccw_custom_shortcode', 'Shortcode name', array( $this, 'ccw_custom_shortcode_cb' ), 'ccw_options_settings', 'ccw_settings' );
36
+
37
+ }
38
39
40
+ // heading
41
function ccw_settings_section() {
42
echo '<h1>Click to Chat For WhatsApp - Global Settings</h1>';
43
}
44
45
46
+ // enable / disable floating styles
47
function ccw_enable_cb() {
48
$ccw_enable = get_option('ccw_options');
49
?>
58
</div>
59
<?php
60
}
61
62
+ // enable / disable shortcodes
63
function ccw_enable_sc_cb() {
64
$ccw_enable_sc = get_option('ccw_options');
65
?>
75
</div>
76
<?php
77
}
78
79
+ // Return type - chat or group chat
80
function ccw_return_type_cb() {
81
$ccw_return_type = get_option('ccw_options');
82
?>
92
</div>
93
<?php
94
}
95
96
97
+ // Desktop - select style
98
function ccw_style_cb() {
99
$ccw_style = get_option('ccw_options');
100
$style_value = esc_attr( $ccw_style['style'] );
118
</div>
119
<?php
120
}
121
122
+ // Mobile - Select Style
123
function ccw_style_mobile_cb() {
124
$ccw_stylemobile = get_option('ccw_options');
125
$style_mobile_value = esc_attr( $ccw_stylemobile['stylemobile'] );
142
</div>
143
<?php
144
}
145
146
+ // number
147
function ccw_number_input_cb() {
148
$ccw_number = get_option('ccw_options');
149
?>
156
</div>
157
<?php
158
}
159
160
+ // Group ID
161
function ccw_group_id_cb() {
162
$ccw_group_id = get_option('ccw_options');
163
?>
165
<div class="input-field col s12">
166
<input name="ccw_options[group_id]" value="<?php echo esc_attr( $ccw_group_id['group_id'] ) ?>" id="whatsapp_group_id" type="text" class="validate input-margin">
167
<label for="whatsapp_group_id">whatsapp group ID Extenstion </label>
168
+ <p class="description">Enter whatsapp Group Id - <a target="_blank" href="https://medium.com/clicktochat/whatsapp-group-id-162d8101073c">more info</a> ) </p>
169
</div>
170
</div>
171
<?php
172
}
173
174
+ // postion
175
function ccw_position_input_cb() {
176
$ccw_position = get_option('ccw_options');
177
$ccw_position_value = esc_attr( $ccw_position['position'] )
237
238
<?php
239
}
240
241
+ // Text - placeholder
242
function ccw_input_placeholder_cb() {
243
$ccw_placeholder = get_option('ccw_options');
244
?>
251
</div>
252
<?php
253
}
254
255
+ // checkboxes - based on Type of posts ..
256
function ccw_checkbox_cb() {
257
$ccw_checkbox = get_option('ccw_options');
258
385
<p class="description"> check to show, uncheck to hide - Show/ Hide - Styles - based on type of the page <a target="_blank" href="https://medium.com/clicktochat/show-hide-styles-based-on-type-of-the-page-4f0542a92909">more info</a> </p>
386
<?php
387
}
388
389
// ID 's list to hide styles
390
function ccw_list_id_tohide_cb() {
391
$ccw_list_id_tohide = get_option('ccw_options');
392
?>
399
</div>
400
<?php
401
}
402
403
+ // Categorys list - to hide
404
function ccw_list_cat_tohide_cb() {
405
$ccw_list_cat_tohide = get_option('ccw_options');
406
?>
413
</div>
414
<?php
415
}
416
417
+ // Custom shortcode
418
function ccw_custom_shortcode_cb() {
419
$ccw_shortcode = get_option('ccw_options');
420
?>
434
</div>
435
<?php
436
}
437
438
+ // Sanitize callback ..
439
function ccw_options_sanitize( $input ) {
440
441
if ( ! current_user_can( 'manage_options' ) ) {
528
// $new_input = sanitize_text_field($input);
529
return $new_input;
530
}
531
+
532
+
533
+ }
534
+
535
+
536
+
537
+ $admin_page = new CCW_Admin_Page();
538
+
539
+ add_action( 'admin_init', array( $admin_page,'ccw_custom_settings' ) );
540
+
541
+ endif; // END class_exists check
admin/default-values.php CHANGED
@@ -1,11 +1,14 @@
1
<?php
2
- /*
3
* set the default values
4
* which stores in database options table
5
* dont override user settings
6
* get user setting value and merge with newly added values
7
*
8
* ccw_plugin_details - this values will be overrides..
9
*/
10
11
if ( ! defined( 'ABSPATH' ) ) exit;
@@ -13,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
13
14
// plugin details
15
$plugin_details = array(
16
- 'version' => '1.0.0',
17
);
18
19
// Always use update_option - override new values .. don't preseve already existing values
1
<?php
2
+ /**
3
* set the default values
4
* which stores in database options table
5
* dont override user settings
6
* get user setting value and merge with newly added values
7
*
8
* ccw_plugin_details - this values will be overrides..
9
+ *
10
+ * @package ccw
11
+ * @since 1.0
12
*/
13
14
if ( ! defined( 'ABSPATH' ) ) exit;
16
17
// plugin details
18
$plugin_details = array(
19
+ 'version' => '1.2',
20
);
21
22
// Always use update_option - override new values .. don't preseve already existing values
admin/settings_page.php CHANGED
@@ -1,7 +1,11 @@
1
<?php
2
- /*
3
* options page
4
- * content of this page load / continue at admin_page.php
5
*/
6
7
if ( ! defined( 'ABSPATH' ) ) exit;
@@ -13,7 +17,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
13
<?php settings_errors(); ?>
14
15
<div class="row">
16
- <div class="col s12 m12 xl6">
17
<form action="options.php" method="post" class="col s12">
18
<?php settings_fields( 'ccw_settings_group' ); ?>
19
<?php do_settings_sections( 'ccw_options_settings' ) ?>
1
<?php
2
+ /**
3
* options page
4
+ * content of this page load / continue at admin_page.php
5
+ *
6
+ * @package ccw
7
+ * @subpackage Administration
8
+ * @since 1.0
9
*/
10
11
if ( ! defined( 'ABSPATH' ) ) exit;
17
<?php settings_errors(); ?>
18
19
<div class="row">
20
+ <div class="col s12 m12 xl6 options">
21
<form action="options.php" method="post" class="col s12">
22
<?php settings_fields( 'ccw_settings_group' ); ?>
23
<?php do_settings_sections( 'ccw_options_settings' ) ?>
admin/sp_customize_styles.php CHANGED
@@ -1,9 +1,13 @@
1
<?php
2
- /*
3
* settings page - customize styles ( settings_page.php is main page and this is sub page )
4
* options page
5
* content of this page load / continue at admin_page_customize_styles.php
6
* cs - customize styles
7
*/
8
9
if ( ! defined( 'ABSPATH' ) ) exit;
@@ -15,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) exit;
15
<?php settings_errors(); ?>
16
17
<div class="row">
18
- <div class="col s12 m12 xl6">
19
<form action="options.php" method="post" class="col s12">
20
<?php settings_fields( 'ccw_settings_group_cs' ); ?>
21
<?php do_settings_sections( 'ccw_options_settings_cs' ) ?>
1
<?php
2
+ /**
3
* settings page - customize styles ( settings_page.php is main page and this is sub page )
4
* options page
5
* content of this page load / continue at admin_page_customize_styles.php
6
* cs - customize styles
7
+ *
8
+ * @package ccw
9
+ * @subpackage Administration
10
+ * @since 1.0
11
*/
12
13
if ( ! defined( 'ABSPATH' ) ) exit;
19
<?php settings_errors(); ?>
20
21
<div class="row">
22
+ <div class="col s12 m12 xl6 options">
23
<form action="options.php" method="post" class="col s12">
24
<?php settings_fields( 'ccw_settings_group_cs' ); ?>
25
<?php do_settings_sections( 'ccw_options_settings_cs' ) ?>
assets/css/admin_main.css CHANGED
@@ -1,4765 +1,4760 @@
1
- /*
2
- * Materializecss
3
- * custom Code
4
- */
5
-
6
-
7
- /* Materializecss - http://materializecss.com/ */
8
-
9
- .materialize-red {
10
- background-color: #e51c23 !important; }
11
-
12
- .materialize-red-text {
13
- color: #e51c23 !important; }
14
-
15
- .materialize-red.lighten-5 {
16
- background-color: #fdeaeb !important; }
17
-
18
- .materialize-red-text.text-lighten-5 {
19
- color: #fdeaeb !important; }
20
-
21
- .materialize-red.lighten-4 {
22
- background-color: #f8c1c3 !important; }
23
-
24
- .materialize-red-text.text-lighten-4 {
25
- color: #f8c1c3 !important; }
26
-
27
- .materialize-red.lighten-3 {
28
- background-color: #f3989b !important; }
29
-
30
- .materialize-red-text.text-lighten-3 {
31
- color: #f3989b !important; }
32
-
33
- .materialize-red.lighten-2 {
34
- background-color: #ee6e73 !important; }
35
-
36
- .materialize-red-text.text-lighten-2 {
37
- color: #ee6e73 !important; }
38
-
39
- .materialize-red.lighten-1 {
40
- background-color: #ea454b !important; }
41
-
42
- .materialize-red-text.text-lighten-1 {
43
- color: #ea454b !important; }
44
-
45
- .materialize-red.darken-1 {
46
- background-color: #d0181e !important; }
47
-
48
- .materialize-red-text.text-darken-1 {
49
- color: #d0181e !important; }
50
-
51
- .materialize-red.darken-2 {
52
- background-color: #b9151b !important; }
53
-
54
- .materialize-red-text.text-darken-2 {
55
- color: #b9151b !important; }
56
-
57
- .materialize-red.darken-3 {
58
- background-color: #a21318 !important; }
59
-
60
- .materialize-red-text.text-darken-3 {
61
- color: #a21318 !important; }
62
-
63
- .materialize-red.darken-4 {
64
- background-color: #8b1014 !important; }
65
-
66
- .materialize-red-text.text-darken-4 {
67
- color: #8b1014 !important; }
68
-
69
- .red {
70
- background-color: #F44336 !important; }
71
-
72
- .red-text {
73
- color: #F44336 !important; }
74
-
75
- .red.lighten-5 {
76
- background-color: #FFEBEE !important; }
77
-
78
- .red-text.text-lighten-5 {
79
- color: #FFEBEE !important; }
80
-
81
- .red.lighten-4 {
82
- background-color: #FFCDD2 !important; }
83
-
84
- .red-text.text-lighten-4 {
85
- color: #FFCDD2 !important; }
86
-
87
- .red.lighten-3 {
88
- background-color: #EF9A9A !important; }
89
-
90
- .red-text.text-lighten-3 {
91
- color: #EF9A9A !important; }
92
-
93
- .red.lighten-2 {
94
- background-color: #E57373 !important; }
95
-
96
- .red-text.text-lighten-2 {
97
- color: #E57373 !important; }
98
-
99
- .red.lighten-1 {
100
- background-color: #EF5350 !important; }
101
-
102
- .red-text.text-lighten-1 {
103
- color: #EF5350 !important; }
104
-
105
- .red.darken-1 {
106
- background-color: #E53935 !important; }
107
-
108
- .red-text.text-darken-1 {
109
- color: #E53935 !important; }
110
-
111
- .red.darken-2 {
112
- background-color: #D32F2F !important; }
113
-
114
- .red-text.text-darken-2 {
115
- color: #D32F2F !important; }
116
-
117
- .red.darken-3 {
118
- background-color: #C62828 !important; }
119
-
120
- .red-text.text-darken-3 {
121
- color: #C62828 !important; }
122
-
123
- .red.darken-4 {
124
- background-color: #B71C1C !important; }
125
-
126
- .red-text.text-darken-4 {
127
- color: #B71C1C !important; }
128
-
129
- .red.accent-1 {
130
- background-color: #FF8A80 !important; }
131
-
132
- .red-text.text-accent-1 {
133
- color: #FF8A80 !important; }
134
-
135
- .red.accent-2 {
136
- background-color: #FF5252 !important; }
137
-
138
- .red-text.text-accent-2 {
139
- color: #FF5252 !important; }
140
-
141
- .red.accent-3 {
142
- background-color: #FF1744 !important; }
143
-
144
- .red-text.text-accent-3 {
145
- color: #FF1744 !important; }
146
-
147
- .red.accent-4 {
148
- background-color: #D50000 !important; }
149
-
150
- .red-text.text-accent-4 {
151
- color: #D50000 !important; }
152
-
153
- .pink {
154
- background-color: #e91e63 !important; }
155
-
156
- .pink-text {
157
- color: #e91e63 !important; }
158
-
159
- .pink.lighten-5 {
160
- background-color: #fce4ec !important; }
161
-
162
- .pink-text.text-lighten-5 {
163
- color: #fce4ec !important; }
164
-
165
- .pink.lighten-4 {
166
- background-color: #f8bbd0 !important; }
167
-
168
- .pink-text.text-lighten-4 {
169
- color: #f8bbd0 !important; }
170
-
171
- .pink.lighten-3 {
172
- background-color: #f48fb1 !important; }
173
-
174
- .pink-text.text-lighten-3 {
175
- color: #f48fb1 !important; }
176
-
177
- .pink.lighten-2 {
178
- background-color: #f06292 !important; }
179
-
180
- .pink-text.text-lighten-2 {
181
- color: #f06292 !important; }
182
-
183
- .pink.lighten-1 {
184
- background-color: #ec407a !important; }
185
-
186
- .pink-text.text-lighten-1 {
187
- color: #ec407a !important; }
188
-
189
- .pink.darken-1 {
190
- background-color: #d81b60 !important; }
191
-
192
- .pink-text.text-darken-1 {
193
- color: #d81b60 !important; }
194
-
195
- .pink.darken-2 {
196
- background-color: #c2185b !important; }
197
-
198
- .pink-text.text-darken-2 {
199
- color: #c2185b !important; }
200
-
201
- .pink.darken-3 {
202
- background-color: #ad1457 !important; }
203
-
204
- .pink-text.text-darken-3 {
205
- color: #ad1457 !important; }
206
-
207
- .pink.darken-4 {
208
- background-color: #880e4f !important; }
209
-
210
- .pink-text.text-darken-4 {
211
- color: #880e4f !important; }
212
-
213
- .pink.accent-1 {
214
- background-color: #ff80ab !important; }
215
-
216
- .pink-text.text-accent-1 {
217
- color: #ff80ab !important; }
218
-
219
- .pink.accent-2 {
220
- background-color: #ff4081 !important; }
221
-
222
- .pink-text.text-accent-2 {
223
- color: #ff4081 !important; }
224
-
225
- .pink.accent-3 {
226
- background-color: #f50057 !important; }
227
-
228
- .pink-text.text-accent-3 {
229
- color: #f50057 !important; }
230
-
231
- .pink.accent-4 {
232
- background-color: #c51162 !important; }
233
-
234
- .pink-text.text-accent-4 {
235
- color: #c51162 !important; }
236
-
237
- .purple {
238
- background-color: #9c27b0 !important; }
239
-
240
- .purple-text {
241
- color: #9c27b0 !important; }
242
-
243
- .purple.lighten-5 {
244
- background-color: #f3e5f5 !important; }
245
-
246
- .purple-text.text-lighten-5 {
247
- color: #f3e5f5 !important; }
248
-
249
- .purple.lighten-4 {
250
- background-color: #e1bee7 !important; }
251
-
252
- .purple-text.text-lighten-4 {
253
- color: #e1bee7 !important; }
254
-
255
- .purple.lighten-3 {
256
- background-color: #ce93d8 !important; }
257
-
258
- .purple-text.text-lighten-3 {
259
- color: #ce93d8 !important; }
260
-
261
- .purple.lighten-2 {
262
- background-color: #ba68c8 !important; }
263
-
264
- .purple-text.text-lighten-2 {
265
- color: #ba68c8 !important; }
266
-
267
- .purple.lighten-1 {
268
- background-color: #ab47bc !important; }
269
-
270
- .purple-text.text-lighten-1 {
271
- color: #ab47bc !important; }
272
-
273
- .purple.darken-1 {
274
- background-color: #8e24aa !important; }
275
-
276
- .purple-text.text-darken-1 {
277
- color: #8e24aa !important; }
278
-
279
- .purple.darken-2 {
280
- background-color: #7b1fa2 !important; }
281
-
282
- .purple-text.text-darken-2 {
283
- color: #7b1fa2 !important; }
284
-
285
- .purple.darken-3 {
286
- background-color: #6a1b9a !important; }
287
-
288
- .purple-text.text-darken-3 {
289
- color: #6a1b9a !important; }
290
-
291
- .purple.darken-4 {
292
- background-color: #4a148c !important; }
293
-
294
- .purple-text.text-darken-4 {
295
- color: #4a148c !important; }
296
-
297
- .purple.accent-1 {
298
- background-color: #ea80fc !important; }
299
-
300
- .purple-text.text-accent-1 {
301
- color: #ea80fc !important; }
302
-
303
- .purple.accent-2 {
304
- background-color: #e040fb !important; }
305
-
306
- .purple-text.text-accent-2 {
307
- color: #e040fb !important; }
308
-
309
- .purple.accent-3 {
310
- background-color: #d500f9 !important; }
311
-
312
- .purple-text.text-accent-3 {
313
- color: #d500f9 !important; }
314
-
315
- .purple.accent-4 {
316
- background-color: #aa00ff !important; }
317
-
318
- .purple-text.text-accent-4 {
319
- color: #aa00ff !important; }
320
-
321
- .deep-purple {
322
- background-color: #673ab7 !important; }
323
-
324
- .deep-purple-text {
325
- color: #673ab7 !important; }
326
-
327
- .deep-purple.lighten-5 {
328
- background-color: #ede7f6 !important; }
329
-
330
- .deep-purple-text.text-lighten-5 {
331
- color: #ede7f6 !important; }
332
-
333
- .deep-purple.lighten-4 {
334
- background-color: #d1c4e9 !important; }
335
-
336
- .deep-purple-text.text-lighten-4 {
337
- color: #d1c4e9 !important; }
338
-
339
- .deep-purple.lighten-3 {
340
- background-color: #b39ddb !important; }
341
-
342
- .deep-purple-text.text-lighten-3 {
343
- color: #b39ddb !important; }
344
-
345
- .deep-purple.lighten-2 {
346
- background-color: #9575cd !important; }
347
-
348
- .deep-purple-text.text-lighten-2 {
349
- color: #9575cd !important; }
350
-
351
- .deep-purple.lighten-1 {
352
- background-color: #7e57c2 !important; }
353
-
354
- .deep-purple-text.text-lighten-1 {
355
- color: #7e57c2 !important; }
356
-
357
- .deep-purple.darken-1 {
358
- background-color: #5e35b1 !important; }
359
-
360
- .deep-purple-text.text-darken-1 {
361
- color: #5e35b1 !important; }
362
-
363
- .deep-purple.darken-2 {
364
- background-color: #512da8 !important; }
365
-
366
- .deep-purple-text.text-darken-2 {
367
- color: #512da8 !important; }
368
-
369
- .deep-purple.darken-3 {
370
- background-color: #4527a0 !important; }
371
-
372
- .deep-purple-text.text-darken-3 {
373
- color: #4527a0 !important; }
374
-
375
- .deep-purple.darken-4 {
376
- background-color: #311b92 !important; }
377
-
378
- .deep-purple-text.text-darken-4 {
379
- color: #311b92 !important; }
380
-
381
- .deep-purple.accent-1 {
382
- background-color: #b388ff !important; }
383
-
384
- .deep-purple-text.text-accent-1 {
385
- color: #b388ff !important; }
386
-
387
- .deep-purple.accent-2 {
388
- background-color: #7c4dff !important; }
389
-
390
- .deep-purple-text.text-accent-2 {
391
- color: #7c4dff !important; }
392
-
393
- .deep-purple.accent-3 {
394
- background-color: #651fff !important; }
395
-
396
- .deep-purple-text.text-accent-3 {
397
- color: #651fff !important; }
398
-
399
- .deep-purple.accent-4 {
400
- background-color: #6200ea !important; }
401
-
402
- .deep-purple-text.text-accent-4 {
403
- color: #6200ea !important; }
404
-
405
- .indigo {
406
- background-color: #3f51b5 !important; }
407
-
408
- .indigo-text {
409
- color: #3f51b5 !important; }
410
-
411
- .indigo.lighten-5 {
412
- background-color: #e8eaf6 !important; }
413
-
414
- .indigo-text.text-lighten-5 {
415
- color: #e8eaf6 !important; }
416
-
417
- .indigo.lighten-4 {
418
- background-color: #c5cae9 !important; }
419
-
420
- .indigo-text.text-lighten-4 {
421
- color: #c5cae9 !important; }
422
-
423
- .indigo.lighten-3 {
424
- background-color: #9fa8da !important; }
425
-
426
- .indigo-text.text-lighten-3 {
427
- color: #9fa8da !important; }
428
-
429
- .indigo.lighten-2 {
430
- background-color: #7986cb !important; }
431
-
432
- .indigo-text.text-lighten-2 {
433
- color: #7986cb !important; }
434
-
435
- .indigo.lighten-1 {
436
- background-color: #5c6bc0 !important; }
437
-
438
- .indigo-text.text-lighten-1 {
439
- color: #5c6bc0 !important; }
440
-
441
- .indigo.darken-1 {
442
- background-color: #3949ab !important; }
443
-
444
- .indigo-text.text-darken-1 {
445
- color: #3949ab !important; }
446
-
447
- .indigo.darken-2 {
448
- background-color: #303f9f !important; }
449
-
450
- .indigo-text.text-darken-2 {
451
- color: #303f9f !important; }
452
-
453
- .indigo.darken-3 {
454
- background-color: #283593 !important; }
455
-
456
- .indigo-text.text-darken-3 {
457
- color: #283593 !important; }
458
-
459
- .indigo.darken-4 {
460
- background-color: #1a237e !important; }
461
-
462
- .indigo-text.text-darken-4 {
463
- color: #1a237e !important; }
464
-
465
- .indigo.accent-1 {
466
- background-color: #8c9eff !important; }
467
-
468
- .indigo-text.text-accent-1 {
469
- color: #8c9eff !important; }
470
-
471
- .indigo.accent-2 {
472
- background-color: #536dfe !important; }
473
-
474
- .indigo-text.text-accent-2 {
475
- color: #536dfe !important; }
476
-
477
- .indigo.accent-3 {
478
- background-color: #3d5afe !important; }
479
-
480
- .indigo-text.text-accent-3 {
481
- color: #3d5afe !important; }
482
-
483
- .indigo.accent-4 {
484
- background-color: #304ffe !important; }
485
-
486
- .indigo-text.text-accent-4 {
487
- color: #304ffe !important; }
488
-
489
- .blue {
490
- background-color: #2196F3 !important; }
491
-
492
- .blue-text {
493
- color: #2196F3 !important; }
494
-
495
- .blue.lighten-5 {
496
- background-color: #E3F2FD !important; }
497
-
498
- .blue-text.text-lighten-5 {
499
- color: #E3F2FD !important; }
500
-
501
- .blue.lighten-4 {
502
- background-color: #BBDEFB !important; }
503
-
504
- .blue-text.text-lighten-4 {
505
- color: #BBDEFB !important; }
506
-
507
- .blue.lighten-3 {
508
- background-color: #90CAF9 !important; }
509
-
510
- .blue-text.text-lighten-3 {
511
- color: #90CAF9 !important; }
512
-
513
- .blue.lighten-2 {
514
- background-color: #64B5F6 !important; }
515
-
516
- .blue-text.text-lighten-2 {
517
- color: #64B5F6 !important; }
518
-
519
- .blue.lighten-1 {
520
- background-color: #42A5F5 !important; }
521
-
522
- .blue-text.text-lighten-1 {
523
- color: #42A5F5 !important; }
524
-
525
- .blue.darken-1 {
526
- background-color: #1E88E5 !important; }
527
-
528
- .blue-text.text-darken-1 {
529
- color: #1E88E5 !important; }
530
-
531
- .blue.darken-2 {
532
- background-color: #1976D2 !important; }
533
-
534
- .blue-text.text-darken-2 {
535
- color: #1976D2 !important; }
536
-
537
- .blue.darken-3 {
538
- background-color: #1565C0 !important; }
539
-
540
- .blue-text.text-darken-3 {
541
- color: #1565C0 !important; }
542
-
543
- .blue.darken-4 {
544
- background-color: #0D47A1 !important; }
545
-
546
- .blue-text.text-darken-4 {
547
- color: #0D47A1 !important; }
548
-
549
- .blue.accent-1 {
550
- background-color: #82B1FF !important; }
551
-
552
- .blue-text.text-accent-1 {
553
- color: #82B1FF !important; }
554
-
555
- .blue.accent-2 {
556
- background-color: #448AFF !important; }
557
-
558
- .blue-text.text-accent-2 {
559
- color: #448AFF !important; }
560
-
561
- .blue.accent-3 {
562
- background-color: #2979FF !important; }
563
-
564
- .blue-text.text-accent-3 {
565
- color: #2979FF !important; }
566
-
567
- .blue.accent-4 {
568
- background-color: #2962FF !important; }
569
-
570
- .blue-text.text-accent-4 {
571
- color: #2962FF !important; }
572
-
573
- .light-blue {
574
- background-color: #03a9f4 !important; }
575
-
576
- .light-blue-text {
577
- color: #03a9f4 !important; }
578
-
579
- .light-blue.lighten-5 {
580
- background-color: #e1f5fe !important; }
581
-
582
- .light-blue-text.text-lighten-5 {
583
- color: #e1f5fe !important; }
584
-
585
- .light-blue.lighten-4 {
586
- background-color: #b3e5fc !important; }
587
-
588
- .light-blue-text.text-lighten-4 {
589
- color: #b3e5fc !important; }
590
-
591
- .light-blue.lighten-3 {
592
- background-color: #81d4fa !important; }
593
-
594
- .light-blue-text.text-lighten-3 {
595
- color: #81d4fa !important; }
596
-
597
- .light-blue.lighten-2 {
598
- background-color: #4fc3f7 !important; }
599
-
600
- .light-blue-text.text-lighten-2 {
601
- color: #4fc3f7 !important; }
602
-
603
- .light-blue.lighten-1 {
604
- background-color: #29b6f6 !important; }
605
-
606
- .light-blue-text.text-lighten-1 {
607
- color: #29b6f6 !important; }
608
-
609
- .light-blue.darken-1 {
610
- background-color: #039be5 !important; }
611
-
612
- .light-blue-text.text-darken-1 {
613
- color: #039be5 !important; }
614
-
615
- .light-blue.darken-2 {
616
- background-color: #0288d1 !important; }
617
-
618
- .light-blue-text.text-darken-2 {
619
- color: #0288d1 !important; }
620
-
621
- .light-blue.darken-3 {
622
- background-color: #0277bd !important; }
623
-
624
- .light-blue-text.text-darken-3 {
625
- color: #0277bd !important; }
626
-
627
- .light-blue.darken-4 {
628
- background-color: #01579b !important; }
629
-
630
- .light-blue-text.text-darken-4 {
631
- color: #01579b !important; }
632
-
633
- .light-blue.accent-1 {
634
- background-color: #80d8ff !important; }
635
-
636
- .light-blue-text.text-accent-1 {
637
- color: #80d8ff !important; }
638
-
639
- .light-blue.accent-2 {
640
- background-color: #40c4ff !important; }
641
-
642
- .light-blue-text.text-accent-2 {
643
- color: #40c4ff !important; }
644
-
645
- .light-blue.accent-3 {
646
- background-color: #00b0ff !important; }
647
-
648
- .light-blue-text.text-accent-3 {
649
- color: #00b0ff !important; }
650
-
651
- .light-blue.accent-4 {
652
- background-color: #0091ea !important; }
653
-
654
- .light-blue-text.text-accent-4 {
655
- color: #0091ea !important; }
656
-
657
- .cyan {
658
- background-color: #00bcd4 !important; }
659
-
660
- .cyan-text {
661
- color: #00bcd4 !important; }
662
-
663
- .cyan.lighten-5 {
664
- background-color: #e0f7fa !important; }
665
-
666
- .cyan-text.text-lighten-5 {
667
- color: #e0f7fa !important; }
668
-
669
- .cyan.lighten-4 {
670
- background-color: #b2ebf2 !important; }
671
-
672
- .cyan-text.text-lighten-4 {
673
- color: #b2ebf2 !important; }
674
-
675
- .cyan.lighten-3 {
676
- background-color: #80deea !important; }
677
-
678
- .cyan-text.text-lighten-3 {
679
- color: #80deea !important; }
680
-
681
- .cyan.lighten-2 {
682
- background-color: #4dd0e1 !important; }
683
-
684
- .cyan-text.text-lighten-2 {
685
- color: #4dd0e1 !important; }
686
-
687
- .cyan.lighten-1 {
688
- background-color: #26c6da !important; }
689
-
690
- .cyan-text.text-lighten-1 {
691
- color: #26c6da !important; }
692
-
693
- .cyan.darken-1 {
694
- background-color: #00acc1 !important; }
695
-
696
- .cyan-text.text-darken-1 {
697
- color: #00acc1 !important; }
698
-
699
- .cyan.darken-2 {
700
- background-color: #0097a7 !important; }
701
-
702
- .cyan-text.text-darken-2 {
703
- color: #0097a7 !important; }
704
-
705
- .cyan.darken-3 {
706
- background-color: #00838f !important; }
707
-
708
- .cyan-text.text-darken-3 {
709
- color: #00838f !important; }
710
-
711
- .cyan.darken-4 {
712
- background-color: #006064 !important; }
713
-
714
- .cyan-text.text-darken-4 {
715
- color: #006064 !important; }
716
-
717
- .cyan.accent-1 {
718
- background-color: #84ffff !important; }
719
-
720
- .cyan-text.text-accent-1 {
721
- color: #84ffff !important; }
722
-
723
- .cyan.accent-2 {
724
- background-color: #18ffff !important; }
725
-
726
- .cyan-text.text-accent-2 {
727
- color: #18ffff !important; }
728
-
729
- .cyan.accent-3 {
730
- background-color: #00e5ff !important; }
731
-
732
- .cyan-text.text-accent-3 {
733
- color: #00e5ff !important; }
734
-
735
- .cyan.accent-4 {
736
- background-color: #00b8d4 !important; }
737
-
738
- .cyan-text.text-accent-4 {
739
- color: #00b8d4 !important; }
740
-
741
- .teal {
742
- background-color: #009688 !important; }
743
-
744
- .teal-text {
745
- color: #009688 !important; }
746
-
747
- .teal.lighten-5 {
748
- background-color: #e0f2f1 !important; }
749
-
750
- .teal-text.text-lighten-5 {
751
- color: #e0f2f1 !important; }
752
-
753
- .teal.lighten-4 {
754
- background-color: #b2dfdb !important; }
755
-
756
- .teal-text.text-lighten-4 {
757
- color: #b2dfdb !important; }
758
-
759
- .teal.lighten-3 {
760
- background-color: #80cbc4 !important; }
761
-
762
- .teal-text.text-lighten-3 {
763
- color: #80cbc4 !important; }
764
-
765
- .teal.lighten-2 {
766
- background-color: #4db6ac !important; }
767
-
768
- .teal-text.text-lighten-2 {
769
- color: #4db6ac !important; }
770
-
771
- .teal.lighten-1 {
772
- background-color: #26a69a !important; }
773
-
774
- .teal-text.text-lighten-1 {
775
- color: #26a69a !important; }
776
-
777
- .teal.darken-1 {
778
- background-color: #00897b !important; }
779
-
780
- .teal-text.text-darken-1 {
781
- color: #00897b !important; }
782
-
783
- .teal.darken-2 {
784
- background-color: #00796b !important; }
785
-
786
- .teal-text.text-darken-2 {
787
- color: #00796b !important; }
788
-
789
- .teal.darken-3 {
790
- background-color: #00695c !important; }
791
-
792
- .teal-text.text-darken-3 {
793
- color: #00695c !important; }
794
-
795
- .teal.darken-4 {
796
- background-color: #004d40 !important; }
797
-
798
- .teal-text.text-darken-4 {
799
- color: #004d40 !important; }
800
-
801
- .teal.accent-1 {
802
- background-color: #a7ffeb !important; }
803
-
804
- .teal-text.text-accent-1 {
805
- color: #a7ffeb !important; }
806
-
807
- .teal.accent-2 {
808
- background-color: #64ffda !important; }
809
-
810
- .teal-text.text-accent-2 {
811
- color: #64ffda !important; }
812
-
813
- .teal.accent-3 {
814
- background-color: #1de9b6 !important; }
815
-
816
- .teal-text.text-accent-3 {
817
- color: #1de9b6 !important; }
818
-
819
- .teal.accent-4 {
820
- background-color: #00bfa5 !important; }
821
-
822
- .teal-text.text-accent-4 {
823
- color: #00bfa5 !important; }
824
-
825
- .green {
826
- background-color: #4CAF50 !important; }
827
-
828
- .green-text {
829
- color: #4CAF50 !important; }
830
-
831
- .green.lighten-5 {
832
- background-color: #E8F5E9 !important; }
833
-
834
- .green-text.text-lighten-5 {
835
- color: #E8F5E9 !important; }
836
-
837
- .green.lighten-4 {
838
- background-color: #C8E6C9 !important; }
839
-
840
- .green-text.text-lighten-4 {
841
- color: #C8E6C9 !important; }
842
-
843
- .green.lighten-3 {
844
- background-color: #A5D6A7 !important; }
845
-
846
- .green-text.text-lighten-3 {
847
- color: #A5D6A7 !important; }
848
-
849
- .green.lighten-2 {
850
- background-color: #81C784 !important; }
851
-
852
- .green-text.text-lighten-2 {
853
- color: #81C784 !important; }
854
-
855
- .green.lighten-1 {
856
- background-color: #66BB6A !important; }
857
-
858
- .green-text.text-lighten-1 {
859
- color: #66BB6A !important; }
860
-
861
- .green.darken-1 {
862
- background-color: #43A047 !important; }
863
-
864
- .green-text.text-darken-1 {
865
- color: #43A047 !important; }
866
-
867
- .green.darken-2 {
868
- background-color: #388E3C !important; }
869
-
870
- .green-text.text-darken-2 {
871
- color: #388E3C !important; }
872
-
873
- .green.darken-3 {
874
- background-color: #2E7D32 !important; }
875
-
876
- .green-text.text-darken-3 {
877
- color: #2E7D32 !important; }
878
-
879
- .green.darken-4 {
880
- background-color: #1B5E20 !important; }
881
-
882
- .green-text.text-darken-4 {
883
- color: #1B5E20 !important; }
884
-
885
- .green.accent-1 {
886
- background-color: #B9F6CA !important; }
887
-
888
- .green-text.text-accent-1 {
889
- color: #B9F6CA !important; }
890
-
891
- .green.accent-2 {
892
- background-color: #69F0AE !important; }
893
-
894
- .green-text.text-accent-2 {
895
- color: #69F0AE !important; }
896
-
897
- .green.accent-3 {
898
- background-color: #00E676 !important; }
899
-
900
- .green-text.text-accent-3 {
901
- color: #00E676 !important; }
902
-
903
- .green.accent-4 {
904
- background-color: #00C853 !important; }
905
-
906
- .green-text.text-accent-4 {
907
- color: #00C853 !important; }
908
-
909
- .light-green {
910
- background-color: #8bc34a !important; }
911
-
912
- .light-green-text {
913
- color: #8bc34a !important; }
914
-
915
- .light-green.lighten-5 {
916
- background-color: #f1f8e9 !important; }
917
-
918
- .light-green-text.text-lighten-5 {
919
- color: #f1f8e9 !important; }
920
-
921
- .light-green.lighten-4 {
922
- background-color: #dcedc8 !important; }
923
-
924
- .light-green-text.text-lighten-4 {
925
- color: #dcedc8 !important; }
926
-
927
- .light-green.lighten-3 {
928
- background-color: #c5e1a5 !important; }
929
-
930
- .light-green-text.text-lighten-3 {
931
- color: #c5e1a5 !important; }
932
-
933
- .light-green.lighten-2 {
934
- background-color: #aed581 !important; }
935
-
936
- .light-green-text.text-lighten-2 {
937
- color: #aed581 !important; }
938
-
939
- .light-green.lighten-1 {
940
- background-color: #9ccc65 !important; }
941
-
942
- .light-green-text.text-lighten-1 {
943
- color: #9ccc65 !important; }
944
-
945
- .light-green.darken-1 {
946
- background-color: #7cb342 !important; }
947
-
948
- .light-green-text.text-darken-1 {
949
- color: #7cb342 !important; }
950
-
951
- .light-green.darken-2 {
952
- background-color: #689f38 !important; }
953
-
954
- .light-green-text.text-darken-2 {
955
- color: #689f38 !important; }
956
-
957
- .light-green.darken-3 {
958
- background-color: #558b2f !important; }
959
-
960
- .light-green-text.text-darken-3 {
961
- color: #558b2f !important; }
962
-
963
- .light-green.darken-4 {
964
- background-color: #33691e !important; }
965
-
966
- .light-green-text.text-darken-4 {
967
- color: #33691e !important; }
968
-
969
- .light-green.accent-1 {
970
- background-color: #ccff90 !important; }
971
-
972
- .light-green-text.text-accent-1 {
973
- color: #ccff90 !important; }
974
-
975
- .light-green.accent-2 {
976
- background-color: #b2ff59 !important; }
977
-
978
- .light-green-text.text-accent-2 {
979
- color: #b2ff59 !important; }
980
-
981
- .light-green.accent-3 {
982
- background-color: #76ff03 !important; }
983
-
984
- .light-green-text.text-accent-3 {
985
- color: #76ff03 !important; }
986
-
987
- .light-green.accent-4 {
988
- background-color: #64dd17 !important; }
989
-
990
- .light-green-text.text-accent-4 {
991
- color: #64dd17 !important; }
992
-
993
- .lime {
994
- background-color: #cddc39 !important; }
995
-
996
- .lime-text {
997
- color: #cddc39 !important; }
998
-
999
- .lime.lighten-5 {
1000
- background-color: #f9fbe7 !important; }
1001
-
1002
- .lime-text.text-lighten-5 {
1003
- color: #f9fbe7 !important; }
1004
-
1005
- .lime.lighten-4 {
1006
- background-color: #f0f4c3 !important; }
1007
-
1008
- .lime-text.text-lighten-4 {
1009
- color: #f0f4c3 !important; }
1010
-
1011
- .lime.lighten-3 {
1012
- background-color: #e6ee9c !important; }
1013
-
1014
- .lime-text.text-lighten-3 {
1015
- color: #e6ee9c !important; }
1016
-
1017
- .lime.lighten-2 {
1018
- background-color: #dce775 !important; }
1019
-
1020
- .lime-text.text-lighten-2 {
1021
- color: #dce775 !important; }
1022
-
1023
- .lime.lighten-1 {
1024
- background-color: #d4e157 !important; }
1025
-
1026
- .lime-text.text-lighten-1 {
1027
- color: #d4e157 !important; }
1028
-
1029
- .lime.darken-1 {
1030
- background-color: #c0ca33 !important; }
1031
-
1032
- .lime-text.text-darken-1 {
1033
- color: #c0ca33 !important; }
1034
-
1035
- .lime.darken-2 {
1036
- background-color: #afb42b !important; }
1037
-
1038
- .lime-text.text-darken-2 {
1039
- color: #afb42b !important; }
1040
-
1041
- .lime.darken-3 {
1042
- background-color: #9e9d24 !important; }
1043
-
1044
- .lime-text.text-darken-3 {
1045
- color: #9e9d24 !important; }
1046
-
1047
- .lime.darken-4 {
1048
- background-color: #827717 !important; }
1049
-
1050
- .lime-text.text-darken-4 {
1051
- color: #827717 !important; }
1052
-
1053
- .lime.accent-1 {
1054
- background-color: #f4ff81 !important; }
1055
-
1056
- .lime-text.text-accent-1 {
1057
- color: #f4ff81 !important; }
1058
-
1059
- .lime.accent-2 {
1060
- background-color: #eeff41 !important; }
1061
-
1062
- .lime-text.text-accent-2 {
1063
- color: #eeff41 !important; }
1064
-
1065
- .lime.accent-3 {
1066
- background-color: #c6ff00 !important; }
1067
-
1068
- .lime-text.text-accent-3 {
1069
- color: #c6ff00 !important; }
1070
-
1071
- .lime.accent-4 {
1072
- background-color: #aeea00 !important; }
1073
-
1074
- .lime-text.text-accent-4 {
1075
- color: #aeea00 !important; }
1076
-
1077
- .yellow {
1078
- background-color: #ffeb3b !important; }
1079
-
1080
- .yellow-text {
1081
- color: #ffeb3b !important; }
1082
-
1083
- .yellow.lighten-5 {
1084
- background-color: #fffde7 !important; }
1085
-
1086
- .yellow-text.text-lighten-5 {
1087
- color: #fffde7 !important; }
1088
-
1089
- .yellow.lighten-4 {
1090
- background-color: #fff9c4 !important; }
1091
-
1092
- .yellow-text.text-lighten-4 {
1093
- color: #fff9c4 !important; }
1094
-
1095
- .yellow.lighten-3 {
1096
- background-color: #fff59d !important; }
1097
-
1098
- .yellow-text.text-lighten-3 {
1099
- color: #fff59d !important; }
1100
-
1101
- .yellow.lighten-2 {
1102
- background-color: #fff176 !important; }
1103
-
1104
- .yellow-text.text-lighten-2 {
1105
- color: #fff176 !important; }
1106
-
1107
- .yellow.lighten-1 {
1108
- background-color: #ffee58 !important; }
1109
-
1110
- .yellow-text.text-lighten-1 {
1111
- color: #ffee58 !important; }
1112
-
1113
- .yellow.darken-1 {
1114
- background-color: #fdd835 !important; }
1115
-
1116
- .yellow-text.text-darken-1 {
1117
- color: #fdd835 !important; }
1118
-
1119
- .yellow.darken-2 {
1120
- background-color: #fbc02d !important; }
1121
-
1122
- .yellow-text.text-darken-2 {
1123
- color: #fbc02d !important; }
1124
-
1125
- .yellow.darken-3 {
1126
- background-color: #f9a825 !important; }
1127
-
1128
- .yellow-text.text-darken-3 {
1129
- color: #f9a825 !important; }
1130
-
1131
- .yellow.darken-4 {
1132
- background-color: #f57f17 !important; }
1133
-
1134
- .yellow-text.text-darken-4 {
1135
- color: #f57f17 !important; }
1136
-
1137
- .yellow.accent-1 {
1138
- background-color: #ffff8d !important; }
1139
-
1140
- .yellow-text.text-accent-1 {
1141
- color: #ffff8d !important; }
1142
-
1143
- .yellow.accent-2 {
1144
- background-color: #ffff00 !important; }
1145
-
1146
- .yellow-text.text-accent-2 {
1147
- color: #ffff00 !important; }
1148
-
1149
- .yellow.accent-3 {
1150
- background-color: #ffea00 !important; }
1151
-
1152
- .yellow-text.text-accent-3 {
1153
- color: #ffea00 !important; }
1154
-
1155
- .yellow.accent-4 {
1156
- background-color: #ffd600 !important; }
1157
-
1158
- .yellow-text.text-accent-4 {
1159
- color: #ffd600 !important; }
1160
-
1161
- .amber {
1162
- background-color: #ffc107 !important; }
1163
-
1164
- .amber-text {
1165
- color: #ffc107 !important; }
1166
-
1167
- .amber.lighten-5 {
1168
- background-color: #fff8e1 !important; }
1169
-
1170
- .amber-text.text-lighten-5 {
1171
- color: #fff8e1 !important; }
1172
-
1173
- .amber.lighten-4 {
1174
- background-color: #ffecb3 !important; }
1175
-
1176
- .amber-text.text-lighten-4 {
1177
- color: #ffecb3 !important; }
1178
-
1179
- .amber.lighten-3 {
1180
- background-color: #ffe082 !important; }
1181
-
1182
- .amber-text.text-lighten-3 {
1183
- color: #ffe082 !important; }
1184
-
1185
- .amber.lighten-2 {
1186
- background-color: #ffd54f !important; }
1187
-
1188
- .amber-text.text-lighten-2 {
1189
- color: #ffd54f !important; }
1190
-
1191
- .amber.lighten-1 {
1192
- background-color: #ffca28 !important; }
1193
-
1194
- .amber-text.text-lighten-1 {
1195
- color: #ffca28 !important; }
1196
-
1197
- .amber.darken-1 {
1198
- background-color: #ffb300 !important; }
1199
-
1200
- .amber-text.text-darken-1 {
1201
- color: #ffb300 !important; }
1202
-
1203
- .amber.darken-2 {
1204
- background-color: #ffa000 !important; }
1205
-
1206
- .amber-text.text-darken-2 {
1207
- color: #ffa000 !important; }
1208
-
1209
- .amber.darken-3 {
1210
- background-color: #ff8f00 !important; }
1211
-
1212
- .amber-text.text-darken-3 {
1213
- color: #ff8f00 !important; }
1214
-
1215
- .amber.darken-4 {
1216
- background-color: #ff6f00 !important; }
1217
-
1218
- .amber-text.text-darken-4 {
1219
- color: #ff6f00 !important; }
1220
-
1221
- .amber.accent-1 {
1222
- background-color: #ffe57f !important; }
1223
-
1224
- .amber-text.text-accent-1 {
1225
- color: #ffe57f !important; }
1226
-
1227
- .amber.accent-2 {
1228
- background-color: #ffd740 !important; }
1229
-
1230
- .amber-text.text-accent-2 {
1231
- color: #ffd740 !important; }
1232
-
1233
- .amber.accent-3 {
1234
- background-color: #ffc400 !important; }
1235
-
1236
- .amber-text.text-accent-3 {
1237
- color: #ffc400 !important; }
1238
-
1239
- .amber.accent-4 {
1240
- background-color: #ffab00 !important; }
1241
-
1242
- .amber-text.text-accent-4 {
1243
- color: #ffab00 !important; }
1244
-
1245
- .orange {
1246
- background-color: #ff9800 !important; }
1247
-
1248
- .orange-text {
1249
- color: #ff9800 !important; }
1250
-
1251
- .orange.lighten-5 {
1252
- background-color: #fff3e0 !important; }
1253
-
1254
- .orange-text.text-lighten-5 {
1255
- color: #fff3e0 !important; }
1256
-
1257
- .orange.lighten-4 {
1258
- background-color: #ffe0b2 !important; }
1259
-
1260
- .orange-text.text-lighten-4 {
1261
- color: #ffe0b2 !important; }
1262
-
1263
- .orange.lighten-3 {
1264
- background-color: #ffcc80 !important; }
1265
-
1266
- .orange-text.text-lighten-3 {
1267
- color: #ffcc80 !important; }
1268
-
1269
- .orange.lighten-2 {
1270
- background-color: #ffb74d !important; }
1271
-
1272
- .orange-text.text-lighten-2 {
1273
- color: #ffb74d !important; }
1274
-
1275
- .orange.lighten-1 {
1276
- background-color: #ffa726 !important; }
1277
-
1278
- .orange-text.text-lighten-1 {
1279
- color: #ffa726 !important; }
1280
-
1281
- .orange.darken-1 {
1282
- background-color: #fb8c00 !important; }
1283
-
1284
- .orange-text.text-darken-1 {
1285
- color: #fb8c00 !important; }
1286
-
1287
- .orange.darken-2 {
1288
- background-color: #f57c00 !important; }
1289
-
1290
- .orange-text.text-darken-2 {
1291
- color: #f57c00 !important; }
1292
-
1293
- .orange.darken-3 {
1294
- background-color: #ef6c00 !important; }
1295
-
1296
- .orange-text.text-darken-3 {
1297
- color: #ef6c00 !important; }
1298
-
1299
- .orange.darken-4 {
1300
- background-color: #e65100 !important; }
1301
-
1302
- .orange-text.text-darken-4 {
1303
- color: #e65100 !important; }
1304
-
1305
- .orange.accent-1 {
1306
- background-color: #ffd180 !important; }
1307
-
1308
- .orange-text.text-accent-1 {
1309
- color: #ffd180 !important; }
1310
-
1311
- .orange.accent-2 {
1312
- background-color: #ffab40 !important; }
1313
-
1314
- .orange-text.text-accent-2 {
1315
- color: #ffab40 !important; }
1316
-
1317
- .orange.accent-3 {
1318
- background-color: #ff9100 !important; }
1319
-
1320
- .orange-text.text-accent-3 {
1321
- color: #ff9100 !important; }
1322
-
1323
- .orange.accent-4 {
1324
- background-color: #ff6d00 !important; }
1325
-
1326
- .orange-text.text-accent-4 {
1327
- color: #ff6d00 !important; }
1328
-
1329
- .deep-orange {
1330
- background-color: #ff5722 !important; }
1331
-
1332
- .deep-orange-text {
1333
- color: #ff5722 !important; }
1334
-
1335
- .deep-orange.lighten-5 {
1336
- background-color: #fbe9e7 !important; }
1337
-
1338
- .deep-orange-text.text-lighten-5 {
1339
- color: #fbe9e7 !important; }
1340
-
1341
- .deep-orange.lighten-4 {
1342
- background-color: #ffccbc !important; }
1343
-
1344
- .deep-orange-text.text-lighten-4 {
1345
- color: #ffccbc !important; }
1346
-
1347
- .deep-orange.lighten-3 {
1348
- background-color: #ffab91 !important; }
1349
-
1350
- .deep-orange-text.text-lighten-3 {
1351
- color: #ffab91 !important; }
1352
-
1353
- .deep-orange.lighten-2 {
1354
- background-color: #ff8a65 !important; }
1355
-
1356
- .deep-orange-text.text-lighten-2 {
1357
- color: #ff8a65 !important; }
1358
-
1359
- .deep-orange.lighten-1 {
1360
- background-color: #ff7043 !important; }
1361
-
1362
- .deep-orange-text.text-lighten-1 {
1363
- color: #ff7043 !important; }
1364
-
1365
- .deep-orange.darken-1 {
1366
- background-color: #f4511e !important; }
1367
-
1368
- .deep-orange-text.text-darken-1 {
1369
- color: #f4511e !important; }
1370
-
1371
- .deep-orange.darken-2 {
1372
- background-color: #e64a19 !important; }
1373
-
1374
- .deep-orange-text.text-darken-2 {
1375
- color: #e64a19 !important; }
1376
-
1377
- .deep-orange.darken-3 {
1378
- background-color: #d84315 !important; }
1379
-
1380
- .deep-orange-text.text-darken-3 {
1381
- color: #d84315 !important; }
1382
-
1383
- .deep-orange.darken-4 {
1384
- background-color: #bf360c !important; }
1385
-
1386
- .deep-orange-text.text-darken-4 {
1387
- color: #bf360c !important; }
1388
-
1389
- .deep-orange.accent-1 {
1390
- background-color: #ff9e80 !important; }
1391
-
1392
- .deep-orange-text.text-accent-1 {
1393
- color: #ff9e80 !important; }
1394
-
1395
- .deep-orange.accent-2 {
1396
- background-color: #ff6e40 !important; }
1397
-
1398
- .deep-orange-text.text-accent-2 {
1399
- color: #ff6e40 !important; }
1400
-
1401
- .deep-orange.accent-3 {
1402
- background-color: #ff3d00 !important; }
1403
-
1404
- .deep-orange-text.text-accent-3 {
1405
- color: #ff3d00 !important; }
1406
-
1407
- .deep-orange.accent-4 {
1408
- background-color: #dd2c00 !important; }
1409
-
1410
- .deep-orange-text.text-accent-4 {
1411
- color: #dd2c00 !important; }
1412
-
1413
- .brown {
1414
- background-color: #795548 !important; }
1415
-
1416
- .brown-text {
1417
- color: #795548 !important; }
1418
-
1419
- .brown.lighten-5 {
1420
- background-color: #efebe9 !important; }
1421
-
1422
- .brown-text.text-lighten-5 {
1423
- color: #efebe9 !important; }
1424
-
1425
- .brown.lighten-4 {
1426
- background-color: #d7ccc8 !important; }
1427
-
1428
- .brown-text.text-lighten-4 {
1429
- color: #d7ccc8 !important; }
1430
-
1431
- .brown.lighten-3 {
1432
- background-color: #bcaaa4 !important; }
1433
-
1434
- .brown-text.text-lighten-3 {
1435
- color: #bcaaa4 !important; }
1436
-
1437
- .brown.lighten-2 {
1438
- background-color: #a1887f !important; }
1439
-
1440
- .brown-text.text-lighten-2 {
1441
- color: #a1887f !important; }
1442
-
1443
- .brown.lighten-1 {
1444
- background-color: #8d6e63 !important; }
1445
-
1446
- .brown-text.text-lighten-1 {
1447
- color: #8d6e63 !important; }
1448
-
1449
- .brown.darken-1 {
1450
- background-color: #6d4c41 !important; }
1451
-
1452
- .brown-text.text-darken-1 {
1453
- color: #6d4c41 !important; }
1454
-
1455
- .brown.darken-2 {
1456
- background-color: #5d4037 !important; }
1457
-
1458
- .brown-text.text-darken-2 {
1459
- color: #5d4037 !important; }
1460
-
1461
- .brown.darken-3 {
1462
- background-color: #4e342e !important; }
1463
-
1464
- .brown-text.text-darken-3 {
1465
- color: #4e342e !important; }
1466
-
1467
- .brown.darken-4 {
1468
- background-color: #3e2723 !important; }
1469
-
1470
- .brown-text.text-darken-4 {
1471
- color: #3e2723 !important; }
1472
-
1473
- .blue-grey {
1474
- background-color: #607d8b !important; }
1475
-
1476
- .blue-grey-text {
1477
- color: #607d8b !important; }
1478
-
1479
- .blue-grey.lighten-5 {
1480
- background-color: #eceff1 !important; }
1481
-
1482
- .blue-grey-text.text-lighten-5 {
1483
- color: #eceff1 !important; }
1484
-
1485
- .blue-grey.lighten-4 {
1486
- background-color: #cfd8dc !important; }
1487
-
1488
- .blue-grey-text.text-lighten-4 {
1489
- color: #cfd8dc !important; }
1490
-
1491
- .blue-grey.lighten-3 {
1492
- background-color: #b0bec5 !important; }
1493
-
1494
- .blue-grey-text.text-lighten-3 {
1495
- color: #b0bec5 !important; }
1496
-
1497
- .blue-grey.lighten-2 {
1498
- background-color: #90a4ae !important; }
1499
-
1500
- .blue-grey-text.text-lighten-2 {
1501
- color: #90a4ae !important; }
1502
-
1503
- .blue-grey.lighten-1 {
1504
- background-color: #78909c !important; }
1505
-
1506
- .blue-grey-text.text-lighten-1 {
1507
- color: #78909c !important; }
1508
-
1509
- .blue-grey.darken-1 {
1510
- background-color: #546e7a !important; }
1511
-
1512
- .blue-grey-text.text-darken-1 {
1513
- color: #546e7a !important; }
1514
-
1515
- .blue-grey.darken-2 {
1516
- background-color: #455a64 !important; }
1517
-
1518
- .blue-grey-text.text-darken-2 {
1519
- color: #455a64 !important; }
1520
-
1521
- .blue-grey.darken-3 {
1522
- background-color: #37474f !important; }
1523
-
1524
- .blue-grey-text.text-darken-3 {
1525
- color: #37474f !important; }
1526
-
1527
- .blue-grey.darken-4 {
1528
- background-color: #263238 !important; }
1529
-
1530
- .blue-grey-text.text-darken-4 {
1531
- color: #263238 !important; }
1532
-
1533
- .grey {
1534
- background-color: #9e9e9e !important; }
1535
-
1536
- .grey-text {
1537
- color: #9e9e9e !important; }
1538
-
1539
- .grey.lighten-5 {
1540
- background-color: #fafafa !important; }
1541
-
1542
- .grey-text.text-lighten-5 {
1543
- color: #fafafa !important; }
1544
-
1545
- .grey.lighten-4 {
1546
- background-color: #f5f5f5 !important; }
1547
-
1548
- .grey-text.text-lighten-4 {
1549
- color: #f5f5f5 !important; }
1550
-
1551
- .grey.lighten-3 {
1552
- background-color: #eeeeee !important; }
1553
-
1554
- .grey-text.text-lighten-3 {
1555
- color: #eeeeee !important; }
1556
-
1557
- .grey.lighten-2 {
1558
- background-color: #e0e0e0 !important; }
1559
-
1560
- .grey-text.text-lighten-2 {
1561
- color: #e0e0e0 !important; }
1562
-
1563
- .grey.lighten-1 {
1564
- background-color: #bdbdbd !important; }
1565
-
1566
- .grey-text.text-lighten-1 {
1567
- color: #bdbdbd !important; }
1568
-
1569
- .grey.darken-1 {
1570
- background-color: #757575 !important; }
1571
-
1572
- .grey-text.text-darken-1 {
1573
- color: #757575 !important; }
1574
-
1575
- .grey.darken-2 {
1576
- background-color: #616161 !important; }
1577
-
1578
- .grey-text.text-darken-2 {
1579
- color: #616161 !important; }
1580
-
1581
- .grey.darken-3 {
1582
- background-color: #424242 !important; }
1583
-
1584
- .grey-text.text-darken-3 {
1585
- color: #424242 !important; }
1586
-
1587
- .grey.darken-4 {
1588
- background-color: #212121 !important; }
1589
-
1590
- .grey-text.text-darken-4 {
1591
- color: #212121 !important; }
1592
-
1593
- .black {
1594
- background-color: #000000 !important; }
1595
-
1596
- .black-text {
1597
- color: #000000 !important; }
1598
-
1599
- .white {
1600
- background-color: #FFFFFF !important; }
1601
-
1602
- .white-text {
1603
- color: #FFFFFF !important; }
1604
-
1605
- .transparent {
1606
- background-color: transparent !important; }
1607
-
1608
- .transparent-text {
1609
- color: transparent !important; }
1610
-
1611
- /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
1612
- /**
1613
- * 1. Set default font family to sans-serif.
1614
- * 2. Prevent iOS and IE text size adjust after device orientation change,
1615
- * without disabling user zoom.
1616
- */
1617
- html {
1618
- font-family: sans-serif;
1619
- /* 1 */
1620
- -ms-text-size-adjust: 100%;
1621
- /* 2 */
1622
- -webkit-text-size-adjust: 100%;
1623
- /* 2 */ }
1624
-
1625
- /**
1626
- * Remove default margin.
1627
- */
1628
- body {
1629
- margin: 0; }
1630
-
1631
- /* HTML5 display definitions
1632
- ========================================================================== */
1633
- /**
1634
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
1635
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
1636
- * and Firefox.
1637
- * Correct `block` display not defined for `main` in IE 11.
1638
- */
1639
- article,
1640
- aside,
1641
- details,
1642
- figcaption,
1643
- figure,
1644
- footer,
1645
- header,
1646
- hgroup,
1647
- main,
1648
- menu,
1649
- nav,
1650
- section,
1651
- summary {
1652
- display: block; }
1653
-
1654
- /**
1655
- * 1. Correct `inline-block` display not defined in IE 8/9.
1656
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
1657
- */
1658
- audio,
1659
- canvas,
1660
- progress,
1661
- video {
1662
- display: inline-block;
1663
- /* 1 */
1664
- vertical-align: baseline;
1665
- /* 2 */ }
1666
-
1667
- /**
1668
- * Prevent modern browsers from displaying `audio` without controls.
1669
- * Remove excess height in iOS 5 devices.
1670
- */
1671
- audio:not([controls]) {
1672
- display: none;
1673
- height: 0; }
1674
-
1675
- /**
1676
- * Address `[hidden]` styling not present in IE 8/9/10.
1677
- * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
1678
- */
1679
- [hidden],
1680
- template {
1681
- display: none; }
1682
-
1683
- /* Links
1684
- ========================================================================== */
1685
- /**
1686
- * Remove the gray background color from active links in IE 10.
1687
- */
1688
- a {
1689
- background-color: transparent; }
1690
-
1691
- /**
1692
- * Improve readability of focused elements when they are also in an
1693
- * active/hover state.
1694
- */
1695
- a:active,
1696
- a:hover {
1697
- outline: 0; }
1698
-
1699
- /* Text-level semantics
1700
- ========================================================================== */
1701
- /**
1702
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
1703
- */
1704
- abbr[title] {
1705
- border-bottom: 1px dotted; }
1706
-
1707
- /**
1708
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
1709
- */
1710
- b,
1711
- strong {
1712
- font-weight: bold; }
1713
-
1714
- /**
1715
- * Address styling not present in Safari and Chrome.
1716
- */
1717
- dfn {
1718
- font-style: italic; }
1719
-
1720
- /**
1721
- * Address variable `h1` font-size and margin within `section` and `article`
1722
- * contexts in Firefox 4+, Safari, and Chrome.
1723
- */
1724
- h1 {
1725
- font-size: 2em;
1726
- margin: 0.67em 0; }
1727
-
1728
- /**
1729
- * Address styling not present in IE 8/9.
1730
- */
1731
- mark {
1732
- background: #ff0;
1733
- color: #000; }
1734
-
1735
- /**
1736
- * Address inconsistent and variable font size in all browsers.
1737
- */
1738
- small {
1739
- font-size: 80%; }
1740
-
1741
- /**
1742
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
1743
- */
1744
- sub,
1745
- sup {
1746
- font-size: 75%;
1747
- line-height: 0;
1748
- position: relative;
1749
- vertical-align: baseline; }
1750
-
1751
- sup {
1752
- top: -0.5em; }
1753
-
1754
- sub {
1755
- bottom: -0.25em; }
1756
-
1757
- /* Embedded content
1758
- ========================================================================== */
1759
- /**
1760
- * Remove border when inside `a` element in IE 8/9/10.
1761
- */
1762
- img {
1763
- border: 0; }
1764
-
1765
- /**
1766
- * Correct overflow not hidden in IE 9/10/11.
1767
- */
1768
- svg:not(:root) {
1769
- overflow: hidden; }
1770
-
1771
- /* Grouping content
1772
- ========================================================================== */
1773
- /**
1774
- * Address margin not present in IE 8/9 and Safari.
1775
- */
1776
- figure {
1777
- margin: 1em 40px; }
1778
-
1779
- /**
1780
- * Address differences between Firefox and other browsers.
1781
- */
1782
- hr {
1783
- box-sizing: content-box;
1784
- height: 0; }
1785
-
1786
- /**
1787
- * Contain overflow in all browsers.
1788
- */
1789
- pre {
1790
- overflow: auto; }
1791
-
1792
- /**
1793
- * Address odd `em`-unit font size rendering in all browsers.
1794
- */
1795
- code,
1796
- kbd,
1797
- pre,
1798
- samp {
1799
- font-family: monospace, monospace;
1800
- font-size: 1em; }
1801
-
1802
- /* Forms
1803
- ========================================================================== */
1804
- /**
1805
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
1806
- * styling of `select`, unless a `border` property is set.
1807
- */
1808
- /**
1809
- * 1. Correct color not being inherited.
1810
- * Known issue: affects color of disabled elements.
1811
- * 2. Correct font properties not being inherited.
1812
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
1813
- */
1814
- button,
1815
- input,
1816
- optgroup,
1817
- select,
1818
- textarea {
1819
- color: inherit;
1820
- /* 1 */
1821
- font: inherit;
1822
- /* 2 */
1823
- margin: 0;
1824
- /* 3 */ }
1825
-
1826
- /**
1827
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
1828
- */
1829
- button {
1830
- overflow: visible; }
1831
-
1832
- /**
1833
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
1834
- * All other form control elements do not inherit `text-transform` values.
1835
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
1836
- * Correct `select` style inheritance in Firefox.
1837
- */
1838
- button,
1839
- select {
1840
- text-transform: none; }
1841
-
1842
- /**
1843
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
1844
- * and `video` controls.
1845
- * 2. Correct inability to style clickable `input` types in iOS.
1846
- * 3. Improve usability and consistency of cursor style between image-type
1847
- * `input` and others.
1848
- */
1849
- button,
1850
- html input[type="button"],
1851
- input[type="reset"],
1852
- input[type="submit"] {
1853
- -webkit-appearance: button;
1854
- /* 2 */
1855
- cursor: pointer;
1856
- /* 3 */ }
1857
-
1858
- /**
1859
- * Re-set default cursor for disabled elements.
1860
- */
1861
- button[disabled],
1862
- html input[disabled] {
1863
- cursor: default; }
1864
-
1865
- /**
1866
- * Remove inner padding and border in Firefox 4+.
1867
- */
1868
- button::-moz-focus-inner,
1869
- input::-moz-focus-inner {
1870
- border: 0;
1871
- padding: 0; }
1872
-
1873
- /**
1874
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
1875
- * the UA stylesheet.
1876
- */
1877
- input {
1878
- line-height: normal; }
1879
-
1880
- /**
1881
- * It's recommended that you don't attempt to style these elements.
1882
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
1883
- *
1884
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
1885
- * 2. Remove excess padding in IE 8/9/10.
1886
- */
1887
- input[type="checkbox"],
1888
- input[type="radio"] {
1889
- box-sizing: border-box;
1890
- /* 1 */
1891
- padding: 0;
1892
- /* 2 */ }
1893
-
1894
- /**
1895
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
1896
- * `font-size` values of the `input`, it causes the cursor style of the
1897
- * decrement button to change from `default` to `text`.
1898
- */
1899
- input[type="number"]::-webkit-inner-spin-button,
1900
- input[type="number"]::-webkit-outer-spin-button {
1901
- height: auto; }
1902
-
1903
- /**
1904
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
1905
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
1906
- */
1907
- input[type="search"] {
1908
- -webkit-appearance: textfield;
1909
- /* 1 */
1910
- box-sizing: content-box;
1911
- /* 2 */ }
1912
-
1913
- /**
1914
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
1915
- * Safari (but not Chrome) clips the cancel button when the search input has
1916
- * padding (and `textfield` appearance).
1917
- */
1918
- input[type="search"]::-webkit-search-cancel-button,
1919
- input[type="search"]::-webkit-search-decoration {
1920
- -webkit-appearance: none; }
1921
-
1922
- /**
1923
- * Define consistent border, margin, and padding.
1924
- */
1925
- fieldset {
1926
- border: 1px solid #c0c0c0;
1927
- margin: 0 2px;
1928
- padding: 0.35em 0.625em 0.75em; }
1929
-
1930
- /**
1931
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
1932
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
1933
- */
1934
- legend {
1935
- border: 0;
1936
- /* 1 */
1937
- padding: 0;
1938
- /* 2 */ }
1939
-
1940
- /**
1941
- * Remove default vertical scrollbar in IE 8/9/10/11.
1942
- */
1943
- textarea {
1944
- overflow: auto; }
1945
-
1946