Ultimate CSV Importer - Version 6.0

Version Description

Download this release

Release Info

Developer smackcoders
Plugin Icon 128x128 Ultimate CSV Importer
Version 6.0
Comparing to
See all releases

Code changes from version 5.6.2 to 6.0

Files changed (39) hide show
  1. Dashboard.php +228 -0
  2. DragandDropExtension.php +199 -0
  3. ImportConfiguration.php +89 -0
  4. MediaHandling.php +585 -0
  5. Plugin.php +30 -0
  6. Readme.txt +697 -691
  7. SaveMapping.php +439 -0
  8. SmackCSVImporterInstall.php +250 -0
  9. SmackCSVImporterUninstall.php +64 -0
  10. Tables.php +160 -0
  11. admin/class-uci-admin.php +0 -578
  12. admin/views/form-add-custom-field.php +0 -92
  13. admin/views/form-addons-view.php +0 -48
  14. admin/views/form-advanced-mapping-configuration.php +0 -829
  15. admin/views/form-dashboard-view.php +0 -133
  16. admin/views/form-file-import-method.php +0 -221
  17. admin/views/form-file-manager.php +0 -56
  18. admin/views/form-ignite-import.php +0 -151
  19. admin/views/form-import-configuration.php +0 -144
  20. admin/views/form-inform-export.php +0 -52
  21. admin/views/form-log-manager.php +0 -102
  22. admin/views/form-manager-view.php +0 -117
  23. admin/views/form-mapping-configuration.php +0 -302
  24. admin/views/form-media-handling.php +0 -191
  25. admin/views/form-schedule-manager.php +0 -57
  26. admin/views/form-settings-view.php +0 -542
  27. admin/views/form-shortcode-manager.php +0 -115
  28. admin/views/form-static-formula-views.php +0 -59
  29. admin/views/form-support-view.php +0 -101
  30. admin/views/form-template-manager.php +0 -56
  31. assets/css/animate.css +0 -3340
  32. assets/css/bootstrap-datepicker.css +0 -471
  33. assets/css/bootstrap-select.css +0 -260
  34. assets/css/bootstrap.css +0 -6759
  35. assets/css/custom-new-style.css +0 -580
  36. assets/css/custom-style.css +0 -1713
  37. assets/css/deps/ReactToastify.min.css +1 -0
  38. assets/css/deps/bootstrap.min.css +7 -0
  39. assets/css/deps/bootstrap.min.css.map +1 -0
Dashboard.php ADDED
@@ -0,0 +1,228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ class Dashboard {
15
+ private static $dashboard_instance = null;
16
+ private static $extension_instance = null;
17
+
18
+ private function __construct(){
19
+ add_action('wp_ajax_LineChart',array($this,'fetch_LineChart_data'));
20
+ add_action('wp_ajax_PieChart',array($this,'fetch_PieChart_data'));
21
+ add_action('wp_ajax_BarChart',array($this,'fetch_BarStackedChart_data'));
22
+
23
+ add_action('wp_ajax_checkExtensions',array($this,'check_extensions'));
24
+ add_action('wp_ajax_listuploads',array($this,'list_upload_function'));
25
+ add_action('wp_ajax_locklist',array($this,'lock_list_function'));
26
+ }
27
+
28
+ public static function getInstance() {
29
+
30
+ if (Dashboard::$dashboard_instance == null) {
31
+ Dashboard::$dashboard_instance = new Dashboard;
32
+ Dashboard::$extension_instance = new ExtensionHandler;
33
+
34
+ return Dashboard::$dashboard_instance;
35
+ }
36
+ return Dashboard::$dashboard_instance;
37
+ }
38
+
39
+ public function fetch_LineChart_data() {
40
+ global $wpdb;
41
+ $available_types = array();
42
+ $import_type_data = array();
43
+ $data_arr = array();
44
+
45
+ foreach(Dashboard::$extension_instance->get_import_post_types() as $name => $type) {
46
+ $available_types[$name] = $type;
47
+ }
48
+ foreach (get_taxonomies() as $item => $taxonomy_name) {
49
+ $available_types[$item] = $taxonomy_name;
50
+ }
51
+ $available_types = array_flip($available_types);
52
+ $myarr = array();
53
+ $today = date("Y-m-d H:i:s");
54
+ $j = 0;
55
+ for($i = 11; $i >= 0; $i--) {
56
+ $month[$j] = date("M", strtotime( $today." -$i months"));
57
+ $year[$j] = date("Y", strtotime( $today." -$i months"));
58
+ $j++;
59
+ }
60
+ $get_list_of_imported_types = $wpdb->get_col($wpdb->prepare("select distinct( import_type ) from smackuci_events", array()));
61
+ foreach($get_list_of_imported_types as $import_type) {
62
+
63
+ $data = array();
64
+ for($i = 0; $i <= 11; $i++) {
65
+ $count = 0;
66
+ $get_chart_data = $wpdb->get_results($wpdb->prepare( "select sum(created) as %s from smackuci_events where import_type = %s and month = %s and year = %d", $import_type, $import_type, $month[$i], $year[$i] ) );
67
+
68
+ if($get_chart_data[0]->$import_type) {
69
+ $data[] = $get_chart_data[0]->$import_type;
70
+ } else {
71
+ $data[] = $count;
72
+ }
73
+ }
74
+ if(array_key_exists($import_type,$available_types)){
75
+ $import_type_data[] = $available_types[$import_type];
76
+ } else {
77
+ $import_type_data[] = $import_type;
78
+ }
79
+ array_push($data_arr , $data);
80
+ }
81
+ $myarr['success'] = true;
82
+ $myarr['label'] = $import_type_data;
83
+ $myarr['data'] = $data_arr;
84
+ echo wp_json_encode($myarr);
85
+ wp_die();
86
+ }
87
+
88
+ public function fetch_PieChart_data() {
89
+ global $wpdb;
90
+ $available_types = array();
91
+ foreach(Dashboard::$extension_instance->get_import_post_types() as $name => $type) {
92
+ $available_types[$name] = $type;
93
+ }
94
+ foreach (get_taxonomies() as $item => $taxonomy_name) {
95
+ $available_types[$item] = $taxonomy_name;
96
+ }
97
+ $available_types = array_flip($available_types);
98
+ $returnArray = array();
99
+ $today = date("Y-m-d H:i:s");
100
+ $j = 0;
101
+ for($i = 11; $i >= 0; $i--) {
102
+ $month[$j] = date("M", strtotime( $today." -$i months"));
103
+ $year[$j] = date("Y", strtotime( $today." -$i months"));
104
+ $j++;
105
+ }
106
+ $get_list_of_imported_types = $wpdb->get_col($wpdb->prepare("select distinct( import_type ) from smackuci_events", array()));
107
+ $count = 1;
108
+ foreach($get_list_of_imported_types as $import_type) {
109
+ $get_chart_data = $wpdb->get_results( $wpdb->prepare( "select sum(created) as %s from smackuci_events where import_type = %s", $import_type, $import_type ) );
110
+ if(array_key_exists($import_type,$available_types)){
111
+ $import_type_data = $available_types[$import_type];
112
+ } else {
113
+ $import_type_data = $import_type;
114
+ }
115
+ if($get_chart_data[0]->$import_type) {
116
+ $data = $get_chart_data[0]->$import_type;
117
+ $returnArray['success'] = true;
118
+ $returnArray[ $count ][ $import_type_data ] = $data;
119
+ } else {
120
+ $returnArray['success'] = true;
121
+ $returnArray[ $count ][ $import_type_data ] = 0;
122
+ }
123
+ $count++;
124
+ }
125
+ echo wp_json_encode($returnArray);
126
+ wp_die();
127
+ }
128
+
129
+ public function fetch_BarStackedChart_data() {
130
+ global $wpdb;
131
+ $available_types = array();
132
+ foreach(Dashboard::$extension_instance->get_import_post_types() as $name => $type) {
133
+ $available_types[$name] = $type;
134
+ }
135
+ foreach (get_taxonomies() as $item => $taxonomy_name) {
136
+ $available_types[$item] = $taxonomy_name;
137
+ }
138
+ $available_types = array_flip($available_types);
139
+ $returnArray = array();
140
+ $today = date("Y-m-d H:i:s");
141
+ $j = 0;
142
+ for($i = 11; $i >= 0; $i--) {
143
+ $month[$j] = date("M", strtotime( $today." -$i months"));
144
+ $year[$j] = date("Y", strtotime( $today." -$i months"));
145
+ $j++;
146
+ }
147
+ $get_list_of_imported_types = $wpdb->get_col($wpdb->prepare("select distinct( import_type ) from smackuci_events", array()));
148
+
149
+ $count = 1;
150
+ foreach($get_list_of_imported_types as $import_type) {
151
+
152
+ $get_chart_data = $wpdb->get_results( $wpdb->prepare( "select sum(created) as created, sum(updated) as updated, sum(skipped) as skipped from smackuci_events where import_type = %s", $import_type, $import_type ) );
153
+
154
+ if(array_key_exists($import_type,$available_types)){
155
+ $import_type_data = $available_types[$import_type];
156
+ } else {
157
+ $import_type_data = $import_type;
158
+ }
159
+ $returnArray['success'] = true;
160
+ if($get_chart_data[0]->created) {
161
+ $returnArray[ $import_type_data ]['created'] = $get_chart_data[0]->created;
162
+ } else {
163
+ $returnArray[ $import_type_data ]['created'] = 0;
164
+ }
165
+ if($get_chart_data[0]->updated) {
166
+ $returnArray[ $import_type_data ]['updated'] = $get_chart_data[0]->updated;
167
+ } else {
168
+ $returnArray[ $import_type_data ]['updated'] = 0;
169
+ }
170
+ if($get_chart_data[0]->skipped) {
171
+ $returnArray[ $import_type_data ]['skipped'] = $get_chart_data[0]->skipped;
172
+ } else {
173
+ $returnArray[ $import_type_data ]['skipped'] = 0;
174
+ }
175
+ $count++;
176
+ }
177
+ echo wp_json_encode($returnArray);
178
+ wp_die();
179
+ }
180
+
181
+ public function list_upload_function(){
182
+ global $wpdb;
183
+ $response =[];
184
+
185
+ $last_data = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}smackcsv_file_events order by id desc limit 10",ARRAY_A);
186
+ if(!$last_data){
187
+ $response['success'] = false;
188
+ $response['message'] = 'not exists';
189
+ echo wp_json_encode($response);
190
+ }else{
191
+ $response['success'] = true;
192
+ $response['message'] = $last_data;
193
+ echo wp_json_encode($response);
194
+ }
195
+
196
+ wp_die();
197
+ }
198
+
199
+ public function get_config_bytes($val) {
200
+ $val = trim($val);
201
+ $last = strtolower($val[strlen($val) - 1]);
202
+ switch ($last) {
203
+ case 'g':
204
+ $val *= 1024;
205
+ case 'm':
206
+ $val *= 1024;
207
+ case 'k':
208
+ $val *= 1024;
209
+ }
210
+ return $val;
211
+ }
212
+
213
+ public function lock_list_function(){
214
+ $response=[];
215
+ global $wpdb;
216
+ $lock_data = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}smackcsv_file_events WHERE `lock`=true");
217
+ if(!$lock_data){
218
+ $response['success'] = false;
219
+ $response['message'] = 'No lock exists';
220
+ echo wp_json_encode($response);
221
+ }else{
222
+ $response['success'] = true;
223
+ $response['mesage'] = $lock_data;
224
+ echo wp_json_encode($response);
225
+ }
226
+ wp_die();
227
+ }
228
+ }
DragandDropExtension.php ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ class DragandDropExtension {
15
+ private static $drag_drop_instance = null;
16
+
17
+ private function __construct(){
18
+ add_action('wp_ajax_displayCSV',array($this,'display_csv_values'));
19
+ add_action('wp_ajax_preview',array($this,'preview_record'));
20
+ }
21
+
22
+ public static function getInstance() {
23
+
24
+ if (DragandDropExtension::$drag_drop_instance == null) {
25
+ DragandDropExtension::$drag_drop_instance = new DragandDropExtension;
26
+ return DragandDropExtension::$drag_drop_instance;
27
+ }
28
+ return DragandDropExtension::$drag_drop_instance;
29
+ }
30
+
31
+ public function display_csv_values(){
32
+ $hashkey = $_POST['HashKey'];
33
+ $templatename = $_POST['templatename'];
34
+ $get_row = $_POST['row'];
35
+
36
+ global $wpdb;
37
+ $file_table_name = $wpdb->prefix ."smackcsv_file_events";
38
+ $template_table_name = $wpdb->prefix . "ultimate_csv_importer_mappingtemplate";
39
+ $row = $get_row - 1;
40
+
41
+ if(empty($hashkey)){
42
+ $get_detail = $wpdb->get_results( "SELECT eventKey FROM $template_table_name WHERE templatename = '$templatename' " );
43
+ $hashkey = $get_detail[0]->eventKey;
44
+ }
45
+
46
+ $smackcsv_instance = SmackCSV::getInstance();
47
+ $upload_dir = $smackcsv_instance->create_upload_dir();
48
+
49
+ ini_set("auto_detect_line_endings", true);
50
+ $info = [];
51
+ if (($h = fopen($upload_dir.$hashkey.'/'.$hashkey, "r")) !== FALSE)
52
+ {
53
+
54
+ $line_number = 0;
55
+ $Headers = [];
56
+ $Values = [];
57
+ $response = [];
58
+ // Convert each line into the local $data variable
59
+ while (($data = fgetcsv($h, 0, ",")) !== FALSE)
60
+ {
61
+ // Read the data from a single line
62
+ array_push($info , $data);
63
+ if($line_number == 0){
64
+ $Headers = $info[$line_number];
65
+ }else{
66
+ $values = $info[$line_number];
67
+ array_push($Values , $values);
68
+ }
69
+ $line_number ++;
70
+ }
71
+ // Close the file
72
+ fclose($h);
73
+ }
74
+
75
+ $get_total_row = $wpdb->get_results("SELECT total_rows FROM $file_table_name WHERE hash_key = '$hashkey' ");
76
+ $total_row = $get_total_row[0]->total_rows;
77
+
78
+ $response['success'] = true;
79
+ $response['total_rows'] = $total_row;
80
+ $response['Headers'] = $Headers;
81
+ $response['Values'] = $Values[$row];
82
+
83
+ echo wp_json_encode($response);
84
+ wp_die();
85
+ }
86
+
87
+ /**
88
+ * @param $xml
89
+ * @param $query
90
+ * @param $row
91
+ * @return string
92
+ */
93
+ public function parse_element($xml,$value,$row,$parent_name,$child_name){
94
+ $xpath = new \DOMXPath($xml);
95
+ $query = '/'.$parent_name.'/'.$child_name.'['.$row.']/'.$value;
96
+ $entries = $xpath->query($query);
97
+
98
+ $content = $entries->item(0)->textContent;
99
+ return $content;
100
+ }
101
+
102
+ public function preview_record(){
103
+ $row = $_POST['row'];
104
+ $hashkey = $_POST['hashkey'];
105
+ $response = [];
106
+ $helpers_instance = ImportHelpers::getInstance();
107
+
108
+ $get_row = $row - 1;
109
+ $smackcsv_instance = SmackCSV::getInstance();
110
+ $upload_dir = $smackcsv_instance->create_upload_dir();
111
+
112
+ $file = $upload_dir.$hashkey.'/'.$hashkey;
113
+
114
+ if($_POST['xml'] == 'true'){
115
+
116
+ $xml = simplexml_load_file($file);
117
+ $xml_arr = json_decode( json_encode($xml) , 1);
118
+ $parent_name = $xml->getName();
119
+ foreach($xml->children() as $child){
120
+ $child_name = $child->getName();
121
+ }
122
+
123
+ $mapping = array('title' => $_POST['title'], 'content' => $_POST['content'], 'excerpt' => $_POST['excerpt'], 'image' => $_POST['image'], 'slug' => $_POST['slug'], 'date' => $_POST['date'], 'status' => $_POST['status']);
124
+ $doc = new \DOMDocument();
125
+ $doc->load($file);
126
+
127
+ foreach ($mapping as $key => $val) {
128
+ if($val!=""){
129
+ $val = str_replace('{', '', $val);
130
+ $val = str_replace('}', '', $val);
131
+ $val = str_replace('<p>', '', $val);
132
+ $val = str_replace('</p>', '', $val);
133
+ $val = preg_replace("(".$child_name."[+[0-9]+])", $child_name."[".$_POST['row']."]", $val);
134
+
135
+ $modified_result[$key] = $this->parse_element($doc, $val, $_POST['row'], $parent_name, $child_name);
136
+ }
137
+ }
138
+ }
139
+ else{
140
+
141
+ ini_set("auto_detect_line_endings", true);
142
+ $info = [];
143
+ if (($h = fopen($upload_dir.$hashkey.'/'.$hashkey, "r")) !== FALSE)
144
+ {
145
+ $line_number = 0;
146
+ $Headers = [];
147
+ $Values = [];
148
+ $response = [];
149
+
150
+ while (($data = fgetcsv($h, 0, ",")) !== FALSE)
151
+ {
152
+ array_push($info , $data);
153
+ if($line_number == 0){
154
+ $Headers = $info[$line_number];
155
+ }else{
156
+ $values = $info[$line_number];
157
+ array_push($Values , $values);
158
+ }
159
+ $line_number ++;
160
+ }
161
+ fclose($h);
162
+ }
163
+ $csv_values = $Values[$get_row];
164
+ $data = array();
165
+ $data = array_combine($Headers , $csv_values);
166
+
167
+ $mapping = array('title' => $_POST['title'], 'content' => $_POST['content'], 'excerpt' => $_POST['excerpt'], 'image' => $_POST['image'], 'slug' => $_POST['slug'], 'date' => $_POST['date'], 'status' => $_POST['status']);
168
+ foreach($mapping as $key => $val) {
169
+ $pattern = "/({([a-z A-Z 0-9 | , _ -]+)(.*?)(}))/";
170
+ preg_match_all($pattern, $val, $results, PREG_PATTERN_ORDER);
171
+ for($i=0; $i<count($results[2]); $i++) {
172
+ $oldWord = $results[0][$i];
173
+
174
+ $get_val = $results[2][$i];
175
+ //TODO xml
176
+ if(isset($data[$get_val])) {
177
+ $newWord = $data[$get_val];
178
+ } else {
179
+ $newWord = $get_val;
180
+ }
181
+ $val = str_replace($oldWord, ' ' . $newWord, $val);
182
+ }
183
+ $modified_result[$key] = $val;
184
+ }
185
+ }
186
+
187
+ $response['success'] = true;
188
+ $response['Title'] = $modified_result['title'];
189
+ $response['Content'] = $modified_result['content'];
190
+ $response['Image'] = $modified_result['image'];
191
+ $response['Excerpt'] = $modified_result['excerpt'];
192
+ $response['Slug'] = $modified_result['slug'];
193
+ $response['Date'] = $modified_result['date'];
194
+ $response['Status'] = $modified_result['status'];
195
+
196
+ echo wp_json_encode($response);
197
+ wp_die();
198
+ }
199
+ }
ImportConfiguration.php ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ class ImportConfiguration {
15
+ private static $import_config_instance = null;
16
+
17
+ private function __construct(){
18
+ add_action('wp_ajax_updatefields',array($this,'get_update_fields'));
19
+ }
20
+
21
+ public static function getInstance() {
22
+
23
+ if (ImportConfiguration::$import_config_instance == null) {
24
+ ImportConfiguration::$import_config_instance = new ImportConfiguration;
25
+ return ImportConfiguration::$import_config_instance;
26
+ }
27
+ return ImportConfiguration::$import_config_instance;
28
+ }
29
+
30
+ public function get_update_fields(){
31
+ $import_type = $_POST['Types'];
32
+ $mode = $_POST['Mode'];
33
+ $response = [];
34
+ $taxonomies = get_taxonomies();
35
+ if($mode == 'Update') {
36
+ $fields = array( 'post_title', 'ID', 'post_name');
37
+ if($import_type == 'WooCommerce Orders'){
38
+ $fields = array('ORDERID');
39
+ }
40
+ if($import_type == 'WooCommerce Coupons' || $import_type =='WPeCommerce Coupons'){
41
+ $fields = array('COUPONID');
42
+ }
43
+ if($import_type == 'WooCommerce Refunds'){
44
+ $fields = array('REFUNDID');
45
+ }
46
+ if($import_type == 'WooCommerce Product Variations'){
47
+ $fields = array('VARIATIONSKU', 'VARIATIONID');
48
+ }
49
+ if($import_type == 'WooCommerce Product'){
50
+ array_push($fields,"PRODUCTSKU");
51
+ }
52
+ if($import_type == 'Customer Reviews'){
53
+ $fields = array('review_id');
54
+ }
55
+ elseif (in_array($import_type, $taxonomies)){
56
+ $fields = array('slug','termid');
57
+ }
58
+ elseif($import_type == 'Users'){
59
+ $fields = array('user_email','ID');
60
+ }
61
+ }
62
+ else {
63
+ if (in_array($import_type, $taxonomies)){
64
+ $fields = array('slug');
65
+ }
66
+ if($import_type == 'WooCommerce Product Variations'){
67
+ if(in_array('woocommerce/woocommerce.php', $this->get_active_plugins()) && in_array('import-woocommerce/import-woocommerce.php', $this->get_active_plugins())){
68
+ $fields = array('VARIATIONSKU');
69
+ }
70
+ }
71
+ elseif($import_type == 'Users'){
72
+ $fields = array('user_email');
73
+ }
74
+ else{
75
+ $fields = array( 'ID', 'post_title', 'post_name', 'post_content' );
76
+ }
77
+ }
78
+
79
+ $response['update_fields'] = $fields;
80
+ echo wp_json_encode($response);
81
+ wp_die();
82
+
83
+ }
84
+
85
+ public function get_active_plugins() {
86
+ $active_plugins = get_option('active_plugins');
87
+ return $active_plugins;
88
+ }
89
+ }
MediaHandling.php ADDED
@@ -0,0 +1,585 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ class MediaHandling{
15
+ private static $instance=null,$smack_instance;
16
+ public $header_array;
17
+ public $value_array;
18
+
19
+ public function __construct(){
20
+
21
+ require_once(ABSPATH.'wp-load.php');
22
+ require_once(ABSPATH . 'wp-admin/includes/image.php');
23
+ require_once(ABSPATH . 'wp-admin/includes/file.php');
24
+ add_action('wp_ajax_zip_upload' , array($this , 'zipImageUpload'));
25
+ add_action('wp_ajax_image_options', array($this , 'imageOptions'));
26
+ add_action('wp_ajax_delete_image' , array($this , 'deleteImage'));
27
+ add_action('wp_ajax_media_report' , array($this , 'mediaReport'));
28
+ }
29
+
30
+ public static function imageOptions(){
31
+ $media_settings['use_ExistingImage'] = $_POST['use_ExistingImage'];
32
+ $media_settings['overwriteImage'] = $_POST['overwriteImage'];
33
+ $media_settings['file_name'] = $_POST['file_name'];
34
+ $media_settings['caption'] = $_POST['caption'];
35
+ $media_settings['alttext'] = $_POST['alttext'];
36
+ $media_settings['description'] = $_POST['description'];
37
+ $media_settings['thumbnail'] = $_POST['thumbnail'];
38
+ $media_settings['medium'] = $_POST['medium'];
39
+ $media_settings['medium_large'] = $_POST['medium_large'];
40
+ $media_settings['large'] = $_POST['large'];
41
+ $media_settings['custom'] = $_POST['custom'];
42
+ $media_settings['custom_slug'] = $_POST['custom_slug'];
43
+ $media_settings['custom_slug'] = $_POST['custom_width'];
44
+ $media_settings['custom_height'] = $_POST['custom_height'];
45
+ $image_info = array(
46
+ 'media_settings' => $media_settings
47
+ );
48
+ update_option( 'smack_image_options', $image_info );
49
+ $result['success'] = 'true';
50
+ echo wp_json_encode($result);
51
+ wp_die();
52
+ }
53
+ public static function getInstance() {
54
+ if (MediaHandling::$instance == null) {
55
+ MediaHandling::$instance = new MediaHandling;
56
+ MediaHandling::$smack_instance = SmackCSV::getInstance();
57
+ return MediaHandling::$instance;
58
+ }
59
+ return MediaHandling::$instance;
60
+ }
61
+
62
+ public function zipImageUpload(){
63
+ $zip_file_name = $_FILES['zipFile']['name'];
64
+ $hash_key = MediaHandling::$smack_instance->convert_string2hash_key($zip_file_name);
65
+ $media_dir = wp_get_upload_dir();
66
+ $upload_dir = MediaHandling::$smack_instance->create_upload_dir();
67
+ $path = $upload_dir . $hash_key . '.zip';
68
+ $extract_path = $media_dir['path'] . '/';
69
+ chmod($path, 0777);
70
+ move_uploaded_file($_FILES['zipFile']['tmp_name'], $path);
71
+ $zip = new \ZipArchive;
72
+ $res = $zip->open($path);
73
+ if ($res === TRUE) {
74
+ for ($i = 0; $i < $zip->numFiles; $i++) {
75
+ $filename[$i] = $zip->getNameIndex($i);
76
+ }
77
+ $zip->extractTo($extract_path);
78
+ $zip->close();
79
+ $result['success'] = true;
80
+ $result['filename'] = $filename;
81
+ }
82
+ else{
83
+ $result['success'] = false;
84
+ }
85
+ echo wp_json_encode($result);
86
+ wp_die();
87
+ }
88
+
89
+ public function deleteImage(){
90
+ $image = $_POST['image'];
91
+ $media_dir = wp_get_upload_dir();
92
+ $names = glob($media_dir['path'].'/'.'*.*');
93
+ foreach($names as $values){
94
+ if (strpos($values, $image) !== false) {
95
+ unlink($values);
96
+ }
97
+ }
98
+ $result['success'] = 'true';
99
+ echo wp_json_encode($result);
100
+ wp_die();
101
+ }
102
+ public function media_handling($img_url , $post_id , $data_array = null ,$module = null, $image_type = null ,$hash_key = null){
103
+ $media_handle = get_option('smack_image_options');
104
+ $image_name = basename($img_url);
105
+ $image_title = sanitize_file_name( pathinfo( $image_name, PATHINFO_FILENAME ) );
106
+ global $wpdb;
107
+ $attach_id = $this->image_function( $img_url , $post_id ,$data_array);
108
+ if($attach_id !=null){
109
+ $image_table = $wpdb->prefix . "ultimate_csv_importer_media";
110
+ $medias_fields = $wpdb->get_results("INSERT INTO $image_table (image_url , attach_id , post_id,hash_key,module,image_type,status) VALUES ( '{$img_url}', $attach_id , $post_id ,'{$hash_key}','{$module}','{$image_type}','Completed')");
111
+ }
112
+ return $attach_id;
113
+ }
114
+
115
+ public function mediaReport(){
116
+ global $wpdb;
117
+ $list_of_images = $wpdb->get_results("select * from {$wpdb->prefix}ultimate_csv_importer_media GROUP BY `hash_key`,`image_type` ",ARRAY_A);
118
+ foreach( $list_of_images as $list_key => $list_val )
119
+ {
120
+ if(!empty($list_val['hash_key'])){
121
+ $file_name = $wpdb->get_results("select file_name from {$wpdb->prefix}smackcsv_file_events where hash_key = '{$list_val['hash_key']}'",ARRAY_A);
122
+ }
123
+ $filename[$list_key]= $file_name[0]['file_name'];
124
+ $module[$list_key] = $list_val['module'];
125
+ $image_type[$list_key] = $list_val['image_type'];
126
+ $image_status[$list_key] = $list_val['status'];
127
+ $number_of_images = $wpdb->get_results("select image_url from {$wpdb->prefix}ultimate_csv_importer_media where hash_key = '{$list_val['hash_key']}' and image_type = '{$image_type[$list_key]}' ",ARRAY_A);
128
+ $count[$list_key] = count($number_of_images);
129
+ }
130
+ $response['file_name'] = $filename ;
131
+ $response['module'] = $module ;
132
+ $response['count'] = $count;
133
+ $response['image_type'] = $image_type;
134
+ $response['status'] = $image_status;
135
+ echo wp_json_encode($response);
136
+ wp_die();
137
+ }
138
+
139
+ public function image_function($f_img , $post_id , $data_array = null,$option_name = null, $use_existing_image = false,$header_array = null , $value_array = null){
140
+
141
+ global $wpdb;
142
+ $media_handle = get_option('smack_image_options');
143
+ $media_settings = array_combine($header_array,$value_array);
144
+ if(isset($media_handle['media_settings']['alttext'])) {
145
+ $alttext ['_wp_attachment_image_alt'] = $media_settings[$media_handle['media_settings']['alttext']];
146
+ }
147
+
148
+ if(preg_match_all('/\b(?:(?:https?|?:http?|ftp|file):\/\/|www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i', $f_img , $matchedlist, PREG_PATTERN_ORDER)) {
149
+ $f_img = $f_img;
150
+ }
151
+ else{
152
+ $media_dir = wp_get_upload_dir();
153
+ $names = glob($media_dir['path'].'/'.'*.*');
154
+ foreach($names as $values){
155
+ if (strpos($values, $f_img) !== false) {
156
+ $f_img = $media_dir['url'].'/'.$f_img;
157
+ }
158
+ }
159
+ }
160
+
161
+ $image_name = pathinfo($f_img);
162
+ if(!empty($media_handle['media_settings']['file_name'])){
163
+ $file_type = wp_check_filetype( $f_img, null );
164
+ $ext = '.'. $file_type['ext'];
165
+ $fimg_name = $media_settings[$media_handle['media_settings']['file_name']].$ext;
166
+ }
167
+ else{
168
+ $fimg_name = $image_name['basename'];
169
+ }
170
+ $file_type = wp_check_filetype( $fimg_name, null );
171
+ if($use_existing_image){
172
+ if(empty($file_type['ext'])){
173
+ $fimg_name = @basename($f_img);
174
+ $fimg_name = str_replace(' ', '-', trim($fimg_name));
175
+ $fimg_name = preg_replace('/[^a-zA-Z0-9._\-\s]/', '', $fimg_name);
176
+ }
177
+ $attachment_id = $wpdb->get_var("SELECT ID FROM ".$wpdb->prefix."posts WHERE post_type = 'attachment' AND guid LIKE '%$fimg_name'");
178
+
179
+ if($attachment_id){
180
+ if(!empty($data_array['featured_image'])){
181
+ set_post_thumbnail( $post_id, $attachment_id );
182
+ return $attachment_id;
183
+ }else{
184
+ return $attachment_id;
185
+ }
186
+ }
187
+ }
188
+
189
+ $attachment_title = sanitize_file_name( pathinfo( $fimg_name, PATHINFO_FILENAME ) );
190
+ $dir = wp_upload_dir();
191
+ $dirname = date('Y') . '/' . date('m');
192
+ $uploaddir_paths = $dir ['basedir'] . '/' . $dirname ;
193
+ $uploaddir_url = $dir ['baseurl'] . '/' . $dirname;
194
+ $f_img = str_replace(" ","%20",$f_img);
195
+ if(empty($file_type['ext'])){
196
+ $fimg_name = @basename($f_img);
197
+ $fimg_name = str_replace(' ', '-', trim($fimg_name));
198
+ $fimg_name = preg_replace('/[^a-zA-Z0-9._\-\s]/', '', $fimg_name);
199
+ }
200
+ if ($uploaddir_paths != "" && $uploaddir_paths) {
201
+ $uploaddir_path = $uploaddir_paths . "/" . $fimg_name;
202
+ }
203
+
204
+ if($file_type['ext'] == 'jpeg'){
205
+ $response = wp_remote_get($f_img, array( 'timeout' => 30));
206
+ }else{
207
+ $response = wp_remote_get($f_img, array( 'timeout' => 10));
208
+ }
209
+ $rawdata = wp_remote_retrieve_body($response);
210
+ $http_code = wp_remote_retrieve_response_code($response);
211
+ if($http_code == 404){
212
+ return null;
213
+ }
214
+
215
+ if ( $http_code != 200 && strpos( $rawdata, 'Not Found' ) != 0 ) {
216
+ return null;
217
+ }
218
+
219
+ if ($rawdata == false) {
220
+ return null;
221
+ } else {
222
+
223
+ if (file_exists($uploaddir_path)) {
224
+ $i = 1;
225
+ $exist = true;
226
+ while($exist){
227
+ $fimg_name = $attachment_title . "-" . $i . "." . $file_type['ext'];
228
+ $uploaddir_path = $uploaddir_paths . "/" . $fimg_name;
229
+
230
+ if (file_exists($uploaddir_path)) {
231
+ $i = $i + 1;
232
+ }
233
+ else{
234
+ $exist = false;
235
+ }
236
+ }
237
+ }
238
+ $fp = fopen($uploaddir_path, 'x');
239
+ fwrite($fp, $rawdata);
240
+ fclose($fp);
241
+ }
242
+ if(empty($file_type['type'])){
243
+ $file_type['type'] = 'image/jpeg';
244
+ }
245
+ $post_info = array(
246
+ 'guid' => $uploaddir_url . "/" . $fimg_name,
247
+ 'post_mime_type' => $file_type['type'],
248
+ 'post_title' => $attachment_title,
249
+ 'post_content' => '',
250
+ 'post_status' => 'inherit',
251
+ );
252
+ $attach_id = wp_insert_attachment( $post_info,$uploaddir_path, $post_id );
253
+ $attach_data = wp_generate_attachment_metadata( $attach_id, $uploaddir_path );
254
+ wp_update_attachment_metadata( $attach_id, $attach_data );
255
+ if(isset($media_handle['media_settings']['description'])){
256
+ $media_handle['media_settings']['description'] = $media_settings[$media_handle['media_settings']['description']];
257
+ }
258
+ if(isset($media_handle['media_settings']['caption'])){
259
+ $media_handle['media_settings']['caption'] = $media_settings[$media_handle['media_settings']['caption']];
260
+ }
261
+ if(isset($media_handle['media_settings']['title'])){
262
+ $media_handle['media_settings']['title'] = $media_settings[$media_handle['media_settings']['title']];
263
+ }
264
+ if(isset($media_handle['media_settings']['caption']) || isset($media_handle['media_settings']['description'])){
265
+ wp_update_post(array(
266
+ 'ID' =>$attach_id,
267
+ 'post_content' =>$media_handle['media_settings']['description'],
268
+ 'post_excerpt' =>$media_handle['media_settings']['caption']
269
+ ));
270
+ }
271
+ if(isset($media_handle['media_settings']['title'])){
272
+ wp_update_post(array(
273
+ 'ID' =>$attach_id,
274
+ 'post_title' =>$media_handle['media_settings']['title']
275
+ ));
276
+ }
277
+ if($attach_id != null && isset($alttext['_wp_attachment_image_alt'])){
278
+ update_post_meta($attach_id, '_wp_attachment_image_alt', $alttext['_wp_attachment_image_alt']);
279
+ }
280
+ if(!empty($data_array['featured_image'])) {
281
+ set_post_thumbnail( $post_id, $attach_id );
282
+ }
283
+
284
+ return $attach_id;
285
+ }
286
+
287
+ public function image_import($data_array){
288
+ if(isset($data_array['alt_text'])) {
289
+ $alttext ['_wp_attachment_image_alt'] = $data_array['alt_text'];
290
+ }
291
+ if(preg_match("http", $data_array['featured_image'])) {
292
+ $f_img = $data_array['featured_image'];
293
+ }
294
+ else{
295
+ $media_dir = wp_get_upload_dir();
296
+ $names = glob($media_dir['path'].'/'.'*.*');
297
+ $f_img = $data_array['featured_image'];
298
+ foreach($names as $values){
299
+ if (strpos($values, $f_img) !== false) {
300
+ $f_img = $media_dir['url'].'/'.$f_img;
301
+ }
302
+ }
303
+ }
304
+ $image_name = pathinfo($f_img);
305
+ $fimg_name = $image_name['basename'];
306
+ $attachment_title = sanitize_file_name( pathinfo( $fimg_name, PATHINFO_FILENAME ) );
307
+ $file_type = wp_check_filetype( $fimg_name, null );
308
+ $dir = wp_upload_dir();
309
+ $dirname = date('Y') . '/' . date('m');
310
+ $uploaddir_paths = $dir ['basedir'] . '/' . $dirname ;
311
+ $uploaddir_url = $dir ['baseurl'] . '/' . $dirname;
312
+ $f_img = str_replace(" ","%20",$f_img);
313
+ if ($uploaddir_paths != "" && $uploaddir_paths) {
314
+ $uploaddir_path = $uploaddir_paths . "/" . $fimg_name;
315
+ }
316
+ if(empty($file_type['type'])){
317
+ $file_type['type'] = 'image/jpeg';
318
+ }
319
+ $post_info = array(
320
+ 'guid' => $uploaddir_url . "/" . $fimg_name,
321
+ 'post_mime_type' => $file_type['type'],
322
+ 'post_title' => $attachment_title,
323
+ 'post_content' => '',
324
+ 'post_status' => 'inherit',
325
+ );
326
+ unset( $post_info['ID'] );
327
+ $attach_id = wp_insert_attachment( $post_info,$uploaddir_path );
328
+ $attach_data = wp_generate_attachment_metadata( $attach_id, $uploaddir_path );
329
+ wp_update_attachment_metadata( $attach_id, $attach_data );
330
+ wp_update_post(array(
331
+ 'ID' => $attach_id,
332
+ 'post_title' => $data_array['file_name'],
333
+ 'post_content' => $data_array['description'],
334
+ 'post_excerpt' => $data_array['caption']
335
+ ));
336
+ if($attach_id != null && isset($alttext['_wp_attachment_image_alt'])){
337
+ update_post_meta($attach_id, '_wp_attachment_image_alt', $alttext['_wp_attachment_image_alt']);
338
+ }
339
+ return $attach_id;
340
+ }
341
+
342
+
343
+ function overwrite($post_id , $img_url){
344
+
345
+ global $wpdb;
346
+ $sql = "SELECT post_mime_type FROM {$wpdb->prefix}posts WHERE ID = $post_id";
347
+ list($current_filetype) = $wpdb->get_row($sql, ARRAY_N);
348
+ $current_filename = wp_get_attachment_url($post_id);
349
+
350
+ $current_guid = $current_filename;
351
+ $current_filename = substr($current_filename, (strrpos($current_filename, "/") + 1));
352
+
353
+ $ID = $post_id;
354
+
355
+ $current_file = get_attached_file($ID);
356
+ $current_path = substr($current_file, 0, (strrpos($current_file, "/")));
357
+ $current_file = preg_replace("|(?<!:)/{2,}|", "/", $current_file);
358
+ $current_filename = basename($current_file);
359
+ $current_metadata = wp_get_attachment_metadata( $post_id );
360
+ $data = file_get_contents($img_url);
361
+
362
+ $new_filename = basename($img_url);
363
+ $file_type = wp_check_filetype( $new_filename, null );
364
+ $new_filetype = $file_type["type"];
365
+
366
+ $original_file_perms = fileperms($current_file) & 0777;
367
+
368
+ $this->emr_delete_current_files( $current_file, $current_metadata , $post_id );
369
+
370
+ $new_filename = wp_unique_filename( $current_path, $new_filename );
371
+ $new_file = $current_path . "/" . $new_filename;
372
+ file_put_contents($new_file, $data);
373
+
374
+ @chmod($current_file, $original_file_perms);
375
+
376
+ $new_filetitle = preg_replace('/\.[^.]+$/', '', basename($new_file));
377
+ $new_guid = str_replace($current_filename, $new_filename, $current_guid);
378
+
379
+ $post_date = gmdate( 'Y-m-d H:i:s' );
380
+
381
+ $sql = $wpdb->prepare(
382
+ "UPDATE {$wpdb->prefix}posts SET post_title = '$new_filetitle', post_name = '$new_filetitle', guid = '$new_guid', post_mime_type = '$new_filetype', post_date = '$post_date', post_date_gmt = '$post_date' WHERE ID = %d;",
383
+ $post_id
384
+ );
385
+ $wpdb->query($sql);
386
+
387
+
388
+ $sql = $wpdb->prepare(
389
+ "SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE meta_key = '_wp_attached_file' AND post_id = %d;",
390
+ $post_id
391
+ );
392
+
393
+ $old_meta_name = $wpdb->get_row($sql, ARRAY_A);
394
+ $old_meta_name = $old_meta_name["meta_value"];
395
+
396
+ // Make new postmeta _wp_attached_file
397
+ $new_meta_name = str_replace($current_filename, $new_filename, $old_meta_name);
398
+ $sql = $wpdb->prepare(
399
+ "UPDATE {$wpdb->prefix}postmeta SET meta_value = '$new_meta_name' WHERE meta_key = '_wp_attached_file' AND post_id = %d;",
400
+ $post_id
401
+ );
402
+ $wpdb->query($sql);
403
+
404
+ $new_metadata = wp_generate_attachment_metadata( $post_id, $new_file );
405
+ wp_update_attachment_metadata( $post_id, $new_metadata );
406
+
407
+
408
+
409
+ $current_base_url = $this->emr_get_match_url( $current_guid ); // .wp-contet.uplodas/ dae name without ext
410
+
411
+ $sql = $wpdb->prepare(
412
+ "SELECT ID, post_content FROM {$wpdb->prefix}posts WHERE post_status = 'publish' AND post_content LIKE %s;",
413
+ '%' . $current_base_url . '%'
414
+ );
415
+
416
+
417
+ $rs = $wpdb->get_results( $sql, ARRAY_A );
418
+
419
+ $number_of_updates = 0;
420
+
421
+
422
+ if ( ! empty( $rs ) ) {
423
+ $search_urls = $this->emr_get_file_urls( $current_guid, $current_metadata );
424
+ $replace_urls = $this->emr_get_file_urls( $new_guid, $new_metadata );
425
+ $replace_urls = $this->emr_normalize_file_urls( $search_urls, $replace_urls );
426
+
427
+ foreach ( $rs AS $rows ) {
428
+
429
+ $number_of_updates = $number_of_updates + 1;
430
+
431
+ // replace old URLs with new URLs.
432
+ $post_content = $rows["post_content"];
433
+
434
+ $post_content = addslashes( str_replace( $search_urls, $replace_urls, $post_content ) );
435
+
436
+ $sql = $wpdb->prepare(
437
+ "UPDATE {$wpdb->prefix}posts SET post_content = '$post_content' WHERE ID = %d;",
438
+ $rows["ID"]
439
+ );
440
+
441
+ $wpdb->query( $sql );
442
+ }
443
+ }
444
+ update_attached_file( $post_id, $new_file );
445
+
446
+ }
447
+
448
+
449
+ function emr_delete_current_files( $current_file, $metadta = null , $post_id ) {
450
+ // Delete old file
451
+
452
+ // Find path of current file
453
+ $current_path = substr($current_file, 0, (strrpos($current_file, "/")));
454
+
455
+ // Check if old file exists first
456
+ if (file_exists($current_file)) {
457
+ // Now check for correct file permissions for old file
458
+ clearstatcache();
459
+ if (is_writable($current_file)) {
460
+ // Everything OK; delete the file
461
+ unlink($current_file);
462
+ }
463
+ else {
464
+ // File exists, but has wrong permissions. Let the user know.
465
+ printf( esc_html__('The file %1$s can not be deleted by the web server, most likely because the permissions on the file are wrong.'), $current_file);
466
+ exit;
467
+ }
468
+ }
469
+
470
+ // Delete old resized versions if this was an image
471
+ $suffix = substr($current_file, (strlen($current_file)-4));
472
+ $prefix = substr($current_file, 0, (strlen($current_file)-4));
473
+
474
+ if (strtolower($suffix) === ".pdf") {
475
+ $prefix .= "-pdf";
476
+ $suffix = ".jpg";
477
+ }
478
+
479
+ $imgAr = array(".png", ".gif", ".jpg", ".jpeg");
480
+ if (in_array($suffix, $imgAr)) {
481
+ // It's a png/gif/jpg based on file name
482
+ // Get thumbnail filenames from metadata
483
+ if ( empty( $metadata ) ) {
484
+ $metadata = wp_get_attachment_metadata( $post_id );
485
+ }
486
+
487
+ if (is_array($metadata)) { // Added fix for error messages when there is no metadata (but WHY would there not be? I don't know…)
488
+ foreach($metadata["sizes"] AS $thissize) {
489
+ // Get all filenames and do an unlink() on each one;
490
+ $thisfile = $thissize["file"];
491
+ // Create array with all old sizes for replacing in posts later
492
+ $oldfilesAr[] = $thisfile;
493
+ // Look for files and delete them
494
+ if (strlen($thisfile)) {
495
+ $thisfile = $current_path . "/" . $thissize["file"];
496
+ if (file_exists($thisfile)) {
497
+ unlink($thisfile);
498
+ }
499
+ }
500
+ }
501
+ }
502
+
503
+ }
504
+ }
505
+
506
+ function emr_get_match_url($url) {
507
+ $url = $this->emr_remove_scheme($url);
508
+ $url = $this->emr_maybe_remove_query_string($url);
509
+ $url = $this->emr_remove_size_from_filename($url, true);
510
+ $url = $this->emr_remove_domain_from_filename($url);
511
+
512
+ return $url;
513
+ }
514
+
515
+ function emr_remove_scheme( $url ) {
516
+ return preg_replace( '/^(?:http|https):/', '', $url );
517
+ }
518
+
519
+ function emr_maybe_remove_query_string( $url ) {
520
+ $parts = explode( '?', $url );
521
+
522
+ return reset( $parts );
523
+ }
524
+
525
+ function emr_remove_size_from_filename( $url, $remove_extension = false ) {
526
+ $url = preg_replace( '/^(\S+)-[0-9]{1,4}x[0-9]{1,4}(\.[a-zA-Z0-9\.]{2,})?/', '$1$2', $url );
527
+
528
+ if ( $remove_extension ) {
529
+ $ext = pathinfo( $url, PATHINFO_EXTENSION );
530
+ $url = str_replace( ".$ext", '', $url );
531
+ }
532
+
533
+ return $url;
534
+ }
535
+
536
+ function emr_remove_domain_from_filename($url) {
537
+ // Holding place for possible future function
538
+ $url = str_replace($this->emr_remove_scheme(get_bloginfo('url')), '', $url);
539
+ return $url;
540
+ }
541
+
542
+
543
+ function emr_get_file_urls( $guid, $metadata ) {
544
+ $urls = array();
545
+
546
+ $guid = $this->emr_remove_scheme( $guid );
547
+ $guid= $this->emr_remove_domain_from_filename($guid);
548
+
549
+ $urls['guid'] = $guid;
550
+
551
+ if ( empty( $metadata ) ) {
552
+ return $urls;
553
+ }
554
+
555
+ $base_url = dirname( $guid );
556
+
557
+ if ( ! empty( $metadata['file'] ) ) {
558
+ $urls['file'] = trailingslashit( $base_url ) . wp_basename( $metadata['file'] );
559
+ }
560
+
561
+ if ( ! empty( $metadata['sizes'] ) ) {
562
+ foreach ( $metadata['sizes'] as $key => $value ) {
563
+ $urls[ $key ] = trailingslashit( $base_url ) . wp_basename( $value['file'] );
564
+ }
565
+ }
566
+
567
+ return $urls;
568
+ }
569
+
570
+ function emr_normalize_file_urls( $old, $new ) {
571
+ $result = array();
572
+
573
+ if ( empty( $new['guid'] ) ) {
574
+ return $result;
575
+ }
576
+
577
+ $guid = $new['guid'];
578
+
579
+ foreach ( $old as $key => $value ) {
580
+ $result[ $key ] = empty( $new[ $key ] ) ? $guid : $new[ $key ];
581
+ }
582
+
583
+ return $result;
584
+ }
585
+ }
Plugin.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ class Plugin{
15
+ private static $instance = null;
16
+ private static $string = 'com.smackcoders.smackcsv';
17
+
18
+ public static function getInstance() {
19
+ if (Plugin::$instance == null) {
20
+ Plugin::$instance = new Plugin;
21
+
22
+ return Plugin::$instance;
23
+ }
24
+ return Plugin::$instance;
25
+ }
26
+
27
+ public function getPluginSlug(){
28
+ return Plugin::$string;
29
+ }
30
+ }
Readme.txt CHANGED
@@ -1,691 +1,697 @@
1
- === Import Export Post as CSV File===
2
- Contributors: smackcoders, smacksupport
3
- Requires at least: 4.5
4
- Tested up to: 5.2.2
5
- Stable tag: 5.6.2
6
- Version: 5.6.2
7
- Requires PHP: 5.2.4
8
- Author: smackcoders
9
- Author URI: http://profiles.wordpress.org/smackcoders/
10
- Donate link: https://www.paypal.me/smackcoders
11
- Tags: csv, csv import, csv importer, import, import csv, import seo, import woocommerce, acf, excel, spreadsheet
12
- License: GPLv2 or later
13
- Simple, powerful and easy CSV Import plugin even for newbies and novice users.
14
-
15
- A powerful plugin that fits for all your CSV Import and export needs.
16
-
17
- == Description ==
18
- Ultimate CSV Importer provides all the necessary Import and Export features in one bundle with simplified steps to follow.
19
-
20
- How to import data to your WordPress?
21
-
22
- There are 3 simple steps to follow,
23
-
24
- 1. Upload your CSV/XML file.
25
- 2. Relate or map your CSV fields with WP fields using drag and drop or simple left/right pick list method.
26
- 3. Click import once done.
27
-
28
- [youtube https://www.youtube.com/watch?v=Uho22R0BCHQ&feature=youtu.be]
29
-
30
- There are more features bundled to make even complicated post data import simplified.
31
-
32
- = 1.Upload your CSV =
33
-
34
- * Upload your CSV file from different sources like desktop, FTP/SFTP, remote URLs or a location from your host server.
35
- * CSV, Zip, txt and XMl data (pro) file types supported.
36
- * Once uploaded, choose New items if you want to import as new posts.
37
- * Choose existing option in case to import the data to update or replace existing posts records.
38
- * Pick a post type like Post, Page, Custom Post, Comments or any other from the drop down.
39
- * This is under which post type your data get imported.
40
- * It can be a complete post content replacement or partial update like selected set of fields for each post in CSV.
41
- * Click continue button.
42
-
43
- = 2.Relate or map your CSV fields to WP fields =
44
-
45
- In mapping section, CSV Importer plugin allows you to relate the uploaded data set against WordPress fields. There are two methods available to relate your data set.
46
-
47
- * A simple left and right drop downs that allows you to map CSV field with the related WordPress fields.
48
- * You can choose each field from left side and assign a field from right to where it should go.
49
-
50
- = Drag 'n' Drop method =
51
-
52
- * You can visually drag field by field from the right side bar and drop it to post create view like place holder.
53
- * For e.g. you can drag title filed and drop it under post title box.
54
- * To make it easier you can see both field label and sample record in side bar, which allows you to understand how data placed.
55
- * In top side bar header, you can rotate this sample records by choosing a row item no. in case the default sample data is not helpful.
56
-
57
- = 3. Click Import =
58
-
59
- * Once the mapping completed, click import to start the import process.
60
- * In import view, you can pause and resume the import process.
61
- * A section shows post count and status of successful imports with a timer.
62
- * A log section shows you detailed real time log of the process step by step.
63
- * Log is downloadable using the link provided.
64
-
65
- = What can you import in WordPress =
66
- Core Modules – Post, Page, Custom Post, Comments.
67
- Users – Import Users add-on to import your WordPress Users
68
- Custom Post – CPT UI, Custom Press and default WordPress Custom Post.
69
- Custom Field – WordPress default Text and Text area fields.
70
- SEO field – Free version of All in One SEO.
71
- Reviews – WP Customer Reviews
72
-
73
- = Highlights =
74
- * High performance, much comparable & much faster than all the other available plugins.
75
- * Can handle 1000s of records on the fly.
76
- * Supports WordPress Custom Fields, Custom Press fields, WP Customer Reviews and All in One SEO fields.
77
- * Media images from any external URL like Google Images, pixabay, shutterstock, or any domain you own can be imported.
78
- * Image import processed from the background using WP-CRON to improve the performance.
79
- * Import with duplicate handling for optimized database.
80
- * Free add-on to Import Users <link> to upload user info into WordPress.
81
- * WordPress core custom fields registered dynamically on the flow of CSV import.
82
- * Post type import with terms & taxonomies with any of depth of parent-child values.
83
- * WordPress multisite import supported.
84
- * Post Type CSV import along with multi category & multi tag.
85
- * Import CSV with any delimiter in UTF-8 format can be imported.
86
- * Free export add-on to export <link> all your WP content in CSV file.
87
-
88
- = Important Notes =
89
- * Featured image import from any publicly accessible external URL.
90
- * All languages supported by WordPress imported in UTF-8 without BOM format.
91
-
92
- = Other useful tools =
93
- * Dashboard
94
- * General settings >> Scheduled log emails, send password in users get imported etc.
95
- * Database optimization
96
- * Security and performance monitoring
97
- * Manager >>File manager, log manager
98
- * Support >> Documentation
99
-
100
- = Premium Features =
101
- * CSV and XML import
102
- * Reusable Mapping Templates with Template manager
103
- * Smart Schedule/Recurring Import to run import periodically without any manual interaction.
104
- * Toolset Types Import – Custom fields, Post Relation, Intermediate post, Repeatable Field & Repeater Field Group support
105
- * Multilingual import – support for the import of WPML & qTranslate X add-on
106
- * WooCommerce product import along with six WooCommerce add-on
107
- * Handles Custom Fields of ACF (FREE & Pro), Types, Pods and WordPress fields with the flow of import
108
- * Import history i.e. detailed log maintained in the Log manager.
109
- * Import all the supported features with Rest API.
110
- * Extendable for your needs with API.
111
-
112
-
113
- = HELPFUL LINKS =
114
- [Documentation](https://www.smackcoders.com/documentation/ultimate-csv-importer-pro/how-to-import-csv?utm_source=web&utm_campaign=readme&utm_medium=wp_org)
115
-
116
- [Try our live demo here](https://demo.smackcoders.com/wordpress/wp-admin/admin.php?page=sm-uci-dashboard)
117
-
118
- [Request a free trial by visiting here](https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) and Click Try Now option to generate your own WordPress test environment.
119
-
120
- [For samples and tutorials visit our blog](https://www.smackcoders.com/blog.html?utm_source=wp.org&utm_medium=plugin&utm_campaign=readme)
121
-
122
- == Screenshots ==
123
- 1. Dashboard view of the importer.
124
- 2. Upload section of CSV.
125
- 3. Simple Drag and Drop mapping.
126
- 4. Mapping view of the uploaded CSV fields with WordPress fields.
127
- 5. Detailed real-time log.
128
- 6. Settings with php.ini details.
129
- 7. Downloadable log manager for all imported events.
130
-
131
- == Frequently Asked Questions ==
132
-
133
- * What is a csv file?
134
- A csv or comma separated value file is a simple text based file format to store tabular data. In general, a character like a comma used as a separator between commas separated values as tables.
135
-
136
- * How to open or edit csv file?
137
- A csv file could be edited in any program like notepad or notepad+. However, a spreadsheet editor like MS Office, Open Office Calc is more useful to directly edit as tabled structure.
138
-
139
- * What are the types of CSV files?
140
- Most common type is csv or comma separated value file. The other one is delimited file where a character like a tab or a semicolon used instead of comma as a delimiter.
141
-
142
- * What is csv file format?
143
- There are different file formats available based on encode like ANSI, UTF-8, UTF-8 without BOM, USC-2 BE BOM and USC-2 LE BOM. For WordPress, the default format will be UTF-8 and for non-Latin character data, UTF-8 without BOM used.
144
-
145
- * How to validate a CSV?
146
- You can validate a csv file using [CSV Lint](https://csvlint.io/). Your CSV may miss escaping characters and misplaced/skipped character, which may cause the import to cease. Validate any csv file for issues or warning and fix them before importing it to WordPress.
147
-
148
- * How to import content to WordPress?
149
- Import to WordPress done in different methods based on content source type, platform, and file types. The most common types of imports are XML, CSV and DB files.
150
- 1. Xml method needs advanced knowledge to edit/update them in case of any changes required on source data. Otherwise, users are limited to do import without any changes to source file. Hence, editing done post by post in WordPress only possible after import.
151
- 2. CSV methods allow any users with basic excel or any spreadsheet knowledge can audit, change, edit or update the data visually in bulk before importing. So painful manual works avoided and time saved. Also, CSV file is the most preferred method for any offline programs.
152
-
153
- == Changelog ==
154
- = 5.6.2 =
155
- * Added: support for remote url without extensions
156
- = 5.6.1 =
157
- * Added: WP CSRF Protection
158
- = 5.6 =
159
- * Added: Compatibility for WordPress 5.0
160
- = 5.3.7 =
161
- * Removed: Registering custom field in mapping section.
162
- = 5.3.6 =
163
- * Added: Compatibility for WordPress 4.9.8
164
- * Added: Import Post parent import with Post Title
165
- * Fixed: Post export redirection issue.
166
- * Fixed: Post slug import in drag and drop method.
167
- = 5.3.5 =
168
- * Added: Support for serialized data import.
169
- * Added: Compatibility for WordPress 4.9.6
170
- * Improved: Usability and user interface.
171
- * Fixed: Insertion of hyperlinks in WYSIWYG editor in drag and drop mapping.
172
- = 5.3.4 =
173
- * Improved: Notifications in mapping
174
- * Fixed: Export menu issue.
175
- = 5.3.3 =
176
- * Added: Compatibility for WordPress 4.9
177
- * Moved: User import as add-on.
178
- * Removed: Export
179
- = 5.3.2 =
180
- * Added: Add-ons support
181
- * Moved: User import as add-on.
182
- * Removed: Export
183
- = 5.3.1 =
184
- * Modified: Hide the filter based on Condition.
185
- * Fixed: data loss when page refresh (export).
186
- * Fixed: warning during Upload.
187
- * Fixed: user export above 1000 records.
188
- * Fixed: Custom Field Suite issue.
189
- * Fixed: Forced quotes issue.
190
- = 5.3 =
191
- * Added: Prevent loss of mapping data
192
- * Added: Custom field group plugin support
193
- * Added: Maintenance mode
194
- * Added: Inclusion feature
195
- * Updated: Exclude selection as include selection in export module
196
- * Fixed: User import
197
- * Fixed: Delimiter issue
198
- * Fixed: Advance mapping issues
199
- * Fixed: Post status in Mapping
200
- * Fixed: Featured image in Mapping
201
- * Fixed: Post comment in Mapping
202
- * Fixed: Export page radio button based on plugin activation
203
- * Fixed: Comment Export
204
- * Fixed: Text changes
205
- = 5.2 =
206
- * Added: Advance mapping view with Drag and Drop support.
207
- * Added: Ultimate member plugin support for Users Import.
208
- * Fixed: Issue with Post format.
209
- * Fixed: Month order in dashboard charts.
210
- * Added: Latest version support on All in One SEO 2.3.12.1.
211
- * Added: Compatibility for WordPress 4.7.3.
212
- = 5.1.1 =
213
- * Fixed: Broken when SCRIPT_DEBUG is true. [Solved](https://wordpress.org/support/topic/broken-when-script_debug-is-true/).
214
- * Fixed: Issue in duplicate handling to skip the duplicate records.
215
- * Added: Missing font "glyphicons-halflings-regular.woff2".
216
- * Removed: Unwanted console warnings.
217
- * Added: Compatibility for WordPress 4.7.2.
218
- = 5.1 =
219
- * Added: Language Support for German, French, Italian, Spanish, and Dutch & Russian.
220
- * Added: Restriction to show Admin dashboard widget only for users with Admin role. [Solved](https://wordpress.org/support/topic/admin-dashboard-widget-is-showing-to-all-users)
221
- * Added: Notice to [enable wp-cron](https://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wp_org&utm_campaign=readme&utm_medium=change_log) to populate the feature images. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
222
- * Added: Warning messages to notify when uploads directory is missing, insufficient permission to access and uploaded file size exceeds your server limits.
223
- * Added: Duplicate handling feature to skip the duplicate records.
224
- * Added: Canonical URL support in All in One SEO data import.
225
- * Improved: CSV export performance.
226
- * Fixed: All custom fields in WP installation adding to a Post. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
227
- * Fixed: Mixing up of Custom taxonomies while assigning a term to Post. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
228
- * Fixed: Adding unwanted data before and after post content. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
229
- * Fixed: Issue with Post Category & Tags export.
230
- * Fixed: Missing up of SEO fields in mapping section.
231
- * Fixed: Issue in exporting All in one SEO fields.
232
- * Fixed: Issue in assigning page template (wp_page_template).
233
- * Removed: Warnings in migration script.
234
- = 5.0.3 =
235
- * Added: Support for traditional Chinese characters.
236
- * Fixed: Author/Editor menu visibility issue
237
- * Fixed: [Assigning categories to post issue](https://wordpress.org/support/topic/ultimate-csv-importer-v5-adds-all-posts-to-uncategorized/)
238
- * Fixed: [Import with Chinese character](https://wordpress.org/support/topic/unable-to-import-posts-with-chinese-characters/)
239
- = 5.0.2 =
240
- * Added: Compatibility from PHP 5.3.
241
- = 5.0.1 =
242
- * Fixed: WP Customer Reviews import feature.
243
- = 5.0 =
244
- * Added: Compatibility for WordPress 4.7 and PHP 7.
245
- * Added: Option to replace imported CSV file value with static and dynamic value.
246
- * Added: Image import from external URL
247
- * Added: Send email to newly imported User with Password Information
248
- * Added: Any Custom Post Type import.
249
- * Added: Post Type import with terms & taxonomies with any depth of parent-child hierarchy.
250
- * Improved: High-speed import with enhanced UI.
251
- * Improved: User role import with capability value or role name in CSV
252
- = 3.11.1 =
253
- * Fixed: Browse button disappears in 3.11.0 https://wordpress.org/support/topic/browse-button-disappears-in-3110
254
- = 3.11.0 =
255
- * Added: Compatibility for WordPress 4.5.3.
256
- * Added: menu_order field Import for Custom Post Type.
257
- * Added: [Support for comma and pipeline separation in multi category & taxonomies import](https://wordpress.org/support/topic/importing-a-taxonomy-field?replies=4).
258
- * Added: Compatibility to export WooCommerce fields with WooCommerce version 2.6.1.
259
- * Updated: Help links of Product page & Live Demo.
260
- * Fixed: Issues in Taxonomies, Categories & Tags export.
261
- * Fixed: Issue in export by status filter.
262
- = 3.10.0 =
263
- * Improvements: Can export any number of records from WordPress site.
264
- * Fixed: Issue in ACF relationship field export.
265
- = 3.9.4 =
266
- * Improvements: Duplicate image handling. Option to skip or rename image as image_name-number if image name is same as existing media image name.
267
- = 3.9.3 =
268
- * Added: Compatibility for WordPress 4.5
269
- * Fixed: Environment issue with custom port id in MAMP.
270
- = 3.9.2 =
271
- * Modified: CSVParser Engine with SmackCSVParser, a high-speed robust parser.
272
- = 3.9.1 =
273
- * Added: Post parent now supports for post title and post name.
274
- * Fixed: jQuery conflicts.
275
- = 3.9 =
276
- * Added: PHP 7 compatibility.
277
- * Added: Support for all postdate formats.
278
- * Fixed: Featured image and Inline image naming issues.
279
- * Fixed: Auto mapping issues in Custom Fields and SEO Fields.
280
- = 3.8.8 =
281
- * Added: Localize script for multi-language support.
282
- * Added: WordPress 4.4.1 compatibility.
283
- * Improved: Code cleanups with WordPress standards.
284
- * Fixed: Vulnerability security issue.
285
- * Fixed: Export issue.
286
- * Fixed: Custom Taxonomy import issue.
287
- * Fixed: User mail notification on new user imports.
288
- * Fixed: Category & Tag import issue in eShop module.
289
- * Removed: Mod security check.
290
- = 3.8.6 =
291
- * Added: Compatibility for WordPress 4.4.
292
- * Modified: Support page UI.
293
- * Fixed: Postdate issue.
294
- * Fixed: Custom Post Type listing issue.
295
- = 3.8.5 =
296
- * Added: Restriction to view the image without password for protected status content.
297
- * Modified: Settings page UI.
298
- * Fixed: post_status mandatory validation issue.
299
- * Fixed: SEO Fields mapping issue.
300
- * Fixed: Known issues in export.
301
- * Fixed: Mandatory validation issues.
302
- * Fixed: Console TypeError issue.
303
- = 3.8.4 =
304
- * Modified: Changed the Dashboard view.
305
- = 3.8.3 =
306
- * Added : Text domain for language translation system.
307
- * Fixed : Detect duplicate issue.
308
- = 3.8.2 =
309
- * Added : Compatibility for WordPress 4.3.1.
310
- * Added : Grouped core custom field in mapping section.
311
- * Added : Image import with spaces in image name.
312
- * Fixed : Module entry count in dashboard issue.
313
- * Fixed : Duplication of image in media gallery.
314
- = 3.8.1 =
315
- * Added : Compatibility for WordPress 4.2.3 and 4.2.4.
316
- * Added : Export by specific date and author option in comments.
317
- * Fixed : warnings triggered in console.
318
- * Fixed : XSS vulnerability.
319
- * Removed : ../../../../../../wp-load.php and replaced with WordPress Ajax call.
320
- * Removed : Direct usage of wp-content.
321
- = 3.8 =
322
- * Added : Multi language support (fr_FR,es_ES,nl_NL).
323
- * Added : Inline image handling with short code along with image attributes.
324
- * Added: Any delimiter support for CSV export.
325
- * Fixed: Warnings and bugs Fixes
326
- = 3.7.4 =
327
- * Added : WordPress 4.2.2 compatibility.
328
- * Fixed : Allow Editor/Author to import.(Multisite also).
329
- = 3.7.3 =
330
- * Fixed: Vulnerability security issue.
331
- = 3.7.2 =
332
- * Added: WordPress 4.2 and 4.2.1 compatibility.
333
- * Fixed: Blank page issue conflicts.
334
- = 3.7.1 =
335
- * Added: Security fix for curl.
336
- * Added: Security fix for session status.
337
- = 3.7 =
338
- * Fixed: Featured image hot link issue.
339
- = 3.6.78 =
340
- * Added: Hot security fix in readfile.php.
341
- = 3.6.77 =
342
- * Added: WordPress 4.1.1 compatibility.
343
- * Improved: Inline image import feature.
344
- * Added recursive method to assign the image.
345
- * Fixed: Featured image naming issue. [Solved](https://wordpress.org/support/topic/problem-in-import-with-the-image-name)
346
- * Removed: Warnings.
347
- = 3.6.76 =
348
- * Improved: Post Format.
349
- * Fixed: Export eShop content issue.
350
- * Fixed: Import with image name issue.
351
- * Fixed: Groups plugin conflict.
352
- = 3.6.75 =
353
- * Added: Terminate & Continue option in import.
354
- * Improved: Log section.
355
- * Fixed: Web View & Admin View issue.
356
- * Fixed: Security issue in export module.
357
- = 3.6.74 =
358
- * Fixed: Security issue.
359
- = 3.6.73 =
360
- * Added: WordPress 4.0 compatibility.
361
- * Added: https format support for all WP instances.
362
- * Added: Warning to guide user to create uploads directory with writable permissions.
363
- * Improved: Security and performance tab under settings module.
364
- * Fixed: Featured image-handling issues.
365
- * Fixed: Multisite compatibility issue.
366
- * Fixed: All console warnings.
367
- * Removed: Post Content field mandatory option.
368
- = 3.6.72 =
369
- * Added: Debug mode enable/disable options.
370
- * Modified: Menu order changes.
371
- = 3.6.71 =
372
- * Fixed: Minor bugs.
373
- = 3.6.7 =
374
- * Added: Export features for all missing modules.
375
- * Fixed: All console warnings and reported logs.
376
- = 3.6.6 =
377
- * Fixed: Dashboard chart issue in multisite.
378
- * Modified: UI to improve usability.
379
- * Fixed: Groups plugin conflicts.
380
- = 3.6.5 =
381
- * Added: Inline image support with advanced media handling.
382
- * Added: PDO check.
383
- = 3.6.4 =
384
- * Added: WordPress 4.0 compatibility.
385
- * Added: Advanced export features with filter options.
386
- * Improved: Advanced log section.
387
- * Fixed: jQuery issues.
388
- = 3.6.3 =
389
- * Added: eShop import support.
390
- * Added: WordPress 3.9.2 compatibility.
391
- * Fixed: Conflicts with other plugins.
392
- = 3.6.2 =
393
- * Fixed: Hot security issue.
394
- = 3.6.1 =
395
- * Fixed: Multi-site support issue.
396
- * Fixed: Duplicate import issue.
397
- * Fixed: Security issue.
398
- = 3.6 =
399
- * Added: Interactive graphs and charts in plugin dashboard.
400
- * Added: Admin dashboard widgets.
401
- * Added: Users and comments export feature.
402
- * Added: Auto delimiter handling.
403
- * Added: Auto mapping feature.
404
- * Added: Allow authors to access import features.
405
- = 3.5.5 =
406
- * Added: post_format attribute support.
407
- * Added: page_template attribute.
408
- * Added: update_post_meta for duplicate meta issue
409
- * Fixed: TypeError issue in jQuery.
410
- = 3.5.4 =
411
- * Added: All in One SEO Pack import support.
412
- * Added: WordPress 3.9.1 compatibility.
413
- = 3.5.3 =
414
- * Added: Compatibility for WordPress 3.9.
415
- * Added: Export feature for Posts, Page, Custom Post.
416
- * Fixed: Reported bugs
417
- * Removed: all warnings.
418
- = 3.5.2 =
419
- * Import posts with author names as numerical apart from User ID
420
- * Added: menu_order attribute import
421
- * Added: Auto image rename option
422
- * Option to cancel any partial import at middle
423
- * Improved image handling even special characters in URL
424
- * Import can handle image URLs without any extensions
425
- * User reported bugs fixed
426
- = 3.5.1 =
427
- * User reported issue fixes
428
- * Activation and other plugin conflict issue solved like Jet pack
429
- * Admin UI freezing issues - screen option, Help links issues fixed.
430
- * WYSIWYG editor UI issue fixed.
431
- = 3.5.0 =
432
- * Combined major release version of 3.5 and 3.4
433
- * Improved MVC structure.
434
- * Improved User interface with drag and drop feature.
435
- * Improved: WordPress 3.8.1 compatibility added.
436
- * Module based system allows simplify UI
437
- * Added: Detailed log feature added.
438
- * Added: Support and Useful links added.
439
- * Added: Support made easy now from plugin.
440
- = 3.3.1 =
441
- * Added: Multisite compatibility except User import.
442
- * Added: Comments, Users modules mandatory fields validation added.
443
- * Improved: Removed unwanted warnings.
444
- = 3.3.0 =
445
- * Added: WordPress 3.8 compatibility.
446
- * Added: Bulk users with role import feature.
447
- * Added: Comments import feature with relevant post ids.
448
- = 3.2.3 =
449
- * Added: WordPress 3.7.1 compatibility added.
450
- * Added: Different media path support added.
451
- * Added: Sub folder installations support added.
452
- * Improved: Updated plugin directory path.
453
- * Improved: Removed unwanted warnings.
454
- * Improved: Performance check.
455
- = 3.2.2 =
456
- * Added: WordPress 3.6.1 compatibility added.
457
- * Added: Mapping UI improved with on select dynamic update feature
458
- * Added: Help content added
459
- * Fixed: Post slug issue fixed and tested for 3.6 and 3.6.1
460
- = 3.2.1 =
461
- * Improved: Performance improvements on SQL and CSV parsing
462
- * Fixed: Plugin deactivation issue fixed and updated the code.
463
- * Fixed: Links in the cells makes problems with the "quote"
464
- * Fixed: Loading content from more than one column
465
- * Fixed: Custom Post type issues fixed
466
- = 3.2.0 =
467
- * Improved: User interface improvements
468
- * Improved:WordPress 3.6 compatibility added, Much Improved UI.
469
- * Fixed: Featured image issues fixed for WordPress-3.6.
470
- = 3.1.0 =
471
- * Improved: Much Improved Featured Image feature
472
- * Fixed: Image URL for featured image issues fixed
473
- * Fixed: PHP 5.4 upgrade fix
474
- = 3.0.0 =
475
- * Added: Category in numeric are restricted and skipped to Uncategorized
476
- * Added: Protected status password inclusion as {password}.
477
- * Added: Post authors can be User ID or name
478
- * Improved: Much improved workflow
479
- * Improved: Add custom field option improved.
480
- * Improved: Date format handling improved
481
- * Improved: Any Date format supported now
482
- * Improved: Future scheduling and status improved
483
- * Improved: Can apply post status for individual post via CSV itself
484
- * Improved: Featured image handling improved and fixed. More improvement are scheduled.
485
- * Improved: Duplicate check options improved for both title and content option.
486
- * Improved: Post author issue fixed and improved
487
- * Improved: Wrong user id or name are automatically assigned under admin
488
- * Improved: Multi category and tags improved
489
- * Fixed: Custom Field mapping and import fixed
490
- * Fixed: Overall Status option improved and issue fixed
491
- * Fixed: Password field fixed for Protected
492
- * Fixed: Status as in CSV option improved and fixed
493
- = 2.7.0 =
494
- * Added: Added more post status options
495
- * Added: Publish, Sticky, Private, Draft and Pending Status for whole import
496
- * Added: Protected status with a common password option added
497
- * Added: "Status as in CSV" to assign status for individual post through CSV as ID or Field Tag
498
- * Added: User ID and User Name support for Post author feature added
499
- * Added: In case of missing or false IDs post assigned to admin as draft
500
- * Added: Add Custom Field Text box auto-filled with CSV header tag.
501
- * Added: Duplicate detection for post content and post title added as options.
502
- * Added: User can choose either one or both to avoid duplicate issues.
503
- * Improved: 6 Standard date format added as drop down to choose.
504
- * Improved: Renamed post_name as post_slug to avoid confusion
505
- * Improved: Mapping Fields
506
- * Improved: Field tags are formatted to support auto mapping option (next milestone)
507
- * Improved: Listed custom fields with prefix as CF: Name for easy identification.
508
- * Fixed: Date format conflict at import fixed.
509
- = 2.6.0 =
510
- * Fixed: Major Bug fixed
511
- * Fixed: Added UTF-8 support.
512
- * Fixed: Fixed HTML tag conflicts.
513
- = 2.5.0 =
514
- * Major issues fixed and updated to WordPress-3.5.1 compatibility.
515
- = 2.0.1 =
516
- * Update to WordPress-3.5 compatibility.
517
- = 2.0.0 =
518
- * WPDEBUG errors fixed. CSV import folder changed to WP native uploads folder.
519
- = 1.1.1 =
520
- * Renamed the mapping field attachment as featured_image and category as post_category.
521
- = 1.1.0 =
522
- * Added featured image import feature along with post/page/custom post.
523
- = 1.0.2 =
524
- * Bug fixed to recognize the trimmed trailing space in the CSV file
525
- * Added validation for the duplicate field mapping.
526
- = 1.0.1 =
527
- * Added features to import multiple tags and categories with different delimiters.
528
- = 1.0.0 =
529
- * Initial release version. Tested and found works well without any issues.
530
-
531
- == Upgrade Notice ==
532
- = 5.6.2 =
533
- * Update for improve image import.
534
- = 5.6.1 =
535
- * Important update for security fixes.
536
- = 5.6 =
537
- * Upgrade now for WordPress 5.0 compatibility
538
- = 5.3.7 =
539
- * Upgrade now to get latest version of Ultimate CSV Importer
540
- = 5.3.6 =
541
- * Upgrade now to get Post parent import with Post title and compatibility for WordPress 4.9.8
542
- = 5.3.5 =
543
- * Upgrade now to get support for serialized data import and compatibility for WordPress 4.9.6
544
- = 5.3.4 =
545
- * Upgrade now for Export issue fix.
546
- = 5.3.3 =
547
- * Upgrade now for WordPress 4.9 compatibility.
548
- = 5.3.2 =
549
- * Upgrade now for getting addons support
550
- = 5.3.1 =
551
- * Upgrade now to get the fix for Export,CFS and WordPress 4.8.1 compatibility.
552
- = 5.3 =
553
- * Major improvements and fix updates, verify change log for upgrade.
554
- = 5.2 =
555
- * Upgrade now to get enhanced User Interface and support for latest version of All in one SEO. 2.3.12.1.
556
- = 5.1.1 =
557
- * Upgrade now to get the fix for duplicate handling feature.
558
- = 5.1 =
559
- * Upgrade now for six language support, duplicate handling and more.
560
- = 5.0.3 =
561
- * Upgrade now for Chinese character support and a fix for category import.
562
- = 5.0.2 =
563
- * Upgrade now to get the fix for PHP 5.3 compatibility.
564
- = 5.0.1 =
565
- * Upgrade now to get the fix for WP Customer Review add-on support.
566
- = 5.0 =
567
- * Upgrade now for high-speed import, WP Customer Review add-on support, WordPress 4.7 Compatibility and much more.
568
- = 3.11.0 =
569
- * Upgrade now for WordPress 4.5.3 and WooCommerce 4.3.1 compatibility and other minor enhancements.
570
- = 3.10.0 =
571
- * Upgrade now to export ACF relationship field and improved export features.
572
- = 3.9.4 =
573
- * Upgrade now for duplicate image handling feature.
574
- = 3.9.3 =
575
- * Upgrade now to get support for custom port id in MAMP environment and WordPress 4.5 compatibility.
576
- = 3.9.2 =
577
- * Upgrade now to get high-speed robust parser.
578
- = 3.9.1 =
579
- * Upgrade now for import post parent with post name and post title.
580
- = 3.9 =
581
- * Upgrade now for PHP 7 and WordPress 4.4.2 compatibility.
582
- = 3.8.8 =
583
- * Upgrade now for security fix and WordPress 4.1.1 compatibility with minor bug fixes.
584
- = 3.8.6 =
585
- * Upgrade now for import the default CPTs.
586
- = 3.8.5 =
587
- * Upgrade now for known bug fixes.
588
- = 3.8.4 =
589
- * Upgrade now for new dashboard view.
590
- = 3.8.3 =
591
- * Upgrade now for improvements in multi-language translation.
592
- = 3.8.2 =
593
- * Upgrade now for more improvements.
594
- = 3.8.1 =
595
- * Upgrade now for ABSPATH used in all files and also fixed all the warnings,bugs.
596
- = 3.8 =
597
- * Upgrade now for Multi language support and bug fixes
598
- = 3.7.4 =
599
- * Upgrade now for allow author/editor to import fix.
600
- = 3.7.3 =
601
- * Upgrade now for Vulnerability fix.
602
- = 3.7.2 =
603
- * Important Upgrade for WordPress 4.2 and above
604
- = 3.7.1 =
605
- * Upgrade now for security fix.
606
- = 3.7 =
607
- * Upgrade now for minor bug fixes.
608
- = 3.6.78 =
609
- * Upgrade now for security fix.
610
- = 3.6.77 =
611
- * Upgrade now for WordPress 4.1.1 compatibility and minor bug fixes.
612
- = 3.6.76 =
613
- * Upgrade now for more bug fixes.
614
- = 3.6.75 =
615
- * Upgrade now for improved experience.
616
- = 3.6.74 =
617
- * Upgrade now for security fix.
618
- = 3.6.73 =
619
- * Upgrade now for WordPress 4.0 compatibility and minor bug fixes.
620
- = 3.6.72 =
621
- * Upgrade to enable/disable debug mode in settings.
622
- = 3.6.71 =
623
- * Upgrade now for complete export features as in Pro with bug fix.
624
- = 3.6.7 =
625
- * Upgrade now for complete export features as in Pro.
626
- = 3.6.6 =
627
- * Upgrade now for improved experience.
628
- = 3.6.5 =
629
- * Upgrade Now for advanced media handling for post in line images
630
- = 3.6.4 =
631
- * Upgrade Now for filtered export and improved log features.
632
- = 3.6.3 =
633
- * Upgrade now for eShop product import feature.
634
- = 3.6.2 =
635
- * Important Security Update
636
- = 3.6.1 =
637
- * Important issue fixes update
638
- = 3.6 =
639
- * Must upgrade with major values added features
640
- = 3.5.5 =
641
- * Upgrade for minor bug fix, conflicts and new attribute support.
642
- = 3.5.4 =
643
- * Upgrade now for All in SEO Pack import support.
644
- = 3.5.3 =
645
- * Upgrade to add export feature and fix bug.
646
- = 3.5.2 =
647
- * Upgrade for bug free version and improved image handling
648
- = 3.5.1 =
649
- * Must upgrade now for 3.5 bug fixes
650
- = 3.5.0 =
651
- * Upgrade now for major release 3.5. Note - Old version files need to be deleted.
652
- = 3.3.1 =
653
- * Upgrade now for multisite compatibility.
654
- = 3.3.0 =
655
- * Upgrade now for WP 3.8 compatibility and added bulk user, comments feature.
656
- = 3.2.3 =
657
- * WordPress 3.7.1 compatibility and minor bug fixes
658
- = 3.2.2 =
659
- * WordPress 3.6.1 compatibility, bug fix and UI improvements
660
- = 3.2.1 =
661
- * Performance improvements on SQL and CSV parsing
662
- = 3.2.0 =
663
- * Compatibility for 3.6 and improved featured image.
664
- = 3.1.0 =
665
- * Improved Featured image and URL handling
666
- = 3.0.0 =
667
- * Major performance improvements and issue fixes.
668
- = 2.7.0 =
669
- * Major improvements and feature changes.
670
- = 2.6.0 =
671
- * Bug fixed and should upgrade.
672
- = 2.5.0 =
673
- * Duplicate detection added.
674
- * Added more information in success message.
675
- * Import memory issues solved.
676
- = 2.0.1 =
677
- * WordPress-3.5 compatibility.
678
- = 2.0.0 =
679
- * Major Bug fix and need to upgraded.
680
- * WPDEBUG error fixed.
681
- * CSV import folder changed to WP native uploads folder.
682
- = 1.1.1 =
683
- * Minor correction and fix applied.
684
- = 1.1.0 =
685
- * Major feature added.
686
- = 1.0.2 =
687
- * Bug fixes along with new features. Need to upgraded immediately.
688
- = 1.0.1 =
689
- * Added features to import multiple tags and categories with different delimiters.
690
- = 1.0.0 =
691
- * Initial release of plugin.
 
 
 
 
 
 
1
+ === Import Export Post as CSV File===
2
+ Contributors: smackcoders, smacksupport
3
+ Requires at least: 4.5
4
+ Tested up to: 5.2.2
5
+ Stable tag: 6.0
6
+ Version: 6.0
7
+ Requires PHP: 5.2.4
8
+ Author: smackcoders
9
+ Author URI: http://profiles.wordpress.org/smackcoders/
10
+ Donate link: https://www.paypal.me/smackcoders
11
+ Tags: csv, csv import, csv importer, import, import csv, import seo, import woocommerce, acf, excel, spreadsheet
12
+ License: GPLv2 or later
13
+ Simple, powerful and easy CSV Import plugin even for newbies and novice users.
14
+
15
+ == Description ==
16
+ Ultimate CSV Importer provides all the necessary Import and Export features in one bundle with simplified steps to follow. Note the added export, woocommerce and User import are available as addons. You have to install to use these features.
17
+
18
+ How to import data to your WordPress?
19
+
20
+ There are 3 simple steps to follow,
21
+
22
+ 1. Upload your CSV/XML file.
23
+ 2. Relate or map your CSV fields with WP fields using drag and drop or simple left/right pick list method.
24
+ 3. Click import once done.
25
+
26
+ [youtube https://youtu.be/yg9Z6yJqRfo]
27
+
28
+ There are more features bundled to make even complicated post data import simplified.
29
+
30
+ = 1.Upload your CSV =
31
+
32
+ * Upload your CSV file from different sources like desktop, FTP/SFTP, remote URLs or a location from your host server.
33
+ * CSV, Zip, txt and XMl data (pro) file types supported.
34
+ * Once uploaded, choose New items if you want to import as new posts.
35
+ * Choose existing option in case to import the data to update or replace existing posts records.
36
+ * Pick a post type like Post, Page, Custom Post, Comments or any other from the drop down.
37
+ * This is under which post type your data get imported.
38
+ * It can be a complete post content replacement or partial update like selected set of fields for each post in CSV.
39
+ * Click continue button.
40
+
41
+ = 2.Relate or map your CSV fields to WP fields =
42
+
43
+ In mapping section, CSV Importer plugin allows you to relate the uploaded data set against WordPress fields. There are two methods available to relate your data set.
44
+
45
+ * A simple left and right drop downs that allows you to map CSV field with the related WordPress fields.
46
+ * You can choose each field from left side and assign a field from right to where it should go.
47
+
48
+ = Drag 'n' Drop method =
49
+
50
+ * You can visually drag field by field from the right side bar and drop it to post create view like place holder.
51
+ * For e.g. you can drag title filed and drop it under post title box.
52
+ * To make it easier you can see both field label and sample record in side bar, which allows you to understand how data placed.
53
+ * In top side bar header, you can rotate this sample records by choosing a row item no. in case the default sample data is not helpful.
54
+
55
+ = 3. Click Import =
56
+
57
+ * Once the mapping completed, click import to start the import process.
58
+ * In import view, you can pause and resume the import process.
59
+ * A section shows post count and status of successful imports with a timer.
60
+ * A log section shows you detailed real time log of the process step by step.
61
+ * Log is downloadable using the link provided.
62
+
63
+ = What can you import in WordPress =
64
+ Core Modules – Post, Page, Custom Post, Comments.
65
+ Users – Import Users add-on to import your WordPress Users
66
+ Custom Post – CPT UI, Custom Press and default WordPress Custom Post.
67
+ Custom Field – WordPress default Text and Text area fields.
68
+ SEO field – Free version of All in One SEO.
69
+ Reviews – WP Customer Reviews
70
+
71
+ = Highlights =
72
+ * High performance, much comparable & much faster than all the other available plugins.
73
+ * Can handle 1000s of records on the fly.
74
+ * Supports WordPress Custom Fields, Custom Press fields, WP Customer Reviews and All in One SEO fields.
75
+ * Media images from any external URL like Google Images, pixabay, shutterstock, or any domain you own can be imported.
76
+ * Image import processed from the background using WP-CRON to improve the performance.
77
+ * Import with duplicate handling for optimized database.
78
+ * Free add-on to Import Users <link> to upload user info into WordPress.
79
+ * WordPress core custom fields registered dynamically on the flow of CSV import.
80
+ * Post type import with terms & taxonomies with any of depth of parent-child values.
81
+ * WordPress multisite import supported.
82
+ * Post Type CSV import along with multi category & multi tag.
83
+ * Import CSV with any delimiter in UTF-8 format can be imported.
84
+ * Free export add-on to export <link> all your WP content in CSV file.
85
+
86
+ = Important Notes =
87
+ * Featured image import from any publicly accessible external URL.
88
+ * All languages supported by WordPress imported in UTF-8 without BOM format.
89
+
90
+ = Other useful tools =
91
+ * Dashboard
92
+ * General settings >> Scheduled log emails, send password in users get imported etc.
93
+ * Database optimization
94
+ * Security and performance monitoring
95
+ * Manager >>File manager, log manager
96
+ * Support >> Documentation
97
+
98
+ = Premium Features =
99
+ * CSV and XML import
100
+ * Reusable Mapping Templates with Template manager
101
+ * Smart Schedule/Recurring Import to run import periodically without any manual interaction.
102
+ * Toolset Types Import – Custom fields, Post Relation, Intermediate post, Repeatable Field & Repeater Field Group support
103
+ * Multilingual import – support for the import of WPML & qTranslate X add-on
104
+ * WooCommerce product import along with six WooCommerce add-on
105
+ * Handles Custom Fields of ACF (FREE & Pro), Types, Pods and WordPress fields with the flow of import
106
+ * Import history i.e. detailed log maintained in the Log manager.
107
+ * Import all the supported features with Rest API.
108
+ * Extendable for your needs with API.
109
+
110
+ = HELPFUL LINKS =
111
+ [Documentation](https://www.smackcoders.com/documentation/ultimate-csv-importer-pro/how-to-import-csv?utm_source=web&utm_campaign=readme&utm_medium=wp_org)
112
+
113
+ [Try our live demo here](https://demo.smackcoders.com/wordpress/wp-admin/admin.php?page=sm-uci-dashboard)
114
+
115
+ [Request a free trial by visiting here](https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) and Click Try Now option to generate your own WordPress test environment.
116
+
117
+ [For samples and tutorials, visit our blog](https://www.smackcoders.com/blog.html?utm_source=wp.org&utm_medium=plugin&utm_campaign=readme)
118
+
119
+ == Screenshots ==
120
+ 1. Dashboard view of the importer.
121
+ 2. Upload section of CSV.
122
+ 3. Simple Drag and Drop mapping.
123
+ 4. Mapping view of the uploaded CSV fields with WordPress fields.
124
+ 5. Detailed real-time log.
125
+ 6. Settings with php.ini details.
126
+ 7. Downloadable log manager for all imported events.
127
+
128
+ == Frequently Asked Questions ==
129
+
130
+ * What is a csv file?
131
+ A csv or comma separated value file is a simple text based file format to store tabular data. In general, a character like a comma used as a separator between commas separated values as tables.
132
+
133
+ * How to open or edit csv file?
134
+ A csv file could be edited in any program like notepad or notepad+. However, a spreadsheet editor like MS Office, Open Office Calc is more useful to directly edit as tabled structure.
135
+
136
+ * What are the types of CSV files?
137
+ Most common type is csv or comma separated value file. The other one is delimited file where a character like a tab or a semicolon used instead of comma as a delimiter.
138
+
139
+ * What is csv file format?
140
+ There are different file formats available based on encode like ANSI, UTF-8, UTF-8 without BOM, USC-2 BE BOM and USC-2 LE BOM. For WordPress, the default format will be UTF-8 and for non-Latin character data, UTF-8 without BOM used.
141
+
142
+ * How to validate a CSV?
143
+ You can validate a csv file using [CSV Lint](https://csvlint.io/). Your CSV may miss escaping characters and misplaced/skipped character, which may cause the import to cease. Validate any csv file for issues or warning and fix them before importing it to WordPress.
144
+
145
+ * How to import content to WordPress?
146
+ Import to WordPress done in different methods based on content source type, platform, and file types. The most common types of imports are XML, CSV and DB files.
147
+ 1. Xml method needs advanced knowledge to edit/update them in case of any changes required on source data. Otherwise, users are limited to do import without any changes to source file. Hence, editing done post by post in WordPress only possible after import.
148
+ 2. CSV methods allow any users with basic excel or any spreadsheet knowledge can audit, change, edit or update the data visually in bulk before importing. So painful manual works avoided and time saved. Also, CSV file is the most preferred method for any offline programs.
149
+
150
+ == Changelog ==
151
+ = 6.0 =
152
+ * Improved: user interface and performance.
153
+ * Added: Header Manipulation fields can now hold static text content along with any CSV header content.
154
+ * Added: Media upload section to import Image from computer.
155
+ * Added: progress bar for desktop upload.
156
+ * Fixed: WordPress core custom fields issue.
157
+
158
+ = 5.6.2 =
159
+ * Added: support for remote url without extensions
160
+ = 5.6.1 =
161
+ * Added: WP CSRF Protection
162
+ = 5.6 =
163
+ * Added: Compatibility for WordPress 5.0
164
+ = 5.3.7 =
165
+ * Removed: Registering custom field in mapping section.
166
+ = 5.3.6 =
167
+ * Added: Compatibility for WordPress 4.9.8
168
+ * Added: Import Post parent import with Post Title
169
+ * Fixed: Post export redirection issue.
170
+ * Fixed: Post slug import in drag and drop method.
171
+ = 5.3.5 =
172
+ * Added: Support for serialized data import.
173
+ * Added: Compatibility for WordPress 4.9.6
174
+ * Improved: Usability and user interface.
175
+ * Fixed: Insertion of hyperlinks in WYSIWYG editor in drag and drop mapping.
176
+ = 5.3.4 =
177
+ * Improved: Notifications in mapping
178
+ * Fixed: Export menu issue.
179
+ = 5.3.3 =
180
+ * Added: Compatibility for WordPress 4.9
181
+ * Moved: User import as add-on.
182
+ * Removed: Export
183
+ = 5.3.2 =
184
+ * Added: Add-ons support
185
+ * Moved: User import as add-on.
186
+ * Removed: Export
187
+ = 5.3.1 =
188
+ * Modified: Hide the filter based on Condition.
189
+ * Fixed: data loss when page refresh (export).
190
+ * Fixed: warning during Upload.
191
+ * Fixed: user export above 1000 records.
192
+ * Fixed: Custom Field Suite issue.
193
+ * Fixed: Forced quotes issue.
194
+ = 5.3 =
195
+ * Added: Prevent loss of mapping data
196
+ * Added: Custom field group plugin support
197
+ * Added: Maintenance mode
198
+ * Added: Inclusion feature
199
+ * Updated: Exclude selection as include selection in export module
200
+ * Fixed: User import
201
+ * Fixed: Delimiter issue
202
+ * Fixed: Advance mapping issues
203
+ * Fixed: Post status in Mapping
204
+ * Fixed: Featured image in Mapping
205
+ * Fixed: Post comment in Mapping
206
+ * Fixed: Export page radio button based on plugin activation
207
+ * Fixed: Comment Export
208
+ * Fixed: Text changes
209
+ = 5.2 =
210
+ * Added: Advance mapping view with Drag and Drop support.
211
+ * Added: Ultimate member plugin support for Users Import.
212
+ * Fixed: Issue with Post format.
213
+ * Fixed: Month order in dashboard charts.
214
+ * Added: Latest version support on All in One SEO 2.3.12.1.
215
+ * Added: Compatibility for WordPress 4.7.3.
216
+ = 5.1.1 =
217
+ * Fixed: Broken when SCRIPT_DEBUG is true. [Solved](https://wordpress.org/support/topic/broken-when-script_debug-is-true/).
218
+ * Fixed: Issue in duplicate handling to skip the duplicate records.
219
+ * Added: Missing font "glyphicons-halflings-regular.woff2".
220
+ * Removed: Unwanted console warnings.
221
+ * Added: Compatibility for WordPress 4.7.2.
222
+ = 5.1 =
223
+ * Added: Language Support for German, French, Italian, Spanish, and Dutch & Russian.
224
+ * Added: Restriction to show Admin dashboard widget only for users with Admin role. [Solved](https://wordpress.org/support/topic/admin-dashboard-widget-is-showing-to-all-users)
225
+ * Added: Notice to [enable wp-cron](https://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wp_org&utm_campaign=readme&utm_medium=change_log) to populate the feature images. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
226
+ * Added: Warning messages to notify when uploads directory is missing, insufficient permission to access and uploaded file size exceeds your server limits.
227
+ * Added: Duplicate handling feature to skip the duplicate records.
228
+ * Added: Canonical URL support in All in One SEO data import.
229
+ * Improved: CSV export performance.
230
+ * Fixed: All custom fields in WP installation adding to a Post. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
231
+ * Fixed: Mixing up of Custom taxonomies while assigning a term to Post. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
232
+ * Fixed: Adding unwanted data before and after post content. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
233
+ * Fixed: Issue with Post Category & Tags export.
234
+ * Fixed: Missing up of SEO fields in mapping section.
235
+ * Fixed: Issue in exporting All in one SEO fields.
236
+ * Fixed: Issue in assigning page template (wp_page_template).
237
+ * Removed: Warnings in migration script.
238
+ = 5.0.3 =
239
+ * Added: Support for traditional Chinese characters.
240
+ * Fixed: Author/Editor menu visibility issue
241
+ * Fixed: [Assigning categories to post issue](https://wordpress.org/support/topic/ultimate-csv-importer-v5-adds-all-posts-to-uncategorized/)
242
+ * Fixed: [Import with Chinese character](https://wordpress.org/support/topic/unable-to-import-posts-with-chinese-characters/)
243
+ = 5.0.2 =
244
+ * Added: Compatibility from PHP 5.3.
245
+ = 5.0.1 =
246
+ * Fixed: WP Customer Reviews import feature.
247
+ = 5.0 =
248
+ * Added: Compatibility for WordPress 4.7 and PHP 7.
249
+ * Added: Option to replace imported CSV file value with static and dynamic value.
250
+ * Added: Image import from external URL
251
+ * Added: Send email to newly imported User with Password Information
252
+ * Added: Any Custom Post Type import.
253
+ * Added: Post Type import with terms & taxonomies with any depth of parent-child hierarchy.
254
+ * Improved: High-speed import with enhanced UI.
255
+ * Improved: User role import with capability value or role name in CSV
256
+ = 3.11.1 =
257
+ * Fixed: Browse button disappears in 3.11.0 https://wordpress.org/support/topic/browse-button-disappears-in-3110
258
+ = 3.11.0 =
259
+ * Added: Compatibility for WordPress 4.5.3.
260
+ * Added: menu_order field Import for Custom Post Type.
261
+ * Added: [Support for comma and pipeline separation in multi category & taxonomies import](https://wordpress.org/support/topic/importing-a-taxonomy-field?replies=4).
262
+ * Added: Compatibility to export WooCommerce fields with WooCommerce version 2.6.1.
263
+ * Updated: Help links of Product page & Live Demo.
264
+ * Fixed: Issues in Taxonomies, Categories & Tags export.
265
+ * Fixed: Issue in export by status filter.
266
+ = 3.10.0 =
267
+ * Improvements: Can export any number of records from WordPress site.
268
+ * Fixed: Issue in ACF relationship field export.
269
+ = 3.9.4 =
270
+ * Improvements: Duplicate image handling. Option to skip or rename image as image_name-number if image name is same as existing media image name.
271
+ = 3.9.3 =
272
+ * Added: Compatibility for WordPress 4.5
273
+ * Fixed: Environment issue with custom port id in MAMP.
274
+ = 3.9.2 =
275
+ * Modified: CSVParser Engine with SmackCSVParser, a high-speed robust parser.
276
+ = 3.9.1 =
277
+ * Added: Post parent now supports for post title and post name.
278
+ * Fixed: jQuery conflicts.
279
+ = 3.9 =
280
+ * Added: PHP 7 compatibility.
281
+ * Added: Support for all postdate formats.
282
+ * Fixed: Featured image and Inline image naming issues.
283
+ * Fixed: Auto mapping issues in Custom Fields and SEO Fields.
284
+ = 3.8.8 =
285
+ * Added: Localize script for multi-language support.
286
+ * Added: WordPress 4.4.1 compatibility.
287
+ * Improved: Code cleanups with WordPress standards.
288
+ * Fixed: Vulnerability security issue.
289
+ * Fixed: Export issue.
290
+ * Fixed: Custom Taxonomy import issue.
291
+ * Fixed: User mail notification on new user imports.
292
+ * Fixed: Category & Tag import issue in eShop module.
293
+ * Removed: Mod security check.
294
+ = 3.8.6 =
295
+ * Added: Compatibility for WordPress 4.4.
296
+ * Modified: Support page UI.
297
+ * Fixed: Postdate issue.
298
+ * Fixed: Custom Post Type listing issue.
299
+ = 3.8.5 =
300
+ * Added: Restriction to view the image without password for protected status content.
301
+ * Modified: Settings page UI.
302
+ * Fixed: post_status mandatory validation issue.
303
+ * Fixed: SEO Fields mapping issue.
304
+ * Fixed: Known issues in export.
305
+ * Fixed: Mandatory validation issues.
306
+ * Fixed: Console TypeError issue.
307
+ = 3.8.4 =
308
+ * Modified: Changed the Dashboard view.
309
+ = 3.8.3 =
310
+ * Added : Text domain for language translation system.
311
+ * Fixed : Detect duplicate issue.
312
+ = 3.8.2 =
313
+ * Added : Compatibility for WordPress 4.3.1.
314
+ * Added : Grouped core custom field in mapping section.
315
+ * Added : Image import with spaces in image name.
316
+ * Fixed : Module entry count in dashboard issue.
317
+ * Fixed : Duplication of image in media gallery.
318
+ = 3.8.1 =
319
+ * Added : Compatibility for WordPress 4.2.3 and 4.2.4.
320
+ * Added : Export by specific date and author option in comments.
321
+ * Fixed : warnings triggered in console.
322
+ * Fixed : XSS vulnerability.
323
+ * Removed : ../../../../../../wp-load.php and replaced with WordPress Ajax call.
324
+ * Removed : Direct usage of wp-content.
325
+ = 3.8 =
326
+ * Added : Multi language support (fr_FR,es_ES,nl_NL).
327
+ * Added : Inline image handling with short code along with image attributes.
328
+ * Added: Any delimiter support for CSV export.
329
+ * Fixed: Warnings and bugs Fixes
330
+ = 3.7.4 =
331
+ * Added : WordPress 4.2.2 compatibility.
332
+ * Fixed : Allow Editor/Author to import.(Multisite also).
333
+ = 3.7.3 =
334
+ * Fixed: Vulnerability security issue.
335
+ = 3.7.2 =
336
+ * Added: WordPress 4.2 and 4.2.1 compatibility.
337
+ * Fixed: Blank page issue conflicts.
338
+ = 3.7.1 =
339
+ * Added: Security fix for curl.
340
+ * Added: Security fix for session status.
341
+ = 3.7 =
342
+ * Fixed: Featured image hot link issue.
343
+ = 3.6.78 =
344
+ * Added: Hot security fix in readfile.php.
345
+ = 3.6.77 =
346
+ * Added: WordPress 4.1.1 compatibility.
347
+ * Improved: Inline image import feature.
348
+ * Added recursive method to assign the image.
349
+ * Fixed: Featured image naming issue. [Solved](https://wordpress.org/support/topic/problem-in-import-with-the-image-name)
350
+ * Removed: Warnings.
351
+ = 3.6.76 =
352
+ * Improved: Post Format.
353
+ * Fixed: Export eShop content issue.
354
+ * Fixed: Import with image name issue.
355
+ * Fixed: Groups plugin conflict.
356
+ = 3.6.75 =
357
+ * Added: Terminate & Continue option in import.
358
+ * Improved: Log section.
359
+ * Fixed: Web View & Admin View issue.
360
+ * Fixed: Security issue in export module.
361
+ = 3.6.74 =
362
+ * Fixed: Security issue.
363
+ = 3.6.73 =
364
+ * Added: WordPress 4.0 compatibility.
365
+ * Added: https format support for all WP instances.
366
+ * Added: Warning to guide user to create uploads directory with writable permissions.
367
+ * Improved: Security and performance tab under settings module.
368
+ * Fixed: Featured image-handling issues.
369
+ * Fixed: Multisite compatibility issue.
370
+ * Fixed: All console warnings.
371
+ * Removed: Post Content field mandatory option.
372
+ = 3.6.72 =
373
+ * Added: Debug mode enable/disable options.
374
+ * Modified: Menu order changes.
375
+ = 3.6.71 =
376
+ * Fixed: Minor bugs.
377
+ = 3.6.7 =
378
+ * Added: Export features for all missing modules.
379
+ * Fixed: All console warnings and reported logs.
380
+ = 3.6.6 =
381
+ * Fixed: Dashboard chart issue in multisite.
382
+ * Modified: UI to improve usability.
383
+ * Fixed: Groups plugin conflicts.
384
+ = 3.6.5 =
385
+ * Added: Inline image support with advanced media handling.
386
+ * Added: PDO check.
387
+ = 3.6.4 =
388
+ * Added: WordPress 4.0 compatibility.
389
+ * Added: Advanced export features with filter options.
390
+ * Improved: Advanced log section.
391
+ * Fixed: jQuery issues.
392
+ = 3.6.3 =
393
+ * Added: eShop import support.
394
+ * Added: WordPress 3.9.2 compatibility.
395
+ * Fixed: Conflicts with other plugins.
396
+ = 3.6.2 =
397
+ * Fixed: Hot security issue.
398
+ = 3.6.1 =
399
+ * Fixed: Multi-site support issue.
400
+ * Fixed: Duplicate import issue.
401
+ * Fixed: Security issue.
402
+ = 3.6 =
403
+ * Added: Interactive graphs and charts in plugin dashboard.
404
+ * Added: Admin dashboard widgets.
405
+ * Added: Users and comments export feature.
406
+ * Added: Auto delimiter handling.
407
+ * Added: Auto mapping feature.
408
+ * Added: Allow authors to access import features.
409
+ = 3.5.5 =
410
+ * Added: post_format attribute support.
411
+ * Added: page_template attribute.
412
+ * Added: update_post_meta for duplicate meta issue
413
+ * Fixed: TypeError issue in jQuery.
414
+ = 3.5.4 =
415
+ * Added: All in One SEO Pack import support.
416
+ * Added: WordPress 3.9.1 compatibility.
417
+ = 3.5.3 =
418
+ * Added: Compatibility for WordPress 3.9.
419
+ * Added: Export feature for Posts, Page, Custom Post.
420
+ * Fixed: Reported bugs
421
+ * Removed: all warnings.
422
+ = 3.5.2 =
423
+ * Import posts with author names as numerical apart from User ID
424
+ * Added: menu_order attribute import
425
+ * Added: Auto image rename option
426
+ * Option to cancel any partial import at middle
427
+ * Improved image handling even special characters in URL
428
+ * Import can handle image URLs without any extensions
429
+ * User reported bugs fixed
430
+ = 3.5.1 =
431
+ * User reported issue fixes
432
+ * Activation and other plugin conflict issue solved like Jet pack
433
+ * Admin UI freezing issues - screen option, Help links issues fixed.
434
+ * WYSIWYG editor UI issue fixed.
435
+ = 3.5.0 =
436
+ * Combined major release version of 3.5 and 3.4
437
+ * Improved MVC structure.
438
+ * Improved User interface with drag and drop feature.
439
+ * Improved: WordPress 3.8.1 compatibility added.
440
+ * Module based system allows simplify UI
441
+ * Added: Detailed log feature added.
442
+ * Added: Support and Useful links added.
443
+ * Added: Support made easy now from plugin.
444
+ = 3.3.1 =
445
+ * Added: Multisite compatibility except User import.
446
+ * Added: Comments, Users modules mandatory fields validation added.
447
+ * Improved: Removed unwanted warnings.
448
+ = 3.3.0 =
449
+ * Added: WordPress 3.8 compatibility.
450
+ * Added: Bulk users with role import feature.
451
+ * Added: Comments import feature with relevant post ids.
452
+ = 3.2.3 =
453
+ * Added: WordPress 3.7.1 compatibility added.
454
+ * Added: Different media path support added.
455
+ * Added: Sub folder installations support added.
456
+ * Improved: Updated plugin directory path.
457
+ * Improved: Removed unwanted warnings.
458
+ * Improved: Performance check.
459
+ = 3.2.2 =
460
+ * Added: WordPress 3.6.1 compatibility added.
461
+ * Added: Mapping UI improved with on select dynamic update feature
462
+ * Added: Help content added
463
+ * Fixed: Post slug issue fixed and tested for 3.6 and 3.6.1
464
+ = 3.2.1 =
465
+ * Improved: Performance improvements on SQL and CSV parsing
466
+ * Fixed: Plugin deactivation issue fixed and updated the code.
467
+ * Fixed: Links in the cells makes problems with the "quote"
468
+ * Fixed: Loading content from more than one column
469
+ * Fixed: Custom Post type issues fixed
470
+ = 3.2.0 =
471
+ * Improved: User interface improvements
472
+ * Improved:WordPress 3.6 compatibility added, Much Improved UI.
473
+ * Fixed: Featured image issues fixed for WordPress-3.6.
474
+ = 3.1.0 =
475
+ * Improved: Much Improved Featured Image feature
476
+ * Fixed: Image URL for featured image issues fixed
477
+ * Fixed: PHP 5.4 upgrade fix
478
+ = 3.0.0 =
479
+ * Added: Category in numeric are restricted and skipped to Uncategorized
480
+ * Added: Protected status password inclusion as {password}.
481
+ * Added: Post authors can be User ID or name
482
+ * Improved: Much improved workflow
483
+ * Improved: Add custom field option improved.
484
+ * Improved: Date format handling improved
485
+ * Improved: Any Date format supported now
486
+ * Improved: Future scheduling and status improved
487
+ * Improved: Can apply post status for individual post via CSV itself
488
+ * Improved: Featured image handling improved and fixed. More improvement are scheduled.
489
+ * Improved: Duplicate check options improved for both title and content option.
490
+ * Improved: Post author issue fixed and improved
491
+ * Improved: Wrong user id or name are automatically assigned under admin
492
+ * Improved: Multi category and tags improved
493
+ * Fixed: Custom Field mapping and import fixed
494
+ * Fixed: Overall Status option improved and issue fixed
495
+ * Fixed: Password field fixed for Protected
496
+ * Fixed: Status as in CSV option improved and fixed
497
+ = 2.7.0 =
498
+ * Added: Added more post status options
499
+ * Added: Publish, Sticky, Private, Draft and Pending Status for whole import
500
+ * Added: Protected status with a common password option added
501
+ * Added: "Status as in CSV" to assign status for individual post through CSV as ID or Field Tag
502
+ * Added: User ID and User Name support for Post author feature added
503
+ * Added: In case of missing or false IDs post assigned to admin as draft
504
+ * Added: Add Custom Field Text box auto-filled with CSV header tag.
505
+ * Added: Duplicate detection for post content and post title added as options.
506
+ * Added: User can choose either one or both to avoid duplicate issues.
507
+ * Improved: 6 Standard date format added as drop down to choose.
508
+ * Improved: Renamed post_name as post_slug to avoid confusion
509
+ * Improved: Mapping Fields
510
+ * Improved: Field tags are formatted to support auto mapping option (next milestone)
511
+ * Improved: Listed custom fields with prefix as CF: Name for easy identification.
512
+ * Fixed: Date format conflict at import fixed.
513
+ = 2.6.0 =
514
+ * Fixed: Major Bug fixed
515
+ * Fixed: Added UTF-8 support.
516
+ * Fixed: Fixed HTML tag conflicts.
517
+ = 2.5.0 =
518
+ * Major issues fixed and updated to WordPress-3.5.1 compatibility.
519
+ = 2.0.1 =
520
+ * Update to WordPress-3.5 compatibility.
521
+ = 2.0.0 =
522
+ * WPDEBUG errors fixed. CSV import folder changed to WP native uploads folder.
523
+ = 1.1.1 =
524
+ * Renamed the mapping field attachment as featured_image and category as post_category.
525
+ = 1.1.0 =
526
+ * Added featured image import feature along with post/page/custom post.
527
+ = 1.0.2 =
528
+ * Bug fixed to recognize the trimmed trailing space in the CSV file
529
+ * Added validation for the duplicate field mapping.
530
+ = 1.0.1 =
531
+ * Added features to import multiple tags and categories with different delimiters.
532
+ = 1.0.0 =
533
+ * Initial release version. Tested and found works well without any issues.
534
+
535
+ == Upgrade Notice ==
536
+ = 6.0 =
537
+ * Upgrade now for overall improvements changes.
538
+ = 5.6.2 =
539
+ * Update for improve image import.
540
+ = 5.6.1 =
541
+ * Important update for security fixes.
542
+ = 5.6 =
543
+ * Upgrade now for WordPress 5.0 compatibility
544
+ = 5.3.7 =
545
+ * Upgrade now to get latest version of Ultimate CSV Importer
546
+ = 5.3.6 =
547
+ * Upgrade now to get Post parent import with Post title and compatibility for WordPress 4.9.8
548
+ = 5.3.5 =
549
+ * Upgrade now to get support for serialized data import and compatibility for WordPress 4.9.6
550
+ = 5.3.4 =
551
+ * Upgrade now for Export issue fix.
552
+ = 5.3.3 =
553
+ * Upgrade now for WordPress 4.9 compatibility.
554
+ = 5.3.2 =
555
+ * Upgrade now for getting addons support
556
+ = 5.3.1 =
557
+ * Upgrade now to get the fix for Export,CFS and WordPress 4.8.1 compatibility.
558
+ = 5.3 =
559
+ * Major improvements and fix updates, verify change log for upgrade.
560
+ = 5.2 =
561
+ * Upgrade now to get enhanced User Interface and support for latest version of All in one SEO. 2.3.12.1.
562
+ = 5.1.1 =
563
+ * Upgrade now to get the fix for duplicate handling feature.
564
+ = 5.1 =
565
+ * Upgrade now for six language support, duplicate handling and more.
566
+ = 5.0.3 =
567
+ * Upgrade now for Chinese character support and a fix for category import.
568
+ = 5.0.2 =
569
+ * Upgrade now to get the fix for PHP 5.3 compatibility.
570
+ = 5.0.1 =
571
+ * Upgrade now to get the fix for WP Customer Review add-on support.
572
+ = 5.0 =
573
+ * Upgrade now for high-speed import, WP Customer Review add-on support, WordPress 4.7 Compatibility and much more.
574
+ = 3.11.0 =
575
+ * Upgrade now for WordPress 4.5.3 and WooCommerce 4.3.1 compatibility and other minor enhancements.
576
+ = 3.10.0 =
577
+ * Upgrade now to export ACF relationship field and improved export features.
578
+ = 3.9.4 =
579
+ * Upgrade now for duplicate image handling feature.
580
+ = 3.9.3 =
581
+ * Upgrade now to get support for custom port id in MAMP environment and WordPress 4.5 compatibility.
582
+ = 3.9.2 =
583
+ * Upgrade now to get high-speed robust parser.
584
+ = 3.9.1 =
585
+ * Upgrade now for import post parent with post name and post title.
586
+ = 3.9 =
587
+ * Upgrade now for PHP 7 and WordPress 4.4.2 compatibility.
588
+ = 3.8.8 =
589
+ * Upgrade now for security fix and WordPress 4.1.1 compatibility with minor bug fixes.
590
+ = 3.8.6 =
591
+ * Upgrade now for import the default CPTs.
592
+ = 3.8.5 =
593
+ * Upgrade now for known bug fixes.
594
+ = 3.8.4 =
595
+ * Upgrade now for new dashboard view.
596
+ = 3.8.3 =
597
+ * Upgrade now for improvements in multi-language translation.
598
+ = 3.8.2 =
599
+ * Upgrade now for more improvements.
600
+ = 3.8.1 =
601
+ * Upgrade now for ABSPATH used in all files and also fixed all the warnings,bugs.
602
+ = 3.8 =
603
+ * Upgrade now for Multi language support and bug fixes
604
+ = 3.7.4 =
605
+ * Upgrade now for allow author/editor to import fix.
606
+ = 3.7.3 =
607
+ * Upgrade now for Vulnerability fix.
608
+ = 3.7.2 =
609
+ * Important Upgrade for WordPress 4.2 and above
610
+ = 3.7.1 =
611
+ * Upgrade now for security fix.
612
+ = 3.7 =
613
+ * Upgrade now for minor bug fixes.
614
+ = 3.6.78 =
615
+ * Upgrade now for security fix.
616
+ = 3.6.77 =
617
+ * Upgrade now for WordPress 4.1.1 compatibility and minor bug fixes.
618
+ = 3.6.76 =
619
+ * Upgrade now for more bug fixes.
620
+ = 3.6.75 =
621
+ * Upgrade now for improved experience.
622
+ = 3.6.74 =
623
+ * Upgrade now for security fix.
624
+ = 3.6.73 =
625
+ * Upgrade now for WordPress 4.0 compatibility and minor bug fixes.
626
+ = 3.6.72 =
627
+ * Upgrade to enable/disable debug mode in settings.
628
+ = 3.6.71 =
629
+ * Upgrade now for complete export features as in Pro with bug fix.
630
+ = 3.6.7 =
631
+ * Upgrade now for complete export features as in Pro.
632
+ = 3.6.6 =
633
+ * Upgrade now for improved experience.
634
+ = 3.6.5 =
635
+ * Upgrade Now for advanced media handling for post in line images
636
+ = 3.6.4 =
637
+ * Upgrade Now for filtered export and improved log features.
638
+ = 3.6.3 =
639
+ * Upgrade now for eShop product import feature.
640
+ = 3.6.2 =
641
+ * Important Security Update
642
+ = 3.6.1 =
643
+ * Important issue fixes update
644
+ = 3.6 =
645
+ * Must upgrade with major values added features
646
+ = 3.5.5 =
647
+ * Upgrade for minor bug fix, conflicts and new attribute support.
648
+ = 3.5.4 =
649
+ * Upgrade now for All in SEO Pack import support.
650
+ = 3.5.3 =
651
+ * Upgrade to add export feature and fix bug.
652
+ = 3.5.2 =
653
+ * Upgrade for bug free version and improved image handling
654
+ = 3.5.1 =
655
+ * Must upgrade now for 3.5 bug fixes
656
+ = 3.5.0 =
657
+ * Upgrade now for major release 3.5. Note - Old version files need to be deleted.
658
+ = 3.3.1 =
659
+ * Upgrade now for multisite compatibility.
660
+ = 3.3.0 =
661
+ * Upgrade now for WP 3.8 compatibility and added bulk user, comments feature.
662
+ = 3.2.3 =
663
+ * WordPress 3.7.1 compatibility and minor bug fixes
664
+ = 3.2.2 =
665
+ * WordPress 3.6.1 compatibility, bug fix and UI improvements
666
+ = 3.2.1 =
667
+ * Performance improvements on SQL and CSV parsing
668
+ = 3.2.0 =
669
+ * Compatibility for 3.6 and improved featured image.
670
+ = 3.1.0 =
671
+ * Improved Featured image and URL handling
672
+ = 3.0.0 =
673
+ * Major performance improvements and issue fixes.
674
+ = 2.7.0 =
675
+ * Major improvements and feature changes.
676
+ = 2.6.0 =
677
+ * Bug fixed and should upgrade.
678
+ = 2.5.0 =
679
+ * Duplicate detection added.
680
+ * Added more information in success message.
681
+ * Import memory issues solved.
682
+ = 2.0.1 =
683
+ * WordPress-3.5 compatibility.
684
+ = 2.0.0 =
685
+ * Major Bug fix and need to upgraded.
686
+ * WPDEBUG error fixed.
687
+ * CSV import folder changed to WP native uploads folder.
688
+ = 1.1.1 =
689
+ * Minor correction and fix applied.
690
+ = 1.1.0 =
691
+ * Major feature added.
692
+ = 1.0.2 =
693
+ * Bug fixes along with new features. Need to upgraded immediately.
694
+ = 1.0.1 =
695
+ * Added features to import multiple tags and categories with different delimiters.
696
+ = 1.0.0 =
697
+ * Initial release of plugin.
SaveMapping.php ADDED
@@ -0,0 +1,439 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ $import_extensions = glob( __DIR__ . '/importExtensions/*.php');
15
+
16
+ foreach ($import_extensions as $import_extension_value) {
17
+ require_once($import_extension_value);
18
+ }
19
+
20
+ class SaveMapping{
21
+ private static $instance=null;
22
+ private static $smackcsv_instance = null;
23
+ private static $core = null,$nextgen_instance;
24
+
25
+ private function __construct(){
26
+ add_action('wp_ajax_saveMappedFields',array($this,'save_fields_function'));
27
+ add_action('wp_ajax_StartImport' , array($this,'background_starts_function'));
28
+ add_action('wp_ajax_GetProgress',array($this,'import_detail_function'));
29
+ add_action('wp_ajax_ImportState',array($this,'import_state_function'));
30
+ add_action('wp_ajax_ImportStop',array($this,'import_stop_function'));
31
+ add_action('wp_ajax_checkmain_mode',array($this,'checkmain_mode'));
32
+ add_action('wp_ajax_disable_main_mode',array($this,'disable_main_mode'));
33
+ }
34
+
35
+ public static function getInstance() {
36
+ if (SaveMapping::$instance == null) {
37
+ SaveMapping::$instance = new SaveMapping;
38
+ SaveMapping::$smackcsv_instance = SmackCSV::getInstance();
39
+ SaveMapping::$nextgen_instance = new NextGenGalleryImport;
40
+ return SaveMapping::$instance;
41
+ }
42
+ return SaveMapping::$instance;
43
+ }
44
+
45
+ public static function disable_main_mode(){
46
+ $disable_option = $_POST['option'];
47
+ $disable_value = $_POST['value'];
48
+ delete_option($disable_option);
49
+ $result['success'] = true;
50
+ echo wp_json_encode($result);
51
+ wp_die();
52
+ }
53
+
54
+ public static function checkmain_mode(){
55
+ $ucisettings = get_option('sm_uci_pro_settings');
56
+ if(isset($ucisettings['enable_main_mode']) && $ucisettings['enable_main_mode'] == 'true') {
57
+ $result['success'] = true;
58
+ }
59
+ else{
60
+ $result['success'] = false;
61
+ }
62
+ echo wp_json_encode($result);
63
+ wp_die();
64
+ }
65
+
66
+ /**
67
+ * Save the mapped fields on using new mapping
68
+ * @return boolean
69
+ */
70
+ public function save_fields_function() {
71
+
72
+ $hash_key = $_POST['HashKey'];
73
+ $type = $_POST['Types'];
74
+ $map_fields = $_POST['MappedFields'];
75
+ $mapping_type = $_POST['MappingType'];
76
+ global $wpdb;
77
+
78
+ $template_table_name = $wpdb->prefix . "ultimate_csv_importer_mappingtemplate";
79
+ $file_table_name = $wpdb->prefix . "smackcsv_file_events";
80
+
81
+ $mapped_fields = str_replace( "\\", "", $map_fields );
82
+ $mapped_fields = json_decode( $mapped_fields, true );
83
+
84
+ $response = [];
85
+ $mapping_fields = serialize( $mapped_fields );
86
+ $time = date('Y-m-d h:i:s');
87
+
88
+ $get_detail = $wpdb->get_results( "SELECT file_name FROM $file_table_name WHERE `hash_key` = '$hash_key'" );
89
+ $get_file_name = $get_detail[0]->file_name;
90
+ $get_hash = $wpdb->get_results( "SELECT eventKey FROM $template_table_name" );
91
+
92
+ if(!empty($get_hash)){
93
+ foreach($get_hash as $hash_values){
94
+ $inserted_hash_values[] = $hash_values->eventKey;
95
+ }
96
+ if(in_array($hash_key , $inserted_hash_values)){
97
+ $fields = $wpdb->get_results("UPDATE $template_table_name SET mapping ='$mapping_fields' , createdtime = '$time' , module = '$type' , mapping_type = '$mapping_type' WHERE eventKey = '$hash_key'");
98
+ }
99
+ else{
100
+ $fields = $wpdb->get_results( "INSERT INTO $template_table_name(mapping ,createdtime ,module,csvname ,eventKey , mapping_type)values('$mapping_fields' , '$time' , '$type' , '$get_file_name', '$hash_key', '$mapping_type')" );
101
+ }
102
+ }else{
103
+ $fields = $wpdb->get_results( "INSERT INTO $template_table_name(mapping ,createdtime ,module,csvname ,eventKey , mapping_type)values('$mapping_fields' , '$time' , '$type' , '$get_file_name', '$hash_key' , '$mapping_type' )" );
104
+ }
105
+ $response['success'] = true;
106
+ echo wp_json_encode($response);
107
+ wp_die();
108
+ }
109
+
110
+ /**
111
+ * Provides import record details
112
+ */
113
+ public function import_detail_function(){
114
+ $hash_key = $_POST['HashKey'];
115
+ $response = [];
116
+
117
+ global $wpdb;
118
+ $log_table_name = $wpdb->prefix . "import_detail_log";
119
+ $importlog_table_name = $wpdb->prefix ."import_log_detail";
120
+ $file_table_name = $wpdb->prefix ."smackcsv_file_events";
121
+
122
+ $file_records = $wpdb->get_results("SELECT mode FROM $file_table_name WHERE hash_key = '$hash_key' ",ARRAY_A);
123
+ $mode = $file_records[0]['mode'];
124
+
125
+ if($mode == 'Insert'){
126
+ $method = 'Import';
127
+ }
128
+ if($mode == 'Update'){
129
+ $method = 'Update';
130
+ }
131
+
132
+ $total_records = $wpdb->get_results("SELECT file_name , total_records , processing_records ,status ,remaining_records , filesize FROM $log_table_name WHERE hash_key = '$hash_key' ",ARRAY_A);
133
+ $log_records = $wpdb->get_results("SELECT message , status , verify , categories , tags FROM $importlog_table_name WHERE hash_key = '$hash_key' ",ARRAY_A);
134
+
135
+ $response['success'] = true;
136
+ $response['file_name']= $total_records[0]['file_name'];
137
+ $response['total_records']= $total_records[0]['total_records'];
138
+ $response['processing_records']= $total_records[0]['processing_records'];
139
+ $response['remaining_records']= $total_records[0]['remaining_records'];
140
+ $response['status']= $total_records[0]['status'];
141
+ $response['filesize'] = $total_records[0]['filesize'];
142
+ $response['method'] = $method;
143
+
144
+ if($total_records[0]['status'] == 'Completed'){
145
+ $response['progress'] = false;
146
+ }else{
147
+ $response['progress'] = true;
148
+ }
149
+ $response['Info'] = $log_records;
150
+
151
+ echo wp_json_encode($response);
152
+ wp_die();
153
+ }
154
+
155
+ /**
156
+ * Checks whether the import function is paused or resumed
157
+ */
158
+ public function import_state_function(){
159
+ $response = [];
160
+ $hash_key = $_POST['HashKey'];
161
+
162
+ $upload = wp_upload_dir();
163
+ $upload_base_url = $upload['baseurl'];
164
+ $upload_url = $upload_base_url . '/smack_uci_uploads/imports/';
165
+ $upload_dir = SaveMapping::$smackcsv_instance->create_upload_dir();
166
+
167
+ $log_path = $upload_dir.$hash_key.'/'.$hash_key.'.html';
168
+ if(file_exists($log_path)){
169
+ $log_link_path = $upload_url. $hash_key .'/'.$hash_key.'.html';
170
+ }
171
+
172
+ $import_txt_path = $upload_dir.'import_state.txt';
173
+ chmod($import_txt_path , 0777);
174
+ $import_state_arr = array();
175
+
176
+ /* Gets string 'true' when Resume button is clicked */
177
+ if($_POST['State'] == 'true'){
178
+ //first check then set on
179
+ $open_file = fopen( $import_txt_path , "w");
180
+ $import_state_arr = array('import_state' => 'on','import_stop' => 'on');
181
+ $state_arr = serialize($import_state_arr);
182
+ fwrite($open_file , $state_arr);
183
+ fclose($open_file);
184
+
185
+ $response['import_state'] = false;
186
+
187
+ }
188
+ /* Gets string 'false' when Pause button is clicked */
189
+ if($_POST['State'] == 'false'){
190
+
191
+ //first check then set off
192
+ $open_file = fopen( $import_txt_path , "w");
193
+ $import_state_arr = array('import_state' => 'off','import_stop' => 'on');
194
+ $state_arr = serialize($import_state_arr);
195
+ fwrite($open_file , $state_arr);
196
+ fclose($open_file);
197
+ if ($log_link_path != null){
198
+ $response['show_log'] = true;
199
+ }
200
+ else{
201
+ $response['show_log'] = false;
202
+ }
203
+ $response['import_state'] = true;
204
+ $response['log_link'] = $log_link_path;
205
+ $response['url'] = $upload_url;
206
+
207
+ }
208
+ echo wp_json_encode($response);
209
+ wp_die();
210
+ }
211
+
212
+
213
+ /**
214
+ * Checks whether the import function is stopped or the page is refreshed
215
+ */
216
+ public function import_stop_function(){
217
+
218
+ global $wpdb;
219
+ $upload_dir = SaveMapping::$smackcsv_instance->create_upload_dir();
220
+ /* Gets string 'false' when page is refreshed */
221
+ if($_POST['Stop'] == 'false'){
222
+ $import_txt_path = $upload_dir.'import_state.txt';
223
+ chmod($import_txt_path , 0777);
224
+ $import_state_arr = array();
225
+
226
+ $open_file = fopen( $import_txt_path , "w");
227
+ $import_state_arr = array('import_state' => 'on','import_stop' => 'off');
228
+ $state_arr = serialize($import_state_arr);
229
+ fwrite($open_file , $state_arr);
230
+ fclose($open_file);
231
+ }
232
+ wp_die();
233
+ }
234
+
235
+
236
+ /**
237
+ * Starts the import process
238
+ */
239
+ public function background_starts_function(){
240
+
241
+ $hash_key = $_POST['HashKey'];
242
+ $check = $_POST['Check'];
243
+ global $wpdb;
244
+
245
+ //first check then set on
246
+ $upload_dir = SaveMapping::$smackcsv_instance->create_upload_dir();
247
+ $import_txt_path = $upload_dir.'import_state.txt';
248
+ chmod($import_txt_path , 0777);
249
+ $import_state_arr = array();
250
+
251
+ $open_file = fopen( $import_txt_path , "w");
252
+ $import_state_arr = array('import_state' => 'on','import_stop' => 'on');
253
+ $state_arr = serialize($import_state_arr);
254
+ fwrite($open_file , $state_arr);
255
+ fclose($open_file);
256
+
257
+ $helpers_instance = ImportHelpers::getInstance();
258
+ $core_instance = CoreFieldsImport::getInstance();
259
+ $import_config_instance = ImportConfiguration::getInstance();
260
+ $log_manager_instance = LogManager::getInstance();
261
+ global $core_instance;
262
+ global $uci_woocomm_meta;
263
+
264
+ $file_table_name = $wpdb->prefix ."smackcsv_file_events";
265
+ $template_table_name = $wpdb->prefix ."ultimate_csv_importer_mappingtemplate";
266
+ $log_table_name = $wpdb->prefix ."import_detail_log";
267
+
268
+ $response = [];
269
+
270
+ $background_values = $wpdb->get_results("SELECT mapping , module FROM $template_table_name WHERE `eventKey` = '$hash_key' ");
271
+ foreach($background_values as $values){
272
+ $mapped_fields_values = $values->mapping;
273
+ $selected_type = $values->module;
274
+ }
275
+
276
+ $get_id = $wpdb->get_results( "SELECT id , mode ,file_name , total_rows FROM $file_table_name WHERE `hash_key` = '$hash_key'");
277
+
278
+ $get_mode = $get_id[0]->mode;
279
+ $total_rows = $get_id[0]->total_rows;
280
+ $file_name = $get_id[0]->file_name;
281
+ $file_extension = pathinfo($file_name, PATHINFO_EXTENSION);
282
+ $file_size = filesize($upload_dir.$hash_key.'/'.$hash_key);
283
+ $filesize = $helpers_instance->formatSizeUnits($file_size);
284
+
285
+ $remain_records = $total_rows - 1;
286
+ $fields = $wpdb->insert( $log_table_name , array('file_name' => $file_name , 'hash_key' => $hash_key , 'total_records' => $total_rows , 'filesize' => $filesize , 'processing_records' => 1 , 'remaining_records' => $remain_records ) );
287
+
288
+ $map = unserialize($mapped_fields_values);
289
+
290
+ ini_set("auto_detect_line_endings", true );
291
+ $info = [];
292
+ if (($h = fopen($upload_dir.$hash_key.'/'.$hash_key, "r")) !== FALSE)
293
+ {
294
+ // Convert each line into the local $data variable
295
+ $line_number = 0;
296
+ $header_array = [];
297
+ $value_array = [];
298
+ $addHeader = true;
299
+
300
+ while (($data = fgetcsv($h, 0, ",")) !== FALSE)
301
+ {
302
+ // Read the data from a single line
303
+ array_push($info , $data);
304
+
305
+ if($line_number == 0){
306
+ $header_array = $info[$line_number];
307
+
308
+ }else{
309
+ $value_array = $info[$line_number];
310
+
311
+ foreach($map as $group_name => $group_value){
312
+ if($group_name == 'CORE'){
313
+ $core_instance = CoreFieldsImport::getInstance();
314
+ $post_id = $core_instance->set_core_values($header_array ,$value_array , $map['CORE'] , $selected_type , $get_mode, $line_number , $check , $hash_key);
315
+ }
316
+ }
317
+
318
+ foreach($map as $group_name => $group_value){
319
+
320
+ switch($group_name){
321
+
322
+ case 'AIOSEO':
323
+ $all_seo_instance = AllInOneSeoImport::getInstance();
324
+ $all_seo_instance->set_all_seo_values($header_array ,$value_array , $map['AIOSEO'], $post_id , $selected_type);
325
+ break;
326
+
327
+ case 'ECOMMETA':
328
+ $uci_woocomm_meta->set_product_meta_values($header_array ,$value_array , $map['ECOMMETA'], $post_id , $selected_type , $line_number , $get_mode);
329
+ break;
330
+
331
+ case 'CFS':
332
+ $cfs_instance = CFSImport::getInstance();
333
+ $cfs_instance->set_cfs_values($header_array ,$value_array , $map['CFS'], $post_id , $selected_type);
334
+ break;
335
+
336
+ case 'BSI':
337
+ global $billing_class;
338
+ $billing_class->set_bsi_values($header_array ,$value_array , $map['BSI'], $post_id , $selected_type);
339
+ break;
340
+
341
+ case 'WPMEMBERS':
342
+ global $wpmember_class;
343
+ $wpmember_class->set_wpmembers_values($header_array ,$value_array , $map['WPMEMBERS'], $post_id , $selected_type);
344
+ break;
345
+
346
+ case 'TERMS':
347
+ $terms_taxo_instance = TermsandTaxonomiesImport::getInstance();
348
+ $terms_taxo_instance->set_terms_taxo_values($header_array ,$value_array , $map['TERMS'], $post_id , $selected_type , $get_mode , $line_number);
349
+ break;
350
+
351
+ case 'CORECUSTFIELDS':
352
+ $wordpress_custom_instance = WordpressCustomImport::getInstance();
353
+ $wordpress_custom_instance->set_wordpress_custom_values($header_array ,$value_array , $map['CORECUSTFIELDS'], $post_id , $selected_type);
354
+ break;
355
+
356
+ case 'NEXTGEN':
357
+ $nextgen_import = SaveMapping::$nextgen_instance->nextgenImport($header_array ,$value_array , $map['NEXTGEN'], $post_id , $selected_type);
358
+ break;
359
+ }
360
+ }
361
+ $helpers_instance->get_post_ids($post_id ,$hash_key);
362
+
363
+ $import_table_name = $wpdb->prefix . "import_postID";
364
+ $medias_fields = $wpdb->get_results("INSERT INTO $import_table_name (post_id , line_number) VALUES ($post_id , $line_number )");
365
+
366
+ $remaining_records = $total_rows - $line_number;
367
+ $fields = $wpdb->get_results("UPDATE $log_table_name SET processing_records = $line_number , remaining_records = $remaining_records , status = 'Processing' WHERE hash_key = '$hash_key'");
368
+
369
+ if($line_number == $total_rows){
370
+ $fields = $wpdb->get_results("UPDATE $log_table_name SET status = 'Completed' WHERE hash_key = '$hash_key'");
371
+ }
372
+
373
+ if (count($core_instance->detailed_log) > 5) {
374
+ $log_manager_instance->get_event_log($hash_key , $file_name , $file_extension, $get_mode , $total_rows , $selected_type , $core_instance->detailed_log, $addHeader);
375
+ $addHeader = false;
376
+ $core_instance->detailed_log = [];
377
+ }
378
+ }
379
+
380
+ // get the pause or resume state
381
+ $open_txt = fopen($import_txt_path , "r");
382
+ $read_text_ser = fread($open_txt , filesize($import_txt_path));
383
+ $read_state = unserialize($read_text_ser);
384
+ fclose($open_txt);
385
+
386
+ if($read_state['import_stop'] == 'off'){
387
+ return;
388
+ }
389
+
390
+ while($read_state['import_state'] == 'off'){
391
+ $open_txts = fopen($import_txt_path , "r");
392
+ $read_text_sers = fread($open_txts , filesize($import_txt_path));
393
+ $read_states = unserialize($read_text_sers);
394
+ fclose($open_txts);
395
+
396
+ if($read_states['import_state'] == 'on'){
397
+ break;
398
+ }
399
+
400
+ if($read_states['import_stop'] == 'off'){
401
+ return;
402
+ }
403
+ }
404
+ $line_number++;
405
+ }
406
+ fclose($h);
407
+ }
408
+
409
+ if (count($core_instance->detailed_log) > 0) {
410
+ $log_manager_instance->get_event_log($hash_key , $file_name , $file_extension, $get_mode , $total_rows , $selected_type , $core_instance->detailed_log, $addHeader);
411
+ }
412
+ //$response['message'] = $core_instance->detailed_log;
413
+ $log_manager_instance->manage_records($hash_key ,$selected_type , $file_name , $total_rows);
414
+ foreach ($value_array as $key => $value) {
415
+ if(preg_match("/<img/", $value)){
416
+ SaveMapping::$smackcsv_instance->image_schedule();
417
+ $image = $wpdb->get_results("select * from {$wpdb->prefix}ultimate_csv_importer_shortcode_manager where hash_key='{$hash_key}'");
418
+ if(!empty($image)){
419
+
420
+ SaveMapping::$smackcsv_instance->delete_image_schedule();
421
+ }
422
+ }
423
+ }
424
+
425
+ $upload = wp_upload_dir();
426
+ $upload_base_url = $upload['baseurl'];
427
+ $upload_url = $upload_base_url . '/smack_uci_uploads/imports/';
428
+
429
+ $log_path = $upload_dir.$hash_key.'/'.$hash_key.'.html';
430
+ $log_link_path = $upload_url. $hash_key .'/'.$hash_key.'.html';
431
+ $response['success'] = true;
432
+ $response['log_link'] = $log_link_path;
433
+ $result['url'] = $upload_url;
434
+ unlink($import_txt_path);
435
+ echo wp_json_encode($response);
436
+ wp_die();
437
+ }
438
+
439
+ }
SmackCSVImporterInstall.php ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+ namespace Smackcoders\FCSV;
9
+
10
+ if ( ! defined( 'ABSPATH' ) )
11
+ exit; // Exit if accessed directly
12
+
13
+ class SmackCSVInstall {
14
+
15
+ protected static $instance = null,$smack_instance,$tables_instance;
16
+
17
+ /**
18
+ * SmackCSVInstall Constructor
19
+ */
20
+ public function __construct() {
21
+ $this->plugin = Plugin::getInstance();
22
+ self::$tables_instance = new Tables();
23
+ }
24
+
25
+ /**
26
+ * SmackCSVInstall Instance
27
+ */
28
+ public static function getInstance() {
29
+ if ( null == self::$instance ) {
30
+ self::$instance = new self;
31
+ self::$instance->doHooks();
32
+ }
33
+ return self::$instance;
34
+ }
35
+
36
+ /**
37
+ * SmackCSVInstall constructor.
38
+ */
39
+ public static function csvOptions(){
40
+ $callbackUrl['callbackurl']=site_url().'/wp-admin/admin.php?action=csv_options&show=settings';
41
+ echo json_encode($callbackUrl);
42
+ wp_die();
43
+ }
44
+
45
+ public function doHooks(){
46
+ add_action('wp_ajax_csv_options', array($this,'csvOptions'));
47
+ }
48
+
49
+ /** @var array DB updates that need to be run */
50
+ private static $db_updates = array(
51
+
52
+ );
53
+
54
+ /**
55
+ * Hook in tabs.
56
+ */
57
+ public static function init() {
58
+ add_action( 'admin_init', array( __CLASS__, 'check_version' ), 5 );
59
+ add_action( 'admin_init', array( __CLASS__, 'install_actions' ) );
60
+ }
61
+
62
+ /**
63
+ * Check WPUltimateCSVImporterPro version.
64
+ */
65
+ public static function check_version() {
66
+ if ( get_option( 'ULTIMATE_CSV_IMP_VERSION' ) != SmackUCI()->version ) {
67
+ self::install();
68
+ do_action( 'sm_uci_pro_updated' );
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Install actions when a update button is clicked.
74
+ */
75
+ public static function install_actions() {
76
+ if ( ! empty( $_GET['do_update_sm_uci_pro'] ) ) {
77
+ self::update();
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Show notice stating update was successful.
83
+ */
84
+ public static function updated_notice() {
85
+ ?>
86
+ <div class='notice updated uci-message wc-connect is-dismissible'>
87
+ <p><?php esc_html__( 'Ultimate CSV Importer PRO data update complete. Thank you for updating to the latest version!', 'wp-ultimate-csv-importer-pro' ); ?></p>
88
+ </div>
89
+ <?php
90
+ }
91
+
92
+ /**
93
+ * Install WUCI.
94
+ */
95
+ public function install() {
96
+ $current_uci_version = get_option( 'ULTIMATE_CSV_IMP_VERSION', null );
97
+ self::$tables_instance->create_tables();
98
+ if ( is_null( $current_uci_version )) {
99
+ self::create_options(); // Create option data on the initial stage
100
+
101
+ }
102
+
103
+ self::update_uci_version();
104
+
105
+ // Flush rules after install
106
+ flush_rewrite_rules();
107
+
108
+ // Trigger action
109
+ do_action( 'sm_uci_installed' );
110
+ }
111
+
112
+ /**
113
+ * Update UCI version to current.
114
+ */
115
+ private static function update_uci_version() {
116
+ $version = '5.7';
117
+ delete_option( 'ULTIMATE_CSV_IMP_VERSION' );
118
+ add_option( 'ULTIMATE_CSV_IMP_VERSION', $version );
119
+ }
120
+
121
+ /**
122
+ * @param null $version
123
+ * Update DB version to current.
124
+ */
125
+ private static function update_db_version( $version = null ) {
126
+ delete_option( 'sm_uci_db_version' );
127
+ add_option( 'sm_uci_db_version', is_null( $version ) ? SmackUCI()->version : $version );
128
+ }
129
+
130
+ /**
131
+ * Handle updates.
132
+ */
133
+ private static function update() {
134
+ $current_db_version = get_option( 'ULTIMATE_CSV_IMP_VERSION' );
135
+ foreach ( self::$db_updates as $version => $updater ) {
136
+ if ( version_compare( $current_db_version, $version, '<' ) ) {
137
+ include_once ( $updater );
138
+ self::update_db_version( $version );
139
+ }
140
+ }
141
+
142
+ self::update_db_version();
143
+ }
144
+
145
+ /**
146
+ * Default options.
147
+ *
148
+ * Sets up the default options used on the settings page.
149
+ */
150
+ public static function create_options() {
151
+
152
+ // We assign the default option data for the fresh instalization
153
+ $settings = array('debug_mode' => 'off',
154
+ 'send_log_email' => 'on',
155
+ 'drop_table' => 'off',
156
+ 'author_editor_access' => 'off',
157
+ 'woocomattr' => 'off'
158
+ );
159
+
160
+ add_option('sm_uci_pro_settings', $settings);
161
+
162
+ }
163
+
164
+ /**
165
+ * Todo: add PHP docs
166
+ */
167
+ public static function remove_options() {
168
+ delete_option('ULTIMATE_CSV_IMP_VERSION');
169
+ delete_option('ULTIMATE_CSV_IMPORTER_UPGRADE_VERSION');
170
+ }
171
+
172
+ /**
173
+ * @param $links
174
+ *
175
+ * @return array
176
+ */
177
+ public function smack_uci_action_links( $links ) {
178
+ $links[] = '<a href="'. esc_url( get_admin_url(null, 'admin.php?page=sm-uci-settings') ) .'">Settings</a>';
179
+ $links[] = '<a href="http://wp-buddy.com" target="_blank">More plugins by WP-Buddy</a>';
180
+ return $links;
181
+ }
182
+
183
+ /**
184
+ * Show row meta on the plugin screen.
185
+ *
186
+ * @param mixed $links Plugin Row Meta
187
+ * @param mixed $file Plugin Base file
188
+ * @return array
189
+ */
190
+ public static function plugin_row_meta( $links, $file ) {
191
+ $row_meta = array(
192
+ 'upgrade_to_csv_pro' => '<a style="font-weight: bold;color: #d54e21;font-size: 105%;" href="' . esc_url( apply_filters( 'upgrade_to_csv_pro_url', 'http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_free&utm_medium=wordpress' ) ) . '" title="' . esc_attr( __( 'Upgrade to Pro', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Upgrade to Pro', 'wp-ultimate-csv-importer' ) . '</a>',
193
+ 'docs' => '<a href="' . esc_url( apply_filters( 'sm_uci_docs_url', 'http://www.smackcoders.com/documentation/ultimate-csv-importer-pro/how-to-import-csv?utm_source=plugin&utm_campaign=csv_importer_pro&utm_medium=wordpress' ) ) . '" title="' . esc_attr( __( 'View WP Ultimate CSV Importer Pro Documentation', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Docs', 'wp-ultimate-csv-importer' ) . '</a>',
194
+ 'videos' => '<a href="' . esc_url( apply_filters( 'sm_uci_videos_url', 'https://www.youtube.com/watch?v=48soc8Wu4zs&feature=youtu.be' ) ) . '" title="' . esc_attr( __( 'View Videos For WP Ultimate CSV Importer Pro', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Videos', 'wp-ultimate-csv-importer' ) . '</a>',
195
+ 'support' => '<a href="' . esc_url( apply_filters( 'sm_uci_support_url', admin_url() . 'admin.php?page=com.smackcoders.csvimporternew.menu&support' ) ) . '" title="' . esc_attr( __( 'Contact Support', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Support', 'wp-ultimate-csv-importer' ) . '</a>',
196
+ 'free_trial' => '<a href="' . esc_url( apply_filters( 'sm_uci_support_url', 'http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_free&utm_medium=wordpress' ) ) . '" title="' . esc_attr( __( 'Get your free trial', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Free Trial', 'wp-ultimate-csv-importer' ) . '</a>',
197
+ );
198
+
199
+ return array_merge( $row_meta, $links );
200
+ }
201
+
202
+ public static function showUpgradeNotification($currentPluginMetadata, $newPluginMetadata){
203
+ if (isset($newPluginMetadata->upgrade_notice) && strlen(trim($newPluginMetadata->upgrade_notice)) > 0){
204
+ echo '<p style="background-color: #d54e21; padding: 10px; color: #f9f9f9; margin-top: 10px"><strong>'.esc_html__('Important Upgrade Notice:','wp-ultimate-csv-importer').'</strong> ';
205
+ echo esc_html($newPluginMetadata->upgrade_notice), '</p>';
206
+ }
207
+ }
208
+
209
+ public static function important_upgrade_notice() {
210
+ $get_notice = get_option('smack_uci_upgrade_notice');
211
+ if($get_notice != 'off') {
212
+ ?>
213
+ <div class="notice notice-error is-dismissible" onclick="dismiss_notices('upgrade_notice');">
214
+ <p style="margin-top: 10px"><strong><?php echo esc_html__('Upgrade Notice:','wp-ultimate-csv-importer');?> </strong> <?php echo esc_html__('Download and replace the latest version of','wp-ultimate-csv-importer');?> <a href="https://wordpress.org/plugins/wp-ultimate-csv-importer/" target="_blank">WP Ultimate CSV Importer</a> <?php echo esc_html__('for 10x faster import performance with easy user interface.','wp-ultimate-csv-importer');?> </p>
215
+ </div>
216
+ <?php
217
+ }
218
+ }
219
+
220
+ public static function important_cron_notice() {
221
+ $get_notice = get_option('smack_uci_enable_cron_notice');
222
+ if($get_notice != 'off' && isset($_REQUEST['page']) && $_REQUEST['page'] == 'sm-uci-import') {
223
+ ?>
224
+ <div class="notice notice-error wc-connect is-dismissible" onclick="dismiss_notices('enable_cron_notice');" >
225
+ <p style="margin-top: 10px">
226
+ <strong><?php echo esc_html__( 'Notice:', 'wp-ultimate-csv-importer' ); ?> </strong> <?php echo esc_html__( 'To populate Featured images, Please make sure that CRON is enabled in your server. ', 'wp-ultimate-csv-importer' ); ?></p>
227
+ </div>
228
+ <?php
229
+ if(function_exists( 'curl_version' ) == null || function_exists( 'curl_version' ) == '' && isset($_REQUEST['page']) && $_REQUEST['page'] == 'sm-uci-import') { ?>
230
+ <div class="notice notice-error">
231
+ <p style="margin-top: 10px;">
232
+ <strong><?php echo esc_html__( 'Notice:', 'wp-ultimate-csv-importer' ); ?> </strong> <?php echo esc_html__( 'Please install CURL & enable it in your server. ', 'wp-ultimate-csv-importer' ); ?>
233
+ </p>
234
+ </div>
235
+ <?php }
236
+ }
237
+ }
238
+
239
+ public static function wp_ultimate_csv_importer_notice() {
240
+ $get_notice = get_option('smack_uci_rating_notice');
241
+ $smack_uci_pages = array('sm-uci-import', 'sm-uci-dashboard', 'sm-uci-managers', 'sm-uci-export', 'sm-uci-settings', 'sm-uci-support');
242
+ if($get_notice != 'off' && isset($_REQUEST['page']) && in_array($_REQUEST['page'], $smack_uci_pages)) {
243
+ ?>
244
+ <div class='notice Updated uci-message wc-connect is-dismissible' onclick="dismiss_notices('rating_notice');">
245
+ <p><?php echo esc_html__("If you love WP Ultimate CSV Importer show us you care with a 5-star review on","wp-ultimate-csv-importer")?> <a href='https://wordpress.org/support/plugin/wp-ultimate-csv-importer/reviews/?rate=5#new-post' target='_blank'><?php echo esc_html__('wordpress.org!','wp-ultimate-csv-importer') ?></a></p>
246
+ </p></div>
247
+ <?php
248
+ }
249
+ }
250
+ }
SmackCSVImporterUninstall.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /******************************************************************************************
4
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
5
+ * Unauthorized copying of this file, via any medium is strictly prohibited
6
+ * Proprietary and confidential
7
+ * You can contact Smackcoders at email address info@smackcoders.com.
8
+ *******************************************************************************************/
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ /**
15
+ * Class SmackUCIUnInstall
16
+ * @package Smackcoders\FCSV
17
+ */
18
+
19
+ class SmackUCIUnInstall {
20
+ /**
21
+ * UnInstall UCI Pro.
22
+ */
23
+ protected static $instance = null;
24
+ public function __construct() {
25
+ $this->plugin = Plugin::getInstance();
26
+ }
27
+
28
+ public static function getInstance() {
29
+ if ( null == self::$instance ) {
30
+ self::$instance = new self;
31
+ }
32
+ return self::$instance;
33
+ }
34
+
35
+ public static function unInstall() {
36
+
37
+ global $wpdb;
38
+
39
+ $wpdb->hide_errors();
40
+
41
+ require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
42
+
43
+ $ucisettings = get_option('sm_uci_pro_settings');
44
+ $prefix = $wpdb->prefix;
45
+ $droptable = isset($ucisettings['drop_table']) ? $ucisettings['drop_table'] : '';
46
+ if(!empty($droptable) && $droptable == 'true'){
47
+ $tables[] = "drop table {$prefix}ultimate_csv_importer_external_file_schedules";
48
+ $tables[] = "drop table {$prefix}ultimate_csv_importer_mappingtemplate";
49
+ $tables[] = "drop table {$prefix}import_detail_log";
50
+ $tables[] = "drop table {$prefix}import_log_detail";
51
+ $tables[] = "drop table {$prefix}smackcsv_file_events";
52
+ $tables[] = "drop table {$prefix}ultimate_csv_importer_media";
53
+ $tables[] = "drop table {$prefix}ultimate_csv_importer_shortcode_manager";
54
+ $tables[] = "drop table {$prefix}import_postID";
55
+ $tables[] = "drop table smackuci_events";
56
+ $tables[] = "drop table smack_field_types";
57
+ $tables[] = "drop table {$prefix}ultimate_csv_importer_acf_fields";
58
+
59
+ foreach($tables as $table) {
60
+ $wpdb->query($table, array());
61
+ }
62
+ }
63
+ }
64
+ }
Tables.php ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /******************************************************************************************
3
+ * Copyright (C) Smackcoders. - All Rights Reserved under Smackcoders Proprietary License
4
+ * Unauthorized copying of this file, via any medium is strictly prohibited
5
+ * Proprietary and confidential
6
+ * You can contact Smackcoders at email address info@smackcoders.com.
7
+ *******************************************************************************************/
8
+
9
+ namespace Smackcoders\FCSV;
10
+
11
+ if ( ! defined( 'ABSPATH' ) )
12
+ exit; // Exit if accessed directly
13
+
14
+ class Tables {
15
+
16
+ private static $instance = null;
17
+ private static $smack_csv_instance = null;
18
+
19
+ public static function getInstance() {
20
+ if (Tables::$instance == null) {
21
+ Tables::$instance = new Tables;
22
+ Tables::$smack_csv_instance = SmackCSV::getInstance();
23
+ Tables::$instance->create_tables();
24
+ return Tables::$instance;
25
+ }
26
+ return Tables::$instance;
27
+ }
28
+
29
+ public function create_tables(){
30
+ global $wpdb;
31
+ $file_table_name = $wpdb->prefix ."smackcsv_file_events";
32
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $file_table_name (
33
+ `id` int(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
34
+ `file_name` VARCHAR(255) NOT NULL,
35
+ `status` VARCHAR(255) NOT NULL,
36
+ `mode` VARCHAR(255) NOT NULL,
37
+ `hash_key` VARCHAR(255) NOT NULL,
38
+ `total_rows` INT(255) NOT NULL,
39
+ `lock` BOOLEAN DEFAULT false,
40
+ `progress` INT(6)) ENGINE=InnoDB"
41
+ );
42
+
43
+ $image_table = $wpdb->prefix ."ultimate_csv_importer_media";
44
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $image_table (
45
+ `post_id` INT(6),
46
+ `attach_id` INT(6) NOT NULL,
47
+ `image_url` VARCHAR(255) NOT NULL,
48
+ `hash_key` VARCHAR(255) NOT NULL,
49
+ `status` VARCHAR(255) DEFAULT 'pending',
50
+ `module` VARCHAR(255) DEFAULT NULL,
51
+ `image_type` VARCHAR(255) DEFAULT NULL
52
+ ) ENGINE=InnoDB"
53
+ );
54
+
55
+ $shortcode_table_name = $wpdb->prefix ."ultimate_csv_importer_shortcode_manager";
56
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $shortcode_table_name (
57
+ `post_id` INT(6),
58
+ `image_shortcode` VARCHAR(255) NOT NULL,
59
+ `original_image` VARCHAR(255) NOT NULL,
60
+ `hash_key` VARCHAR(255) NOT NULL,
61
+ `status` VARCHAR(255) DEFAULT 'pending'
62
+ ) ENGINE=InnoDB"
63
+ );
64
+
65
+ $template_table_name = $wpdb->prefix ."ultimate_csv_importer_mappingtemplate";
66
+ $table = $wpdb->query( "CREATE TABLE IF NOT EXISTS $template_table_name (
67
+ `id` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
68
+ `templatename` varchar(250) NOT NULL,
69
+ `mapping` blob NOT NULL,
70
+ `createdtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
71
+ `deleted` int(1) DEFAULT '0',
72
+ `templateused` int(10) DEFAULT '0',
73
+ `mapping_type` varchar(30),
74
+ `module` varchar(50) DEFAULT NULL,
75
+ `csvname` varchar(250) DEFAULT NULL,
76
+ `eventKey` varchar(60) DEFAULT NULL
77
+ ) ENGINE = InnoDB "
78
+ );
79
+
80
+ $log_table_name = $wpdb->prefix ."import_detail_log";
81
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $log_table_name (
82
+ `id` int(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
83
+ `file_name` VARCHAR(255) NOT NULL,
84
+ `status` VARCHAR(255) NOT NULL,
85
+ `hash_key` VARCHAR(255) NOT NULL,
86
+ `total_records` INT(6),
87
+ `processing_records` INT(6) default 0,
88
+ `remaining_records` INT(6) default 0,
89
+ `filesize` VARCHAR(255) NOT NULL,
90
+ `created` bigint(20) NOT NULL default 0,
91
+ `updated` bigint(20) NOT NULL default 0,
92
+ `skipped` bigint(20) NOT NULL default 0
93
+ ) ENGINE=InnoDB"
94
+ );
95
+
96
+ $importlog_table_name = $wpdb->prefix ."import_log_detail";
97
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $importlog_table_name (
98
+ `id` int(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
99
+ `hash_key` VARCHAR(255) NOT NULL,
100
+ `message` VARCHAR(255) NOT NULL,
101
+ `status` VARCHAR(255) NOT NULL,
102
+ `verify` blob NOT NULL,
103
+ `categories` VARCHAR(255) NOT NULL,
104
+ `tags` VARCHAR(255) NOT NULL,
105
+ `post_id` int(6) NULL
106
+ ) ENGINE=InnoDB"
107
+ );
108
+
109
+ $import_table_name = $wpdb->prefix ."import_postID";
110
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $import_table_name(
111
+ `post_id` int(6) NOT NULL,
112
+ `line_number` int(6) NOT NULL) "
113
+ );
114
+
115
+ $import_records_table = "smackuci_events";
116
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $import_records_table (
117
+ `id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
118
+ `revision` bigint(20) NOT NULL default 0,
119
+ `name` varchar(255),
120
+ `original_file_name` varchar(255),
121
+ `friendly_name` varchar(255),
122
+ `import_type` varchar(32),
123
+ `filetype` text,
124
+ `filepath` text,
125
+ `eventKey` varchar(32),
126
+ `registered_on` datetime NOT NULL default '0000-00-00 00:00:00',
127
+ `parent_node` varchar(255),
128
+ `processing` tinyint(1) NOT NULL default 0,
129
+ `executing` tinyint(1) NOT NULL default 0,
130
+ `triggered` tinyint(1) NOT NULL default 0,
131
+ `event_started_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
132
+ `count` bigint(20) NOT NULL default 0,
133
+ `processed` bigint(20) NOT NULL default 0,
134
+ `created` bigint(20) NOT NULL default 0,
135
+ `updated` bigint(20) NOT NULL default 0,
136
+ `skipped` bigint(20) NOT NULL default 0,
137
+ `deleted` bigint(20) NOT NULL default 0,
138
+ `is_terminated` tinyint(1) NOT NULL default 0,
139
+ `terminated_on` datetime NOT NULL default '0000-00-00 00:00:00',
140
+ `last_activity` datetime NOT NULL default '0000-00-00 00:00:00',
141
+ `siteid` int(11) NOT NULL DEFAULT 1,
142
+ `month` varchar(60) DEFAULT NULL,
143
+ `year` varchar(60) DEFAULT NULL
144
+ ) ENGINE=InnoDB"
145
+ );
146
+
147
+ $acf_fields_table = $wpdb->prefix ."ultimate_csv_importer_acf_fields";
148
+ $table = $wpdb->query("CREATE TABLE IF NOT EXISTS $acf_fields_table (
149
+ `id` int(10) NOT NULL AUTO_INCREMENT,
150
+ `groupId` varchar(100) NOT NULL,
151
+ `fieldId` varchar(100) NOT NULL,
152
+ `fieldLabel` varchar(100) NOT NULL,
153
+ `fieldName` varchar(100) NOT NULL,
154
+ `fieldType` varchar(60) NOT NULL,
155
+ `fdOption` varchar(100) DEFAULT NULL,
156
+ PRIMARY KEY (`id`)
157
+ ) ENGINE=InnoDB"
158
+ );
159
+ }
160
+ }
admin/class-uci-admin.php DELETED
@@ -1,578 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
-
41
- include_once ( plugin_dir_path(__FILE__) . '../includes/class-uci-helper.php' );
42
-
43
- class SmackUCIAdmin extends SmackUCIHelper {
44
-
45
- public function __construct() {
46
- self::initializing_scheduler();
47
- }
48
-
49
- public static function show_admin_menus() {
50
- $is_author_can_import = get_option('sm_uci_pro_settings', null);
51
- $is_author_can_import = isset($is_author_can_import['author_editor_access']) ? $is_author_can_import['author_editor_access'] : '';
52
-
53
- if ( apply_filters( 'sm_uci_enable_setup_wizard', true ) && is_user_logged_in() && current_user_can( 'administrator' ) ) {
54
- add_action( 'admin_menu', array( __CLASS__, 'admin_menus' ) );
55
- }
56
- if ( is_user_logged_in() && ( current_user_can( 'author') || current_user_can('editor') ) && $is_author_can_import == 'on' ) {
57
- add_action( 'admin_menu', array( __CLASS__, 'admin_menus_for_other_roles' ) );
58
- }
59
- }
60
-
61
- /**
62
- * Add admin menus/screens.
63
- */
64
- public static function admin_menus() {
65
- global $submenu;
66
- $active_plugins = get_option( "active_plugins" );
67
- add_menu_page(SM_UCI_SETTINGS, SM_UCI_NAME, 'manage_options', SM_UCI_SLUG, array(__CLASS__, 'sm_uci_screens'),plugins_url("assets/images/wp-ultimate-csv-importer.png",dirname(__FILE__)));
68
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Dashboard', 'wp-ultimate-csv-importer') , 'manage_options', 'sm-uci-dashboard', array(__CLASS__, 'sm_uci_screens'));
69
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Import / Update','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-import', array(__CLASS__, 'sm_uci_screens'));
70
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Managers','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-managers', array(__CLASS__, 'sm_uci_screens'));
71
- if(in_array('wp-ultimate-exporter/index.php', $active_plugins)){
72
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Export','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-export', array(__CLASS__, 'sm_uci_screens'));
73
- }
74
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Settings','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-settings', array(__CLASS__, 'sm_uci_screens'));
75
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Addons','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-addons', array(__CLASS__, 'sm_uci_screens'));
76
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Support','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-support', array(__CLASS__, 'sm_uci_screens'));
77
- unset($submenu[SM_UCI_SLUG][0]);
78
- }
79
-
80
- public static function admin_menus_for_other_roles() {
81
- global $submenu;
82
- $active_plugins = get_option( "active_plugins" );
83
- add_menu_page(SM_UCI_SETTINGS, SM_UCI_NAME, '2', SM_UCI_SLUG, array(__CLASS__, 'sm_uci_screens'),plugins_url("assets/images/wp-ultimate-csv-importer.png",dirname(__FILE__)));
84
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, 'Dashboard', '2', 'sm-uci-dashboard', array(__CLASS__, 'sm_uci_screens'));
85
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, 'Import / Update', '2', 'sm-uci-import', array(__CLASS__, 'sm_uci_screens'));
86
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, 'Managers', '2', 'sm-uci-managers', array(__CLASS__, 'sm_uci_screens'));
87
- if(in_array('wp-ultimate-exporter/index.php', $active_plugins)){
88
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, 'Export', '2', 'sm-uci-export', array(__CLASS__, 'sm_uci_screens'));
89
- }
90
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, 'Addons', '2', 'sm-uci-addons', array(__CLASS__, 'sm_uci_screens'));
91
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, 'Support', '2', 'sm-uci-support', array(__CLASS__, 'sm_uci_screens'));
92
- unset($submenu[SM_UCI_SLUG][0]);
93
- }
94
-
95
- public static function sm_uci_screens() {
96
-
97
- // Mari added
98
- // Verify the WP NONCE if the request is POST
99
- // nonce name - sm-uci-import
100
- if($_POST){
101
-
102
- if ( !isset($_POST['_wpnonce']) || ! wp_verify_nonce( $_POST['_wpnonce'], 'sm-uci-import' ) ) {
103
-
104
- die( 'You are restricted from accessing this page.' );
105
- }
106
- }
107
-
108
- global $uci_admin;
109
- $uci_admin->show_top_navigation_menus();
110
- switch (sanitize_title($_REQUEST['page'])) {
111
- case 'sm-uci-dashboard':
112
- $uci_admin->show_uci_dashboard();
113
- break;
114
- case 'sm-uci-import':
115
- $uci_admin->show_import_screen();
116
- break;
117
- case 'sm-uci-managers':
118
- $uci_admin->show_manager_screen();
119
- break;
120
- case 'sm-uci-export':
121
- $uci_admin->show_export_screen();
122
- break;
123
- case 'sm-uci-settings':
124
- $uci_admin->show_settings_screen();
125
- break;
126
- case 'sm-uci-support':
127
- $uci_admin->show_support_screen();
128
- break;
129
- case 'sm-uci-addons':
130
- $uci_admin->show_addon_screen();
131
- break;
132
- default:
133
- break;
134
- }
135
-
136
- return false;
137
- }
138
-
139
- public function show_top_navigation_menus() {
140
- $active_plugins = get_option( "active_plugins" );
141
-
142
- $menu = '<div class="menu_bar wp_ultimate_csv_importer_pro">
143
- <h2 class="nav-tab-wrapper">
144
- <a href="'. esc_url (admin_url() .'admin.php?page=sm-uci-dashboard') .'" class="nav-tab nav-tab-active" id = "menu1">'.esc_html__('Dashboard','wp-ultimate-csv-importer').'</a>
145
- <a href="'. esc_url (admin_url() .'admin.php?page=sm-uci-import') . '" class="nav-tab" id = "menu2">'.esc_html__('Import / Update','wp-ultimate-csv-importer').'</a>
146
- <a href="'. esc_url (admin_url() .'admin.php?page=sm-uci-managers') . '" class="nav-tab" id = "menu3">'.esc_html__('Manager','wp-ultimate-csv-importer').'</a>';
147
- if(in_array('wp-ultimate-exporter/index.php', $active_plugins))
148
- $menu .= '<a href="'. esc_url (admin_url() .'admin.php?page=sm-uci-export') . '" class="nav-tab" id = "menu4">'.esc_html__('Export','wp-ultimate-csv-importer').'</a>';
149
- $menu .= '<a href="'. esc_url (admin_url() .'admin.php?page=sm-uci-settings') . '" class="nav-tab" id = "menu5">'.esc_html__('Settings','wp-ultimate-csv-importer').'</a>
150
- <a href="'. esc_url (admin_url() .'admin.php?page=sm-uci-addons') . '" class="nav-tab" id = "menu6">'.esc_html__('Addons','wp-ultimate-csv-importer').'</a>
151
- <a href="'. esc_url (admin_url() .'admin.php?page=sm-uci-support') . '" class="nav-tab" id = "menu7">'.esc_html__('Support','wp-ultimate-csv-importer').'</a>
152
- </h2>
153
- </div>
154
- <div id="notification_wp_csv"></div>';
155
- echo $menu;
156
- $myDir = SM_UCI_DEFAULT_UPLOADS_DIR;
157
- if(is_dir($myDir)) {
158
- echo "<input type='hidden' id='is_found' name='is_found' value='dir found'/>";
159
- } else {
160
- echo "<input type='hidden' id='is_found' name='is_found' value='dir not found'/>";
161
- } if(is_writable($myDir)) {
162
- echo "<input type='hidden' id='is_perm_found' name='is_perm_found' value='perm found'/>";
163
- } else {
164
- echo "<input type='hidden' id='is_perm_found' name='is_perm_found' value='perm not found'/>";
165
- }
166
-
167
- }
168
-
169
- public function show_import_screen() {
170
- global $uci_admin;
171
- $parserObj = new SmackCSVParser();
172
- $uci_admin->show_notices($parserObj);
173
- $step = isset($_REQUEST['step']) ? sanitize_title($_REQUEST['step']) : '';
174
-
175
- switch ($step) {
176
- case 'import_file': // Step one
177
- include ( 'views/form-file-import-method.php' );
178
- break;
179
- case 'suggested_template':
180
- # NOTE: Removed the suggested template view
181
- break;
182
- case 'mapping_config': // Step two
183
-
184
- if(isset($_REQUEST['eventKey']) ? sanitize_key($_REQUEST['eventKey']):'' ) :
185
- if(isset($_POST) && !empty($_POST)) :
186
-
187
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
188
-
189
- if(empty($_REQUEST['eventKey'])){
190
- // Mari added - to prevent from invalid form action
191
- $parserObj->wp_session = "Invaid Event Key";
192
- echo "Invaid Event Key";
193
- exit();
194
- }else if(get_option($_REQUEST['eventKey'])){
195
- // Mari added - to prevent from invalid form action
196
- $parserObj->wp_session = "Invaid Event Key";
197
- echo "Invaid Event Key";
198
- exit();
199
- }else{
200
- $parserObj->screenData = array('import_file' => $_POST);
201
- update_option($_REQUEST['eventKey'], $parserObj->screenData);
202
- }
203
-
204
- else:
205
- $parserObj->screenData = get_option($_REQUEST['eventKey']);
206
- endif;
207
- endif;
208
- if(empty($parserObj->screenData)):
209
- $parserObj->wp_session = "Your mapping configuration may lost. Please configure your mapping again!";
210
- endif;
211
- if(isset($_REQUEST['mapping_type'])) {
212
- $mapping_type = $_REQUEST['mapping_type'];
213
- } else {
214
- $mapping_type = '';
215
- }
216
- switch($mapping_type) {
217
- case 'advanced':
218
- include ( 'views/form-advanced-mapping-configuration.php' );
219
- break;
220
- case 'normal':
221
- default:
222
- include ( 'views/form-mapping-configuration.php' );
223
- break;
224
- }
225
- break;
226
- case 'media_config':
227
- include ( 'views/form-media-handling.php' );
228
- break;
229
- case 'import_config':
230
- include ( 'views/form-import-configuration.php' );
231
- break;
232
- case 'confirm':
233
- include ( 'views/form-ignite-import.php' );
234
- break;
235
- default:
236
- include ( 'views/form-file-import-method.php' );
237
- break;
238
- }
239
- return true;
240
- }
241
-
242
- public function show_manager_screen() {
243
- include ('views/form-manager-view.php' );
244
- return true;
245
- }
246
-
247
- public function show_uci_dashboard() {
248
- include ('views/form-dashboard-view.php');
249
- }
250
-
251
- public function show_export_screen() {
252
- $active_plugins = get_option( "active_plugins" );
253
- if(in_array('wp-ultimate-exporter/index.php', $active_plugins)){
254
- global $expUci_admin;
255
- $expUci_admin->show_export_screen();
256
- }
257
- else{
258
- wp_redirect('admin.php?page=sm-uci-import'); die();
259
- }
260
-
261
- }
262
-
263
- public function show_settings_screen() {
264
- include ('views/form-settings-view.php' );
265
- return true;
266
- }
267
-
268
- public function show_support_screen() {
269
- include ('views/form-support-view.php' );
270
- return true;
271
- }
272
-
273
- public function show_addon_screen()
274
- {
275
- include ('views/form-addons-view.php');
276
- return true;
277
- }
278
-
279
-
280
- public function show_notices($parseObj) {
281
-
282
- }
283
-
284
- public static function PieChart(){
285
- echo '<canvas id="uci_pro_pieStats"></canvas>';
286
- }
287
-
288
- public static function LineChart(){
289
- echo '<canvas id="uci_pro_lineStats" style="height:250px;"></canvas>';
290
- }
291
-
292
- public function get_mapping_widgets_order ($import_type) {
293
- $widgets = array();
294
- global $uci_admin;
295
- $customposts = $uci_admin->get_import_custom_post_types();
296
- if (in_array($import_type, get_taxonomies())) {
297
- $import_type = 'Taxonomies';
298
- }
299
- if (in_array($import_type, $customposts)) {
300
- $import_type = 'CustomPosts';
301
- }
302
- switch ($import_type) {
303
- case 'Posts':
304
- case 'Pages':
305
- case 'CustomPosts':
306
- case 'Events':
307
- case 'ticket':
308
- $widgets = array('Core Fields', 'WordPress Custom Fields', 'ACF Pro Fields', 'ACF Fields', 'ACF Repeater Fields',
309
- 'Types Custom Fields', 'PODS Custom Fields', 'CCTM Custom Fields', 'All-in-One SEO Fields',
310
- 'Yoast SEO Fields', 'Terms and Taxonomies', 'Custom-Field-Suite Fields');
311
- break;
312
- case 'Users':
313
- $widgets = array('Core Fields','WordPress Custom Fields', 'Custom Fields by WP-Members', 'Billing And Shipping Information',
314
- 'ACF Pro Fields', 'ACF Fields', 'ACF Repeater Fields', 'Types Custom Fields', 'PODS Custom Fields', 'CCTM Custom Fields');
315
- break;
316
- case 'Comments':
317
- $widgets = array('Core Fields');
318
- break;
319
- case 'WooCommerce':
320
- case 'MarketPress':
321
- case 'WPeCommerce':
322
- case 'eShop':
323
- $widgets = array('Core Fields', 'Product Meta Fields', 'WordPress Custom Fields', 'ACF Pro Fields',
324
- 'ACF Fields', 'ACF Repeater Fields', 'Types Custom Fields', 'PODS Custom Fields', 'CCTM Custom Fields',
325
- 'All-in-One SEO Fields', 'Yoast SEO Fields', 'Terms and Taxonomies');
326
- if($import_type == 'WPeCommerce')
327
- $widgets = array_merge($widgets,array('WP e-Commerce Custom Fields'));
328
- break;
329
- case 'WPeCommerceCoupons':
330
- $widgets = array('Core Fields', 'Product Meta Fields');
331
- break;
332
- case 'WooCommerceVariations':
333
- $widgets = array('Core Fields', 'Product Meta Fields');
334
- break;
335
- case 'WooCommerceOrders':
336
- $widgets = array('Core Fields', 'Product Meta Fields');
337
- break;
338
- case 'WooCommerceCoupons':
339
- $widgets = array('Core Fields', 'Product Meta Fields');
340
- break;
341
- case 'WooCommerceRefunds':
342
- $widgets = array('Core Fields', 'Product Meta Fields');
343
- break;
344
- case 'MarketPressVariations':
345
- $widgets = array('Core Fields', 'Product Meta Fields');
346
- break;
347
- case 'Taxonomies':
348
- $widgets = array('Core Fields');
349
- break;
350
- case 'Tags':
351
- $widgets = array('Core Fields');
352
- break;
353
- case 'Categories':
354
- $widgets = array('Core Fields');
355
- break;
356
- case 'CustomerReviews':
357
- $widgets = array('Core Fields');
358
- break;
359
- default:
360
- $widgets = array('Core Fields');
361
- break;
362
- }
363
- return $widgets;
364
- }
365
-
366
- public function available_widgets ($import_type, $importAs) {
367
- global $uci_admin;
368
- $widgets = array();
369
- $widgets_order = $uci_admin->get_mapping_widgets_order($import_type);
370
- $supported_widgets = $uci_admin->get_available_widgets($import_type, $importAs);
371
- if(!empty($widgets_order) && !empty($supported_widgets)) :
372
- foreach($widgets_order as $item) {
373
- # TODO: Need to check whether this item (widget) to be related with the $import_type
374
- if(array_key_exists($item, $supported_widgets)) :
375
- $widgets[$item] = $supported_widgets[$item];
376
- endif;
377
- }
378
- endif;
379
- return $widgets;
380
- }
381
-
382
- public function get_available_widgets ($import_type, $importAs) {
383
- $possible_widgets = array();
384
- global $uci_admin;
385
- $customposts = $uci_admin->get_import_custom_post_types();
386
- if (in_array($import_type, $customposts)) {
387
- $import_type = 'CustomPosts';
388
- }
389
- if (in_array($import_type, get_taxonomies())) {
390
- $import_type = 'Taxonomies';
391
- }
392
- $possible_widgets['Core Fields'] = 'CORE';
393
- if($import_type == 'Posts' || $import_type == 'Pages' || $import_type == 'CustomPosts' ||
394
- $import_type == 'WooCommerce' || $import_type == 'MarketPress' || $import_type == 'WPeCommerce' || $import_type == 'eShop' || $import_type == 'Users') {
395
- $possible_widgets['WordPress Custom Fields'] = 'CORECUSTFIELDS';
396
- }
397
- $active_plugins = $this->get_active_plugins();
398
- if(!empty($active_plugins)) {
399
- foreach($active_plugins as $plugin) {
400
- switch ($plugin) {
401
- case 'advanced-custom-fields-pro/acf.php':
402
- $possible_widgets['ACF Pro Fields'] = 'ACF';
403
- break;
404
- case 'advanced-custom-fields/acf.php':
405
- /** ACF PRO version 5.3.7 */
406
- $acf_pro_pluginPath = WP_PLUGIN_DIR . '/advanced-custom-fields/pro';
407
- if(is_dir($acf_pro_pluginPath))
408
- $possible_widgets['ACF Pro Fields'] = 'ACF';
409
- else
410
- $possible_widgets['ACF Fields'] = 'ACF';
411
- break;
412
- case 'acf-repeater/acf-repeater.php':
413
- $possible_widgets['ACF Repeater Fields'] = 'RF';
414
- break;
415
- case 'custom-content-type-manager/index.php':
416
- $possible_widgets['CCTM Custom Fields'] = 'CCTM';
417
- break;
418
- case 'types/wpcf.php':
419
- $possible_widgets['Types Custom Fields'] = 'TYPES';
420
- break;
421
- case 'pods/init.php':
422
- $possible_widgets['PODS Custom Fields'] = 'PODS';
423
- break;
424
- case 'all-in-one-seo-pack/all_in_one_seo_pack.php':
425
- $possible_widgets['All-in-One SEO Fields'] = 'AIOSEO';
426
- break;
427
- case 'wordpress-seo/wp-seo.php':
428
- $possible_widgets['Yoast SEO Fields'] = 'YOASTSEO';
429
- break;
430
- case 'wordpress-seo-premium/wp-seo-premium.php':
431
- $possible_widgets['Yoast SEO Fields'] = 'YOASTSEO';
432
- break;
433
- case 'wp-e-commerce-custom-fields/custom-fields.php':
434
- $possible_widgets['WP e-Commerce Custom Fields'] = 'WPECOMMETA';
435
- break;
436
- case 'wp-members/wp-members.php':
437
- if($import_type == 'Users') {
438
- $possible_widgets['Custom Fields by WP-Members'] = 'WPMEMBERS';
439
- }
440
- break;
441
- // Custom Field Suite Support
442
- case 'custom-field-suite/cfs.php':
443
- $possible_widgets['Custom-Field-Suite Fields'] = 'CFS';
444
- break;
445
- // Custom Field Suite Support
446
- case 'woocommerce/woocommerce.php':
447
- case 'marketpress/marketpress.php':
448
- case 'wordpress-ecommerce/marketpress.php':
449
- case 'wp-e-commerce/wp-shopping-cart.php':
450
- case 'eshop/eshop.php':
451
- $possible_widgets['Product Meta Fields'] = 'ECOMMETA';
452
- break;
453
- case 'sitepress-multilingual-cms/sitepress.php':
454
- $possible_widgets['Multi Lingual Support'] = 'WPML';
455
- break;
456
- }
457
- }
458
- if($import_type == 'Users') {
459
- if( in_array('marketpress/marketpress.php', $this->get_active_plugins()) || in_array('wordpress-ecommerce/marketpress.php', $this->get_active_plugins()) || in_array('woocommerce/woocommerce.php', $this->get_active_plugins()) ) {
460
- $possible_widgets['Billing And Shipping Information'] = 'BSI';
461
- }
462
- }
463
- if($import_type != 'Pages')
464
- $possible_widgets['Terms and Taxonomies'] = 'TERMS';
465
- }
466
- return $possible_widgets;
467
- }
468
-
469
- public function get_widget_fields($widget_name, $import_type, $importAs, $mode = null) {
470
- $fields = array();
471
- switch ($widget_name) {
472
- case 'Core Fields':
473
- $fields = $this->coreFields($import_type);
474
- break;
475
- case 'Product Meta Fields':
476
- if($import_type === 'WPeCommerce') :
477
- $fields = $this->ecommerceMetaFields($import_type);
478
- //$fields = $this->WPeCommerceCustomFields();
479
- elseif ($import_type == 'WooCommerce'):
480
- $fields = $this->ecommerceMetaFields($import_type);
481
- if(in_array('woocommerce-chained-products/woocommerce-chained-products.php', $this->get_active_plugins())) :
482
- $fields['ECOMMETA'] = array_merge($fields['ECOMMETA'], $this->WooCommerceChainedProductFields());
483
- endif;
484
- if(in_array('woocommerce-product-retailers/woocommerce-product-retailers.php', $this->get_active_plugins())) :
485
- $fields['ECOMMETA'] = array_merge($fields['ECOMMETA'], $this->WooCommerceProductRetailerFields());
486
- endif;
487
- if(in_array('woocommerce-product-addons/product-addons.php', $this->get_active_plugins())) :
488
- $fields['ECOMMETA'] = array_merge($fields['ECOMMETA'], $this->WooCommerceProductAddOnsFields());
489
- endif;
490
- if(in_array('woocommerce-warranty/woocommerce-warranty.php', $this->get_active_plugins())) :
491
- $fields['ECOMMETA'] = array_merge($fields['ECOMMETA'], $this->WooCommerceWarrantyFields());
492
- endif;
493
- if(in_array('woocommerce-pre-orders/woocommerce-pre-orders.php', $this->get_active_plugins())) :
494
- $fields['ECOMMETA'] = array_merge($fields['ECOMMETA'], $this->WooCommercePreOrderFields());
495
- endif;
496
- else:
497
- $fields = $this->ecommerceMetaFields($import_type);
498
- endif;
499
- break;
500
- case 'WordPress Custom Fields':
501
- $fields = $this->WPCustomFields($import_type, $importAs, $mode);
502
- break;
503
- case 'ACF Pro Fields':
504
- $fields = $this->ACFProCustomFields($import_type, $importAs, $mode);
505
- break;
506
- case 'ACF Fields':
507
- $fields = $this->ACFCustomFields($import_type, $importAs, $mode);
508
- break;
509
- case 'ACF Repeater Fields':
510
- $fields = $this->ACFRepeaterFields($import_type, $importAs, $mode);
511
- break;
512
- case 'Types Custom Fields':
513
- $fields = $this->TypesCustomFields($import_type, $importAs, $mode);
514
- break;
515
- case 'PODS Custom Fields':
516
- $fields = $this->PODSCustomFields($import_type, $importAs, $mode);
517
- break;
518
- case 'CCTM Custom Fields':
519
- $fields = $this->CCTMCustomFields();
520
- break;
521
- case 'All-in-One SEO Fields':
522
- $fields = $this->AIOSEOFields();
523
- break;
524
- case 'Yoast SEO Fields':
525
- $fields = $this->YoastSEOFields();
526
- break;
527
- case 'Custom-Field-Suite Fields':
528
- $fields = $this->CFSFields();
529
- break;
530
- case 'Billing And Shipping Information':
531
- $active_plugins = get_option("active_plugins");
532
- if(in_array('import-users/index.php', $active_plugins)){
533
- global $userUci_admin;
534
- $fields = $userUci_admin->billing_information_for_users();
535
- }
536
- break;
537
- case 'WP e-Commerce Custom Fields':
538
- $fields = $this->WPeCommerceCustomFields();
539
- break;
540
- case 'Custom Fields by WP-Members':
541
- $fields = $this->custom_fields_by_wp_members();
542
- break;
543
- case 'Terms and Taxonomies':
544
- $fields = $this->terms_and_taxonomies($import_type, $importAs, $mode);
545
- break;
546
- }
547
- return $fields;
548
- }
549
-
550
- public function get_available_groups($type) {
551
- $groups = array();
552
- if ($type == 'Posts') {
553
- $groups = array('CORE', 'CCTM', 'ACF', 'RF', 'TYPES', 'PODS', 'AIOSEO', 'YOASTSEO', 'CORECUST', 'TERMS', 'TAXO');
554
- }
555
- if ($type == 'Pages') {
556
- $groups = array('CORE', 'CCTM', 'ACF', 'RF', 'TYPES', 'PODS', 'AIOSEO', 'YOASTSEO', 'CORECUST', 'TAXO');
557
- }
558
- if ($type == 'WooCommerce') {
559
- $groups = array('CORE', 'CCTM', 'ACF', 'RF', 'TYPES', 'PODS', 'AIOSEO', 'YOASTSEO', 'ECOMMETA', 'CORECUST', 'TERMS', 'TAXO');
560
- }
561
- return $groups;
562
- }
563
-
564
- public static function initializing_scheduler() {
565
- if( !wp_next_scheduled( 'smack_uci_image_scheduler' )) {
566
- wp_schedule_event(time(), 'wp_ultimate_csv_importer_scheduled_images', 'smack_uci_image_scheduler');
567
- }
568
- if( !wp_next_scheduled( 'smack_uci_email_scheduler' )) {
569
- wp_schedule_event(time(), 'wp_ultimate_csv_importer_scheduled_emails', 'smack_uci_email_scheduler');
570
- }
571
- if( !wp_next_scheduled( 'smack_uci_replace_inline_images' )) {
572
- wp_schedule_event(time(), 'wp_ultimate_csv_importer_replace_inline_images', 'smack_uci_replace_inline_images');
573
- }
574
- }
575
- }
576
- add_action('init', array('SmackUCIAdmin', 'show_admin_menus'));
577
- global $uci_admin;
578
- $uci_admin = new SmackUCIAdmin();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-add-custom-field.php DELETED
@@ -1,92 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
-
41
- $prefix = sanitize_text_field($_REQUEST['prefix']);
42
- $core_count = $mapping_count = intval($_REQUEST['count']);
43
- $eventKey = sanitize_key($_REQUEST['eventkey']);
44
- global $uci_admin;
45
- $parserObj = new SmackCSVParser();
46
- $get_records = $uci_admin->GetPostValues($eventKey);
47
- $import_type = $get_records[$eventKey]['import_file']['posttype'];
48
- $mode = $get_records[$eventKey]['import_file']['import_mode'];
49
- $file = SM_UCI_IMPORT_DIR . '/' . $eventKey . '/' . $eventKey;
50
- $parserObj->parseCSV($file, 0, -1);
51
- $Headers = $parserObj->get_CSVheaders();
52
- $Headers = $Headers[0];
53
- add_customrow_for_register_field($mode,$mapping_count,$prefix,$core_count,$Headers,$import_type);
54
-
55
-
56
- function add_customrow_for_register_field($mode,$mapping_count,$prefix,$core_count,$Headers,$import_type){
57
- global $uci_admin;
58
- $slug = sanitize_text_field($_REQUEST['slug']);
59
- if($prefix == 'CORECUSTFIELDS'){
60
- add_corecustomfields($mode, $mapping_count, $prefix, $core_count, $Headers, $slug, $import_type);
61
- }
62
- # Removed: ACF, PODS & Toolset Types field registration feature
63
- }
64
-
65
- function add_corecustomfields($mode, $mapping_count, $prefix, $core_count, $Headers, $slug, $import_type) {
66
- $result = "<tr id='".$prefix."_tr_count".$core_count."'>";
67
- $result .= "<td id='".$prefix."_tdg_count".$core_count."' class='left_align' style='width:20%'>";
68
- $result .= "<label class='wpfields' name='".$prefix."_CustomField' id='".$mapping_count."_CustomField'><input type='textbox' class='form-control new_custom_field' style='margin-top:20px;' id='".$prefix."__CustomField$mapping_count' data-key='".$prefix."__mapping$mapping_count' value='' onblur= SetWPRegisterData(this.id,'".$mapping_count."','".$prefix."')></label><br><label id = '".$prefix."CustomField$mapping_count' class='samptxt'>[Name: CustomField$mapping_count]</label>";
69
- $result .= " <input type='hidden' name='".$prefix."__fieldname". $mapping_count."' id='".$prefix."__fieldname".$mapping_count."' value = '' class='req_hiddenclass'/>";
70
- $result .= "</td>";
71
- $result .= "<td class='mappingtd_style' style='width:20%'>";
72
- $result .= "<span id='".$prefix."_mapping$mapping_count' >";
73
- $result .= "<div style='width:135px;height:27px;margin-bottom:10px;'><div class='mapping-select-div'><select class='selectpicker' style='height: 30px;width: 180px;margin-bottom:100px;' disabled name='".$prefix."__mapping$mapping_count' id='".$prefix."__mapping$mapping_count'>";
74
- $result .= "<option id='select' value = '--select--'>-- Select --</option>";
75
- /** Mapping Headers **/
76
- foreach($Headers as $header_key => $header_value) {
77
- $result .= "<option value=".$header_value.">$header_value</option>";
78
- }
79
- $result .= "<option value='header_manip'>Header Manipulation</option>";
80
- $result .= "</select></div></div></span></td>";
81
- /** End Mapping Headers **/
82
- $result .= "<td class='mappingtd_style'>";
83
- $result .= "</td>";
84
- $result .= "<td>";
85
- $result .= "<div class='mapping-static-formula-group col-md-5' style='margin-left:-15px;'><span title='Static' id='".$prefix."_staticbutton_mapping$mapping_count' style='margin-right:15px;' onclick=static_method(this.id,'".$prefix."','".$mapping_count."')><img src='".plugins_url()."/".SM_UCI_SLUG."/assets/images/static.png' width='24' height='24' style='margin-right:15px;' /></span>";
86
- $result .= "<span title='Formula' style='margin-right:15px;' id='".$prefix."_formulabutton_mapping$mapping_count' onclick=formula_method(this.id,'".$prefix."','".$mapping_count."')><img src='".plugins_url()."/".SM_UCI_SLUG."/assets/images/formula.png' width='24' height='24' /></span></div>";
87
- $result .= "<div id='".$prefix."_customdispdiv_mapping$mapping_count' class='mapping-select-close-div' style='height:246px;padding:8px;display:none;width:267px;border:3px solid #2ea2cc;margin-top:27px;position:absolute;background-color:#ffffff;z-index: 99;'></div>";
88
- $result .= "<input type='button' value='Delete' id='".$prefix."Delete".$mapping_count."' style='float:right; display:none;' class='btn btn-danger' onclick=DeleteCF('".$import_type."','".$prefix."',".$core_count.",\"".$slug."\")> ";
89
- $result .= "</td></tr>";
90
- print_r($result);
91
- die;
92
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-addons-view.php DELETED
@@ -1,48 +0,0 @@
1
- <div class="wp_ultimate_csv_importer_pro panel" style="margin-left: 5%;margin-right:7%;margin-top: 50px">
2
- <h3 style="text-align: center;color: #ec3429;padding-bottom: 10px !important;"> MORE FREE ADDONS </h3>
3
- </div>
4
- <div class="card" style="float: left;width: 20%;margin-left: 5%;margin-right: 5%">
5
- <h2 class="title6" style="font-size:medium;">Import Woocommerce</h2>
6
- <hr class="divider3"/>
7
- <b style="font-size: small;font-style: italic;">+ Few minutes import</b>
8
- <p style="padding-left: 11%;">Import all Woocommerce products</p>
9
- <b style="font-size: small;font-style: italic;">+ Custom Fields</b>
10
- <div style="padding-left: 11%;"><p>Woocommerce Product Add-ons, Chained Products, Product Retailers, Returns and Warranty Request, Pre Order</div>
11
- <b style="font-size: small;font-style: italic;">+ Supports</b>
12
- <div style="padding-left: 11%;"><p>Easy import using CSV</p></div>
13
- <b style="font-size: small;font-style: italic;">+ Drag & Drop</b>
14
- <div style="padding-left: 11%;"><p>Ease Drag & drop import</p></div>
15
-
16
- <a class="cus-button-3" href="https://wordpress.org/plugins/import-woocommerce/" target="blank">Install Now</a>
17
-
18
- </div>
19
- <div class="card" style="float: left;width: 20%;margin-left: 5%;margin-right: 5%">
20
- <h2 class="title4" style="font-size:medium;">Import Users</h2>
21
- <hr class="divider1"/>
22
- <b style="font-size: small;font-style: italic;">+ Few minutes import</b>
23
- <p style="padding-left: 11%;">Import all Users details</p>
24
- <b style="font-size: small;font-style: italic;">+ Custom Fields</b>
25
- <div style="padding-left: 11%;"><p>WP Members, Billing and Shipping Information</p></div>
26
- <b style="font-size: small;font-style: italic;">+ Supports</b>
27
- <div style="padding-left: 11%;"><p>Easy import using CSV</p></div>
28
-
29
- <b style="font-size: small;font-style: italic;">+ Random password</b>
30
- <div style="padding-left: 11%;"><p>If user password column is empty we will create random password and send it through email</p></div>
31
- <a class="cus-button-1" href="https://wordpress.org/plugins/import-users/" target="blank">Install Now</a>
32
-
33
- </div>
34
- <div class="card" style="float: left;width: 20%;margin-left: 5%;">
35
- <h2 class="title5" style="font-size:medium;">WP Ultimate Exporter</h2>
36
- <hr class="divider2"/>
37
- <b style="font-size: small;font-style: italic;">+ Few minutes Export</b>
38
- <p style="padding-left: 11%;">Export all your data from wordpress </p>
39
- <b style="font-size: small;font-style: italic;">+ Export Fields</b>
40
- <div style="padding-left: 11%;"><p>Posts, Pages, Users, All Custom Fields, Woocommerce, Marketpress, Wpecommerce, Comments, Reviews</p></div>
41
- <b style="font-size: small;font-style: italic;">+ Export Formats</b>
42
- <div style="padding-left: 11%;"><p>Easy export as CSV</p></div>
43
- <b style="font-size: small;font-style: italic;">+ Filters</b>
44
- <div style="padding-left: 11%;"><p>Ease filters to export</p></div>
45
-
46
- <a class="cus-button-2" href="https://wordpress.org/plugins/wp-ultimate-exporter/" target="blank">Install Now</a>
47
-
48
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-advanced-mapping-configuration.php DELETED
@@ -1,829 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimateheck
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- global $uci_admin;
41
- $importAs = $templateName = $istemplate = '';
42
- $available_fields = array();
43
- if(isset($_REQUEST['istemplate']) && sanitize_text_field($_REQUEST['istemplate']) == 'no') {
44
- $istemplate = 'no';
45
- }
46
- if($_POST) {
47
- if($_REQUEST['istemplate'] == 'no'){
48
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
49
- $records['import_file'] = $_POST;
50
- $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $records);
51
- }else{
52
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
53
- $records['suggested_template'] = $_POST;
54
- $post_values = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
55
- $result = array_merge($post_values[$_REQUEST['eventkey']], $records);
56
- $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $result);
57
- }
58
- }
59
- $eventKey = sanitize_key($_REQUEST['eventkey']);
60
- $get_records = $uci_admin->GetPostValues($eventKey);
61
- $import_type = $get_records[$eventKey]['import_file']['posttype'];
62
- $file = SM_UCI_IMPORT_DIR . '/' . $eventKey . '/' . $eventKey;
63
- $parserObj->parseCSV($file, 0, -1);
64
- $rowData = $parserObj->parseCSV($file, 1, -1);
65
- $Headers = $parserObj->get_CSVheaders();
66
- $Headers = $Headers[0];
67
- $import_mode = $get_records[sanitize_key($_REQUEST['eventkey'])]['import_file']['import_mode'];
68
- $integrations = $uci_admin->available_widgets($import_type, $importAs);
69
- # print '<pre>';
70
- # print_r($Headers); print_r($rowData);
71
- # print $import_type;
72
- if(!empty($integrations)) :
73
- foreach($integrations as $widget_name => $plugin_file) {
74
- $widget_slug = strtolower( str_replace( ' ', '_', $widget_name ) );
75
- $fields = $uci_admin->get_widget_fields( $widget_name, $import_type, $importAs );
76
- if(!empty($fields[$plugin_file]))
77
- $available_fields[$plugin_file] = $fields[$plugin_file];
78
- }
79
- endif;
80
- # print_r($integrations);
81
- # print_r($available_fields);
82
- # print '</pre>';
83
- $get_post_type = $uci_admin->import_post_types($get_records[$eventKey]['import_file']['posttype']);
84
- global $wpdb;
85
- if($istemplate == 'no'){
86
- $backlink = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=sm-uci-import');
87
- $actionURL = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=media_config&istemplate=no&eventkey='.$_REQUEST['eventkey']);
88
- } else {
89
- $backlink = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=suggested_template&eventkey='.$_REQUEST['eventkey']);
90
- $actionURL = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=media_config&eventkey='.$_REQUEST['eventkey']);
91
- }
92
- $templateName = ''; $template_mapping = array();
93
- if(isset($_REQUEST['templateid'])) {
94
- $templateInfo = $wpdb->get_results($wpdb->prepare("select templatename, mapping from wp_ultimate_csv_importer_mappingtemplate where id = %d", $_REQUEST['templateid']));
95
- $template_mapping = maybe_unserialize($templateInfo[0]->mapping);
96
- $templateName = $templateInfo[0]->templatename;
97
- $actionURL .= '&templateid=' . intval($_REQUEST['templateid']);
98
- $backlink .= '&templateid=' . intval($_REQUEST['templateid']);
99
- }
100
- if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'edit') {
101
- $templateInfo = $wpdb->get_results($wpdb->prepare("select templatename, mapping from wp_ultimate_csv_importer_mappingtemplate where eventKey = %s", $_REQUEST['eventkey']));
102
- $template_mapping = maybe_unserialize($templateInfo[0]->mapping);
103
- $templateName = $templateInfo[0]->templatename;
104
- }
105
- $ecommerce_supported_modules = array('WooCommerceVariations', 'WooCommerceOrders', 'WooCommerceCoupons', 'WooCommerceRefunds', 'MarketPressVariations', 'WPeCommerceCoupons', 'event', 'event-recurring', 'ticket', 'location');
106
- $ecommerce_module = array('WooCommerce', 'MarketPress', 'WPeCommerce', 'eShop');
107
- ?>
108
- <!-- <head>
109
- <meta charset="UTF-8">
110
- <title>Mapping Section</title>
111
- <link rel="stylesheet" type="text/css" href="style.css">
112
- </head> -->
113
- <form id ="mapping_section" autocomplete="off" method="post" action="<?php echo $actionURL;?>">
114
-
115
- <?php wp_nonce_field('sm-uci-import'); ?>
116
-
117
- <main id="main ">
118
- <div id="mapping-container">
119
- <div id="header1"></div>
120
- <div id="mapping-content">
121
- <!-- <div class="col-md-6 col-md-offset-3 mapping-option-section" style="background-color: #fff;padding:10px;">
122
- <div class="col-md-6" style="text-align:center;"> <label class="control-label"><input name="ping_status" type="radio"></label></div>
123
- <div class="col-md-6" style="text-align:center;"><label class="control-label"><input name="ping_status" type="radio"></label></div>
124
- </div> -->
125
- <?php
126
- $normal = 'active'; $advanced = '';
127
- if(isset($_REQUEST['mapping_type']) && $_REQUEST['mapping_type'] == 'normal') {
128
- $normal = 'active';
129
- $advanced = '';
130
- } elseif(isset($_REQUEST['mapping_type']) && $_REQUEST['mapping_type'] == 'advanced') {
131
- $normal = '';
132
- $advanced = 'active';
133
- }
134
- ?>
135
- <div class="col-md-6 col-md-offset-3">
136
- <ul class="mapping-switcher">
137
- <li class="<?php echo $normal; ?>" onclick="mapping_type('normal');">Advanced Mode</li>
138
- <li class="<?php echo $advanced; ?>" onclick="mapping_type('advanced');">Drag & Drop Mode</li>
139
- </ul>
140
- </div>
141
-
142
- <div class="uci_mapping_panel mt20 content">
143
- <?php if(in_array($get_post_type, get_post_types()) && !in_array($get_records[$eventKey]['import_file']['posttype'], $ecommerce_supported_modules)) { ?>
144
- <div class="dropitems col-md-12 mt20">
145
- <div class="panel-group" id='accordion'>
146
- <div class='panel' data-target="#core_fields" data-parent="#accordion">
147
- <div id="corehead" class="core_info panel-heading csv-importer-heading" onclick="toggle_func('core_fields');">Title &amp; Content
148
- <span class="icon-circle-down pull-right" id="iconcore_fields"></span>
149
- </div>
150
- <div id="core_fieldstoggle" class="widget_fields panel-body widget_open_field" >
151
- <div class="droppableHolder">
152
- <div class="wp_csv_ftp form-group">
153
- <input type="text" placeholder="Drag & drop any element on the right to set the title." name="CORE__post_title" id="CORE__post_title" class="droppable form-control" value="<?php if(isset($template_mapping['CORE']['post_title'])) { echo $template_mapping['CORE']['post_title']; } ?>">
154
- </div>
155
- <div class="wp_csv_ftp form-group">
156
- <!-- <input type="text" placeholder="Content" name="CORE__post_content" id="post_content" class="droppable form-control" value="<?php //echo $template_mapping['CORE']['post_content']; ?>"> -->
157
- <textarea id="CORE__post_content" class="droppable post_content" name="CORE__post_content"><?php if(isset($template_mapping['CORE']['post_content'])) { echo $template_mapping['CORE']['post_content']; } ?></textarea>
158
- </div>
159
- <div class="wp_csv_ftp form-group">
160
- <!-- <input type="text" placeholder="Short Description" name="CORE__post_excerpt" id="post_excerpt" class="droppable form-control" value="<?php //echo $template_mapping['CORE']['post_excerpt']; ?>"> -->
161
- <textarea class="form-control droppable" name="CORE__post_excerpt" id="CORE__post_excerpt"><?php if(isset($template_mapping['CORE']['post_excerpt'])) { echo $template_mapping['CORE']['post_excerpt']; } ?></textarea>
162
- </div>
163
- <div class="wp_csv_ftp form-group">
164
- <input type="text" placeholder="Featured Image" class="form-control droppable" name="CORE__featured_image" id="CORE__featured_image" value="<?php if(isset($template_mapping['CORE']['featured_image'])) { echo $template_mapping['CORE']['featured_image']; } ?>">
165
- </div>
166
- </div>
167
- <div class="pull-right">
168
- <input type="button" id="smack_uci_preview" name="smack_uci_preview" value="Preview" class="smack-btn smack-btn-primary btn-radius" data-toggle="modal" data-target=".preview_model">
169
- </div>
170
- <div class="modal animated zoomIn preview_model col-md-6 col-md-offset-1" style="top: 15% !important; left: 20%;" role="dialog">
171
- <!-- Modal content-->
172
- <div class="modal-content">
173
- <div class="modal-header">
174
- <button type="button" class="close text-danger" data-dismiss="modal">&times;</button>
175
- <h4 class="modal-title">Preview of Row # <span id="csv_row"></span></h4>
176
- </div>
177
- <div class="modal-body"></div>
178
- <div class="modal-footer">
179
- <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
180
- </div>
181
- </div>
182
- </div>
183
- </div>
184
- </div>
185
- </div>
186
- </div>
187
- <div class="dropitems col-md-12">
188
- <div class="panel-group" id='accordion'>
189
- <div class='panel' data-target="#terms_fields" data-parent="#accordion">
190
- <div class="terms_info panel-heading csv-importer-heading" onclick="toggle_func('terms_fields');">Taxonomies, Categories &amp; Tags
191
- <span class="icon-circle-down pull-right" id="iconterms_fields"></span>
192
- </div>
193
- <div id="terms_fieldstoggle" class="widget_fields panel-body">
194
- <div class="droppableHolder">
195
- <?php foreach($available_fields['TERMS'] as $index => $field_info) { ?>
196
- <div class="wp_csv_ftp form-group">
197
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="TERMS__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['TERMS'][$field_info['name']])) { echo $template_mapping['TERMS'][$field_info['name']]; } ?>">
198
- </div>
199
- <?php } ?>
200
- </div>
201
- </div>
202
- </div>
203
- </div>
204
- </div>
205
- <?php } else { ?>
206
- <div class="dropitems col-md-12 mt20">
207
- <div class="panel-group" id='accordion'>
208
- <div class='panel' data-target="#core_fields" data-parent="#accordion">
209
- <div id="corehead" class="core_info panel-heading csv-importer-heading" onclick="toggle_func('core_fields');">
210
- WordPress Fields <span class="icon-circle-down pull-right" id="iconcore_fields"></span>
211
- </div>
212
- <div id="core_fieldstoggle" class="widget_fields panel-body widget_open_field" >
213
- <div class="droppableHolder">
214
- <?php
215
- $fields = $uci_admin->get_widget_fields('Core Fields', $import_type, $importAs);
216
- #print '<pre>'; print_r($fields); print '</pre>';
217
- if(!empty($fields)) {
218
- foreach ( $fields as $key => $value ) {
219
- foreach ($value as $key1 => $value1) { ?>
220
- <div class="wp_csv_ftp form-group">
221
- <input type="text" placeholder="<?php echo $key1; ?>" name="<?php echo $key;?>__<?php echo $value1['name']; ?>" id="<?php echo $value1['name']; ?>" class="droppable form-control" value="<?php if(isset($template_mapping['CORE'][$value1['name']])) { echo $template_mapping['CORE'][$value1['name']]; } ?>">
222
- </div>
223
- <?php }
224
- }
225
- }
226
- ?>
227
- </div>
228
- </div>
229
- </div>
230
- </div>
231
- </div>
232
- <?php if( $get_post_type == 'users' ){ ?>
233
- <!--WP-Members-->
234
- <div class="dropitems col-md-12">
235
- <div class="panel-group" id='accordion'>
236
- <div class='panel' data-target="#wp_members" data-parent="#accordion">
237
- <div id="corehead" class="core_info panel-heading csv-importer-heading" onclick="toggle_func('wp-members');">
238
- Custom Fields by WP-Members <span class="icon-circle-down pull-right" id="iconcore_fields"></span>
239
- </div>
240
- <div id="wp-memberstoggle" class="widget_fields panel-body" >
241
- <div class="droppableHolder">
242
- <?php
243
- if(!empty($available_fields['WPMEMBERS'])) {
244
- foreach($available_fields['WPMEMBERS'] as $index => $field_info) { ?>
245
- <div class="form-group wp_csv_ftp">
246
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="WPMEMBERS__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['WPMEMBERS'][$field_info['name']])) { echo $template_mapping['WPMEMBERS'][$field_info['name']]; } ?>">
247
- </div>
248
- <?php }
249
- }
250
- ?>
251
- </div>
252
- </div>
253
- </div>
254
- </div>
255
- </div>
256
- <!-- END WP-Members -->
257
- <!--Ultimate Member-->
258
- <div class="dropitems col-md-12">
259
- <div class="panel-group" id='accordion'>
260
- <div class='panel' data-target="#ultimate_member" data-parent="#accordion">
261
- <div id="corehead" class="core_info panel-heading csv-importer-heading" onclick="toggle_func('ultimate-member');">
262
- Custom Fields by Ultimate Member <span class="icon-circle-down pull-right" id="iconcore_fields"></span>
263
- </div>
264
- <div id="ultimate-membertoggle" class="widget_fields panel-body" >
265
- <div class="droppableHolder">
266
- <?php
267
- if(!empty($available_fields['ULTIMATEMEMBER'])) {
268
- foreach($available_fields['ULTIMATEMEMBER'] as $index => $field_info) { ?>
269
- <div class="form-group wp_csv_ftp">
270
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="ULTIMATEMEMBER__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['ULTIMATEMEMBER'][$field_info['name']])) { echo $template_mapping['ULTIMATEMEMBER'][$field_info['name']]; } ?>">
271
- </div>
272
- <?php }
273
- }
274
- ?>
275
- </div>
276
- </div>
277
- </div>
278
- </div>
279
- </div>
280
- <!-- END Ultimate Member -->
281
- <!--Billing and Shipping Information-->
282
- <div class="dropitems col-md-12">
283
- <div class="panel-group" id='accordion'>
284
- <div class='panel' data-target="#bsi" data-parent="#accordion">
285
- <div id="corehead" class="core_info panel-heading csv-importer-heading" onclick="toggle_func('bsi');">
286
- Billing And Shipping Information <span class="icon-circle-down pull-right" id="iconcore_fields"></span>
287
- </div>
288
- <div id="bsitoggle" class="widget_fields panel-body" >
289
- <div class="droppableHolder">
290
- <?php
291
- if(!empty($available_fields['BSI'])) {
292
- foreach($available_fields['BSI'] as $index => $field_info) { ?>
293
- <div class="form-group wp_csv_ftp">
294
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="BSI__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['BSI'][$field_info['name']])) { echo $template_mapping['BSI'][$field_info['name']]; } ?>">
295
- </div>
296
- <?php }
297
- }
298
- ?>
299
- </div>
300
- </div>
301
- </div>
302
- </div>
303
- </div>
304
- <!-- END Billing and Shipping Information -->
305
- <?php } }
306
- if(!in_array($get_records[$eventKey]['import_file']['posttype'], $ecommerce_supported_modules)) { ?>
307
- <div class="dropitems col-md-12">
308
- <div class="panel-group" id='accordion'>
309
- <div class='panel' data-target="#custom_fields" data-parent="#accordion">
310
- <div class="custom_fields_info panel-heading csv-importer-heading"
311
- onclick="toggle_func('custom_fields');">Custom Fields
312
- <span class="icon-circle-down pull-right" id="iconcustom_fields"></span>
313
- </div>
314
- <div id="custom_fieldstoggle" class="widget_fields panel-body">
315
- <div class="row">
316
- <hr class="border-bottom-hr">
317
- </div>
318
- <div class="col-md-12 mt20">
319
- <div class="wpecommerce_tab">
320
- <ul class="nav nav-tabs" role="tablist">
321
- <li role="presentation">
322
- <a href="#acf" aria-controls="acf" role="tab" data-toggle="tab">ACF</a>
323
- </li>
324
- <li role="presentation">
325
- <a href="#types" aria-controls="types" role="tab" data-toggle="tab">TYPES</a>
326
- </li>
327
- <li role="presentation">
328
- <a href="#pods" aria-controls="pods" role="tab" data-toggle="tab">PODS</a>
329
- </li>
330
- <li role="presentation" class="active">
331
- <a href="#custom-fields" aria-controls="custom-fields" role="tab" data-toggle="tab">Custom Fields</a>
332
- </li>
333
- </ul>
334
- <div class="tab-content">
335
- <div role="tabpanel" class="tab-pane" id="acf">
336
- <div class="col-md-12 mt20">
337
- <?php
338
- if(!empty($available_fields['ACF'])) {
339
- $field_row = 0;
340
- foreach ( $available_fields['ACF'] as $index => $field_info ) {
341
- $field_row++; ?>
342
- <div class="form-group" id="ACF-row<?php echo $field_row; ?>">
343
- <div class="col-md-10">
344
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="ACF__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['ACF'][ $field_info['name'] ])) { echo $template_mapping['ACF'][ $field_info['name'] ]; } ?>">
345
- </div>
346
- <div class="col-md-2"><i class="icon-trash4" onclick='removeRow("ACF-row<?php echo $field_row; ?>")'></i></div>
347
- </div>
348
- <?php }
349
- } ?>
350
- </div>
351
- <div class="clearfix"></div>
352
- </div>
353
- <!-- tabpanel ENd hOMe -->
354
- <div role="tabpanel" class="tab-pane" id="types">
355
- <div class="col-md-12 mt20">
356
- <?php
357
- if(!empty($available_fields['TYPES'])) {
358
- $field_row = 0;
359
- foreach ( $available_fields['TYPES'] as $index => $field_info ) {
360
- $field_row++; ?>
361
- <div class="form-group" id="TYPES-row<?php echo $field_row; ?>">
362
- <div class="col-md-10">
363
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="TYPES__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['TYPES'][ $field_info['name'] ])) { echo $template_mapping['TYPES'][ $field_info['name'] ]; } ?>">
364
- </div>
365
- <div class="col-md-2"><i class="icon-trash4" onclick='removeRow("TYPES-row<?php echo $field_row; ?>");'></i></div>
366
- </div>
367
- <?php }
368
- } ?>
369
- </div>
370
- <div class="clearfix"></div>
371
- </div>
372
- <div role="tabpanel " class="tab-pane" id="pods">
373
- <div class="col-md-12 mt20">
374
- <div class="form-group ">
375
- <?php
376
- if(!empty($available_fields['PODS'])) {
377
- $field_row = 0;
378
- foreach ( $available_fields['PODS'] as $index => $field_info ) {
379
- $field_row++; ?>
380
- <div class="form-group" id="PODS-row<?php echo $field_row; ?>">
381
- <div class="col-md-10">
382
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="PODS__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['PODS'][ $field_info['name'] ])) { echo $template_mapping['PODS'][ $field_info['name'] ]; } ?>">
383
- </div>
384
- <div class="col-md-2"><i class="icon-trash4" onclick='removeRow("PODS-row<?php echo $field_row; ?>");'></i></div>
385
- </div>
386
- <?php }
387
- } ?>
388
- </div>
389
- </div>
390
- <div class="clearfix"></div>
391
- </div>
392
- <div role="tabpanel " class="tab-pane active" id="custom-fields">
393
- <div class="col-md-12 mt20">
394
- <div class="form-group ">
395
- <?php
396
- if(!empty($available_fields['CORECUSTFIELDS'])) {
397
- $field_row = 0;
398
- foreach ( $available_fields['CORECUSTFIELDS'] as $index => $field_info ) {
399
- $field_row++; ?>
400
- <div class="form-group" id="CORECUSTFIELDS-row<?php echo $field_row; ?>">
401
- <div class="col-md-10">
402
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="CORECUSTFIELDS__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control" value="<?php if(isset($template_mapping['CORECUSTFIELDS'][ $field_info['name'] ])) { echo $template_mapping['CORECUSTFIELDS'][ $field_info['name'] ]; } ?>">
403
- </div>
404
- <div class="col-md-2"><i class="icon-trash4" onclick='removeRow("CORECUSTFIELDS-row<?php echo $field_row; ?>");'></i></div>
405
- </div>
406
- <?php }
407
- } ?>
408
- </div>
409
- </div>
410
- <!-- <div class="clearfix"></div> -->
411
- </div>
412
- </div>
413
- </div>
414
- </div>
415
- <!-- wpecommerce_tab ID End -->
416
- <!-- <div class="droppableHolder">
417
- <?php
418
- if ( ! empty( $available_fields['CORECUSTFIELDS'] ) ) {
419
- foreach ( $available_fields['CORECUSTFIELDS'] as $index => $field_info ) { ?>
420
- <div class="wp_csv_ftp form-group">
421
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="CORECUSTFIELDS__<?php echo $field_info['name']; ?>" id="post_status" class="droppable form-control">
422
- </div>
423
- <?php }
424
- } ?>
425
- </div> -->
426
- </div>
427
- </div>
428
- </div>
429
- </div>
430
- <?php
431
- }
432
- // Section for eCommerce Meta Information
433
- #print '<pre>'; print_r($get_records); print '</pre>';
434
- if(in_array($get_records[$eventKey]['import_file']['posttype'], $ecommerce_module) || $get_records[$eventKey]['import_file']['posttype'] == 'WooCommerceVariations' || $get_records[$eventKey]['import_file']['posttype'] == 'MarketPressVariations') { ?>
435
- <div class="dropitems col-md-12">
436
- <div class="panel-group" id='accordion'>
437
- <div class='panel' data-target="#ecom_meta_fields" data-parent="#accordion">
438
- <div class="other_info panel-heading csv-importer-heading" onclick="toggle_func('ecom_meta_fields');">eCommerce Meta Information
439
- <span class="icon-circle-down pull-right" id="iconecom_meta_fields"></span>
440
- </div>
441
- <div id="ecom_meta_fieldstoggle" class="widget_fields panel-body">
442
- <div class="droppableHolder">
443
- <hr class="border-bottom-hr">
444
- <?php
445
- if(in_array($get_records[$eventKey]['import_file']['posttype'], array('WPeCommerce', 'WPeCommerceCoupons'))) {
446
- require_once ('form-wpecommerce-meta.php');
447
- wpecommerce_meta_api($template_mapping);
448
- } elseif(in_array($get_records[$eventKey]['import_file']['posttype'], array('MarketPress', 'MarketPressVariations'))) {
449
- require_once ('form-marketpress-meta.php');
450
- if(in_array('marketpress/marketpress.php', $uci_admin->get_active_plugins())) {
451
- marketpress_premium_meta_api($template_mapping);
452
- } elseif(in_array('wordpress-ecommerce/marketpress.php', $uci_admin->get_active_plugins())) {
453
- marketpress_lite_meta_api($template_mapping);
454
- }
455
- } else {
456
- if (in_array('import-woocommerce/index.php', $uci_admin->getActivePlugins() )) {
457
- global $wcomUci_admin;
458
- $wcomUci_admin->getWoocomDataHtml($template_mapping);
459
- }
460
- // require_once ('form-woocommerce-meta.php');
461
- // woocommerce_meta_api($template_mapping);
462
- }
463
- ?>
464
- </div>
465
- </div>
466
- </div>
467
- </div>
468
- </div>
469
- <?php }
470
- elseif(in_array($get_records[$eventKey]['import_file']['posttype'], $ecommerce_supported_modules) && $get_records[$eventKey]['import_file']['posttype'] != 'WooCommerceVariations') {
471
- $eCommMetaFields = $uci_admin->ecommerceMetaFields($get_records[$eventKey]['import_file']['posttype']); ?>
472
- <div class="dropitems col-md-12 mt20">
473
- <div class="panel-group" id='accordion'>
474
- <div class='panel' data-target="#core_fields" data-parent="#accordion">
475
- <div id="corehead" class="core_info panel-heading csv-importer-heading" onclick="toggle_func('meta_fields');">
476
- Meta Information <span class="icon-circle-down pull-right" id="iconcore_fields"></span>
477
- </div>
478
- <div id="meta_fieldstoggle" class="widget_fields panel-body widget_open_field" >
479
- <div class="droppableHolder">
480
- <?php if ( ! empty( $eCommMetaFields['ECOMMETA'] ) ) {
481
- foreach ( $available_fields['ECOMMETA'] as $index => $field_info ) { ?>
482
- <div class="wp_csv_ftp form-group">
483
- <input type="text" placeholder="<?php echo $field_info['label']; ?>" name="ECOMMETA__<?php echo $field_info['name']; ?>" id="" class="droppable form-control">
484
- </div>
485
- <?php }
486
- } ?>
487
- </div>
488
- </div>
489
- </div>
490
- </div>
491
- </div>
492
- <?php }
493
- // Section for SEO fields (All in One SEO Free & Premium, Yoast SEO Free & Premium)
494
- if(in_array($get_post_type, get_post_types()) && !in_array($get_records[$eventKey]['import_file']['posttype'], $ecommerce_supported_modules)) { ?>
495
- <div class="dropitems col-md-12 mt20">
496
- <div class="panel-group" id='accordion'>
497
- <div class='panel' data-target="#seo_fields" data-parent="#accordion">
498
- <div id="seohead" class="core_info panel-heading csv-importer-heading" onclick="toggle_func('seo_fields');">
499
- SEO Fields <span class="icon-circle-down pull-right" id="iconseo_fields"></span>
500
- </div>
501
- <div id="seo_fieldstoggle" class="widget_fields panel-body widget_open_field" >
502
- <div class="droppableHolder">
503
- <?php
504
- $seo_fields = array();
505
- if(in_array('all-in-one-seo-pack/all_in_one_seo_pack.php', $uci_admin->get_active_plugins())) {
506
- $seo_fields = $uci_admin->get_widget_fields('All-in-One SEO Fields', $import_type, $importAs);
507
- } elseif(in_array('all-in-one-seo-pack-pro/all_in_one_seo_pack.php', $uci_admin->get_active_plugins())) {
508
- $seo_fields = $uci_admin->get_widget_fields('All-in-One SEO Fields', $import_type, $importAs);
509
- } elseif(in_array('wordpress-seo/wp-seo.php', $uci_admin->get_active_plugins())) {
510
- $seo_fields = $uci_admin->get_widget_fields('Yoast SEO Fields', $import_type, $importAs);
511
- } elseif(in_array('wordpress-seo-premium/wp-seo-premium.php', $uci_admin->get_active_plugins())) {
512
- $seo_fields = $uci_admin->get_widget_fields('Yoast SEO Fields', $import_type, $importAs);
513
- }
514
- if(!empty($seo_fields)) {
515
- foreach ( $seo_fields as $key => $value ) {
516
- foreach ($value as $key1 => $value1) { ?>
517
- <div class="wp_csv_ftp form-group">
518
- <input type="text" placeholder="<?php echo $value1['name']; ?>" name="<?php echo $key;?>__<?php echo $value1['name']; ?>" id="<?php echo $value1['name']; ?>" class="droppable form-control" value="<?php if(isset($template_mapping[$key][$value1['name']])) echo $template_mapping[$key][$value1['name']]; ?>">
519
- </div>
520
- <?php }
521
- }
522
- }
523
- ?>
524
- </div>
525
- </div>
526
- </div>
527
- </div>
528
- </div>
529
- <?php } ?>
530
- <!-- This widget will be available only for the post types -->
531
- <?php if(in_array($get_post_type, get_post_types()) && !in_array($get_records[$eventKey]['import_file']['posttype'], $ecommerce_supported_modules)) { ?>
532
- <div class="mapping_widget dropitems col-md-12">
533
- <div class="panel-group" id='accordion'>
534
- <div class='panel' data-target="#other_fields" data-parent="#accordion">
535
- <div class="other_info panel-heading csv-importer-heading" onclick="toggle_func('other_fields');">
536
- Other Information<span class="icon-circle-down pull-right" id="iconother_fields"></span>
537
- </div>
538
- <div id="other_fieldstoggle" class="widget_fields panel-body" id="post-data">
539
- <div class="droppableHolder">
540
- <table class="table">
541
- <tr class="wp_ultimate_container">
542
- <td>
543
- <h6>Post Status</h6>
544
- <div class="form-group wp_ultimate_container">
545
- <label class="control-label col-md-12"><input checked="checked" id="post_status_published" data-key="false" class="wp_ultimate_slide" name="CORE__is_post_status" type="radio" value="publish">Published</label>
546
- <label class="control-label col-md-12"><input name="CORE__is_post_status" id="post_status_draft" data-key="false" class="wp_ultimate_slide" type="radio" value="draft">Draft</label>
547
- <label class="control-label col-md-12"><input name="CORE__is_post_status" id="post_status_csv" data-key="true" class="wp_ultimate_slide" type="radio">Set with CSV</label>
548
- <div class="col-md-8 mt10 set_from_csv source-post_status_csv" style="display: none;">
549
- <input type="text" class="form-control droppable" name="CORE__post_status" value="<?php if(isset($template_mapping['CORE']['post_status'])) echo $template_mapping['CORE']['post_status']; ?>">
550
- </div>
551
- </div>
552
- <div class="clearfix"></div>
553
- <hr class="border-bottom-hr no-padding">
554
- </hr>
555
- </td>
556
- </tr>
557
- <tr>
558
- <td>
559
- <h6>Post Date</h6>
560
- <div class="form-group">
561
- <!-- <label class="control-label col-md-12"><input checked="checked" name="post_dates" type="radio">As specified</label> -->
562
- <!-- <label class="control-label col-md-12"><input checked="checked" name="CORE__post_date_option" type="radio">Random dates</label>
563
- <div class="col-md-4 mt10">
564
- <input type="text" class="form-control datepicker" name="CORE__from_post_date">
565
- </div>
566
- <div class="col-md-4 mt10">
567
- <input type="text" class="form-control datepicker" name="CORE__to_post_date">
568
- </div>
569
- <label class="control-label col-md-12"><input checked="checked" name="CORE__post_date_option" type="radio">Set with CSV</label> -->
570
- <div class="col-md-4">
571
- <input type="text" class="form-control droppable" name="CORE__post_date" value="<?php if(isset($template_mapping['CORE']['post_date'])) echo $template_mapping['CORE']['post_date']; ?>">
572
- </div>
573
- </div>
574
- <div class="clearfix"></div>
575
- <hr class="border-bottom-hr no-padding">
576
- </hr>
577
- </td>
578
- </tr>
579
- <tr class="wp_ultimate_container">
580
- <td>
581
- <h6>Comments</h6>
582
- <div class="form-group wp_ultimate_container">
583
- <label class="control-label col-md-12"><input checked="checked" id="post_comments_open" data-key="false" class="wp_ultimate_slide" name="CORE__post_comment_status" type="radio" value="open">Open</label>
584
- <label class="control-label col-md-12"><input name="CORE__post_comment_status" id="post_comments_closed" data-key="false" class="wp_ultimate_slide" type="radio" value="closed">Closed</label>
585
- <label class="control-label col-md-12"><input name="CORE__post_comment_status" id="post_comments_csv" data-key="true" class="wp_ultimate_slide" type="radio" value="set_from_csv">Set with CSV</label>
586
- <div class="col-md-8 mt10 set_from_csv source-post_comments_csv" style="display: none;">
587
- <input type="text" class="form-control droppable" name="CORE__comment_status" value="<?php if(isset($template_mapping['CORE']['comment_status'])) echo $template_mapping['CORE']['comment_status']; ?>">
588
- </div>
589
- </div>
590
- <div class="clearfix"></div>
591
- <hr class="border-bottom-hr no-padding">
592
- </hr>
593
- </td>
594
- </tr>
595
- <tr>
596
- <td>
597
- <h6>Trackbacks and Pingbacks</h6>
598
- <div class="form-group wp_ultimate_container">
599
- <label class="control-label col-md-12"><input checked="checked" id="post_comments_open" data-key="false" class="wp_ultimate_slide" name="CORE__post_ping_status" type="radio">Open</label>
600
- <label class="control-label col-md-12"><input name="CORE__post_ping_status" id="ping_status_closed" data-key="false" class="wp_ultimate_slide" type="radio">Closed</label>
601
- <label class="control-label col-md-12"><input name="CORE__post_ping_status" id="ping_status_csv" data-key="true" class="wp_ultimate_slide" type="radio">Set with CSV</label>
602
- <div class="col-md-8 mt10 set_from_csv source-ping_status_csv" style="display: none;">
603
- <input type="text" class="form-control droppable" name="CORE__ping_status" value="<?php if(isset($template_mapping['CORE']['ping_status'])) echo $template_mapping['CORE']['ping_status']; ?>">
604
- </div>
605
- </div>
606
- <div class="clearfix"></div>
607
- <hr class="border-bottom-hr no-padding">
608
- </hr>
609
- </td>
610
- </tr>
611
- <tr>
612
- <td>
613
- <h6>Post Slug</h6>
614
- <div class="col-md-8 pl0">
615
- <input type="text" name="CORE__post_slug" class="form-control droppable" value="<?php if(isset($template_mapping['CORE']['post_slug'])) echo $template_mapping['CORE']['post_slug']; ?>" >
616
- </div>
617
- <div class="clearfix"></div>
618
- <hr class="border-bottom-hr no-padding">
619
- </hr>
620
- </td>
621
- </tr>
622
- <tr>
623
- <td>
624
- <h6>Post Author</h6>
625
- <div class="col-md-8 pl0">
626
- <input type="text" class="form-control droppable" name="CORE__post_author" value="<?php if(isset($template_mapping['CORE']['post_author'])) echo $template_mapping['CORE']['post_author']; ?>">
627
- </div>
628
- <div class="col-md-1"><a href="#help" class="vertical-middle" >?</a>
629
- </div>
630
- <div class="clearfix"></div>
631
- <hr class="border-bottom-hr no-padding">
632
- </hr>
633
- </td>
634
- </tr>
635
- <!-- <tr>-->
636
- <!-- <td>-->
637
- <!-- <h6>Download & Import Attachments<span class="pull-right pr50 text-hint">Separated by</span></h6>-->
638
- <!-- <div class="form-group">-->
639
- <!-- <div class="col-md-9 pl0">-->
640
- <!-- <input type="text" class="form-control droppable" name="CORE__featured_image" value="--><?php //echo $template_mapping['CORE']['featured_image']; ?><!--">-->
641
- <!-- <label class="control-label"><input type="checkbox" name="">Search for existing attachments to prevent duplicates in media library </label>-->
642
- <!-- </div>-->
643
- <!-- <div class="col-md-2 pl30 pr30">-->
644
- <!-- <input type="text" value="," class="form-control" name="CORE__image_separated_by">-->
645
- <!-- </div>-->
646
- <!-- </div>-->
647
- <!-- <div class="clearfix"></div>-->
648
- <!-- <hr class="border-bottom-hr no-padding">-->
649
- <!-- </hr>-->
650
- <!-- </td>-->
651
- <!-- </tr>-->
652
- <?php if($get_records[$eventKey]['import_file']['posttype'] == 'Posts') { ?>
653
- <tr class="wp_ultimate_container">
654
- <td>
655
- <h6>Post Format</h6>
656
- <div class="form-group">
657
- <label class="control-label col-md-12 pl0"><input id="post_format_standard" data-key="false" class="wp_ultimate_slide" name="CORE__post_format_option" type="radio" checked="checked">
658
- Standard</label>
659
- <label class="control-label col-md-12 pl0"><input id="post_format_aside" value="1" class="wp_ultimate_slide" data-key="false" name="CORE__post_format_option" type="radio">
660
- Aside</label>
661
- <label class="control-label col-md-12 pl0"><input id="post_format_image" value="2" class="wp_ultimate_slide" data-key="false" name="CORE__post_format_option" value="" type="radio">
662
- Image</label>
663
- <label class="control-label col-md-12 pl0"><input id="post_format_video" value="3" class="wp_ultimate_slide" data-key="false" name="CORE__post_format_option" value="" type="radio">
664
- Video</label>
665
- <label class="control-label col-md-12 pl0"><input id="post_format_quote" value="4" class="wp_ultimate_slide" data-key="false" name="CORE__post_format_option" value="" type="radio">
666
- Quote</label>
667
- <label class="control-label col-md-12 pl0"><input id="post_format_link" value="5" class="wp_ultimate_slide" data-key="false" name="CORE__post_format_option" value="" type="radio">
668
- Link</label>
669
- <label class="control-label col-md-12 pl0"><input id="post_format_gallery" value="6" class="wp_ultimate_slide" data-key="false" name="CORE__post_format_option" value="" type="radio">
670
- Gallery</label>
671
- <label class="control-label col-md-12 pl0"><input id="post_format_audio" value="7" class="wp_ultimate_slide" data-key="false" name="CORE__post_format_option" value="" type="radio">
672
- Audio</label>
673
- <label class="control-label col-md-12 pl0"><input id="post_format_csv" class="wp_ultimate_slide" data-key="true" name="CORE__post_format_option" value="xpath" type="radio">
674
- Set with CSV</label>
675
- <div class="set_from_csv source-post_format_csv col-md-8 pl0 mt10" style="display: none;">
676
- <input type="text" class="form-control droppable" name="CORE__post_format" value="<?php if(isset($template_mapping['CORE']['post_format'])) echo $template_mapping['CORE']['post_format']; ?>">
677
- </div>
678
- </div>
679
- <div class="clearfix"></div>
680
- <hr class="border-bottom-hr no-padding">
681
- </hr>
682
- </td>
683
- </tr>
684
- <?php } ?>
685
- <tr>
686
- <td>
687
- <h6>Menu Order</h6>
688
- <div class="col-md-8 pl0">
689
- <input type="text" class="form-control droppable" name="CORE__menu_order" value="<?php if(isset($template_mapping['CORE']['menu_order'])) echo $template_mapping['CORE']['menu_order']; ?>">
690
- </div>
691
- <div class="clearfix"></div>
692
- <hr class="border-bottom-hr no-padding">
693
- </hr>
694
- </td>
695
- </tr>
696
- </table>
697
- </div>
698
- </div>
699
- </div>
700
- </div>
701
- </div>
702
- <?php } ?>
703
- </div>
704
- <div id="mapping-sidebar">
705
- <div>
706
- <table class="mapping-sidebar-title">
707
- <tr>
708
- <td class="mapping-sidebar-arrow"><i class="icon-circle-left" onclick="retrieve_record('prev', null);"></i> </td>
709
- <td class="mapping-sidebar-textbox-section"><strong><input id="current_row" value="1" type="text" onblur="retrieve_record('', this.value)"></strong> <span class="mapping-textbox-out-of"> of<strong> <?php echo $parserObj->total_row_cont; ?></strong></span>
710
- </td>
711
- <td class="mapping-sidebar-arrow"><i class="icon-circle-right" onclick="retrieve_record('next', null);"></i></td>
712
- </tr>
713
- </table>
714
- <input type="hidden" id="total_no_of_records" value="<?php echo $parserObj->total_row_cont; ?>" />
715
- <input type="hidden" id="event_key" value="<?php echo $eventKey; ?>">
716
- </div>
717
- <div class="route-loader-container"></div>
718
- <div class="mapping-sidebar-content-section">
719
- <div class="uci_mapping_attr">
720
- <ul class="uci_mapping_attr_value">
721
- <?php foreach($rowData[1] as $key => $value) { ?>
722
- <div class="uci_mapping_csv_column">
723
- <li class="uci_csv_column_header draggable" draggable="true" ondragstart="drag(event)" title="<?php echo $key; ?>" style="color: #00A699; font-weight: 600;"><?php echo $key; ?></li>
724
- <li class="uci_csv_column_val" style="border-right: none;"><?php if(strlen($value) > 150) { echo substr($value, 0, 150) . "<span style='color: red;'> [more]</span>"; } else { echo $value; } ?></li>
725
- </div>
726
- <?php } ?>
727
- </ul>
728
- </div>
729
- </div>
730
- </div>
731
- <!--mapping section content end -->
732
- </div>
733
- </div>
734
- <div class="clearfix"></div>
735
- <div id="mapping-footer"></div>
736
- <div class="mb20"></div>
737
- <?php if(isset($_REQUEST['action']) && sanitize_title($_REQUEST['action']) == 'edit') { ?>
738
- <div align="center" id = 'newmappingtemplatename'><?php echo __("Save this mapping as Template"); ?>
739
- <input type='text' id='templatename' name = 'templatename' style='margin-left:10px; width: 25% !important;' placeholder='<?php echo $templateName; ?>' value = '<?php echo $templateName;?>'/>
740
- </div>
741
- <input type="button" class="smack-btn smack-btn-primary btn-radius mapping_continuebtn" value="<?php echo esc_attr__('Save','wp-ultimate-csv-importer');?>" style="margin-bottom:5%;" onclick="update_template('<?php echo sanitize_key($_REQUEST['eventkey']);?>');">
742
- <?php } else { ?>
743
- <div class="col-md-12 mt20">
744
- <!-- back btn -->
745
- <div class="pull-left">
746
- <a class="smack-btn btn-default btn-radius" href="<?php echo $backlink;?>">Back
747
- </a> <!-- back btn end -->
748
- </div>
749
- <!--continue btn -->
750
- <div class="pull-right">
751
- <input type="button" class="smack-btn smack-btn-primary btn-radius" value="<?php echo esc_attr__('Continue','wp-ultimate-csv-importer');?>" onclick="save_template('<?php echo $import_type;?>');">
752
- </div>
753
- </div>
754
- <!-- continue btn end -->
755
- <div class="clearfix"></div>
756
- <div class="mb20"></div>
757
- <?php }?>
758
- <input type="hidden" name="smack_uci_mapping_method" value="<?php echo sanitize_title($_REQUEST['mapping_type']); ?>">
759
- </main>
760
- <!-- Main End -->
761
- </form>
762
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
763
- <script type="text/javascript">
764
- jQuery(function() {
765
- CKEDITOR.replace('CORE__post_content');
766
- });
767
- function allowDrop(ev) {
768
- ev.preventDefault();
769
- }
770
-
771
- function drag(ev) {
772
- var titleval = '{'+ev.target.title+'}';
773
- if (titleval)
774
- ev.dataTransfer.setData("text",titleval);
775
- }
776
-
777
- jQuery(function () {
778
- jQuery("#ecommerce-custom-field-add").bind("click", function () {
779
- var div = jQuery("<tr/>");
780
- div.html(GetDynamicTextBox(""));
781
- jQuery("#ecommerce-meta-textbox").append(div);
782
- });
783
- jQuery("body").on("click", ".remove", function () {
784
- jQuery(this).closest("tr").remove();
785
- });
786
- });
787
-
788
- function GetDynamicTextBox(value) {
789
- return '<td><input name="custom_meta_name[]" type="text" value="' + value + '" class="form-control" placeholder="Name"/></td>' + '<td><input name="custom_meta_value[]" type="text" value="' + value + '" class="form-control" placeholder="Value" /></td>' + '<td><span class="ecommerce-meta-trash remove"><i class="icon-trash4"></i></span></td>'
790
- }
791
-
792
- jQuery(".datepicker").each(function() {
793
- jQuery(this).datepicker();
794
- jQuery('.datepicker').datepicker('setDate', 'today');
795
- });
796
-
797
- jQuery('#smack_uci_preview').click(function () {
798
-
799
- var current_record = jQuery('#current_row').val();
800
- var eventKey = jQuery('#event_key').val();
801
- jQuery('#csv_row').html(current_record);
802
- var row_no = current_record;
803
-
804
- var title = jQuery('#CORE__post_title').val();
805
- var content = CKEDITOR.instances.CORE__post_content.getData();
806
- var excerpt = jQuery('#CORE__post_excerpt').val();
807
- var image = jQuery('#CORE__featured_image').val();
808
-
809
- jQuery.ajax({
810
- url: ajaxurl,
811
- type: 'post',
812
- data: {
813
- 'action': 'preview_record',
814
- 'title': title,
815
- 'content': content,
816
- 'excerpt': excerpt,
817
- 'image': image,
818
- 'row_no': parseInt(row_no),
819
- 'event_key': eventKey,
820
- },
821
- success: function (response) {
822
- jQuery('.modal-body').empty();
823
- jQuery('.modal-body').append(response);
824
- jQuery('#current_row').val(row_no);
825
- }
826
- });
827
- jQuery('.preview_model').modal();
828
- });
829
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-dashboard-view.php DELETED
@@ -1,133 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- ?>
41
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
42
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimate-csv-importer');?></a></div>
43
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimate-csv-importer');?></a></div>
44
- </div>
45
- <div class="box-one">
46
- <div class="top-right-box">
47
- <h3><span style="margin: -5px 5px 5px 5px;"><img src="<?php echo esc_url(SM_UCI_PRO_URL . '/assets/images/chart_bar.png');?>" /></span><?php echo __('Importers Activity','wp-ultimate-csv-importer'); ?></h3>
48
- <!-- start of promotions -->
49
- <div style="float:right;">
50
- <div class="card" style="margin-top: 0%!important;" >
51
-
52
- <h2 class="title1" style="font-size:medium;">WP Importer Woocommerce Pro</h2>
53
- <hr class="divider"/>
54
- <b style="font-size: small;font-style: italic;">+ Few minutes import</b>
55
- <p style="padding-left: 11%;">Import all woocommerce details</p>
56
- <b style="font-size: small;font-style: italic;">+ WooCommerce Products</b>
57
- <div style="padding-left: 11%;"><p>Orders,Refunds,Variations</p></div>
58
- <b style="font-size: small;font-style: italic;">+ Supports</b>
59
- <div style="padding-left: 11%;"><p>Easy import using CSV,XML</p></div>
60
- <b style="font-size: small;font-style: italic;">+ Drag & Drop</b>
61
- <div style="padding-left: 11%;"><p>Ease Drag & drop import</p></div>
62
- <p>Try our new plugin!</p>
63
- <a class="button" href="https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html" target="blank">Try it now!</a>
64
-
65
- </div>
66
- <div class="card" >
67
- <h2 class="title2" style="font-size:medium;">WP Importer Customfields Pro</h2>
68
- <hr class="divider"/>
69
- <b style="font-size: small;font-style: italic;">+ Few minutes import</b>
70
- <p style="padding-left: 11%;">Import all Custom Fields details</p>
71
- <b style="font-size: small;font-style: italic;">+ Custom Fields</b>
72
- <div style="padding-left: 11%;"><p>ACF,Pods,Types,CMB2,CFS<br>CCTM,Custom Press</p></div>
73
- <b style="font-size: small;font-style: italic;">+ Supports</b>
74
- <div style="padding-left: 11%;"><p>Easy import using CSV,XML</p></div>
75
- <b style="font-size: small;font-style: italic;">+ Drag & Drop</b>
76
- <div style="padding-left: 11%;"><p>Ease Drag & drop import</p></div>
77
- <p>Try our new plugin!</p>
78
- <a class="cus-button" href="https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html" target="blank">Try it now!</a>
79
-
80
- </div>
81
- <div class="card" >
82
- <h2 class="title3" style="font-size:medium;">WP Importer Basic Pro</h2>
83
- <hr class="divider"/>
84
- <b style="font-size: small;font-style: italic;">+ Few minutes import</b>
85
- <p style="padding-left: 11%;">Import Posts,Pages,Users<br>Marketpress</p>
86
- <b style="font-size: small;font-style: italic;">+ Fields</b>
87
- <div style="padding-left: 11%;"><p>Marketpress,Wpecommerce<br>Wp-members,Members,BSI</p></div>
88
- <b style="font-size: small;font-style: italic;">+ Supports</b>
89
- <div style="padding-left: 11%;"><p>Easy import using CSV,XML</p></div>
90
- <b style="font-size: small;font-style: italic;">+ Drag & Drop</b>
91
- <div style="padding-left: 11%;"><p>Ease Drag & drop import</p></div>
92
- <p>Try our new plugin!</p>
93
- <a class="basic-button" href="https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html" target="blank">Try it now!</a>
94
-
95
- </div>
96
- <!-- <div class="card" >
97
- <b style="font-size: 1.4em;font-style: italic;color: #20db15;">WP Ultimate CSV Importer Pro</b><br><br>
98
- <b style="font-size: small;font-style: italic;">+ Few minutes import</b>
99
- <p style="padding-left: 11%;">Import & Export Datas<br>Scheduled Import/Export</p>
100
- <b style="font-size: small;font-style: italic;">+ Features</b>
101
- <div style="padding-left: 11%;"><p> Posts,Pages,Users,<br>Custom Posts,Woocommerce<br>All Custom Fields,Marketpress<br>Wpecommerce,</p></div>
102
- <b style="font-size: small;font-style: italic;">+ Supports</b>
103
- <div style="padding-left: 11%;"><p>Easy import using CSV,XML</p></div>
104
- <b style="font-size: small;font-style: italic;">+ Drag & Drop</b>
105
- <div style="padding-left: 11%;"><p>Ease Drag & drop import</p></div>
106
- <p>Try our new plugin!</p>
107
- <a class="csv-button" href="https://www.smackcoders.com/" target="blank">Try it now!</a>
108
-
109
- </div> -->
110
- </div>
111
- <div class="top-right-content">
112
- <div id='dispLabel'></div>
113
- <canvas id="uci-line-chart"></canvas>
114
- </div>
115
- </div>
116
- <div class="top-right-box">
117
- <h3><span style="margin: -5px 5px 5px 5px;"><img src="<?php echo esc_url(SM_UCI_PRO_URL . '/assets/images/stat_icon.png');?>"></span><?php echo __('Import Statistics','wp-ultimate-csv-importer'); ?></h3>
118
- <div class="top-left-content">
119
- <div id='dispLabel'></div>
120
- <div id="canvas-holder" style="width:100%;">
121
- <canvas id="uci-bar-stacked-chart"></canvas>
122
- </div>
123
- </div>
124
- </div>
125
-
126
- <div style="width:75%;">
127
-
128
- </div>
129
- <script type="text/javascript">
130
-
131
- </script>
132
- </div>
133
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-file-import-method.php DELETED
@@ -1,221 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- $ucisettings = get_option('sm_uci_pro_settings');
41
- $main_mode = isset($ucisettings['enable_main_mode']) ? $ucisettings['enable_main_mode'] : '';
42
- $active_plugins = get_option( "active_plugins" );
43
- if (!in_array('import-users/index.php', $active_plugins)) {
44
- $user_import = 'no';
45
- }
46
- else{
47
- $user_import = 'yes';
48
- }
49
- ?>
50
- <div class="whole_body wp_ultimate_csv_importer_pro">
51
- <form class="form-horizontal" id="form_import_file" method="post" action= "<?php echo esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=suggested_template');?>" enctype="multipart/form-data">
52
- <?php wp_nonce_field('sm-uci-import'); ?>
53
-
54
- <div id='wp_warning_main' class = 'updated notice'>
55
- <p>Supported file types .csv .zip .txt
56
- </p></div>
57
-
58
- <?php if($main_mode == 'on') { ?>
59
- <div id='wp_warning_main' style = 'margin-top: 10px;font-size: 15px;color: red;' class = 'error' > Maintenance mode is enabled. <a style="cursor: pointer;" onclick="saveoptions('main_check_import_off', 'off')"> Disable </a> </div>
60
- <?php } ?>
61
- <input type="hidden" id="check_user_import" value="<?php echo $user_import; ?>">
62
- <div id='user_import_warning' class = 'notice notice-warning is-dismissible' style="display: none;">
63
- <p> Importing User feature in Ultimate CSV Importer FREE moved to a separate add-on. To continue import users, kindly install <a href="https://wordpress.org/plugins/import-users/" target="blank">Import Users</a> addon.
64
- </p></div>
65
-
66
- <div id='wp_warning' style = 'display:none;' class = 'error'></div>
67
- <input type='hidden' id="siteurl" value="<?php echo site_url(); ?>" />
68
- <!-- Code Added For POP UP Starts here -->
69
- <div class='modal fade' id = 'modal_zip' tabindex='-1' role='dialog' aria-labelledby='mymodallabel' aria-hidden='true'>
70
- <div class='modal-dialog'>
71
- <div class='modal-content'>
72
- <div class='modal-header'>
73
- <button type='button' class='close' data-dismiss='modal' aria-hidden='true'>&times;</button>
74
- <h4 class='modal-title' id='mymodallabel'> <?php echo esc_html_e("Choose CSV/XML to import","wp-ultimate-csv-importer");?> </h4>
75
- </div>
76
- <div class='modal-body' id = 'choose_file'>
77
- ...
78
- </div>
79
- <div class='modal-footer'>
80
- <!--<button type='button' class='btn btn-default' data-dismiss='modal'>close</button> -->
81
- <button type='button' class='smack-btn smack-btn-primary btn-radius' data-dismiss='modal'><?php echo esc_html_e("Close","wp-ultimate-csv-importer");?></button>
82
- </div>
83
- </div>
84
- </div>
85
- </div>
86
- <!-- Code Added For POP UP Ends here -->
87
- <div class="">
88
- <div class="list-inline pull-right mb10">
89
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimate-csv-importer');?></a></div>
90
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimate-csv-importer');?></a></div>
91
- </div>
92
- </div>
93
- <div class="clearfix"></div>
94
- <div class="panel upload-view" style="width: 98%;">
95
- <!-- <div class="panel-heading">
96
- <h1 class="text-center"><?php //echo esc_html__('Hello, Choose CSV/XML to import','wp-ultimate-csv-importer');?></h1>
97
- </div> -->
98
- <div id="warningsec" style="color:red;width:100%; min-height: 110px;border: 1px solid #d1d1d1;background-color:#fff;display:none;">
99
- <div id ="warning" class="display-warning" style="color:red;align:center;display:inline;font-weight:bold;font-size:15px; border: 1px solid red;margin:2% 2%;padding: 20px 0 20px;position: absolute;text-align: center;width:93%;display:none;"> </div>
100
- </div>
101
- <div class="panel-body">
102
- <div class="row">
103
- <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 bhoechie-tab-container">
104
- <div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 no-padding bhoechie-tab-menu">
105
- <div class="list-group">
106
- <a id="1" href="#" class="list-group-item active text-left" onclick="show_upload(this.id);">
107
- <h4 class="glyphicon glyphicon-upload icon-cloud-upload"></h4>
108
- <?php echo esc_html__('Upload from Desktop','wp-ultimate-csv-importer');?>
109
- </a>
110
- <a id="2" href="#" class="list-group-item text-left" disabled="disabled">
111
- <h4 class="glyphicon glyphicon-upload icon-upload"></h4>
112
- <?php echo esc_html__('Upload from FTP/SFTP','wp-ultimate-csv-importer');?>
113
- <span style="background-color: #ec3939 !important" class="new badge">Pro</span>
114
- </a>
115
- <a id="3" href="#" class="list-group-item text-left" disabled="disabled">
116
- <h4 class="glyphicon glyphicon-upload icon-link2"></h4>
117
- <?php echo esc_html__('Upload from URL','wp-ultimate-csv-importer');?>
118
- <span style="background-color: #ec3939 !important" class="new badge">Pro</span>
119
- </a>
120
- <a id="4" href="#" class="list-group-item text-left" disabled="disabled">
121
- <h4 class="glyphicon glyphicon-upload icon-tree"></h4>
122
- <?php echo esc_html__('Choose File in the Server','wp-ultimate-csv-importer');?>
123
- <span style="background-color: #ec3939 !important" class="new badge">Pro</span>
124
- </a>
125
- </div>
126
- </div>
127
- <div class="col-lg-9 col-md-9 col-sm-8 col-xs-12 no-padding bhoechie-tab">
128
- <div id ='displaysection' class="col-md-12" style='display: none;'>
129
- <div id="displayname">
130
- <div id="filenamedisplay"></div>
131
- </div>
132
- <div class="">
133
- <!-- <progress id ='progressdiv' value="100" max="100"> </progress> -->
134
- <div id="progress-div">
135
- <div id="progress-bar">
136
- <span class="progresslabel">
137
- </span>
138
- </div>
139
- </div>
140
- <div id="targetLayer"></div>
141
- </div>
142
- <div class="clearfix"></div>
143
- <div class="form-group mt10">
144
- <label>
145
- <input type="radio" name="import_mode" id="mode_insert" value="new_items" checked="checked"> <?php echo esc_html__('New Items','wp-ultimate-csv-importer');?>
146
- </label>
147
- <label class="pl20" title="Please upgrade to PRO for updating records">
148
- <div class="col-xs-6 col-xs-offset-0 col-sm-3 col-sm-offset-0 col-md-2 col-md-offset-0"><label class="wp_img_size"><input style="display:none"id="mode_update" ></div>
149
- <input type="radio" name="import_mode" id="mode_update" value="existing_items" disabled="disabled"><?php echo esc_html__(' Existing Items','wp-ultimate-csv-importer');?>
150
- </label>
151
- </div>
152
- <div id="select_module" class="select_module col-md-8 col-md-offset-3">
153
- <span>
154
- <label class="import-textnew"><?php echo esc_html('Import each record as','wp-ultimate-csv-importer');?></label>
155
- </span>
156
- <span class="select_box" style="width:200px;height:40px;">
157
- <select class="search_dropdown selectpicker" id="search_dropdowns" data-size="5" name ='posttype' style="width:200px;height:39px;">
158
- <?php global $uci_admin; $all_post_types = $uci_admin->get_import_post_types(); ?>
159
- <optgroup label="PostType">
160
- <?php foreach ($all_post_types as $key => $type) { ?>
161
- <option value="<?php print($type);?>"><?php print($key); ?></option>
162
- <?php }?>
163
- </optgroup>
164
- <?php #NOTE: Removed the import options for terms & taxonomies ?>
165
- </select>
166
- </span>
167
- </div>
168
- <div class="col-md-1 col-md-offset-10 col-sm-1 col-sm-offset-8 mt20">
169
- <input type ="submit" class="smack-btn smack-btn-primary btn-radius ripple-effect continue-btn" disabled value="Continue">
170
- </div>
171
- </div>
172
- <div class="bhoechie-tab-content active" id="division1">
173
- <div class="file_upload">
174
- <input id="upload_file" type="file" name = "files[]" onchange ="upload_method()"/>
175
- <div class="file-upload-icon">
176
- <span id="fileupload" style="cursor: pointer;" class="import-icon"> <img src="<?php echo plugins_url().'/'.SM_UCI_SLUG ;?>/assets/images/upload-128.png" width="60" height="60" /> </span>
177
- <span class="file-upload-text"><?php echo esc_html__('Click here to upload from desktop','wp-ultimate-csv0-importer-pro');?></span>
178
- </div>
179
- </div>
180
- </div>
181
- <div class="bhoechie-tab-content" id="division5" style="width: 100%;text-align: center;margin-top: 150px;font-size: 2.2em;color: red;">
182
- <?php echo esc_html__('This feature is only available in PRO.','wp-ultimate-csv-importer');?>
183
- </div>
184
- </div>
185
- </div>
186
- <!-- Row -->
187
- </div>
188
- <!-- Panel Body -->
189
- </div>
190
- </div>
191
- <script type="text/javascript">
192
- jQuery(document).ready(function() {
193
- jQuery('#mode_update').click(function(e) {
194
- swal('Warning!', 'Please upgrade to PRO', 'warning')
195
- });
196
- jQuery("div.bhoechie-tab-menu>div.list-group>a").click(function(e) {
197
- e.preventDefault();
198
- jQuery(this).siblings('a.active').removeClass("active");
199
- jQuery(this).addClass("active");
200
- var index = jQuery(this).index();
201
- if(index == 0) {
202
- jQuery("div.bhoechie-tab>div.bhoechie-tab-content").removeClass("active");
203
- jQuery("div.bhoechie-tab>div.bhoechie-tab-content").eq(index).addClass("active");
204
- } else {
205
- jQuery("div.bhoechie-tab>div.bhoechie-tab-content").removeClass("active");
206
- //jQuery("div.bhoechie-tab>div.bhoechie-tab-content").eq(5).addClass("active");
207
- jQuery("div#division5").addClass("active");
208
- }
209
- });
210
- });
211
- </script>
212
- <input type='hidden' id='uploaded_name' name='uploaded_name' value =''>
213
- <input type='hidden' id='file_name' name='file_name' value =''>
214
- <input type="hidden" id="file_extension" name="file_extension" value="">
215
- <input type="hidden" id="import_method" name = "import_method" value="desktop">
216
- <input type='hidden' id='file_version' name='file_version' value=''>
217
- <input type='hidden' id='upload_max' name='upload_max' value='<?php echo ini_get('upload_max_filesize');?>'>
218
- </form>
219
- </div>
220
-
221
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-file-manager.php DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- ?>
41
- <div class="wp_ultimate_csv_importer_pro" style="margin-top: 40px;">
42
- <div class="bhoechie-tab-content active" id="division5" style="width: 100%;text-align: center;margin-top: 30%;font-size: 2.2em;color: red;">
43
- <?php echo esc_html__('This feature is only available in PRO.','wp-ultimate-csv-importer');?>
44
- </div>
45
- </div>
46
- <script>
47
- jQuery(document).ready(function () {
48
- var i;
49
- for(i=1; i<5; i++) {
50
- jQuery('#'+i).addClass("bg-leftside");
51
- jQuery('#'+i).removeClass("selected");
52
- }
53
- jQuery('#1').addClass("selected");
54
- jQuery('#1').removeClass("bg-leftside");
55
- });
56
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-ignite-import.php DELETED
@@ -1,151 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- global $uci_admin;
41
- if($_POST) {
42
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
43
- $records['import_config'] = $_POST;
44
- $post_values = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
45
- $result = array_merge($post_values[$_REQUEST['eventkey']], $records);
46
- $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $result);
47
- }
48
- $get_screen_info = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
49
- $eventkey = sanitize_title($_REQUEST['eventkey']);
50
- if(isset($get_screen_info[$eventkey]['import_config']['handle_duplicate']) && $get_screen_info[$eventkey]['import_config']['handle_duplicate'] == 'Update') {
51
- $process_of_event = 'Update';
52
- } else {
53
- $process_of_event = 'Import';
54
- }
55
- $import_type = $get_screen_info[$eventkey]['import_file']['posttype'];
56
- $file = SM_UCI_IMPORT_DIR . '/' . $eventkey . '/' . $eventkey;
57
- $parserObj->parseCSV($file, 0, -1);
58
- $total_row_count = $parserObj->total_row_cont - 1;
59
- $get_upload_url = wp_upload_dir();
60
- $uploadLogURL = $get_upload_url['baseurl'] . '/smack_uci_uploads/imports/'. $eventkey . '/' . $eventkey;
61
- $logfilename = $uploadLogURL.".log";
62
- $ucisettings = get_option('sm_uci_pro_settings');
63
- $main_mode = isset($_POST['main_mode_config']) ? $_POST['main_mode_config'] : '';
64
- if($main_mode == 'on'){
65
- $uci_admin->updateMaintenance('on');
66
- }
67
- ?>
68
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
69
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimate-csv-importer');?></a></div>
70
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimate-csv-importer');?></a></div>
71
- </div>
72
-
73
- <div class="template_body whole_body wp_ultimate_csv_importer_pro" style="font-size: 15px; margin-top: 40px;">
74
- <form class="form-inline" method="post">
75
- <?php wp_nonce_field('sm-uci-import'); ?>
76
-
77
- <div class="col-md-12">
78
- <div class="col-md-12 mt40" style="text-align: center;">
79
- <input type="button" class="smack-btn smack-btn-primary btn-radius" value="<?php echo esc_attr('Resume','wp-ultimate-csv-importer');?>" style="display:none;" id="continue_import" onclick="continueImport();" >
80
- <input type="button" class="smack-btn smack-btn-danger btn-radius" value="<?php echo esc_attr('Pause','wp-ultimate-csv-importer');?>" id="terminate_now" onclick="terminateImport()">
81
- <input type="button" class="smack-btn smack-btn-danger btn-radius" value="<?php echo esc_attr('Close','wp-ultimate-csv-importer');?>" id="new_import" onclick="reload_to_new_import()" style="display: none;">
82
- </div></div>
83
- <div class="clearfix"></div>
84
- <!-- <input type="button" class="smack-btn smack-btn-primary btn-radius import_config_btn" id="ignite_import" name="ignite_import" value="Confirm-Import" onclick="igniteImport();"> -->
85
- <div class="event-summary">
86
- <span class="es-left"> <?php echo esc_html__('File Name:','wp-ultimate-csv-importer');?> <?php echo $get_screen_info[$eventkey]['import_file']['uploaded_name']; ?> </span>
87
- <span class="es-right"> <?php echo esc_html__('File Size:','wp-ultimate-csv-importer');?> <?php echo $uci_admin->getFileSize($file); ?> </span>
88
- </div>
89
- <div class="event-summary">
90
- <span class="es-left"> <?php echo esc_html__('Process:','wp-ultimate-csv-importer');?> <?php echo $process_of_event; ?> </span>
91
- <span class="es-right"> <?php echo esc_html__('Total no of records:','wp-ultimate-csv-importer');?> <?php echo $total_row_count; ?> </span>
92
- </div>
93
- <div class="event-summary timer">
94
- <span class="es-left"> <?php echo esc_html__('Time Elapsed:','wp-ultimate-csv-importer');?> </span>
95
- <span class="es-left" style="padding-left: 10px;">
96
- <span class="hour">00</span>:<span class="minute">00</span>:<span class="second">00</span>
97
- </span>
98
- <span class="es-right" id="remaining" style="padding-right:2px;text-color:red;"> <?php echo esc_html__('Remaining Record:','wp-ultimate-csv-importer');?> </span>
99
-
100
- <span class="es-right" id="current" style = "padding-right:7px;text-color:green;"> <?php echo esc_html__('Current Processing Record:','wp-ultimate-csv-importer');?> </span>
101
-
102
- </div>
103
- <div class="control" style="display: none;">
104
- <input type="button" id="smack_uci_timer_start" onClick="timer.start(1000)" value="Start" />
105
- <input type="button" id="smack_uci_timer_stop" onClick="timer.stop()" value="Stop" />
106
- <input type="button" id="smack_uci_timer_reset" onClick="timer.reset(60)" value="Reset" />
107
- <input type="button" id="smack_uci_timer_count_up" onClick="timer.mode(1)" value="Count up"/>
108
- <input type="button" id="smack_uci_timer_count_down" onClick="timer.mode(0)" value="Count down" />
109
- </div>
110
- <div id="logsection" class="seoadv_options">
111
- <div class="seoadv_options_head"><?php echo esc_html__('Log section','wp-ultimate-csv-importer');?></div>
112
- <div id="innerlog" class="logcontainer">
113
-
114
- </div>
115
- </div>
116
- <span id="dwnld_log_link" style="display:none">
117
- <?php if(isset($logfilename)) { ?>
118
- <a href="<?php echo $logfilename; ?>" download id="dwnldlog" style="margin-left:45px;position:relative;top:-25px;font-size:15px;"> <?php echo esc_html_e("CLICK HERE TO DOWNLOAD LOG","wp-ultimate-csv-importer"); ?></a>
119
- <?php } ?>
120
- </span>
121
- <input type="hidden" id="eventkey" value="<?php echo sanitize_key($_REQUEST['eventkey']);?>">
122
- <input type="hidden" id="import_type" value="<?php echo $import_type;?>">
123
- <input type="hidden" id="importlimit" name="importlimit" value = "1" >
124
- <input type="hidden" id="currentlimit" name="currentlimit" value = "1" >
125
- <input type="hidden" id="limit" name="limit" value = "1" >
126
- <input type="hidden" id="inserted" value="0" >
127
- <input type="hidden" id="updated" value="0" >
128
- <input type="hidden" id="skipped" value="0" >
129
- <input type="hidden" id="totalcount" name="totalcount" value = "<?php echo $total_row_count;?>">
130
- <input type="hidden" id="terminate_action" name="terminate_action" value="<?php echo esc_html__('continue','wp-ultimate-csv-importer');?>" />
131
- <input type="hidden" name="main_mode" id="main_mode" value="<?php echo $main_mode; ?>">
132
-
133
- </form>
134
- </div>
135
- <script>
136
-
137
- // example use
138
- //var timer;
139
-
140
- jQuery(document).ready(function(e)
141
- {
142
- jQuery( "#smack_uci_timer_count_up" ).click();
143
- jQuery( "#smack_uci_timer_start").click();
144
-
145
- });
146
-
147
-
148
- igniteImport();
149
- </script>
150
-
151
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-import-configuration.php DELETED
@@ -1,144 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
-
41
- global $uci_admin;
42
- if($_POST) {
43
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
44
- $records['media_handling'] =$_POST;
45
- $get_records = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
46
- $result = array_merge($get_records[$_REQUEST['eventkey']], $records);
47
- $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $result);
48
- }
49
- $post_values = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
50
- $eventkey = sanitize_title($_REQUEST['eventkey']);
51
- $import_mode = '';
52
- if($post_values[$eventkey]['import_file']['import_mode'] == 'existing_items') {
53
- $import_mode = "checked = 'checked'";
54
- }
55
- $import_type = $post_values[$eventkey]['import_file']['posttype'];
56
- $importAs = '';
57
- $server_request = $uci_admin->serverReq_data();
58
- $file = SM_UCI_IMPORT_DIR . '/' . $eventkey . '/' . $eventkey;
59
- $parserObj->parseCSV($file, 0, -1);
60
- $total_row_count = $parserObj->total_row_cont - 1;
61
- $actionURL = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=confirm&eventkey='.$_REQUEST['eventkey']);
62
- $backlink = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=media_config&eventkey='.$_REQUEST['eventkey']);
63
- if(isset($_REQUEST['templateid'])) {
64
- $actionURL .= '&templateid=' . intval($_REQUEST['templateid']);
65
- $backlink .= '&templateid=' . intval($_REQUEST['templateid']);
66
- }
67
- $ucisettings = get_option('sm_uci_pro_settings');
68
- $main_mode = isset($ucisettings['enable_main_mode']) ? $ucisettings['enable_main_mode'] : '';
69
- if($main_mode == 'on'){
70
- $config_checkbox = "checked = 'checked'";
71
- }
72
- else{
73
- $config_checkbox = "";
74
- }
75
- ?>
76
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
77
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimate-csv-importer');?></a></div>
78
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimate-csv-importer');?></a></div>
79
- </div>
80
-
81
- <div class="template_body whole_body wp_ultimate_csv_importer_pro" style="font-size: 14px; margin-top: 40px;">
82
- <h3 style="margin-left:2%;" class="csv-importer-heading"><?php echo esc_html__('Import configuration Section','wp-ultimate-csv-importer');?></h3>
83
- <form class="form-inline" method="post" action="<?php echo $actionURL;?>">
84
- <?php wp_nonce_field('sm-uci-import'); ?>
85
-
86
- <div id='wp_warning' style = 'display:none;' class = 'error'></div>
87
- <div class="config_table">
88
- <div class="col-md-12 mt20" id="main_ch">
89
- <div class="col-md-12 mb15">
90
- <label><input type = "checkbox" class="import_config_checkbox" name = "main_mode_config" id = "main_mode_config" <?php echo $config_checkbox; ?> ><?php echo esc_html__('Do you want to SWITCH ON Maintenance mode while import ?');?></label></div>
91
- </div>
92
- <div class="col-md-12 mt20">
93
- <div class="col-md-12 mb15">
94
- <label style="display:inline;">
95
- <input type="checkbox" name="duplicate" id="duplicate" class="import_config_checkbox" onclick = "toggle_configdetails(this.id);" /><?php echo esc_html__('Do you want to handle the duplicate on existing records ?','wp-ultimate-csv-importer');?></label></div>
96
- </div>
97
- <div id="duplicate_headers" class="mb40" style="display:none;">
98
- <div class="col-md-12 mb15">
99
- <div class = "col-md-6 col-md-offset-1 col-sm-7 col-sm-offset-1">
100
- <label>
101
- <?php echo esc_html__('Mention the fields which you want to handle duplicates','wp-ultimate-csv-importer');?>
102
- </label></div>
103
- <div class="col-xs-offset-3 col-xs-0">
104
- <select class="dropdown-search-multiple selectpicker" name="duplicate_conditions[]" id="duplicate_conditions" disabled>
105
- <?php
106
- $fields = $uci_admin->get_widget_fields('Core Fields', $post_values[$eventkey]['import_file']['posttype'],$importAs);
107
- foreach( $fields['CORE'] as $wp_fieldLabel => $wp_fieldarray){ ?>
108
- <option value="<?php echo esc_html($wp_fieldarray['name']);?>">
109
- <?php echo esc_html($wp_fieldarray['name']);?>
110
- </option>
111
- <?php } ?>
112
- </select>
113
- </div>
114
- </div>
115
- </div>
116
- <div class="col-md-12 mt20">
117
- <div class="col-md-12 mb15">
118
- <label><input class="upgrade_pro_checkbox" style="background-color: blue" type = "checkbox" class="import_config_checkbox" name = "schedule" id = "schedule" onclick = "toggle_configdetails(this.id);"><?php echo esc_html__('Do you want to Schedule this Import');?></label></div>
119
- </div>
120
-
121
- </div>
122
- <input type="hidden" id="eventkey" value="<?php echo sanitize_key($_REQUEST['eventkey']);?>">
123
- <input type="hidden" id="import_type" value="<?php echo $import_type;?>">
124
- <div class="clearfix"></div>
125
- <div class="col-md-12 mt40">
126
- <div class="pull-left">
127
- <a class="smack-btn btn-default btn-radius" href="<?php echo $backlink;?>"><?php echo esc_html__('Back','wp-ultimate-csv-importer');?></a>
128
- </div>
129
- <div class="pull-right mb20" style="margin-top: -10px;">
130
- <input type="submit" class="smack-btn smack-btn-primary btn-radius" id="ignite_import" name="ignite_import" value="<?php echo esc_attr__('Import','wp-ultimate-csv-importer');?>" onsubmit="schedule_rightnow();">
131
- <input style="display:none;" disabled="disabled" type="button" class="smack-btn smack-btn-primary btn-radius" id="schedule_import_btn" name="schedule_import" value="<?php echo esc_attr__('Schedule','wp-ultimate-csv-importer');?>" onclick="igniteSchedule();"></div>
132
- </div>
133
- <div class="clearfix"></div>
134
- </form>
135
- </div>
136
-
137
- <?php if($import_mode != '') { ?>
138
- <script type="application/javascript">
139
- // swal('Warning!', 'Please upgrade to PRO for duplicate handling.', 'warning')
140
-
141
- </script>
142
- <?php } ?>
143
-
144
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-inform-export.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- ?>
41
-
42
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
43
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimste-csv-importer');?></a></div>
44
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimste-csv-importer');?></a></div>
45
- </div>
46
- <div class="wp_ultimate_csv_importer_pro panel col-md-12" style="font-size:14px; height: 500px;width:99%;">
47
-
48
- <div style="text-align: center;margin-top: 200px;font-size: 16px;">
49
- <div> Exporter feature in Ultimate CSV Importer FREE moved to a separate add-on. </div> <br>
50
- <div> To continue using this feature, kindly install <a href="https://wordpress.org/plugins/wp-ultimate-exporter/" target="_blank">WP Ultimate Exporter </a>. </div>
51
- </div>
52
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-log-manager.php DELETED
@@ -1,102 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- ?>
41
- <div align="center" class="wp_ultimate_csv_importer_pro" style="font-size: 13px;">
42
- <div class = "title">
43
- <h3 class="csv-importer-heading"><?php echo esc_html__('Log Info','wp-ultimate-csv-importer');?></h3>
44
- <div style="">
45
- <?php
46
- global $fileObj;
47
- global $wpdb;
48
- $records = $wpdb->get_results("SELECT * FROM smackuci_events");
49
- ?>
50
- <table class="table table-mapping table-fixed table-manager mt30">
51
- <thead>
52
- <tr class="" style="">
53
- <th width="27%"><?php echo esc_html__('FileName','wp-ultimate-csv-importer');?></th>
54
- <th width="28%"><?php echo esc_html__('Module','wp-ultimate-csv-importer');?></th>
55
- <th width="10%"><?php echo esc_html__('Inserted','wp-ultimate-csv-importer');?></th>
56
- <th width="10%"><?php echo esc_html__('Updated','wp-ultimate-csv-importer');?></th>
57
- <th width="10%"><?php echo esc_html__('Skipped','wp-ultimate-csv-importer');?></th>
58
- <th width="15%" style="text-align: center;"><?php echo esc_html__('Download','wp-ultimate-csv-importer');?></th>
59
- </tr>
60
- </thead>
61
- <tbody>
62
- <?php foreach($records as $record_data) { ?>
63
- <tr style="padding: 20px 0 10px 0;">
64
- <td width="27%" style="overflow-wrap: break-word;">
65
- <?php echo $record_data->original_file_name;?>
66
- <br>
67
- <b><?php echo esc_html__('Revision: ','wp-ultimate-csv-importer');?> </b> <?php echo $record_data->revision; ?>
68
- </td>
69
- <td width="28%"><?php echo $record_data->import_type;?></td>
70
- <td align="center" width="10%" style="text-align: center;"><?php echo $record_data->created;?></td>
71
- <td align="center" width="10%" style="text-align: center;"><?php echo $record_data->updated;?></td>
72
- <td align="center" width="10%" style="text-align: center;"><?php echo $record_data->skipped;?></td>
73
- <td align="center" width="15%" class="row-links" style="text-align: center;">
74
- <?php
75
- $get_upload_url = wp_upload_dir();
76
- $eventkey = $record_data->eventKey;
77
- $uploadLogURL = $get_upload_url['baseurl'] . '/smack_uci_uploads/imports/' . $eventkey . '/' . $eventkey;
78
- $logfilename = $uploadLogURL.".log";
79
- ?>
80
- <div class="download-icon">
81
- <a href="<?php echo $logfilename; ?>" download id="dwnldlog" style="margin-left:5px;font-size:15px;">
82
- <span class="icon-cloud-download3"></span>
83
- </a><span class="download-text"><?php echo esc_html__('Download','wp-ultimate-csv-importer');?></span>
84
- </td>
85
- </tr>
86
- <?php } ?>
87
- </tbody>
88
- </table>
89
- </div>
90
- </div>
91
- </div>
92
- <script>
93
- jQuery(document).ready(function () {
94
- var i;
95
- for(i=1;i<5;i++) {
96
- jQuery('#'+i).addClass("bg-leftside");
97
- jQuery('#'+i).removeClass("selected");
98
- }
99
- jQuery('#5').addClass("selected");
100
- jQuery('#5').removeClass("bg-leftside");
101
- });
102
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-manager-view.php DELETED
@@ -1,117 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- #Removed: Helper class inclusion for managers.
41
- $active_plugins = get_option( "active_plugins" );
42
- ?>
43
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
44
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimste-csv-importer');?></a></div>
45
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimste-csv-importer');?></a></div>
46
- </div>
47
- <div class="whole_body wp_ultimate_csv_importer_pro" style="margin-top: 40px">
48
- <form>
49
- <?php wp_nonce_field('sm-uci-import'); ?>
50
-
51
- <div class="import_holder" id="import_holder" >
52
- <div class="panel " style="width: 99%;">
53
- <div class="panel-body no-padding">
54
- <div class="col-md-3 file-manager-list no-padding" id="manager_left_sidebar">
55
- <ul id="example">
56
- <li id='1' class="bg-leftside selected">
57
- <a style="font-size: 17px;" href="<?php echo esc_url(add_query_arg(array('page' => 'sm-uci-managers','step' => 'filemanager')));?>"><span class="icon-copy-file"></span><?php echo esc_html__('File Manager','wp-ultimate-csv-importer');?></a>
58
- </li>
59
- <?php if(in_array('wp-ultimate-exporter/index.php', $active_plugins)) { ?>
60
- <li id='2' class="bg-leftside">
61
- <a style="font-size: 17px;" href="<?php echo esc_url(add_query_arg(array('page' => 'sm-uci-managers','step' => 'schedulemanager')));?>"><span class="icon-calendar3"></span><?php echo esc_html__('Smart Schedule','wp-ultimate-csv-importer');?></a>
62
- </li>
63
- <?php } ?>
64
- <li id='3' class="bg-leftside">
65
- <a style="font-size: 17px;" href="<?php echo esc_url(add_query_arg(array('page' => 'sm-uci-managers','step' => 'templatemanager')));?>"><span class="icon-insert-template"></span><?php echo esc_html__('Templates','wp-ultimate-csv-importer');?></a></li>
66
- <!--<li id='4' class="bg-leftside notselect">
67
- <span class="header-icon glyphicon glyphicon-pushpin"></span>
68
- <a href="<?php echo esc_url(add_query_arg(array('page' => 'sm-uci-managers','step' => 'shortcodemanager')));?>">Image Shortcodes</a></li>-->
69
- <li id="5" class="bg-leftside">
70
- <a style="font-size: 17px;" href="<?php echo esc_url(add_query_arg(array('page' => 'sm-uci-managers','step' => 'logmanager')));?>"><span class="icon-document-diagrams"></span><?php echo esc_html__('Log Manager','wp-ultimate-csv-importer');?></a></li>
71
- </li>
72
- </ul>
73
- </div>
74
- <!-- <div class="rightside_content" id="manager_rightside_content"> -->
75
- <div class="col-md-9" id="manager_rightside_content">
76
- <?php $manager_type = isset($_REQUEST['step']) ? sanitize_title($_REQUEST['step']) : '';?>
77
- <!-- <script>
78
- change_css(<?php //echo $manager_type;?>);
79
- </script>-->
80
- <?php
81
- switch($manager_type){
82
- case 'filemanager':
83
- include (SM_UCI_PRO_DIR . 'admin/views/form-file-manager.php' );
84
- break;
85
- case 'schedulemanager':
86
- include (SM_UCI_PRO_DIR . 'admin/views/form-schedule-manager.php');
87
- break;
88
- case 'templatemanager':
89
- include (SM_UCI_PRO_DIR . 'admin/views/form-template-manager.php');
90
- break;
91
- case 'shortcodemanager':
92
- include(SM_UCI_PRO_DIR . 'admin/views/form-shortcode-manager.php');
93
- break;
94
- case 'logmanager':
95
- include(SM_UCI_PRO_DIR . 'admin/views/form-log-manager.php');
96
- //require_once(SM_UCI_PRO_DIR . 'managers/class-uci-logmanager.php');
97
- break;
98
- default: {
99
- include(SM_UCI_PRO_DIR . 'admin/views/form-log-manager.php');
100
- break;
101
- }
102
- }
103
- ?>
104
- </div>
105
- </div>
106
- </div>
107
- </div>
108
- </form>
109
- </div>
110
- <script>
111
- jQuery(function () {
112
- jQuery(".selected").addClass("right-arrow");
113
- });
114
- </script>
115
-
116
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
117
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-mapping-configuration.php DELETED
@@ -1,302 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- global $uci_admin;
41
- $importAs = $templateName = $istemplate = '';
42
- if(isset($_REQUEST['istemplate']) && sanitize_text_field($_REQUEST['istemplate']) == 'no') {
43
- $istemplate = 'no';
44
- }
45
-
46
- if($_POST) {
47
- if($_REQUEST['istemplate'] == 'no'){
48
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
49
- $records['import_file'] = $_POST;
50
- $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $records);
51
- }else{
52
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
53
- $records['suggested_template'] = $_POST;
54
- $post_values = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
55
-
56
- $result = array_merge($post_values[$_REQUEST['eventkey']], $records);
57
- $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $result);
58
- }
59
- }
60
- $eventKey = sanitize_key($_REQUEST['eventkey']);
61
- $get_records = $uci_admin->GetPostValues($eventKey);
62
- $import_type = $get_records[$eventKey]['import_file']['posttype'];
63
-
64
- if(!empty($get_records[$eventKey]['mapping_config']) && $get_records[$eventKey]['mapping_config']) {
65
- $mapping_screendata = $uci_admin->get_mapping_screendata( $import_type, $get_records[$eventKey]['mapping_config']);
66
- }
67
- $file = SM_UCI_IMPORT_DIR . '/' . $eventKey . '/' . $eventKey;
68
- $parserObj->parseCSV($file, 0, -1);
69
- $Headers = $parserObj->get_CSVheaders();
70
- $Headers = $Headers[0];
71
- global $wpdb;
72
- if($istemplate == 'no'){
73
- $backlink = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=sm-uci-import');
74
- $actionURL = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=media_config&istemplate=no&eventkey='.$_REQUEST['eventkey']);
75
- }else{
76
- $backlink = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=suggested_template&eventkey='.$_REQUEST['eventkey']);
77
- $actionURL = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=media_config&eventkey='.$_REQUEST['eventkey']);
78
- }
79
- $templateName = '';
80
- if(isset($_REQUEST['templateid'])) {
81
- $templateInfo = $wpdb->get_results($wpdb->prepare("select templatename, mapping from wp_ultimate_csv_importer_mappingtemplate where id = %d", $_REQUEST['templateid']));
82
- $template_mapping = maybe_unserialize($templateInfo[0]->mapping);
83
- $templateName = $templateInfo[0]->templatename;
84
- $actionURL .= '&templateid=' . intval($_REQUEST['templateid']);
85
- $backlink .= '&templateid=' . intval($_REQUEST['templateid']);
86
- }
87
- if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'edit') {
88
- $templateInfo = $wpdb->get_results($wpdb->prepare("select templatename, mapping from wp_ultimate_csv_importer_mappingtemplate where eventKey = %s", $_REQUEST['eventkey']));
89
- $template_mapping = maybe_unserialize($templateInfo[0]->mapping);
90
- $templateName = $templateInfo[0]->templatename;
91
- }
92
- ?>
93
- <?php
94
- $normal = 'active'; $advanced = '';
95
- if(isset($_REQUEST['mapping_type']) && $_REQUEST['mapping_type'] == 'normal') {
96
- $normal = 'active';
97
- $advanced = '';
98
- } elseif(isset($_REQUEST['mapping_type']) && $_REQUEST['mapping_type'] == 'advanced') {
99
- $normal = '';
100
- $advanced = 'active';
101
- }
102
- ?>
103
- <div class="col-md-6 col-md-offset-3">
104
- <ul class="mapping-switcher">
105
- <li class="<?php echo $normal; ?>" onclick="mapping_type('normal');">Advanced Mode</li>
106
- <li class="<?php echo $advanced; ?>" onclick="mapping_type('advanced');">Drag & Drop Mode</li>
107
- </ul>
108
- </div>
109
- <div class="clearfix"></div>
110
-
111
-
112
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
113
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank">Documentation</a></div>
114
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank">Sample CSV</a></div>
115
- </div>
116
-
117
- <div class="template_body wp_ultimate_csv_importer_pro whole_body" style="margin-top: 40px;">
118
- <div>
119
- <h3 style="margin-left:2%;" class="csv-importer-heading"><?php echo esc_html__('Mapping Section','wp-ultimate-csv-importer');?></h3>
120
- </div>
121
- <form id = "mapping_section" method="post" action="<?php echo $actionURL;?>">
122
- <?php wp_nonce_field('sm-uci-import'); ?>
123
-
124
- <div id='wp_warning' style = 'display:none;' class = 'error'></div>
125
- <?php $import_mode = $get_records[sanitize_key($_REQUEST['eventkey'])]['import_file']['import_mode']; ?>
126
- <div class="mapping_table">
127
- <?php
128
- $profeatures = array('acf_pro_fields','acf_fields','acf_repeater_fields','types_custom_fields','cctm_custom_fields','pods_custom_fields','yoast_seo_fields');
129
- $integrations = $uci_admin->available_widgets($import_type, $importAs);
130
- if(!empty($integrations)) :
131
- foreach($integrations as $widget_name => $plugin_file) {
132
- $widget_slug = strtolower(str_replace(' ', '_', $widget_name));
133
- if(in_array($widget_slug,$profeatures)){
134
- $upgrade_pro = '<span style="background-color: #ec3939 !important;float:right;font-size:14px;" class="new badge">Upgrade to Pro</span>';
135
- $fields = '';
136
- }else{
137
- $upgrade_pro = '';
138
- $fields = $uci_admin->get_widget_fields($widget_name, $import_type, $importAs);
139
- }
140
- ?>
141
- <div class="panel-group" id='accordion'>
142
- <div class='panel panel-default' data-target="#<?php echo $widget_slug;?>" data-parent="#accordion">
143
- <div id='<?php echo $widget_slug;?>' class='panel-heading' style='width:100%' onclick="toggle_func('<?php echo $widget_slug;?>');">
144
- <div id= "corehead" class="panel-title"> <b style=""> <?php if($widget_name == 'Core Fields'){ echo 'WordPress Fields'; } else { echo $widget_name; } ?> </b>
145
- <span class = 'glyphicon glyphicon-plus' id = '<?php echo 'icon'.$widget_slug ?>' style="float:right;"> </span>
146
- <?php echo $upgrade_pro; ?>
147
- </div>
148
- </div>
149
- <div id= '<?php echo $widget_slug;?>toggle' style="height:auto;">
150
- <div class="grouptitlecontent " id="corefields_content">
151
- <table class='table table-mapping custom_table' id='<?php echo $widget_slug;?>_table' style='font-size: 12px;margin-bottom:0px;' id='$tableid'>
152
- <tbody>
153
- <tr>
154
- <?php if($import_mode != 'new_items') { ?>
155
- <td style='width:10%;padding:15px;'>
156
- <input type='checkbox' name = 'name<?php print($plugin_file); ?>' id = 'id<?php print($plugin_file); ?>' onClick="select_All(this.id,'<?php print($plugin_file);?>','<?php print($widget_slug);?>')">
157
- </td>
158
- <?php } ?>
159
- <td class='columnheader mappingtd_style'><label class='groupfield'><?php echo esc_html__('WP Fields','wp-ultimate-csv-importer');?></label></td>
160
- <td class='columnheader mappingtd_style'><label class='groupfield'><?php echo esc_html__('CSV Header','wp-ultimate-csv-importer');?></label></td>
161
- <td style='width:20%;'></td>
162
- <td style='width:30%;'></td>
163
- </tr>
164
- <div>
165
- <?php
166
- $CORE_count = 0; $mappingcount = 0;
167
- if(!empty($fields)){
168
- foreach($fields as $key => $value) {
169
- $prefix = $key;
170
- foreach ($value as $key1 => $value1) {
171
- $label = $value1['label'];
172
- $name = $value1['name']; ?>
173
- <tr id='<?php print($prefix); ?>_tr_count<?php print($CORE_count); ?>'>
174
- <td id='<?php print ($prefix); ?>_tdg_count<?php print($CORE_count); ?>' class='left_align' style='width:20%;'>
175
- <label class='wpfields'> <?php print('<b style="">'.$label.'</b></label><br><label class="samptxt">[Name: '.$name.']'); ?> </label>
176
- <input type='hidden' name='<?php echo $key . '__fieldname' . $mappingcount; ?>' id='<?php echo $key . '__fieldname' . $mappingcount; ?>' value='<?php echo $name; ?>' class='hiddenclass'/>
177
- </td>
178
- <td class="mappingtd_style">
179
- <div id="headerlist" class="">
180
- <div class = "mapping-select-div">
181
- <select class="selectpicker" id="<?php print($prefix); ?>__mapping<?php print($mappingcount); ?>" style="height:25px;" name="<?php print($prefix); ?>__mapping<?php print($mappingcount); ?>" onchange="enable_mapping_fields('<?php echo $prefix; ?>', '<?php echo $mappingcount; ?>', this.id);">
182
- <option value="--select--"> --select-- </option>
183
- <?php foreach ($Headers as $csvkey => $csvheader) {
184
- if(!empty($template_mapping[$key])) {
185
- $mapping_selected = null;
186
- if(array_key_exists($name,$template_mapping[$key]) && $csvheader == $template_mapping[$key][$name]) {
187
- $mapping_selected = 'selected'; ?>
188
- <?php
189
- } ?>
190
- <option value="<?php echo $csvheader; ?>" <?php echo $mapping_selected;?>> <?php echo $csvheader; ?> </option>
191
- <?php } else {
192
- if(!empty($mapping_screendata[$key])){
193
- if(array_key_exists($name,$mapping_screendata[$key]) && $csvheader == $mapping_screendata[$key][$name]){
194
- $mapping_selected = 'selected'; ?>
195
-
196
- <option value="<?php echo $csvheader; ?>" <?php echo $mapping_selected;?>> <?php echo $csvheader; ?> </option>
197
- <?php }
198
- }
199
- if($name == $csvheader) {?>
200
- <option value="<?php print($csvheader); ?>" selected><?php print($csvheader); ?> </option>
201
- <?php
202
- } else { ?>
203
- <option value="<?php echo $csvheader; ?>"><?php echo $csvheader; ?> </option>
204
- <?php }
205
- }
206
- }?>
207
- <option value="header_manip">Header Manipulation</option>
208
- </select></div>
209
- </div>
210
- </td>
211
- <td class="mappingtd_style"></td>
212
- <td><div class="mapping-static-formula-group">
213
- <span title='Static' style='margin-right:15px;' id='<?php echo $prefix; ?>_staticbutton_mapping<?php echo $mappingcount; ?>' onclick="static_method(this.id, '<?php echo $prefix; ?>', '<?php echo $mappingcount; ?>', null)"><img style="margin-right:15px;" src="<?php echo plugins_url().'/'.SM_UCI_SLUG ;?>/assets/images/static.png" width="24" height="24" /></span>
214
- <span title='Formula' style='margin-right:15px;' id='<?php echo $prefix; ?>_formulabutton_mapping<?php echo $mappingcount; ?>' onclick="formula_method(this.id, '<?php echo $prefix; ?>', '<?php echo $mappingcount; ?>', null)"><img src="<?php echo plugins_url().'/'.SM_UCI_SLUG ;?>/assets/images/formula.png" width="24" height="24" /></span></div>
215
- <div class="mapping-select-close-div" id="<?php echo $prefix; ?>_customdispdiv_mapping<?php echo $mappingcount; ?>" style='height:246px;padding:8px;display:none;width:300px;border:3px solid #2ea2cc;margin-top:5px;position:absolute;background-color:#ffffff;z-index:99;'></div>
216
- </td>
217
- </tr>
218
- <?php
219
- if(!empty($template_mapping[$key][$name])) {
220
- if(preg_match_all("/({([a-z A-Z 0-9 | , _ -]+)(.*?)(}))/", $template_mapping[$key][$name], $results, PREG_PATTERN_ORDER)) { ?>
221
- <script>
222
- var dropdownid = '<?php echo $prefix.'__mapping'.$mappingcount;?>';
223
- document.getElementById(dropdownid).value = 'header_manip';
224
- var buttonid = '<?php echo $prefix.'_staticbutton_mapping'.$mappingcount;?>';
225
- var staticheader = '<?php echo $template_mapping[$key][$name];?>';
226
- static_method(buttonid,'<?php echo $prefix;?>','<?php echo $mappingcount;?>',staticheader);
227
- </script>
228
- <?php } elseif(preg_match_all("/({([\w]+)(.*?)(}))/", $template_mapping[$key][$name], $results, PREG_PATTERN_ORDER)) { ?>
229
- <script>
230
- var dropdownid = '<?php echo $prefix.'__mapping'.$mappingcount;?>';
231
- document.getElementById(dropdownid).value = 'header_manip';
232
- var buttonid = '<?php echo $prefix.'_formulabutton_mapping'.$mappingcount;?>';
233
- var formulaheader = '<?php echo $template_mapping[$key][$name];?>';
234
- formula_method(buttonid,'<?php echo $prefix;?>','<?php echo $mappingcount;?>',formulaheader);
235
- </script>
236
- <?php }
237
- }
238
- $CORE_count++;
239
- $mappingcount++;
240
- }
241
- }
242
- }?>
243
- </tbody>
244
- </table>
245
- <input type='hidden' id='<?php echo $widget_slug;?>_count' value= '<?php echo $CORE_count; ?>'>
246
- <?php
247
- if($widget_slug=='wordpress_custom_fields'|| $widget_slug=='acf_pro_fields'|| $widget_slug=='acf_fields' || $widget_slug=='types_custom_fields' || $widget_slug=='pods_custom_fields') {
248
-
249
- ?>
250
-
251
- <div class="customfield_btndiv">
252
-
253
- </div>
254
- <?php } ?>
255
- </div>
256
- </div>
257
- </div>
258
- </div>
259
- <script>
260
- var id = '<?php echo $widget_slug;?>'+'toggle';
261
- if(id != 'core_fieldstoggle') {
262
- jQuery('#'+id).hide();
263
- } else {
264
- jQuery("#iconcore_fields").attr('class','glyphicon glyphicon-minus')
265
- }
266
- </script>
267
- <?php
268
- }
269
-
270
- endif;
271
- $save_templatename = '';
272
- if($save_templatename == '' && $templateName == '') {
273
- $filename = isset($get_records[$eventKey]['import_file']['uploaded_name']) ? $get_records[$eventKey]['import_file']['uploaded_name'] : '';
274
- $file_extension = pathinfo($filename,PATHINFO_EXTENSION);
275
- $file_extn = '.'.$file_extension;
276
- $filename = explode($file_extn, $filename);
277
- $templateName = $filename[0];
278
- }
279
-
280
- ?>
281
- </div>
282
- <div class="col-md-12 mt20">
283
- <!-- back btn -->
284
- <div class="pull-left">
285
- <a class="smack-btn btn-default btn-radius" href="<?php echo $backlink;?>">Back</a>
286
- <!-- <input type="button" class="btn-link mapping_backbtn" value="<?php echo esc_attr__('Back','wp-ultimate-csv-importer');?>"> back btn end -->
287
- </div>
288
- <!--continue btn -->
289
- <div class="pull-right">
290
- <input type="button" class="smack-btn smack-btn-primary btn-radius" value="<?php echo esc_attr__('Continue','wp-ultimate-csv-importer'); ?>" onclick="save_template('<?php echo $import_type;?>');" />
291
- <!-- continue btn end -->
292
- </div>
293
- </div>
294
- <div class="clearfix"></div>
295
- <div class="mb20"></div>
296
- <input type="hidden" name="smack_uci_mapping_method" value="<?php if(isset($_REQUEST['mapping_type'])) echo sanitize_title($_REQUEST['mapping_type']); ?>">
297
-
298
- </form>
299
- </div>
300
- <input type='hidden' id='h1' name='h1' value='<?php if (isset($mappingcount)) { echo $mappingcount; } ?>'/>
301
-
302
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-media-handling.php DELETED
@@ -1,191 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- global $uci_admin;
41
- if($_POST) {
42
- $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
43
- $records['mapping_config'] = $_POST;
44
- $auto_save_template = isset($_POST['template']) ? sanitize_text_field($_POST['template']) : '';
45
- $post_values = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
46
- $result = array_merge($post_values[$_REQUEST['eventkey']], $records);
47
- $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $result);
48
- #NOTE: Removed save mapping template feature
49
- }
50
- if(isset($_REQUEST['istemplate']) && sanitize_title($_REQUEST['istemplate']) == 'no') {
51
- $actionURL = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=import_config&istemplate=no&eventkey='.$_REQUEST['eventkey']);
52
- $backlink = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=mapping_config&istemplate=no&eventkey='.$_REQUEST['eventkey']);
53
- } else {
54
- $actionURL = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=import_config&eventkey='.$_REQUEST['eventkey']);
55
- $backlink = esc_url(admin_url() . 'admin.php?page=sm-uci-import&step=mapping_config&eventkey='.$_REQUEST['eventkey']);
56
- }
57
- if(isset($_REQUEST['templateid'])) {
58
- $actionURL .= '&templateid=' . intval($_REQUEST['templateid']);
59
- $backlink .= '&templateid=' . intval($_REQUEST['templateid']);
60
- }
61
- $records = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
62
- ?>
63
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
64
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimate-csv-importer');?></a></div>
65
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimate-csv-importer');?></a></div>
66
- </div>
67
-
68
- <div class="template_body whole_body wp_ultimate_csv_importer_pro" style="margin-top: 40px;">
69
- <form class="form-inline" method="post" action="<?php echo $actionURL;?>">
70
- <?php wp_nonce_field('sm-uci-import'); ?>
71
-
72
- <div id='wp_warning' style = 'display:none;' class = 'error'></div>
73
- <h3 class="media_head csv-importer-heading"><?php echo esc_html__('Media Handling','wp-ultimate-csv-importer');?></h3>
74
- <input type="hidden" id="eventkey" name="eventkey" value="<?php echo sanitize_text_field($_REQUEST['eventkey']); ?>" />
75
- <!-- table div start --> <div class="media_data">
76
- <!-- tr div start <div>-->
77
-
78
- <div class="col-md-12">
79
- <fieldset class="scheduler-border"> <legend class="scheduler-border" style="margin-top:20px;"><?php echo esc_html__('Image Handling','wp-ultimate-csv-importer');?></legend>
80
- <!-- </div> tr div end -->
81
- <!-- tr div start <div>-->
82
- <div class="col-md-12">
83
- <div class="col-xs-0 col-xs-offset-0 col-sm-7 col-md-6 col-md-offset-1"><label class="external_img_label"><?php echo esc_html__('Download external images to your media','wp-ultimate-csv-importer');?></label></div>
84
- <div id='divtd' class="col-xs-6 col-sm-3 col-md-3 col-md-offset-0 col-xs-offset-1">
85
-
86
- <!-- first button -->
87
- <input id="image-handling-btn" type='checkbox' class="tgl tgl-skewed noicheck" name='download_img_tag_src' id='download_imgon' value='on' checked="checked" style="display:none" onclick="saveoptions(this.id, this.name);" />
88
- <label data-tg-off="OFF" data-tg-on="ON" for="image-handling-btn" id="download_on" class="tgl-btn" >
89
- </label>
90
- <!-- first btn -->
91
- </div></div>
92
- <div class="col-md-12 mb20" id="image-handling-btn-opt">
93
-
94
- <div class="col-md-offset-2 col-sm-offset-1"><label class="external_img_label"><input type="radio" class="upgrade_pro_checkbox" name="imageprocess" id="use_existing_images" value="use_existing_images" onclick="displayselect(this.id);"><?php echo esc_html__('Use media images if already available','wp-ultimate-csv-importer');?></label></div>
95
- <div class="col-md-offset-2 col-sm-offset-1"><label class="external_img_label"><input type="radio" class="upgrade_pro_checkbox" name="imageprocess" id="overwrite_existing_images" value="overwrite_existing_images" onclick="displayselect(this.id);"><?php echo esc_html__('Do you want to overwrite the existing images','wp-ultimate-csv-importer');?></label></div>
96
- </div>
97
- <?php if(in_array('nextgen-gallery/nggallery.php', $uci_admin->getActivePlugins())) { ?>
98
- <div class="col-md-12 mt20">
99
- <div class="col-xs-0 col-xs-offset-0 col-sm-7 col-md-6 col-md-offset-1">
100
- <label class="external_img_label"><?php echo esc_html__('NextGEN Gallery support on featured image', 'wp-ultimate-csv-importer')?></label>
101
- </div>
102
- <div id='divtd' class="col-xs-6 col-sm-3 col-xs-offset-1 col-md-3 col-md-offset-0">
103
- <!-- second button code -->
104
- <input id="gallery-support-btn" type='checkbox' class="tgl tgl-skewed noicheck" name='nextgen_featured_image' id='download_imgon' style="display:none" onclick="saveoptions(this.id, this.name);" />
105
- <label data-tg-off="OFF" data-tg-on="ON" for="gallery-support-btn" id="download_on" class="tgl-btn" >
106
- </label>
107
- </div>
108
- </div> <!-- container div close </div>-->
109
- <?php } ?>
110
- </fieldset></div>
111
- <div class="col-md-12">
112
- <fieldset class="scheduler-border"> <legend class="scheduler-border" style="margin-top:20px;">Image Sizes</legend>
113
- <div class="row">
114
- <div class="col-xs-6 col-xs-offset-0 col-sm-3 col-sm-offset-1 col-md-2 col-md-offset-1"><label class="wp_img_size"><input class="upgrade_pro_checkbox" type="checkbox" name="media_thumbnail_size" id="thumbnail_size" value="on" checked="checked"><?php echo esc_html__('Thumbnail','wp-ultimate-csv-importer');?></label></div>
115
- <div class="col-xs-6 col-xs-offset-0 col-sm-3 col-sm-offset-0 col-md-2 col-md-offset-0"><label class="wp_img_size"><input class="upgrade_pro_checkbox" type="checkbox" name="media_medium_size" id="medium_size" ><?php echo esc_html__('Medium','wp-ultimate-csv-importer');?></label></div>
116
- <div class="col-xs-6 col-sm-3 col-sm-offset-0 col-md-3 col-md-offset-0"><label class="wp_img_size"><input class="upgrade_pro_checkbox" type="checkbox" name="media_medium_large_size" id="medium_large_size"><?php echo esc_html__('Medium Large','wp-ultimate-csv-importer');?></label></div>
117
- <div class="col-xs-6 col-sm-3 col-sm-offset-0 col-md-2"><label class="wp_img_size"><input class="upgrade_pro_checkbox" type="checkbox" name="media_large_size" id="large_size" ><?php echo esc_html__('Large','wp-ultimate-csv-importer');?></label></div>
118
- </div>
119
- <!--<div> tr div end -->
120
- <!-- add custom -->
121
- <div class="col-md-12">
122
- <div class="col-md-offset-1 mt20">
123
- <table class="table">
124
- <thead>
125
- </thead>
126
- <tbody id="TextBoxContainer">
127
- </tbody>
128
- <tfoot>
129
- <tr>
130
- <th colspan="2">
131
- <p id="custom-size-add" class="smack-btn smack-btn-info" style="cursor: pointer;color:#008080;font-size:15px;"><i class="icon-circle-plus"></i>&nbsp;<?php echo esc_html__('Add custom sizes','wp-ultimate-csv-importer');?></p></th>
132
- </tr>
133
- </tfoot>
134
- </table>
135
- </div></div>
136
- </fieldset></div>
137
- <!-- </div> tr div end -->
138
- <!-- image hole div end -->
139
- <!-- advanced media option start -->
140
- <!-- tr div start <div>-->
141
- <div class="col-md-12"><fieldset class="scheduler-border"> <legend class="scheduler-border" style="margin-top:20px;"><?php echo esc_html__('Media SEO & Advanced Options','wp-ultimate-csv-importer');?></legend>
142
- <!-- </div> tr div end -->
143
- <!-- tr div start <div>-->
144
- <div class="col-md-12">
145
- <div class="col-xs-12 col-sm-6 col-md-4 col-md-offset-1"><label class="external_img_label"><input class="upgrade_pro_checkbox" type="checkbox" name="media_seo_title" id="media_seo_title" data-key="title" class="media_seo" onclick="enable_media_seo_headers('title');"/><?php echo esc_html__('Set image Title:','wp-ultimate-csv-importer');?></label></div>
146
- <div class="col-xs-12 col-sm-6 col-md-3 mb10"><?php print( $uci_admin->getCSVHeader('title') ); ?></div>
147
- </div>
148
- <!-- </div> tr div end -->
149
- <!-- tr div start <div>-->
150
- <div class="col-md-12">
151
- <div class="col-xs-12 col-sm-6 col-md-4 col-md-offset-1">
152
- <label class="external_img_label"><input class="upgrade_pro_checkbox" type="checkbox" name="media_seo_caption" id="media_seo_caption" data-key="caption" class="media_seo" onclick="enable_media_seo_headers('caption');"/><?php echo esc_html__('Set image Caption:','wp-ultimate-csv-importer');?></label></div>
153
- <div class="col-xs-12 col-sm-6 col-md-3 mb10 "><?php print( $uci_admin->getCSVHeader('caption') ); ?></div>
154
- </div>
155
- <!-- </div> tr div end -->
156
- <!-- <div> tr div start -->
157
- <div class="col-md-12">
158
- <div class="col-xs-12 col-sm-6 col-md-4 col-md-offset-1">
159
- <label class="external_img_label"><input class="upgrade_pro_checkbox" type="checkbox" name="media_seo_alttext" id="media_seo_alttext" data-key="alttext" class="media_seo" onclick="enable_media_seo_headers('alttext');"/><?php echo esc_html__('Set image Alt Text:','wp-ultimate-csv-importer');?></label></div>
160
- <div class="col-xs-12 col-sm-6 col-md-3 mb10"><?php print( $uci_admin->getCSVHeader('alttext') ); ?></div>
161
- </div>
162
- <!-- </div> tr div end -->
163
- <!-- tr div start <div>-->
164
- <div class="col-md-12">
165
- <div class="col-xs-12 col-sm-6 col-md-4 col-md-offset-1"><label class="external_img_label"><input class="upgrade_pro_checkbox" type="checkbox" name="media_seo_description" data-key="description" class="media_seo" id="media_seo_description" onclick="enable_media_seo_headers('description');"/><?php echo esc_html__('Set image Description:','wp-ultimate-csv-importer');?></label></div>
166
- <div class="col-xs-12 col-sm-6 col-md-3 mb10"> <?php print( $uci_admin->getCSVHeader('description') ); ?></div>
167
- </div>
168
- <!-- </div> tr div end -->
169
- <!-- <div> tr div start -->
170
- <div class="col-md-12">
171
- <div class="col-xs-12 col-sm-6 col-md-4 col-md-offset-1"><label class="external_img_label"><input class="upgrade_pro_checkbox" type="checkbox" name="change_media_file_name" class="media_seo" data-key="imageName" id="change_media_file_name" onclick="enable_media_seo_headers('imageName');"><?php echo esc_html__('Change image file name to:','wp-ultimate-csv-importer');?></label></div>
172
- <div class="col-xs-12 col-sm-6 col-md-3 mb10"><?php print( $uci_admin->getCSVHeader('imageName') ); ?></div>
173
- </div>
174
- <!-- </div> tr div end -->
175
- </fieldset></div>
176
- <!-- advanced media option end -->
177
- <!-- table div end --> </div>
178
- <div class="clearfix"></div>
179
- <div class="col-md-12 mt15 mb15">
180
- <div class="pull-left">
181
- <a class="smack-btn btn-default btn-radius" href="<?php echo $backlink;?>"><?php echo esc_html__('Back','wp-ultimate-csv-importer');?></a></div>
182
- <div class="pull-right">
183
- <input type="submit" class="smack-btn smack-btn-primary btn-radius" value="<?php echo esc_attr__('Continue','wp-ultimate-csv-importer');?>">
184
- </div>
185
- </div>
186
- <div class="clearfix"></div>
187
- <div class="mb20"></div>
188
- </form>
189
- </div>
190
-
191
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-schedule-manager.php DELETED
@@ -1,57 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- ?>
41
-
42
- <div class="wp_ultimate_csv_importer_pro bigform-content">
43
- <div class="bhoechie-tab-content active" id="division5" style="width: 100%;text-align: center;margin-top: 30%;font-size: 2.2em;color: red;">
44
- <?php echo esc_html__('This feature is only available in PRO.','wp-ultimate-csv-importer');?>
45
- </div>
46
- </div>
47
- <script>
48
- jQuery(document).ready(function () {
49
- var i;
50
- for(i=1; i<5; i++) {
51
- jQuery('#'+i).addClass("bg-leftside");
52
- jQuery('#'+i).removeClass("selected");
53
- }
54
- jQuery('#2').addClass("selected");
55
- jQuery('#2').removeClass("bg-leftside");
56
- });
57
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-settings-view.php DELETED
@@ -1,542 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- global $wp_version, $wpdb;
41
- $ucisettings = get_option('sm_uci_pro_settings');
42
- $ucioptimize = get_option('sm_uci_pro_optimization');
43
- $droptable = isset($ucisettings['drop_table']) ? $ucisettings['drop_table'] : '';
44
- $schedule_mail = isset($ucisettings['send_log_email']) ? $ucisettings['send_log_email'] : '';
45
- $main_mode = isset($ucisettings['enable_main_mode']) ? $ucisettings['enable_main_mode'] : '';
46
- $maintenance_text = isset($ucisettings['main_mode_text']) ? $ucisettings['main_mode_text'] : '';
47
- $send_password = isset($ucisettings['send_user_password']) ? $ucisettings['send_user_password'] : '';
48
- $woocomattr = isset($ucisettings['woocomattr']) ? $ucisettings['woocomattr'] : '';
49
- $author_editor_access = isset($ucisettings['author_editor_access']) ? $ucisettings['author_editor_access'] : '';
50
- if(!empty($droptable)){
51
- if($droptable == 'on'){
52
- $data['drop_on'] = 'enablesetting';
53
- $data['drop_off'] = 'disablesetting';
54
- $data['dropon_status'] = 'checked';
55
- $data['dropoff_status'] = '';
56
- $drop_table_status = "checked='checked'";
57
- } else{
58
- $data['drop_off'] = 'enablesetting';
59
- $data['drop_on'] = 'disablesetting';
60
- $data['dropon_status'] = '';
61
- $data['dropoff_status'] = 'checked';
62
- $drop_table_status = "";
63
- }
64
- }
65
- else
66
- $drop_table_status = "";
67
-
68
- if(!empty($schedule_mail)){
69
- if($schedule_mail == 'on'){
70
- $data['mail_on'] = 'enablesetting';
71
- $data['mail_off'] = 'disablesetting';
72
- $data['mailon_status'] = 'checked';
73
- $data['mailoff_status'] = '';
74
- }else{
75
- $data['mail_off'] = 'enablesetting';
76
- $data['mail_on'] = 'disablesetting';
77
- $data['mailon_status'] = '';
78
- $data['mailoff_status'] = 'checked';
79
- }
80
- }
81
- if(!empty($main_mode)){
82
- if($main_mode == 'on'){
83
- $data['maintenance_on'] = 'enablesetting';
84
- $data['maintenance_off'] = 'disablesetting';
85
- $data['maintenance_status'] = 'checked';
86
- $data['maintenance_status'] = '';
87
- $main_mode = "checked='checked'";
88
- $mainmode_hide = '';
89
- } else {
90
- $data['maintenance_off'] = 'enablesetting';
91
- $data['maintenance_on'] = 'disablesetting';
92
- $data['maintenance_status'] = '';
93
- $data['maintenance_status'] = 'checked';
94
- $main_mode = "";
95
- $mainmode_hide = 'hidden';
96
- }
97
- }
98
- else{
99
- $mainmode_hide = 'hidden';
100
- }
101
- if(!empty($send_password)){
102
- if($send_password == 'on'){
103
- $data['mail_on'] = 'enablesetting';
104
- $data['mail_off'] = 'disablesetting';
105
- $data['mailon_status'] = 'checked';
106
- $data['mailoff_status'] = '';
107
- $send_password = "checked='checked'";
108
- } else {
109
- $data['mail_off'] = 'enablesetting';
110
- $data['mail_on'] = 'disablesetting';
111
- $data['mailon_status'] = '';
112
- $data['mailoff_status'] = 'checked';
113
- $send_password = "";
114
- }
115
- }
116
- if(!empty($woocomattr)){
117
- if($woocomattr == 'on'){
118
- $data['wooattr_on'] = 'enablesetting';
119
- $data['wooattr_off'] = 'disablesetting';
120
- $data['wooon_status'] = 'checked';
121
- $data['woooff_status'] = '';
122
-
123
- }else{
124
- $data['wooattr_off'] = 'enablesetting';
125
- $data['wooattr_on'] = 'disablesetting';
126
- $data['wooon_status'] = '';
127
- $data['woooff_status'] = 'checked';
128
- }
129
- }
130
- if(!empty($author_editor_access)){
131
- if($author_editor_access == 'on'){
132
- $data['access_on'] = 'enablesetting';
133
- $data['access_off'] = 'disablesetting';
134
- $data['accesson_status'] = 'checked';
135
- $data['accessoff_status'] = '';
136
- $author_editor_access = "checked='checked'";
137
- }else{
138
- $data['access_off'] = 'enablesetting';
139
- $data['access_on'] = 'disablesetting';
140
- $data['accesson_status'] = '';
141
- $data['accessoff_status'] = 'checked';
142
- $author_editor_access = "";
143
- }
144
- }
145
- //database optimization
146
- if(isset($ucioptimize['delete_all_orphaned_post_page_meta'])) {
147
- $delete_all_post_page = $ucioptimize['delete_all_orphaned_post_page_meta'];
148
- } else {
149
- $delete_all_post_page = '';
150
- }
151
- if(isset($ucioptimize['delete_all_unassigned_tags'])) {
152
- $delete_all_unassigned_tag = $ucioptimize['delete_all_unassigned_tags'];
153
- } else {
154
- $delete_all_unassigned_tag = '';
155
- }
156
- if(isset($ucioptimize['delete_all_post_page_revisions'])) {
157
- $delete_all_page_revisions = $ucioptimize['delete_all_post_page_revisions'];
158
- } else {
159
- $delete_all_page_revisions = '';
160
- }
161
- if(isset($ucioptimize['delete_all_auto_draft_post_page'])) {
162
- $delete_all_auto_draft_page = $ucioptimize['delete_all_auto_draft_post_page'];
163
- } else {
164
- $delete_all_auto_draft_page = '';
165
- }
166
- if(isset($ucioptimize['delete_all_post_page_in_trash'])) {
167
- $delete_all_post_page_trash = $ucioptimize['delete_all_post_page_in_trash'];
168
- } else {
169
- $delete_all_post_page_trash = '';
170
- }
171
- if(isset($ucioptimize['delete_all_spam_comments'])) {
172
- $delete_all_spam_comments = $ucioptimize['delete_all_spam_comments'];
173
- } else {
174
- $delete_all_spam_comments = '';
175
- }
176
- if(isset($ucioptimize['delete_all_comments_in_trash'])) {
177
- $delete_all_comments_trash = $ucioptimize['delete_all_comments_in_trash'];
178
- } else {
179
- $delete_all_comments_trash = '';
180
- }
181
- if(isset($ucioptimize['delete_all_unapproved_comments'])) {
182
- $delete_all_unapproved_comments = $ucioptimize['delete_all_unapproved_comments'];
183
- } else {
184
- $delete_all_unapproved_comments = '';
185
- }
186
- if(isset($ucioptimize['delete_all_pingback_commments'])) {
187
- $delete_all_pingback_comments = $ucioptimize['delete_all_pingback_commments'];
188
- } else {
189
- $delete_all_pingback_comments = '';
190
- }
191
- if(isset($ucioptimize['delete_all_trackback_comments'])) {
192
- $delete_all_trackback_comments = $ucioptimize['delete_all_trackback_comments'];
193
- } else {
194
- $delete_all_trackback_comments = '';
195
- } ?>
196
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
197
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimate-csv-importer');?></a></div>
198
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimate-csv-importer');?></a></div>
199
- </div>
200
- <div class="whole_body wp_ultimate_csv_importer_pro" style="margin-top: 40px;">
201
- <form id="form_import_file">
202
- <?php wp_nonce_field('sm-uci-import'); ?>
203
- <div class="import_holder" id="import_holder" >
204
- <div class="panel " style="width: 99%;">
205
- <div id="warningsec" style="color:red;width:100%; min-height: 110px;border: 1px solid #d1d1d1;background-color:#fff;display:none;">
206
- <div id ="warning" class="display-warning" style="color:red;align:center;display:inline;font-weight:bold;font-size:15px; border: 1px solid red;margin:2% 2%;padding: 20px 0 20px;position: absolute;text-align: center;width:93%;display:none;"> </div>
207
- </div>
208
- <div class="panel-body no-padding">
209
- <div style="height:300px;" class="col-md-3 setting-manager-list no-padding" id="left_sidebar">
210
- <ul id="example">
211
- <li id='1' class="bg-leftside selected right-arrow" onclick="settings_div_selection(this.id);">
212
- <span class=" icon-settings2"></span>
213
- <span><?php echo esc_html__('General Settings','wp-ultimate-csv-importer');?></span>
214
- </li>
215
- <li id='2' class="bg-leftside" onclick="settings_div_selection(this.id);">
216
- <span class="icon-database" style="margin-top: -10px;"></span>
217
- <span><?php echo esc_html__('Database optimization','wp-ultimate-csv-importer');?></span>
218
- </li>
219
- <li id='3' class="bg-leftside" onclick="settings_div_selection(this.id);">
220
- <span class="icon-lock4" style="margin-top: -10px;"></span>
221
- <span><?php echo esc_html__('Security and Performance','wp-ultimate-csv-importer');?></span>
222
- </li>
223
- <li id='4' class="bg-leftside" onclick="settings_div_selection(this.id);">
224
- <span class="icon-document-movie2" style="font-size: 1.4em; margin-top: -10px;"></span>
225
- <span><?php echo esc_html__('Documentation','wp-ultimate-csv-importer');?></span>
226
- </li>
227
- </ul>
228
- </div>
229
- <div class="col-md-9" id="rightside_content">
230
- <div id="division1">
231
- <h3 class="csv-importer-heading"><?php echo esc_html_e('General Settings','wp-ultimate-csv-importer'); ?></h3>
232
- <div class="col-md-11 col-md-offset-1 mt20 mb40">
233
- <div class="form-group">
234
- <div class="col-xs-12 col-sm-8 col-md-8 nopadding">
235
- <h4 ><?php echo esc_html_e('Drop Table','wp-ultimate-csv-importer'); ?></h4>
236
- <p><?php echo esc_html_e('If enabled plugin deactivation will remove plugin data, this cannot be restored.','wp-ultimate-csv-importer'); ?></p>
237
- </div>
238
- <div class="col-xs-12 col-sm-4 col-md-3">
239
- <div class="mt20">
240
- <!-- Drop Table button -->
241
- <input id="drop_table" type='checkbox' class="tgl tgl-skewed noicheck" name='drop_table' style="display:none;" <?php echo $drop_table_status; ?> onclick="saveoptions(this.id, this.name);" />
242
- <label data-tg-off="NO" data-tg-on="YES" for="drop_table" id="download_on" class="tgl-btn" style="font-size: 16px;" >
243
- </label>
244
- <!-- Drop Table btn End -->
245
- </div>
246
- </div>
247
- </div>
248
- <div class="clearfix"></div>
249
- <div class="form-group mt20">
250
- <div class="col-xs-12 col-sm-8 col-md-8 nopadding">
251
- <h4><?php echo esc_html_e('Scheduled log mails','wp-ultimate-csv-importer'); ?></h4>
252
- <p><?php echo esc_html_e('Enable to get scheduled log mails.','wp-ultimate-csv-importer'); ?></p>
253
- </div>
254
- <div class="col-xs-12 col-sm-4 col-md-3">
255
- <div class="mt20">
256
- <!-- Scheduled log button -->
257
- <input id="send_log_email" type='checkbox' class="tgl tgl-skewed noicheck" name='send_log_email' style="display:none" onclick="pro_feature();" />
258
- <label data-tg-off="NO" data-tg-on="YES" for="send_log_email" id="download_on" class="tgl-btn" style="font-size: 16px;" >
259
- </label>
260
- <!-- Scheduled log btn End -->
261
- </div>
262
- </div>
263
- </div>
264
- <!-- <div class="form-group mt20">
265
- <div class="col-xs-12 col-sm-8 col-md-8 nopadding">
266
- <h4><?php //echo esc_html_e('Maintenance mode','wp-ultimate-csv-importer-pro'); ?></h4>
267
- <p><?php //echo esc_html_e('Enable to maintain your Wordpress site.','wp-ultimate-csv-importer-pro'); ?></p>
268
- </div>
269
- <div class="col-xs-12 col-sm-4 col-md-3">
270
- <div class="mt20">
271
- <input id="enable_main_mode" type='checkbox' class="tgl tgl-skewed noicheck" name='enable_main_mode' <?php //echo $main_mode; ?> style="display:none" onclick="saveoptions(this.id, this.name);" />
272
- <label data-tg-off="NO" data-tg-on="YES" for="enable_main_mode" id="download_on" class="tgl-btn" style="font-size: 16px;" >
273
- </label>
274
- </div>
275
- </div>
276
- </div>
277
- <div class="clearfix"></div>
278
- <div class="form-group mt20" <?php //echo $mainmode_hide; ?> >
279
- <div class="col-xs-12 col-sm-12 col-md-10 nopadding">
280
- <input type="text" id='main_mode_text' class="form-control" name = 'main_mode_text' placeholder = 'Site is under maintenance mode. Please wait few min!' value='<?php //echo $maintenance_text;?>' onblur="saveoptions(this.id, this.name);" >
281
- </div>
282
- </div> -->
283
- <div class="clearfix"></div>
284
- <div class="form-group mt20">
285
- <div class="col-xs-12 col-sm-8 col-md-8 nopadding">
286
- <h4><?php echo esc_html_e('Send password to user','wp-ultimate-csv-importer'); ?></h4>
287
- <p><?php echo esc_html_e('Enable to send password information through email.','wp-ultimate-csv-importer'); ?></p>
288
- </div>
289
- <div class="col-xs-12 col-sm-4 col-md-3">
290
- <div class="mt20">
291
- <!-- Scheduled log button -->
292
- <input id="send_user_password" type='checkbox' class="tgl tgl-skewed noicheck" name='send_user_password' <?php echo $send_password; ?> style="display:none" onclick="saveoptions(this.id, this.name);" />
293
- <label data-tg-off="NO" data-tg-on="YES" for="send_user_password" id="download_on" class="tgl-btn" style="font-size: 16px;" >
294
- </label>
295
- <!-- Scheduled log btn End -->
296
- </div>
297
- </div>
298
- </div>
299
- <div class="clearfix"></div>
300
- <div class="form-group mt20">
301
- <div class="col-xs-12 col-sm-8 col-md-8 nopadding">
302
- <h4 ><?php echo esc_html_e('Woocommerce Custom attribute','wp-ultimate-csv-importer'); ?></h4>
303
- <p><?php echo esc_html_e('Enables to register woocommrce custom attribute.','wp-ultimate-csv-importer'); ?></p>
304
- </div>
305
- <div class="col-xs-12 col-sm-4 col-md-3 mb20">
306
- <div class="mt20">
307
- <!-- Scheduled log button -->
308
- <input id="woocomattr" type='checkbox' class="tgl tgl-skewed noicheck" name='woocomattr' style="display:none" onclick="pro_feature();" />
309
- <label data-tg-off="NO" data-tg-on="YES" for="woocomattr" id="download_on" class="tgl-btn" style="font-size: 16px;" >
310
- </label>
311
- <!-- Scheduled log btn End -->
312
- </div>
313
- </div>
314
- </div>
315
- </div>
316
- </div>
317
- <div id="division2" style="display:none;">
318
- <h3 class="csv-importer-heading"><?php echo esc_html_e('Database Optimization','wp-ultimate-csv-importer'); ?></h3>
319
- <div class="col-md-12 mt30 ">
320
- <div class="bhoechie-tab-content active" id="division5" style="width: 100%;text-align: center;margin-top: 10%;font-size: 2.2em;color: red;">
321
- <?php echo esc_html__('This feature is only available in PRO','wp-ultimate-csv-importer');?>
322
- </div>
323
- </div>
324
- </div>
325
- <div id="division3" style="display:none;">
326
- <h3 class="csv-importer-heading">
327
- <?php echo esc_html_e('Security and Performance','wp-ultimate-csv-importer'); ?>
328
- </h3>
329
- <div style="margin-left: 50px; margin-top: 20px;">
330
- <!-- Allow/author-editor import start-->
331
- <table class="securityfeatures" style="width: 100%">
332
- <tr>
333
- <td>
334
- <h4><?php echo esc_html_e('Allow authors/editors to import','wp-ultimate-csv-importer'); ?></h4>
335
- <p><?php echo esc_html_e('This enables authors/editors to import.','wp-ultimate-csv-importer'); ?></p>
336
- </td>
337
- <td id='divtd'>
338
- <div class="col-xs-12 col-sm-4 col-md-8 mb15">
339
- <div class="mt20">
340
- <!-- Scheduled log button -->
341
-
342
- <input id="author_editor_access" type='checkbox' class="tgl tgl-skewed noicheck" name='author_editor_access' <?php echo $author_editor_access; ?> style="display:none" onclick="saveoptions(this.id, this.name);" />
343
- <label data-tg-off="NO" data-tg-on="YES" for="author_editor_access" id="enableimport" class="tgl-btn" style="font-size: 16px;" >
344
- </label>
345
- <!-- Scheduled log btn End -->
346
- </div>
347
- </div>
348
- </td>
349
- </tr>
350
- </table>
351
- <!-- Allow/author-editor import end-->
352
- <!-- Max/Min required start-->
353
- <table class="table table-striped">
354
- <tr>
355
- <th colspan="3" >
356
- <h4 class="text-danger" ><?php echo esc_html_e('Minimum required php.ini values (Ini configured values)','wp-ultimate-csv-importer'); ?></h4 >
357
- </th>
358
- </tr>
359
- <tr>
360
- <th>
361
- <label><?php echo esc_html_e('Variables','wp-ultimate-csv-importer'); ?></label>
362
- </th>
363
- <th class='ini-configured-values'>
364
- <label><?php echo esc_html_e('System values','wp-ultimate-csv-importer'); ?></label>
365
- </th>
366
- <th class='min-requirement-values'>
367
- <label><?php echo esc_html_e('Minimum Requirements','wp-ultimate-csv-importer'); ?></label>
368
- </th>
369
- </tr>
370
- <tr>
371
- <td><?php echo esc_html_e('post_max_size','wp-ultimate-csv-importer'); ?> </td>
372
- <td class='ini-configured-values'><?php echo ini_get('post_max_size') ?></td>
373
- <td class='min-requirement-values'>10M</td>
374
- </tr>
375
- <tr>
376
- <td><?php echo esc_html_e('auto_append_file','wp-ultimate-csv-importer'); ?></td>
377
- <td class='ini-configured-values'>- <?php echo ini_get('auto_append_file') ?></td>
378
- <td class='min-requirement-values'>-</td>
379
- </tr>
380
- <tr>
381
- <td><?php echo esc_html_e('auto_prepend_file','wp-ultimate-csv-importer'); ?> </td>
382
- <td class='ini-configured-values'>- <?php echo ini_get('auto_prepend_file') ?></td>
383
- <td class='min-requirement-values'>-</td>
384
- </tr>
385
- <tr>
386
- <td><?php echo esc_html_e('upload_max_filesize','wp-ultimate-csv-importer'); ?> </td>
387
- <td class='ini-configured-values'><?php echo ini_get('upload_max_filesize') ?></td>
388
- <td class='min-requirement-values'>2M</td>
389
- </tr>
390
- <tr>
391
- <td><?php echo esc_html_e('file_uploads','wp-ultimate-csv-importer'); ?> </td>
392
- <td class='ini-configured-values'><?php echo ini_get('file_uploads') ?></td>
393
- <td class='min-requirement-values'>1</td>
394
- </tr>
395
- <tr>
396
- <td><?php echo esc_html_e('allow_url_fopen','wp-ultimate-csv-importer'); ?> </td>
397
- <td class='ini-configured-values'><?php echo ini_get('allow_url_fopen') ?></td>
398
- <td class='min-requirement-values'>1</td>
399
- </tr>
400
- <tr>
401
- <td><?php echo esc_html_e('max_execution_time','wp-ultimate-csv-importer'); ?> </td>
402
- <td class='ini-configured-values'><?php echo ini_get('max_execution_time') ?></td>
403
- <td class='min-requirement-values'>3000</td>
404
- </tr>
405
- <tr>
406
- <td><?php echo esc_html_e('max_input_time','wp-ultimate-csv-importer'); ?> </td>
407
- <td class='ini-configured-values'><?php echo ini_get('max_input_time') ?></td>
408
- <td class='min-requirement-values'>3000</td>
409
- </tr>
410
- <tr>
411
- <td><?php echo esc_html_e('max_input_vars','wp-ultimate-csv-importer'); ?> </td>
412
- <td class='ini-configured-values'><?php echo ini_get('max_input_vars') ?></td>
413
- <td class='min-requirement-values'>3000</td>
414
- </tr>
415
- <tr>
416
- <td><?php echo esc_html_e('memory_limit','wp-ultimate-csv-importer'); ?> </td>
417
- <td class='ini-configured-values'><?php echo ini_get('memory_limit') ?></td>
418
- <td class='min-requirement-values'>99M</td>
419
- </tr>
420
- </table>
421
- <!-- Max/Min required end-->
422
- <!-- Extension modules start-->
423
- <h3 class="divinnertitle" colspan="2" ><?php echo esc_html_e('Required to enable/disable Loaders, Extentions and modules:','wp-ultimate-csv-importer'); ?></h3>
424
- <table class="table table-striped">
425
- <?php $loaders_extensions = get_loaded_extensions();?>
426
- <?php if(function_exists('apache_get_modules')){
427
- $mod_security = apache_get_modules();
428
- } ?>
429
- <tr>
430
- <td><?php echo esc_html_e('PDO','wp-ultimate-csv-importer'); ?> </td>
431
- <td><?php if(in_array('PDO', $loaders_extensions)) {
432
- echo '<label style="color:green;">';echo __('Yes','wp-ultimate-csv-importer'); echo '</label>';
433
- } else {
434
- echo '<label style="color:red;">';echo __('No','wp-ultimate-csv-importer'); echo '</label>';
435
- } ?></td>
436
- <td></td>
437
- </tr>
438
- <tr>
439
- <td><?php echo esc_html_e('Curl','wp-ultimate-csv-importer'); ?> </td>
440
- <td><?php if(in_array('curl', $loaders_extensions)) {
441
- echo '<label style="color:green;">';echo __('Yes','wp-ultimate-csv-importer'); echo '</label>';
442
- } else {
443
- echo '<label style="color:red;">';echo __('No','wp-ultimate-csv-importer'); echo '</label>';
444
- } ?></td>
445
- <td></td>
446
- </tr>
447
- <?php if(defined('DISABLE_WP_CRON') && DISABLE_WP_CRON == true) { ?>
448
- <tr>
449
- <td>echo esc_html_e('WP CRON','wp-ultimate-csv-importer'); ?> </td>
450
- <td><?php echo '<label style="color:green;">'; echo __('Disabled','wp-ultimate-csv-importer'); echo '</label>';
451
- ?></td>
452
- <tr>
453
- <?php } ?>
454
- </table>
455
- <!-- Extension modules end-->
456
- <!-- Debug info start-->
457
- <h3 class="divinnertitle" colspan="2" ><?php echo esc_html_e('Debug Information:','wp-ultimate-csv-importer'); ?></h3>
458
- <table class="table table-striped">
459
- <tr>
460
- <td class='debug-info-name'><?php echo esc_html_e('WordPress Version','wp-ultimate-csv-importer'); ?></td>
461
- <td><?php echo $wp_version; ?></td>
462
- <td></td>
463
- </tr>
464
- <tr>
465
- <td class='debug-info-name'><?php echo esc_html_e('PHP Version','wp-ultimate-csv-importer'); ?></td>
466
- <td><?php echo phpversion(); ?></td>
467
- <td></td>
468
- </tr>
469
- <tr>
470
- <td class='debug-info-name'><?php echo esc_html_e('MySQL Version','wp-ultimate-csv-importer'); ?></td>
471
- <td><?php echo $wpdb->db_version(); ?></td>
472
- <td></td>
473
- </tr>
474
- <tr>
475
- <td class='debug-info-name'><?php echo esc_html_e('Server SoftWare','wp-ultimate-csv-importer'); ?></td>
476
- <td><?php echo $_SERVER[ 'SERVER_SOFTWARE' ]; ?></td>
477
- <td></td>
478
- </tr>
479
- <tr>
480
- <td class='debug-info-name'><?php echo esc_html_e('Your User Agent','wp-ultimate-csv-importer'); ?></td>
481
- <td><?php echo $_SERVER['HTTP_USER_AGENT']; ?></td>
482
- <td></td>
483
- </tr>
484
- <tr>
485
- <td class='debug-info-name'><?php echo esc_html_e('WPDB Prefix','wp-ultimate-csv-importer'); ?></td>
486
- <td><?php echo $wpdb->prefix; ?></td>
487
- <td></td>
488
- </tr>
489
- <tr>
490
- <td class='debug-info-name'><?php echo esc_html_e('WP Multisite Mode','wp-ultimate-csv-importer'); ?></td>
491
- <td><?php if ( is_multisite() ) { echo '<label style="color:green;">'; __('Enabled','wp-ultimate-csv-importer'); echo '</label>'; } else { echo '<label style="color:red;">'; __('Disabled','wp-ultimate-csv-importer');echo '</label>'; } ?> </td>
492
- <td></td>
493
- </tr>
494
- <tr>
495
- <td class='debug-info-name'><?php echo esc_html_e('WP Memory Limit','wp-ultimate-csv-importer'); ?></td>
496
- <td><?php echo (int) ini_get('memory_limit'); ?></td>
497
- <td></td>
498
- </tr>
499
- </table>
500
- <!-- Debug info end-->
501
- <div class="clearfix"></div>
502
- <div class="mb20"></div>
503
-
504
- </div>
505
-
506
- </div>
507
- <div id="division4" style="display:none;">
508
- <div class="divtitle">
509
- <h3><?php echo esc_html_e('Documentation','wp-ultimate-csv-importer'); ?></h3>
510
- </div>
511
- <div id ='divdata'>
512
- <div id="video">
513
- <iframe width="560" height="315" src="https://www.youtube.com/embed/GbDlQcbnNJY" frameborder="0" allowfullscreen></iframe>
514
- </div>
515
- <div id="relatedpages">
516
- <h2 id="doctitle"><?php echo esc_html_e('Smackcoders Guidelines','wp-ultimate-csv-importer'); ?> </h2 >
517
- <p> <a href=" https://goo.gl/gbS3fs" target="_blank"> <?php echo __('24 hours FREE Pro Trial','wp-ultimate-csv-importer'); ?> </a> </p>
518
- <p> <a href="https://goo.gl/wy5OCm" target="_blank"> <?php echo __('Live Demo','wp-ultimate-csv-importer'); ?> </a> </p>
519
- <p> <a href="https://goo.gl/KSIEhI" target="_blank"> <?php echo __('Development News','wp-ultimate-csv-importer'); ?> </a> </p>
520
- <p> <a href="https://goo.gl/gbS3fs" target="_blank"><?php echo __('Whats New?','wp-ultimate-csv-importer'); ?> </a> </p>
521
- <p> <a href="https://goo.gl/jdPMW8" target="_blank"><?php echo __(' Documentation','wp-ultimate-csv-importer'); ?> </a> </p>
522
- <p> <a href="https://goo.gl/RzUvqS" target="_blank"> <?php echo __('Youtube Channel','wp-ultimate-csv-importer'); ?> </a> </p>
523
- <p> <a href="https://goo.gl/tcDgx4" target="_blank"><?php echo __(' Other WordPress Plugins','wp-ultimate-csv-importer'); ?> </a> </p>
524
- </div>
525
- </div>
526
- </div>
527
- </div>
528
- </div>
529
- </div>
530
- <div class="clearfix"></div>
531
- </div>
532
- </form>
533
- </div>
534
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
535
- <script>
536
- jQuery(function () {
537
- //getting click event to show modal
538
- jQuery('#database_optimization').click(function () {
539
- jQuery('.myModals').modal();
540
- });
541
- });
542
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-shortcode-manager.php DELETED
@@ -1,115 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- ?>
41
- <div align="center">
42
- <div class = "title">
43
- <h3>Shortcodes Data</h3>
44
- </div>
45
- <div>
46
- <table class="manager_table">
47
- <tr style="width:100px">
48
- <th width="10%"><input type="checkbox" id="selectAllid" name="selectAllid"></th>
49
- <th width="48%"><h3 id="row-title">File Info</h3></th>
50
- <th width="26%"><h3 id="row-title">Image Info</h3></th>
51
- <th><h3 id="row-title">Status</h3></th>
52
- </tr>
53
- </table>
54
- <hr />
55
- </div>
56
- <div style="height:450px;overflow-y:scroll;">
57
- <table class="manager_table">
58
- <?php for($i = 0;$i<10;$i++){?>
59
- <tbody onmouseover = "show_fileEvents(<?php echo $i;?>);" onmouseout="hide_fileEvents(<?php echo $i;?>);">
60
- <tr>
61
- <td><input type="checkbox" name = "selectAllid" id="selectAllid" /></td>
62
- <td class="schedule-name">File Name</td>
63
- <td>:</td>
64
- <td class = "schedule-filename">post_csv.csv</td>
65
- <td width = "16%">Shortcode Mode</td>
66
- <td>:</td>
67
- <td>Inline</td>
68
- <td>Replaced</td>
69
- </tr>
70
- <tr>
71
- <td></td>
72
- <td>Event Key</td>
73
- <td>:</td>
74
- <td>ddr4553g8992</td>
75
- <td>Module</td>
76
- <td>:</td>
77
- <td colspan="2">Post</td>
78
- </tr>
79
- <tr>
80
- <td></td>
81
- <td>Revision</td>
82
- <td>:</td>
83
- <td>1</td>
84
- <td>No.of.shortcodes</td>
85
- <td>:</td>
86
- <td colspan="2">5</td>
87
- </tr>
88
- <tr id = "file_events<?php echo $i;?>" class="row-links">
89
- <td></td>
90
- <td colspan="6">
91
- Populate |
92
- Update
93
- </td>
94
- </tr>
95
- <tr>
96
- <td colspan="8"><hr /></td>
97
- </tr>
98
- </tbody>
99
- <?php }?>
100
- </table>
101
- </div>
102
- </div>
103
- <script>
104
- jQuery(document).ready(function () {
105
- var i;
106
- jQuery('#4').addClass("selected");
107
- jQuery('#4').removeClass("bg-leftside");
108
- for(i=1;i<=5;i++) {
109
- if(i == 4)
110
- continue;
111
- jQuery('#'+i).addClass("bg-leftside");
112
- jQuery('#'+i).removeClass("selected");
113
- }
114
- });
115
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-static-formula-views.php DELETED
@@ -1,59 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if(!defined('ABSPATH'))
39
- die('Your requested url were wrong! Please contact your admin.');
40
- $group = sanitize_text_field($_REQUEST['group']);
41
- $mapping = sanitize_text_field($_REQUEST['mappingcount']);
42
- $buttonid = sanitize_text_field($_REQUEST['buttonid']);
43
- if ($buttonid == $group.'_staticbutton_mapping'.$mapping) {
44
- $static = "<div id='".$group."_staticdiv_mapping$mapping' style='height:auto;'><textarea rows='4' cols='15' id='".$group."_statictext_mapping$mapping' name='".$group."_statictext_mapping$mapping' style='width:100%' onblur=static_validator(this.id);></textarea>";
45
- $static .= "<p style='margin-top:10px;border-radius:4px;border:1px solid #ddd;padding:10px;'>". __('HINT: Specify the CSV header to be added in between the curley braces({ }).','wp-ultimate-csv-importer')."<br /> ". __('Example: {post_title}','wp-ultimate-csv-importer')."</p>";
46
- $static .= "<a class='smack-btn mapping-close-btn' onclick=static_formula_divclose('".$group."','".$mapping."') style='float:right;color:red;'> ". __('Close','wp-ultimate-csv-importer'). " </a>";
47
- $static .="</div>";
48
- # $static .="<div class='black_overlay' id='".$group."_blur_mapping$mapping'></div>";
49
- print_r($static);
50
- die;
51
- } elseif ($buttonid == $group.'_formulabutton_mapping'.$mapping) {
52
- $formula = "<div id='".$group."_formuladiv_mapping$mapping' ><textarea rows='4' cols='15' id='".$group."_formulatext_mapping$mapping' name='".$group."_formulatext_mapping$mapping' style='width:100%' onblur=formula_validator(this.id);></textarea>";
53
- $formula .= "<p style='margin-top:10px;border-radius:4px;border:1px solid #ddd;padding:7px;'>". __('HINT: Specify operator(+,-,*,/) and CSV header as operand in MATH() within {}.Example: MATH ({product_quantity}/{discount_price})','wp-ultimate-csv-importer')."</p>";
54
- $formula .= "<a class='smack-btn mapping-close-btn' style='float:right;color:red' onclick=static_formula_divclose('".$group."','".$mapping."')>". __('Close','wp-ultimate-csv-importer')."</a> </div>";
55
- print_r($formula);
56
- die;
57
- } else {
58
-
59
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-support-view.php DELETED
@@ -1,101 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
- if ( ! defined( 'ABSPATH' ) )
38
- exit; // Exit if accessed directly
39
- ?>
40
-
41
- <div class="list-inline pull-right mb10 wp_ultimate_csv_importer_pro">
42
- <div class="col-md-6 mt10"><a href="https://goo.gl/jdPMW8" target="_blank"><?php echo esc_html__('Documentation','wp-ultimste-csv-importer');?></a></div>
43
- <div class="col-md-6 mt10"><a href="https://goo.gl/fKvDxH" target="_blank"><?php echo esc_html__('Sample CSV','wp-ultimste-csv-importer');?></a></div>
44
- </div>
45
- <div class="wp_ultimate_csv_importer_pro panel col-md-12" style="font-size:14px; height: 650px;width:99%;">
46
- <div class="col-md-10" style="text-align:center;width:99%;font-size:15px;margin-top:20px;"><?php echo esc_html__('Love WP Ultimate CSV Importer, Give a 5 star review on','wp-ultimate-csv-importer');?> <a style="font-size:15px;" target="_blank" href ="https://wordpress.org/support/plugin/wp-ultimate-csv-importer/reviews/?rate=5#new-post"><?php echo esc_html__('wordpress.org!','wp-ultimate-csv-importer');?></a></div>
47
- <div class="col-md-12">
48
- <div class="col-md-6 col-sm-6 mt40 mb40" style="">
49
- <fieldset class="scheduler-border"> <legend class="scheduler-border" style="margin-top:15px;"><?php echo esc_html__('Contact Support','wp-ultimate-csv-importer');?></legend>
50
- <form class="support-form" type="post" style="margin-top:10px;" action="">
51
- <?php wp_nonce_field('sm-uci-import'); ?>
52
- <div class="form-group">
53
- <label><?php echo esc_html__('Email','wp-ultimate-csv-importer');?></label>
54
- <input name="email" id="email" class="form-control" value="" type="text">
55
- </div>
56
- <div class="form-group">
57
- <label><?php echo esc_html__('Contact type','wp-ultimate-csv-importer');?></label>
58
- <select name="" id="query" class="selectpicker form-control" data-live-search="false">
59
- <option value="Bug Reporting"><?php echo esc_html__('Bug Reporting','wp-ultimate-csv-importer');?></option>
60
- <option value="Pre-Sale Enquiry"><?php echo esc_html__('Pre-Sale Enquiry','wp-ultimate-csv-importer');?></option>
61
- <option value="Feature Enhancement"><?php echo esc_html__('Feature Enhancement','wp-ultimate-csv-importer');?></option>
62
- </select></div>
63
- <div class="form-group">
64
- <label for="comment"><?php echo esc_html__('Message','wp-ultimate-csv-importer');?></label>
65
- <textarea class="form-control" style="height:200px;" rows="5" name="message" id="message"></textarea>
66
- </div>
67
- <div id="loading" style="opacity:0.7;background-color: #fff;z-index: 99;text-align: center;">
68
- <img class="col-md-offset-10 col-sm-offset-9 col-xs-offset-4 mb10" id="loading-image" src="<?php echo plugins_url().'/'.SM_UCI_SLUG ;?>/assets/images/loading.gif" width="24" height="24" alt="Loading" style="display: none;margin-left: 110px;position: absolute;margin-top: 14px;" />
69
- </div>
70
-
71
- <div class="col-md-offset-10 col-sm-offset-9 col-xs-offset-4 mb10">
72
- <input name="" id="send" class="smack-btn smack-btn-primary btn-radius" value="Send" onclick="send_support_email();" type="button" style="margin-top:5px;">
73
- </div>
74
- </form>
75
- </fieldset>
76
- </div>
77
- <div class="col-md-6 col-sm-6 mt40 mb40">
78
- <fieldset class="scheduler-border"> <legend class="scheduler-border" style="margin-top:20px;"><?php echo esc_html__('News Letter Subscription','wp-ultimate-csv-importer');?></legend>
79
- <div class="form-group">
80
- <label><?php echo esc_html__('Email','wp-ultimate-csv-importer');?></label>
81
- <input name="subscribe_email" id="subscribe_email" class="form-control" value="" type="text">
82
- </div>
83
- <div id="loading" style="opacity:0.7;background-color: #fff;z-index: 99;text-align: center;">
84
- <img class="col-md-offset-10 col-sm-offset-9 col-xs-offset-4 mb10" id="loading-img-subs" src="<?php echo plugins_url().'/'.SM_UCI_SLUG ;?>/assets/images/loading.gif" width="24" height="24" alt="Loading" style="display: none;margin-left: 65px;position: absolute;margin-top: 9px;" />
85
- </div>
86
- <div class="col-md-12">
87
- <div class="col-md-offset-9 col-sm-offset-7 col-xs-offset-2 mb10">
88
- <input name="" id="" class="smack-btn smack-btn-primary btn-radius" value="Subscribe" onclick="send_subscribe_email();" type="button">
89
- </div>
90
- </div>
91
- </fieldset>
92
- </div>
93
- <div style="font-size:15px;" class="col-md-6 col-sm-6 mt40 mb40">
94
- <div><b><?php echo esc_html__('Note','wp-ultimate-csv-importer');?></b></div>
95
- <div class="mt20"><i class="icon-news-paper" style="color:#178D7C;"></i>&nbsp; <?php echo esc_html__('Subscribe to Smackcoders Mailing list (a few messages a year)','wp-ultimate-csv-importer');?></div>
96
- <div class="mt20"><i class="icon-mail" style="color:#178D7C;"></i>&nbsp;<?php echo esc_html__("Please draft a mail to support@smackcoders.com. If you doesn't get any acknowledgement within an hour!","wp-ultimate-csv-importer");?></div>
97
- </div>
98
- </div>
99
- </div>
100
- </div>
101
- <div style="font-size: 15px;text-align: center;padding-top: 20px">Powered by <a href="https://www.smackcoders.com?utm_source=wordpress&utm_medium=plugin&utm_campaign=free_csv_importer" target="blank">Smackcoders</a>.</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/form-template-manager.php DELETED
@@ -1,56 +0,0 @@
1
- <?php
2
- /*********************************************************************************
3
- * WP Ultimate CSV Importer is a Tool for importing CSV for the Wordpress
4
- * plugin developed by Smackcoders. Copyright (C) 2016 Smackcoders.
5
- *
6
- * WP Ultimate CSV Importer is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Affero General Public License version 3
8
- * as published by the Free Software Foundation with the addition of the
9
- * following permission added to Section 15 as permitted in Section 7(a): FOR
10
- * ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY WP Ultimate
11
- * CSV Importer, WP Ultimate CSV Importer DISCLAIMS THE WARRANTY OF NON
12
- * INFRINGEMENT OF THIRD PARTY RIGHTS.
13
- *
14
- * WP Ultimate CSV Importer is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
17
- * License for more details.
18
- *
19
- * You should have received a copy of the GNU Affero General Public License
20
- * along with this program; if not, see http://www.gnu.org/licenses or write
21
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22
- * Boston, MA 02110-1301 USA.
23
- *
24
- * You can contact Smackcoders at email address info@smackcoders.com.
25
- *
26
- * The interactive user interfaces in original and modified versions
27
- * of this program must display Appropriate Legal Notices, as required under
28
- * Section 5 of the GNU Affero General Public License version 3.
29
- *
30
- * In accordance with Section 7(b) of the GNU Affero General Public License
31
- * version 3, these Appropriate Legal Notices must retain the display of the
32
- * WP Ultimate CSV Importer copyright notice. If the display of the logo is
33
- * not reasonably feasible for technical reasons, the Appropriate Legal
34
- * Notices must display the words
35
- * "Copyright Smackcoders. 2016. All rights reserved".
36
- ********************************************************************************/
37
-
38
- if ( ! defined( 'ABSPATH' ) )
39
- exit; // Exit if accessed directly
40
- ?>
41
- <div class="wp_ultimate_csv_importer_pro">
42
- <div class="bhoechie-tab-content active" id="division5" style="width: 100%;text-align: center;margin-top: 30%;font-size: 2.2em;color: red;">
43
- <?php echo esc_html__('This feature is only available in PRO.','wp-ultimate-csv-importer');?>
44
- </div>
45
- </div>
46
- <script>
47
- jQuery(document).ready(function () {
48
- var i;
49
- for(i=1;i<5;i++) {
50
- jQuery('#'+i).addClass("bg-leftside");
51
- jQuery('#'+i).removeClass("selected");
52
- }
53
- jQuery('#3').addClass("selected");
54
- jQuery('#3').removeClass("bg-leftside");
55
- });
56
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/animate.css DELETED
@@ -1,3340 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- /*!
4
- * animate.css -http://daneden.me/animate
5
- * Version - 3.5.1
6
- * Licensed under the MIT license - http://opensource.org/licenses/MIT
7
- *
8
- * Copyright (c) 2016 Daniel Eden
9
- */
10
-
11
- .animated {
12
- -webkit-animation-duration: 1s;
13
- animation-duration: 1s;
14
- -webkit-animation-fill-mode: both;
15
- animation-fill-mode: both;
16
- }
17
-
18
- .animated.infinite {
19
- -webkit-animation-iteration-count: infinite;
20
- animation-iteration-count: infinite;
21
- }
22
-
23
- .animated.hinge {
24
- -webkit-animation-duration: 2s;
25
- animation-duration: 2s;
26
- }
27
-
28
- .animated.flipOutX,
29
- .animated.flipOutY,
30
- .animated.bounceIn,
31
- .animated.bounceOut {
32
- -webkit-animation-duration: .75s;
33
- animation-duration: .75s;
34
- }
35
-
36
- @-webkit-keyframes bounce {
37
- from, 20%, 53%, 80%, to {
38
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
39
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
40
- -webkit-transform: translate3d(0,0,0);
41
- transform: translate3d(0,0,0);
42
- }
43
-
44
- 40%, 43% {
45
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
46
- animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
47
- -webkit-transform: translate3d(0, -30px, 0);
48
- transform: translate3d(0, -30px, 0);
49
- }
50
-
51
- 70% {
52
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
53
- animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
54
- -webkit-transform: translate3d(0, -15px, 0);
55
- transform: translate3d(0, -15px, 0);
56
- }
57
-
58
- 90% {
59
- -webkit-transform: translate3d(0,-4px,0);
60
- transform: translate3d(0,-4px,0);
61
- }
62
- }
63
-
64
- @keyframes bounce {
65
- from, 20%, 53%, 80%, to {
66
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
67
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
68
- -webkit-transform: translate3d(0,0,0);
69
- transform: translate3d(0,0,0);
70
- }
71
-
72
- 40%, 43% {
73
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
74
- animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
75
- -webkit-transform: translate3d(0, -30px, 0);
76
- transform: translate3d(0, -30px, 0);
77
- }
78
-
79
- 70% {
80
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
81
- animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
82
- -webkit-transform: translate3d(0, -15px, 0);
83
- transform: translate3d(0, -15px, 0);
84
- }
85
-
86
- 90% {
87
- -webkit-transform: translate3d(0,-4px,0);
88
- transform: translate3d(0,-4px,0);
89
- }
90
- }
91
-
92
- .bounce {
93
- -webkit-animation-name: bounce;
94
- animation-name: bounce;
95
- -webkit-transform-origin: center bottom;
96
- transform-origin: center bottom;
97
- }
98
-
99
- @-webkit-keyframes flash {
100
- from, 50%, to {
101
- opacity: 1;
102
- }
103
-
104
- 25%, 75% {
105
- opacity: 0;
106
- }
107
- }
108
-
109
- @keyframes flash {
110
- from, 50%, to {
111
- opacity: 1;
112
- }
113
-
114
- 25%, 75% {
115
- opacity: 0;
116
- }
117
- }
118
-
119
- .flash {
120
- -webkit-animation-name: flash;
121
- animation-name: flash;
122
- }
123
-
124
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
125
-
126
- @-webkit-keyframes pulse {
127
- from {
128
- -webkit-transform: scale3d(1, 1, 1);
129
- transform: scale3d(1, 1, 1);
130
- }
131
-
132
- 50% {
133
- -webkit-transform: scale3d(1.05, 1.05, 1.05);
134
- transform: scale3d(1.05, 1.05, 1.05);
135
- }
136
-
137
- to {
138
- -webkit-transform: scale3d(1, 1, 1);
139
- transform: scale3d(1, 1, 1);
140
- }
141
- }
142
-
143
- @keyframes pulse {
144
- from {
145
- -webkit-transform: scale3d(1, 1, 1);
146
- transform: scale3d(1, 1, 1);
147
- }
148
-
149
- 50% {
150
- -webkit-transform: scale3d(1.05, 1.05, 1.05);
151
- transform: scale3d(1.05, 1.05, 1.05);
152
- }
153
-
154
- to {
155
- -webkit-transform: scale3d(1, 1, 1);
156
- transform: scale3d(1, 1, 1);
157
- }
158
- }
159
-
160
- .pulse {
161
- -webkit-animation-name: pulse;
162
- animation-name: pulse;
163
- }
164
-
165
- @-webkit-keyframes rubberBand {
166
- from {
167
- -webkit-transform: scale3d(1, 1, 1);
168
- transform: scale3d(1, 1, 1);
169
- }
170
-
171
- 30% {
172
- -webkit-transform: scale3d(1.25, 0.75, 1);
173
- transform: scale3d(1.25, 0.75, 1);
174
- }
175
-
176
- 40% {
177
- -webkit-transform: scale3d(0.75, 1.25, 1);
178
- transform: scale3d(0.75, 1.25, 1);
179
- }
180
-
181
- 50% {
182
- -webkit-transform: scale3d(1.15, 0.85, 1);
183
- transform: scale3d(1.15, 0.85, 1);
184
- }
185
-
186
- 65% {
187
- -webkit-transform: scale3d(.95, 1.05, 1);
188
- transform: scale3d(.95, 1.05, 1);
189
- }
190
-
191
- 75% {
192
- -webkit-transform: scale3d(1.05, .95, 1);
193
- transform: scale3d(1.05, .95, 1);
194
- }
195
-
196
- to {
197
- -webkit-transform: scale3d(1, 1, 1);
198
- transform: scale3d(1, 1, 1);
199
- }
200
- }
201
-
202
- @keyframes rubberBand {
203
- from {
204
- -webkit-transform: scale3d(1, 1, 1);
205
- transform: scale3d(1, 1, 1);
206
- }
207
-
208
- 30% {
209
- -webkit-transform: scale3d(1.25, 0.75, 1);
210
- transform: scale3d(1.25, 0.75, 1);
211
- }
212
-
213
- 40% {
214
- -webkit-transform: scale3d(0.75, 1.25, 1);
215
- transform: scale3d(0.75, 1.25, 1);
216
- }
217
-
218
- 50% {
219
- -webkit-transform: scale3d(1.15, 0.85, 1);
220
- transform: scale3d(1.15, 0.85, 1);
221
- }
222
-
223
- 65% {
224
- -webkit-transform: scale3d(.95, 1.05, 1);
225
- transform: scale3d(.95, 1.05, 1);
226
- }
227
-
228
- 75% {
229
- -webkit-transform: scale3d(1.05, .95, 1);
230
- transform: scale3d(1.05, .95, 1);
231
- }
232
-
233
- to {
234
- -webkit-transform: scale3d(1, 1, 1);
235
- transform: scale3d(1, 1, 1);
236
- }
237
- }
238
-
239
- .rubberBand {
240
- -webkit-animation-name: rubberBand;
241
- animation-name: rubberBand;
242
- }
243
-
244
- @-webkit-keyframes shake {
245
- from, to {
246
- -webkit-transform: translate3d(0, 0, 0);
247
- transform: translate3d(0, 0, 0);
248
- }
249
-
250
- 10%, 30%, 50%, 70%, 90% {
251
- -webkit-transform: translate3d(-10px, 0, 0);
252
- transform: translate3d(-10px, 0, 0);
253
- }
254
-
255
- 20%, 40%, 60%, 80% {
256
- -webkit-transform: translate3d(10px, 0, 0);
257
- transform: translate3d(10px, 0, 0);
258
- }
259
- }
260
-
261
- @keyframes shake {
262
- from, to {
263
- -webkit-transform: translate3d(0, 0, 0);
264
- transform: translate3d(0, 0, 0);
265
- }
266
-
267
- 10%, 30%, 50%, 70%, 90% {
268
- -webkit-transform: translate3d(-10px, 0, 0);
269
- transform: translate3d(-10px, 0, 0);
270
- }
271
-
272
- 20%, 40%, 60%, 80% {
273
- -webkit-transform: translate3d(10px, 0, 0);
274
- transform: translate3d(10px, 0, 0);
275
- }
276
- }
277
-
278
- .shake {
279
- -webkit-animation-name: shake;
280
- animation-name: shake;
281
- }
282
-
283
- @-webkit-keyframes headShake {
284
- 0% {
285
- -webkit-transform: translateX(0);
286
- transform: translateX(0);
287
- }
288
-
289
- 6.5% {
290
- -webkit-transform: translateX(-6px) rotateY(-9deg);
291
- transform: translateX(-6px) rotateY(-9deg);
292
- }
293
-
294
- 18.5% {
295
- -webkit-transform: translateX(5px) rotateY(7deg);
296
- transform: translateX(5px) rotateY(7deg);
297
- }
298
-
299
- 31.5% {
300
- -webkit-transform: translateX(-3px) rotateY(-5deg);
301
- transform: translateX(-3px) rotateY(-5deg);
302
- }
303
-
304
- 43.5% {
305
- -webkit-transform: translateX(2px) rotateY(3deg);
306
- transform: translateX(2px) rotateY(3deg);
307
- }
308
-
309
- 50% {
310
- -webkit-transform: translateX(0);
311
- transform: translateX(0);
312
- }
313
- }
314
-
315
- @keyframes headShake {
316
- 0% {
317
- -webkit-transform: translateX(0);
318
- transform: translateX(0);
319
- }
320
-
321
- 6.5% {
322
- -webkit-transform: translateX(-6px) rotateY(-9deg);
323
- transform: translateX(-6px) rotateY(-9deg);
324
- }
325
-
326
- 18.5% {
327
- -webkit-transform: translateX(5px) rotateY(7deg);
328
- transform: translateX(5px) rotateY(7deg);
329
- }
330
-
331
- 31.5% {
332
- -webkit-transform: translateX(-3px) rotateY(-5deg);
333
- transform: translateX(-3px) rotateY(-5deg);
334
- }
335
-
336
- 43.5% {
337
- -webkit-transform: translateX(2px) rotateY(3deg);
338
- transform: translateX(2px) rotateY(3deg);
339
- }
340
-
341
- 50% {
342
- -webkit-transform: translateX(0);
343
- transform: translateX(0);
344
- }
345
- }
346
-
347
- .headShake {
348
- -webkit-animation-timing-function: ease-in-out;
349
- animation-timing-function: ease-in-out;
350
- -webkit-animation-name: headShake;
351
- animation-name: headShake;
352
- }
353
-
354
- @-webkit-keyframes swing {
355
- 20% {
356
- -webkit-transform: rotate3d(0, 0, 1, 15deg);
357
- transform: rotate3d(0, 0, 1, 15deg);
358
- }
359
-
360
- 40% {
361
- -webkit-transform: rotate3d(0, 0, 1, -10deg);
362
- transform: rotate3d(0, 0, 1, -10deg);
363
- }
364
-
365
- 60% {
366
- -webkit-transform: rotate3d(0, 0, 1, 5deg);
367
- transform: rotate3d(0, 0, 1, 5deg);
368
- }
369
-
370
- 80% {
371
- -webkit-transform: rotate3d(0, 0, 1, -5deg);
372
- transform: rotate3d(0, 0, 1, -5deg);
373
- }
374
-
375
- to {
376
- -webkit-transform: rotate3d(0, 0, 1, 0deg);
377
- transform: rotate3d(0, 0, 1, 0deg);
378
- }
379
- }
380
-
381
- @keyframes swing {
382
- 20% {
383
- -webkit-transform: rotate3d(0, 0, 1, 15deg);
384
- transform: rotate3d(0, 0, 1, 15deg);
385
- }
386
-
387
- 40% {
388
- -webkit-transform: rotate3d(0, 0, 1, -10deg);
389
- transform: rotate3d(0, 0, 1, -10deg);
390
- }
391
-
392
- 60% {
393
- -webkit-transform: rotate3d(0, 0, 1, 5deg);
394
- transform: rotate3d(0, 0, 1, 5deg);
395
- }
396
-
397
- 80% {
398
- -webkit-transform: rotate3d(0, 0, 1, -5deg);
399
- transform: rotate3d(0, 0, 1, -5deg);
400
- }
401
-
402
- to {
403
- -webkit-transform: rotate3d(0, 0, 1, 0deg);
404
- transform: rotate3d(0, 0, 1, 0deg);
405
- }
406
- }
407
-
408
- .swing {
409
- -webkit-transform-origin: top center;
410
- transform-origin: top center;
411
- -webkit-animation-name: swing;
412
- animation-name: swing;
413
- }
414
-
415
- @-webkit-keyframes tada {
416
- from {
417
- -webkit-transform: scale3d(1, 1, 1);
418
- transform: scale3d(1, 1, 1);
419
- }
420
-
421
- 10%, 20% {
422
- -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
423
- transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
424
- }
425
-
426
- 30%, 50%, 70%, 90% {
427
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
428
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
429
- }
430
-
431
- 40%, 60%, 80% {
432
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
433
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
434
- }
435
-
436
- to {
437
- -webkit-transform: scale3d(1, 1, 1);
438
- transform: scale3d(1, 1, 1);
439
- }
440
- }
441
-
442
- @keyframes tada {
443
- from {
444
- -webkit-transform: scale3d(1, 1, 1);
445
- transform: scale3d(1, 1, 1);
446
- }
447
-
448
- 10%, 20% {
449
- -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
450
- transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
451
- }
452
-
453
- 30%, 50%, 70%, 90% {
454
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
455
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
456
- }
457
-
458
- 40%, 60%, 80% {
459
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
460
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
461
- }
462
-
463
- to {
464
- -webkit-transform: scale3d(1, 1, 1);
465
- transform: scale3d(1, 1, 1);
466
- }
467
- }
468
-
469
- .tada {
470
- -webkit-animation-name: tada;
471
- animation-name: tada;
472
- }
473
-
474
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
475
-
476
- @-webkit-keyframes wobble {
477
- from {
478
- -webkit-transform: none;
479
- transform: none;
480
- }
481
-
482
- 15% {
483
- -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
484
- transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
485
- }
486
-
487
- 30% {
488
- -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
489
- transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
490
- }
491
-
492
- 45% {
493
- -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
494
- transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
495
- }
496
-
497
- 60% {
498
- -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
499
- transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
500
- }
501
-
502
- 75% {
503
- -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
504
- transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
505
- }
506
-
507
- to {
508
- -webkit-transform: none;
509
- transform: none;
510
- }
511
- }
512
-
513
- @keyframes wobble {
514
- from {
515
- -webkit-transform: none;
516
- transform: none;
517
- }
518
-
519
- 15% {
520
- -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
521
- transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
522
- }
523
-
524
- 30% {
525
- -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
526
- transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
527
- }
528
-
529
- 45% {
530
- -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
531
- transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
532
- }
533
-
534
- 60% {
535
- -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
536
- transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
537
- }
538
-
539
- 75% {
540
- -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
541
- transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
542
- }
543
-
544
- to {
545
- -webkit-transform: none;
546
- transform: none;
547
- }
548
- }
549
-
550
- .wobble {
551
- -webkit-animation-name: wobble;
552
- animation-name: wobble;
553
- }
554
-
555
- @-webkit-keyframes jello {
556
- from, 11.1%, to {
557
- -webkit-transform: none;
558
- transform: none;
559
- }
560
-
561
- 22.2% {
562
- -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
563
- transform: skewX(-12.5deg) skewY(-12.5deg);
564
- }
565
-
566
- 33.3% {
567
- -webkit-transform: skewX(6.25deg) skewY(6.25deg);
568
- transform: skewX(6.25deg) skewY(6.25deg);
569
- }
570
-
571
- 44.4% {
572
- -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
573
- transform: skewX(-3.125deg) skewY(-3.125deg);
574
- }
575
-
576
- 55.5% {
577
- -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
578
- transform: skewX(1.5625deg) skewY(1.5625deg);
579
- }
580
-
581
- 66.6% {
582
- -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
583
- transform: skewX(-0.78125deg) skewY(-0.78125deg);
584
- }
585
-
586
- 77.7% {
587
- -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
588
- transform: skewX(0.390625deg) skewY(0.390625deg);
589
- }
590
-
591
- 88.8% {
592
- -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
593
- transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
594
- }
595
- }
596
-
597
- @keyframes jello {
598
- from, 11.1%, to {
599
- -webkit-transform: none;
600
- transform: none;
601
- }
602
-
603
- 22.2% {
604
- -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
605
- transform: skewX(-12.5deg) skewY(-12.5deg);
606
- }
607
-
608
- 33.3% {
609
- -webkit-transform: skewX(6.25deg) skewY(6.25deg);
610
- transform: skewX(6.25deg) skewY(6.25deg);
611
- }
612
-
613
- 44.4% {
614
- -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
615
- transform: skewX(-3.125deg) skewY(-3.125deg);
616
- }
617
-
618
- 55.5% {
619
- -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
620
- transform: skewX(1.5625deg) skewY(1.5625deg);
621
- }
622
-
623
- 66.6% {
624
- -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
625
- transform: skewX(-0.78125deg) skewY(-0.78125deg);
626
- }
627
-
628
- 77.7% {
629
- -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
630
- transform: skewX(0.390625deg) skewY(0.390625deg);
631
- }
632
-
633
- 88.8% {
634
- -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
635
- transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
636
- }
637
- }
638
-
639
- .jello {
640
- -webkit-animation-name: jello;
641
- animation-name: jello;
642
- -webkit-transform-origin: center;
643
- transform-origin: center;
644
- }
645
-
646
- @-webkit-keyframes bounceIn {
647
- from, 20%, 40%, 60%, 80%, to {
648
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
649
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
650
- }
651
-
652
- 0% {
653
- opacity: 0;
654
- -webkit-transform: scale3d(.3, .3, .3);
655
- transform: scale3d(.3, .3, .3);
656
- }
657
-
658
- 20% {
659
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
660
- transform: scale3d(1.1, 1.1, 1.1);
661
- }
662
-
663
- 40% {
664
- -webkit-transform: scale3d(.9, .9, .9);
665
- transform: scale3d(.9, .9, .9);
666
- }
667
-
668
- 60% {
669
- opacity: 1;
670
- -webkit-transform: scale3d(1.03, 1.03, 1.03);
671
- transform: scale3d(1.03, 1.03, 1.03);
672
- }
673
-
674
- 80% {
675
- -webkit-transform: scale3d(.97, .97, .97);
676
- transform: scale3d(.97, .97, .97);
677
- }
678
-
679
- to {
680
- opacity: 1;
681
- -webkit-transform: scale3d(1, 1, 1);
682
- transform: scale3d(1, 1, 1);
683
- }
684
- }
685
-
686
- @keyframes bounceIn {
687
- from, 20%, 40%, 60%, 80%, to {
688
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
689
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
690
- }
691
-
692
- 0% {
693
- opacity: 0;
694
- -webkit-transform: scale3d(.3, .3, .3);
695
- transform: scale3d(.3, .3, .3);
696
- }
697
-
698
- 20% {
699
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
700
- transform: scale3d(1.1, 1.1, 1.1);
701
- }
702
-
703
- 40% {
704
- -webkit-transform: scale3d(.9, .9, .9);
705
- transform: scale3d(.9, .9, .9);
706
- }
707
-
708
- 60% {
709
- opacity: 1;
710
- -webkit-transform: scale3d(1.03, 1.03, 1.03);
711
- transform: scale3d(1.03, 1.03, 1.03);
712
- }
713
-
714
- 80% {
715
- -webkit-transform: scale3d(.97, .97, .97);
716
- transform: scale3d(.97, .97, .97);
717
- }
718
-
719
- to {
720
- opacity: 1;
721
- -webkit-transform: scale3d(1, 1, 1);
722
- transform: scale3d(1, 1, 1);
723
- }
724
- }
725
-
726
- .bounceIn {
727
- -webkit-animation-name: bounceIn;
728
- animation-name: bounceIn;
729
- }
730
-
731
- @-webkit-keyframes bounceInDown {
732
- from, 60%, 75%, 90%, to {
733
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
734
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
735
- }
736
-
737
- 0% {
738
- opacity: 0;
739
- -webkit-transform: translate3d(0, -3000px, 0);
740
- transform: translate3d(0, -3000px, 0);
741
- }
742
-
743
- 60% {
744
- opacity: 1;
745
- -webkit-transform: translate3d(0, 25px, 0);
746
- transform: translate3d(0, 25px, 0);
747
- }
748
-
749
- 75% {
750
- -webkit-transform: translate3d(0, -10px, 0);
751
- transform: translate3d(0, -10px, 0);
752
- }
753
-
754
- 90% {
755
- -webkit-transform: translate3d(0, 5px, 0);
756
- transform: translate3d(0, 5px, 0);
757
- }
758
-
759
- to {
760
- -webkit-transform: none;
761
- transform: none;
762
- }
763
- }
764
-
765
- @keyframes bounceInDown {
766
- from, 60%, 75%, 90%, to {
767
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
768
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
769
- }
770
-
771
- 0% {
772
- opacity: 0;
773
- -webkit-transform: translate3d(0, -3000px, 0);
774
- transform: translate3d(0, -3000px, 0);
775
- }
776
-
777
- 60% {
778
- opacity: 1;
779
- -webkit-transform: translate3d(0, 25px, 0);
780
- transform: translate3d(0, 25px, 0);
781
- }
782
-
783
- 75% {
784
- -webkit-transform: translate3d(0, -10px, 0);
785
- transform: translate3d(0, -10px, 0);
786
- }
787
-
788
- 90% {
789
- -webkit-transform: translate3d(0, 5px, 0);
790
- transform: translate3d(0, 5px, 0);
791
- }
792
-
793
- to {
794
- -webkit-transform: none;
795
- transform: none;
796
- }
797
- }
798
-
799
- .bounceInDown {
800
- -webkit-animation-name: bounceInDown;
801
- animation-name: bounceInDown;
802
- }
803
-
804
- @-webkit-keyframes bounceInLeft {
805
- from, 60%, 75%, 90%, to {
806
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
807
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
808
- }
809
-
810
- 0% {
811
- opacity: 0;
812
- -webkit-transform: translate3d(-3000px, 0, 0);
813
- transform: translate3d(-3000px, 0, 0);
814
- }
815
-
816
- 60% {
817
- opacity: 1;
818
- -webkit-transform: translate3d(25px, 0, 0);
819
- transform: translate3d(25px, 0, 0);
820
- }
821
-
822
- 75% {
823
- -webkit-transform: translate3d(-10px, 0, 0);
824
- transform: translate3d(-10px, 0, 0);
825
- }
826
-
827
- 90% {
828
- -webkit-transform: translate3d(5px, 0, 0);
829
- transform: translate3d(5px, 0, 0);
830
- }
831
-
832
- to {
833
- -webkit-transform: none;
834
- transform: none;
835
- }
836
- }
837
-
838
- @keyframes bounceInLeft {
839
- from, 60%, 75%, 90%, to {
840
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
841
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
842
- }
843
-
844
- 0% {
845
- opacity: 0;
846
- -webkit-transform: translate3d(-3000px, 0, 0);
847
- transform: translate3d(-3000px, 0, 0);
848
- }
849
-
850
- 60% {
851
- opacity: 1;
852
- -webkit-transform: translate3d(25px, 0, 0);
853
- transform: translate3d(25px, 0, 0);
854
- }
855
-
856
- 75% {
857
- -webkit-transform: translate3d(-10px, 0, 0);
858
- transform: translate3d(-10px, 0, 0);
859
- }
860
-
861
- 90% {
862
- -webkit-transform: translate3d(5px, 0, 0);
863
- transform: translate3d(5px, 0, 0);
864
- }
865
-
866
- to {
867
- -webkit-transform: none;
868
- transform: none;
869
- }
870
- }
871
-
872
- .bounceInLeft {
873
- -webkit-animation-name: bounceInLeft;
874
- animation-name: bounceInLeft;
875
- }
876
-
877
- @-webkit-keyframes bounceInRight {
878
- from, 60%, 75%, 90%, to {
879
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
880
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
881
- }
882
-
883
- from {
884
- opacity: 0;
885
- -webkit-transform: translate3d(3000px, 0, 0);
886
- transform: translate3d(3000px, 0, 0);
887
- }
888
-
889
- 60% {
890
- opacity: 1;
891
- -webkit-transform: translate3d(-25px, 0, 0);
892
- transform: translate3d(-25px, 0, 0);
893
- }
894
-
895
- 75% {
896
- -webkit-transform: translate3d(10px, 0, 0);
897
- transform: translate3d(10px, 0, 0);
898
- }
899
-
900
- 90% {
901
- -webkit-transform: translate3d(-5px, 0, 0);
902
- transform: translate3d(-5px, 0, 0);
903
- }
904
-
905
- to {
906
- -webkit-transform: none;
907
- transform: none;
908
- }
909
- }
910
-
911
- @keyframes bounceInRight {
912
- from, 60%, 75%, 90%, to {
913
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
914
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
915
- }
916
-
917
- from {
918
- opacity: 0;
919
- -webkit-transform: translate3d(3000px, 0, 0);
920
- transform: translate3d(3000px, 0, 0);
921
- }
922
-
923
- 60% {
924
- opacity: 1;
925
- -webkit-transform: translate3d(-25px, 0, 0);
926
- transform: translate3d(-25px, 0, 0);
927
- }
928
-
929
- 75% {
930
- -webkit-transform: translate3d(10px, 0, 0);
931
- transform: translate3d(10px, 0, 0);
932
- }
933
-
934
- 90% {
935
- -webkit-transform: translate3d(-5px, 0, 0);
936
- transform: translate3d(-5px, 0, 0);
937
- }
938
-
939
- to {
940
- -webkit-transform: none;
941
- transform: none;
942
- }
943
- }
944
-
945
- .bounceInRight {
946
- -webkit-animation-name: bounceInRight;
947
- animation-name: bounceInRight;
948
- }
949
-
950
- @-webkit-keyframes bounceInUp {
951
- from, 60%, 75%, 90%, to {
952
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
953
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
954
- }
955
-
956
- from {
957
- opacity: 0;
958
- -webkit-transform: translate3d(0, 3000px, 0);
959
- transform: translate3d(0, 3000px, 0);
960
- }
961
-
962
- 60% {
963
- opacity: 1;
964
- -webkit-transform: translate3d(0, -20px, 0);
965
- transform: translate3d(0, -20px, 0);
966
- }
967
-
968
- 75% {
969
- -webkit-transform: translate3d(0, 10px, 0);
970
- transform: translate3d(0, 10px, 0);
971
- }
972
-
973
- 90% {
974
- -webkit-transform: translate3d(0, -5px, 0);
975
- transform: translate3d(0, -5px, 0);
976
- }
977
-
978
- to {
979
- -webkit-transform: translate3d(0, 0, 0);
980
- transform: translate3d(0, 0, 0);
981
- }
982
- }
983
-
984
- @keyframes bounceInUp {
985
- from, 60%, 75%, 90%, to {
986
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
987
- animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
988
- }
989
-
990
- from {
991
- opacity: 0;
992
- -webkit-transform: translate3d(0, 3000px, 0);
993
- transform: translate3d(0, 3000px, 0);
994
- }
995
-
996
- 60% {
997
- opacity: 1;
998
- -webkit-transform: translate3d(0, -20px, 0);
999
- transform: translate3d(0, -20px, 0);
1000
- }
1001
-
1002
- 75% {
1003
- -webkit-transform: translate3d(0, 10px, 0);
1004
- transform: translate3d(0, 10px, 0);
1005
- }
1006
-
1007
- 90% {
1008
- -webkit-transform: translate3d(0, -5px, 0);
1009
- transform: translate3d(0, -5px, 0);
1010
- }
1011
-
1012
- to {
1013
- -webkit-transform: translate3d(0, 0, 0);
1014
- transform: translate3d(0, 0, 0);
1015
- }
1016
- }
1017
-
1018
- .bounceInUp {
1019
- -webkit-animation-name: bounceInUp;
1020
- animation-name: bounceInUp;
1021
- }
1022
-
1023
- @-webkit-keyframes bounceOut {
1024
- 20% {
1025
- -webkit-transform: scale3d(.9, .9, .9);
1026
- transform: scale3d(.9, .9, .9);
1027
- }
1028
-
1029
- 50%, 55% {
1030
- opacity: 1;
1031
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
1032
- transform: scale3d(1.1, 1.1, 1.1);
1033
- }
1034
-
1035
- to {
1036
- opacity: 0;
1037
- -webkit-transform: scale3d(.3, .3, .3);
1038
- transform: scale3d(.3, .3, .3);
1039
- }
1040
- }
1041
-
1042
- @keyframes bounceOut {
1043
- 20% {
1044
- -webkit-transform: scale3d(.9, .9, .9);
1045
- transform: scale3d(.9, .9, .9);
1046
- }
1047
-
1048
- 50%, 55% {
1049
- opacity: 1;
1050
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
1051
- transform: scale3d(1.1, 1.1, 1.1);
1052
- }
1053
-
1054
- to {
1055
- opacity: 0;
1056
- -webkit-transform: scale3d(.3, .3, .3);
1057
- transform: scale3d(.3, .3, .3);
1058
- }
1059
- }
1060
-
1061
- .bounceOut {
1062
- -webkit-animation-name: bounceOut;
1063
- animation-name: bounceOut;
1064
- }
1065
-
1066
- @-webkit-keyframes bounceOutDown {
1067
- 20% {
1068
- -webkit-transform: translate3d(0, 10px, 0);
1069
- transform: translate3d(0, 10px, 0);
1070
- }
1071
-
1072
- 40%, 45% {
1073
- opacity: 1;
1074
- -webkit-transform: translate3d(0, -20px, 0);
1075
- transform: translate3d(0, -20px, 0);
1076
- }
1077
-
1078
- to {
1079
- opacity: 0;
1080
- -webkit-transform: translate3d(0, 2000px, 0);
1081
- transform: translate3d(0, 2000px, 0);
1082
- }
1083
- }
1084
-
1085
- @keyframes bounceOutDown {
1086
- 20% {
1087
- -webkit-transform: translate3d(0, 10px, 0);
1088
- transform: translate3d(0, 10px, 0);
1089
- }
1090
-
1091
- 40%, 45% {
1092
- opacity: 1;
1093
- -webkit-transform: translate3d(0, -20px, 0);
1094
- transform: translate3d(0, -20px, 0);
1095
- }
1096
-
1097
- to {
1098
- opacity: 0;
1099
- -webkit-transform: translate3d(0, 2000px, 0);
1100
- transform: translate3d(0, 2000px, 0);
1101
- }
1102
- }
1103
-
1104
- .bounceOutDown {
1105
- -webkit-animation-name: bounceOutDown;
1106
- animation-name: bounceOutDown;
1107
- }
1108
-
1109
- @-webkit-keyframes bounceOutLeft {
1110
- 20% {
1111
- opacity: 1;
1112
- -webkit-transform: translate3d(20px, 0, 0);
1113
- transform: translate3d(20px, 0, 0);
1114
- }
1115
-
1116
- to {
1117
- opacity: 0;
1118
- -webkit-transform: translate3d(-2000px, 0, 0);
1119
- transform: translate3d(-2000px, 0, 0);
1120
- }
1121
- }
1122
-
1123
- @keyframes bounceOutLeft {
1124
- 20% {
1125
- opacity: 1;
1126
- -webkit-transform: translate3d(20px, 0, 0);
1127
- transform: translate3d(20px, 0, 0);
1128
- }
1129
-
1130
- to {
1131
- opacity: 0;
1132
- -webkit-transform: translate3d(-2000px, 0, 0);
1133
- transform: translate3d(-2000px, 0, 0);
1134
- }
1135
- }
1136
-
1137
- .bounceOutLeft {
1138
- -webkit-animation-name: bounceOutLeft;
1139
- animation-name: bounceOutLeft;
1140
- }
1141
-
1142
- @-webkit-keyframes bounceOutRight {
1143
- 20% {
1144
- opacity: 1;
1145
- -webkit-transform: translate3d(-20px, 0, 0);
1146
- transform: translate3d(-20px, 0, 0);
1147
- }
1148
-
1149
- to {
1150
- opacity: 0;
1151
- -webkit-transform: translate3d(2000px, 0, 0);
1152
- transform: translate3d(2000px, 0, 0);
1153
- }
1154
- }
1155
-
1156
- @keyframes bounceOutRight {
1157
- 20% {
1158
- opacity: 1;
1159
- -webkit-transform: translate3d(-20px, 0, 0);
1160
- transform: translate3d(-20px, 0, 0);
1161
- }
1162
-
1163
- to {
1164
- opacity: 0;
1165
- -webkit-transform: translate3d(2000px, 0, 0);
1166
- transform: translate3d(2000px, 0, 0);
1167
- }
1168
- }
1169
-
1170
- .bounceOutRight {
1171
- -webkit-animation-name: bounceOutRight;
1172
- animation-name: bounceOutRight;
1173
- }
1174
-
1175
- @-webkit-keyframes bounceOutUp {
1176
- 20% {
1177
- -webkit-transform: translate3d(0, -10px, 0);
1178
- transform: translate3d(0, -10px, 0);
1179
- }
1180
-
1181
- 40%, 45% {
1182
- opacity: 1;
1183
- -webkit-transform: translate3d(0, 20px, 0);
1184
- transform: translate3d(0, 20px, 0);
1185
- }
1186
-
1187
- to {
1188
- opacity: 0;
1189
- -webkit-transform: translate3d(0, -2000px, 0);
1190
- transform: translate3d(0, -2000px, 0);
1191
- }
1192
- }
1193
-
1194
- @keyframes bounceOutUp {
1195
- 20% {
1196
- -webkit-transform: translate3d(0, -10px, 0);
1197
- transform: translate3d(0, -10px, 0);
1198
- }
1199
-
1200
- 40%, 45% {
1201
- opacity: 1;
1202
- -webkit-transform: translate3d(0, 20px, 0);
1203
- transform: translate3d(0, 20px, 0);
1204
- }
1205
-
1206
- to {
1207
- opacity: 0;
1208
- -webkit-transform: translate3d(0, -2000px, 0);
1209
- transform: translate3d(0, -2000px, 0);
1210
- }
1211
- }
1212
-
1213
- .bounceOutUp {
1214
- -webkit-animation-name: bounceOutUp;
1215
- animation-name: bounceOutUp;
1216
- }
1217
-
1218
- @-webkit-keyframes fadeIn {
1219
- from {
1220
- opacity: 0;
1221
- }
1222
-
1223
- to {
1224
- opacity: 1;
1225
- }
1226
- }
1227
-
1228
- @keyframes fadeIn {
1229
- from {
1230
- opacity: 0;
1231
- }
1232
-
1233
- to {
1234
- opacity: 1;
1235
- }
1236
- }
1237
-
1238
- .fadeIn {
1239
- -webkit-animation-name: fadeIn;
1240
- animation-name: fadeIn;
1241
- }
1242
-
1243
- @-webkit-keyframes fadeInDown {
1244
- from {
1245
- opacity: 0;
1246
- -webkit-transform: translate3d(0, -100%, 0);
1247
- transform: translate3d(0, -100%, 0);
1248
- }
1249
-
1250
- to {
1251
- opacity: 1;
1252
- -webkit-transform: none;
1253
- transform: none;
1254
- }
1255
- }
1256
-
1257
- @keyframes fadeInDown {
1258
- from {
1259
- opacity: 0;
1260
- -webkit-transform: translate3d(0, -100%, 0);
1261
- transform: translate3d(0, -100%, 0);
1262
- }
1263
-
1264
- to {
1265
- opacity: 1;
1266
- -webkit-transform: none;
1267
- transform: none;
1268
- }
1269
- }
1270
-
1271
- .fadeInDown {
1272
- -webkit-animation-name: fadeInDown;
1273
- animation-name: fadeInDown;
1274
- }
1275
-
1276
- @-webkit-keyframes fadeInDownBig {
1277
- from {
1278
- opacity: 0;
1279
- -webkit-transform: translate3d(0, -2000px, 0);
1280
- transform: translate3d(0, -2000px, 0);
1281
- }
1282
-
1283
- to {
1284
- opacity: 1;
1285
- -webkit-transform: none;
1286
- transform: none;
1287
- }
1288
- }
1289
-
1290
- @keyframes fadeInDownBig {
1291
- from {
1292
- opacity: 0;
1293
- -webkit-transform: translate3d(0, -2000px, 0);
1294
- transform: translate3d(0, -2000px, 0);
1295
- }
1296
-
1297
- to {
1298
- opacity: 1;
1299
- -webkit-transform: none;
1300
- transform: none;
1301
- }
1302
- }
1303
-
1304
- .fadeInDownBig {
1305
- -webkit-animation-name: fadeInDownBig;
1306
- animation-name: fadeInDownBig;
1307
- }
1308
-
1309
- @-webkit-keyframes fadeInLeft {
1310
- from {
1311
- opacity: 0;
1312
- -webkit-transform: translate3d(-100%, 0, 0);
1313
- transform: translate3d(-100%, 0, 0);
1314
- }
1315
-
1316
- to {
1317
- opacity: 1;
1318
- -webkit-transform: none;
1319
- transform: none;
1320
- }
1321
- }
1322
-
1323
- @keyframes fadeInLeft {
1324
- from {
1325
- opacity: 0;
1326
- -webkit-transform: translate3d(-100%, 0, 0);
1327
- transform: translate3d(-100%, 0, 0);
1328
- }
1329
-
1330
- to {
1331
- opacity: 1;
1332
- -webkit-transform: none;
1333
- transform: none;
1334
- }
1335
- }
1336
-
1337
- .fadeInLeft {
1338
- -webkit-animation-name: fadeInLeft;
1339
- animation-name: fadeInLeft;
1340
- }
1341
-
1342
- @-webkit-keyframes fadeInLeftBig {
1343
- from {
1344
- opacity: 0;
1345
- -webkit-transform: translate3d(-2000px, 0, 0);
1346
- transform: translate3d(-2000px, 0, 0);
1347
- }
1348
-
1349
- to {
1350
- opacity: 1;
1351
- -webkit-transform: none;
1352
- transform: none;
1353
- }
1354
- }
1355
-
1356
- @keyframes fadeInLeftBig {
1357
- from {
1358
- opacity: 0;
1359
- -webkit-transform: translate3d(-2000px, 0, 0);
1360
- transform: translate3d(-2000px, 0, 0);
1361
- }
1362
-
1363
- to {
1364
- opacity: 1;
1365
- -webkit-transform: none;
1366
- transform: none;
1367
- }
1368
- }
1369
-
1370
- .fadeInLeftBig {
1371
- -webkit-animation-name: fadeInLeftBig;
1372
- animation-name: fadeInLeftBig;
1373
- }
1374
-
1375
- @-webkit-keyframes fadeInRight {
1376
- from {
1377
- opacity: 0;
1378
- -webkit-transform: translate3d(100%, 0, 0);
1379
- transform: translate3d(100%, 0, 0);
1380
- }
1381
-
1382
- to {
1383
- opacity: 1;
1384
- -webkit-transform: none;
1385
- transform: none;
1386
- }
1387
- }
1388
-
1389
- @keyframes fadeInRight {
1390
- from {
1391
- opacity: 0;
1392
- -webkit-transform: translate3d(100%, 0, 0);
1393
- transform: translate3d(100%, 0, 0);
1394
- }
1395
-
1396
- to {
1397
- opacity: 1;
1398
- -webkit-transform: none;
1399
- transform: none;
1400
- }
1401
- }
1402
-
1403
- .fadeInRight {
1404
- -webkit-animation-name: fadeInRight;
1405
- animation-name: fadeInRight;
1406
- }
1407
-
1408
- @-webkit-keyframes fadeInRightBig {
1409
- from {
1410
- opacity: 0;
1411
- -webkit-transform: translate3d(2000px, 0, 0);
1412
- transform: translate3d(2000px, 0, 0);
1413
- }
1414
-
1415
- to {
1416
- opacity: 1;
1417
- -webkit-transform: none;
1418
- transform: none;
1419
- }
1420
- }
1421
-
1422
- @keyframes fadeInRightBig {
1423
- from {
1424
- opacity: 0;
1425
- -webkit-transform: translate3d(2000px, 0, 0);
1426
- transform: translate3d(2000px, 0, 0);
1427
- }
1428
-
1429
- to {
1430
- opacity: 1;
1431
- -webkit-transform: none;
1432
- transform: none;
1433
- }
1434
- }
1435
-
1436
- .fadeInRightBig {
1437
- -webkit-animation-name: fadeInRightBig;
1438
- animation-name: fadeInRightBig;
1439
- }
1440
-
1441
- @-webkit-keyframes fadeInUp {
1442
- from {
1443
- opacity: 0;
1444
- -webkit-transform: translate3d(0, 100%, 0);
1445
- transform: translate3d(0, 100%, 0);
1446
- }
1447
-
1448
- to {
1449
- opacity: 1;
1450
- -webkit-transform: none;
1451
- transform: none;
1452
- }
1453
- }
1454
-
1455
- @keyframes fadeInUp {
1456
- from {
1457
- opacity: 0;
1458
- -webkit-transform: translate3d(0, 100%, 0);
1459
- transform: translate3d(0, 100%, 0);
1460
- }
1461
-
1462
- to {
1463
- opacity: 1;
1464
- -webkit-transform: none;
1465
- transform: none;
1466
- }
1467
- }
1468
-
1469
- .fadeInUp {
1470
- -webkit-animation-name: fadeInUp;
1471
- animation-name: fadeInUp;
1472
- }
1473
-
1474
- @-webkit-keyframes fadeInUpBig {
1475
- from {
1476
- opacity: 0;
1477
- -webkit-transform: translate3d(0, 2000px, 0);
1478
- transform: translate3d(0, 2000px, 0);
1479
- }
1480
-
1481
- to {
1482
- opacity: 1;
1483
- -webkit-transform: none;
1484
- transform: none;
1485
- }
1486
- }
1487
-
1488
- @keyframes fadeInUpBig {
1489
- from {
1490
- opacity: 0;
1491
- -webkit-transform: translate3d(0, 2000px, 0);
1492
- transform: translate3d(0, 2000px, 0);
1493
- }
1494
-
1495
- to {
1496
- opacity: 1;
1497
- -webkit-transform: none;
1498
- transform: none;
1499
- }
1500
- }
1501
-
1502
- .fadeInUpBig {
1503
- -webkit-animation-name: fadeInUpBig;
1504
- animation-name: fadeInUpBig;
1505
- }
1506
-
1507
- @-webkit-keyframes fadeOut {
1508
- from {
1509
- opacity: 1;
1510
- }
1511
-
1512
- to {
1513
- opacity: 0;
1514
- }
1515
- }
1516
-
1517
- @keyframes fadeOut {
1518
- from {
1519
- opacity: 1;
1520
- }
1521
-
1522
- to {
1523
- opacity: 0;
1524
- }
1525
- }
1526
-
1527
- .fadeOut {
1528
- -webkit-animation-name: fadeOut;
1529
- animation-name: fadeOut;
1530
- }
1531
-
1532
- @-webkit-keyframes fadeOutDown {
1533
- from {
1534
- opacity: 1;
1535
- }
1536
-
1537
- to {
1538
- opacity: 0;
1539
- -webkit-transform: translate3d(0, 100%, 0);
1540
- transform: translate3d(0, 100%, 0);
1541
- }
1542
- }
1543
-
1544
- @keyframes fadeOutDown {
1545
- from {
1546
- opacity: 1;
1547
- }
1548
-
1549
- to {
1550
- opacity: 0;
1551
- -webkit-transform: translate3d(0, 100%, 0);
1552
- transform: translate3d(0, 100%, 0);
1553
- }
1554
- }
1555
-
1556
- .fadeOutDown {
1557
- -webkit-animation-name: fadeOutDown;
1558
- animation-name: fadeOutDown;
1559
- }
1560
-
1561
- @-webkit-keyframes fadeOutDownBig {
1562
- from {
1563
- opacity: 1;
1564
- }
1565
-
1566
- to {
1567
- opacity: 0;
1568
- -webkit-transform: translate3d(0, 2000px, 0);
1569
- transform: translate3d(0, 2000px, 0);
1570
- }
1571
- }
1572
-
1573
- @keyframes fadeOutDownBig {
1574
- from {
1575
- opacity: 1;
1576
- }
1577
-
1578
- to {
1579
- opacity: 0;
1580
- -webkit-transform: translate3d(0, 2000px, 0);
1581
- transform: translate3d(0, 2000px, 0);
1582
- }
1583
- }
1584
-
1585
- .fadeOutDownBig {
1586
- -webkit-animation-name: fadeOutDownBig;
1587
- animation-name: fadeOutDownBig;
1588
- }
1589
-
1590
- @-webkit-keyframes fadeOutLeft {
1591
- from {
1592
- opacity: 1;
1593
- }
1594
-
1595
- to {
1596
- opacity: 0;
1597
- -webkit-transform: translate3d(-100%, 0, 0);
1598
- transform: translate3d(-100%, 0, 0);
1599
- }
1600
- }
1601
-
1602
- @keyframes fadeOutLeft {
1603
- from {
1604
- opacity: 1;
1605
- }
1606
-
1607
- to {
1608
- opacity: 0;
1609
- -webkit-transform: translate3d(-100%, 0, 0);
1610
- transform: translate3d(-100%, 0, 0);
1611
- }
1612
- }
1613
-
1614
- .fadeOutLeft {
1615
- -webkit-animation-name: fadeOutLeft;
1616
- animation-name: fadeOutLeft;
1617
- }
1618
-
1619
- @-webkit-keyframes fadeOutLeftBig {
1620
- from {
1621
- opacity: 1;
1622
- }
1623
-
1624
- to {
1625
- opacity: 0;
1626
- -webkit-transform: translate3d(-2000px, 0, 0);
1627
- transform: translate3d(-2000px, 0, 0);
1628
- }
1629
- }
1630
-
1631
- @keyframes fadeOutLeftBig {
1632
- from {
1633
- opacity: 1;
1634
- }
1635
-
1636
- to {
1637
- opacity: 0;
1638
- -webkit-transform: translate3d(-2000px, 0, 0);
1639
- transform: translate3d(-2000px, 0, 0);
1640
- }
1641
- }
1642
-
1643
- .fadeOutLeftBig {
1644
- -webkit-animation-name: fadeOutLeftBig;
1645
- animation-name: fadeOutLeftBig;
1646
- }
1647
-
1648
- @-webkit-keyframes fadeOutRight {
1649
- from {
1650
- opacity: 1;
1651
- }
1652
-
1653
- to {
1654
- opacity: 0;
1655
- -webkit-transform: translate3d(100%, 0, 0);
1656
- transform: translate3d(100%, 0, 0);
1657
- }
1658
- }
1659
-
1660
- @keyframes fadeOutRight {
1661
- from {
1662
- opacity: 1;
1663
- }
1664
-
1665
- to {
1666
- opacity: 0;
1667
- -webkit-transform: translate3d(100%, 0, 0);
1668
- transform: translate3d(100%, 0, 0);
1669
- }
1670
- }
1671
-
1672
- .fadeOutRight {
1673
- -webkit-animation-name: fadeOutRight;
1674
- animation-name: fadeOutRight;
1675
- }
1676
-
1677
- @-webkit-keyframes fadeOutRightBig {
1678
- from {
1679
- opacity: 1;
1680
- }
1681
-
1682
- to {
1683
- opacity: 0;
1684
- -webkit-transform: translate3d(2000px, 0, 0);
1685
- transform: translate3d(2000px, 0, 0);
1686
- }
1687
- }
1688
-
1689
- @keyframes fadeOutRightBig {
1690
- from {
1691
- opacity: 1;
1692
- }
1693
-
1694
- to {
1695
- opacity: 0;
1696
- -webkit-transform: translate3d(2000px, 0, 0);
1697
- transform: translate3d(2000px, 0, 0);
1698
- }
1699
- }
1700
-
1701
- .fadeOutRightBig {
1702
- -webkit-animation-name: fadeOutRightBig;
1703
- animation-name: fadeOutRightBig;
1704
- }
1705
-
1706
- @-webkit-keyframes fadeOutUp {
1707
- from {
1708
- opacity: 1;
1709
- }
1710
-
1711
- to {
1712
- opacity: 0;
1713
- -webkit-transform: translate3d(0, -100%, 0);
1714
- transform: translate3d(0, -100%, 0);
1715
- }
1716
- }
1717
-
1718
- @keyframes fadeOutUp {
1719
- from {
1720
- opacity: 1;
1721
- }
1722
-
1723
- to {
1724
- opacity: 0;
1725
- -webkit-transform: translate3d(0, -100%, 0);
1726
- transform: translate3d(0, -100%, 0);
1727
- }
1728
- }
1729
-
1730
- .fadeOutUp {
1731
- -webkit-animation-name: fadeOutUp;
1732
- animation-name: fadeOutUp;
1733
- }
1734
-
1735
- @-webkit-keyframes fadeOutUpBig {
1736
- from {
1737
- opacity: 1;
1738
- }
1739
-
1740
- to {
1741
- opacity: 0;
1742
- -webkit-transform: translate3d(0, -2000px, 0);
1743
- transform: translate3d(0, -2000px, 0);
1744
- }
1745
- }
1746
-
1747
- @keyframes fadeOutUpBig {
1748
- from {
1749
- opacity: 1;
1750
- }
1751
-
1752
- to {
1753
- opacity: 0;
1754
- -webkit-transform: translate3d(0, -2000px, 0);
1755
- transform: translate3d(0, -2000px, 0);
1756
- }
1757
- }
1758
-
1759
- .fadeOutUpBig {
1760
- -webkit-animation-name: fadeOutUpBig;
1761
- animation-name: fadeOutUpBig;
1762
- }
1763
-
1764
- @-webkit-keyframes flip {
1765
- from {
1766
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1767
- transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1768
- -webkit-animation-timing-function: ease-out;
1769
- animation-timing-function: ease-out;
1770
- }
1771
-
1772
- 40% {
1773
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1774
- transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1775
- -webkit-animation-timing-function: ease-out;
1776
- animation-timing-function: ease-out;
1777
- }
1778
-
1779
- 50% {
1780
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1781
- transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1782
- -webkit-animation-timing-function: ease-in;
1783
- animation-timing-function: ease-in;
1784
- }
1785
-
1786
- 80% {
1787
- -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
1788
- transform: perspective(400px) scale3d(.95, .95, .95);
1789
- -webkit-animation-timing-function: ease-in;
1790
- animation-timing-function: ease-in;
1791
- }
1792
-
1793
- to {
1794
- -webkit-transform: perspective(400px);
1795
- transform: perspective(400px);
1796
- -webkit-animation-timing-function: ease-in;
1797
- animation-timing-function: ease-in;
1798
- }
1799
- }
1800
-
1801
- @keyframes flip {
1802
- from {
1803
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1804
- transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1805
- -webkit-animation-timing-function: ease-out;
1806
- animation-timing-function: ease-out;
1807
- }
1808
-
1809
- 40% {
1810
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1811
- transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1812
- -webkit-animation-timing-function: ease-out;
1813
- animation-timing-function: ease-out;
1814
- }
1815
-
1816
- 50% {
1817
- -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1818
- transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1819
- -webkit-animation-timing-function: ease-in;
1820
- animation-timing-function: ease-in;
1821
- }
1822
-
1823
- 80% {
1824
- -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
1825
- transform: perspective(400px) scale3d(.95, .95, .95);
1826
- -webkit-animation-timing-function: ease-in;
1827
- animation-timing-function: ease-in;
1828
- }
1829
-
1830
- to {
1831
- -webkit-transform: perspective(400px);
1832
- transform: perspective(400px);
1833
- -webkit-animation-timing-function: ease-in;
1834
- animation-timing-function: ease-in;
1835
- }
1836
- }
1837
-
1838
- .animated.flip {
1839
- -webkit-backface-visibility: visible;
1840
- backface-visibility: visible;
1841
- -webkit-animation-name: flip;
1842
- animation-name: flip;
1843
- }
1844
-
1845
- @-webkit-keyframes flipInX {
1846
- from {
1847
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1848
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1849
- -webkit-animation-timing-function: ease-in;
1850
- animation-timing-function: ease-in;
1851
- opacity: 0;
1852
- }
1853
-
1854
- 40% {
1855
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1856
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1857
- -webkit-animation-timing-function: ease-in;
1858
- animation-timing-function: ease-in;
1859
- }
1860
-
1861
- 60% {
1862
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1863
- transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1864
- opacity: 1;
1865
- }
1866
-
1867
- 80% {
1868
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1869
- transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1870
- }
1871
-
1872
- to {
1873
- -webkit-transform: perspective(400px);
1874
- transform: perspective(400px);
1875
- }
1876
- }
1877
-
1878
- @keyframes flipInX {
1879
- from {
1880
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1881
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1882
- -webkit-animation-timing-function: ease-in;
1883
- animation-timing-function: ease-in;
1884
- opacity: 0;
1885
- }
1886
-
1887
- 40% {
1888
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1889
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1890
- -webkit-animation-timing-function: ease-in;
1891
- animation-timing-function: ease-in;
1892
- }
1893
-
1894
- 60% {
1895
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1896
- transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1897
- opacity: 1;
1898
- }
1899
-
1900
- 80% {
1901
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1902
- transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1903
- }
1904
-
1905
- to {
1906
- -webkit-transform: perspective(400px);
1907
- transform: perspective(400px);
1908
- }
1909
- }
1910
-
1911
- .flipInX {
1912
- -webkit-backface-visibility: visible !important;
1913
- backface-visibility: visible !important;
1914
- -webkit-animation-name: flipInX;
1915
- animation-name: flipInX;
1916
- }
1917
-
1918
- @-webkit-keyframes flipInY {
1919
- from {
1920
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1921
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1922
- -webkit-animation-timing-function: ease-in;
1923
- animation-timing-function: ease-in;
1924
- opacity: 0;
1925
- }
1926
-
1927
- 40% {
1928
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1929
- transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1930
- -webkit-animation-timing-function: ease-in;
1931
- animation-timing-function: ease-in;
1932
- }
1933
-
1934
- 60% {
1935
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1936
- transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1937
- opacity: 1;
1938
- }
1939
-
1940
- 80% {
1941
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1942
- transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1943
- }
1944
-
1945
- to {
1946
- -webkit-transform: perspective(400px);
1947
- transform: perspective(400px);
1948
- }
1949
- }
1950
-
1951
- @keyframes flipInY {
1952
- from {
1953
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1954
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1955
- -webkit-animation-timing-function: ease-in;
1956
- animation-timing-function: ease-in;
1957
- opacity: 0;
1958
- }
1959
-
1960
- 40% {
1961
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1962
- transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1963
- -webkit-animation-timing-function: ease-in;
1964
- animation-timing-function: ease-in;
1965
- }
1966
-
1967
- 60% {
1968
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1969
- transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1970
- opacity: 1;
1971
- }
1972
-
1973
- 80% {
1974
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1975
- transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1976
- }
1977
-
1978
- to {
1979
- -webkit-transform: perspective(400px);
1980
- transform: perspective(400px);
1981
- }
1982
- }
1983
-
1984
- .flipInY {
1985
- -webkit-backface-visibility: visible !important;
1986
- backface-visibility: visible !important;
1987
- -webkit-animation-name: flipInY;
1988
- animation-name: flipInY;
1989
- }
1990
-
1991
- @-webkit-keyframes flipOutX {
1992
- from {
1993
- -webkit-transform: perspective(400px);
1994
- transform: perspective(400px);
1995
- }
1996
-
1997
- 30% {
1998
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1999
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2000
- opacity: 1;
2001
- }
2002
-
2003
- to {
2004
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2005
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2006
- opacity: 0;
2007
- }
2008
- }
2009
-
2010
- @keyframes flipOutX {
2011
- from {
2012
- -webkit-transform: perspective(400px);
2013
- transform: perspective(400px);
2014
- }
2015
-
2016
- 30% {
2017
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2018
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2019
- opacity: 1;
2020
- }
2021
-
2022
- to {
2023
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2024
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2025
- opacity: 0;
2026
- }
2027
- }
2028
-
2029
- .flipOutX {
2030
- -webkit-animation-name: flipOutX;
2031
- animation-name: flipOutX;
2032
- -webkit-backface-visibility: visible !important;
2033
- backface-visibility: visible !important;
2034
- }
2035
-
2036
- @-webkit-keyframes flipOutY {
2037
- from {
2038
- -webkit-transform: perspective(400px);
2039
- transform: perspective(400px);
2040
- }
2041
-
2042
- 30% {
2043
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2044
- transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2045
- opacity: 1;
2046
- }
2047
-
2048
- to {
2049
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2050
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2051
- opacity: 0;
2052
- }
2053
- }
2054
-
2055
- @keyframes flipOutY {
2056
- from {
2057
- -webkit-transform: perspective(400px);
2058
- transform: perspective(400px);
2059
- }
2060
-
2061
- 30% {
2062
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2063
- transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2064
- opacity: 1;
2065
- }
2066
-
2067
- to {
2068
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2069
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2070
- opacity: 0;
2071
- }
2072
- }
2073
-
2074
- .flipOutY {
2075
- -webkit-backface-visibility: visible !important;
2076
- backface-visibility: visible !important;
2077
- -webkit-animation-name: flipOutY;
2078
- animation-name: flipOutY;
2079
- }
2080
-
2081
- @-webkit-keyframes lightSpeedIn {
2082
- from {
2083
- -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2084
- transform: translate3d(100%, 0, 0) skewX(-30deg);
2085
- opacity: 0;
2086
- }
2087
-
2088
- 60% {
2089
- -webkit-transform: skewX(20deg);
2090
- transform: skewX(20deg);
2091
- opacity: 1;
2092
- }
2093
-
2094
- 80% {
2095
- -webkit-transform: skewX(-5deg);
2096
- transform: skewX(-5deg);
2097
- opacity: 1;
2098
- }
2099
-
2100
- to {
2101
- -webkit-transform: none;
2102
- transform: none;
2103
- opacity: 1;
2104
- }
2105
- }
2106
-
2107
- @keyframes lightSpeedIn {
2108
- from {
2109
- -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2110
- transform: translate3d(100%, 0, 0) skewX(-30deg);
2111
- opacity: 0;
2112
- }
2113
-
2114
- 60% {
2115
- -webkit-transform: skewX(20deg);
2116
- transform: skewX(20deg);
2117
- opacity: 1;
2118
- }
2119
-
2120
- 80% {
2121
- -webkit-transform: skewX(-5deg);
2122
- transform: skewX(-5deg);
2123
- opacity: 1;
2124
- }
2125
-
2126
- to {
2127
- -webkit-transform: none;
2128
- transform: none;
2129
- opacity: 1;
2130
- }
2131
- }
2132
-
2133
- .lightSpeedIn {
2134
- -webkit-animation-name: lightSpeedIn;
2135
- animation-name: lightSpeedIn;
2136
- -webkit-animation-timing-function: ease-out;
2137
- animation-timing-function: ease-out;
2138
- }
2139
-
2140
- @-webkit-keyframes lightSpeedOut {
2141
- from {
2142
- opacity: 1;
2143
- }
2144
-
2145
- to {
2146
- -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2147
- transform: translate3d(100%, 0, 0) skewX(30deg);
2148
- opacity: 0;
2149
- }
2150
- }
2151
-
2152
- @keyframes lightSpeedOut {
2153
- from {
2154
- opacity: 1;
2155
- }
2156
-
2157
- to {
2158
- -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2159
- transform: translate3d(100%, 0, 0) skewX(30deg);
2160
- opacity: 0;
2161
- }
2162
- }
2163
-
2164
- .lightSpeedOut {
2165
- -webkit-animation-name: lightSpeedOut;
2166
- animation-name: lightSpeedOut;
2167
- -webkit-animation-timing-function: ease-in;
2168
- animation-timing-function: ease-in;
2169
- }
2170
-
2171
- @-webkit-keyframes rotateIn {
2172
- from {
2173
- -webkit-transform-origin: center;
2174
- transform-origin: center;
2175
- -webkit-transform: rotate3d(0, 0, 1, -200deg);
2176
- transform: rotate3d(0, 0, 1, -200deg);
2177
- opacity: 0;
2178
- }
2179
-
2180
- to {
2181
- -webkit-transform-origin: center;
2182
- transform-origin: center;
2183
- -webkit-transform: none;
2184
- transform: none;
2185
- opacity: 1;
2186
- }
2187
- }
2188
-
2189
- @keyframes rotateIn {
2190
- from {
2191
- -webkit-transform-origin: center;
2192
- transform-origin: center;
2193
- -webkit-transform: rotate3d(0, 0, 1, -200deg);
2194
- transform: rotate3d(0, 0, 1, -200deg);
2195
- opacity: 0;
2196
- }
2197
-
2198
- to {
2199
- -webkit-transform-origin: center;
2200
- transform-origin: center;
2201
- -webkit-transform: none;
2202
- transform: none;
2203
- opacity: 1;
2204
- }
2205
- }
2206
-
2207
- .rotateIn {
2208
- -webkit-animation-name: rotateIn;
2209
- animation-name: rotateIn;
2210
- }
2211
-
2212
- @-webkit-keyframes rotateInDownLeft {
2213
- from {
2214
- -webkit-transform-origin: left bottom;
2215
- transform-origin: left bottom;
2216
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
2217
- transform: rotate3d(0, 0, 1, -45deg);
2218
- opacity: 0;
2219
- }
2220
-
2221
- to {
2222
- -webkit-transform-origin: left bottom;
2223
- transform-origin: left bottom;
2224
- -webkit-transform: none;
2225
- transform: none;
2226
- opacity: 1;
2227
- }
2228
- }
2229
-
2230
- @keyframes rotateInDownLeft {
2231
- from {
2232
- -webkit-transform-origin: left bottom;
2233
- transform-origin: left bottom;
2234
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
2235
- transform: rotate3d(0, 0, 1, -45deg);
2236
- opacity: 0;
2237
- }
2238
-
2239
- to {
2240
- -webkit-transform-origin: left bottom;
2241
- transform-origin: left bottom;
2242
- -webkit-transform: none;
2243
- transform: none;
2244
- opacity: 1;
2245
- }
2246
- }
2247
-
2248
- .rotateInDownLeft {
2249
- -webkit-animation-name: rotateInDownLeft;
2250
- animation-name: rotateInDownLeft;
2251
- }
2252
-
2253
- @-webkit-keyframes rotateInDownRight {
2254
- from {
2255
- -webkit-transform-origin: right bottom;
2256
- transform-origin: right bottom;
2257
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
2258
- transform: rotate3d(0, 0, 1, 45deg);
2259
- opacity: 0;
2260
- }
2261
-
2262
- to {
2263
- -webkit-transform-origin: right bottom;
2264
- transform-origin: right bottom;
2265
- -webkit-transform: none;
2266
- transform: none;
2267
- opacity: 1;
2268
- }
2269
- }
2270
-
2271
- @keyframes rotateInDownRight {
2272
- from {
2273
- -webkit-transform-origin: right bottom;
2274
- transform-origin: right bottom;
2275
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
2276
- transform: rotate3d(0, 0, 1, 45deg);
2277
- opacity: 0;
2278
- }
2279
-
2280
- to {
2281
- -webkit-transform-origin: right bottom;
2282
- transform-origin: right bottom;
2283
- -webkit-transform: none;
2284
- transform: none;
2285
- opacity: 1;
2286
- }
2287
- }
2288
-
2289
- .rotateInDownRight {
2290
- -webkit-animation-name: rotateInDownRight;
2291
- animation-name: rotateInDownRight;
2292
- }
2293
-
2294
- @-webkit-keyframes rotateInUpLeft {
2295
- from {
2296
- -webkit-transform-origin: left bottom;
2297
- transform-origin: left bottom;
2298
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
2299
- transform: rotate3d(0, 0, 1, 45deg);
2300
- opacity: 0;
2301
- }
2302
-
2303
- to {
2304
- -webkit-transform-origin: left bottom;
2305
- transform-origin: left bottom;
2306
- -webkit-transform: none;
2307
- transform: none;
2308
- opacity: 1;
2309
- }
2310
- }
2311
-
2312
- @keyframes rotateInUpLeft {
2313
- from {
2314
- -webkit-transform-origin: left bottom;
2315
- transform-origin: left bottom;
2316
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
2317
- transform: rotate3d(0, 0, 1, 45deg);
2318
- opacity: 0;
2319
- }
2320
-
2321
- to {
2322
- -webkit-transform-origin: left bottom;
2323
- transform-origin: left bottom;
2324
- -webkit-transform: none;
2325
- transform: none;
2326
- opacity: 1;
2327
- }
2328
- }
2329
-
2330
- .rotateInUpLeft {
2331
- -webkit-animation-name: rotateInUpLeft;
2332
- animation-name: rotateInUpLeft;
2333
- }
2334
-
2335
- @-webkit-keyframes rotateInUpRight {
2336
- from {
2337
- -webkit-transform-origin: right bottom;
2338
- transform-origin: right bottom;
2339
- -webkit-transform: rotate3d(0, 0, 1, -90deg);
2340
- transform: rotate3d(0, 0, 1, -90deg);
2341
- opacity: 0;
2342
- }
2343
-
2344
- to {
2345
- -webkit-transform-origin: right bottom;
2346
- transform-origin: right bottom;
2347
- -webkit-transform: none;
2348
- transform: none;
2349
- opacity: 1;
2350
- }
2351
- }
2352
-
2353
- @keyframes rotateInUpRight {
2354
- from {
2355
- -webkit-transform-origin: right bottom;
2356
- transform-origin: right bottom;
2357
- -webkit-transform: rotate3d(0, 0, 1, -90deg);
2358
- transform: rotate3d(0, 0, 1, -90deg);
2359
- opacity: 0;
2360
- }
2361
-
2362
- to {
2363
- -webkit-transform-origin: right bottom;
2364
- transform-origin: right bottom;
2365
- -webkit-transform: none;
2366
- transform: none;
2367
- opacity: 1;
2368
- }
2369
- }
2370
-
2371
- .rotateInUpRight {
2372
- -webkit-animation-name: rotateInUpRight;
2373
- animation-name: rotateInUpRight;
2374
- }
2375
-
2376
- @-webkit-keyframes rotateOut {
2377
- from {
2378
- -webkit-transform-origin: center;
2379
- transform-origin: center;
2380
- opacity: 1;
2381
- }
2382
-
2383
- to {
2384
- -webkit-transform-origin: center;
2385
- transform-origin: center;
2386
- -webkit-transform: rotate3d(0, 0, 1, 200deg);
2387
- transform: rotate3d(0, 0, 1, 200deg);
2388
- opacity: 0;
2389
- }
2390
- }
2391
-
2392
- @keyframes rotateOut {
2393
- from {
2394
- -webkit-transform-origin: center;
2395
- transform-origin: center;
2396
- opacity: 1;
2397
- }
2398
-
2399
- to {
2400
- -webkit-transform-origin: center;
2401
- transform-origin: center;
2402
- -webkit-transform: rotate3d(0, 0, 1, 200deg);
2403
- transform: rotate3d(0, 0, 1, 200deg);
2404
- opacity: 0;
2405
- }
2406
- }
2407
-
2408
- .rotateOut {
2409
- -webkit-animation-name: rotateOut;
2410
- animation-name: rotateOut;
2411
- }
2412
-
2413
- @-webkit-keyframes rotateOutDownLeft {
2414
- from {
2415
- -webkit-transform-origin: left bottom;
2416
- transform-origin: left bottom;
2417
- opacity: 1;
2418
- }
2419
-
2420
- to {
2421
- -webkit-transform-origin: left bottom;
2422
- transform-origin: left bottom;
2423
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
2424
- transform: rotate3d(0, 0, 1, 45deg);
2425
- opacity: 0;
2426
- }
2427
- }
2428
-
2429
- @keyframes rotateOutDownLeft {
2430
- from {
2431
- -webkit-transform-origin: left bottom;
2432
- transform-origin: left bottom;
2433
- opacity: 1;
2434
- }
2435
-
2436
- to {
2437
- -webkit-transform-origin: left bottom;
2438
- transform-origin: left bottom;
2439
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
2440
- transform: rotate3d(0, 0, 1, 45deg);
2441
- opacity: 0;
2442
- }
2443
- }
2444
-
2445
- .rotateOutDownLeft {
2446
- -webkit-animation-name: rotateOutDownLeft;
2447
- animation-name: rotateOutDownLeft;
2448
- }
2449
-
2450
- @-webkit-keyframes rotateOutDownRight {
2451
- from {
2452
- -webkit-transform-origin: right bottom;
2453
- transform-origin: right bottom;
2454
- opacity: 1;
2455
- }
2456
-
2457
- to {
2458
- -webkit-transform-origin: right bottom;
2459
- transform-origin: right bottom;
2460
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
2461
- transform: rotate3d(0, 0, 1, -45deg);
2462
- opacity: 0;
2463
- }
2464
- }
2465
-
2466
- @keyframes rotateOutDownRight {
2467
- from {
2468
- -webkit-transform-origin: right bottom;
2469
- transform-origin: right bottom;
2470
- opacity: 1;
2471
- }
2472
-
2473
- to {
2474
- -webkit-transform-origin: right bottom;
2475
- transform-origin: right bottom;
2476
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
2477
- transform: rotate3d(0, 0, 1, -45deg);
2478
- opacity: 0;
2479
- }
2480
- }
2481
-
2482
- .rotateOutDownRight {
2483
- -webkit-animation-name: rotateOutDownRight;
2484
- animation-name: rotateOutDownRight;
2485
- }
2486
-
2487
- @-webkit-keyframes rotateOutUpLeft {
2488
- from {
2489
- -webkit-transform-origin: left bottom;
2490
- transform-origin: left bottom;
2491
- opacity: 1;
2492
- }
2493
-
2494
- to {
2495
- -webkit-transform-origin: left bottom;
2496
- transform-origin: left bottom;
2497
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
2498
- transform: rotate3d(0, 0, 1, -45deg);
2499
- opacity: 0;
2500
- }
2501
- }
2502
-
2503
- @keyframes rotateOutUpLeft {
2504
- from {
2505
- -webkit-transform-origin: left bottom;
2506
- transform-origin: left bottom;
2507
- opacity: 1;
2508
- }
2509
-
2510
- to {
2511
- -webkit-transform-origin: left bottom;
2512
- transform-origin: left bottom;
2513
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
2514
- transform: rotate3d(0, 0, 1, -45deg);
2515
- opacity: 0;
2516
- }
2517
- }
2518
-
2519
- .rotateOutUpLeft {
2520
- -webkit-animation-name: rotateOutUpLeft;
2521
- animation-name: rotateOutUpLeft;
2522
- }
2523
-
2524
- @-webkit-keyframes rotateOutUpRight {
2525
- from {
2526
- -webkit-transform-origin: right bottom;
2527
- transform-origin: right bottom;
2528
- opacity: 1;
2529
- }
2530
-
2531
- to {
2532
- -webkit-transform-origin: right bottom;
2533
- transform-origin: right bottom;
2534
- -webkit-transform: rotate3d(0, 0, 1, 90deg);
2535
- transform: rotate3d(0, 0, 1, 90deg);
2536
- opacity: 0;
2537
- }
2538
- }
2539
-
2540
- @keyframes rotateOutUpRight {
2541
- from {
2542
- -webkit-transform-origin: right bottom;
2543
- transform-origin: right bottom;
2544
- opacity: 1;
2545
- }
2546
-
2547
- to {
2548
- -webkit-transform-origin: right bottom;
2549
- transform-origin: right bottom;
2550
- -webkit-transform: rotate3d(0, 0, 1, 90deg);
2551
- transform: rotate3d(0, 0, 1, 90deg);
2552
- opacity: 0;
2553
- }
2554
- }
2555
-
2556
- .rotateOutUpRight {
2557
- -webkit-animation-name: rotateOutUpRight;
2558
- animation-name: rotateOutUpRight;
2559
- }
2560
-
2561
- @-webkit-keyframes hinge {
2562
- 0% {
2563
- -webkit-transform-origin: top left;
2564
- transform-origin: top left;
2565
- -webkit-animation-timing-function: ease-in-out;
2566
- animation-timing-function: ease-in-out;
2567
- }
2568
-
2569
- 20%, 60% {
2570
- -webkit-transform: rotate3d(0, 0, 1, 80deg);
2571
- transform: rotate3d(0, 0, 1, 80deg);
2572
- -webkit-transform-origin: top left;
2573
- transform-origin: top left;
2574
- -webkit-animation-timing-function: ease-in-out;
2575
- animation-timing-function: ease-in-out;
2576
- }
2577
-
2578
- 40%, 80% {
2579
- -webkit-transform: rotate3d(0, 0, 1, 60deg);
2580
- transform: rotate3d(0, 0, 1, 60deg);
2581
- -webkit-transform-origin: top left;
2582
- transform-origin: top left;
2583
- -webkit-animation-timing-function: ease-in-out;
2584
- animation-timing-function: ease-in-out;
2585
- opacity: 1;
2586
- }
2587
-
2588
- to {
2589
- -webkit-transform: translate3d(0, 700px, 0);
2590
- transform: translate3d(0, 700px, 0);
2591
- opacity: 0;
2592
- }
2593
- }
2594
-
2595
- @keyframes hinge {
2596
- 0% {
2597
- -webkit-transform-origin: top left;
2598
- transform-origin: top left;
2599
- -webkit-animation-timing-function: ease-in-out;
2600
- animation-timing-function: ease-in-out;
2601
- }
2602
-
2603
- 20%, 60% {
2604
- -webkit-transform: rotate3d(0, 0, 1, 80deg);
2605
- transform: rotate3d(0, 0, 1, 80deg);
2606
- -webkit-transform-origin: top left;
2607
- transform-origin: top left;
2608
- -webkit-animation-timing-function: ease-in-out;
2609
- animation-timing-function: ease-in-out;
2610
- }
2611
-
2612
- 40%, 80% {
2613
- -webkit-transform: rotate3d(0, 0, 1, 60deg);
2614
- transform: rotate3d(0, 0, 1, 60deg);
2615
- -webkit-transform-origin: top left;
2616
- transform-origin: top left;
2617
- -webkit-animation-timing-function: ease-in-out;
2618
- animation-timing-function: ease-in-out;
2619
- opacity: 1;
2620
- }
2621
-
2622
- to {
2623
- -webkit-transform: translate3d(0, 700px, 0);
2624
- transform: translate3d(0, 700px, 0);
2625
- opacity: 0;
2626
- }
2627
- }
2628
-
2629
- .hinge {
2630
- -webkit-animation-name: hinge;
2631
- animation-name: hinge;
2632
- }
2633
-
2634
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2635
-
2636
- @-webkit-keyframes rollIn {
2637
- from {
2638
- opacity: 0;
2639
- -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2640
- transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2641
- }
2642
-
2643
- to {
2644
- opacity: 1;
2645
- -webkit-transform: none;
2646
- transform: none;
2647
- }
2648
- }
2649
-
2650
- @keyframes rollIn {
2651
- from {
2652
- opacity: 0;
2653
- -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2654
- transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2655
- }
2656
-
2657
- to {
2658
- opacity: 1;
2659
- -webkit-transform: none;
2660
- transform: none;
2661
- }
2662
- }
2663
-
2664
- .rollIn {
2665
- -webkit-animation-name: rollIn;
2666
- animation-name: rollIn;
2667
- }
2668
-
2669
- /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2670
-
2671
- @-webkit-keyframes rollOut {
2672
- from {
2673
- opacity: 1;
2674
- }
2675
-
2676
- to {
2677
- opacity: 0;
2678
- -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2679
- transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2680
- }
2681
- }
2682
-
2683
- @keyframes rollOut {
2684
- from {
2685
- opacity: 1;
2686
- }
2687
-
2688
- to {
2689
- opacity: 0;
2690
- -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2691
- transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2692
- }
2693
- }
2694
-
2695
- .rollOut {
2696
- -webkit-animation-name: rollOut;
2697
- animation-name: rollOut;
2698
- }
2699
-
2700
- @-webkit-keyframes zoomIn {
2701
- from {
2702
- opacity: 0;
2703
- -webkit-transform: scale3d(.3, .3, .3);
2704
- transform: scale3d(.3, .3, .3);
2705
- }
2706
-
2707
- 50% {
2708
- opacity: 1;
2709
- }
2710
- }
2711
-
2712
- @keyframes zoomIn {
2713
- from {
2714
- opacity: 0;
2715
- -webkit-transform: scale3d(.3, .3, .3);
2716
- transform: scale3d(.3, .3, .3);
2717
- }
2718
-
2719
- 50% {
2720
- opacity: 1;
2721
- }
2722
- }
2723
-
2724
- .zoomIn {
2725
- -webkit-animation-name: zoomIn;
2726
- animation-name: zoomIn;
2727
- }
2728
-
2729
- @-webkit-keyframes zoomInDown {
2730
- from {
2731
- opacity: 0;
2732
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2733
- transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2734
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2735
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2736
- }
2737
-
2738
- 60% {
2739
- opacity: 1;
2740
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2741
- transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2742
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2743
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2744
- }
2745
- }
2746
-
2747
- @keyframes zoomInDown {
2748
- from {
2749
- opacity: 0;
2750
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2751
- transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2752
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2753
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2754
- }
2755
-
2756
- 60% {
2757
- opacity: 1;
2758
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2759
- transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2760
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2761
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2762
- }
2763
- }
2764
-
2765
- .zoomInDown {
2766
- -webkit-animation-name: zoomInDown;
2767
- animation-name: zoomInDown;
2768
- }
2769
-
2770
- @-webkit-keyframes zoomInLeft {
2771
- from {
2772
- opacity: 0;
2773
- -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2774
- transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2775
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2776
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2777
- }
2778
-
2779
- 60% {
2780
- opacity: 1;
2781
- -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2782
- transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2783
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2784
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2785
- }
2786
- }
2787
-
2788
- @keyframes zoomInLeft {
2789
- from {
2790
- opacity: 0;
2791
- -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2792
- transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2793
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2794
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2795
- }
2796
-
2797
- 60% {
2798
- opacity: 1;
2799
- -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2800
- transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2801
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2802
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2803
- }
2804
- }
2805
-
2806
- .zoomInLeft {
2807
- -webkit-animation-name: zoomInLeft;
2808
- animation-name: zoomInLeft;
2809
- }
2810
-
2811
- @-webkit-keyframes zoomInRight {
2812
- from {
2813
- opacity: 0;
2814
- -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2815
- transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2816
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2817
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2818
- }
2819
-
2820
- 60% {
2821
- opacity: 1;
2822
- -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2823
- transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2824
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2825
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2826
- }
2827
- }
2828
-
2829
- @keyframes zoomInRight {
2830
- from {
2831
- opacity: 0;
2832
- -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2833
- transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2834
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2835
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2836
- }
2837
-
2838
- 60% {
2839
- opacity: 1;
2840
- -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2841
- transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2842
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2843
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2844
- }
2845
- }
2846
-
2847
- .zoomInRight {
2848
- -webkit-animation-name: zoomInRight;
2849
- animation-name: zoomInRight;
2850
- }
2851
-
2852
- @-webkit-keyframes zoomInUp {
2853
- from {
2854
- opacity: 0;
2855
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2856
- transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2857
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2858
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2859
- }
2860
-
2861
- 60% {
2862
- opacity: 1;
2863
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2864
- transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2865
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2866
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2867
- }
2868
- }
2869
-
2870
- @keyframes zoomInUp {
2871
- from {
2872
- opacity: 0;
2873
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2874
- transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2875
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2876
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2877
- }
2878
-
2879
- 60% {
2880
- opacity: 1;
2881
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2882
- transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2883
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2884
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2885
- }
2886
- }
2887
-
2888
- .zoomInUp {
2889
- -webkit-animation-name: zoomInUp;
2890
- animation-name: zoomInUp;
2891
- }
2892
-
2893
- @-webkit-keyframes zoomOut {
2894
- from {
2895
- opacity: 1;
2896
- }
2897
-
2898
- 50% {
2899
- opacity: 0;
2900
- -webkit-transform: scale3d(.3, .3, .3);
2901
- transform: scale3d(.3, .3, .3);
2902
- }
2903
-
2904
- to {
2905
- opacity: 0;
2906
- }
2907
- }
2908
-
2909
- @keyframes zoomOut {
2910
- from {
2911
- opacity: 1;
2912
- }
2913
-
2914
- 50% {
2915
- opacity: 0;
2916
- -webkit-transform: scale3d(.3, .3, .3);
2917
- transform: scale3d(.3, .3, .3);
2918
- }
2919
-
2920
- to {
2921
- opacity: 0;
2922
- }
2923
- }
2924
-
2925
- .zoomOut {
2926
- -webkit-animation-name: zoomOut;
2927
- animation-name: zoomOut;
2928
- }
2929
-
2930
- @-webkit-keyframes zoomOutDown {
2931
- 40% {
2932
- opacity: 1;
2933
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2934
- transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2935
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2936
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2937
- }
2938
-
2939
- to {
2940
- opacity: 0;
2941
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2942
- transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2943
- -webkit-transform-origin: center bottom;
2944
- transform-origin: center bottom;
2945
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2946
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2947
- }
2948
- }
2949
-
2950
- @keyframes zoomOutDown {
2951
- 40% {
2952
- opacity: 1;
2953
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2954
- transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2955
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2956
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2957
- }
2958
-
2959
- to {
2960
- opacity: 0;
2961
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2962
- transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2963
- -webkit-transform-origin: center bottom;
2964
- transform-origin: center bottom;
2965
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2966
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2967
- }
2968
- }
2969
-
2970
- .zoomOutDown {
2971
- -webkit-animation-name: zoomOutDown;
2972
- animation-name: zoomOutDown;
2973
- }
2974
-
2975
- @-webkit-keyframes zoomOutLeft {
2976
- 40% {
2977
- opacity: 1;
2978
- -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2979
- transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2980
- }
2981
-
2982
- to {
2983
- opacity: 0;
2984
- -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
2985
- transform: scale(.1) translate3d(-2000px, 0, 0);
2986
- -webkit-transform-origin: left center;
2987
- transform-origin: left center;
2988
- }
2989
- }
2990
-
2991
- @keyframes zoomOutLeft {
2992
- 40% {
2993
- opacity: 1;
2994
- -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2995
- transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2996
- }
2997
-
2998
- to {
2999
- opacity: 0;
3000
- -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
3001
- transform: scale(.1) translate3d(-2000px, 0, 0);
3002
- -webkit-transform-origin: left center;
3003
- transform-origin: left center;
3004
- }
3005
- }
3006
-
3007
- .zoomOutLeft {
3008
- -webkit-animation-name: zoomOutLeft;
3009
- animation-name: zoomOutLeft;
3010
- }
3011
-
3012
- @-webkit-keyframes zoomOutRight {
3013
- 40% {
3014
- opacity: 1;
3015
- -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3016
- transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3017
- }
3018
-
3019
- to {
3020
- opacity: 0;
3021
- -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
3022
- transform: scale(.1) translate3d(2000px, 0, 0);
3023
- -webkit-transform-origin: right center;
3024
- transform-origin: right center;
3025
- }
3026
- }
3027
-
3028
- @keyframes zoomOutRight {
3029
- 40% {
3030
- opacity: 1;
3031
- -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3032
- transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3033
- }
3034
-
3035
- to {
3036
- opacity: 0;
3037
- -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
3038
- transform: scale(.1) translate3d(2000px, 0, 0);
3039
- -webkit-transform-origin: right center;
3040
- transform-origin: right center;
3041
- }
3042
- }
3043
-
3044
- .zoomOutRight {
3045
- -webkit-animation-name: zoomOutRight;
3046
- animation-name: zoomOutRight;
3047
- }
3048
-
3049
- @-webkit-keyframes zoomOutUp {
3050
- 40% {
3051
- opacity: 1;
3052
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3053
- transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3054
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3055
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3056
- }
3057
-
3058
- to {
3059
- opacity: 0;
3060
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3061
- transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3062
- -webkit-transform-origin: center bottom;
3063
- transform-origin: center bottom;
3064
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3065
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3066
- }
3067
- }
3068
-
3069
- @keyframes zoomOutUp {
3070
- 40% {
3071
- opacity: 1;
3072
- -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3073
- transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3074
- -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3075
- animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3076
- }
3077
-
3078
- to {
3079
- opacity: 0;
3080
- -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3081
- transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3082
- -webkit-transform-origin: center bottom;
3083
- transform-origin: center bottom;
3084
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3085
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3086
- }
3087
- }
3088
-
3089
- .zoomOutUp {
3090
- -webkit-animation-name: zoomOutUp;
3091
- animation-name: zoomOutUp;
3092
- }
3093
-
3094
- @-webkit-keyframes slideInDown {
3095
- from {
3096
- -webkit-transform: translate3d(0, -100%, 0);
3097
- transform: translate3d(0, -100%, 0);
3098
- visibility: visible;
3099
- }
3100
-
3101
- to {
3102
- -webkit-transform: translate3d(0, 0, 0);
3103
- transform: translate3d(0, 0, 0);
3104
- }
3105
- }
3106
-
3107
- @keyframes slideInDown {
3108
- from {
3109
- -webkit-transform: translate3d(0, -100%, 0);
3110
- transform: translate3d(0, -100%, 0);
3111
- visibility: visible;
3112
- }
3113
-
3114
- to {
3115
- -webkit-transform: translate3d(0, 0, 0);
3116
- transform: translate3d(0, 0, 0);
3117
- }
3118
- }
3119
-
3120
- .slideInDown {
3121
- -webkit-animation-name: slideInDown;
3122
- animation-name: slideInDown;
3123
- }
3124
-
3125
- @-webkit-keyframes slideInLeft {
3126
- from {
3127
- -webkit-transform: translate3d(-100%, 0, 0);
3128
- transform: translate3d(-100%, 0, 0);
3129
- visibility: visible;
3130
- }
3131
-
3132
- to {
3133
- -webkit-transform: translate3d(0, 0, 0);
3134
- transform: translate3d(0, 0, 0);
3135
- }
3136
- }
3137
-
3138
- @keyframes slideInLeft {
3139
- from {
3140
- -webkit-transform: translate3d(-100%, 0, 0);
3141
- transform: translate3d(-100%, 0, 0);
3142
- visibility: visible;
3143
- }
3144
-
3145
- to {
3146
- -webkit-transform: translate3d(0, 0, 0);
3147
- transform: translate3d(0, 0, 0);
3148
- }
3149
- }
3150
-
3151
- .slideInLeft {
3152
- -webkit-animation-name: slideInLeft;
3153
- animation-name: slideInLeft;
3154
- }
3155
-
3156
- @-webkit-keyframes slideInRight {
3157
- from {
3158
- -webkit-transform: translate3d(100%, 0, 0);
3159
- transform: translate3d(100%, 0, 0);
3160
- visibility: visible;
3161
- }
3162
-
3163
- to {
3164
- -webkit-transform: translate3d(0, 0, 0);
3165
- transform: translate3d(0, 0, 0);
3166
- }
3167
- }
3168
-
3169
- @keyframes slideInRight {
3170
- from {
3171
- -webkit-transform: translate3d(100%, 0, 0);
3172
- transform: translate3d(100%, 0, 0);
3173
- visibility: visible;
3174
- }
3175
-
3176
- to {
3177
- -webkit-transform: translate3d(0, 0, 0);
3178
- transform: translate3d(0, 0, 0);
3179
- }
3180
- }
3181
-
3182
- .slideInRight {
3183
- -webkit-animation-name: slideInRight;
3184
- animation-name: slideInRight;
3185
- }
3186
-
3187
- @-webkit-keyframes slideInUp {
3188
- from {
3189
- -webkit-transform: translate3d(0, 100%, 0);
3190
- transform: translate3d(0, 100%, 0);
3191
- visibility: visible;
3192
- }
3193
-
3194
- to {
3195
- -webkit-transform: translate3d(0, 0, 0);
3196
- transform: translate3d(0, 0, 0);
3197
- }
3198
- }
3199
-
3200
- @keyframes slideInUp {
3201
- from {
3202
- -webkit-transform: translate3d(0, 100%, 0);
3203
- transform: translate3d(0, 100%, 0);
3204
- visibility: visible;
3205
- }
3206
-
3207
- to {
3208
- -webkit-transform: translate3d(0, 0, 0);
3209
- transform: translate3d(0, 0, 0);
3210
- }
3211
- }
3212
-
3213
- .slideInUp {
3214
- -webkit-animation-name: slideInUp;
3215
- animation-name: slideInUp;
3216
- }
3217
-
3218
- @-webkit-keyframes slideOutDown {
3219
- from {
3220
- -webkit-transform: translate3d(0, 0, 0);
3221
- transform: translate3d(0, 0, 0);
3222
- }
3223
-
3224
- to {
3225
- visibility: hidden;
3226
- -webkit-transform: translate3d(0, 100%, 0);
3227
- transform: translate3d(0, 100%, 0);
3228
- }
3229
- }
3230
-
3231
- @keyframes slideOutDown {
3232
- from {
3233
- -webkit-transform: translate3d(0, 0, 0);
3234
- transform: translate3d(0, 0, 0);
3235
- }
3236
-
3237
- to {
3238
- visibility: hidden;
3239
- -webkit-transform: translate3d(0, 100%, 0);
3240
- transform: translate3d(0, 100%, 0);
3241
- }
3242
- }
3243
-
3244
- .slideOutDown {
3245
- -webkit-animation-name: slideOutDown;
3246
- animation-name: slideOutDown;
3247
- }
3248
-
3249
- @-webkit-keyframes slideOutLeft {
3250
- from {
3251
- -webkit-transform: translate3d(0, 0, 0);
3252
- transform: translate3d(0, 0, 0);
3253
- }
3254
-
3255
- to {
3256
- visibility: hidden;
3257
- -webkit-transform: translate3d(-100%, 0, 0);
3258
- transform: translate3d(-100%, 0, 0);
3259
- }
3260
- }
3261
-
3262
- @keyframes slideOutLeft {
3263
- from {
3264
- -webkit-transform: translate3d(0, 0, 0);
3265
- transform: translate3d(0, 0, 0);
3266
- }
3267
-
3268
- to {
3269
- visibility: hidden;
3270
- -webkit-transform: translate3d(-100%, 0, 0);
3271
- transform: translate3d(-100%, 0, 0);
3272
- }
3273
- }
3274
-
3275
- .slideOutLeft {
3276
- -webkit-animation-name: slideOutLeft;
3277
- animation-name: slideOutLeft;
3278
- }
3279
-
3280
- @-webkit-keyframes slideOutRight {
3281
- from {
3282
- -webkit-transform: translate3d(0, 0, 0);
3283
- transform: translate3d(0, 0, 0);
3284
- }
3285
-
3286
- to {
3287
- visibility: hidden;
3288
- -webkit-transform: translate3d(100%, 0, 0);
3289
- transform: translate3d(100%, 0, 0);
3290
- }
3291
- }
3292
-
3293
- @keyframes slideOutRight {
3294
- from {
3295
- -webkit-transform: translate3d(0, 0, 0);
3296
- transform: translate3d(0, 0, 0);
3297
- }
3298
-
3299
- to {
3300
- visibility: hidden;
3301
- -webkit-transform: translate3d(100%, 0, 0);
3302
- transform: translate3d(100%, 0, 0);
3303
- }
3304
- }
3305
-
3306
- .slideOutRight {
3307
- -webkit-animation-name: slideOutRight;
3308
- animation-name: slideOutRight;
3309
- }
3310
-
3311
- @-webkit-keyframes slideOutUp {
3312
- from {
3313
- -webkit-transform: translate3d(0, 0, 0);
3314
- transform: translate3d(0, 0, 0);
3315
- }
3316
-
3317
- to {
3318
- visibility: hidden;
3319
- -webkit-transform: translate3d(0, -100%, 0);
3320
- transform: translate3d(0, -100%, 0);
3321
- }
3322
- }
3323
-
3324
- @keyframes slideOutUp {
3325
- from {
3326
- -webkit-transform: translate3d(0, 0, 0);
3327
- transform: translate3d(0, 0, 0);
3328
- }
3329
-
3330
- to {
3331
- visibility: hidden;
3332
- -webkit-transform: translate3d(0, -100%, 0);
3333
- transform: translate3d(0, -100%, 0);
3334
- }
3335
- }
3336
-
3337
- .slideOutUp {
3338
- -webkit-animation-name: slideOutUp;
3339
- animation-name: slideOutUp;
3340
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/bootstrap-datepicker.css DELETED
@@ -1,471 +0,0 @@
1
- /*!
2
- * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)
3
- *
4
- * Copyright 2012 Stefan Petre
5
- * Improvements by Andrew Rowls
6
- * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
7
- */
8
- .datepicker {
9
- padding: 4px;
10
- -webkit-border-radius: 4px;
11
- -moz-border-radius: 4px;
12
- border-radius: 4px;
13
- direction: ltr;
14
- }
15
- .datepicker-inline {
16
- width: 220px;
17
- }
18
- .datepicker.datepicker-rtl {
19
- direction: rtl;
20
- }
21
- .datepicker.datepicker-rtl table tr td span {
22
- float: right;
23
- }
24
- .datepicker-dropdown {
25
- top: 0;
26
- left: 0;
27
- }
28
- .datepicker-dropdown:before {
29
- content: '';
30
- display: inline-block;
31
- border-left: 7px solid transparent;
32
- border-right: 7px solid transparent;
33
- border-bottom: 7px solid #999;
34
- border-top: 0;
35
- border-bottom-color: rgba(0, 0, 0, 0.2);
36
- position: absolute;
37
- }
38
- .datepicker-dropdown:after {
39
- content: '';
40
- display: inline-block;
41
- border-left: 6px solid transparent;
42
- border-right: 6px solid transparent;
43
- border-bottom: 6px solid #fff;
44
- border-top: 0;
45
- position: absolute;
46
- }
47
- .datepicker-dropdown.datepicker-orient-left:before {
48
- left: 6px;
49
- }
50
- .datepicker-dropdown.datepicker-orient-left:after {
51
- left: 7px;
52
- }
53
- .datepicker-dropdown.datepicker-orient-right:before {
54
- right: 6px;
55
- }
56
- .datepicker-dropdown.datepicker-orient-right:after {
57
- right: 7px;
58
- }
59
- .datepicker-dropdown.datepicker-orient-bottom:before {
60
- top: -7px;
61
- }
62
- .datepicker-dropdown.datepicker-orient-bottom:after {
63
- top: -6px;
64
- }
65
- .datepicker-dropdown.datepicker-orient-top:before {
66
- bottom: -7px;
67
- border-bottom: 0;
68
- border-top: 7px solid #999;
69
- }
70
- .datepicker-dropdown.datepicker-orient-top:after {
71
- bottom: -6px;
72
- border-bottom: 0;
73
- border-top: 6px solid #fff;
74
- }
75
- .datepicker table {
76
- margin: 0;
77
- -webkit-touch-callout: none;
78
- -webkit-user-select: none;
79
- -khtml-user-select: none;
80
- -moz-user-select: none;
81
- -ms-user-select: none;
82
- user-select: none;
83
- }
84
- .datepicker td,
85
- .datepicker th {
86
- text-align: center;
87
- width: 20px;
88
- height: 20px;
89
- -webkit-border-radius: 4px;
90
- -moz-border-radius: 4px;
91
- border-radius: 4px;
92
- border: none;
93
- }
94
- .table-striped .datepicker table tr td,
95
- .table-striped .datepicker table tr th {
96
- background-color: transparent;
97
- }
98
- .datepicker table tr td.day:hover,
99
- .datepicker table tr td.day.focused {
100
- background: #eee;
101
- cursor: pointer;
102
- }
103
- .datepicker table tr td.old,
104
- .datepicker table tr td.new {
105
- color: #999;
106
- }
107
- .datepicker table tr td.disabled,
108
- .datepicker table tr td.disabled:hover {
109
- background: none;
110
- color: #999;
111
- cursor: default;
112
- }
113
- .datepicker table tr td.highlighted {
114
- background: #d9edf7;
115
- border-radius: 0;
116
- }
117
- .datepicker table tr td.today,
118
- .datepicker table tr td.today:hover,
119
- .datepicker table tr td.today.disabled,
120
- .datepicker table tr td.today.disabled:hover {
121
- background-color: #fde19a;
122
- background-image: -moz-linear-gradient(to bottom, #fdd49a, #fdf59a);
123
- background-image: -ms-linear-gradient(to bottom, #fdd49a, #fdf59a);
124
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
125
- background-image: -webkit-linear-gradient(to bottom, #fdd49a, #fdf59a);
126
- background-image: -o-linear-gradient(to bottom, #fdd49a, #fdf59a);
127
- background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
128
- background-repeat: repeat-x;
129
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
130
- border-color: #fdf59a #fdf59a #fbed50;
131
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
132
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
133
- color: #000;
134
- }
135
- .datepicker table tr td.today:hover,
136
- .datepicker table tr td.today:hover:hover,
137
- .datepicker table tr td.today.disabled:hover,
138
- .datepicker table tr td.today.disabled:hover:hover,
139
- .datepicker table tr td.today:active,
140
- .datepicker table tr td.today:hover:active,
141
- .datepicker table tr td.today.disabled:active,
142
- .datepicker table tr td.today.disabled:hover:active,
143
- .datepicker table tr td.today.active,
144
- .datepicker table tr td.today:hover.active,
145
- .datepicker table tr td.today.disabled.active,
146
- .datepicker table tr td.today.disabled:hover.active,
147
- .datepicker table tr td.today.disabled,
148
- .datepicker table tr td.today:hover.disabled,
149
- .datepicker table tr td.today.disabled.disabled,
150
- .datepicker table tr td.today.disabled:hover.disabled,
151
- .datepicker table tr td.today[disabled],
152
- .datepicker table tr td.today:hover[disabled],
153
- .datepicker table tr td.today.disabled[disabled],
154
- .datepicker table tr td.today.disabled:hover[disabled] {
155
- background-color: #fdf59a;
156
- }
157
- .datepicker table tr td.today:active,
158
- .datepicker table tr td.today:hover:active,
159
- .datepicker table tr td.today.disabled:active,
160
- .datepicker table tr td.today.disabled:hover:active,
161
- .datepicker table tr td.today.active,
162
- .datepicker table tr td.today:hover.active,
163
- .datepicker table tr td.today.disabled.active,
164
- .datepicker table tr td.today.disabled:hover.active {
165
- background-color: #fbf069 \9;
166
- }
167
- .datepicker table tr td.today:hover:hover {
168
- color: #000;
169
- }
170
- .datepicker table tr td.today.active:hover {
171
- color: #fff;
172
- }
173
- .datepicker table tr td.range,
174
- .datepicker table tr td.range:hover,
175
- .datepicker table tr td.range.disabled,
176
- .datepicker table tr td.range.disabled:hover {
177
- background: #eee;
178
- -webkit-border-radius: 0;
179
- -moz-border-radius: 0;
180
- border-radius: 0;
181
- }
182
- .datepicker table tr td.range.today,
183
- .datepicker table tr td.range.today:hover,
184
- .datepicker table tr td.range.today.disabled,
185
- .datepicker table tr td.range.today.disabled:hover {
186
- background-color: #f3d17a;
187
- background-image: -moz-linear-gradient(to bottom, #f3c17a, #f3e97a);
188
- background-image: -ms-linear-gradient(to bottom, #f3c17a, #f3e97a);
189
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
190
- background-image: -webkit-linear-gradient(to bottom, #f3c17a, #f3e97a);
191
- background-image: -o-linear-gradient(to bottom, #f3c17a, #f3e97a);
192
- background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
193
- background-repeat: repeat-x;
194
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
195
- border-color: #f3e97a #f3e97a #edde34;
196
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
197
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
198
- -webkit-border-radius: 0;
199
- -moz-border-radius: 0;
200
- border-radius: 0;
201
- }
202
- .datepicker table tr td.range.today:hover,
203
- .datepicker table tr td.range.today:hover:hover,
204
- .datepicker table tr td.range.today.disabled:hover,
205
- .datepicker table tr td.range.today.disabled:hover:hover,
206
- .datepicker table tr td.range.today:active,
207
- .datepicker table tr td.range.today:hover:active,
208
- .datepicker table tr td.range.today.disabled:active,
209
- .datepicker table tr td.range.today.disabled:hover:active,
210
- .datepicker table tr td.range.today.active,
211
- .datepicker table tr td.range.today:hover.active,
212
- .datepicker table tr td.range.today.disabled.active,
213
- .datepicker table tr td.range.today.disabled:hover.active,
214
- .datepicker table tr td.range.today.disabled,
215
- .datepicker table tr td.range.today:hover.disabled,
216
- .datepicker table tr td.range.today.disabled.disabled,
217
- .datepicker table tr td.range.today.disabled:hover.disabled,
218
- .datepicker table tr td.range.today[disabled],
219
- .datepicker table tr td.range.today:hover[disabled],
220
- .datepicker table tr td.range.today.disabled[disabled],
221
- .datepicker table tr td.range.today.disabled:hover[disabled] {
222
- background-color: #f3e97a;
223
- }
224
- .datepicker table tr td.range.today:active,
225
- .datepicker table tr td.range.today:hover:active,
226
- .datepicker table tr td.range.today.disabled:active,
227
- .datepicker table tr td.range.today.disabled:hover:active,
228
- .datepicker table tr td.range.today.active,
229
- .datepicker table tr td.range.today:hover.active,
230
- .datepicker table tr td.range.today.disabled.active,
231
- .datepicker table tr td.range.today.disabled:hover.active {
232
- background-color: #efe24b \9;
233
- }
234
- .datepicker table tr td.selected,
235
- .datepicker table tr td.selected:hover,
236
- .datepicker table tr td.selected.disabled,
237
- .datepicker table tr td.selected.disabled:hover {
238
- background-color: #9e9e9e;
239
- background-image: -moz-linear-gradient(to bottom, #b3b3b3, #808080);
240
- background-image: -ms-linear-gradient(to bottom, #b3b3b3, #808080);
241
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
242
- background-image: -webkit-linear-gradient(to bottom, #b3b3b3, #808080);
243
- background-image: -o-linear-gradient(to bottom, #b3b3b3, #808080);
244
- background-image: linear-gradient(to bottom, #b3b3b3, #808080);
245
- background-repeat: repeat-x;
246
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
247
- border-color: #808080 #808080 #595959;
248
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
249
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
250
- color: #fff;
251
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
252
- }
253
- .datepicker table tr td.selected:hover,
254
- .datepicker table tr td.selected:hover:hover,
255
- .datepicker table tr td.selected.disabled:hover,
256
- .datepicker table tr td.selected.disabled:hover:hover,
257
- .datepicker table tr td.selected:active,
258
- .datepicker table tr td.selected:hover:active,
259
- .datepicker table tr td.selected.disabled:active,
260
- .datepicker table tr td.selected.disabled:hover:active,
261
- .datepicker table tr td.selected.active,
262
- .datepicker table tr td.selected:hover.active,
263
- .datepicker table tr td.selected.disabled.active,
264
- .datepicker table tr td.selected.disabled:hover.active,
265
- .datepicker table tr td.selected.disabled,
266
- .datepicker table tr td.selected:hover.disabled,
267
- .datepicker table tr td.selected.disabled.disabled,
268
- .datepicker table tr td.selected.disabled:hover.disabled,
269
- .datepicker table tr td.selected[disabled],
270
- .datepicker table tr td.selected:hover[disabled],
271
- .datepicker table tr td.selected.disabled[disabled],
272
- .datepicker table tr td.selected.disabled:hover[disabled] {
273
- background-color: #808080;
274
- }
275
- .datepicker table tr td.selected:active,
276
- .datepicker table tr td.selected:hover:active,
277
- .datepicker table tr td.selected.disabled:active,
278
- .datepicker table tr td.selected.disabled:hover:active,
279
- .datepicker table tr td.selected.active,
280
- .datepicker table tr td.selected:hover.active,
281
- .datepicker table tr td.selected.disabled.active,
282
- .datepicker table tr td.selected.disabled:hover.active {
283
- background-color: #666666 \9;
284
- }
285
- .datepicker table tr td.active,
286
- .datepicker table tr td.active:hover,
287
- .datepicker table tr td.active.disabled,
288
- .datepicker table tr td.active.disabled:hover {
289
- background-color: #006dcc;
290
- background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);
291
- background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);
292
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));
293
- background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);
294
- background-image: -o-linear-gradient(to bottom, #08c, #0044cc);
295
- background-image: linear-gradient(to bottom, #08c, #0044cc);
296
- background-repeat: repeat-x;
297
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
298
- border-color: #0044cc #0044cc #002a80;
299
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
300
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
301
- color: #fff;
302
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
303
- }
304
- .datepicker table tr td.active:hover,
305
- .datepicker table tr td.active:hover:hover,
306
- .datepicker table tr td.active.disabled:hover,
307
- .datepicker table tr td.active.disabled:hover:hover,
308
- .datepicker table tr td.active:active,
309
- .datepicker table tr td.active:hover:active,
310
- .datepicker table tr td.active.disabled:active,
311
- .datepicker table tr td.active.disabled:hover:active,
312
- .datepicker table tr td.active.active,
313
- .datepicker table tr td.active:hover.active,
314
- .datepicker table tr td.active.disabled.active,
315
- .datepicker table tr td.active.disabled:hover.active,
316
- .datepicker table tr td.active.disabled,
317
- .datepicker table tr td.active:hover.disabled,
318
- .datepicker table tr td.active.disabled.disabled,
319
- .datepicker table tr td.active.disabled:hover.disabled,
320
- .datepicker table tr td.active[disabled],
321
- .datepicker table tr td.active:hover[disabled],
322
- .datepicker table tr td.active.disabled[disabled],
323
- .datepicker table tr td.active.disabled:hover[disabled] {
324
- background-color: #0044cc;
325
- }
326
- .datepicker table tr td.active:active,
327
- .datepicker table tr td.active:hover:active,
328
- .datepicker table tr td.active.disabled:active,
329
- .datepicker table tr td.active.disabled:hover:active,
330
- .datepicker table tr td.active.active,
331
- .datepicker table tr td.active:hover.active,
332
- .datepicker table tr td.active.disabled.active,
333
- .datepicker table tr td.active.disabled:hover.active {
334
- background-color: #003399 \9;
335
- }
336
- .datepicker table tr td span {
337
- display: block;
338
- width: 23%;
339
- height: 54px;
340
- line-height: 54px;
341
- float: left;
342
- margin: 1%;
343
- cursor: pointer;
344
- -webkit-border-radius: 4px;
345
- -moz-border-radius: 4px;
346
- border-radius: 4px;
347
- }
348
- .datepicker table tr td span:hover,
349
- .datepicker table tr td span.focused {
350
- background: #eee;
351
- }
352
- .datepicker table tr td span.disabled,
353
- .datepicker table tr td span.disabled:hover {
354
- background: none;
355
- color: #999;
356
- cursor: default;
357
- }
358
- .datepicker table tr td span.active,
359
- .datepicker table tr td span.active:hover,
360
- .datepicker table tr td span.active.disabled,
361
- .datepicker table tr td span.active.disabled:hover {
362
- background-color: #006dcc;
363
- background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);
364
- background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);
365
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));
366
- background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);
367
- background-image: -o-linear-gradient(to bottom, #08c, #0044cc);
368
- background-image: linear-gradient(to bottom, #08c, #0044cc);
369
- background-repeat: repeat-x;
370
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
371
- border-color: #0044cc #0044cc #002a80;
372
- border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
373
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
374
- color: #fff;
375
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
376
- }
377
- .datepicker table tr td span.active:hover,
378
- .datepicker table tr td span.active:hover:hover,
379
- .datepicker table tr td span.active.disabled:hover,
380
- .datepicker table tr td span.active.disabled:hover:hover,
381
- .datepicker table tr td span.active:active,
382
- .datepicker table tr td span.active:hover:active,
383
- .datepicker table tr td span.active.disabled:active,
384
- .datepicker table tr td span.active.disabled:hover:active,
385
- .datepicker table tr td span.active.active,
386
- .datepicker table tr td span.active:hover.active,
387
- .datepicker table tr td span.active.disabled.active,
388
- .datepicker table tr td span.active.disabled:hover.active,
389
- .datepicker table tr td span.active.disabled,
390
- .datepicker table tr td span.active:hover.disabled,
391
- .datepicker table tr td span.active.disabled.disabled,
392
- .datepicker table tr td span.active.disabled:hover.disabled,
393
- .datepicker table tr td span.active[disabled],
394
- .datepicker table tr td span.active:hover[disabled],
395
- .datepicker table tr td span.active.disabled[disabled],
396
- .datepicker table tr td span.active.disabled:hover[disabled] {
397
- background-color: #0044cc;
398
- }
399
- .datepicker table tr td span.active:active,
400
- .datepicker table tr td span.active:hover:active,
401
- .datepicker table tr td span.active.disabled:active,
402
- .datepicker table tr td span.active.disabled:hover:active,
403
- .datepicker table tr td span.active.active,
404
- .datepicker table tr td span.active:hover.active,
405
- .datepicker table tr td span.active.disabled.active,
406
- .datepicker table tr td span.active.disabled:hover.active {
407
- background-color: #003399 \9;
408
- }
409
- .datepicker table tr td span.old,
410
- .datepicker table tr td span.new {
411
- color: #999;
412
- }
413
- .datepicker .datepicker-switch {
414
- width: 145px;
415
- }
416
- .datepicker .datepicker-switch,
417
- .datepicker .prev,
418
- .datepicker .next,
419
- .datepicker tfoot tr th {
420
- cursor: pointer;
421
- }
422
- .datepicker .datepicker-switch:hover,
423
- .datepicker .prev:hover,
424
- .datepicker .next:hover,
425
- .datepicker tfoot tr th:hover {
426
- background: #eee;
427
- }
428
- .datepicker .cw {
429
- font-size: 10px;
430
- width: 12px;
431
- padding: 0 2px 0 5px;
432
- vertical-align: middle;
433
- }
434
- .input-append.date .add-on,
435
- .input-prepend.date .add-on {
436
- cursor: pointer;
437
- }
438
- .input-append.date .add-on i,
439
- .input-prepend.date .add-on i {
440
- margin-top: 3px;
441
- }
442
- .input-daterange input {
443
- text-align: center;
444
- }
445
- .input-daterange input:first-child {
446
- -webkit-border-radius: 3px 0 0 3px;
447
- -moz-border-radius: 3px 0 0 3px;
448
- border-radius: 3px 0 0 3px;
449
- }
450
- .input-daterange input:last-child {
451
- -webkit-border-radius: 0 3px 3px 0;
452
- -moz-border-radius: 0 3px 3px 0;
453
- border-radius: 0 3px 3px 0;
454
- }
455
- .input-daterange .add-on {
456
- display: inline-block;
457
- width: auto;
458
- min-width: 16px;
459
- height: 18px;
460
- padding: 4px 5px;
461
- font-weight: normal;
462
- line-height: 18px;
463
- text-align: center;
464
- text-shadow: 0 1px 0 #fff;
465
- vertical-align: middle;
466
- background-color: #eee;
467
- border: 1px solid #ccc;
468
- margin-left: -5px;
469
- margin-right: -5px;
470
- }
471
- /*# sourceMappingURL=bootstrap-datepicker.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/bootstrap-select.css DELETED
@@ -1,260 +0,0 @@
1
- /*!
2
- * Bootstrap-select v1.6.2 (http://silviomoreto.github.io/bootstrap-select/)
3
- *
4
- * Copyright 2013-2014 bootstrap-select
5
- * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
6
- */
7
-
8
- .bootstrap-select {
9
- /*width: 220px\9; IE8 and below*/
10
- width: 220px \0;
11
- /*IE9 and below*/
12
- }
13
- .bootstrap-select > .btn {
14
- width: 100%;
15
- padding-right: 25px;
16
- }
17
- .error .bootstrap-select .btn {
18
- border: 1px solid #b94a48;
19
- }
20
- .control-group.error .bootstrap-select .dropdown-toggle {
21
- border-color: #b94a48;
22
- }
23
- .bootstrap-select.fit-width {
24
- width: auto !important;
25
- }
26
- .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
27
- width: 220px;
28
- }
29
- .bootstrap-select .btn:focus {
30
- outline: thin dotted #333333 !important;
31
- outline: 5px auto -webkit-focus-ring-color !important;
32
- outline-offset: -2px;
33
- }
34
- .bootstrap-select.form-control {
35
- margin-bottom: 0;
36
- padding: 0;
37
- border: none;
38
- }
39
- .bootstrap-select.form-control:not([class*="col-"]) {
40
- width: 100%;
41
- }
42
- .bootstrap-select.btn-group:not(.input-group-btn),
43
- .bootstrap-select.btn-group[class*="col-"] {
44
- float: none;
45
- display: inline-block;
46
- margin-left: 0;
47
- }
48
- .bootstrap-select.btn-group.dropdown-menu-right,
49
- .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right,
50
- .row-fluid .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right {
51
- float: right;
52
- }
53
- .form-search .bootstrap-select.btn-group,
54
- .form-inline .bootstrap-select.btn-group,
55
- .form-horizontal .bootstrap-select.btn-group,
56
- .form-group .bootstrap-select.btn-group {
57
- margin-bottom: 0;
58
- }
59
- .form-group-lg .bootstrap-select.btn-group.form-control,
60
- .form-group-sm .bootstrap-select.btn-group.form-control {
61
- padding: 0;
62
- }
63
- .form-inline .bootstrap-select.btn-group .form-control {
64
- width: 100%;
65
- }
66
- .input-append .bootstrap-select.btn-group {
67
- margin-left: -1px;
68
- }
69
- .input-prepend .bootstrap-select.btn-group {
70
- margin-right: -1px;
71
- }
72
- .bootstrap-select.btn-group > .disabled {
73
- cursor: not-allowed;
74
- }
75
- .bootstrap-select.btn-group > .disabled:focus {
76
- outline: none !important;
77
- }
78
- .bootstrap-select.btn-group .btn .filter-option {
79
- display: inline-block;
80
- overflow: hidden;
81
- width: 100%;
82
- text-align: left;
83
- }
84
- .bootstrap-select.btn-group .btn .caret {
85
- position: absolute;
86
- top: 50%;
87
- right: 12px;
88
- margin-top: -2px;
89
- vertical-align: middle;
90
- }
91
- .bootstrap-select.btn-group[class*="col-"] .btn {
92
- width: 100%;
93
- }
94
- .bootstrap-select.btn-group .dropdown-menu {
95
- min-width: 100%;
96
- z-index: 1035;
97
- -webkit-box-sizing: border-box;
98
- -moz-box-sizing: border-box;
99
- box-sizing: border-box;
100
- }
101
- .bootstrap-select.btn-group .dropdown-menu.inner {
102
- position: static;
103
- border: 0;
104
- padding: 0;
105
- margin: 0;
106
- border-radius: 0;
107
- -webkit-box-shadow: none;
108
- box-shadow: none;
109
- }
110
- .bootstrap-select.btn-group .dropdown-menu li {
111
- position: relative;
112
- }
113
- .bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,
114
- .bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,
115
- .bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small {
116
- color: #64b1d8;
117
- color: rgba(100, 177, 216, 0.4);
118
- }
119
- .bootstrap-select.btn-group .dropdown-menu li.disabled a {
120
- cursor: not-allowed;
121
- }
122
- .bootstrap-select.btn-group .dropdown-menu li a {
123
- cursor: pointer;
124
- }
125
- .bootstrap-select.btn-group .dropdown-menu li a.opt {
126
- position: relative;
127
- padding-left: 2.25em;
128
- }
129
- .bootstrap-select.btn-group .dropdown-menu li a span.check-mark {
130
- display: none;
131
- }
132
- .bootstrap-select.btn-group .dropdown-menu li a span.text {
133
- display: inline-block;
134
- }
135
- .bootstrap-select.btn-group .dropdown-menu li small {
136
- padding-left: 0.5em;
137
- }
138
- .bootstrap-select.btn-group .dropdown-menu .notify {
139
- position: absolute;
140
- bottom: 5px;
141
- width: 96%;
142
- margin: 0 2%;
143
- min-height: 26px;
144
- padding: 3px 5px;
145
- background: #f5f5f5;
146
- border: 1px solid #e3e3e3;
147
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
148
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
149
- pointer-events: none;
150
- opacity: 0.9;
151
- -webkit-box-sizing: border-box;
152
- -moz-box-sizing: border-box;
153
- box-sizing: border-box;
154
- }
155
- .bootstrap-select.btn-group .no-results {
156
- padding: 3px;
157
- background: #f5f5f5;
158
- margin: 0 5px;
159
- }
160
- .bootstrap-select.btn-group.fit-width .btn .filter-option {
161
- position: static;
162
- }
163
- .bootstrap-select.btn-group.fit-width .btn .caret {
164
- position: static;
165
- top: auto;
166
- margin-top: -1px;
167
- }
168
- .bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {
169
- position: absolute;
170
- display: inline-block;
171
- right: 15px;
172
- margin-top: 5px;
173
- }
174
- .bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
175
- margin-right: 34px;
176
- }
177
- .bootstrap-select.show-menu-arrow.open > .btn {
178
- z-index: 1035 + 1;
179
- }
180
- .bootstrap-select.show-menu-arrow .dropdown-toggle:before {
181
- content: '';
182
- border-left: 7px solid transparent;
183
- border-right: 7px solid transparent;
184
- border-bottom-width: 7px;
185
- border-bottom-style: solid;
186
- border-bottom-color: #cccccc;
187
- border-bottom-color: rgba(204, 204, 204, 0.2);
188
- position: absolute;
189
- bottom: -4px;
190
- left: 9px;
191
- display: none;
192
- }
193
- .bootstrap-select.show-menu-arrow .dropdown-toggle:after {
194
- content: '';
195
- border-left: 6px solid transparent;
196
- border-right: 6px solid transparent;
197
- border-bottom: 6px solid white;
198
- position: absolute;
199
- bottom: -4px;
200
- left: 10px;
201
- display: none;
202
- }
203
- .bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {
204
- bottom: auto;
205
- top: -3px;
206
- border-bottom: 0;
207
- border-top-width: 7px;
208
- border-top-style: solid;
209
- border-top-color: #cccccc;
210
- border-top-color: rgba(204, 204, 204, 0.2);
211
- }
212
- .bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {
213
- bottom: auto;
214
- top: -3px;
215
- border-top: 6px solid white;
216
- border-bottom: 0;
217
- }
218
- .bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {
219
- right: 12px;
220
- left: auto;
221
- }
222
- .bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {
223
- right: 13px;
224
- left: auto;
225
- }
226
- .bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,
227
- .bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {
228
- display: block;
229
- }
230
- .bs-searchbox,
231
- .bs-actionsbox {
232
- padding: 4px 8px;
233
- }
234
- .bs-actionsbox {
235
- float: left;
236
- width: 100%;
237
- -webkit-box-sizing: border-box;
238
- -moz-box-sizing: border-box;
239
- box-sizing: border-box;
240
- }
241
- .bs-actionsbox .btn-group button {
242
- width: 50%;
243
- }
244
- .bs-searchbox + .bs-actionsbox {
245
- padding: 0 8px 4px;
246
- }
247
- .bs-searchbox input.form-control {
248
- margin-bottom: 0;
249
- width: 100%;
250
- }
251
- .mobile-device {
252
- position: absolute;
253
- top: 0;
254
- left: 0;
255
- display: block !important;
256
- width: 100%;
257
- height: 100% !important;
258
- opacity: 0;
259
- }
260
- /*# sourceMappingURL=bootstrap-select.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/bootstrap.css DELETED
@@ -1,6759 +0,0 @@
1
- /*!
2
- * Bootstrap v3.3.6 (http://getbootstrap.com)
3
- * Copyright 2011-2015 Twitter, Inc.
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
- */
6
- /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
7
- html {
8
- font-family: sans-serif;
9
- -webkit-text-size-adjust: 100%;
10
- -ms-text-size-adjust: 100%;
11
- }
12
- body {
13
- margin: 0;
14
- }
15
- article,
16
- aside,
17
- details,
18
- figcaption,
19
- figure,
20
- footer,
21
- header,
22
- hgroup,
23
- main,
24
- menu,
25
- nav,
26
- section,
27
- summary {
28
- display: block;
29
- }
30
- audio,
31
- canvas,
32
- progress,
33
- video {
34
- display: inline-block;
35
- vertical-align: baseline;
36
- }
37
- audio:not([controls]) {
38
- display: none;
39
- height: 0;
40
- }
41
- [hidden],
42
- template {
43
- display: none;
44
- }
45
- a {
46
- background-color: transparent;
47
- }
48
- a:active,
49
- a:hover {
50
- outline: 0;
51
- }
52
- abbr[title] {
53
- border-bottom: 1px dotted;
54
- }
55
- b,
56
- strong {
57
- font-weight: bold;
58
- }
59
- dfn {
60
- font-style: italic;
61
- }
62
- h1 {
63
- margin: .67em 0;
64
- font-size: 2em;
65
- }
66
- mark {
67
- color: #000;
68
- background: #ff0;
69
- }
70
- small {
71
- font-size: 80%;
72
- }
73
- sub,
74
- sup {
75
- position: relative;
76
- font-size: 75%;
77
- line-height: 0;
78
- vertical-align: baseline;
79
- }
80
- sup {
81
- top: -.5em;
82
- }
83
- sub {
84
- bottom: -.25em;
85
- }
86
- img {
87
- border: 0;
88
- }
89
- svg:not(:root) {
90
- overflow: hidden;
91
- }
92
- figure {
93
- margin: 1em 40px;
94
- }
95
- hr {
96
- height: 0;
97
- -webkit-box-sizing: content-box;
98
- -moz-box-sizing: content-box;
99
- box-sizing: content-box;
100
- }
101
- pre {
102
- overflow: auto;
103
- }
104
- code,
105
- kbd,
106
- pre,
107
- samp {
108
- font-family: monospace, monospace;
109
- font-size: 1em;
110
- }
111
- button,
112
- input,
113
- optgroup,
114
- select,
115
- textarea {
116
- margin: 0;
117
- font: inherit;
118
- color: inherit;
119
- }
120
- button {
121
- overflow: visible;
122
- }
123
- button,
124
- select {
125
- text-transform: none;
126
- }
127
- button,
128
- html input[type="button"],
129
- input[type="reset"],
130
- input[type="submit"] {
131
- -webkit-appearance: button;
132
- cursor: pointer;
133
- }
134
- button[disabled],
135
- html input[disabled] {
136
- cursor: default;
137
- }
138
- button::-moz-focus-inner,
139
- input::-moz-focus-inner {
140
- padding: 0;
141
- border: 0;
142
- }
143
- input {
144
- line-height: normal;
145
- }
146
- input[type="checkbox"],
147
- input[type="radio"] {
148
- -webkit-box-sizing: border-box;
149
- -moz-box-sizing: border-box;
150
- box-sizing: border-box;
151
- padding: 0;
152
- }
153
- input[type="number"]::-webkit-inner-spin-button,
154
- input[type="number"]::-webkit-outer-spin-button {
155
- height: auto;
156
- }
157
- input[type="search"] {
158
- -webkit-box-sizing: content-box;
159
- -moz-box-sizing: content-box;
160
- box-sizing: content-box;
161
- -webkit-appearance: textfield;
162
- }
163
- input[type="search"]::-webkit-search-cancel-button,
164
- input[type="search"]::-webkit-search-decoration {
165
- -webkit-appearance: none;
166
- }
167
- fieldset {
168
- padding: .35em .625em .75em;
169
- margin: 0 2px;
170
- border: 1px solid #c0c0c0;
171
- }
172
- legend {
173
- padding: 0;
174
- border: 0;
175
- }
176
- textarea {
177
- overflow: auto;
178
- }
179
- optgroup {
180
- font-weight: bold;
181
- }
182
- table {
183
- border-spacing: 0;
184
- border-collapse: collapse;
185
- }
186
- td,
187
- th {
188
- padding: 0;
189
- }
190
- /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
191
- @media print {
192
- *,
193
- *:before,
194
- *:after {
195
- color: #000 !important;
196
- text-shadow: none !important;
197
- background: transparent !important;
198
- -webkit-box-shadow: none !important;
199
- box-shadow: none !important;
200
- }
201
- a,
202
- a:visited {
203
- text-decoration: underline;
204
- }
205
- a[href]:after {
206
- content: " (" attr(href) ")";
207
- }
208
- abbr[title]:after {
209
- content: " (" attr(title) ")";
210
- }
211
- a[href^="#"]:after,
212
- a[href^="javascript:"]:after {
213
- content: "";
214
- }
215
- pre,
216
- blockquote {
217
- border: 1px solid #999;
218
-
219
- page-break-inside: avoid;
220
- }
221
- thead {
222
- display: table-header-group;
223
- }
224
- tr,
225
- img {
226
- page-break-inside: avoid;
227
- }
228
- img {
229
- max-width: 100% !important;
230
- }
231
- p,
232
- h2,
233
- h3 {
234
- orphans: 3;
235
- widows: 3;
236
- }
237
- h2,
238
- h3 {
239
- page-break-after: avoid;
240
- }
241
- .navbar {
242
- display: none;
243
- }
244
- .btn > .caret,
245
- .dropup > .btn > .caret {
246
- border-top-color: #000 !important;
247
- }
248
- .label {
249
- border: 1px solid #000;
250
- }
251
- .table {
252
- border-collapse: collapse !important;
253
- }
254
- .table td,
255
- .table th {
256
- background-color: #fff !important;
257
- }
258
- .table-bordered th,
259
- .table-bordered td {
260
- border: 1px solid #ddd !important;
261
- }
262
- }
263
- @font-face {
264
- font-family: 'Glyphicons Halflings';
265
-
266
- src: url('../fonts/glyphicons-halflings-regular.eot');
267
- src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
268
- }
269
- .glyphicon {
270
- position: relative;
271
- top: 1px;
272
- display: inline-block;
273
- font-family: 'Glyphicons Halflings';
274
- font-style: normal;
275
- font-weight: normal;
276
- line-height: 1;
277
-
278
- -webkit-font-smoothing: antialiased;
279
- -moz-osx-font-smoothing: grayscale;
280
- }
281
- .glyphicon-asterisk:before {
282
- content: "\002a";
283
- }
284
- .glyphicon-plus:before {
285
- content: "\002b";
286
- }
287
- .glyphicon-euro:before,
288
- .glyphicon-eur:before {
289
- content: "\20ac";
290
- }
291
- .glyphicon-minus:before {
292
- content: "\2212";
293
- }
294
- .glyphicon-cloud:before {
295
- content: "\2601";
296
- }
297
- .glyphicon-envelope:before {
298
- content: "\2709";
299
- }
300
- .glyphicon-pencil:before {
301
- content: "\270f";
302
- }
303
- .glyphicon-glass:before {
304
- content: "\e001";
305
- }
306
- .glyphicon-music:before {
307
- content: "\e002";
308
- }
309
- .glyphicon-search:before {
310
- content: "\e003";
311
- }
312
- .glyphicon-heart:before {
313
- content: "\e005";
314
- }
315
- .glyphicon-star:before {
316
- content: "\e006";
317
- }
318
- .glyphicon-star-empty:before {
319
- content: "\e007";
320
- }
321
- .glyphicon-user:before {
322
- content: "\e008";
323
- }
324
- .glyphicon-film:before {
325
- content: "\e009";
326
- }
327
- .glyphicon-th-large:before {
328
- content: "\e010";
329
- }
330
- .glyphicon-th:before {
331
- content: "\e011";
332
- }
333
- .glyphicon-th-list:before {
334
- content: "\e012";
335
- }
336
- .glyphicon-ok:before {
337
- content: "\e013";
338
- }
339
- .glyphicon-remove:before {
340
- content: "\e014";
341
- }
342
- .glyphicon-zoom-in:before {
343
- content: "\e015";
344
- }
345
- .glyphicon-zoom-out:before {
346
- content: "\e016";
347
- }
348
- .glyphicon-off:before {
349
- content: "\e017";
350
- }
351
- .glyphicon-signal:before {
352
- content: "\e018";
353
- }
354
- .glyphicon-cog:before {
355
- content: "\e019";
356
- }
357
- .glyphicon-trash:before {
358
- content: "\e020";
359
- }
360
- .glyphicon-home:before {
361
- content: "\e021";
362
- }
363
- .glyphicon-file:before {
364
- content: "\e022";
365
- }
366
- .glyphicon-time:before {
367
- content: "\e023";
368
- }
369
- .glyphicon-road:before {
370
- content: "\e024";
371
- }
372
- .glyphicon-download-alt:before {
373
- content: "\e025";
374
- }
375
- .glyphicon-download:before {
376
- content: "\e026";
377
- }
378
- .glyphicon-upload:before {
379
- content: "\e027";
380
- }
381
- .glyphicon-inbox:before {
382
- content: "\e028";
383
- }
384
- .glyphicon-play-circle:before {
385
- content: "\e029";
386
- }
387
- .glyphicon-repeat:before {
388
- content: "\e030";
389
- }
390
- .glyphicon-refresh:before {
391
- content: "\e031";
392
- }
393
- .glyphicon-list-alt:before {
394
- content: "\e032";
395
- }
396
- .glyphicon-lock:before {
397
- content: "\e033";
398
- }
399
- .glyphicon-flag:before {
400
- content: "\e034";
401
- }
402
- .glyphicon-headphones:before {
403
- content: "\e035";
404
- }
405
- .glyphicon-volume-off:before {
406
- content: "\e036";
407
- }
408
- .glyphicon-volume-down:before {
409
- content: "\e037";
410
- }
411
- .glyphicon-volume-up:before {
412
- content: "\e038";
413
- }
414
- .glyphicon-qrcode:before {
415
- content: "\e039";
416
- }
417
- .glyphicon-barcode:before {
418
- content: "\e040";
419
- }
420
- .glyphicon-tag:before {
421
- content: "\e041";
422
- }
423
- .glyphicon-tags:before {
424
- content: "\e042";
425
- }
426
- .glyphicon-book:before {
427
- content: "\e043";
428
- }
429
- .glyphicon-bookmark:before {
430
- content: "\e044";
431
- }
432
- .glyphicon-print:before {
433
- content: "\e045";
434
- }
435
- .glyphicon-camera:before {
436
- content: "\e046";
437
- }
438
- .glyphicon-font:before {
439
- content: "\e047";
440
- }
441
- .glyphicon-bold:before {
442
- content: "\e048";
443
- }
444
- .glyphicon-italic:before {
445
- content: "\e049";
446
- }
447
- .glyphicon-text-height:before {
448
- content: "\e050";
449
- }
450
- .glyphicon-text-width:before {
451
- content: "\e051";
452
- }
453
- .glyphicon-align-left:before {
454
- content: "\e052";
455
- }
456
- .glyphicon-align-center:before {
457
- content: "\e053";
458
- }
459
- .glyphicon-align-right:before {
460
- content: "\e054";
461
- }
462
- .glyphicon-align-justify:before {
463
- content: "\e055";
464
- }
465
- .glyphicon-list:before {
466
- content: "\e056";
467
- }
468
- .glyphicon-indent-left:before {
469
- content: "\e057";
470
- }
471
- .glyphicon-indent-right:before {
472
- content: "\e058";
473
- }
474
- .glyphicon-facetime-video:before {
475
- content: "\e059";
476
- }
477
- .glyphicon-picture:before {
478
- content: "\e060";
479
- }
480
- .glyphicon-map-marker:before {
481
- content: "\e062";
482
- }
483
- .glyphicon-adjust:before {
484
- content: "\e063";
485
- }
486
- .glyphicon-tint:before {
487
- content: "\e064";
488
- }
489
- .glyphicon-edit:before {
490
- content: "\e065";
491
- }
492
- .glyphicon-share:before {
493
- content: "\e066";
494
- }
495
- .glyphicon-check:before {
496
- content: "\e067";
497
- }
498
- .glyphicon-move:before {
499
- content: "\e068";
500
- }
501
- .glyphicon-step-backward:before {
502
- content: "\e069";
503
- }
504
- .glyphicon-fast-backward:before {
505
- content: "\e070";
506
- }
507
- .glyphicon-backward:before {
508
- content: "\e071";
509
- }
510
- .glyphicon-play:before {
511
- content: "\e072";
512
- }
513
- .glyphicon-pause:before {
514
- content: "\e073";
515
- }
516
- .glyphicon-stop:before {
517
- content: "\e074";
518
- }
519
- .glyphicon-forward:before {
520
- content: "\e075";
521
- }
522
- .glyphicon-fast-forward:before {
523
- content: "\e076";
524
- }
525
- .glyphicon-step-forward:before {
526
- content: "\e077";
527
- }
528
- .glyphicon-eject:before {
529
- content: "\e078";
530
- }
531
- .glyphicon-chevron-left:before {
532
- content: "\e079";
533
- }
534
- .glyphicon-chevron-right:before {
535
- content: "\e080";
536
- }
537
- .glyphicon-plus-sign:before {
538
- content: "\e081";
539
- }
540
- .glyphicon-minus-sign:before {
541
- content: "\e082";
542
- }
543
- .glyphicon-remove-sign:before {
544
- content: "\e083";
545
- }
546
- .glyphicon-ok-sign:before {
547
- content: "\e084";
548
- }
549
- .glyphicon-question-sign:before {
550
- content: "\e085";
551
- }
552
- .glyphicon-info-sign:before {
553
- content: "\e086";
554
- }
555
- .glyphicon-screenshot:before {
556
- content: "\e087";
557
- }
558
- .glyphicon-remove-circle:before {
559
- content: "\e088";
560
- }
561
- .glyphicon-ok-circle:before {
562
- content: "\e089";
563
- }
564
- .glyphicon-ban-circle:before {
565
- content: "\e090";
566
- }
567
- .glyphicon-arrow-left:before {
568
- content: "\e091";
569
- }
570
- .glyphicon-arrow-right:before {
571
- content: "\e092";
572
- }
573
- .glyphicon-arrow-up:before {
574
- content: "\e093";
575
- }
576
- .glyphicon-arrow-down:before {
577
- content: "\e094";
578
- }
579
- .glyphicon-share-alt:before {
580
- content: "\e095";
581
- }
582
- .glyphicon-resize-full:before {
583
- content: "\e096";
584
- }
585
- .glyphicon-resize-small:before {
586
- content: "\e097";
587
- }
588
- .glyphicon-exclamation-sign:before {
589
- content: "\e101";
590
- }
591
- .glyphicon-gift:before {
592
- content: "\e102";
593
- }
594
- .glyphicon-leaf:before {
595
- content: "\e103";
596
- }
597
- .glyphicon-fire:before {
598
- content: "\e104";
599
- }
600
- .glyphicon-eye-open:before {
601
- content: "\e105";
602
- }
603
- .glyphicon-eye-close:before {
604
- content: "\e106";
605
- }
606
- .glyphicon-warning-sign:before {
607
- content: "\e107";
608
- }
609
- .glyphicon-plane:before {
610
- content: "\e108";
611
- }
612
- .glyphicon-calendar:before {
613
- content: "\e109";
614
- }
615
- .glyphicon-random:before {
616
- content: "\e110";
617
- }
618
- .glyphicon-comment:before {
619
- content: "\e111";
620
- }
621
- .glyphicon-magnet:before {
622
- content: "\e112";
623
- }
624
- .glyphicon-chevron-up:before {
625
- content: "\e113";
626
- }
627
- .glyphicon-chevron-down:before {
628
- content: "\e114";
629
- }
630
- .glyphicon-retweet:before {
631
- content: "\e115";
632
- }
633
- .glyphicon-shopping-cart:before {
634
- content: "\e116";
635
- }
636
- .glyphicon-folder-close:before {
637
- content: "\e117";
638
- }
639
- .glyphicon-folder-open:before {
640
- content: "\e118";
641
- }
642
- .glyphicon-resize-vertical:before {
643
- content: "\e119";
644
- }
645
- .glyphicon-resize-horizontal:before {
646
- content: "\e120";
647
- }
648
- .glyphicon-hdd:before {
649
- content: "\e121";
650
- }
651
- .glyphicon-bullhorn:before {
652
- content: "\e122";
653
- }
654
- .glyphicon-bell:before {
655
- content: "\e123";
656
- }
657
- .glyphicon-certificate:before {
658
- content: "\e124";
659
- }
660
- .glyphicon-thumbs-up:before {
661
- content: "\e125";
662
- }
663
- .glyphicon-thumbs-down:before {
664
- content: "\e126";
665
- }
666
- .glyphicon-hand-right:before {
667
- content: "\e127";
668
- }
669
- .glyphicon-hand-left:before {
670
- content: "\e128";
671
- }
672
- .glyphicon-hand-up:before {
673
- content: "\e129";
674
- }
675
- .glyphicon-hand-down:before {
676
- content: "\e130";
677
- }
678
- .glyphicon-circle-arrow-right:before {
679
- content: "\e131";
680
- }
681
- .glyphicon-circle-arrow-left:before {
682
- content: "\e132";
683
- }
684
- .glyphicon-circle-arrow-up:before {
685
- content: "\e133";
686
- }
687
- .glyphicon-circle-arrow-down:before {
688
- content: "\e134";
689
- }
690
- .glyphicon-globe:before {
691
- content: "\e135";
692
- }
693
- .glyphicon-wrench:before {
694
- content: "\e136";
695
- }
696
- .glyphicon-tasks:before {
697
- content: "\e137";
698
- }
699
- .glyphicon-filter:before {
700
- content: "\e138";
701
- }
702
- .glyphicon-briefcase:before {
703
- content: "\e139";
704
- }
705
- .glyphicon-fullscreen:before {
706
- content: "\e140";
707
- }
708
- .glyphicon-dashboard:before {
709
- content: "\e141";
710
- }
711
- .glyphicon-paperclip:before {
712
- content: "\e142";
713
- }
714
- .glyphicon-heart-empty:before {
715
- content: "\e143";
716
- }
717
- .glyphicon-link:before {
718
- content: "\e144";
719
- }
720
- .glyphicon-phone:before {
721
- content: "\e145";
722
- }
723
- .glyphicon-pushpin:before {
724
- content: "\e146";
725
- }
726
- .glyphicon-usd:before {
727
- content: "\e148";
728
- }
729
- .glyphicon-gbp:before {
730
- content: "\e149";
731
- }
732
- .glyphicon-sort:before {
733
- content: "\e150";
734
- }
735
- .glyphicon-sort-by-alphabet:before {
736
- content: "\e151";
737
- }
738
- .glyphicon-sort-by-alphabet-alt:before {
739
- content: "\e152";
740
- }
741
- .glyphicon-sort-by-order:before {
742
- content: "\e153";
743
- }
744
- .glyphicon-sort-by-order-alt:before {
745
- content: "\e154";
746
- }
747
- .glyphicon-sort-by-attributes:before {
748
- content: "\e155";
749
- }
750
- .glyphicon-sort-by-attributes-alt:before {
751
- content: "\e156";
752
- }
753
- .glyphicon-unchecked:before {
754
- content: "\e157";
755
- }
756
- .glyphicon-expand:before {
757
- content: "\e158";
758
- }
759
- .glyphicon-collapse-down:before {
760
- content: "\e159";
761
- }
762
- .glyphicon-collapse-up:before {
763
- content: "\e160";
764
- }
765
- .glyphicon-log-in:before {
766
- content: "\e161";
767
- }
768
- .glyphicon-flash:before {
769
- content: "\e162";
770
- }
771
- .glyphicon-log-out:before {
772
- content: "\e163";
773
- }
774
- .glyphicon-new-window:before {
775
- content: "\e164";
776
- }
777
- .glyphicon-record:before {
778
- content: "\e165";
779
- }
780
- .glyphicon-save:before {
781
- content: "\e166";
782
- }
783
- .glyphicon-open:before {
784
- content: "\e167";
785
- }
786
- .glyphicon-saved:before {
787
- content: "\e168";
788
- }
789
- .glyphicon-import:before {
790
- content: "\e169";
791
- }
792
- .glyphicon-export:before {
793
- content: "\e170";
794
- }
795
- .glyphicon-send:before {
796
- content: "\e171";
797
- }
798
- .glyphicon-floppy-disk:before {
799
- content: "\e172";
800
- }
801
- .glyphicon-floppy-saved:before {
802
- content: "\e173";
803
- }
804
- .glyphicon-floppy-remove:before {
805
- content: "\e174";
806
- }
807
- .glyphicon-floppy-save:before {
808
- content: "\e175";
809
- }
810
- .glyphicon-floppy-open:before {
811
- content: "\e176";
812
- }
813
- .glyphicon-credit-card:before {
814
- content: "\e177";
815
- }
816
- .glyphicon-transfer:before {
817
- content: "\e178";
818
- }
819
- .glyphicon-cutlery:before {
820
- content: "\e179";
821
- }
822
- .glyphicon-header:before {
823
- content: "\e180";
824
- }
825
- .glyphicon-compressed:before {
826
- content: "\e181";
827
- }
828
- .glyphicon-earphone:before {
829
- content: "\e182";
830
- }
831
- .glyphicon-phone-alt:before {
832
- content: "\e183";
833
- }
834
- .glyphicon-tower:before {
835
- content: "\e184";
836
- }
837
- .glyphicon-stats:before {
838
- content: "\e185";
839
- }
840
- .glyphicon-sd-video:before {
841
- content: "\e186";
842
- }
843
- .glyphicon-hd-video:before {
844
- content: "\e187";
845
- }
846
- .glyphicon-subtitles:before {
847
- content: "\e188";
848
- }
849
- .glyphicon-sound-stereo:before {
850
- content: "\e189";
851
- }
852
- .glyphicon-sound-dolby:before {
853
- content: "\e190";
854
- }
855
- .glyphicon-sound-5-1:before {
856
- content: "\e191";
857
- }
858
- .glyphicon-sound-6-1:before {
859
- content: "\e192";
860
- }
861
- .glyphicon-sound-7-1:before {
862
- content: "\e193";
863
- }
864
- .glyphicon-copyright-mark:before {
865
- content: "\e194";
866
- }
867
- .glyphicon-registration-mark:before {
868
- content: "\e195";
869
- }
870
- .glyphicon-cloud-download:before {
871
- content: "\e197";
872
- }
873
- .glyphicon-cloud-upload:before {
874
- content: "\e198";
875
- }
876
- .glyphicon-tree-conifer:before {
877
- content: "\e199";
878
- }
879
- .glyphicon-tree-deciduous:before {
880
- content: "\e200";
881
- }
882
- .glyphicon-cd:before {
883
- content: "\e201";
884
- }
885
- .glyphicon-save-file:before {
886
- content: "\e202";
887
- }
888
- .glyphicon-open-file:before {
889
- content: "\e203";
890
- }
891
- .glyphicon-level-up:before {
892
- content: "\e204";
893
- }
894
- .glyphicon-copy:before {
895
- content: "\e205";
896
- }
897
- .glyphicon-paste:before {
898
- content: "\e206";
899
- }
900
- .glyphicon-alert:before {
901
- content: "\e209";
902
- }
903
- .glyphicon-equalizer:before {
904
- content: "\e210";
905
- }
906
- .glyphicon-king:before {
907
- content: "\e211";
908
- }
909
- .glyphicon-queen:before {
910
- content: "\e212";
911
- }
912
- .glyphicon-pawn:before {
913
- content: "\e213";
914
- }
915
- .glyphicon-bishop:before {
916
- content: "\e214";
917
- }
918
- .glyphicon-knight:before {
919
- content: "\e215";
920
- }
921
- .glyphicon-baby-formula:before {
922
- content: "\e216";
923
- }
924
- .glyphicon-tent:before {
925
- content: "\26fa";
926
- }
927
- .glyphicon-blackboard:before {
928
- content: "\e218";
929
- }
930
- .glyphicon-bed:before {
931
- content: "\e219";
932
- }
933
- .glyphicon-apple:before {
934
- content: "\f8ff";
935
- }
936
- .glyphicon-erase:before {
937
- content: "\e221";
938
- }
939
- .glyphicon-hourglass:before {
940
- content: "\231b";
941
- }
942
- .glyphicon-lamp:before {
943
- content: "\e223";
944
- }
945
- .glyphicon-duplicate:before {
946
- content: "\e224";
947
- }
948
- .glyphicon-piggy-bank:before {
949
- content: "\e225";
950
- }
951
- .glyphicon-scissors:before {
952
- content: "\e226";
953
- }
954
- .glyphicon-bitcoin:before {
955
- content: "\e227";
956
- }
957
- .glyphicon-btc:before {
958
- content: "\e227";
959
- }
960
- .glyphicon-xbt:before {
961
- content: "\e227";
962
- }
963
- .glyphicon-yen:before {
964
- content: "\00a5";
965
- }
966
- .glyphicon-jpy:before {
967
- content: "\00a5";
968
- }
969
- .glyphicon-ruble:before {
970
- content: "\20bd";
971
- }
972
- .glyphicon-rub:before {
973
- content: "\20bd";
974
- }
975
- .glyphicon-scale:before {
976
- content: "\e230";
977
- }
978
- .glyphicon-ice-lolly:before {
979
- content: "\e231";
980
- }
981
- .glyphicon-ice-lolly-tasted:before {
982
- content: "\e232";
983
- }
984
- .glyphicon-education:before {
985
- content: "\e233";
986
- }
987
- .glyphicon-option-horizontal:before {
988
- content: "\e234";
989
- }
990
- .glyphicon-option-vertical:before {
991
- content: "\e235";
992
- }
993
- .glyphicon-menu-hamburger:before {
994
- content: "\e236";
995
- }
996
- .glyphicon-modal-window:before {
997
- content: "\e237";
998
- }
999
- .glyphicon-oil:before {
1000
- content: "\e238";
1001
- }
1002
- .glyphicon-grain:before {
1003
- content: "\e239";
1004
- }
1005
- .glyphicon-sunglasses:before {
1006
- content: "\e240";
1007
- }
1008
- .glyphicon-text-size:before {
1009
- content: "\e241";
1010
- }
1011
- .glyphicon-text-color:before {
1012
- content: "\e242";
1013
- }
1014
- .glyphicon-text-background:before {
1015
- content: "\e243";
1016
- }
1017
- .glyphicon-object-align-top:before {
1018
- content: "\e244";
1019
- }
1020
- .glyphicon-object-align-bottom:before {
1021
- content: "\e245";
1022
- }
1023
- .glyphicon-object-align-horizontal:before {
1024
- content: "\e246";
1025
- }
1026
- .glyphicon-object-align-left:before {
1027
- content: "\e247";
1028
- }
1029
- .glyphicon-object-align-vertical:before {
1030
- content: "\e248";
1031
- }
1032
- .glyphicon-object-align-right:before {
1033
- content: "\e249";
1034
- }
1035
- .glyphicon-triangle-right:before {
1036
- content: "\e250";
1037
- }
1038
- .glyphicon-triangle-left:before {
1039
- content: "\e251";
1040
- }
1041
- .glyphicon-triangle-bottom:before {
1042
- content: "\e252";
1043
- }
1044
- .glyphicon-triangle-top:before {
1045
- content: "\e253";
1046
- }
1047
- .glyphicon-console:before {
1048
- content: "\e254";
1049
- }
1050
- .glyphicon-superscript:before {
1051
- content: "\e255";
1052
- }
1053
- .glyphicon-subscript:before {
1054
- content: "\e256";
1055
- }
1056
- .glyphicon-menu-left:before {
1057
- content: "\e257";
1058
- }
1059
- .glyphicon-menu-right:before {
1060
- content: "\e258";
1061
- }
1062
- .glyphicon-menu-down:before {
1063
- content: "\e259";
1064
- }
1065
- .glyphicon-menu-up:before {
1066
- content: "\e260";
1067
- }
1068
- * {
1069
- -webkit-box-sizing: border-box;
1070
- -moz-box-sizing: border-box;
1071
- box-sizing: border-box;
1072
- }
1073
- *:before,
1074
- *:after {
1075
- -webkit-box-sizing: border-box;
1076
- -moz-box-sizing: border-box;
1077
- box-sizing: border-box;
1078
- }
1079
- html {
1080
- font-size: 10px;
1081
-
1082
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
1083
- }
1084
- body {
1085
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1086
- font-size: 14px;
1087
- line-height: 1.42857143;
1088
- color: #333;
1089
- background-color: #fff;
1090
- }
1091
- input,
1092
- button,
1093
- select,
1094
- textarea {
1095
- font-family: inherit;
1096
- font-size: inherit;
1097
- line-height: inherit;
1098
- }
1099
- a {
1100
- text-decoration: none;
1101
- }
1102
- a:hover,
1103
- a:focus {
1104
- color: #23527c;
1105
- text-decoration: underline;
1106
- }
1107
- a:focus {
1108
- outline: thin dotted;
1109
- outline: 5px auto -webkit-focus-ring-color;
1110
- outline-offset: -2px;
1111
- }
1112
- figure {
1113
- margin: 0;
1114
- }
1115
- img {
1116
- vertical-align: middle;
1117
- }
1118
- .img-responsive,
1119
- .thumbnail > img,
1120
- .thumbnail a > img,
1121
- .carousel-inner > .item > img,
1122
- .carousel-inner > .item > a > img {
1123
- display: block;
1124
- max-width: 100%;
1125
- height: auto;
1126
- }
1127
- .img-rounded {
1128
- border-radius: 6px;
1129
- }
1130
- .img-thumbnail {
1131
- display: inline-block;
1132
- max-width: 100%;
1133
- height: auto;
1134
- padding: 4px;
1135
- line-height: 1.42857143;
1136
- background-color: #fff;
1137
- border: 1px solid #ddd;
1138
- border-radius: 4px;
1139
- -webkit-transition: all .2s ease-in-out;
1140
- -o-transition: all .2s ease-in-out;
1141
- transition: all .2s ease-in-out;
1142
- }
1143
- .img-circle {
1144
- border-radius: 50%;
1145
- }
1146
- hr {
1147
- margin-top: 20px;
1148
- margin-bottom: 20px;
1149
- border: 0;
1150
- border-top: 1px solid #eee;
1151
- }
1152
- .sr-only {
1153
- position: absolute;
1154
- width: 1px;
1155
- height: 1px;
1156
- padding: 0;
1157
- margin: -1px;
1158
- overflow: hidden;
1159
- clip: rect(0, 0, 0, 0);
1160
- border: 0;
1161
- }
1162
- .sr-only-focusable:active,
1163
- .sr-only-focusable:focus {
1164
- position: static;
1165
- width: auto;
1166
- height: auto;
1167
- margin: 0;
1168
- overflow: visible;
1169
- clip: auto;
1170
- }
1171
- [role="button"] {
1172
- cursor: pointer;
1173
- }
1174
- h1,
1175
- h2,
1176
- h3,
1177
- h4,
1178
- h5,
1179
- h6,
1180
- .h1,
1181
- .h2,
1182
- .h3,
1183
- .h4,
1184
- .h5,
1185
- .h6 {
1186
- font-family: inherit;
1187
- font-weight: 500;
1188
- line-height: 1.1;
1189
- color: inherit;
1190
- }
1191
- h1 small,
1192
- h2 small,
1193
- h3 small,
1194
- h4 small,
1195
- h5 small,
1196
- h6 small,
1197
- .h1 small,
1198
- .h2 small,
1199
- .h3 small,
1200
- .h4 small,
1201
- .h5 small,
1202
- .h6 small,
1203
- h1 .small,
1204
- h2 .small,
1205
- h3 .small,
1206
- h4 .small,
1207
- h5 .small,
1208
- h6 .small,
1209
- .h1 .small,
1210
- .h2 .small,
1211
- .h3 .small,
1212
- .h4 .small,
1213
- .h5 .small,
1214
- .h6 .small {
1215
- font-weight: normal;
1216
- line-height: 1;
1217
- color: #777;
1218
- }
1219
- h1,
1220
- .h1,
1221
- h2,
1222
- .h2,
1223
- h3,
1224
- .h3 {
1225
- margin-top: 20px;
1226
- margin-bottom: 10px;
1227
- }
1228
- h1 small,
1229
- .h1 small,
1230
- h2 small,
1231
- .h2 small,
1232
- h3 small,
1233
- .h3 small,
1234
- h1 .small,
1235
- .h1 .small,
1236
- h2 .small,
1237
- .h2 .small,
1238
- h3 .small,
1239
- .h3 .small {
1240
- font-size: 65%;
1241
- }
1242
- h4,
1243
- .h4,
1244
- h5,
1245
- .h5,
1246
- h6,
1247
- .h6 {
1248
- margin-top: 10px;
1249
- margin-bottom: 10px;
1250
- }
1251
- h4 small,
1252
- .h4 small,
1253
- h5 small,
1254
- .h5 small,
1255
- h6 small,
1256
- .h6 small,
1257
- h4 .small,
1258
- .h4 .small,
1259
- h5 .small,
1260
- .h5 .small,
1261
- h6 .small,
1262
- .h6 .small {
1263
- font-size: 75%;
1264
- }
1265
- h1,
1266
- .h1 {
1267
- font-size: 36px;
1268
- }
1269
- h2,
1270
- .h2 {
1271
- font-size: 30px;
1272
- }
1273
- h3,
1274
- .h3 {
1275
- font-size: 24px;
1276
- }
1277
- h4,
1278
- .h4 {
1279
- font-size: 18px;
1280
- }
1281
- h5,
1282
- .h5 {
1283
- font-size: 14px;
1284
- }
1285
- h6,
1286
- .h6 {
1287
- font-size: 12px;
1288
- }
1289
- p {
1290
- margin: 0 0 10px;
1291
- }
1292
- .lead {
1293
- margin-bottom: 20px;
1294
- font-size: 16px;
1295
- font-weight: 300;
1296
- line-height: 1.4;
1297
- }
1298
- @media (min-width: 768px) {
1299
- .lead {
1300
- font-size: 21px;
1301
- }
1302
- }
1303
- small,
1304
- .small {
1305
- font-size: 85%;
1306
- }
1307
- mark,
1308
- .mark {
1309
- padding: .2em;
1310
- background-color: #fcf8e3;
1311
- }
1312
- .text-left {
1313
- text-align: left;
1314
- }
1315
- .text-right {
1316
- text-align: right;
1317
- }
1318
- .text-center {
1319
- text-align: center;
1320
- }
1321
- .text-justify {
1322
- text-align: justify;
1323
- }
1324
- .text-nowrap {
1325
- white-space: nowrap;
1326
- }
1327
- .text-lowercase {
1328
- text-transform: lowercase;
1329
- }
1330
- .text-uppercase {
1331
- text-transform: uppercase;
1332
- }
1333
- .text-capitalize {
1334
- text-transform: capitalize;
1335
- }
1336
- .text-muted {
1337
- color: #777;
1338
- }
1339
- .text-primary {
1340
- color: #337ab7;
1341
- }
1342
- a.text-primary:hover,
1343
- a.text-primary:focus {
1344
- color: #286090;
1345
- }
1346
- .text-success {
1347
- color: #3c763d;
1348
- }
1349
- a.text-success:hover,
1350
- a.text-success:focus {
1351
- color: #2b542c;
1352
- }
1353
- .text-info {
1354
- color: #31708f;
1355
- }
1356
- a.text-info:hover,
1357
- a.text-info:focus {
1358
- color: #245269;
1359
- }
1360
- .text-warning {
1361
- color: #8a6d3b;
1362
- }
1363
- a.text-warning:hover,
1364
- a.text-warning:focus {
1365
- color: #66512c;
1366
- }
1367
- .text-danger {
1368
- color: #a94442;
1369
- }
1370
- a.text-danger:hover,
1371
- a.text-danger:focus {
1372
- color: #843534;
1373
- }
1374
- .bg-primary {
1375
- color: #fff;
1376
- background-color: #337ab7;
1377
- }
1378
- a.bg-primary:hover,
1379
- a.bg-primary:focus {
1380
- background-color: #286090;
1381
- }
1382
- .bg-success {
1383
- background-color: #dff0d8;
1384
- }
1385
- a.bg-success:hover,
1386
- a.bg-success:focus {
1387
- background-color: #c1e2b3;
1388
- }
1389
- .bg-info {
1390
- background-color: #d9edf7;
1391
- }
1392
- a.bg-info:hover,
1393
- a.bg-info:focus {
1394
- background-color: #afd9ee;
1395
- }
1396
- .bg-warning {
1397
- background-color: #fcf8e3;
1398
- }
1399
- a.bg-warning:hover,
1400
- a.bg-warning:focus {
1401
- background-color: #f7ecb5;
1402
- }
1403
- .bg-danger {
1404
- background-color: #f2dede;
1405
- }
1406
- a.bg-danger:hover,
1407
- a.bg-danger:focus {
1408
- background-color: #e4b9b9;
1409
- }
1410
- .page-header {
1411
- padding-bottom: 9px;
1412
- margin: 40px 0 20px;
1413
- border-bottom: 1px solid #eee;
1414
- }
1415
- ul,
1416
- ol {
1417
- margin-top: 0;
1418
- margin-bottom: 10px;
1419
- }
1420
- ul ul,
1421
- ol ul,
1422
- ul ol,
1423
- ol ol {
1424
- margin-bottom: 0;
1425
- }
1426
- .list-unstyled {
1427
- padding-left: 0;
1428
- list-style: none;
1429
- }
1430
- .list-inline {
1431
- padding-left: 0;
1432
- margin-left: -5px;
1433
- list-style: none;
1434
- }
1435
- .list-inline > li {
1436
- display: inline-block;
1437
- padding-right: 5px;
1438
- padding-left: 5px;
1439
- }
1440
- dl {
1441
- margin-top: 0;
1442
- margin-bottom: 20px;
1443
- }
1444
- dt,
1445
- dd {
1446
- line-height: 1.42857143;
1447
- }
1448
- dt {
1449
- font-weight: bold;
1450
- }
1451
- dd {
1452
- margin-left: 0;
1453
- }
1454
- @media (min-width: 768px) {
1455
- .dl-horizontal dt {
1456
- float: left;
1457
- width: 160px;
1458
- overflow: hidden;
1459
- clear: left;
1460
- text-align: right;
1461
- text-overflow: ellipsis;
1462
- white-space: nowrap;
1463
- }
1464
- .dl-horizontal dd {
1465
- margin-left: 180px;
1466
- }
1467
- }
1468
- abbr[title],
1469
- abbr[data-original-title] {
1470
- cursor: help;
1471
- border-bottom: 1px dotted #777;
1472
- }
1473
- .initialism {
1474
- font-size: 90%;
1475
- text-transform: uppercase;
1476
- }
1477
- blockquote {
1478
- padding: 10px 20px;
1479
- margin: 0 0 20px;
1480
- font-size: 17.5px;
1481
- border-left: 5px solid #eee;
1482
- }
1483
- blockquote p:last-child,
1484
- blockquote ul:last-child,
1485
- blockquote ol:last-child {
1486
- margin-bottom: 0;
1487
- }
1488
- blockquote footer,
1489
- blockquote small,
1490
- blockquote .small {
1491
- display: block;
1492
- font-size: 80%;
1493
- line-height: 1.42857143;
1494
- color: #777;
1495
- }
1496
- blockquote footer:before,
1497
- blockquote small:before,
1498
- blockquote .small:before {
1499
- content: '\2014 \00A0';
1500
- }
1501
- .blockquote-reverse,
1502
- blockquote.pull-right {
1503
- padding-right: 15px;
1504
- padding-left: 0;
1505
- text-align: right;
1506
- border-right: 5px solid #eee;
1507
- border-left: 0;
1508
- }
1509
- .blockquote-reverse footer:before,
1510
- blockquote.pull-right footer:before,
1511
- .blockquote-reverse small:before,
1512
- blockquote.pull-right small:before,
1513
- .blockquote-reverse .small:before,
1514
- blockquote.pull-right .small:before {
1515
- content: '';
1516
- }
1517
- .blockquote-reverse footer:after,
1518
- blockquote.pull-right footer:after,
1519
- .blockquote-reverse small:after,
1520
- blockquote.pull-right small:after,
1521
- .blockquote-reverse .small:after,
1522
- blockquote.pull-right .small:after {
1523
- content: '\00A0 \2014';
1524
- }
1525
- address {
1526
- margin-bottom: 20px;
1527
- font-style: normal;
1528
- line-height: 1.42857143;
1529
- }
1530
- code,
1531
- kbd,
1532
- pre,
1533
- samp {
1534
- font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
1535
- }
1536
- code {
1537
- padding: 2px 4px;
1538
- font-size: 90%;
1539
- color: #c7254e;
1540
- background-color: #f9f2f4;
1541
- border-radius: 4px;
1542
- }
1543
- kbd {
1544
- padding: 2px 4px;
1545
- font-size: 90%;
1546
- color: #fff;
1547
- background-color: #333;
1548
- border-radius: 3px;
1549
- -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
1550
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
1551
- }
1552
- kbd kbd {
1553
- padding: 0;
1554
- font-size: 100%;
1555
- font-weight: bold;
1556
- -webkit-box-shadow: none;
1557
- box-shadow: none;
1558
- }
1559
- pre {
1560
- display: block;
1561
- padding: 9.5px;
1562
- margin: 0 0 10px;
1563
- font-size: 13px;
1564
- line-height: 1.42857143;
1565
- color: #333;
1566
- word-break: break-all;
1567
- word-wrap: break-word;
1568
- background-color: #f5f5f5;
1569
- border: 1px solid #ccc;
1570
- border-radius: 4px;
1571
- }
1572
- pre code {
1573
- padding: 0;
1574
- font-size: inherit;
1575
- color: inherit;
1576
- white-space: pre-wrap;
1577
- background-color: transparent;
1578
- border-radius: 0;
1579
- }
1580
- .pre-scrollable {
1581
- max-height: 340px;
1582
- overflow-y: scroll;
1583
- }
1584
- .container {
1585
- padding-right: 15px;
1586
- padding-left: 15px;
1587
- margin-right: auto;
1588
- margin-left: auto;
1589
- }
1590
- @media (min-width: 768px) {
1591
- .container {
1592
- width: 750px;
1593
- }
1594
- }
1595
- @media (min-width: 992px) {
1596
- .container {
1597
- width: 970px;
1598
- }
1599
- }
1600
- @media (min-width: 1200px) {
1601
- .container {
1602
- width: 1170px;
1603
- }
1604
- }
1605
- .container-fluid {
1606
- padding-right: 15px;
1607
- padding-left: 15px;
1608
- margin-right: auto;
1609
- margin-left: auto;
1610
- }
1611
- .row {
1612
- margin-right: -15px;
1613
- margin-left: -15px;
1614
- }
1615
- .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
1616
- position: relative;
1617
- min-height: 1px;
1618
- padding-right: 15px;
1619
- padding-left: 15px;
1620
- }
1621
- .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
1622
- float: left;
1623
- }
1624
- .col-xs-12 {
1625
- width: 100%;
1626
- }
1627
- .col-xs-11 {
1628
- width: 91.66666667%;
1629
- }
1630
- .col-xs-10 {
1631
- width: 83.33333333%;
1632
- }
1633
- .col-xs-9 {
1634
- width: 75%;
1635
- }
1636
- .col-xs-8 {
1637
- width: 66.66666667%;
1638
- }
1639
- .col-xs-7 {
1640
- width: 58.33333333%;
1641
- }
1642
- .col-xs-6 {
1643
- width: 50%;
1644
- }
1645
- .col-xs-5 {
1646
- width: 41.66666667%;
1647
- }
1648
- .col-xs-4 {
1649
- width: 33.33333333%;
1650
- }
1651
- .col-xs-3 {
1652
- width: 25%;
1653
- }
1654
- .col-xs-2 {
1655
- width: 16.66666667%;
1656
- }
1657
- .col-xs-1 {
1658
- width: 8.33333333%;
1659
- }
1660
- .col-xs-pull-12 {
1661
- right: 100%;
1662
- }
1663
- .col-xs-pull-11 {
1664
- right: 91.66666667%;
1665
- }
1666
- .col-xs-pull-10 {
1667
- right: 83.33333333%;
1668
- }
1669
- .col-xs-pull-9 {
1670
- right: 75%;
1671
- }
1672
- .col-xs-pull-8 {
1673
- right: 66.66666667%;
1674
- }
1675
- .col-xs-pull-7 {
1676
- right: 58.33333333%;
1677
- }
1678
- .col-xs-pull-6 {
1679
- right: 50%;
1680
- }
1681
- .col-xs-pull-5 {
1682
- right: 41.66666667%;
1683
- }
1684
- .col-xs-pull-4 {
1685
- right: 33.33333333%;
1686
- }
1687
- .col-xs-pull-3 {
1688
- right: 25%;
1689
- }
1690
- .col-xs-pull-2 {
1691
- right: 16.66666667%;
1692
- }
1693
- .col-xs-pull-1 {
1694
- right: 8.33333333%;
1695
- }
1696
- .col-xs-pull-0 {
1697
- right: auto;
1698
- }
1699
- .col-xs-push-12 {
1700
- left: 100%;
1701
- }
1702
- .col-xs-push-11 {
1703
- left: 91.66666667%;
1704
- }
1705
- .col-xs-push-10 {
1706
- left: 83.33333333%;
1707
- }
1708
- .col-xs-push-9 {
1709
- left: 75%;
1710
- }
1711
- .col-xs-push-8 {
1712
- left: 66.66666667%;
1713
- }
1714
- .col-xs-push-7 {
1715
- left: 58.33333333%;
1716
- }
1717
- .col-xs-push-6 {
1718
- left: 50%;
1719
- }
1720
- .col-xs-push-5 {
1721
- left: 41.66666667%;
1722
- }
1723
- .col-xs-push-4 {
1724
- left: 33.33333333%;
1725
- }
1726
- .col-xs-push-3 {
1727
- left: 25%;
1728
- }
1729
- .col-xs-push-2 {
1730
- left: 16.66666667%;
1731
- }
1732
- .col-xs-push-1 {
1733
- left: 8.33333333%;
1734
- }
1735
- .col-xs-push-0 {
1736
- left: auto;
1737
- }
1738
- .col-xs-offset-12 {
1739
- margin-left: 100%;
1740
- }
1741
- .col-xs-offset-11 {
1742
- margin-left: 91.66666667%;
1743
- }
1744
- .col-xs-offset-10 {
1745
- margin-left: 83.33333333%;
1746
- }
1747
- .col-xs-offset-9 {
1748
- margin-left: 75%;
1749
- }
1750
- .col-xs-offset-8 {
1751
- margin-left: 66.66666667%;
1752
- }
1753
- .col-xs-offset-7 {
1754
- margin-left: 58.33333333%;
1755
- }
1756
- .col-xs-offset-6 {
1757
- margin-left: 50%;
1758
- }
1759
- .col-xs-offset-5 {
1760
- margin-left: 41.66666667%;
1761
- }
1762
- .col-xs-offset-4 {
1763
- margin-left: 33.33333333%;
1764
- }
1765
- .col-xs-offset-3 {
1766
- margin-left: 25%;
1767
- }
1768
- .col-xs-offset-2 {
1769
- margin-left: 16.66666667%;
1770
- }
1771
- .col-xs-offset-1 {
1772
- margin-left: 8.33333333%;
1773
- }
1774
- .col-xs-offset-0 {
1775
- margin-left: 0;
1776
- }
1777
- @media (min-width: 768px) {
1778
- .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
1779
- float: left;
1780
- }
1781
- .col-sm-12 {
1782
- width: 100%;
1783
- }
1784
- .col-sm-11 {
1785
- width: 91.66666667%;
1786
- }
1787
- .col-sm-10 {
1788
- width: 83.33333333%;
1789
- }
1790
- .col-sm-9 {
1791
- width: 75%;
1792
- }
1793
- .col-sm-8 {
1794
- width: 66.66666667%;
1795
- }
1796
- .col-sm-7 {
1797
- width: 58.33333333%;
1798
- }
1799
- .col-sm-6 {
1800
- width: 50%;
1801
- }
1802
- .col-sm-5 {
1803
- width: 41.66666667%;
1804
- }
1805
- .col-sm-4 {
1806
- width: 33.33333333%;
1807
- }
1808
- .col-sm-3 {
1809
- width: 25%;
1810
- }
1811
- .col-sm-2 {
1812
- width: 16.66666667%;
1813
- }
1814
- .col-sm-1 {
1815
- width: 8.33333333%;
1816
- }
1817
- .col-sm-pull-12 {
1818
- right: 100%;
1819
- }
1820
- .col-sm-pull-11 {
1821
- right: 91.66666667%;
1822
- }
1823
- .col-sm-pull-10 {
1824
- right: 83.33333333%;
1825
- }
1826
- .col-sm-pull-9 {
1827
- right: 75%;
1828
- }
1829
- .col-sm-pull-8 {
1830
- right: 66.66666667%;
1831
- }
1832
- .col-sm-pull-7 {
1833
- right: 58.33333333%;
1834
- }
1835
- .col-sm-pull-6 {
1836
- right: 50%;
1837
- }
1838
- .col-sm-pull-5 {
1839
- right: 41.66666667%;
1840
- }
1841
- .col-sm-pull-4 {
1842
- right: 33.33333333%;
1843
- }
1844
- .col-sm-pull-3 {
1845
- right: 25%;
1846
- }
1847
- .col-sm-pull-2 {
1848
- right: 16.66666667%;
1849
- }
1850
- .col-sm-pull-1 {
1851
- right: 8.33333333%;
1852
- }
1853
- .col-sm-pull-0 {
1854
- right: auto;
1855
- }
1856
- .col-sm-push-12 {
1857
- left: 100%;
1858
- }
1859
- .col-sm-push-11 {
1860
- left: 91.66666667%;
1861
- }
1862
- .col-sm-push-10 {
1863
- left: 83.33333333%;
1864
- }
1865
- .col-sm-push-9 {
1866
- left: 75%;
1867
- }
1868
- .col-sm-push-8 {
1869
- left: 66.66666667%;
1870
- }
1871
- .col-sm-push-7 {
1872
- left: 58.33333333%;
1873
- }
1874
- .col-sm-push-6 {
1875
- left: 50%;
1876
- }
1877
- .col-sm-push-5 {
1878
- left: 41.66666667%;
1879
- }
1880
- .col-sm-push-4 {
1881
- left: 33.33333333%;
1882
- }
1883
- .col-sm-push-3 {
1884
- left: 25%;
1885
- }
1886
- .col-sm-push-2 {
1887
- left: 16.66666667%;
1888
- }
1889
- .col-sm-push-1 {
1890
- left: 8.33333333%;
1891
- }
1892
- .col-sm-push-0 {
1893
- left: auto;
1894
- }
1895
- .col-sm-offset-12 {
1896
- margin-left: 100%;
1897
- }
1898
- .col-sm-offset-11 {
1899
- margin-left: 91.66666667%;
1900
- }
1901
- .col-sm-offset-10 {
1902
- margin-left: 83.33333333%;
1903
- }
1904
- .col-sm-offset-9 {
1905
- margin-left: 75%;
1906
- }
1907
- .col-sm-offset-8 {
1908
- margin-left: 66.66666667%;
1909
- }
1910
- .col-sm-offset-7 {
1911
- margin-left: 58.33333333%;
1912
- }
1913
- .col-sm-offset-6 {
1914
- margin-left: 50%;
1915
- }
1916
- .col-sm-offset-5 {
1917
- margin-left: 41.66666667%;
1918
- }
1919
- .col-sm-offset-4 {
1920
- margin-left: 33.33333333%;
1921
- }
1922
- .col-sm-offset-3 {
1923
- margin-left: 25%;
1924
- }
1925
- .col-sm-offset-2 {
1926
- margin-left: 16.66666667%;
1927
- }
1928
- .col-sm-offset-1 {
1929
- margin-left: 8.33333333%;
1930
- }
1931
- .col-sm-offset-0 {
1932
- margin-left: 0;
1933
- }
1934
- }
1935
- @media (min-width: 992px) {
1936
- .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
1937
- float: left;
1938
- }
1939
- .col-md-12 {
1940
- width: 100%;
1941
- }
1942
- .col-md-11 {
1943
- width: 91.66666667%;
1944
- }
1945
- .col-md-10 {
1946
- width: 83.33333333%;
1947
- }
1948
- .col-md-9 {
1949
- width: 75%;
1950
- }
1951
- .col-md-8 {
1952
- width: 66.66666667%;
1953
- }
1954
- .col-md-7 {
1955
- width: 58.33333333%;
1956
- }
1957
- .col-md-6 {
1958
- width: 50%;
1959
- }
1960
- .col-md-5 {
1961
- width: 41.66666667%;
1962
- }
1963
- .col-md-4 {
1964
- width: 33.33333333%;
1965
- }
1966
- .col-md-3 {
1967
- width: 25%;
1968
- }
1969
- .col-md-2 {
1970
- width: 16.66666667%;
1971
- }
1972
- .col-md-1 {
1973
- width: 8.33333333%;
1974
- }
1975
- .col-md-pull-12 {
1976
- right: 100%;
1977
- }
1978
- .col-md-pull-11 {
1979
- right: 91.66666667%;
1980
- }
1981
- .col-md-pull-10 {
1982
- right: 83.33333333%;
1983
- }
1984
- .col-md-pull-9 {
1985
- right: 75%;
1986
- }
1987
- .col-md-pull-8 {
1988
- right: 66.66666667%;
1989
- }
1990
- .col-md-pull-7 {
1991
- right: 58.33333333%;
1992
- }
1993
- .col-md-pull-6 {
1994
- right: 50%;
1995
- }
1996
- .col-md-pull-5 {
1997
- right: 41.66666667%;
1998
- }
1999
- .col-md-pull-4 {
2000
- right: 33.33333333%;
2001
- }
2002
- .col-md-pull-3 {
2003
- right: 25%;
2004
- }
2005
- .col-md-pull-2 {
2006
- right: 16.66666667%;
2007
- }
2008
- .col-md-pull-1 {
2009
- right: 8.33333333%;
2010
- }
2011
- .col-md-pull-0 {
2012
- right: auto;
2013
- }
2014
- .col-md-push-12 {
2015
- left: 100%;
2016
- }
2017
- .col-md-push-11 {
2018
- left: 91.66666667%;
2019
- }
2020
- .col-md-push-10 {
2021
- left: 83.33333333%;
2022
- }
2023
- .col-md-push-9 {
2024
- left: 75%;
2025
- }
2026
- .col-md-push-8 {
2027
- left: 66.66666667%;
2028
- }
2029
- .col-md-push-7 {
2030
- left: 58.33333333%;
2031
- }
2032
- .col-md-push-6 {
2033
- left: 50%;
2034
- }
2035
- .col-md-push-5 {
2036
- left: 41.66666667%;
2037
- }
2038
- .col-md-push-4 {
2039
- left: 33.33333333%;
2040
- }
2041
- .col-md-push-3 {
2042
- left: 25%;
2043
- }
2044
- .col-md-push-2 {
2045
- left: 16.66666667%;
2046
- }
2047
- .col-md-push-1 {
2048
- left: 8.33333333%;
2049
- }
2050
- .col-md-push-0 {
2051
- left: auto;
2052
- }
2053
- .col-md-offset-12 {
2054
- margin-left: 100%;
2055
- }
2056
- .col-md-offset-11 {
2057
- margin-left: 91.66666667%;
2058
- }
2059
- .col-md-offset-10 {
2060
- margin-left: 83.33333333%;
2061
- }
2062
- .col-md-offset-9 {
2063
- margin-left: 75%;
2064
- }
2065
- .col-md-offset-8 {
2066
- margin-left: 66.66666667%;
2067
- }
2068
- .col-md-offset-7 {
2069
- margin-left: 58.33333333%;
2070
- }
2071
- .col-md-offset-6 {
2072
- margin-left: 50%;
2073
- }
2074
- .col-md-offset-5 {
2075
- margin-left: 41.66666667%;
2076
- }
2077
- .col-md-offset-4 {
2078
- margin-left: 33.33333333%;
2079
- }
2080
- .col-md-offset-3 {
2081
- margin-left: 25%;
2082
- }
2083
- .col-md-offset-2 {
2084
- margin-left: 16.66666667%;
2085
- }
2086
- .col-md-offset-1 {
2087
- margin-left: 8.33333333%;
2088
- }
2089
- .col-md-offset-0 {
2090
- margin-left: 0;
2091
- }
2092
- }
2093
- @media (min-width: 1200px) {
2094
- .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
2095
- float: left;
2096
- }
2097
- .col-lg-12 {
2098
- width: 100%;
2099
- }
2100
- .col-lg-11 {
2101
- width: 91.66666667%;
2102
- }
2103
- .col-lg-10 {
2104
- width: 83.33333333%;
2105
- }
2106
- .col-lg-9 {
2107
- width: 75%;
2108
- }
2109
- .col-lg-8 {
2110
- width: 66.66666667%;
2111
- }
2112
- .col-lg-7 {
2113
- width: 58.33333333%;
2114
- }
2115
- .col-lg-6 {
2116
- width: 50%;
2117
- }
2118
- .col-lg-5 {
2119
- width: 41.66666667%;
2120
- }
2121
- .col-lg-4 {
2122
- width: 33.33333333%;
2123
- }
2124
- .col-lg-3 {
2125
- width: 25%;
2126
- }
2127
- .col-lg-2 {
2128
- width: 16.66666667%;
2129
- }
2130
- .col-lg-1 {
2131
- width: 8.33333333%;
2132
- }
2133
- .col-lg-pull-12 {
2134
- right: 100%;
2135
- }
2136
- .col-lg-pull-11 {
2137
- right: 91.66666667%;
2138
- }
2139
- .col-lg-pull-10 {
2140
- right: 83.33333333%;
2141
- }
2142
- .col-lg-pull-9 {
2143
- right: 75%;
2144
- }
2145
- .col-lg-pull-8 {
2146
- right: 66.66666667%;
2147
- }
2148
- .col-lg-pull-7 {
2149
- right: 58.33333333%;
2150
- }
2151
- .col-lg-pull-6 {
2152
- right: 50%;
2153
- }
2154
- .col-lg-pull-5 {
2155
- right: 41.66666667%;
2156
- }
2157
- .col-lg-pull-4 {
2158
- right: 33.33333333%;
2159
- }
2160
- .col-lg-pull-3 {
2161
- right: 25%;
2162
- }
2163
- .col-lg-pull-2 {
2164
- right: 16.66666667%;
2165
- }
2166
- .col-lg-pull-1 {
2167
- right: 8.33333333%;
2168
- }
2169
- .col-lg-pull-0 {
2170
- right: auto;
2171
- }
2172
- .col-lg-push-12 {
2173
- left: 100%;
2174
- }
2175
- .col-lg-push-11 {
2176
- left: 91.66666667%;
2177
- }
2178
- .col-lg-push-10 {
2179
- left: 83.33333333%;
2180
- }
2181
- .col-lg-push-9 {
2182
- left: 75%;
2183
- }
2184
- .col-lg-push-8 {
2185
- left: 66.66666667%;
2186
- }
2187
- .col-lg-push-7 {
2188
- left: 58.33333333%;
2189
- }
2190
- .col-lg-push-6 {
2191
- left: 50%;
2192
- }
2193
- .col-lg-push-5 {
2194
- left: 41.66666667%;
2195
- }
2196
- .col-lg-push-4 {
2197
- left: 33.33333333%;
2198
- }
2199
- .col-lg-push-3 {
2200
- left: 25%;
2201
- }
2202
- .col-lg-push-2 {
2203
- left: 16.66666667%;
2204
- }
2205
- .col-lg-push-1 {
2206
- left: 8.33333333%;
2207
- }
2208
- .col-lg-push-0 {
2209
- left: auto;
2210
- }
2211
- .col-lg-offset-12 {
2212
- margin-left: 100%;
2213
- }
2214
- .col-lg-offset-11 {
2215
- margin-left: 91.66666667%;
2216
- }
2217
- .col-lg-offset-10 {
2218
- margin-left: 83.33333333%;
2219
- }
2220
- .col-lg-offset-9 {
2221
- margin-left: 75%;
2222
- }
2223
- .col-lg-offset-8 {
2224
- margin-left: 66.66666667%;
2225
- }
2226
- .col-lg-offset-7 {
2227
- margin-left: 58.33333333%;
2228
- }
2229
- .col-lg-offset-6 {
2230
- margin-left: 50%;
2231
- }
2232
- .col-lg-offset-5 {
2233
- margin-left: 41.66666667%;
2234
- }
2235
- .col-lg-offset-4 {
2236
- margin-left: 33.33333333%;
2237
- }
2238
- .col-lg-offset-3 {
2239
- margin-left: 25%;
2240
- }
2241
- .col-lg-offset-2 {
2242
- margin-left: 16.66666667%;
2243
- }
2244
- .col-lg-offset-1 {
2245
- margin-left: 8.33333333%;
2246
- }
2247
- .col-lg-offset-0 {
2248
- margin-left: 0;
2249
- }
2250
- }
2251
- table {
2252
- background-color: transparent;
2253
- }
2254
- caption {
2255
- padding-top: 8px;
2256
- padding-bottom: 8px;
2257
- color: #777;
2258
- text-align: left;
2259
- }
2260
- th {
2261
- text-align: left;
2262
- }
2263
- .table {
2264
- width: 100%;
2265
- max-width: 100%;
2266
- margin-bottom: 20px;
2267
- }
2268
- .table > thead > tr > th,
2269
- .table > tbody > tr > th,
2270
- .table > tfoot > tr > th,
2271
- .table > thead > tr > td,
2272
- .table > tbody > tr > td,
2273
- .table > tfoot > tr > td {
2274
- padding: 8px;
2275
- line-height: 1.42857143;
2276
- vertical-align: top;
2277
- border-top: 1px solid #ddd;
2278
- }
2279
- .table > thead > tr > th {
2280
- vertical-align: bottom;
2281
- border-bottom: 2px solid #ddd;
2282
- }
2283
- .table > caption + thead > tr:first-child > th,
2284
- .table > colgroup + thead > tr:first-child > th,
2285
- .table > thead:first-child > tr:first-child > th,
2286
- .table > caption + thead > tr:first-child > td,
2287
- .table > colgroup + thead > tr:first-child > td,
2288
- .table > thead:first-child > tr:first-child > td {
2289
- border-top: 0;
2290
- }
2291
- .table > tbody + tbody {
2292
- border-top: 2px solid #ddd;
2293
- }
2294
- .table .table {
2295
- background-color: #fff;
2296
- }
2297
- .table-condensed > thead > tr > th,
2298
- .table-condensed > tbody > tr > th,
2299
- .table-condensed > tfoot > tr > th,
2300
- .table-condensed > thead > tr > td,
2301
- .table-condensed > tbody > tr > td,
2302
- .table-condensed > tfoot > tr > td {
2303
- padding: 5px;
2304
- }
2305
- .table-bordered {
2306
- border: 1px solid #ddd;
2307
- }
2308
- .table-bordered > thead > tr > th,
2309
- .table-bordered > tbody > tr > th,
2310
- .table-bordered > tfoot > tr > th,
2311
- .table-bordered > thead > tr > td,
2312
- .table-bordered > tbody > tr > td,
2313
- .table-bordered > tfoot > tr > td {
2314
- border: 1px solid #ddd;
2315
- }
2316
- .table-bordered > thead > tr > th,
2317
- .table-bordered > thead > tr > td {
2318
- border-bottom-width: 2px;
2319
- }
2320
- .table-striped > tbody > tr:nth-of-type(odd) {
2321
- background-color: #f9f9f9;
2322
- }
2323
- .table-hover > tbody > tr:hover {
2324
- background-color: #f5f5f5;
2325
- }
2326
- table col[class*="col-"] {
2327
- position: static;
2328
- display: table-column;
2329
- float: none;
2330
- }
2331
- table td[class*="col-"],
2332
- table th[class*="col-"] {
2333
- position: static;
2334
- display: table-cell;
2335
- float: none;
2336
- }
2337
- .table > thead > tr > td.active,
2338
- .table > tbody > tr > td.active,
2339
- .table > tfoot > tr > td.active,
2340
- .table > thead > tr > th.active,
2341
- .table > tbody > tr > th.active,
2342
- .table > tfoot > tr > th.active,
2343
- .table > thead > tr.active > td,
2344
- .table > tbody > tr.active > td,
2345
- .table > tfoot > tr.active > td,
2346
- .table > thead > tr.active > th,
2347
- .table > tbody > tr.active > th,
2348
- .table > tfoot > tr.active > th {
2349
- background-color: #f5f5f5;
2350
- }
2351
- .table-hover > tbody > tr > td.active:hover,
2352
- .table-hover > tbody > tr > th.active:hover,
2353
- .table-hover > tbody > tr.active:hover > td,
2354
- .table-hover > tbody > tr:hover > .active,
2355
- .table-hover > tbody > tr.active:hover > th {
2356
- background-color: #e8e8e8;
2357
- }
2358
- .table > thead > tr > td.success,
2359
- .table > tbody > tr > td.success,
2360
- .table > tfoot > tr > td.success,
2361
- .table > thead > tr > th.success,
2362
- .table > tbody > tr > th.success,
2363
- .table > tfoot > tr > th.success,
2364
- .table > thead > tr.success > td,
2365
- .table > tbody > tr.success > td,
2366
- .table > tfoot > tr.success > td,
2367
- .table > thead > tr.success > th,
2368
- .table > tbody > tr.success > th,
2369
- .table > tfoot > tr.success > th {
2370
- background-color: #dff0d8;
2371
- }
2372
- .table-hover > tbody > tr > td.success:hover,
2373
- .table-hover > tbody > tr > th.success:hover,
2374
- .table-hover > tbody > tr.success:hover > td,
2375
- .table-hover > tbody > tr:hover > .success,
2376
- .table-hover > tbody > tr.success:hover > th {
2377
- background-color: #d0e9c6;
2378
- }
2379
- .table > thead > tr > td.info,
2380
- .table > tbody > tr > td.info,
2381
- .table > tfoot > tr > td.info,
2382
- .table > thead > tr > th.info,
2383
- .table > tbody > tr > th.info,
2384
- .table > tfoot > tr > th.info,
2385
- .table > thead > tr.info > td,
2386
- .table > tbody > tr.info > td,
2387
- .table > tfoot > tr.info > td,
2388
- .table > thead > tr.info > th,
2389
- .table > tbody > tr.info > th,
2390
- .table > tfoot > tr.info > th {
2391
- background-color: #d9edf7;
2392
- }
2393
- .table-hover > tbody > tr > td.info:hover,
2394
- .table-hover > tbody > tr > th.info:hover,
2395
- .table-hover > tbody > tr.info:hover > td,
2396
- .table-hover > tbody > tr:hover > .info,
2397
- .table-hover > tbody > tr.info:hover > th {
2398
- background-color: #c4e3f3;
2399
- }
2400
- .table > thead > tr > td.warning,
2401
- .table > tbody > tr > td.warning,
2402
- .table > tfoot > tr > td.warning,
2403
- .table > thead > tr > th.warning,
2404
- .table > tbody > tr > th.warning,
2405
- .table > tfoot > tr > th.warning,
2406
- .table > thead > tr.warning > td,
2407
- .table > tbody > tr.warning > td,
2408
- .table > tfoot > tr.warning > td,
2409
- .table > thead > tr.warning > th,
2410
- .table > tbody > tr.warning > th,
2411
- .table > tfoot > tr.warning > th {
2412
- background-color: #fcf8e3;
2413
- }
2414
- .table-hover > tbody > tr > td.warning:hover,
2415
- .table-hover > tbody > tr > th.warning:hover,
2416
- .table-hover > tbody > tr.warning:hover > td,
2417
- .table-hover > tbody > tr:hover > .warning,
2418
- .table-hover > tbody > tr.warning:hover > th {
2419
- background-color: #faf2cc;
2420
- }
2421
- .table > thead > tr > td.danger,
2422
- .table > tbody > tr > td.danger,
2423
- .table > tfoot > tr > td.danger,
2424
- .table > thead > tr > th.danger,
2425
- .table > tbody > tr > th.danger,
2426
- .table > tfoot > tr > th.danger,
2427
- .table > thead > tr.danger > td,
2428
- .table > tbody > tr.danger > td,
2429
- .table > tfoot > tr.danger > td,
2430
- .table > thead > tr.danger > th,
2431
- .table > tbody > tr.danger > th,
2432
- .table > tfoot > tr.danger > th {
2433
- background-color: #f2dede;
2434
- }
2435
- .table-hover > tbody > tr > td.danger:hover,
2436
- .table-hover > tbody > tr > th.danger:hover,
2437
- .table-hover > tbody > tr.danger:hover > td,
2438
- .table-hover > tbody > tr:hover > .danger,
2439
- .table-hover > tbody > tr.danger:hover > th {
2440
- background-color: #ebcccc;
2441
- }
2442
- .table-responsive {
2443
- min-height: .01%;
2444
- overflow-x: auto;
2445
- }
2446
- @media screen and (max-width: 767px) {
2447
- .table-responsive {
2448
- width: 100%;
2449
- margin-bottom: 15px;
2450
- overflow-y: hidden;
2451
- -ms-overflow-style: -ms-autohiding-scrollbar;
2452
- border: 1px solid #ddd;
2453
- }
2454
- .table-responsive > .table {
2455
- margin-bottom: 0;
2456
- }
2457
- .table-responsive > .table > thead > tr > th,
2458
- .table-responsive > .table > tbody > tr > th,
2459
- .table-responsive > .table > tfoot > tr > th,
2460
- .table-responsive > .table > thead > tr > td,
2461
- .table-responsive > .table > tbody > tr > td,
2462
- .table-responsive > .table > tfoot > tr > td {
2463
- white-space: nowrap;
2464
- }
2465
- .table-responsive > .table-bordered {
2466
- border: 0;
2467
- }
2468
- .table-responsive > .table-bordered > thead > tr > th:first-child,
2469
- .table-responsive > .table-bordered > tbody > tr > th:first-child,
2470
- .table-responsive > .table-bordered > tfoot > tr > th:first-child,
2471
- .table-responsive > .table-bordered > thead > tr > td:first-child,
2472
- .table-responsive > .table-bordered > tbody > tr > td:first-child,
2473
- .table-responsive > .table-bordered > tfoot > tr > td:first-child {
2474
- border-left: 0;
2475
- }
2476
- .table-responsive > .table-bordered > thead > tr > th:last-child,
2477
- .table-responsive > .table-bordered > tbody > tr > th:last-child,
2478
- .table-responsive > .table-bordered > tfoot > tr > th:last-child,
2479
- .table-responsive > .table-bordered > thead > tr > td:last-child,
2480
- .table-responsive > .table-bordered > tbody > tr > td:last-child,
2481
- .table-responsive > .table-bordered > tfoot > tr > td:last-child {
2482
- border-right: 0;
2483
- }
2484
- .table-responsive > .table-bordered > tbody > tr:last-child > th,
2485
- .table-responsive > .table-bordered > tfoot > tr:last-child > th,
2486
- .table-responsive > .table-bordered > tbody > tr:last-child > td,
2487
- .table-responsive > .table-bordered > tfoot > tr:last-child > td {
2488
- border-bottom: 0;
2489
- }
2490
- }
2491
- fieldset {
2492
- min-width: 0;
2493
- padding: 0;
2494
- margin: 0;
2495
- border: 0;
2496
- }
2497
- legend {
2498
- display: block;
2499
- width: 100%;
2500
- padding: 0;
2501
- margin-bottom: 20px;
2502
- font-size: 21px;
2503
- line-height: inherit;
2504
- color: #333;
2505
- border: 0;
2506
- border-bottom: 1px solid #e5e5e5;
2507
- }
2508
- label {
2509
- display: inline-block;
2510
- max-width: 100%;
2511
- margin-bottom: 5px;
2512
- // font-weight: bold;
2513
- }
2514
- input[type="search"] {
2515
- -webkit-box-sizing: border-box;
2516
- -moz-box-sizing: border-box;
2517
- box-sizing: border-box;
2518
- }
2519
- input[type="radio"],
2520
- input[type="checkbox"] {
2521
- margin: 4px 0 0;
2522
- margin-top: 1px \9;
2523
- line-height: normal;
2524
- }
2525
- input[type="file"] {
2526
- display: block;
2527
- }
2528
- input[type="range"] {
2529
- display: block;
2530
- width: 100%;
2531
- }
2532
- select[multiple],
2533
- select[size] {
2534
- height: auto;
2535
- }
2536
- input[type="file"]:focus,
2537
- input[type="radio"]:focus,
2538
- input[type="checkbox"]:focus {
2539
- outline: thin dotted;
2540
- outline: 5px auto -webkit-focus-ring-color;
2541
- outline-offset: -2px;
2542
- }
2543
- output {
2544
- display: block;
2545
- padding-top: 7px;
2546
- font-size: 14px;
2547
- line-height: 1.42857143;
2548
- color: #555;
2549
- }
2550
- .form-control {
2551
- display: block;
2552
- width: 100%;
2553
- height: 34px;
2554
- padding: 6px 12px;
2555
- font-size: 14px;
2556
- line-height: 1.42857143;
2557
- color: #555;
2558
- background-color: #fff;
2559
- background-image: none;
2560
- border: 1px solid #ccc;
2561
- border-radius: 4px;
2562
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2563
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2564
- -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
2565
- -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
2566
- transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
2567
- }
2568
- .form-control:focus {
2569
- border-color: #66afe9;
2570
- outline: 0;
2571
- -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
2572
- box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
2573
- }
2574
- .form-control::-moz-placeholder {
2575
- color: #999;
2576
- opacity: 1;
2577
- }
2578
- .form-control:-ms-input-placeholder {
2579
- color: #999;
2580
- }
2581
- .form-control::-webkit-input-placeholder {
2582
- color: #999;
2583
- }
2584
- .form-control::-ms-expand {
2585
- background-color: transparent;
2586
- border: 0;
2587
- }
2588
- .form-control[disabled],
2589
- .form-control[readonly],
2590
- fieldset[disabled] .form-control {
2591
- background-color: #eee;
2592
- opacity: 1;
2593
- }
2594
- .form-control[disabled],
2595
- fieldset[disabled] .form-control {
2596
- cursor: not-allowed;
2597
- }
2598
- textarea.form-control {
2599
- height: auto;
2600
- }
2601
- input[type="search"] {
2602
- -webkit-appearance: none;
2603
- }
2604
- @media screen and (-webkit-min-device-pixel-ratio: 0) {
2605
- input[type="date"].form-control,
2606
- input[type="time"].form-control,
2607
- input[type="datetime-local"].form-control,
2608
- input[type="month"].form-control {
2609
- line-height: 34px;
2610
- }
2611
- input[type="date"].input-sm,
2612
- input[type="time"].input-sm,
2613
- input[type="datetime-local"].input-sm,
2614
- input[type="month"].input-sm,
2615
- .input-group-sm input[type="date"],
2616
- .input-group-sm input[type="time"],
2617
- .input-group-sm input[type="datetime-local"],
2618
- .input-group-sm input[type="month"] {
2619
- line-height: 30px;
2620
- }
2621
- input[type="date"].input-lg,
2622
- input[type="time"].input-lg,
2623
- input[type="datetime-local"].input-lg,
2624
- input[type="month"].input-lg,
2625
- .input-group-lg input[type="date"],
2626
- .input-group-lg input[type="time"],
2627
- .input-group-lg input[type="datetime-local"],
2628
- .input-group-lg input[type="month"] {
2629
- line-height: 46px;
2630
- }
2631
- }
2632
- .form-group {
2633
- margin-bottom: 15px;
2634
- }
2635
- .radio,
2636
- .checkbox {
2637
- position: relative;
2638
- display: block;
2639
- margin-top: 10px;
2640
- margin-bottom: 10px;
2641
- }
2642
- .radio label,
2643
- .checkbox label {
2644
- min-height: 20px;
2645
- padding-left: 20px;
2646
- margin-bottom: 0;
2647
- font-weight: normal;
2648
- cursor: pointer;
2649
- }
2650
- .radio input[type="radio"],
2651
- .radio-inline input[type="radio"],
2652
- .checkbox input[type="checkbox"],
2653
- .checkbox-inline input[type="checkbox"] {
2654
- position: absolute;
2655
- margin-top: 4px \9;
2656
- margin-left: -20px;
2657
- }
2658
- .radio + .radio,
2659
- .checkbox + .checkbox {
2660
- margin-top: -5px;
2661
- }
2662
- .radio-inline,
2663
- .checkbox-inline {
2664
- position: relative;
2665
- display: inline-block;
2666
- padding-left: 20px;
2667
- margin-bottom: 0;
2668
- font-weight: normal;
2669
- vertical-align: middle;
2670
- cursor: pointer;
2671
- }
2672
- .radio-inline + .radio-inline,
2673
- .checkbox-inline + .checkbox-inline {
2674
- margin-top: 0;
2675
- margin-left: 10px;
2676
- }
2677
- input[type="radio"][disabled],
2678
- input[type="checkbox"][disabled],
2679
- input[type="radio"].disabled,
2680
- input[type="checkbox"].disabled,
2681
- fieldset[disabled] input[type="radio"],
2682
- fieldset[disabled] input[type="checkbox"] {
2683
- cursor: not-allowed;
2684
- }
2685
- .radio-inline.disabled,
2686
- .checkbox-inline.disabled,
2687
- fieldset[disabled] .radio-inline,
2688
- fieldset[disabled] .checkbox-inline {
2689
- cursor: not-allowed;
2690
- }
2691
- .radio.disabled label,
2692
- .checkbox.disabled label,
2693
- fieldset[disabled] .radio label,
2694
- fieldset[disabled] .checkbox label {
2695
- cursor: not-allowed;
2696
- }
2697
- .form-control-static {
2698
- min-height: 34px;
2699
- padding-top: 7px;
2700
- padding-bottom: 7px;
2701
- margin-bottom: 0;
2702
- }
2703
- .form-control-static.input-lg,
2704
- .form-control-static.input-sm {
2705
- padding-right: 0;
2706
- padding-left: 0;
2707
- }
2708
- .input-sm {
2709
- height: 30px;
2710
- padding: 5px 10px;
2711
- font-size: 12px;
2712
- line-height: 1.5;
2713
- border-radius: 3px;
2714
- }
2715
- select.input-sm {
2716
- height: 30px;
2717
- line-height: 30px;
2718
- }
2719
- textarea.input-sm,
2720
- select[multiple].input-sm {
2721
- height: auto;
2722
- }
2723
- .form-group-sm .form-control {
2724
- height: 30px;
2725
- padding: 5px 10px;
2726
- font-size: 12px;
2727
- line-height: 1.5;
2728
- border-radius: 3px;
2729
- }
2730
- .form-group-sm select.form-control {
2731
- height: 30px;
2732
- line-height: 30px;
2733
- }
2734
- .form-group-sm textarea.form-control,
2735
- .form-group-sm select[multiple].form-control {
2736
- height: auto;
2737
- }
2738
- .form-group-sm .form-control-static {
2739
- height: 30px;
2740
- min-height: 32px;
2741
- padding: 6px 10px;
2742
- font-size: 12px;
2743
- line-height: 1.5;
2744
- }
2745
- .input-lg {
2746
- height: 46px;
2747
- padding: 10px 16px;
2748
- font-size: 18px;
2749
- line-height: 1.3333333;
2750
- border-radius: 6px;
2751
- }
2752
- select.input-lg {
2753
- height: 46px;
2754
- line-height: 46px;
2755
- }
2756
- textarea.input-lg,
2757
- select[multiple].input-lg {
2758
- height: auto;
2759
- }
2760
- .form-group-lg .form-control {
2761
- height: 46px;
2762
- padding: 10px 16px;
2763
- font-size: 18px;
2764
- line-height: 1.3333333;
2765
- border-radius: 6px;
2766
- }
2767
- .form-group-lg select.form-control {
2768
- height: 46px;
2769
- line-height: 46px;
2770
- }
2771
- .form-group-lg textarea.form-control,
2772
- .form-group-lg select[multiple].form-control {
2773
- height: auto;
2774
- }
2775
- .form-group-lg .form-control-static {
2776
- height: 46px;
2777
- min-height: 38px;
2778
- padding: 11px 16px;
2779
- font-size: 18px;
2780
- line-height: 1.3333333;
2781
- }
2782
- .has-feedback {
2783
- position: relative;
2784
- }
2785
- .has-feedback .form-control {
2786
- padding-right: 42.5px;
2787
- }
2788
- .form-control-feedback {
2789
- position: absolute;
2790
- top: 0;
2791
- right: 0;
2792
- z-index: 2;
2793
- display: block;
2794
- width: 34px;
2795
- height: 34px;
2796
- line-height: 34px;
2797
- text-align: center;
2798
- pointer-events: none;
2799
- }
2800
- .input-lg + .form-control-feedback,
2801
- .input-group-lg + .form-control-feedback,
2802
- .form-group-lg .form-control + .form-control-feedback {
2803
- width: 46px;
2804
- height: 46px;
2805
- line-height: 46px;
2806
- }
2807
- .input-sm + .form-control-feedback,
2808
- .input-group-sm + .form-control-feedback,
2809
- .form-group-sm .form-control + .form-control-feedback {
2810
- width: 30px;
2811
- height: 30px;
2812
- line-height: 30px;
2813
- }
2814
- .has-success .help-block,
2815
- .has-success .control-label,
2816
- .has-success .radio,
2817
- .has-success .checkbox,
2818
- .has-success .radio-inline,
2819
- .has-success .checkbox-inline,
2820
- .has-success.radio label,
2821
- .has-success.checkbox label,
2822
- .has-success.radio-inline label,
2823
- .has-success.checkbox-inline label {
2824
- color: #3c763d;
2825
- }
2826
- .has-success .form-control {
2827
- border-color: #3c763d;
2828
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2829
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2830
- }
2831
- .has-success .form-control:focus {
2832
- border-color: #2b542c;
2833
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
2834
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
2835
- }
2836
- .has-success .input-group-addon {
2837
- color: #3c763d;
2838
- background-color: #dff0d8;
2839
- border-color: #3c763d;
2840
- }
2841
- .has-success .form-control-feedback {
2842
- color: #3c763d;
2843
- }
2844
- .has-warning .help-block,
2845
- .has-warning .control-label,
2846
- .has-warning .radio,
2847
- .has-warning .checkbox,
2848
- .has-warning .radio-inline,
2849
- .has-warning .checkbox-inline,
2850
- .has-warning.radio label,
2851
- .has-warning.checkbox label,
2852
- .has-warning.radio-inline label,
2853
- .has-warning.checkbox-inline label {
2854
- color: #8a6d3b;
2855
- }
2856
- .has-warning .form-control {
2857
- border-color: #8a6d3b;
2858
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2859
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2860
- }
2861
- .has-warning .form-control:focus {
2862
- border-color: #66512c;
2863
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
2864
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
2865
- }
2866
- .has-warning .input-group-addon {
2867
- color: #8a6d3b;
2868
- background-color: #fcf8e3;
2869
- border-color: #8a6d3b;
2870
- }
2871
- .has-warning .form-control-feedback {
2872
- color: #8a6d3b;
2873
- }
2874
- .has-error .help-block,
2875
- .has-error .control-label,
2876
- .has-error .radio,
2877
- .has-error .checkbox,
2878
- .has-error .radio-inline,
2879
- .has-error .checkbox-inline,
2880
- .has-error.radio label,
2881
- .has-error.checkbox label,
2882
- .has-error.radio-inline label,
2883
- .has-error.checkbox-inline label {
2884
- color: #a94442;
2885
- }
2886
- .has-error .form-control {
2887
- border-color: #a94442;
2888
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2889
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
2890
- }
2891
- .has-error .form-control:focus {
2892
- border-color: #843534;
2893
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
2894
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
2895
- }
2896
- .has-error .input-group-addon {
2897
- color: #a94442;
2898
- background-color: #f2dede;
2899
- border-color: #a94442;
2900
- }
2901
- .has-error .form-control-feedback {
2902
- color: #a94442;
2903
- }
2904
- .has-feedback label ~ .form-control-feedback {
2905
- top: 25px;
2906
- }
2907
- .has-feedback label.sr-only ~ .form-control-feedback {
2908
- top: 0;
2909
- }
2910
- .help-block {
2911
- display: block;
2912
- margin-top: 5px;
2913
- margin-bottom: 10px;
2914
- color: #737373;
2915
- }
2916
- @media (min-width: 768px) {
2917
- .form-inline .form-group {
2918
- display: inline-block;
2919
- margin-bottom: 0;
2920
- vertical-align: middle;
2921
- }
2922
- .form-inline .form-control {
2923
- display: inline-block;
2924
- width: auto;
2925
- vertical-align: middle;
2926
- }
2927
- .form-inline .form-control-static {
2928
- display: inline-block;
2929
- }
2930
- .form-inline .input-group {
2931
- display: inline-table;
2932
- vertical-align: middle;
2933
- }
2934
- .form-inline .input-group .input-group-addon,
2935
- .form-inline .input-group .input-group-btn,
2936
- .form-inline .input-group .form-control {
2937
- width: auto;
2938
- }
2939
- .form-inline .input-group > .form-control {
2940
- width: 100%;
2941
- }
2942
- .form-inline .control-label {
2943
- margin-bottom: 0;
2944
- vertical-align: middle;
2945
- }
2946
- .form-inline .radio,
2947
- .form-inline .checkbox {
2948
- display: inline-block;
2949
- margin-top: 0;
2950
- margin-bottom: 0;
2951
- vertical-align: middle;
2952
- }
2953
- .form-inline .radio label,
2954
- .form-inline .checkbox label {
2955
- padding-left: 0;
2956
- }
2957
- .form-inline .radio input[type="radio"],
2958
- .form-inline .checkbox input[type="checkbox"] {
2959
- position: relative;
2960
- margin-left: 0;
2961
- }
2962
- .form-inline .has-feedback .form-control-feedback {
2963
- top: 0;
2964
- }
2965
- }
2966
- .form-horizontal .radio,
2967
- .form-horizontal .checkbox,
2968
- .form-horizontal .radio-inline,
2969
- .form-horizontal .checkbox-inline {
2970
- padding-top: 7px;
2971
- margin-top: 0;
2972
- margin-bottom: 0;
2973
- }
2974
- .form-horizontal .radio,
2975
- .form-horizontal .checkbox {
2976
- min-height: 27px;
2977
- }
2978
- .form-horizontal .form-group {
2979
- margin-right: -15px;
2980
- margin-left: -15px;
2981
- }
2982
- @media (min-width: 768px) {
2983
- .form-horizontal .control-label {
2984
- padding-top: 7px;
2985
- margin-bottom: 0;
2986
- text-align: right;
2987
- }
2988
- }
2989
- .form-horizontal .has-feedback .form-control-feedback {
2990
- right: 15px;
2991
- }
2992
- @media (min-width: 768px) {
2993
- .form-horizontal .form-group-lg .control-label {
2994
- padding-top: 11px;
2995
- font-size: 18px;
2996
- }
2997
- }
2998
- @media (min-width: 768px) {
2999
- .form-horizontal .form-group-sm .control-label {
3000
- padding-top: 6px;
3001
- font-size: 12px;
3002
- }
3003
- }
3004
- .btn {
3005
- display: inline-block;
3006
- padding: 6px 12px;
3007
- margin-bottom: 0;
3008
- font-size: 14px;
3009
- font-weight: normal;
3010
- line-height: 1.42857143;
3011
- text-align: center;
3012
- white-space: nowrap;
3013
- vertical-align: middle;
3014
- -ms-touch-action: manipulation;
3015
- touch-action: manipulation;
3016
- cursor: pointer;
3017
- -webkit-user-select: none;
3018
- -moz-user-select: none;
3019
- -ms-user-select: none;
3020
- user-select: none;
3021
- background-image: none;
3022
- border: 1px solid transparent;
3023
- border-radius: 4px;
3024
- }
3025
- .btn:focus,
3026
- .btn:active:focus,
3027
- .btn.active:focus,
3028
- .btn.focus,
3029
- .btn:active.focus,
3030
- .btn.active.focus {
3031
- outline: thin dotted;
3032
- outline: 5px auto -webkit-focus-ring-color;
3033
- outline-offset: -2px;
3034
- }
3035
- .btn:hover,
3036
- .btn:focus,
3037
- .btn.focus {
3038
- color: #333;
3039
- text-decoration: none;
3040
- }
3041
- .btn:active,
3042
- .btn.active {
3043
- background-image: none;
3044
- outline: 0;
3045
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
3046
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
3047
- }
3048
- .btn.disabled,
3049
- .btn[disabled],
3050
- fieldset[disabled] .btn {
3051
- cursor: not-allowed;
3052
- filter: alpha(opacity=65);
3053
- -webkit-box-shadow: none;
3054
- box-shadow: none;
3055
- opacity: .65;
3056
- }
3057
- a.btn.disabled,
3058
- fieldset[disabled] a.btn {
3059
- pointer-events: none;
3060
- }
3061
- .btn-default {
3062
- color: #333;
3063
- background-color: #fff;
3064
- border-color: #ccc;
3065
- }
3066
- .btn-default:focus,
3067
- .btn-default.focus {
3068
- color: #333;
3069
- background-color: #e6e6e6;
3070
- border-color: #8c8c8c;
3071
- }
3072
- .btn-default:hover {
3073
- color: #333;
3074
- background-color: #e6e6e6;
3075
- border-color: #adadad;
3076
- }
3077
- .btn-default:active,
3078
- .btn-default.active,
3079
- .open > .dropdown-toggle.btn-default {
3080
- color: #333;
3081
- background-color: #e6e6e6;
3082
- border-color: #adadad;
3083
- }
3084
- .btn-default:active:hover,
3085
- .btn-default.active:hover,
3086
- .open > .dropdown-toggle.btn-default:hover,
3087
- .btn-default:active:focus,
3088
- .btn-default.active:focus,
3089
- .open > .dropdown-toggle.btn-default:focus,
3090
- .btn-default:active.focus,
3091
- .btn-default.active.focus,
3092
- .open > .dropdown-toggle.btn-default.focus {
3093
- color: #333;
3094
- background-color: #d4d4d4;
3095
- border-color: #8c8c8c;
3096
- }
3097
- .btn-default:active,
3098
- .btn-default.active,
3099
- .open > .dropdown-toggle.btn-default {
3100
- background-image: none;
3101
- }
3102
- .btn-default.disabled:hover,
3103
- .btn-default[disabled]:hover,
3104
- fieldset[disabled] .btn-default:hover,
3105
- .btn-default.disabled:focus,
3106
- .btn-default[disabled]:focus,
3107
- fieldset[disabled] .btn-default:focus,
3108
- .btn-default.disabled.focus,
3109
- .btn-default[disabled].focus,
3110
- fieldset[disabled] .btn-default.focus {
3111
- background-color: #fff;
3112
- border-color: #ccc;
3113
- }
3114
- .btn-default .badge {
3115
- color: #fff;
3116
- background-color: #333;
3117
- }
3118
- .btn-primary {
3119
- color: #fff;
3120
- background-color: #337ab7;
3121
- border-color: #2e6da4;
3122
- }
3123
- .btn-primary:focus,
3124
- .btn-primary.focus {
3125
- color: #fff;
3126
- background-color: #286090;
3127
- border-color: #122b40;
3128
- }
3129
- .btn-primary:hover {
3130
- color: #fff;
3131
- background-color: #286090;
3132
- border-color: #204d74;
3133
- }
3134
- .btn-primary:active,
3135
- .btn-primary.active,
3136
- .open > .dropdown-toggle.btn-primary {
3137
- color: #fff;
3138
- background-color: #286090;
3139
- border-color: #204d74;
3140
- }
3141
- .btn-primary:active:hover,
3142
- .btn-primary.active:hover,
3143
- .open > .dropdown-toggle.btn-primary:hover,
3144
- .btn-primary:active:focus,
3145
- .btn-primary.active:focus,
3146
- .open > .dropdown-toggle.btn-primary:focus,
3147
- .btn-primary:active.focus,
3148
- .btn-primary.active.focus,
3149
- .open > .dropdown-toggle.btn-primary.focus {
3150
- color: #fff;
3151
- background-color: #204d74;
3152
- border-color: #122b40;
3153
- }
3154
- .btn-primary:active,
3155
- .btn-primary.active,
3156
- .open > .dropdown-toggle.btn-primary {
3157
- background-image: none;
3158
- }
3159
- .btn-primary.disabled:hover,
3160
- .btn-primary[disabled]:hover,
3161
- fieldset[disabled] .btn-primary:hover,
3162
- .btn-primary.disabled:focus,
3163
- .btn-primary[disabled]:focus,
3164
- fieldset[disabled] .btn-primary:focus,
3165
- .btn-primary.disabled.focus,
3166
- .btn-primary[disabled].focus,
3167
- fieldset[disabled] .btn-primary.focus {
3168
- background-color: #337ab7;
3169
- border-color: #2e6da4;
3170
- }
3171
- .btn-primary .badge {
3172
- color: #337ab7;
3173
- background-color: #fff;
3174
- }
3175
- .btn-success {
3176
- color: #fff;
3177
- background-color: #5cb85c;
3178
- border-color: #4cae4c;
3179
- }
3180
- .btn-success:focus,
3181
- .btn-success.focus {
3182
- color: #fff;
3183
- background-color: #449d44;
3184
- border-color: #255625;
3185
- }
3186
- .btn-success:hover {
3187
- color: #fff;
3188
- background-color: #449d44;
3189
- border-color: #398439;
3190
- }
3191
- .btn-success:active,
3192
- .btn-success.active,
3193
- .open > .dropdown-toggle.btn-success {
3194
- color: #fff;
3195
- background-color: #449d44;
3196
- border-color: #398439;
3197
- }
3198
- .btn-success:active:hover,
3199
- .btn-success.active:hover,
3200
- .open > .dropdown-toggle.btn-success:hover,
3201
- .btn-success:active:focus,
3202
- .btn-success.active:focus,
3203
- .open > .dropdown-toggle.btn-success:focus,
3204
- .btn-success:active.focus,
3205
- .btn-success.active.focus,
3206
- .open > .dropdown-toggle.btn-success.focus {
3207
- color: #fff;
3208
- background-color: #398439;
3209
- border-color: #255625;
3210
- }
3211
- .btn-success:active,
3212
- .btn-success.active,
3213
- .open > .dropdown-toggle.btn-success {
3214
- background-image: none;
3215
- }
3216
- .btn-success.disabled:hover,
3217
- .btn-success[disabled]:hover,
3218
- fieldset[disabled] .btn-success:hover,
3219
- .btn-success.disabled:focus,
3220
- .btn-success[disabled]:focus,
3221
- fieldset[disabled] .btn-success:focus,
3222
- .btn-success.disabled.focus,
3223
- .btn-success[disabled].focus,
3224
- fieldset[disabled] .btn-success.focus {
3225
- background-color: #5cb85c;
3226
- border-color: #4cae4c;
3227
- }
3228
- .btn-success .badge {
3229
- color: #5cb85c;
3230
- background-color: #fff;
3231
- }
3232
- .btn-info {
3233
- color: #fff;
3234
- background-color: #5bc0de;
3235
- border-color: #46b8da;
3236
- }
3237
- .btn-info:focus,
3238
- .btn-info.focus {
3239
- color: #fff;
3240
- background-color: #31b0d5;
3241
- border-color: #1b6d85;
3242
- }
3243
- .btn-info:hover {
3244
- color: #fff;
3245
- background-color: #31b0d5;
3246
- border-color: #269abc;
3247
- }
3248
- .btn-info:active,
3249
- .btn-info.active,
3250
- .open > .dropdown-toggle.btn-info {
3251
- color: #fff;
3252
- background-color: #31b0d5;
3253
- border-color: #269abc;
3254
- }
3255
- .btn-info:active:hover,
3256
- .btn-info.active:hover,
3257
- .open > .dropdown-toggle.btn-info:hover,
3258
- .btn-info:active:focus,
3259
- .btn-info.active:focus,
3260
- .open > .dropdown-toggle.btn-info:focus,
3261
- .btn-info:active.focus,
3262
- .btn-info.active.focus,
3263
- .open > .dropdown-toggle.btn-info.focus {
3264
- color: #fff;
3265
- background-color: #269abc;
3266
- border-color: #1b6d85;
3267
- }
3268
- .btn-info:active,
3269
- .btn-info.active,
3270
- .open > .dropdown-toggle.btn-info {
3271
- background-image: none;
3272
- }
3273
- .btn-info.disabled:hover,
3274
- .btn-info[disabled]:hover,
3275
- fieldset[disabled] .btn-info:hover,
3276
- .btn-info.disabled:focus,
3277
- .btn-info[disabled]:focus,
3278
- fieldset[disabled] .btn-info:focus,
3279
- .btn-info.disabled.focus,
3280
- .btn-info[disabled].focus,
3281
- fieldset[disabled] .btn-info.focus {
3282
- background-color: #5bc0de;
3283
- border-color: #46b8da;
3284
- }
3285
- .btn-info .badge {
3286
- color: #5bc0de;
3287
- background-color: #fff;
3288
- }
3289
- .btn-warning {
3290
- color: #fff;
3291
- background-color: #f0ad4e;
3292
- border-color: #eea236;
3293
- }
3294
- .btn-warning:focus,
3295
- .btn-warning.focus {
3296
- color: #fff;
3297
- background-color: #ec971f;
3298
- border-color: #985f0d;
3299
- }
3300
- .btn-warning:hover {
3301
- color: #fff;
3302
- background-color: #ec971f;
3303
- border-color: #d58512;
3304
- }
3305
- .btn-warning:active,
3306
- .btn-warning.active,
3307
- .open > .dropdown-toggle.btn-warning {
3308
- color: #fff;
3309
- background-color: #ec971f;
3310
- border-color: #d58512;
3311
- }
3312
- .btn-warning:active:hover,
3313
- .btn-warning.active:hover,
3314
- .open > .dropdown-toggle.btn-warning:hover,
3315
- .btn-warning:active:focus,
3316
- .btn-warning.active:focus,
3317
- .open > .dropdown-toggle.btn-warning:focus,
3318
- .btn-warning:active.focus,
3319
- .btn-warning.active.focus,
3320
- .open > .dropdown-toggle.btn-warning.focus {
3321
- color: #fff;
3322
- background-color: #d58512;
3323
- border-color: #985f0d;
3324
- }
3325
- .btn-warning:active,
3326
- .btn-warning.active,
3327
- .open > .dropdown-toggle.btn-warning {
3328
- background-image: none;
3329
- }
3330
- .btn-warning.disabled:hover,
3331
- .btn-warning[disabled]:hover,
3332
- fieldset[disabled] .btn-warning:hover,
3333
- .btn-warning.disabled:focus,
3334
- .btn-warning[disabled]:focus,
3335
- fieldset[disabled] .btn-warning:focus,
3336
- .btn-warning.disabled.focus,
3337
- .btn-warning[disabled].focus,
3338
- fieldset[disabled] .btn-warning.focus {
3339
- background-color: #f0ad4e;
3340
- border-color: #eea236;
3341
- }
3342
- .btn-warning .badge {
3343
- color: #f0ad4e;
3344
- background-color: #fff;
3345
- }
3346
- .btn-danger {
3347
- color: #fff;
3348
- background-color: #d9534f;
3349
- border-color: #d43f3a;
3350
- }
3351
- .btn-danger:focus,
3352
- .btn-danger.focus {
3353
- color: #fff;
3354
- background-color: #c9302c;
3355
- border-color: #761c19;
3356
- }
3357
- .btn-danger:hover {
3358
- color: #fff;
3359
- background-color: #c9302c;
3360
- border-color: #ac2925;
3361
- }
3362
- .btn-danger:active,
3363
- .btn-danger.active,
3364
- .open > .dropdown-toggle.btn-danger {
3365
- color: #fff;
3366
- background-color: #c9302c;
3367
- border-color: #ac2925;
3368
- }
3369
- .btn-danger:active:hover,
3370
- .btn-danger.active:hover,
3371
- .open > .dropdown-toggle.btn-danger:hover,
3372
- .btn-danger:active:focus,
3373
- .btn-danger.active:focus,
3374
- .open > .dropdown-toggle.btn-danger:focus,
3375
- .btn-danger:active.focus,
3376
- .btn-danger.active.focus,
3377
- .open > .dropdown-toggle.btn-danger.focus {
3378
- color: #fff;
3379
- background-color: #ac2925;
3380
- border-color: #761c19;
3381
- }
3382
- .btn-danger:active,
3383
- .btn-danger.active,
3384
- .open > .dropdown-toggle.btn-danger {
3385
- background-image: none;
3386
- }
3387
- .btn-danger.disabled:hover,
3388
- .btn-danger[disabled]:hover,
3389
- fieldset[disabled] .btn-danger:hover,
3390
- .btn-danger.disabled:focus,
3391
- .btn-danger[disabled]:focus,
3392
- fieldset[disabled] .btn-danger:focus,
3393
- .btn-danger.disabled.focus,
3394
- .btn-danger[disabled].focus,
3395
- fieldset[disabled] .btn-danger.focus {
3396
- background-color: #d9534f;
3397
- border-color: #d43f3a;
3398
- }
3399
- .btn-danger .badge {
3400
- color: #d9534f;
3401
- background-color: #fff;
3402
- }
3403
- .btn-link {
3404
- font-weight: normal;
3405
- color: #337ab7;
3406
- border-radius: 0;
3407
- }
3408
- .btn-link,
3409
- .btn-link:active,
3410
- .btn-link.active,
3411
- .btn-link[disabled],
3412
- fieldset[disabled] .btn-link {
3413
- background-color: transparent;
3414
- -webkit-box-shadow: none;
3415
- box-shadow: none;
3416
- }
3417
- .btn-link,
3418
- .btn-link:hover,
3419
- .btn-link:focus,
3420
- .btn-link:active {
3421
- border-color: transparent;
3422
- }
3423
- .btn-link:hover,
3424
- .btn-link:focus {
3425
- color: #23527c;
3426
- text-decoration: underline;
3427
- background-color: transparent;
3428
- }
3429
- .btn-link[disabled]:hover,
3430
- fieldset[disabled] .btn-link:hover,
3431
- .btn-link[disabled]:focus,
3432
- fieldset[disabled] .btn-link:focus {
3433
- color: #777;
3434
- text-decoration: none;
3435
- }
3436
- .btn-lg,
3437
- .btn-group-lg > .btn {
3438
- padding: 10px 16px;
3439
- font-size: 18px;
3440
- line-height: 1.3333333;
3441
- border-radius: 6px;
3442
- }
3443
- .btn-sm,
3444
- .btn-group-sm > .btn {
3445
- padding: 5px 10px;
3446
- font-size: 12px;
3447
- line-height: 1.5;
3448
- border-radius: 3px;
3449
- }
3450
- .btn-xs,
3451
- .btn-group-xs > .btn {
3452
- padding: 1px 5px;
3453
- font-size: 12px;
3454
- line-height: 1.5;
3455
- border-radius: 3px;
3456
- }
3457
- .btn-block {
3458
- display: block;
3459
- width: 100%;
3460
- }
3461
- .btn-block + .btn-block {
3462
- margin-top: 5px;
3463
- }
3464
- input[type="submit"].btn-block,
3465
- input[type="reset"].btn-block,
3466
- input[type="button"].btn-block {
3467
- width: 100%;
3468
- }
3469
- .fade {
3470
- opacity: 0;
3471
- -webkit-transition: opacity .15s linear;
3472
- -o-transition: opacity .15s linear;
3473
- transition: opacity .15s linear;
3474
- }
3475
- .fade.in {
3476
- opacity: 1;
3477
- }
3478
- .collapse {
3479
- display: none;
3480
- }
3481
- .collapse.in {
3482
- display: block;
3483
- }
3484
- tr.collapse.in {
3485
- display: table-row;
3486
- }
3487
- tbody.collapse.in {
3488
- display: table-row-group;
3489
- }
3490
- .collapsing {
3491
- position: relative;
3492
- height: 0;
3493
- overflow: hidden;
3494
- -webkit-transition-timing-function: ease;
3495
- -o-transition-timing-function: ease;
3496
- transition-timing-function: ease;
3497
- -webkit-transition-duration: .35s;
3498
- -o-transition-duration: .35s;
3499
- transition-duration: .35s;
3500
- -webkit-transition-property: height, visibility;
3501
- -o-transition-property: height, visibility;
3502
- transition-property: height, visibility;
3503
- }
3504
- .caret {
3505
- display: inline-block;
3506
- width: 0;
3507
- height: 0;
3508
- margin-left: 2px;
3509
- vertical-align: middle;
3510
- border-top: 4px dashed;
3511
- border-top: 4px solid \9;
3512
- border-right: 4px solid transparent;
3513
- border-left: 4px solid transparent;
3514
- }
3515
- .dropup,
3516
- .dropdown {
3517
- position: relative;
3518
- }
3519
- .dropdown-toggle:focus {
3520
- outline: 0;
3521
- }
3522
- .dropdown-menu {
3523
- position: absolute;
3524
- top: 100%;
3525
- left: 0;
3526
- z-index: 1000;
3527
- display: none;
3528
- float: left;
3529
- min-width: 160px;
3530
- padding: 5px 0;
3531
- margin: 2px 0 0;
3532
- font-size: 14px;
3533
- text-align: left;
3534
- list-style: none;
3535
- background-color: #fff;
3536
- -webkit-background-clip: padding-box;
3537
- background-clip: padding-box;
3538
- border: 1px solid #ccc;
3539
- border: 1px solid rgba(0, 0, 0, .15);
3540
- border-radius: 4px;
3541
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
3542
- box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
3543
- }
3544
- .dropdown-menu.pull-right {
3545
- right: 0;
3546
- left: auto;
3547
- }
3548
- .dropdown-menu .divider {
3549
- height: 1px;
3550
- margin: 9px 0;
3551
- overflow: hidden;
3552
- background-color: #e5e5e5;
3553
- }
3554
- .dropdown-menu > li > a {
3555
- display: block;
3556
- padding: 3px 20px;
3557
- clear: both;
3558
- font-weight: normal;
3559
- line-height: 1.42857143;
3560
- color: #333;
3561
- white-space: nowrap;
3562
- }
3563
- .dropdown-menu > li > a:hover,
3564
- .dropdown-menu > li > a:focus {
3565
- color: #262626;
3566
- text-decoration: none;
3567
- background-color: #f5f5f5;
3568
- }
3569
- .dropdown-menu > .active > a,
3570
- .dropdown-menu > .active > a:hover,
3571
- .dropdown-menu > .active > a:focus {
3572
- color: #fff;
3573
- text-decoration: none;
3574
- background-color: #337ab7;
3575
- outline: 0;
3576
- }
3577
- .dropdown-menu > .disabled > a,
3578
- .dropdown-menu > .disabled > a:hover,
3579
- .dropdown-menu > .disabled > a:focus {
3580
- color: #777;
3581
- }
3582
- .dropdown-menu > .disabled > a:hover,
3583
- .dropdown-menu > .disabled > a:focus {
3584
- text-decoration: none;
3585
- cursor: not-allowed;
3586
- background-color: transparent;
3587
- background-image: none;
3588
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
3589
- }
3590
- .open > .dropdown-menu {
3591
- display: block;
3592
- }
3593
- .open > a {
3594
- outline: 0;
3595
- }
3596
- .dropdown-menu-right {
3597
- right: 0;
3598
- left: auto;
3599
- }
3600
- .dropdown-menu-left {
3601
- right: auto;
3602
- left: 0;
3603
- }
3604
- .dropdown-header {
3605
- display: block;
3606
- padding: 3px 20px;
3607
- font-size: 12px;
3608
- line-height: 1.42857143;
3609
- color: #777;
3610
- white-space: nowrap;
3611
- }
3612
- .dropdown-backdrop {
3613
- position: fixed;
3614
- top: 0;
3615
- right: 0;
3616
- bottom: 0;
3617
- left: 0;
3618
- z-index: 990;
3619
- }
3620
- .pull-right > .dropdown-menu {
3621
- right: 0;
3622
- left: auto;
3623
- }
3624
- .dropup .caret,
3625
- .navbar-fixed-bottom .dropdown .caret {
3626
- content: "";
3627
- border-top: 0;
3628
- border-bottom: 4px dashed;
3629
- border-bottom: 4px solid \9;
3630
- }
3631
- .dropup .dropdown-menu,
3632
- .navbar-fixed-bottom .dropdown .dropdown-menu {
3633
- top: auto;
3634
- bottom: 100%;
3635
- margin-bottom: 2px;
3636
- }
3637
- @media (min-width: 768px) {
3638
- .navbar-right .dropdown-menu {
3639
- right: 0;
3640
- left: auto;
3641
- }
3642
- .navbar-right .dropdown-menu-left {
3643
- right: auto;
3644
- left: 0;
3645
- }
3646
- }
3647
- .btn-group,
3648
- .btn-group-vertical {
3649
- position: relative;
3650
- display: inline-block;
3651
- vertical-align: middle;
3652
- }
3653
- .btn-group > .btn,
3654
- .btn-group-vertical > .btn {
3655
- position: relative;
3656
- float: left;
3657
- }
3658
- .btn-group > .btn:hover,
3659
- .btn-group-vertical > .btn:hover,
3660
- .btn-group > .btn:focus,
3661
- .btn-group-vertical > .btn:focus,
3662
- .btn-group > .btn:active,
3663
- .btn-group-vertical > .btn:active,
3664
- .btn-group > .btn.active,
3665
- .btn-group-vertical > .btn.active {
3666
- z-index: 2;
3667
- }
3668
- .btn-group .btn + .btn,
3669
- .btn-group .btn + .btn-group,
3670
- .btn-group .btn-group + .btn,
3671
- .btn-group .btn-group + .btn-group {
3672
- margin-left: -1px;
3673
- }
3674
- .btn-toolbar {
3675
- margin-left: -5px;
3676
- }
3677
- .btn-toolbar .btn,
3678
- .btn-toolbar .btn-group,
3679
- .btn-toolbar .input-group {
3680
- float: left;
3681
- }
3682
- .btn-toolbar > .btn,
3683
- .btn-toolbar > .btn-group,
3684
- .btn-toolbar > .input-group {
3685
- margin-left: 5px;
3686
- }
3687
- .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
3688
- border-radius: 0;
3689
- }
3690
- .btn-group > .btn:first-child {
3691
- margin-left: 0;
3692
- }
3693
- .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
3694
- border-top-right-radius: 0;
3695
- border-bottom-right-radius: 0;
3696
- }
3697
- .btn-group > .btn:last-child:not(:first-child),
3698
- .btn-group > .dropdown-toggle:not(:first-child) {
3699
- border-top-left-radius: 0;
3700
- border-bottom-left-radius: 0;
3701
- }
3702
- .btn-group > .btn-group {
3703
- float: left;
3704
- }
3705
- .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
3706
- border-radius: 0;
3707
- }
3708
- .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
3709
- .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
3710
- border-top-right-radius: 0;
3711
- border-bottom-right-radius: 0;
3712
- }
3713
- .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
3714
- border-top-left-radius: 0;
3715
- border-bottom-left-radius: 0;
3716
- }
3717
- .btn-group .dropdown-toggle:active,
3718
- .btn-group.open .dropdown-toggle {
3719
- outline: 0;
3720
- }
3721
- .btn-group > .btn + .dropdown-toggle {
3722
- padding-right: 8px;
3723
- padding-left: 8px;
3724
- }
3725
- .btn-group > .btn-lg + .dropdown-toggle {
3726
- padding-right: 12px;
3727
- padding-left: 12px;
3728
- }
3729
- .btn-group.open .dropdown-toggle {
3730
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
3731
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
3732
- }
3733
- .btn-group.open .dropdown-toggle.btn-link {
3734
- -webkit-box-shadow: none;
3735
- box-shadow: none;
3736
- }
3737
- .btn .caret {
3738
- margin-left: 0;
3739
- }
3740
- .btn-lg .caret {
3741
- border-width: 5px 5px 0;
3742
- border-bottom-width: 0;
3743
- }
3744
- .dropup .btn-lg .caret {
3745
- border-width: 0 5px 5px;
3746
- }
3747
- .btn-group-vertical > .btn,
3748
- .btn-group-vertical > .btn-group,
3749
- .btn-group-vertical > .btn-group > .btn {
3750
- display: block;
3751
- float: none;
3752
- width: 100%;
3753
- max-width: 100%;
3754
- }
3755
- .btn-group-vertical > .btn-group > .btn {
3756
- float: none;
3757
- }
3758
- .btn-group-vertical > .btn + .btn,
3759
- .btn-group-vertical > .btn + .btn-group,
3760
- .btn-group-vertical > .btn-group + .btn,
3761
- .btn-group-vertical > .btn-group + .btn-group {
3762
- margin-top: -1px;
3763
- margin-left: 0;
3764
- }
3765
- .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
3766
- border-radius: 0;
3767
- }
3768
- .btn-group-vertical > .btn:first-child:not(:last-child) {
3769
- border-top-left-radius: 4px;
3770
- border-top-right-radius: 4px;
3771
- border-bottom-right-radius: 0;
3772
- border-bottom-left-radius: 0;
3773
- }
3774
- .btn-group-vertical > .btn:last-child:not(:first-child) {
3775
- border-top-left-radius: 0;
3776
- border-top-right-radius: 0;
3777
- border-bottom-right-radius: 4px;
3778
- border-bottom-left-radius: 4px;
3779
- }
3780
- .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
3781
- border-radius: 0;
3782
- }
3783
- .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
3784
- .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
3785
- border-bottom-right-radius: 0;
3786
- border-bottom-left-radius: 0;
3787
- }
3788
- .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
3789
- border-top-left-radius: 0;
3790
- border-top-right-radius: 0;
3791
- }
3792
- .btn-group-justified {
3793
- display: table;
3794
- width: 100%;
3795
- table-layout: fixed;
3796
- border-collapse: separate;
3797
- }
3798
- .btn-group-justified > .btn,
3799
- .btn-group-justified > .btn-group {
3800
- display: table-cell;
3801
- float: none;
3802
- width: 1%;
3803
- }
3804
- .btn-group-justified > .btn-group .btn {
3805
- width: 100%;
3806
- }
3807
- .btn-group-justified > .btn-group .dropdown-menu {
3808
- left: auto;
3809
- }
3810
- [data-toggle="buttons"] > .btn input[type="radio"],
3811
- [data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
3812
- [data-toggle="buttons"] > .btn input[type="checkbox"],
3813
- [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
3814
- position: absolute;
3815
- clip: rect(0, 0, 0, 0);
3816
- pointer-events: none;
3817
- }
3818
- .input-group {
3819
- position: relative;
3820
- display: table;
3821
- border-collapse: separate;
3822
- }
3823
- .input-group[class*="col-"] {
3824
- float: none;
3825
- padding-right: 0;
3826
- padding-left: 0;
3827
- }
3828
- .input-group .form-control {
3829
- position: relative;
3830
- z-index: 2;
3831
- float: left;
3832
- width: 100%;
3833
- margin-bottom: 0;
3834
- }
3835
- .input-group .form-control:focus {
3836
- z-index: 3;
3837
- }
3838
- .input-group-lg > .form-control,
3839
- .input-group-lg > .input-group-addon,
3840
- .input-group-lg > .input-group-btn > .btn {
3841
- height: 46px;
3842
- padding: 10px 16px;
3843
- font-size: 18px;
3844
- line-height: 1.3333333;
3845
- border-radius: 6px;
3846
- }
3847
- select.input-group-lg > .form-control,
3848
- select.input-group-lg > .input-group-addon,
3849
- select.input-group-lg > .input-group-btn > .btn {
3850
- height: 46px;
3851
- line-height: 46px;
3852
- }
3853
- textarea.input-group-lg > .form-control,
3854
- textarea.input-group-lg > .input-group-addon,
3855
- textarea.input-group-lg > .input-group-btn > .btn,
3856
- select[multiple].input-group-lg > .form-control,
3857
- select[multiple].input-group-lg > .input-group-addon,
3858
- select[multiple].input-group-lg > .input-group-btn > .btn {
3859
- height: auto;
3860
- }
3861
- .input-group-sm > .form-control,
3862
- .input-group-sm > .input-group-addon,
3863
- .input-group-sm > .input-group-btn > .btn {
3864
- height: 30px;
3865
- padding: 5px 10px;
3866
- font-size: 12px;
3867
- line-height: 1.5;
3868
- border-radius: 3px;
3869
- }
3870
- select.input-group-sm > .form-control,
3871
- select.input-group-sm > .input-group-addon,
3872
- select.input-group-sm > .input-group-btn > .btn {
3873
- height: 30px;
3874
- line-height: 30px;
3875
- }
3876
- textarea.input-group-sm > .form-control,
3877
- textarea.input-group-sm > .input-group-addon,
3878
- textarea.input-group-sm > .input-group-btn > .btn,
3879
- select[multiple].input-group-sm > .form-control,
3880
- select[multiple].input-group-sm > .input-group-addon,
3881
- select[multiple].input-group-sm > .input-group-btn > .btn {
3882
- height: auto;
3883
- }
3884
- .input-group-addon,
3885
- .input-group-btn,
3886
- .input-group .form-control {
3887
- display: table-cell;
3888
- }
3889
- .input-group-addon:not(:first-child):not(:last-child),
3890
- .input-group-btn:not(:first-child):not(:last-child),
3891
- .input-group .form-control:not(:first-child):not(:last-child) {
3892
- border-radius: 0;
3893
- }
3894
- .input-group-addon,
3895
- .input-group-btn {
3896
- width: 1%;
3897
- white-space: nowrap;
3898
- vertical-align: middle;
3899
- }
3900
- .input-group-addon {
3901
- padding: 6px 12px;
3902
- font-size: 14px;
3903
- font-weight: normal;
3904
- line-height: 1;
3905
- color: #555;
3906
- text-align: center;
3907
- background-color: #eee;
3908
- border: 1px solid #ccc;
3909
- border-radius: 4px;
3910
- }
3911
- .input-group-addon.input-sm {
3912
- padding: 5px 10px;
3913
- font-size: 12px;
3914
- border-radius: 3px;
3915
- }
3916
- .input-group-addon.input-lg {
3917
- padding: 10px 16px;
3918
- font-size: 18px;
3919
- border-radius: 6px;
3920
- }
3921
- .input-group-addon input[type="radio"],
3922
- .input-group-addon input[type="checkbox"] {
3923
- margin-top: 0;
3924
- }
3925
- .input-group .form-control:first-child,
3926
- .input-group-addon:first-child,
3927
- .input-group-btn:first-child > .btn,
3928
- .input-group-btn:first-child > .btn-group > .btn,
3929
- .input-group-btn:first-child > .dropdown-toggle,
3930
- .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
3931
- .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
3932
- border-top-right-radius: 0;
3933
- border-bottom-right-radius: 0;
3934
- }
3935
- .input-group-addon:first-child {
3936
- border-right: 0;
3937
- }
3938
- .input-group .form-control:last-child,
3939
- .input-group-addon:last-child,
3940
- .input-group-btn:last-child > .btn,
3941
- .input-group-btn:last-child > .btn-group > .btn,
3942
- .input-group-btn:last-child > .dropdown-toggle,
3943
- .input-group-btn:first-child > .btn:not(:first-child),
3944
- .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
3945
- border-top-left-radius: 0;
3946
- border-bottom-left-radius: 0;
3947
- }
3948
- .input-group-addon:last-child {
3949
- border-left: 0;
3950
- }
3951
- .input-group-btn {
3952
- position: relative;
3953
- font-size: 0;
3954
- white-space: nowrap;
3955
- }
3956
- .input-group-btn > .btn {
3957
- position: relative;
3958
- }
3959
- .input-group-btn > .btn + .btn {
3960
- margin-left: -1px;
3961
- }
3962
- .input-group-btn > .btn:hover,
3963
- .input-group-btn > .btn:focus,
3964
- .input-group-btn > .btn:active {
3965
- z-index: 2;
3966
- }
3967
- .input-group-btn:first-child > .btn,
3968
- .input-group-btn:first-child > .btn-group {
3969
- margin-right: -1px;
3970
- }
3971
- .input-group-btn:last-child > .btn,
3972
- .input-group-btn:last-child > .btn-group {
3973
- z-index: 2;
3974
- margin-left: -1px;
3975
- }
3976
- .nav {
3977
- padding-left: 0;
3978
- margin-bottom: 0;
3979
- list-style: none;
3980
- }
3981
- .nav > li {
3982
- position: relative;
3983
- display: block;
3984
- }
3985
- .nav > li > a {
3986
- position: relative;
3987
- display: block;
3988
- padding: 10px 15px;
3989
- }
3990
- .nav > li > a:hover,
3991
- .nav > li > a:focus {
3992
- text-decoration: none;
3993
- background-color: #eee;
3994
- }
3995
- .nav > li.disabled > a {
3996
- color: #777;
3997
- }
3998
- .nav > li.disabled > a:hover,
3999
- .nav > li.disabled > a:focus {
4000
- color: #777;
4001
- text-decoration: none;
4002
- cursor: not-allowed;
4003
- background-color: transparent;
4004
- }
4005
- .nav .open > a,
4006
- .nav .open > a:hover,
4007
- .nav .open > a:focus {
4008
- background-color: #eee;
4009
- border-color: #337ab7;
4010
- }
4011
- .nav .nav-divider {
4012
- height: 1px;
4013
- margin: 9px 0;
4014
- overflow: hidden;
4015
- background-color: #e5e5e5;
4016
- }
4017
- .nav > li > a > img {
4018
- max-width: none;
4019
- }
4020
- .nav-tabs {
4021
- border-bottom: 1px solid #ddd;
4022
- }
4023
- .nav-tabs > li {
4024
- float: left;
4025
- margin-bottom: -1px;
4026
- }
4027
- .nav-tabs > li > a {
4028
- margin-right: 2px;
4029
- line-height: 1.42857143;
4030
- border: 1px solid transparent;
4031
- border-radius: 4px 4px 0 0;
4032
- }
4033
- .nav-tabs > li > a:hover {
4034
- border-color: #eee #eee #ddd;
4035
- }
4036
- .nav-tabs > li.active > a,
4037
- .nav-tabs > li.active > a:hover,
4038
- .nav-tabs > li.active > a:focus {
4039
- color: #555;
4040
- cursor: default;
4041
- background-color: #fff;
4042
- border: 1px solid #ddd;
4043
- border-bottom-color: transparent;
4044
- }
4045
- .nav-tabs.nav-justified {
4046
- width: 100%;
4047
- border-bottom: 0;
4048
- }
4049
- .nav-tabs.nav-justified > li {
4050
- float: none;
4051
- }
4052
- .nav-tabs.nav-justified > li > a {
4053
- margin-bottom: 5px;
4054
- text-align: center;
4055
- }
4056
- .nav-tabs.nav-justified > .dropdown .dropdown-menu {
4057
- top: auto;
4058
- left: auto;
4059
- }
4060
- @media (min-width: 768px) {
4061
- .nav-tabs.nav-justified > li {
4062
- display: table-cell;
4063
- width: 1%;
4064
- }
4065
- .nav-tabs.nav-justified > li > a {
4066
- margin-bottom: 0;
4067
- }
4068
- }
4069
- .nav-tabs.nav-justified > li > a {
4070
- margin-right: 0;
4071
- border-radius: 4px;
4072
- }
4073
- .nav-tabs.nav-justified > .active > a,
4074
- .nav-tabs.nav-justified > .active > a:hover,
4075
- .nav-tabs.nav-justified > .active > a:focus {
4076
- border: 1px solid #ddd;
4077
- }
4078
- @media (min-width: 768px) {
4079
- .nav-tabs.nav-justified > li > a {
4080
- border-bottom: 1px solid #ddd;
4081
- border-radius: 4px 4px 0 0;
4082
- }
4083
- .nav-tabs.nav-justified > .active > a,
4084
- .nav-tabs.nav-justified > .active > a:hover,
4085
- .nav-tabs.nav-justified > .active > a:focus {
4086
- border-bottom-color: #fff;
4087
- }
4088
- }
4089
- .nav-pills > li {
4090
- float: left;
4091
- }
4092
- .nav-pills > li > a {
4093
- border-radius: 4px;
4094
- }
4095
- .nav-pills > li + li {
4096
- margin-left: 2px;
4097
- }
4098
- .nav-pills > li.active > a,
4099
- .nav-pills > li.active > a:hover,
4100
- .nav-pills > li.active > a:focus {
4101
- color: #fff;
4102
- background-color: #337ab7;
4103
- }
4104
- .nav-stacked > li {
4105
- float: none;
4106
- }
4107
- .nav-stacked > li + li {
4108
- margin-top: 2px;
4109
- margin-left: 0;
4110
- }
4111
- .nav-justified {
4112
- width: 100%;
4113
- }
4114
- .nav-justified > li {
4115
- float: none;
4116
- }
4117
- .nav-justified > li > a {
4118
- margin-bottom: 5px;
4119
- text-align: center;
4120
- }
4121
- .nav-justified > .dropdown .dropdown-menu {
4122
- top: auto;
4123
- left: auto;
4124
- }
4125
- @media (min-width: 768px) {
4126
- .nav-justified > li {
4127
- display: table-cell;
4128
- width: 1%;
4129
- }
4130
- .nav-justified > li > a {
4131
- margin-bottom: 0;
4132
- }
4133
- }
4134
- .nav-tabs-justified {
4135
- border-bottom: 0;
4136
- }
4137
- .nav-tabs-justified > li > a {
4138
- margin-right: 0;
4139
- border-radius: 4px;
4140
- }
4141
- .nav-tabs-justified > .active > a,
4142
- .nav-tabs-justified > .active > a:hover,
4143
- .nav-tabs-justified > .active > a:focus {
4144
- border: 1px solid #ddd;
4145
- }
4146
- @media (min-width: 768px) {
4147
- .nav-tabs-justified > li > a {
4148
- border-bottom: 1px solid #ddd;
4149
- border-radius: 4px 4px 0 0;
4150
- }
4151
- .nav-tabs-justified > .active > a,
4152
- .nav-tabs-justified > .active > a:hover,
4153
- .nav-tabs-justified > .active > a:focus {
4154
- border-bottom-color: #fff;
4155
- }
4156
- }
4157
- .tab-content > .tab-pane {
4158
- display: none;
4159
- }
4160
- .tab-content > .active {
4161
- display: block;
4162
- }
4163
- .nav-tabs .dropdown-menu {
4164
- margin-top: -1px;
4165
- border-top-left-radius: 0;
4166
- border-top-right-radius: 0;
4167
- }
4168
- .navbar {
4169
- position: relative;
4170
- min-height: 50px;
4171
- margin-bottom: 20px;
4172
- border: 1px solid transparent;
4173
- }
4174
- @media (min-width: 768px) {
4175
- .navbar {
4176
- border-radius: 4px;
4177
- }
4178
- }
4179
- @media (min-width: 768px) {
4180
- .navbar-header {
4181
- float: left;
4182
- }
4183
- }
4184
- .navbar-collapse {
4185
- padding-right: 15px;
4186
- padding-left: 15px;
4187
- overflow-x: visible;
4188
- -webkit-overflow-scrolling: touch;
4189
- border-top: 1px solid transparent;
4190
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
4191
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
4192
- }
4193
- .navbar-collapse.in {
4194
- overflow-y: auto;
4195
- }
4196
- @media (min-width: 768px) {
4197
- .navbar-collapse {
4198
- width: auto;
4199
- border-top: 0;
4200
- -webkit-box-shadow: none;
4201
- box-shadow: none;
4202
- }
4203
- .navbar-collapse.collapse {
4204
- display: block !important;
4205
- height: auto !important;
4206
- padding-bottom: 0;
4207
- overflow: visible !important;
4208
- }
4209
- .navbar-collapse.in {
4210
- overflow-y: visible;
4211
- }
4212
- .navbar-fixed-top .navbar-collapse,
4213
- .navbar-static-top .navbar-collapse,
4214
- .navbar-fixed-bottom .navbar-collapse {
4215
- padding-right: 0;
4216
- padding-left: 0;
4217
- }
4218
- }
4219
- .navbar-fixed-top .navbar-collapse,
4220
- .navbar-fixed-bottom .navbar-collapse {
4221
- max-height: 340px;
4222
- }
4223
- @media (max-device-width: 480px) and (orientation: landscape) {
4224
- .navbar-fixed-top .navbar-collapse,
4225
- .navbar-fixed-bottom .navbar-collapse {
4226
- max-height: 200px;
4227
- }
4228
- }
4229
- .container > .navbar-header,
4230
- .container-fluid > .navbar-header,
4231
- .container > .navbar-collapse,
4232
- .container-fluid > .navbar-collapse {
4233
- margin-right: -15px;
4234
- margin-left: -15px;
4235
- }
4236
- @media (min-width: 768px) {
4237
- .container > .navbar-header,
4238
- .container-fluid > .navbar-header,
4239
- .container > .navbar-collapse,
4240
- .container-fluid > .navbar-collapse {
4241
- margin-right: 0;
4242
- margin-left: 0;
4243
- }
4244
- }
4245
- .navbar-static-top {
4246
- z-index: 1000;
4247
- border-width: 0 0 1px;
4248
- }
4249
- @media (min-width: 768px) {
4250
- .navbar-static-top {
4251
- border-radius: 0;
4252
- }
4253
- }
4254
- .navbar-fixed-top,
4255
- .navbar-fixed-bottom {
4256
- position: fixed;
4257
- right: 0;
4258
- left: 0;
4259
- z-index: 1030;
4260
- }
4261
- @media (min-width: 768px) {
4262
- .navbar-fixed-top,
4263
- .navbar-fixed-bottom {
4264
- border-radius: 0;
4265
- }
4266
- }
4267
- .navbar-fixed-top {
4268
- top: 0;
4269
- border-width: 0 0 1px;
4270
- }
4271
- .navbar-fixed-bottom {
4272
- bottom: 0;
4273
- margin-bottom: 0;
4274
- border-width: 1px 0 0;
4275
- }
4276
- .navbar-brand {
4277
- float: left;
4278
- height: 50px;
4279
- padding: 15px 15px;
4280
- font-size: 18px;
4281
- line-height: 20px;
4282
- }
4283
- .navbar-brand:hover,
4284
- .navbar-brand:focus {
4285
- text-decoration: none;
4286
- }
4287
- .navbar-brand > img {
4288
- display: block;
4289
- }
4290
- @media (min-width: 768px) {
4291
- .navbar > .container .navbar-brand,
4292
- .navbar > .container-fluid .navbar-brand {
4293
- margin-left: -15px;
4294
- }
4295
- }
4296
- .navbar-toggle {
4297
- position: relative;
4298
- float: right;
4299
- padding: 9px 10px;
4300
- margin-top: 8px;
4301
- margin-right: 15px;
4302
- margin-bottom: 8px;
4303
- background-color: transparent;
4304
- background-image: none;
4305
- border: 1px solid transparent;
4306
- border-radius: 4px;
4307
- }
4308
- .navbar-toggle:focus {
4309
- outline: 0;
4310
- }
4311
- .navbar-toggle .icon-bar {
4312
- display: block;
4313
- width: 22px;
4314
- height: 2px;
4315
- border-radius: 1px;
4316
- }
4317
- .navbar-toggle .icon-bar + .icon-bar {
4318
- margin-top: 4px;
4319
- }
4320
- @media (min-width: 768px) {
4321
- .navbar-toggle {
4322
- display: none;
4323
- }
4324
- }
4325
- .navbar-nav {
4326
- margin: 7.5px -15px;
4327
- }
4328
- .navbar-nav > li > a {
4329
- padding-top: 10px;
4330
- padding-bottom: 10px;
4331
- line-height: 20px;
4332
- }
4333
- @media (max-width: 767px) {
4334
- .navbar-nav .open .dropdown-menu {
4335
- position: static;
4336
- float: none;
4337
- width: auto;
4338
- margin-top: 0;
4339
- background-color: transparent;
4340
- border: 0;
4341
- -webkit-box-shadow: none;
4342
- box-shadow: none;
4343
- }
4344
- .navbar-nav .open .dropdown-menu > li > a,
4345
- .navbar-nav .open .dropdown-menu .dropdown-header {
4346
- padding: 5px 15px 5px 25px;
4347
- }
4348
- .navbar-nav .open .dropdown-menu > li > a {
4349
- line-height: 20px;
4350
- }
4351
- .navbar-nav .open .dropdown-menu > li > a:hover,
4352
- .navbar-nav .open .dropdown-menu > li > a:focus {
4353
- background-image: none;
4354
- }
4355
- }
4356
- @media (min-width: 768px) {
4357
- .navbar-nav {
4358
- float: left;
4359
- margin: 0;
4360
- }
4361
- .navbar-nav > li {
4362
- float: left;
4363
- }
4364
- .navbar-nav > li > a {
4365
- padding-top: 15px;
4366
- padding-bottom: 15px;
4367
- }
4368
- }
4369
- .navbar-form {
4370
- padding: 10px 15px;
4371
- margin-top: 8px;
4372
- margin-right: -15px;
4373
- margin-bottom: 8px;
4374
- margin-left: -15px;
4375
- border-top: 1px solid transparent;
4376
- border-bottom: 1px solid transparent;
4377
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
4378
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);
4379
- }
4380
- @media (min-width: 768px) {
4381
- .navbar-form .form-group {
4382
- display: inline-block;
4383
- margin-bottom: 0;
4384
- vertical-align: middle;
4385
- }
4386
- .navbar-form .form-control {
4387
- display: inline-block;
4388
- width: auto;
4389
- vertical-align: middle;
4390
- }
4391
- .navbar-form .form-control-static {
4392
- display: inline-block;
4393
- }
4394
- .navbar-form .input-group {
4395
- display: inline-table;
4396
- vertical-align: middle;
4397
- }
4398
- .navbar-form .input-group .input-group-addon,
4399
- .navbar-form .input-group .input-group-btn,
4400
- .navbar-form .input-group .form-control {
4401
- width: auto;
4402
- }
4403
- .navbar-form .input-group > .form-control {
4404
- width: 100%;
4405
- }
4406
- .navbar-form .control-label {
4407
- margin-bottom: 0;
4408
- vertical-align: middle;
4409
- }
4410
- .navbar-form .radio,
4411
- .navbar-form .checkbox {
4412
- display: inline-block;
4413
- margin-top: 0;
4414
- margin-bottom: 0;
4415
- vertical-align: middle;
4416
- }
4417
- .navbar-form .radio label,
4418
- .navbar-form .checkbox label {
4419
- padding-left: 0;
4420
- }
4421
- .navbar-form .radio input[type="radio"],
4422
- .navbar-form .checkbox input[type="checkbox"] {
4423
- position: relative;
4424
- margin-left: 0;
4425
- }
4426
- .navbar-form .has-feedback .form-control-feedback {
4427
- top: 0;
4428
- }
4429
- }
4430
- @media (max-width: 767px) {
4431
- .navbar-form .form-group {
4432
- margin-bottom: 5px;
4433
- }
4434
- .navbar-form .form-group:last-child {
4435
- margin-bottom: 0;
4436
- }
4437
- }
4438
- @media (min-width: 768px) {
4439
- .navbar-form {
4440
- width: auto;
4441
- padding-top: 0;
4442
- padding-bottom: 0;
4443
- margin-right: 0;
4444
- margin-left: 0;
4445
- border: 0;
4446
- -webkit-box-shadow: none;
4447
- box-shadow: none;
4448
- }
4449
- }
4450
- .navbar-nav > li > .dropdown-menu {
4451
- margin-top: 0;
4452
- border-top-left-radius: 0;
4453
- border-top-right-radius: 0;
4454
- }
4455
- .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
4456
- margin-bottom: 0;
4457
- border-top-left-radius: 4px;
4458
- border-top-right-radius: 4px;
4459
- border-bottom-right-radius: 0;
4460
- border-bottom-left-radius: 0;
4461
- }
4462
- .navbar-btn {
4463
- margin-top: 8px;
4464
- margin-bottom: 8px;
4465
- }
4466
- .navbar-btn.btn-sm {
4467
- margin-top: 10px;
4468
- margin-bottom: 10px;
4469
- }
4470
- .navbar-btn.btn-xs {
4471
- margin-top: 14px;
4472
- margin-bottom: 14px;
4473
- }
4474
- .navbar-text {
4475
- margin-top: 15px;
4476
- margin-bottom: 15px;
4477
- }
4478
- @media (min-width: 768px) {
4479
- .navbar-text {
4480
- float: left;
4481
- margin-right: 15px;
4482
- margin-left: 15px;
4483
- }
4484
- }
4485
- @media (min-width: 768px) {
4486
- .navbar-left {
4487
- float: left !important;
4488
- }
4489
- .navbar-right {
4490
- float: right !important;
4491
- margin-right: -15px;
4492
- }
4493
- .navbar-right ~ .navbar-right {
4494
- margin-right: 0;
4495
- }
4496
- }
4497
- .navbar-default {
4498
- background-color: #f8f8f8;
4499
- border-color: #e7e7e7;
4500
- }
4501
- .navbar-default .navbar-brand {
4502
- color: #777;
4503
- }
4504
- .navbar-default .navbar-brand:hover,
4505
- .navbar-default .navbar-brand:focus {
4506
- color: #5e5e5e;
4507
- background-color: transparent;
4508
- }
4509
- .navbar-default .navbar-text {
4510
- color: #777;
4511
- }
4512
- .navbar-default .navbar-nav > li > a {
4513
- color: #777;
4514
- }
4515
- .navbar-default .navbar-nav > li > a:hover,
4516
- .navbar-default .navbar-nav > li > a:focus {
4517
- color: #333;
4518
- background-color: transparent;
4519
- }
4520
- .navbar-default .navbar-nav > .active > a,
4521
- .navbar-default .navbar-nav > .active > a:hover,
4522
- .navbar-default .navbar-nav > .active > a:focus {
4523
- color: #555;
4524
- background-color: #e7e7e7;
4525
- }
4526
- .navbar-default .navbar-nav > .disabled > a,
4527
- .navbar-default .navbar-nav > .disabled > a:hover,
4528
- .navbar-default .navbar-nav > .disabled > a:focus {
4529
- color: #ccc;
4530
- background-color: transparent;
4531
- }
4532
- .navbar-default .navbar-toggle {
4533
- border-color: #ddd;
4534
- }
4535
- .navbar-default .navbar-toggle:hover,
4536
- .navbar-default .navbar-toggle:focus {
4537
- background-color: #ddd;
4538
- }
4539
- .navbar-default .navbar-toggle .icon-bar {
4540
- background-color: #888;
4541
- }
4542
- .navbar-default .navbar-collapse,
4543
- .navbar-default .navbar-form {
4544
- border-color: #e7e7e7;
4545
- }
4546
- .navbar-default .navbar-nav > .open > a,
4547
- .navbar-default .navbar-nav > .open > a:hover,
4548
- .navbar-default .navbar-nav > .open > a:focus {
4549
- color: #555;
4550
- background-color: #e7e7e7;
4551
- }
4552
- @media (max-width: 767px) {
4553
- .navbar-default .navbar-nav .open .dropdown-menu > li > a {
4554
- color: #777;
4555
- }
4556
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
4557
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
4558
- color: #333;
4559
- background-color: transparent;
4560
- }
4561
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
4562
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
4563
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
4564
- color: #555;
4565
- background-color: #e7e7e7;
4566
- }
4567
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
4568
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
4569
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
4570
- color: #ccc;
4571
- background-color: transparent;
4572
- }
4573
- }
4574
- .navbar-default .navbar-link {
4575
- color: #777;
4576
- }
4577
- .navbar-default .navbar-link:hover {
4578
- color: #333;
4579
- }
4580
- .navbar-default .btn-link {
4581
- color: #777;
4582
- }
4583
- .navbar-default .btn-link:hover,
4584
- .navbar-default .btn-link:focus {
4585
- color: #333;
4586
- }
4587
- .navbar-default .btn-link[disabled]:hover,
4588
- fieldset[disabled] .navbar-default .btn-link:hover,
4589
- .navbar-default .btn-link[disabled]:focus,
4590
- fieldset[disabled] .navbar-default .btn-link:focus {
4591
- color: #ccc;
4592
- }
4593
- .navbar-inverse {
4594
- background-color: #222;
4595
- border-color: #080808;
4596
- }
4597
- .navbar-inverse .navbar-brand {
4598
- color: #9d9d9d;
4599
- }
4600
- .navbar-inverse .navbar-brand:hover,
4601
- .navbar-inverse .navbar-brand:focus {
4602
- color: #fff;
4603
- background-color: transparent;
4604
- }
4605
- .navbar-inverse .navbar-text {
4606
- color: #9d9d9d;
4607
- }
4608
- .navbar-inverse .navbar-nav > li > a {
4609
- color: #9d9d9d;
4610
- }
4611
- .navbar-inverse .navbar-nav > li > a:hover,
4612
- .navbar-inverse .navbar-nav > li > a:focus {
4613
- color: #fff;
4614
- background-color: transparent;
4615
- }
4616
- .navbar-inverse .navbar-nav > .active > a,
4617
- .navbar-inverse .navbar-nav > .active > a:hover,
4618
- .navbar-inverse .navbar-nav > .active > a:focus {
4619
- color: #fff;
4620
- background-color: #080808;
4621
- }
4622
- .navbar-inverse .navbar-nav > .disabled > a,
4623
- .navbar-inverse .navbar-nav > .disabled > a:hover,
4624
- .navbar-inverse .navbar-nav > .disabled > a:focus {
4625
- color: #444;
4626
- background-color: transparent;
4627
- }
4628
- .navbar-inverse .navbar-toggle {
4629
- border-color: #333;
4630
- }
4631
- .navbar-inverse .navbar-toggle:hover,
4632
- .navbar-inverse .navbar-toggle:focus {
4633
- background-color: #333;
4634
- }
4635
- .navbar-inverse .navbar-toggle .icon-bar {
4636
- background-color: #fff;
4637
- }
4638
- .navbar-inverse .navbar-collapse,
4639
- .navbar-inverse .navbar-form {
4640
- border-color: #101010;
4641
- }
4642
- .navbar-inverse .navbar-nav > .open > a,
4643
- .navbar-inverse .navbar-nav > .open > a:hover,
4644
- .navbar-inverse .navbar-nav > .open > a:focus {
4645
- color: #fff;
4646
- background-color: #080808;
4647
- }
4648
- @media (max-width: 767px) {
4649
- .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
4650
- border-color: #080808;
4651
- }
4652
- .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
4653
- background-color: #080808;
4654
- }
4655
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
4656
- color: #9d9d9d;
4657
- }
4658
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
4659
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
4660
- color: #fff;
4661
- background-color: transparent;
4662
- }
4663
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
4664
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
4665
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
4666
- color: #fff;
4667
- background-color: #080808;
4668
- }
4669
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
4670
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
4671
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
4672
- color: #444;
4673
- background-color: transparent;
4674
- }
4675
- }
4676
- .navbar-inverse .navbar-link {
4677
- color: #9d9d9d;
4678
- }
4679
- .navbar-inverse .navbar-link:hover {
4680
- color: #fff;
4681
- }
4682
- .navbar-inverse .btn-link {
4683
- color: #9d9d9d;
4684
- }
4685
- .navbar-inverse .btn-link:hover,
4686
- .navbar-inverse .btn-link:focus {
4687
- color: #fff;
4688
- }
4689
- .navbar-inverse .btn-link[disabled]:hover,
4690
- fieldset[disabled] .navbar-inverse .btn-link:hover,
4691
- .navbar-inverse .btn-link[disabled]:focus,
4692
- fieldset[disabled] .navbar-inverse .btn-link:focus {
4693
- color: #444;
4694
- }
4695
- .breadcrumb {
4696
- padding: 8px 15px;
4697
- margin-bottom: 20px;
4698
- list-style: none;
4699
- background-color: #f5f5f5;
4700
- border-radius: 4px;
4701
- }
4702
- .breadcrumb > li {
4703
- display: inline-block;
4704
- }
4705
- .breadcrumb > li + li:before {
4706
- padding: 0 5px;
4707
- color: #ccc;
4708
- content: "/\00a0";
4709
- }
4710
- .breadcrumb > .active {
4711
- color: #777;
4712
- }
4713
- .pagination {
4714
- display: inline-block;
4715
- padding-left: 0;
4716
- margin: 20px 0;
4717
- border-radius: 4px;
4718
- }
4719
- .pagination > li {
4720
- display: inline;
4721
- }
4722
- .pagination > li > a,
4723
- .pagination > li > span {
4724
- position: relative;
4725
- float: left;
4726
- padding: 6px 12px;
4727
- margin-left: -1px;
4728
- line-height: 1.42857143;
4729
- color: #337ab7;
4730
- text-decoration: none;
4731
- background-color: #fff;
4732
- border: 1px solid #ddd;
4733
- }
4734
- .pagination > li:first-child > a,
4735
- .pagination > li:first-child > span {
4736
- margin-left: 0;
4737
- border-top-left-radius: 4px;
4738
- border-bottom-left-radius: 4px;
4739
- }
4740
- .pagination > li:last-child > a,
4741
- .pagination > li:last-child > span {
4742
- border-top-right-radius: 4px;
4743
- border-bottom-right-radius: 4px;
4744
- }
4745
- .pagination > li > a:hover,
4746
- .pagination > li > span:hover,
4747
- .pagination > li > a:focus,
4748
- .pagination > li > span:focus {
4749
- z-index: 2;
4750
- color: #23527c;
4751
- background-color: #eee;
4752
- border-color: #ddd;
4753
- }
4754
- .pagination > .active > a,
4755
- .pagination > .active > span,
4756
- .pagination > .active > a:hover,
4757
- .pagination > .active > span:hover,
4758
- .pagination > .active > a:focus,
4759
- .pagination > .active > span:focus {
4760
- z-index: 3;
4761
- color: #fff;
4762
- cursor: default;
4763
- background-color: #337ab7;
4764
- border-color: #337ab7;
4765
- }
4766
- .pagination > .disabled > span,
4767
- .pagination > .disabled > span:hover,
4768
- .pagination > .disabled > span:focus,
4769
- .pagination > .disabled > a,
4770
- .pagination > .disabled > a:hover,
4771
- .pagination > .disabled > a:focus {
4772
- color: #777;
4773
- cursor: not-allowed;
4774
- background-color: #fff;
4775
- border-color: #ddd;
4776
- }
4777
- .pagination-lg > li > a,
4778
- .pagination-lg > li > span {
4779
- padding: 10px 16px;
4780
- font-size: 18px;
4781
- line-height: 1.3333333;
4782
- }
4783
- .pagination-lg > li:first-child > a,
4784
- .pagination-lg > li:first-child > span {
4785
- border-top-left-radius: 6px;
4786
- border-bottom-left-radius: 6px;
4787
- }
4788
- .pagination-lg > li:last-child > a,
4789
- .pagination-lg > li:last-child > span {
4790
- border-top-right-radius: 6px;
4791
- border-bottom-right-radius: 6px;
4792
- }
4793
- .pagination-sm > li > a,
4794
- .pagination-sm > li > span {
4795
- padding: 5px 10px;
4796
- font-size: 12px;
4797
- line-height: 1.5;
4798
- }
4799
- .pagination-sm > li:first-child > a,
4800
- .pagination-sm > li:first-child > span {
4801
- border-top-left-radius: 3px;
4802
- border-bottom-left-radius: 3px;
4803
- }
4804
- .pagination-sm > li:last-child > a,
4805
- .pagination-sm > li:last-child > span {
4806
- border-top-right-radius: 3px;
4807
- border-bottom-right-radius: 3px;
4808
- }
4809
- .pager {
4810
- padding-left: 0;
4811
- margin: 20px 0;
4812
- text-align: center;
4813
- list-style: none;
4814
- }
4815
- .pager li {
4816
- display: inline;
4817
- }
4818
- .pager li > a,
4819
- .pager li > span {
4820
- display: inline-block;
4821
- padding: 5px 14px;
4822
- background-color: #fff;
4823
- border: 1px solid #ddd;
4824
- border-radius: 15px;
4825
- }
4826
- .pager li > a:hover,
4827
- .pager li > a:focus {
4828
- text-decoration: none;
4829
- background-color: #eee;
4830
- }
4831
- .pager .next > a,
4832
- .pager .next > span {
4833
- float: right;
4834
- }
4835
- .pager .previous > a,
4836
- .pager .previous > span {
4837
- float: left;
4838
- }
4839
- .pager .disabled > a,
4840
- .pager .disabled > a:hover,
4841
- .pager .disabled > a:focus,
4842
- .pager .disabled > span {
4843
- color: #777;
4844
- cursor: not-allowed;
4845
- background-color: #fff;
4846
- }
4847
- .label {
4848
- display: inline;
4849
- padding: .2em .6em .3em;
4850
- font-size: 75%;
4851
- font-weight: bold;
4852
- line-height: 1;
4853
- color: #fff;
4854
- text-align: center;
4855
- white-space: nowrap;
4856
- vertical-align: baseline;
4857
- border-radius: .25em;
4858
- }
4859
- a.label:hover,
4860
- a.label:focus {
4861
- color: #fff;
4862
- text-decoration: none;
4863
- cursor: pointer;
4864
- }
4865
- .label:empty {
4866
- display: none;
4867
- }
4868
- .btn .label {
4869
- position: relative;
4870
- top: -1px;
4871
- }
4872
- .label-default {
4873
- background-color: #777;
4874
- }
4875
- .label-default[href]:hover,
4876
- .label-default[href]:focus {
4877
- background-color: #5e5e5e;
4878
- }
4879
- .label-primary {
4880
- background-color: #337ab7;
4881
- }
4882
- .label-primary[href]:hover,
4883
- .label-primary[href]:focus {
4884
- background-color: #286090;
4885
- }
4886
- .label-success {
4887
- background-color: #5cb85c;
4888
- }
4889
- .label-success[href]:hover,
4890
- .label-success[href]:focus {
4891
- background-color: #449d44;
4892
- }
4893
- .label-info {
4894
- background-color: #5bc0de;
4895
- }
4896
- .label-info[href]:hover,
4897
- .label-info[href]:focus {
4898
- background-color: #31b0d5;
4899
- }
4900
- .label-warning {
4901
- background-color: #f0ad4e;
4902
- }
4903
- .label-warning[href]:hover,
4904
- .label-warning[href]:focus {
4905
- background-color: #ec971f;
4906
- }
4907
- .label-danger {
4908
- background-color: #d9534f;
4909
- }
4910
- .label-danger[href]:hover,
4911
- .label-danger[href]:focus {
4912
- background-color: #c9302c;
4913
- }
4914
- .badge {
4915
- display: inline-block;
4916
- min-width: 10px;
4917
- padding: 3px 7px;
4918
- font-size: 12px;
4919
- font-weight: bold;
4920
- line-height: 1;
4921
- color: #fff;
4922
- text-align: center;
4923
- white-space: nowrap;
4924
- vertical-align: middle;
4925
- background-color: #777;
4926
- border-radius: 10px;
4927
- }
4928
- .badge:empty {
4929
- display: none;
4930
- }
4931
- .btn .badge {
4932
- position: relative;
4933
- top: -1px;
4934
- }
4935
- .btn-xs .badge,
4936
- .btn-group-xs > .btn .badge {
4937
- top: 0;
4938
- padding: 1px 5px;
4939
- }
4940
- a.badge:hover,
4941
- a.badge:focus {
4942
- color: #fff;
4943
- text-decoration: none;
4944
- cursor: pointer;
4945
- }
4946
- .list-group-item.active > .badge,
4947
- .nav-pills > .active > a > .badge {
4948
- color: #337ab7;
4949
- background-color: #fff;
4950
- }
4951
- .list-group-item > .badge {
4952
- float: right;
4953
- }
4954
- .list-group-item > .badge + .badge {
4955
- margin-right: 5px;
4956
- }
4957
- .nav-pills > li > a > .badge {
4958
- margin-left: 3px;
4959
- }
4960
- .jumbotron {
4961
- padding-top: 30px;
4962
- padding-bottom: 30px;
4963
- margin-bottom: 30px;
4964
- color: inherit;
4965
- background-color: #eee;
4966
- }
4967
- .jumbotron h1,
4968
- .jumbotron .h1 {
4969
- color: inherit;
4970
- }
4971
- .jumbotron p {
4972
- margin-bottom: 15px;
4973
- font-size: 21px;
4974
- font-weight: 200;
4975
- }
4976
- .jumbotron > hr {
4977
- border-top-color: #d5d5d5;
4978
- }
4979
- .container .jumbotron,
4980
- .container-fluid .jumbotron {
4981
- padding-right: 15px;
4982
- padding-left: 15px;
4983
- border-radius: 6px;
4984
- }
4985
- .jumbotron .container {
4986
- max-width: 100%;
4987
- }
4988
- @media screen and (min-width: 768px) {
4989
- .jumbotron {
4990
- padding-top: 48px;
4991
- padding-bottom: 48px;
4992
- }
4993
- .container .jumbotron,
4994
- .container-fluid .jumbotron {
4995
- padding-right: 60px;
4996
- padding-left: 60px;
4997
- }
4998
- .jumbotron h1,
4999
- .jumbotron .h1 {
5000
- font-size: 63px;
5001
- }
5002
- }
5003
- .thumbnail {
5004
- display: block;
5005
- padding: 4px;
5006
- margin-bottom: 20px;
5007
- line-height: 1.42857143;
5008
- background-color: #fff;
5009
- border: 1px solid #ddd;
5010
- border-radius: 4px;
5011
- -webkit-transition: border .2s ease-in-out;
5012
- -o-transition: border .2s ease-in-out;
5013
- transition: border .2s ease-in-out;
5014
- }
5015
- .thumbnail > img,
5016
- .thumbnail a > img {
5017
- margin-right: auto;
5018
- margin-left: auto;
5019
- }
5020
- a.thumbnail:hover,
5021
- a.thumbnail:focus,
5022
- a.thumbnail.active {
5023
- border-color: #337ab7;
5024
- }
5025
- .thumbnail .caption {
5026
- padding: 9px;
5027
- color: #333;
5028
- }
5029
- .alert {
5030
- padding: 15px;
5031
- margin-bottom: 20px;
5032
- border: 1px solid transparent;
5033
- border-radius: 4px;
5034
- }
5035
- .alert h4 {
5036
- margin-top: 0;
5037
- color: inherit;
5038
- }
5039
- .alert .alert-link {
5040
- font-weight: bold;
5041
- }
5042
- .alert > p,
5043
- .alert > ul {
5044
- margin-bottom: 0;
5045
- }
5046
- .alert > p + p {
5047
- margin-top: 5px;
5048
- }
5049
- .alert-dismissable,
5050
- .alert-dismissible {
5051
- padding-right: 35px;
5052
- }
5053
- .alert-dismissable .close,
5054
- .alert-dismissible .close {
5055
- position: relative;
5056
- top: -2px;
5057
- right: -21px;
5058
- color: inherit;
5059
- }
5060
- .alert-success {
5061
- color: #3c763d;
5062
- background-color: #dff0d8;
5063
- border-color: #d6e9c6;
5064
- }
5065
- .alert-success hr {
5066
- border-top-color: #c9e2b3;
5067
- }
5068
- .alert-success .alert-link {
5069
- color: #2b542c;
5070
- }
5071
- .alert-info {
5072
- color: #31708f;
5073
- background-color: #d9edf7;
5074
- border-color: #bce8f1;
5075
- }
5076
- .alert-info hr {
5077
- border-top-color: #a6e1ec;
5078
- }
5079
- .alert-info .alert-link {
5080
- color: #245269;
5081
- }
5082
- .alert-warning {
5083
- color: #8a6d3b;
5084
- background-color: #fcf8e3;
5085
- border-color: #faebcc;
5086
- }
5087
- .alert-warning hr {
5088
- border-top-color: #f7e1b5;
5089
- }
5090
- .alert-warning .alert-link {
5091
- color: #66512c;
5092
- }
5093
- .alert-danger {
5094
- color: #a94442;
5095
- background-color: #f2dede;
5096
- border-color: #ebccd1;
5097
- }
5098
- .alert-danger hr {
5099
- border-top-color: #e4b9c0;
5100
- }
5101
- .alert-danger .alert-link {
5102
- color: #843534;
5103
- }
5104
- @-webkit-keyframes progress-bar-stripes {
5105
- from {
5106
- background-position: 40px 0;
5107
- }
5108
- to {
5109
- background-position: 0 0;
5110
- }
5111
- }
5112
- @-o-keyframes progress-bar-stripes {
5113
- from {
5114
- background-position: 40px 0;
5115
- }
5116
- to {
5117
- background-position: 0 0;
5118
- }
5119
- }
5120
- @keyframes progress-bar-stripes {
5121
- from {
5122
- background-position: 40px 0;
5123
- }
5124
- to {
5125
- background-position: 0 0;
5126
- }
5127
- }
5128
- .progress {
5129
- height: 20px;
5130
- margin-bottom: 20px;
5131
- overflow: hidden;
5132
- background-color: #f5f5f5;
5133
- border-radius: 4px;
5134
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
5135
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
5136
- }
5137
- .progress-bar {
5138
- float: left;
5139
- width: 0;
5140
- height: 100%;
5141
- font-size: 12px;
5142
- line-height: 20px;
5143
- color: #fff;
5144
- text-align: center;
5145
- background-color: #337ab7;
5146
- -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
5147
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
5148
- -webkit-transition: width .6s ease;
5149
- -o-transition: width .6s ease;
5150
- transition: width .6s ease;
5151
- }
5152
- .progress-striped .progress-bar,
5153
- .progress-bar-striped {
5154
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5155
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5156
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5157
- -webkit-background-size: 40px 40px;
5158
- background-size: 40px 40px;
5159
- }
5160
- .progress.active .progress-bar,
5161
- .progress-bar.active {
5162
- -webkit-animation: progress-bar-stripes 2s linear infinite;
5163
- -o-animation: progress-bar-stripes 2s linear infinite;
5164
- animation: progress-bar-stripes 2s linear infinite;
5165
- }
5166
- .progress-bar-success {
5167
- background-color: #5cb85c;
5168
- }
5169
- .progress-striped .progress-bar-success {
5170
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5171
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5172
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5173
- }
5174
- .progress-bar-info {
5175
- background-color: #5bc0de;
5176
- }
5177
- .progress-striped .progress-bar-info {
5178
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5179
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5180
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5181
- }
5182
- .progress-bar-warning {
5183
- background-color: #f0ad4e;
5184
- }
5185
- .progress-striped .progress-bar-warning {
5186
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5187
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5188
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5189
- }
5190
- .progress-bar-danger {
5191
- background-color: #d9534f;
5192
- }
5193
- .progress-striped .progress-bar-danger {
5194
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5195
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5196
- background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
5197
- }
5198
- .media {
5199
- margin-top: 15px;
5200
- }
5201
- .media:first-child {
5202
- margin-top: 0;
5203
- }
5204
- .media,
5205
- .media-body {
5206
- overflow: hidden;
5207
- zoom: 1;
5208
- }
5209
- .media-body {
5210
- width: 10000px;
5211
- }
5212
- .media-object {
5213
- display: block;
5214
- }
5215
- .media-object.img-thumbnail {
5216
- max-width: none;
5217
- }
5218
- .media-right,
5219
- .media > .pull-right {
5220
- padding-left: 10px;
5221
- }
5222
- .media-left,
5223
- .media > .pull-left {
5224
- padding-right: 10px;
5225
- }
5226
- .media-left,
5227
- .media-right,
5228
- .media-body {
5229
- display: table-cell;
5230
- vertical-align: top;
5231
- }
5232
- .media-middle {
5233
- vertical-align: middle;
5234
- }
5235
- .media-bottom {
5236
- vertical-align: bottom;
5237
- }
5238
- .media-heading {
5239
- margin-top: 0;
5240
- margin-bottom: 5px;
5241
- }
5242
- .media-list {
5243
- padding-left: 0;
5244
- list-style: none;
5245
- }
5246
- .list-group {
5247
- padding-left: 0;
5248
- margin-bottom: 20px;
5249
- }
5250
- .list-group-item {
5251
- position: relative;
5252
- display: block;
5253
- padding: 10px 15px;
5254
- margin-bottom: -1px;
5255
- background-color: #fff;
5256
- border: 1px solid #ddd;
5257
- }
5258
- .list-group-item:first-child {
5259
- border-top-left-radius: 4px;
5260
- border-top-right-radius: 4px;
5261
- }
5262
- .list-group-item:last-child {
5263
- margin-bottom: 0;
5264
- border-bottom-right-radius: 4px;
5265
- border-bottom-left-radius: 4px;
5266
- }
5267
- a.list-group-item,
5268
- button.list-group-item {
5269
- color: #555;
5270
- }
5271
- a.list-group-item .list-group-item-heading,
5272
- button.list-group-item .list-group-item-heading {
5273
- color: #333;
5274
- }
5275
- a.list-group-item:hover,
5276
- button.list-group-item:hover,
5277
- a.list-group-item:focus,
5278
- button.list-group-item:focus {
5279
- color: #555;
5280
- text-decoration: none;
5281
- background-color: #f5f5f5;
5282
- }
5283
- button.list-group-item {
5284
- width: 100%;
5285
- text-align: left;
5286
- }
5287
- .list-group-item.disabled,
5288
- .list-group-item.disabled:hover,
5289
- .list-group-item.disabled:focus {
5290
- color: #777;
5291
- cursor: not-allowed;
5292
- background-color: #eee;
5293
- }
5294
- .list-group-item.disabled .list-group-item-heading,
5295
- .list-group-item.disabled:hover .list-group-item-heading,
5296
- .list-group-item.disabled:focus .list-group-item-heading {
5297
- color: inherit;
5298
- }
5299
- .list-group-item.disabled .list-group-item-text,
5300
- .list-group-item.disabled:hover .list-group-item-text,
5301
- .list-group-item.disabled:focus .list-group-item-text {
5302
- color: #777;
5303
- }
5304
- .list-group-item.active,
5305
- .list-group-item.active:hover,
5306
- .list-group-item.active:focus {
5307
- z-index: 2;
5308
- color: #fff;
5309
- background-color: #337ab7;
5310
- border-color: #337ab7;
5311
- }
5312
- .list-group-item.active .list-group-item-heading,
5313
- .list-group-item.active:hover .list-group-item-heading,
5314
- .list-group-item.active:focus .list-group-item-heading,
5315
- .list-group-item.active .list-group-item-heading > small,
5316
- .list-group-item.active:hover .list-group-item-heading > small,
5317
- .list-group-item.active:focus .list-group-item-heading > small,
5318
- .list-group-item.active .list-group-item-heading > .small,
5319
- .list-group-item.active:hover .list-group-item-heading > .small,
5320
- .list-group-item.active:focus .list-group-item-heading > .small {
5321
- color: inherit;
5322
- }
5323
- .list-group-item.active .list-group-item-text,
5324
- .list-group-item.active:hover .list-group-item-text,
5325
- .list-group-item.active:focus .list-group-item-text {
5326
- color: #c7ddef;
5327
- }
5328
- .list-group-item-success {
5329
- color: #3c763d;
5330
- background-color: #dff0d8;
5331
- }
5332
- a.list-group-item-success,
5333
- button.list-group-item-success {
5334
- color: #3c763d;
5335
- }
5336
- a.list-group-item-success .list-group-item-heading,
5337
- button.list-group-item-success .list-group-item-heading {
5338
- color: inherit;
5339
- }
5340
- a.list-group-item-success:hover,
5341
- button.list-group-item-success:hover,
5342
- a.list-group-item-success:focus,
5343
- button.list-group-item-success:focus {
5344
- color: #3c763d;
5345
- background-color: #d0e9c6;
5346
- }
5347
- a.list-group-item-success.active,
5348
- button.list-group-item-success.active,
5349
- a.list-group-item-success.active:hover,
5350
- button.list-group-item-success.active:hover,
5351
- a.list-group-item-success.active:focus,
5352
- button.list-group-item-success.active:focus {
5353
- color: #fff;
5354
- background-color: #3c763d;
5355
- border-color: #3c763d;
5356
- }
5357
- .list-group-item-info {
5358
- color: #31708f;
5359
- background-color: #d9edf7;
5360
- }
5361
- a.list-group-item-info,
5362
- button.list-group-item-info {
5363
- color: #31708f;
5364
- }
5365
- a.list-group-item-info .list-group-item-heading,
5366
- button.list-group-item-info .list-group-item-heading {
5367
- color: inherit;
5368
- }
5369
- a.list-group-item-info:hover,
5370
- button.list-group-item-info:hover,
5371
- a.list-group-item-info:focus,
5372
- button.list-group-item-info:focus {
5373
- color: #31708f;
5374
- background-color: #c4e3f3;
5375
- }
5376
- a.list-group-item-info.active,
5377
- button.list-group-item-info.active,
5378
- a.list-group-item-info.active:hover,
5379
- button.list-group-item-info.active:hover,
5380
- a.list-group-item-info.active:focus,
5381
- button.list-group-item-info.active:focus {
5382
- color: #fff;
5383
- background-color: #31708f;
5384
- border-color: #31708f;
5385
- }
5386
- .list-group-item-warning {
5387
- color: #8a6d3b;
5388
- background-color: #fcf8e3;
5389
- }
5390
- a.list-group-item-warning,
5391
- button.list-group-item-warning {
5392
- color: #8a6d3b;
5393
- }
5394
- a.list-group-item-warning .list-group-item-heading,
5395
- button.list-group-item-warning .list-group-item-heading {
5396
- color: inherit;
5397
- }
5398
- a.list-group-item-warning:hover,
5399
- button.list-group-item-warning:hover,
5400
- a.list-group-item-warning:focus,
5401
- button.list-group-item-warning:focus {
5402
- color: #8a6d3b;
5403
- background-color: #faf2cc;
5404
- }
5405
- a.list-group-item-warning.active,
5406
- button.list-group-item-warning.active,
5407
- a.list-group-item-warning.active:hover,
5408
- button.list-group-item-warning.active:hover,
5409
- a.list-group-item-warning.active:focus,
5410
- button.list-group-item-warning.active:focus {
5411
- color: #fff;
5412
- background-color: #8a6d3b;
5413
- border-color: #8a6d3b;
5414
- }
5415
- .list-group-item-danger {
5416
- color: #a94442;
5417
- background-color: #f2dede;
5418
- }
5419
- a.list-group-item-danger,
5420
- button.list-group-item-danger {
5421
- color: #a94442;
5422
- }
5423
- a.list-group-item-danger .list-group-item-heading,
5424
- button.list-group-item-danger .list-group-item-heading {
5425
- color: inherit;
5426
- }
5427
- a.list-group-item-danger:hover,
5428
- button.list-group-item-danger:hover,
5429
- a.list-group-item-danger:focus,
5430
- button.list-group-item-danger:focus {
5431
- color: #a94442;
5432
- background-color: #ebcccc;
5433
- }
5434
- a.list-group-item-danger.active,
5435
- button.list-group-item-danger.active,
5436
- a.list-group-item-danger.active:hover,
5437
- button.list-group-item-danger.active:hover,
5438
- a.list-group-item-danger.active:focus,
5439
- button.list-group-item-danger.active:focus {
5440
- color: #fff;
5441
- background-color: #a94442;
5442
- border-color: #a94442;
5443
- }
5444
- .list-group-item-heading {
5445
- margin-top: 0;
5446
- margin-bottom: 5px;
5447
- }
5448
- .list-group-item-text {
5449
- margin-bottom: 0;
5450
- line-height: 1.3;
5451
- }
5452
- .panel {
5453
- margin-bottom: 20px;
5454
- background-color: #fff;
5455
- border: 1px solid transparent;
5456
- border-radius: 4px;
5457
- -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
5458
- box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
5459
- }
5460
- .panel-body {
5461
- padding: 15px;
5462
- }
5463
- .panel-heading {
5464
- padding: 10px 15px;
5465
- border-bottom: 1px solid transparent;
5466
- border-top-left-radius: 3px;
5467
- border-top-right-radius: 3px;
5468
- }
5469
- .panel-heading > .dropdown .dropdown-toggle {
5470
- color: inherit;
5471
- }
5472
- .panel-title {
5473
- margin-top: 0;
5474
- margin-bottom: 0;
5475
- font-size: 16px;
5476
- color: inherit;
5477
- }
5478
- .panel-title > a,
5479
- .panel-title > small,
5480
- .panel-title > .small,
5481
- .panel-title > small > a,
5482
- .panel-title > .small > a {
5483
- color: inherit;
5484
- }
5485
- .panel-footer {
5486
- padding: 10px 15px;
5487
- background-color: #f5f5f5;
5488
- border-top: 1px solid #ddd;
5489
- border-bottom-right-radius: 3px;
5490
- border-bottom-left-radius: 3px;
5491
- }
5492
- .panel > .list-group,
5493
- .panel > .panel-collapse > .list-group {
5494
- margin-bottom: 0;
5495
- }
5496
- .panel > .list-group .list-group-item,
5497
- .panel > .panel-collapse > .list-group .list-group-item {
5498
- border-width: 1px 0;
5499
- border-radius: 0;
5500
- }
5501
- .panel > .list-group:first-child .list-group-item:first-child,
5502
- .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
5503
- border-top: 0;
5504
- border-top-left-radius: 3px;
5505
- border-top-right-radius: 3px;
5506
- }
5507
- .panel > .list-group:last-child .list-group-item:last-child,
5508
- .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
5509
- border-bottom: 0;
5510
- border-bottom-right-radius: 3px;
5511
- border-bottom-left-radius: 3px;
5512
- }
5513
- .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
5514
- border-top-left-radius: 0;
5515
- border-top-right-radius: 0;
5516
- }
5517
- .panel-heading + .list-group .list-group-item:first-child {
5518
- border-top-width: 0;
5519
- }
5520
- .list-group + .panel-footer {
5521
- border-top-width: 0;
5522
- }
5523
- .panel > .table,
5524
- .panel > .table-responsive > .table,
5525
- .panel > .panel-collapse > .table {
5526
- margin-bottom: 0;
5527
- }
5528
- .panel > .table caption,
5529
- .panel > .table-responsive > .table caption,
5530
- .panel > .panel-collapse > .table caption {
5531
- padding-right: 15px;
5532
- padding-left: 15px;
5533
- }
5534
- .panel > .table:first-child,
5535
- .panel > .table-responsive:first-child > .table:first-child {
5536
- border-top-left-radius: 3px;
5537
- border-top-right-radius: 3px;
5538
- }
5539
- .panel > .table:first-child > thead:first-child > tr:first-child,
5540
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
5541
- .panel > .table:first-child > tbody:first-child > tr:first-child,
5542
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
5543
- border-top-left-radius: 3px;
5544
- border-top-right-radius: 3px;
5545
- }
5546
- .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
5547
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
5548
- .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
5549
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
5550
- .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
5551
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
5552
- .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
5553
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
5554
- border-top-left-radius: 3px;
5555
- }
5556
- .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
5557
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
5558
- .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
5559
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
5560
- .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
5561
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
5562
- .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
5563
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
5564
- border-top-right-radius: 3px;
5565
- }
5566
- .panel > .table:last-child,
5567
- .panel > .table-responsive:last-child > .table:last-child {
5568
- border-bottom-right-radius: 3px;
5569
- border-bottom-left-radius: 3px;
5570
- }
5571
- .panel > .table:last-child > tbody:last-child > tr:last-child,
5572
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
5573
- .panel > .table:last-child > tfoot:last-child > tr:last-child,
5574
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
5575
- border-bottom-right-radius: 3px;
5576
- border-bottom-left-radius: 3px;
5577
- }
5578
- .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
5579
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
5580
- .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
5581
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
5582
- .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
5583
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
5584
- .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
5585
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
5586
- border-bottom-left-radius: 3px;
5587
- }
5588
- .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
5589
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
5590
- .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
5591
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
5592
- .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
5593
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
5594
- .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
5595
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
5596
- border-bottom-right-radius: 3px;
5597
- }
5598
- .panel > .panel-body + .table,
5599
- .panel > .panel-body + .table-responsive,
5600
- .panel > .table + .panel-body,
5601
- .panel > .table-responsive + .panel-body {
5602
- border-top: 1px solid #ddd;
5603
- }
5604
- .panel > .table > tbody:first-child > tr:first-child th,
5605
- .panel > .table > tbody:first-child > tr:first-child td {
5606
- border-top: 0;
5607
- }
5608
- .panel > .table-bordered,
5609
- .panel > .table-responsive > .table-bordered {
5610
- border: 0;
5611
- }
5612
- .panel > .table-bordered > thead > tr > th:first-child,
5613
- .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
5614
- .panel > .table-bordered > tbody > tr > th:first-child,
5615
- .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
5616
- .panel > .table-bordered > tfoot > tr > th:first-child,
5617
- .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
5618
- .panel > .table-bordered > thead > tr > td:first-child,
5619
- .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
5620
- .panel > .table-bordered > tbody > tr > td:first-child,
5621
- .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
5622
- .panel > .table-bordered > tfoot > tr > td:first-child,
5623
- .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
5624
- border-left: 0;
5625
- }
5626
- .panel > .table-bordered > thead > tr > th:last-child,
5627
- .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
5628
- .panel > .table-bordered > tbody > tr > th:last-child,
5629
- .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
5630
- .panel > .table-bordered > tfoot > tr > th:last-child,
5631
- .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
5632
- .panel > .table-bordered > thead > tr > td:last-child,
5633
- .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
5634
- .panel > .table-bordered > tbody > tr > td:last-child,
5635
- .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
5636
- .panel > .table-bordered > tfoot > tr > td:last-child,
5637
- .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
5638
- border-right: 0;
5639
- }
5640
- .panel > .table-bordered > thead > tr:first-child > td,
5641
- .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
5642
- .panel > .table-bordered > tbody > tr:first-child > td,
5643
- .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
5644
- .panel > .table-bordered > thead > tr:first-child > th,
5645
- .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
5646
- .panel > .table-bordered > tbody > tr:first-child > th,
5647
- .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
5648
- border-bottom: 0;
5649
- }
5650
- .panel > .table-bordered > tbody > tr:last-child > td,
5651
- .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
5652
- .panel > .table-bordered > tfoot > tr:last-child > td,
5653
- .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
5654
- .panel > .table-bordered > tbody > tr:last-child > th,
5655
- .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
5656
- .panel > .table-bordered > tfoot > tr:last-child > th,
5657
- .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
5658
- border-bottom: 0;
5659
- }
5660
- .panel > .table-responsive {
5661
- margin-bottom: 0;
5662
- border: 0;
5663
- }
5664
- .panel-group {
5665
- margin-bottom: 20px;
5666
- }
5667
- .panel-group .panel {
5668
- margin-bottom: 0;
5669
- border-radius: 4px;
5670
- }
5671
- .panel-group .panel + .panel {
5672
- margin-top: 5px;
5673
- }
5674
- .panel-group .panel-heading {
5675
- border-bottom: 0;
5676
- }
5677
- .panel-group .panel-heading + .panel-collapse > .panel-body,
5678
- .panel-group .panel-heading + .panel-collapse > .list-group {
5679
- border-top: 1px solid #ddd;
5680
- }
5681
- .panel-group .panel-footer {
5682
- border-top: 0;
5683
- }
5684
- .panel-group .panel-footer + .panel-collapse .panel-body {
5685
- border-bottom: 1px solid #ddd;
5686
- }
5687
- .panel-default {
5688
- border-color: #ddd;
5689
- }
5690
- .panel-default > .panel-heading {
5691
- color: #333;
5692
- background-color: #f5f5f5;
5693
- border-color: #ddd;
5694
- }
5695
- .panel-default > .panel-heading + .panel-collapse > .panel-body {
5696
- border-top-color: #ddd;
5697
- }
5698
- .panel-default > .panel-heading .badge {
5699
- color: #f5f5f5;
5700
- background-color: #333;
5701
- }
5702
- .panel-default > .panel-footer + .panel-collapse > .panel-body {
5703
- border-bottom-color: #ddd;
5704
- }
5705
- .panel-primary {
5706
- border-color: #337ab7;
5707
- }
5708
- .panel-primary > .panel-heading {
5709
- color: #fff;
5710
- background-color: #337ab7;
5711
- border-color: #337ab7;
5712
- }
5713
- .panel-primary > .panel-heading + .panel-collapse > .panel-body {
5714
- border-top-color: #337ab7;
5715
- }
5716
- .panel-primary > .panel-heading .badge {
5717
- color: #337ab7;
5718
- background-color: #fff;
5719
- }
5720
- .panel-primary > .panel-footer + .panel-collapse > .panel-body {
5721
- border-bottom-color: #337ab7;
5722
- }
5723
- .panel-success {
5724
- border-color: #d6e9c6;
5725
- }
5726
- .panel-success > .panel-heading {
5727
- color: #3c763d;
5728
- background-color: #dff0d8;
5729
- border-color: #d6e9c6;
5730
- }
5731
- .panel-success > .panel-heading + .panel-collapse > .panel-body {
5732
- border-top-color: #d6e9c6;
5733
- }
5734
- .panel-success > .panel-heading .badge {
5735
- color: #dff0d8;
5736
- background-color: #3c763d;
5737
- }
5738
- .panel-success > .panel-footer + .panel-collapse > .panel-body {
5739
- border-bottom-color: #d6e9c6;
5740
- }
5741
- .panel-info {
5742
- border-color: #bce8f1;
5743
- }
5744
- .panel-info > .panel-heading {
5745
- color: #31708f;
5746
- background-color: #d9edf7;
5747
- border-color: #bce8f1;
5748
- }
5749
- .panel-info > .panel-heading + .panel-collapse > .panel-body {
5750
- border-top-color: #bce8f1;
5751
- }
5752
- .panel-info > .panel-heading .badge {
5753
- color: #d9edf7;
5754
- background-color: #31708f;
5755
- }
5756
- .panel-info > .panel-footer + .panel-collapse > .panel-body {
5757
- border-bottom-color: #bce8f1;
5758
- }
5759
- .panel-warning {
5760
- border-color: #faebcc;
5761
- }
5762
- .panel-warning > .panel-heading {
5763
- color: #8a6d3b;
5764
- background-color: #fcf8e3;
5765
- border-color: #faebcc;
5766
- }
5767
- .panel-warning > .panel-heading + .panel-collapse > .panel-body {
5768
- border-top-color: #faebcc;
5769
- }
5770
- .panel-warning > .panel-heading .badge {
5771
- color: #fcf8e3;
5772
- background-color: #8a6d3b;
5773
- }
5774
- .panel-warning > .panel-footer + .panel-collapse > .panel-body {
5775
- border-bottom-color: #faebcc;
5776
- }
5777
- .panel-danger {
5778
- border-color: #ebccd1;
5779
- }
5780
- .panel-danger > .panel-heading {
5781
- color: #a94442;
5782
- background-color: #f2dede;
5783
- border-color: #ebccd1;
5784
- }
5785
- .panel-danger > .panel-heading + .panel-collapse > .panel-body {
5786
- border-top-color: #ebccd1;
5787
- }
5788
- .panel-danger > .panel-heading .badge {
5789
- color: #f2dede;
5790
- background-color: #a94442;
5791
- }
5792
- .panel-danger > .panel-footer + .panel-collapse > .panel-body {
5793
- border-bottom-color: #ebccd1;
5794
- }
5795
- .embed-responsive {
5796
- position: relative;
5797
- display: block;
5798
- height: 0;
5799
- padding: 0;
5800
- overflow: hidden;
5801
- }
5802
- .embed-responsive .embed-responsive-item,
5803
- .embed-responsive iframe,
5804
- .embed-responsive embed,
5805
- .embed-responsive object,
5806
- .embed-responsive video {
5807
- position: absolute;
5808
- top: 0;
5809
- bottom: 0;
5810
- left: 0;
5811
- width: 100%;
5812
- height: 100%;
5813
- border: 0;
5814
- }
5815
- .embed-responsive-16by9 {
5816
- padding-bottom: 56.25%;
5817
- }
5818
- .embed-responsive-4by3 {
5819
- padding-bottom: 75%;
5820
- }
5821
- .well {
5822
- min-height: 20px;
5823
- padding: 19px;
5824
- margin-bottom: 20px;
5825
- background-color: #f5f5f5;
5826
- border: 1px solid #e3e3e3;
5827
- border-radius: 4px;
5828
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
5829
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
5830
- }
5831
- .well blockquote {
5832
- border-color: #ddd;
5833
- border-color: rgba(0, 0, 0, .15);
5834
- }
5835
- .well-lg {
5836
- padding: 24px;
5837
- border-radius: 6px;
5838
- }
5839
- .well-sm {
5840
- padding: 9px;
5841
- border-radius: 3px;
5842
- }
5843
- .close {
5844
- float: right;
5845
- font-size: 21px;
5846
- font-weight: bold;
5847
- line-height: 1;
5848
- color: #000;
5849
- text-shadow: 0 1px 0 #fff;
5850
- filter: alpha(opacity=20);
5851
- opacity: .2;
5852
- }
5853
- .close:hover,
5854
- .close:focus {
5855
- color: #000;
5856
- text-decoration: none;
5857
- cursor: pointer;
5858
- filter: alpha(opacity=50);
5859
- opacity: .5;
5860
- }
5861
- button.close {
5862
- -webkit-appearance: none;
5863
- padding: 0;
5864
- cursor: pointer;
5865
- background: transparent;
5866
- border: 0;
5867
- }
5868
- .modal-open {
5869
- overflow: hidden;
5870
- }
5871
- .modal {
5872
- position: fixed;
5873
- top: 0;
5874
- right: 0;
5875
- bottom: 0;
5876
- left: 0;
5877
- z-index: 1050;
5878
- display: none;
5879
- overflow: hidden;
5880
- -webkit-overflow-scrolling: touch;
5881
- outline: 0;
5882
- }
5883
- .modal.fade .modal-dialog {
5884
- -webkit-transition: -webkit-transform .3s ease-out;
5885
- -o-transition: -o-transform .3s ease-out;
5886
- transition: transform .3s ease-out;
5887
- -webkit-transform: translate(0, -25%);
5888
- -ms-transform: translate(0, -25%);
5889
- -o-transform: translate(0, -25%);
5890
- transform: translate(0, -25%);
5891
- }
5892
- .modal.in .modal-dialog {
5893
- -webkit-transform: translate(0, 0);
5894
- -ms-transform: translate(0, 0);
5895
- -o-transform: translate(0, 0);
5896
- transform: translate(0, 0);
5897
- }
5898
- .modal-open .modal {
5899
- overflow-x: hidden;
5900
- overflow-y: auto;
5901
- }
5902
- .modal-dialog {
5903
- position: relative;
5904
- width: auto;
5905
- margin: 10px;
5906
- }
5907
- .modal-content {
5908
- position: relative;
5909
- background-color: #fff;
5910
- -webkit-background-clip: padding-box;
5911
- background-clip: padding-box;
5912
- border: 1px solid #999;
5913
- border: 1px solid rgba(0, 0, 0, .2);
5914
- border-radius: 6px;
5915
- outline: 0;
5916
- -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
5917
- box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
5918
- }
5919
- .modal-backdrop {
5920
- position: fixed;
5921
- top: 0;
5922
- right: 0;
5923
- bottom: 0;
5924
- left: 0;
5925
- z-index: 1040;
5926
- background-color: #000;
5927
- }
5928
- .modal-backdrop.fade {
5929
- filter: alpha(opacity=0);
5930
- opacity: 0;
5931
- }
5932
- .modal-backdrop.in {
5933
- filter: alpha(opacity=50);
5934
- opacity: .5;
5935
- }
5936
- .modal-header {
5937
- padding: 15px;
5938
- border-bottom: 1px solid #e5e5e5;
5939
- }
5940
- .modal-header .close {
5941
- margin-top: -2px;
5942
- }
5943
- .modal-title {
5944
- margin: 0;
5945
- line-height: 1.42857143;
5946
- }
5947
- .modal-body {
5948
- position: relative;
5949
- padding: 15px;
5950
- }
5951
- .modal-footer {
5952
- padding: 15px;
5953
- text-align: right;
5954
- border-top: 1px solid #e5e5e5;
5955
- }
5956
- .modal-footer .btn + .btn {
5957
- margin-bottom: 0;
5958
- margin-left: 5px;
5959
- }
5960
- .modal-footer .btn-group .btn + .btn {
5961
- margin-left: -1px;
5962
- }
5963
- .modal-footer .btn-block + .btn-block {
5964
- margin-left: 0;
5965
- }
5966
- .modal-scrollbar-measure {
5967
- position: absolute;
5968
- top: -9999px;
5969
- width: 50px;
5970
- height: 50px;
5971
- overflow: scroll;
5972
- }
5973
- @media (min-width: 768px) {
5974
- .modal-dialog {
5975
- width: 600px;
5976
- margin: 30px auto;
5977
- }
5978
- .modal-content {
5979
- -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
5980
- box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
5981
- }
5982
- .modal-sm {
5983
- width: 300px;
5984
- }
5985
- }
5986
- @media (min-width: 992px) {
5987
- .modal-lg {
5988
- width: 900px;
5989
- }
5990
- }
5991
- .tooltip {
5992
- position: absolute;
5993
- z-index: 1070;
5994
- display: block;
5995
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
5996
- font-size: 12px;
5997
- font-style: normal;
5998
- font-weight: normal;
5999
- line-height: 1.42857143;
6000
- text-align: left;
6001
- text-align: start;
6002
- text-decoration: none;
6003
- text-shadow: none;
6004
- text-transform: none;
6005
- letter-spacing: normal;
6006
- word-break: normal;
6007
- word-spacing: normal;
6008
- word-wrap: normal;
6009
- white-space: normal;
6010
- filter: alpha(opacity=0);
6011
- opacity: 0;
6012
-
6013
- line-break: auto;
6014
- }
6015
- .tooltip.in {
6016
- filter: alpha(opacity=90);
6017
- opacity: .9;
6018
- }
6019
- .tooltip.top {
6020
- padding: 5px 0;
6021
- margin-top: -3px;
6022
- }
6023
- .tooltip.right {
6024
- padding: 0 5px;
6025
- margin-left: 3px;
6026
- }
6027
- .tooltip.bottom {
6028
- padding: 5px 0;
6029
- margin-top: 3px;
6030
- }
6031
- .tooltip.left {
6032
- padding: 0 5px;
6033
- margin-left: -3px;
6034
- }
6035
- .tooltip-inner {
6036
- max-width: 200px;
6037
- padding: 3px 8px;
6038
- color: #fff;
6039
- text-align: center;
6040
- background-color: #000;
6041
- border-radius: 4px;
6042
- }
6043
- .tooltip-arrow {
6044
- position: absolute;
6045
- width: 0;
6046
- height: 0;
6047
- border-color: transparent;
6048
- border-style: solid;
6049
- }
6050
- .tooltip.top .tooltip-arrow {
6051
- bottom: 0;
6052
- left: 50%;
6053
- margin-left: -5px;
6054
- border-width: 5px 5px 0;
6055
- border-top-color: #000;
6056
- }
6057
- .tooltip.top-left .tooltip-arrow {
6058
- right: 5px;
6059
- bottom: 0;
6060
- margin-bottom: -5px;
6061
- border-width: 5px 5px 0;
6062
- border-top-color: #000;
6063
- }
6064
- .tooltip.top-right .tooltip-arrow {
6065
- bottom: 0;
6066
- left: 5px;
6067
- margin-bottom: -5px;
6068
- border-width: 5px 5px 0;
6069
- border-top-color: #000;
6070
- }
6071
- .tooltip.right .tooltip-arrow {
6072
- top: 50%;
6073
- left: 0;
6074
- margin-top: -5px;
6075
- border-width: 5px 5px 5px 0;
6076
- border-right-color: #000;
6077
- }
6078
- .tooltip.left .tooltip-arrow {
6079
- top: 50%;
6080
- right: 0;
6081
- margin-top: -5px;
6082
- border-width: 5px 0 5px 5px;
6083
- border-left-color: #000;
6084
- }
6085
- .tooltip.bottom .tooltip-arrow {
6086
- top: 0;
6087
- left: 50%;
6088
- margin-left: -5px;
6089
- border-width: 0 5px 5px;
6090
- border-bottom-color: #000;
6091
- }
6092
- .tooltip.bottom-left .tooltip-arrow {
6093
- top: 0;
6094
- right: 5px;
6095
- margin-top: -5px;
6096
- border-width: 0 5px 5px;
6097
- border-bottom-color: #000;
6098
- }
6099
- .tooltip.bottom-right .tooltip-arrow {
6100
- top: 0;
6101
- left: 5px;
6102
- margin-top: -5px;
6103
- border-width: 0 5px 5px;
6104
- border-bottom-color: #000;
6105
- }
6106
- .popover {
6107
- position: absolute;
6108
- top: 0;
6109
- left: 0;
6110
- z-index: 1060;
6111
- display: none;
6112
- max-width: 276px;
6113
- padding: 1px;
6114
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
6115
- font-size: 14px;
6116
- font-style: normal;
6117
- font-weight: normal;
6118
- line-height: 1.42857143;
6119
- text-align: left;
6120
- text-align: start;
6121
- text-decoration: none;
6122
- text-shadow: none;
6123
- text-transform: none;
6124
- letter-spacing: normal;
6125
- word-break: normal;
6126
- word-spacing: normal;
6127
- word-wrap: normal;
6128
- white-space: normal;
6129
- background-color: #fff;
6130
- -webkit-background-clip: padding-box;
6131
- background-clip: padding-box;
6132
- border: 1px solid #ccc;
6133
- border: 1px solid rgba(0, 0, 0, .2);
6134
- border-radius: 6px;
6135
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
6136
- box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
6137
-
6138
- line-break: auto;
6139
- }
6140
- .popover.top {
6141
- margin-top: -10px;
6142
- }
6143
- .popover.right {
6144
- margin-left: 10px;
6145
- }
6146
- .popover.bottom {
6147
- margin-top: 10px;
6148
- }
6149
- .popover.left {
6150
- margin-left: -10px;
6151
- }
6152
- .popover-title {
6153
- padding: 8px 14px;
6154
- margin: 0;
6155
- font-size: 14px;
6156
- background-color: #f7f7f7;
6157
- border-bottom: 1px solid #ebebeb;
6158
- border-radius: 5px 5px 0 0;
6159
- }
6160
- .popover-content {
6161
- padding: 9px 14px;
6162
- }
6163
- .popover > .arrow,
6164
- .popover > .arrow:after {
6165
- position: absolute;
6166
- display: block;
6167
- width: 0;
6168
- height: 0;
6169
- border-color: transparent;
6170
- border-style: solid;
6171
- }
6172
- .popover > .arrow {
6173
- border-width: 11px;
6174
- }
6175
- .popover > .arrow:after {
6176
- content: "";
6177
- border-width: 10px;
6178
- }
6179
- .popover.top > .arrow {
6180
- bottom: -11px;
6181
- left: 50%;
6182
- margin-left: -11px;
6183
- border-top-color: #999;
6184
- border-top-color: rgba(0, 0, 0, .25);
6185
- border-bottom-width: 0;
6186
- }
6187
- .popover.top > .arrow:after {
6188
- bottom: 1px;
6189
- margin-left: -10px;
6190
- content: " ";
6191
- border-top-color: #fff;
6192
- border-bottom-width: 0;
6193
- }
6194
- .popover.right > .arrow {
6195
- top: 50%;
6196
- left: -11px;
6197
- margin-top: -11px;
6198
- border-right-color: #999;
6199
- border-right-color: rgba(0, 0, 0, .25);
6200
- border-left-width: 0;
6201
- }
6202
- .popover.right > .arrow:after {
6203
- bottom: -10px;
6204
- left: 1px;
6205
- content: " ";
6206
- border-right-color: #fff;
6207
- border-left-width: 0;
6208
- }
6209
- .popover.bottom > .arrow {
6210
- top: -11px;
6211
- left: 50%;
6212
- margin-left: -11px;
6213
- border-top-width: 0;
6214
- border-bottom-color: #999;
6215
- border-bottom-color: rgba(0, 0, 0, .25);
6216
- }
6217
- .popover.bottom > .arrow:after {
6218
- top: 1px;
6219
- margin-left: -10px;
6220
- content: " ";
6221
- border-top-width: 0;
6222
- border-bottom-color: #fff;
6223
- }
6224
- .popover.left > .arrow {
6225
- top: 50%;
6226
- right: -11px;
6227
- margin-top: -11px;
6228
- border-right-width: 0;
6229
- border-left-color: #999;
6230
- border-left-color: rgba(0, 0, 0, .25);
6231
- }
6232
- .popover.left > .arrow:after {
6233
- right: 1px;
6234
- bottom: -10px;
6235
- content: " ";
6236
- border-right-width: 0;
6237
- border-left-color: #fff;
6238
- }
6239
- .carousel {
6240
- position: relative;
6241
- }
6242
- .carousel-inner {
6243
- position: relative;
6244
- width: 100%;
6245
- overflow: hidden;
6246
- }
6247
- .carousel-inner > .item {
6248
- position: relative;
6249
- display: none;
6250
- -webkit-transition: .6s ease-in-out left;
6251
- -o-transition: .6s ease-in-out left;
6252
- transition: .6s ease-in-out left;
6253
- }
6254
- .carousel-inner > .item > img,
6255
- .carousel-inner > .item > a > img {
6256
- line-height: 1;
6257
- }
6258
- @media all and (transform-3d), (-webkit-transform-3d) {
6259
- .carousel-inner > .item {
6260
- -webkit-transition: -webkit-transform .6s ease-in-out;
6261
- -o-transition: -o-transform .6s ease-in-out;
6262
- transition: transform .6s ease-in-out;
6263
-
6264
- -webkit-backface-visibility: hidden;
6265
- backface-visibility: hidden;
6266
- -webkit-perspective: 1000px;
6267
- perspective: 1000px;
6268
- }
6269
- .carousel-inner > .item.next,
6270
- .carousel-inner > .item.active.right {
6271
- left: 0;
6272
- -webkit-transform: translate3d(100%, 0, 0);
6273
- transform: translate3d(100%, 0, 0);
6274
- }
6275
- .carousel-inner > .item.prev,
6276
- .carousel-inner > .item.active.left {
6277
- left: 0;
6278
- -webkit-transform: translate3d(-100%, 0, 0);
6279
- transform: translate3d(-100%, 0, 0);
6280
- }
6281
- .carousel-inner > .item.next.left,
6282
- .carousel-inner > .item.prev.right,
6283
- .carousel-inner > .item.active {
6284
- left: 0;
6285
- -webkit-transform: translate3d(0, 0, 0);
6286
- transform: translate3d(0, 0, 0);
6287
- }
6288
- }
6289
- .carousel-inner > .active,
6290
- .carousel-inner > .next,
6291
- .carousel-inner > .prev {
6292
- display: block;
6293
- }
6294
- .carousel-inner > .active {
6295
- left: 0;
6296
- }
6297
- .carousel-inner > .next,
6298
- .carousel-inner > .prev {
6299
- position: absolute;
6300
- top: 0;
6301
- width: 100%;
6302
- }
6303
- .carousel-inner > .next {
6304
- left: 100%;
6305
- }
6306
- .carousel-inner > .prev {
6307
- left: -100%;
6308
- }
6309
- .carousel-inner > .next.left,
6310
- .carousel-inner > .prev.right {
6311
- left: 0;
6312
- }
6313
- .carousel-inner > .active.left {
6314
- left: -100%;
6315
- }
6316
- .carousel-inner > .active.right {
6317
- left: 100%;
6318
- }
6319
- .carousel-control {
6320
- position: absolute;
6321
- top: 0;
6322
- bottom: 0;
6323
- left: 0;
6324
- width: 15%;
6325
- font-size: 20px;
6326
- color: #fff;
6327
- text-align: center;
6328
- text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
6329
- background-color: rgba(0, 0, 0, 0);
6330
- filter: alpha(opacity=50);
6331
- opacity: .5;
6332
- }
6333
- .carousel-control.left {
6334
- background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
6335
- background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
6336
- background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
6337
- background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
6338
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
6339
- background-repeat: repeat-x;
6340
- }
6341
- .carousel-control.right {
6342
- right: 0;
6343
- left: auto;
6344
- background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
6345
- background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
6346
- background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
6347
- background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
6348
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
6349
- background-repeat: repeat-x;
6350
- }
6351
- .carousel-control:hover,
6352
- .carousel-control:focus {
6353
- color: #fff;
6354
- text-decoration: none;
6355
- filter: alpha(opacity=90);
6356
- outline: 0;
6357
- opacity: .9;
6358
- }
6359
- .carousel-control .icon-prev,
6360
- .carousel-control .icon-next,
6361
- .carousel-control .glyphicon-chevron-left,
6362
- .carousel-control .glyphicon-chevron-right {
6363
- position: absolute;
6364
- top: 50%;
6365
- z-index: 5;
6366
- display: inline-block;
6367
- margin-top: -10px;
6368
- }
6369
- .carousel-control .icon-prev,
6370
- .carousel-control .glyphicon-chevron-left {
6371
- left: 50%;
6372
- margin-left: -10px;
6373
- }
6374
- .carousel-control .icon-next,
6375
- .carousel-control .glyphicon-chevron-right {
6376
- right: 50%;
6377
- margin-right: -10px;
6378
- }
6379
- .carousel-control .icon-prev,
6380
- .carousel-control .icon-next {
6381
- width: 20px;
6382
- height: 20px;
6383
- font-family: serif;
6384
- line-height: 1;
6385
- }
6386
- .carousel-control .icon-prev:before {
6387
- content: '\2039';
6388
- }
6389
- .carousel-control .icon-next:before {
6390
- content: '\203a';
6391
- }
6392
- .carousel-indicators {
6393
- position: absolute;
6394
- bottom: 10px;
6395
- left: 50%;
6396
- z-index: 15;
6397
- width: 60%;
6398
- padding-left: 0;
6399
- margin-left: -30%;
6400
- text-align: center;
6401
- list-style: none;
6402
- }
6403
- .carousel-indicators li {
6404
- display: inline-block;
6405
- width: 10px;
6406
- height: 10px;
6407
- margin: 1px;
6408
- text-indent: -999px;
6409
- cursor: pointer;
6410
- background-color: #000 \9;
6411
- background-color: rgba(0, 0, 0, 0);
6412
- border: 1px solid #fff;
6413
- border-radius: 10px;
6414
- }
6415
- .carousel-indicators .active {
6416
- width: 12px;
6417
- height: 12px;
6418
- margin: 0;
6419
- background-color: #fff;
6420
- }
6421
- .carousel-caption {
6422
- position: absolute;
6423
- right: 15%;
6424
- bottom: 20px;
6425
- left: 15%;
6426
- z-index: 10;
6427
- padding-top: 20px;
6428
- padding-bottom: 20px;
6429
- color: #fff;
6430
- text-align: center;
6431
- text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
6432
- }
6433
- .carousel-caption .btn {
6434
- text-shadow: none;
6435
- }
6436
- @media screen and (min-width: 768px) {
6437
- .carousel-control .glyphicon-chevron-left,
6438
- .carousel-control .glyphicon-chevron-right,
6439
- .carousel-control .icon-prev,
6440
- .carousel-control .icon-next {
6441
- width: 30px;
6442
- height: 30px;
6443
- margin-top: -10px;
6444
- font-size: 30px;
6445
- }
6446
- .carousel-control .glyphicon-chevron-left,
6447
- .carousel-control .icon-prev {
6448
- margin-left: -10px;
6449
- }
6450
- .carousel-control .glyphicon-chevron-right,
6451
- .carousel-control .icon-next {
6452
- margin-right: -10px;
6453
- }
6454
- .carousel-caption {
6455
- right: 20%;
6456
- left: 20%;
6457
- padding-bottom: 30px;
6458
- }
6459
- .carousel-indicators {
6460
- bottom: 20px;
6461
- }
6462
- }
6463
- .clearfix:before,
6464
- .clearfix:after,
6465
- .dl-horizontal dd:before,
6466
- .dl-horizontal dd:after,
6467
- .container:before,
6468
- .container:after,
6469
- .container-fluid:before,
6470
- .container-fluid:after,
6471
- .row:before,
6472
- .row:after,
6473
- .form-horizontal .form-group:before,
6474
- .form-horizontal .form-group:after,
6475
- .btn-toolbar:before,
6476
- .btn-toolbar:after,
6477
- .btn-group-vertical > .btn-group:before,
6478
- .btn-group-vertical > .btn-group:after,
6479
- .nav:before,
6480
- .nav:after,
6481
- .navbar:before,
6482
- .navbar:after,
6483
- .navbar-header:before,
6484
- .navbar-header:after,
6485
- .navbar-collapse:before,
6486
- .navbar-collapse:after,
6487
- .pager:before,
6488
- .pager:after,
6489
- .panel-body:before,
6490
- .panel-body:after,
6491
- .modal-header:before,
6492
- .modal-header:after,
6493
- .modal-footer:before,
6494
- .modal-footer:after {
6495
- display: table;
6496
- content: " ";
6497
- }
6498
- .clearfix:after,
6499
- .dl-horizontal dd:after,
6500
- .container:after,
6501
- .container-fluid:after,
6502
- .row:after,
6503
- .form-horizontal .form-group:after,
6504
- .btn-toolbar:after,
6505
- .btn-group-vertical > .btn-group:after,
6506
- .nav:after,
6507
- .navbar:after,
6508
- .navbar-header:after,
6509
- .navbar-collapse:after,
6510
- .pager:after,
6511
- .panel-body:after,
6512
- .modal-header:after,
6513
- .modal-footer:after {
6514
- clear: both;
6515
- }
6516
- .center-block {
6517
- display: block;
6518
- margin-right: auto;
6519
- margin-left: auto;
6520
- }
6521
- .pull-right {
6522
- float: right !important;
6523
- }
6524
- .pull-left {
6525
- float: left !important;
6526
- }
6527
- .hide {
6528
- display: none !important;
6529
- }
6530
- .show {
6531
- display: block !important;
6532
- }
6533
- .invisible {
6534
- visibility: hidden;
6535
- }
6536
- .text-hide {
6537
- font: 0/0 a;
6538
- color: transparent;
6539
- text-shadow: none;
6540
- background-color: transparent;
6541
- border: 0;
6542
- }
6543
- .hidden {
6544
- display: none !important;
6545
- }
6546
- .affix {
6547
- position: fixed;
6548
- }
6549
- @-ms-viewport {
6550
- width: device-width;
6551
- }
6552
- .visible-xs,
6553
- .visible-sm,
6554
- .visible-md,
6555
- .visible-lg {
6556
- display: none !important;
6557
- }
6558
- .visible-xs-block,
6559
- .visible-xs-inline,
6560
- .visible-xs-inline-block,
6561
- .visible-sm-block,
6562
- .visible-sm-inline,
6563
- .visible-sm-inline-block,
6564
- .visible-md-block,
6565
- .visible-md-inline,
6566
- .visible-md-inline-block,
6567
- .visible-lg-block,
6568
- .visible-lg-inline,
6569
- .visible-lg-inline-block {
6570
- display: none !important;
6571
- }
6572
- @media (max-width: 767px) {
6573
- .visible-xs {
6574
- display: block !important;
6575
- }
6576
- table.visible-xs {
6577
- display: table !important;
6578
- }
6579
- tr.visible-xs {
6580
- display: table-row !important;
6581
- }
6582
- th.visible-xs,
6583
- td.visible-xs {
6584
- display: table-cell !important;
6585
- }
6586
- }
6587
- @media (max-width: 767px) {
6588
- .visible-xs-block {
6589
- display: block !important;
6590
- }
6591
- }
6592
- @media (max-width: 767px) {
6593
- .visible-xs-inline {
6594
- display: inline !important;
6595
- }
6596
- }
6597
- @media (max-width: 767px) {
6598
- .visible-xs-inline-block {
6599
- display: inline-block !important;
6600
- }
6601
- }
6602
- @media (min-width: 768px) and (max-width: 991px) {
6603
- .visible-sm {
6604
- display: block !important;
6605
- }
6606
- table.visible-sm {
6607
- display: table !important;
6608
- }
6609
- tr.visible-sm {
6610
- display: table-row !important;
6611
- }
6612
- th.visible-sm,
6613
- td.visible-sm {
6614
- display: table-cell !important;
6615
- }
6616
- }
6617
- @media (min-width: 768px) and (max-width: 991px) {
6618
- .visible-sm-block {
6619
- display: block !important;
6620
- }
6621
- }
6622
- @media (min-width: 768px) and (max-width: 991px) {
6623
- .visible-sm-inline {
6624
- display: inline !important;
6625
- }
6626
- }
6627
- @media (min-width: 768px) and (max-width: 991px) {
6628
- .visible-sm-inline-block {
6629
- display: inline-block !important;
6630
- }
6631
- }
6632
- @media (min-width: 992px) and (max-width: 1199px) {
6633
- .visible-md {
6634
- display: block !important;
6635
- }
6636
- table.visible-md {
6637
- display: table !important;
6638
- }
6639
- tr.visible-md {
6640
- display: table-row !important;
6641
- }
6642
- th.visible-md,
6643
- td.visible-md {
6644
- display: table-cell !important;
6645
- }
6646
- }
6647
- @media (min-width: 992px) and (max-width: 1199px) {
6648
- .visible-md-block {
6649
- display: block !important;
6650
- }
6651
- }
6652
- @media (min-width: 992px) and (max-width: 1199px) {
6653
- .visible-md-inline {
6654
- display: inline !important;
6655
- }
6656
- }
6657
- @media (min-width: 992px) and (max-width: 1199px) {
6658
- .visible-md-inline-block {
6659
- display: inline-block !important;
6660
- }
6661
- }
6662
- @media (min-width: 1200px) {
6663
- .visible-lg {
6664
- display: block !important;
6665
- }
6666
- table.visible-lg {
6667
- display: table !important;
6668
- }
6669
- tr.visible-lg {
6670
- display: table-row !important;
6671
- }
6672
- th.visible-lg,
6673
- td.visible-lg {
6674
- display: table-cell !important;
6675
- }
6676
- }
6677
- @media (min-width: 1200px) {
6678
- .visible-lg-block {
6679
- display: block !important;
6680
- }
6681
- }
6682
- @media (min-width: 1200px) {
6683
- .visible-lg-inline {
6684
- display: inline !important;
6685
- }
6686
- }
6687
- @media (min-width: 1200px) {
6688
- .visible-lg-inline-block {
6689
- display: inline-block !important;
6690
- }
6691
- }
6692
- @media (max-width: 767px) {
6693
- .hidden-xs {
6694
- display: none !important;
6695
- }
6696
- }
6697
- @media (min-width: 768px) and (max-width: 991px) {
6698
- .hidden-sm {
6699
- display: none !important;
6700
- }
6701
- }
6702
- @media (min-width: 992px) and (max-width: 1199px) {
6703
- .hidden-md {
6704
- display: none !important;
6705
- }
6706
- }
6707
- @media (min-width: 1200px) {
6708
- .hidden-lg {
6709
- display: none !important;
6710
- }
6711
- }
6712
- .visible-print {
6713
- display: none !important;
6714
- }
6715
- @media print {
6716
- .visible-print {
6717
- display: block !important;
6718
- }
6719
- table.visible-print {
6720
- display: table !important;
6721
- }
6722
- tr.visible-print {
6723
- display: table-row !important;
6724
- }
6725
- th.visible-print,
6726
- td.visible-print {
6727
- display: table-cell !important;
6728
- }
6729
- }
6730
- .visible-print-block {
6731
- display: none !important;
6732
- }
6733
- @media print {
6734
- .visible-print-block {
6735
- display: block !important;
6736
- }
6737
- }
6738
- .visible-print-inline {
6739
- display: none !important;
6740
- }
6741
- @media print {
6742
- .visible-print-inline {
6743
- display: inline !important;
6744
- }
6745
- }
6746
- .visible-print-inline-block {
6747
- display: none !important;
6748
- }
6749
- @media print {
6750
- .visible-print-inline-block {
6751
- display: inline-block !important;
6752
- }
6753
- }
6754
- @media print {
6755
- .hidden-print {
6756
- display: none !important;
6757
- }
6758
- }
6759
- /*# sourceMappingURL=bootstrap.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/custom-new-style.css DELETED
@@ -1,580 +0,0 @@
1
- .table.table-mapping tr:not(:first-child):hover {
2
- /*background-color: #f4faff;*/
3
- background-color: rgba(244, 250, 255, 0.5);
4
- border-top-color: #cce6fa;
5
- border-bottom-color: #cce6fa;
6
- }
7
- .table-mapping td {
8
- border-bottom: 1px solid #E5E5E5 !important;
9
- }
10
- .table.table-mapping td {
11
- border-bottom: 1px solid #E5E5E5 !important;
12
- }
13
- .table.table-mapping tr > td {
14
- box-sizing: border-box;
15
- }
16
- .table.table-mapping th {
17
- /* border-bottom: 1px solid #d0d4d9 !important;*/
18
- border-top: 0px !important;
19
- color: #737373;
20
- }
21
- .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
22
- vertical-align: middle;
23
- }
24
- .dropdown-menu {
25
- overflow-x:hidden;
26
- width:199px;
27
- border-radius:0px;
28
- box-shadow: none;
29
- border: 1px solid rgb(0, 166, 153);
30
- font-size:10px !important;
31
- }
32
- .selectpicker {
33
- border-radius:0em;
34
- border: 1px solid rgb(0, 166, 153)
35
- }
36
- .dropdown-toggle:hover{
37
- background-color:rgba(0, 166, 153, 0.5);
38
- }
39
- input.form-control[type="text"]:focus*{
40
- background-color:white !important;
41
- }
42
- .bootstrap-select .btn:focus{
43
- background-color:white !important;
44
- }
45
- input.form-control[type="text"]{
46
- border-radius: 0em;
47
- height:35px !important;
48
- }
49
- .btn-group.open .dropdown-toggle{
50
- box-shadow: none !important;
51
- }
52
- .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default {
53
- background-color: #ffffff !important;
54
- border-color: none !important;
55
- color: #333;
56
- }
57
- .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
58
- background-color: rgb(0, 166, 153) !important;
59
- color: #fff;
60
- outline: 0 none;
61
- text-decoration: none;
62
- }
63
- .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
64
- width: 200px !important;
65
- }
66
- .bootstrap-select > .btn
67
- {
68
- font-weight: inherit !important;
69
- }
70
- .dropdown-menu > li > a:focus{
71
- background-color: rgb(0, 166, 153) !important;
72
- /*border: 1px solid rgb(0, 166, 153) !important;*/
73
- border:none !important;
74
- }
75
- /* front page css */
76
- /*.selected{
77
- background-color:rgb(0, 166, 153) !important;
78
- }*/
79
- #select_module a, #s2id_search_dropdown a{
80
- height:25px !important;
81
- }
82
- .bootstrap-select.btn-group .dropdown-menu li a.opt{
83
- font-size:1.25em !important;
84
- }
85
- /* skewed button css */
86
- .tgl {
87
- display: none !important;
88
-
89
- }
90
- .tgl, .tgl:after, .tgl:before, .tgl *, .tgl *:after, .tgl *:before, .tgl + .tgl-btn {
91
- box-sizing: border-box;
92
- }
93
- .tgl::-moz-selection, .tgl:after::-moz-selection, .tgl:before::-moz-selection, .tgl *::-moz-selection, .tgl *:after::-moz-selection, .tgl *:before::-moz-selection, .tgl + .tgl-btn::-moz-selection {
94
- background: none;
95
- }
96
- .tgl::selection, .tgl:after::selection, .tgl:before::selection, .tgl *::selection, .tgl *:after::selection, .tgl *:before::selection, .tgl + .tgl-btn::selection {
97
- background: none;
98
- }
99
- .tgl + .tgl-btn {
100
- outline: 0;
101
- display: block;
102
- width: 4em;
103
- height: 2em;
104
- position: relative;
105
- cursor: pointer;
106
- -webkit-user-select: none;
107
- -moz-user-select: none;
108
- -ms-user-select: none;
109
- user-select: none;
110
- }
111
- .tgl + .tgl-btn:after, .tgl + .tgl-btn:before {
112
- position: relative;
113
- display: block;
114
- content: "";
115
- width: 50%;
116
- height: 100%;
117
- }
118
- .tgl + .tgl-btn:after {
119
- left: 0;
120
- }
121
- .tgl + .tgl-btn:before {
122
- display: none;
123
- }
124
- .tgl:checked + .tgl-btn:after {
125
- left: 50%;
126
- }
127
- /* skewed start */
128
- .tgl-skewed + .tgl-btn {
129
- overflow: hidden;
130
- -webkit-transform: skew(-10deg);
131
- transform: skew(-10deg);
132
- -webkit-backface-visibility: hidden;
133
- backface-visibility: hidden;
134
- -webkit-transition: all .2s ease;
135
- transition: all .2s ease;
136
- font-family: 'Montserrat', sans-serif !important;
137
- background: #888;
138
- }
139
- .tgl-skewed + .tgl-btn:after, .tgl-skewed + .tgl-btn:before {
140
- -webkit-transform: skew(10deg);
141
- transform: skew(10deg);
142
- display: inline-block;
143
- -webkit-transition: all .2s ease;
144
- transition: all .2s ease;
145
- width: 100%;
146
- text-align: center;
147
- position: absolute;
148
- line-height: 2em;
149
- font-weight: bold;
150
- color: #fff;
151
- text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
152
- }
153
- .tgl-skewed + .tgl-btn:after {
154
- left: 100%;
155
- content: attr(data-tg-on);
156
- }
157
- .tgl-skewed + .tgl-btn:before {
158
- left: 0;
159
- content: attr(data-tg-off);
160
- }
161
- .tgl-skewed + .tgl-btn:active {
162
- background: #888;
163
- }
164
- .tgl-skewed + .tgl-btn:active:before {
165
- left: -10%;
166
- }
167
- .tgl-skewed:checked + .tgl-btn {
168
- background: #00A699;
169
- }
170
- .tgl-skewed:checked + .tgl-btn:before {
171
- left: -100%;
172
- }
173
- .tgl-skewed:checked + .tgl-btn:after {
174
- left: 0;
175
- }
176
- .tgl-skewed:checked + .tgl-btn:active:after {
177
- left: 10%;
178
- }
179
- /* dropdown search icon */
180
- .right-inner-addon {
181
- position: relative;
182
- }
183
- .right-inner-addon input {
184
- padding-right: 30px;
185
- }
186
- .right-inner-addon span {
187
- position: absolute;
188
- right: 0px;
189
- color: gray;
190
- font-size: 1.4em;
191
- padding: 10px;
192
- pointer-events: none;
193
- }
194
- /* drop down search icon */
195
- /*mapping panel */
196
- .panel-group .panel{
197
- border-radius:0px;
198
- box-shadow:none;
199
- }
200
- /* mapping heading css */
201
- .panel-default > .panel-heading{
202
- border-color: #ddd;
203
- color: #333;
204
- }
205
- @media (max-width:360px){
206
- .download_btnexternal
207
- {
208
- margin-top:50px !important;
209
- }
210
- }
211
- .download_btnexternal {
212
-
213
- margin-top:150px;
214
- }
215
- /* form fieldset code */
216
- fieldset.scheduler-border {
217
- border: 1px solid #ddd !important;
218
- padding: 0 1.4em 0.7em 0.7em !important;
219
- margin: 0 0 1.5em 0 !important;
220
- -webkit-box-shadow: 0px 0px 0px 0px #000;
221
- box-shadow: 0px 0px 0px 0px #000;
222
- }
223
- legend.scheduler-border {
224
- font-size: 1.2em !important;
225
- /*font-weight: bold !important;*/
226
- text-align: left !important;
227
- width:auto;
228
- padding:2px 20px;
229
- background: #f1f1f1 none repeat scroll 0 0;
230
- border: 1px solid #d3d3d3;
231
- }
232
- .nav-tab-active{
233
- border-top:2px solid #00a699;
234
- }
235
- .menu_bar a{
236
- text-decoration: none;
237
- }
238
- @media (max-width:768px){
239
- .file-manager-list > ul{
240
- min-height: 15em;
241
- }
242
- }
243
- .close{
244
- opacity: 10 !important;
245
- }
246
- .right-arrow {
247
- position: relative;
248
- background: #00A699;
249
- }
250
- .right-arrow:after {
251
- content: '';
252
- display: block;
253
- position: absolute;
254
- left: 100%;
255
- top: 50%;
256
- margin-top: -10px;
257
- width: 0;
258
- height: 0;
259
- border-top: 10px solid transparent;
260
- border-right: 10px solid transparent;
261
- border-bottom: 10px solid transparent;
262
- border-left: 10px solid #00A699;
263
- }
264
- textarea.form-control {
265
- width: 100% !important;
266
- color: #3b3c41;
267
- -webkit-transition: all 125ms ease-in-out;
268
- transition: all 125ms ease-in-out;
269
- background-color: #ffffff;
270
- border-radius: 0.2em;
271
- border: 1px solid #e1e1e3;
272
- box-shadow: none;
273
- height: 80px;
274
- outline: none;
275
- font-size: 15px;
276
- }
277
- textarea.form-control:focus {
278
- background-color: #ffffff;
279
- border: 1px solid #00A699;
280
- box-shadow: none;
281
- }
282
- .file-upload-icon {
283
- position: relative;
284
- display: inline-block;
285
- }
286
- .file-upload-icon .file-upload-text {
287
- visibility: hidden;
288
- width: 230px;
289
- background-color: #00a699;
290
- color: #fff;
291
- text-align: center;
292
- border-radius: 6px;
293
- padding: 5px 0;
294
- position: absolute;
295
- z-index: 1;
296
- bottom: 125%;
297
- left: 0%;
298
- margin-left: -85px;
299
- opacity: 0;
300
- transition: opacity 1s;
301
- font-size: 13px;
302
- }
303
- .file-upload-icon .file-upload-text::after {
304
- content: "";
305
- position: absolute;
306
- top: 100%;
307
- left: 50%;
308
- margin-left: -5px;
309
- border-width: 5px;
310
- border-style: solid;
311
- border-color: #00a699 transparent transparent transparent;
312
- }
313
- .file-upload-icon:hover .file-upload-text {
314
- visibility: visible;
315
- opacity: 1;
316
- }
317
- .download-icon {
318
- position: relative;
319
- display: inline-block;
320
- }
321
- .download-icon .download-text {
322
- visibility: hidden;
323
- width: 90px;
324
- background-color: #00a699;
325
- color: #fff;
326
- text-align: center;
327
- border-radius: 6px;
328
- padding: 5px 0;
329
- position: absolute;
330
- z-index: 1 !important;
331
- bottom: 125%;
332
- left: 90%;
333
- margin-left: -60px;
334
- opacity: 0;
335
- transition: opacity 1s;
336
- }
337
- .download-icon .download-text::after {
338
- content: "";
339
- position: absolute;
340
- top: 100%;
341
- left: 50%;
342
- margin-left: -5px;
343
- border-width: 5px;
344
- border-style: solid;
345
- border-color: #00a699 transparent transparent transparent;
346
- }
347
- .download-icon:hover .download-text {
348
- visibility: visible;
349
- opacity: 1;
350
- }
351
- /* file manger download icon */
352
- .filemanager-download-icon {
353
- position: relative;
354
- display: inline-block;
355
- }
356
- .filemanager-download-icon .filemanager-download-text {
357
- visibility: hidden;
358
- width: 230px;
359
- background-color: #00a699;
360
- color: #fff;
361
- text-align: center;
362
- border-radius: 6px;
363
- padding: 5px 0;
364
- position: absolute;
365
- z-index: 1;
366
- bottom: 125%;
367
- left: 0%;
368
- margin-left: -100px;
369
- opacity: 0;
370
- transition: opacity 1s;
371
- font-size: 13px;
372
- }
373
- .filemanager-download-icon .filemanager-download-text::after {
374
- content: "";
375
- position: absolute;
376
- top: 100%;
377
- left: 50%;
378
- margin-left: -5px;
379
- border-width: 5px;
380
- border-style: solid;
381
- border-color: #00a699 transparent transparent transparent;
382
- }
383
- .filemanager-download-icon:hover .filemanager-download-text {
384
- visibility: visible;
385
- opacity: 1;
386
- }
387
- /* file manger delete all record icon */
388
- .filemanager-delete-all-icon {
389
- position: relative;
390
- display: inline-block;
391
- }
392
- .filemanager-delete-all-icon .filemanager-delete-all-text {
393
- visibility: hidden;
394
- width: 120px;
395
- background-color: #00a699;
396
- color: #fff;
397
- text-align: center;
398
- border-radius: 6px;
399
- padding: 5px 0;
400
- position: absolute;
401
- z-index: 1;
402
- bottom: 125%;
403
- left: 50%;
404
- margin-left: -60px;
405
- opacity: 0;
406
- transition: opacity 1s;
407
- font-size: 13px;
408
- }
409
- .filemanager-delete-all-icon .filemanager-delete-all-text::after {
410
- content: "";
411
- position: absolute;
412
- top: 100%;
413
- left: 50%;
414
- margin-left: -5px;
415
- border-width: 5px;
416
- border-style: solid;
417
- border-color: #00a699 transparent transparent transparent;
418
- }
419
- .filemanager-delete-all-icon:hover .filemanager-delete-all-text {
420
- visibility: visible;
421
- opacity: 1;
422
- }
423
- .mapping-close-btn{
424
- cursor: pointer;
425
- }
426
- /*.selectpicker > li > a:hover{
427
- background-color: rgb(0, 166, 153) !important;
428
- color: #FFFFFF;
429
- }*/
430
- .file-upload-icon {
431
- position: relative;
432
- display: inline-block;
433
- }
434
- .file-upload-icon .file-upload-text {
435
- visibility: hidden;
436
- width: 230px;
437
- background-color: #00a699;
438
- color: #fff;
439
- text-align: center;
440
- border-radius: 6px;
441
- padding: 5px 0;
442
- position: absolute;
443
- z-index: 1;
444
- bottom: 125%;
445
- left: 0%;
446
- margin-left: -85px;
447
- opacity: 0;
448
- transition: opacity 1s;
449
- font-size: 13px;
450
- }
451
- .file-upload-icon .file-upload-text::after {
452
- content: "";
453
- position: absolute;
454
- top: 100%;
455
- left: 50%;
456
- margin-left: -5px;
457
- border-width: 5px;
458
- border-style: solid;
459
- border-color: #00a699 transparent transparent transparent;
460
- }
461
- .file-upload-icon:hover .file-upload-text {
462
- visibility: visible;
463
- opacity: 1;
464
- }
465
- .download-icon {
466
- position: relative;
467
- display: inline-block;
468
- }
469
- .download-icon .download-text {
470
- visibility: hidden;
471
- width: 90px;
472
- background-color: #00a699;
473
- color: #fff;
474
- text-align: center;
475
- border-radius: 6px;
476
- padding: 5px 0;
477
- position: absolute;
478
- z-index: 1 !important;
479
- bottom: 125%;
480
- left: 90%;
481
- margin-left: -60px;
482
- opacity: 0;
483
- transition: opacity 1s;
484
- }
485
- .download-icon .download-text::after {
486
- content: "";
487
- position: absolute;
488
- top: 100%;
489
- left: 50%;
490
- margin-left: -5px;
491
- border-width: 5px;
492
- border-style: solid;
493
- border-color: #00a699 transparent transparent transparent;
494
- }
495
- .download-icon:hover .download-text {
496
- visibility: visible;
497
- opacity: 1;
498
- }
499
- /* file manger download icon */
500
- .filemanager-download-icon {
501
- position: relative;
502
- display: inline-block;
503
- }
504
- .filemanager-download-icon .filemanager-download-text {
505
- visibility: hidden;
506
- width: 230px;
507
- background-color: #00a699;
508
- color: #fff;
509
- text-align: center;
510
- border-radius: 6px;
511
- padding: 5px 0;
512
- position: absolute;
513
- z-index: 1;
514
- bottom: 125%;
515
- left: 0%;
516
- margin-left: -100px;
517
- opacity: 0;
518
- transition: opacity 1s;
519
- font-size: 13px;
520
- }
521
- .filemanager-download-icon .filemanager-download-text::after {
522
- content: "";
523
- position: absolute;
524
- top: 100%;
525
- left: 50%;
526
- margin-left: -5px;
527
- border-width: 5px;
528
- border-style: solid;
529
- border-color: #00a699 transparent transparent transparent;
530
- }
531
- .filemanager-download-icon:hover .filemanager-download-text {
532
- visibility: visible;
533
- opacity: 1;
534
- }
535
- /* file manger delete all record icon */
536
- .filemanager-delete-all-icon {
537
- position: relative;
538
- display: inline-block;
539
-
540
- }
541
- .filemanager-delete-all-icon .filemanager-delete-all-text {
542
- visibility: hidden;
543
- width: 120px;
544
- background-color: #00a699;
545
- color: #fff;
546
- text-align: center;
547
- border-radius: 6px;
548
- padding: 5px 0;
549
- position: absolute;
550
- z-index: 1;
551
- bottom: 125%;
552
- left: 50%;
553
- margin-left: -60px;
554
- opacity: 0;
555
- transition: opacity 1s;
556
- font-size: 13px;
557
- }
558
- .filemanager-delete-all-icon .filemanager-delete-all-text::after {
559
- content: "";
560
- position: absolute;
561
- top: 100%;
562
- left: 50%;
563
- margin-left: -5px;
564
- border-width: 5px;
565
- border-style: solid;
566
- border-color: #00a699 transparent transparent transparent;
567
- }
568
- .filemanager-delete-all-icon:hover .filemanager-delete-all-text {
569
- visibility: visible;
570
- opacity: 1;
571
- }
572
- .mapping-close-btn{
573
- cursor: pointer;
574
- }
575
- .uci_mapping_panel .tabs-left > li {
576
- font-size: 14px !important;
577
- }
578
- .setting-manager-list > ul > li, .file-manager-list > ul > li {
579
- font-size: 15px !important;
580
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/custom-style.css DELETED
@@ -1,1713 +0,0 @@
1
- /*--------------------------------------------------------
2
- Style Sheet for WP Ultimate CSV Importer Pro Plugin
3
- SCSS Version: 1.0
4
- Last modified: 28.11.2016
5
- Author: Smackcoders
6
- ----------------------------------------------------------*/
7
- /* Fonts Include */
8
- @import url("https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,500,700");
9
- @import url("https://fonts.googleapis.com/css?family=Roboto+Slab:100,300,400,700");
10
- @import url("https://fonts.googleapis.com/css?family=Montserrat:400,700");
11
- body {
12
- font-size: 10px !important; }
13
-
14
- /* Margin & Padding Start */
15
- .m0 {
16
- margin: 0px !important; }
17
-
18
- .mt0 {
19
- margin-top: 0px !important; }
20
-
21
- .mb0 {
22
- margin-bottom: 0px !important; }
23
-
24
- .ml0 {
25
- margin-left: 0px !important; }
26
-
27
- .mr0 {
28
- margin-right: 0px !important; }
29
-
30
- .p0 {
31
- padding: 0px !important; }
32
-
33
- .pt0 {
34
- padding-top: 0px !important; }
35
-
36
- .pb0 {
37
- padding-bottom: 0px !important; }
38
-
39
- .pl0 {
40
- padding-left: 0px !important; }
41
-
42
- .pr0 {
43
- padding-right: 0px !important; }
44
-
45
- .m5 {
46
- margin: 5px !important; }
47
-
48
- .mt5 {
49
- margin-top: 5px !important; }
50
-
51
- .mb5 {
52
- margin-bottom: 5px !important; }
53
-
54
- .ml5 {
55
- margin-left: 5px !important; }
56
-
57
- .mr5 {
58
- margin-right: 5px !important; }
59
-
60
- .p5 {
61
- padding: 5px !important; }
62
-
63
- .pt5 {
64
- padding-top: 5px !important; }
65
-
66
- .pb5 {
67
- padding-bottom: 5px !important; }
68
-
69
- .pl5 {
70
- padding-left: 5px !important; }
71
-
72
- .pr5 {
73
- padding-right: 5px !important; }
74
-
75
- .m10 {
76
- margin: 10px !important; }
77
-
78
- .mt10 {
79
- margin-top: 10px !important; }
80
-
81
- .mb10 {
82
- margin-bottom: 10px !important; }
83
-
84
- .ml10 {
85
- margin-left: 10px !important; }
86
-
87
- .mr10 {
88
- margin-right: 10px !important; }
89
-
90
- .p10 {
91
- padding: 10px !important; }
92
-
93
- .pt10 {
94
- padding-top: 10px !important; }
95
-
96
- .pb10 {
97
- padding-bottom: 10px !important; }
98
-
99
- .pl10 {
100
- padding-left: 10px !important; }
101
-
102
- .pr10 {
103
- padding-right: 10px !important; }
104
-
105
- .m15 {
106
- margin: 15px !important; }
107
-
108
- .mt15 {
109
- margin-top: 15px !important; }
110
-
111
- .mb15 {
112
- margin-bottom: 15px !important; }
113
-
114
- .ml15 {
115
- margin-left: 15px !important; }
116
-
117
- .mr15 {
118
- margin-right: 15px !important; }
119
-
120
- .p15 {
121
- padding: 15px !important; }
122
-
123
- .pt15 {
124
- padding-top: 15px !important; }
125
-
126
- .pb15 {
127
- padding-bottom: 15px !important; }
128
-
129
- .pl15 {
130
- padding-left: 15px !important; }
131
-
132
- .pr15 {
133
- padding-right: 15px !important; }
134
-
135
- .m20 {
136
- margin: 20px !important; }
137
-
138
- .mt20 {
139
- margin-top: 20px !important; }
140
-
141
- .mb20 {
142
- margin-bottom: 20px !important; }
143
-
144
- .ml20 {
145
- margin-left: 20px !important; }
146
-
147
- .mr20 {
148
- margin-right: 20px !important; }
149
-
150
- .p20 {
151
- padding: 20px !important; }
152
-
153
- .pt20 {
154
- padding-top: 20px !important; }
155
-
156
- .pb20 {
157
- padding-bottom: 20px !important; }
158
-
159
- .pl20 {
160
- padding-left: 20px !important; }
161
-
162
- .pr20 {
163
- padding-right: 20px !important; }
164
-
165
- .m25 {
166
- margin: 25px !important; }
167
-
168
- .mt25 {
169
- margin-top: 25px !important; }
170
-
171
- .mb25 {
172
- margin-bottom: 25px !important; }
173
-
174
- .ml25 {
175
- margin-left: 25px !important; }
176
-
177
- .mr25 {
178
- margin-right: 25px !important; }
179
-
180
- .p25 {
181
- padding: 25px !important; }
182
-
183
- .pt25 {
184
- padding-top: 25px !important; }
185
-
186
- .pb25 {
187
- padding-bottom: 25px !important; }
188
-
189
- .pl25 {
190
- padding-left: 25px !important; }
191
-
192
- .pr25 {
193
- padding-right: 25px !important; }
194
-
195
- .m30 {
196
- margin: 30px !important; }
197
-
198
- .mt30 {
199
- margin-top: 30px !important; }
200
-
201
- .mb30 {
202
- margin-bottom: 30px !important; }
203
-
204
- .ml30 {
205
- margin-left: 30px !important; }
206
-
207
- .mr30 {
208
- margin-right: 30px !important; }
209
-
210
- .p30 {
211
- padding: 30px !important; }
212
-
213
- .pt30 {
214
- padding-top: 30px !important; }
215
-
216
- .pb30 {
217
- padding-bottom: 30px !important; }
218
-
219
- .pl30 {
220
- padding-left: 30px !important; }
221
-
222
- .pr30 {
223
- padding-right: 30px !important; }
224
-
225
- .m35 {
226
- margin: 35px !important; }
227
-
228
- .mt35 {
229
- margin-top: 35px !important; }
230
-
231
- .mb35 {
232
- margin-bottom: 35px !important; }
233
-
234
- .ml35 {
235
- margin-left: 35px !important; }
236
-
237
- .mr35 {
238
- margin-right: 35px !important; }
239
-
240
- .p35 {
241
- padding: 35px !important; }
242
-
243
- .pt35 {
244
- padding-top: 35px !important; }
245
-
246
- .pb35 {
247
- padding-bottom: 35px !important; }
248
-
249
- .pl35 {
250
- padding-left: 35px !important; }
251
-
252
- .pr35 {
253
- padding-right: 35px !important; }
254
-
255
- .m40 {
256
- margin: 40px !important; }
257
-
258
- .mt40 {
259
- margin-top: 40px !important; }
260
-
261
- .mb40 {
262
- margin-bottom: 40px !important; }
263
-
264
- .ml40 {
265
- margin-left: 40px !important; }
266
-
267
- .mr40 {
268
- margin-right: 40px !important; }
269
-
270
- .p40 {
271
- padding: 40px !important; }
272
-
273
- .pt40 {
274
- padding-top: 40px !important; }
275
-
276
- .pb40 {
277
- padding-bottom: 40px !important; }
278
-
279
- .pl40 {
280
- padding-left: 40px !important; }
281
-
282
- .pr40 {
283
- padding-right: 40px !important; }
284
-
285
- .m45 {
286
- margin: 45px !important; }
287
-
288
- .mt45 {
289
- margin-top: 45px !important; }
290
-
291
- .mb45 {
292
- margin-bottom: 45px !important; }
293
-
294
- .ml45 {
295
- margin-left: 45px !important; }
296
-
297
- .mr45 {
298
- margin-right: 45px !important; }
299
-
300
- .p45 {
301
- padding: 45px !important; }
302
-
303
- .pt45 {
304
- padding-top: 45px !important; }
305
-
306
- .pb45 {
307
- padding-bottom: 45px !important; }
308
-
309
- .pl45 {
310
- padding-left: 45px !important; }
311
-
312
- .pr45 {
313
- padding-right: 45px !important; }
314
-
315
- .m50 {
316
- margin: 50px !important; }
317
-
318
- .mt50 {
319
- margin-top: 50px !important; }
320
-
321
- .mb50 {
322
- margin-bottom: 50px !important; }
323
-
324
- .ml50 {
325
- margin-left: 50px !important; }
326
-
327
- .mr50 {
328
- margin-right: 50px !important; }
329
-
330
- .p50 {
331
- padding: 50px !important; }
332
-
333
- .pt50 {
334
- padding-top: 50px !important; }
335
-
336
- .pb50 {
337
- padding-bottom: 50px !important; }
338
-
339
- .pl50 {
340
- padding-left: 50px !important; }
341
-
342
- .pr50 {
343
- padding-right: 50px !important; }
344
-
345
- /* Margin & Padding END */
346
- /* Buttons colors */
347
- .shaded {
348
- background: #fafafa; }
349
-
350
- .text-primary {
351
- color: #00A699; }
352
-
353
- .text-warning {
354
- color: #f0ad4e; }
355
-
356
- .text-danger {
357
- color: #E04B4A; }
358
-
359
- .text-info {
360
- color: #008080; }
361
-
362
- .text-secondary {
363
- color: #0073aa; }
364
-
365
- /* Buttons */
366
- .smack-btn {
367
- font-size: 14px;
368
- padding: 8px 20px;
369
- line-height: 1.5em;
370
- font-weight: 700;
371
- border-radius: 0;
372
- text-transform: uppercase;
373
- -webkit-transition: all 200ms ease;
374
- -moz-transition: all 200ms ease;
375
- -ms-transition: all 200ms ease;
376
- -o-transition: all 200ms ease;
377
- transition: all 200ms ease;
378
- font-family: 'Montserrat', sans-serif !important;
379
- border: none; }
380
- .smack-btn.smack-btn-primary {
381
- background-color: #00A699;
382
- border-color: #00A699;
383
- color: #ffffff; }
384
- .smack-btn.smack-btn-primary:hover {
385
- background-color: #178d7c;
386
- border-color: #178d7c; }
387
- .smack-btn.smack-btn-info {
388
- padding: 5px 10px;
389
- border-radius: 15px; }
390
- .smack-btn.btn-default {
391
- background: #ffffff;
392
- border: 1px solid #b2b2b2; }
393
- .smack-btn.btn-default:hover {
394
- background-color: #e5e5e5; }
395
- .smack-btn.btn-default:active, .smack-btn.btn-default.active {
396
- background-color: #e5e5e5;
397
- border: 1px solid #b2b2b2; }
398
- .smack-btn.btn-default:focus {
399
- background-color: #cccccc;
400
- border: 1px solid #b2b2b2; }
401
- .smack-btn.btn-default:disabled, .smack-btn.btn-default.disabled, .smack-btn.btn-default[disabled] {
402
- background-color: #b3b3b3; }
403
- .smack-btn.smack-btn-warning {
404
- background-color: #f0ad4e;
405
- border-color: #f0ad4e;
406
- color: #ffffff; }
407
- .smack-btn.smack-btn-warning:hover {
408
- background-color: #ec971f; }
409
- .smack-btn.smack-btn-warning:active, .smack-btn.smack-btn-warning.active {
410
- background-color: #ec971f;
411
- border: 1px solid #ec971f; }
412
- .smack-btn.smack-btn-warning:focus {
413
- background-color: #ec971f;
414
- border: 1px solid #ec971f; }
415
- .smack-btn.smack-btn-warning:disabled, .smack-btn.smack-btn-warning.disabled, .smack-btn.smack-btn-warning[disabled] {
416
- background: #f0ad4e;
417
- border-color: #f0ad4e; }
418
- .smack-btn.smack-btn-danger {
419
- background-color: #E04B4A;
420
- border-color: #E04B4A;
421
- color: #ffffff; }
422
- .smack-btn.smack-btn-danger:hover {
423
- background-color: #d32524; }
424
- .smack-btn.smack-btn-danger:active, .smack-btn.smack-btn-danger.active {
425
- background-color: #d32524;
426
- border: 1px solid #d32524; }
427
- .smack-btn.smack-btn-danger:focus {
428
- background-color: #d32524;
429
- border: 1px solid #d32524; }
430
- .smack-btn.smack-btn-danger:disabled, .smack-btn.smack-btn-danger.disabled, .smack-btn.smack-btn-danger[disabled] {
431
- background: #E04B4A;
432
- border-color: #E04B4A; }
433
-
434
- .smack-btn.disabled, .smack-btn[disabled], fieldset[disabled] .smack-btn {
435
- pointer-events: none;
436
- cursor: not-allowed;
437
- filter: alpha(opacity=65);
438
- -webkit-box-shadow: none;
439
- box-shadow: none;
440
- opacity: .65; }
441
-
442
- /* Buttons CSS End */
443
- .btn-radius {
444
- border-radius: 30px; }
445
-
446
- /* smack_btn btn-info */
447
- /* Table CSS */
448
- .table {
449
- font-size: 14px;
450
- /* Table CSS End */ }
451
- .table > thead > tr > th, .table > thead > tr > td, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > th, .table > tfoot > tr > td {
452
- border: 0px; }
453
- .table.table-manager {
454
- height: 100px;
455
- overflow-y: scroll;
456
- width: 100%;
457
- padding-left: 20px; }
458
- .table.table-manager tr {
459
- border-bottom: 1px solid #E5E5E5 !important;
460
- /* ICons Style */ }
461
- .table.table-manager tr > th {
462
- border-top: 1px solid #d0d4d9 !important; }
463
- .table.table-manager tr > td {
464
- text-align: left;
465
- padding: 0px;
466
- border-bottom: 0px !important; }
467
- .table.table-manager tr > td > p {
468
- padding: 20px 0 0px 10px !important;
469
- text-align: left !important;
470
- line-height: 1px !important;
471
- color: #303030 !important; }
472
- .table.table-manager tr > th:first-child, .table.table-manager tr > td:first-child {
473
- padding-left: 10px; }
474
- @media only screen and (max-width: 1023px) {
475
- .table.table-manager tr .bootstrap-select {
476
- padding-top: 10px; } }
477
- .table.table-manager tr [class^="icon-"],
478
- .table.table-manager tr [class*=" icon-"] {
479
- padding: 0px 5px;
480
- font-size: 25px !important; }
481
- .table.table-manager tr [class^="icon-"]:hover,
482
- .table.table-manager tr [class*=" icon-"]:hover {
483
- color: #00A699; }
484
- @media only screen and (max-width: 767px) {
485
- .table.table-manager tr [class^="icon-"],
486
- .table.table-manager tr [class*=" icon-"] {
487
- padding: 0px 5px 0px 4px; } }
488
-
489
- /* Table Fixed */
490
- .table-fixed {
491
- width: 100%; }
492
- .table-fixed thead, .table-fixed tbody, .table-fixed tr, .table-fixed td, .table-fixed th {
493
- display: block; }
494
- .table-fixed tr:after {
495
- content: ' ';
496
- display: block;
497
- visibility: hidden;
498
- clear: both; }
499
- .table-fixed thead th {
500
- height: 30px;
501
- /*text-align: left;*/ }
502
- .table-fixed tbody {
503
- height: 500px;
504
- overflow-y: hidden; }
505
- .table-fixed tbody:hover {
506
- overflow-y: auto; }
507
- .table-fixed thead {
508
- /* fallback */ }
509
- .table-fixed tbody td, .table-fixed thead th {
510
- float: left; }
511
-
512
- .table > tbody + tbody {
513
- border-top: 0px !important; }
514
-
515
- /* PANELS */
516
- .panel,
517
- .panel-heading {
518
- border-radius: 0px; }
519
-
520
- .panel.panel-info > .panel-heading > .panel-title {
521
- font-family: 'Roboto Slab', 'Roboto', Helvetica, Arial, sans-serif;
522
- font-size: 20px;
523
- font-weight: 100; }
524
-
525
- element {
526
- font-size: 25px;
527
- font-weight: 300;
528
- font-family: 'Roboto Slab', serif; }
529
-
530
- element {
531
- background: #F4FBFF;
532
- text-transform: uppercase;
533
- color: #303030; }
534
-
535
- .wp_ultimate_csv_importer_pro {
536
- font-family: 'Roboto', Helvetica, sans-serif !important; }
537
- .wp_ultimate_csv_importer_pro a {
538
- font-size: 14px;
539
- text-decoration: none !important; }
540
- .wp_ultimate_csv_importer_pro h4 {
541
- font-size: 18px;
542
- color: #333333; }
543
- .wp_ultimate_csv_importer_pro p {
544
- font-size: 13px;
545
- color: #666666; }
546
- .wp_ultimate_csv_importer_pro h3 {
547
- font-family: 'Roboto Slab', 'Roboto', Helvetica, Arial, sans-serif;
548
- font-size: 22px; }
549
-
550
- .no-padding {
551
- padding: 0 !important; }
552
-
553
- .no-margin {
554
- margin: 0 !important; }
555
-
556
- h1 {
557
- font-size: 2.2em; }
558
-
559
- label {
560
- font-size: 15px;
561
- color: #303030; }
562
-
563
- .test-bg {
564
- background: #303030;
565
- min-height: 500px; }
566
-
567
- /* clearfix */
568
- .clearfix:after {
569
- content: ".";
570
- display: block;
571
- height: 0;
572
- clear: both;
573
- visibility: hidden; }
574
-
575
- .clearfix {
576
- display: inline-block; }
577
-
578
- /* Hides from IE-mac \*/
579
- * html .clearfix {
580
- height: 1%; }
581
-
582
- .clearfix {
583
- display: block; }
584
-
585
- /* End hide from IE-mac */
586
- .panel.upload-view {
587
- background-color: #ffffff; }
588
- .panel.upload-view .panel-body {
589
- padding-top: 0;
590
- padding-bottom: 0; }
591
-
592
- .documention ul li {
593
- font-size: 1.4em; }
594
-
595
- /* Upload Tabs*/
596
- #wpfooter {
597
- position: relative; }
598
-
599
- div.bhoechie-tab-container {
600
- z-index: 10;
601
- background-color: #ffffff;
602
- padding: 0 !important;
603
- border-radius: 4px;
604
- -moz-border-radius: 4px;
605
- /*-webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
606
- box-shadow: 0 6px 12px rgba(0,0,0,.175);
607
- -moz-box-shadow: 0 6px 12px rgba(0,0,0,.175);*/
608
- background-clip: padding-box;
609
- opacity: 0.97;
610
- filter: alpha(opacity=97);
611
- min-height: 40em; }
612
-
613
- div.bhoechie-tab-menu div.list-group a.list-group-item {
614
- padding-top: 25px;
615
- padding-right: 15px;
616
- padding-bottom: 25px;
617
- padding-left: 15px;
618
- border-radius: 0; }
619
- div.bhoechie-tab-menu div.list-group a.list-group-item [class^="icon-"], div.bhoechie-tab-menu div.list-group a.list-group-item [class*=" icon-"] {
620
- padding-top: 0px;
621
- padding-right: 10px;
622
- padding-bottom: 0px;
623
- padding-left: 0px;
624
- font-size: 25px; }
625
- div.bhoechie-tab-menu div.list-group a.list-group-item.manager-page-list {
626
- padding-top: 12px;
627
- padding-right: 15px;
628
- padding-bottom: 15px;
629
- padding-left: 15px; }
630
-
631
- div.bhoechie-tab-menu div.list-group > a .glyphicon,
632
- div.bhoechie-tab-menu div.list-group > a .fa {
633
- color: #00A699; }
634
-
635
- div.bhoechie-tab-menu div.list-group > a:first-child {
636
- border-top-right-radius: 0;
637
- -moz-border-top-right-radius: 0; }
638
-
639
- div.bhoechie-tab-menu div.list-group > a:last-child {
640
- border-bottom-right-radius: 0;
641
- -moz-border-bottom-right-radius: 0; }
642
-
643
- div.bhoechie-tab-menu div.list-group > a.active,
644
- div.bhoechie-tab-menu div.list-group > a.active .glyphicon,
645
- div.bhoechie-tab-menu div.list-group > a.active .fa {
646
- background-color: #00A699;
647
- background-image: #00A699;
648
- color: #fff; }
649
-
650
- div.bhoechie-tab-menu div.list-group > a.active:after {
651
- content: '';
652
- position: absolute;
653
- left: 100%;
654
- top: 50%;
655
- margin-top: -13px;
656
- border-left: 0;
657
- border-bottom: 13px solid transparent;
658
- border-top: 13px solid transparent;
659
- border-left: 10px solid #00A699; }
660
-
661
- div.bhoechie-tab-menu div.list-group > a.active.manager-active:after {
662
- border: none; }
663
-
664
- div.bhoechie-tab-content {
665
- background-color: #ffffff;
666
- /* border: 1px solid #eeeeee; */
667
- padding-left: 20px;
668
- padding-top: 20px; }
669
-
670
- div.bhoechie-tab div.bhoechie-tab-content:not(.active) {
671
- display: none; }
672
-
673
- .set-icon-padding {
674
- padding-right: 20px; }
675
-
676
- .upload-view .panel-heading h1 {
677
- font-weight: 400;
678
- padding: 0;
679
- margin: 0; }
680
- .upload-view .file_upload {
681
- display: block;
682
- margin: 12em auto 0 auto;
683
- width: 100px;
684
- height: 50px; }
685
-
686
- .bhoechie-tab-menu a {
687
- font-size: 1.5em;
688
- font-weight: bold; }
689
-
690
- .list-group-item.active,
691
- .list-group-item.active:hover,
692
- .list-group-item.active:focus {
693
- border: 0 !important;
694
- border-color: #00A699; }
695
-
696
- input[type="text"].form-control {
697
- width: 100% !important;
698
- color: #3b3c41;
699
- transition: all 125ms ease-in-out;
700
- background-color: #fff;
701
- border-radius: 0.2em;
702
- border: 1px solid #e1e1e3;
703
- box-shadow: none;
704
- height: 42px;
705
- outline: none;
706
- font-size: 15px; }
707
- input[type="text"].form-control:focus {
708
- background-color: #fff;
709
- border: 1px solid #00A699;
710
- box-shadow: none; }
711
-
712
- .bhoechie-tab-content .col-md-6 {
713
- padding: 0 2em; }
714
- .bhoechie-tab-content .hint_fonts {
715
- text-align: left;
716
- font-size: 1.2em !important;
717
- color: #00A699;
718
- opacity: 0.6; }
719
- .bhoechie-tab-content label {
720
- font-size: 1.4em;
721
- text-align: left;
722
- margin-bottom: 0.5em;
723
- font-weight: bold;
724
- color: #303030; }
725
-
726
- /* Upload Tabs End*/
727
- #btn-primary {
728
- position: absolute;
729
- bottom: 0 !important;
730
- right: 7.5em; }
731
-
732
- /* AJAX LOADER CSS */
733
- .spinner {
734
- position: absolute;
735
- width: 100%;
736
- height: 100%;
737
- background: #333;
738
- z-index: 99999; }
739
-
740
- .ajaxloader {
741
- display: block;
742
- position: absolute;
743
- width: 25px;
744
- height: 25px;
745
- left: 50%;
746
- top: 15em;
747
- margin: 0 0 0 -10px;
748
- border: 4px solid #00A699;
749
- border-right-color: transparent;
750
- border-radius: 50%;
751
- /*box-shadow: 0 0 25px 2px #00A699;*/
752
- -webkit-animation: spin 1s linear infinite;
753
- -moz-animation: spin 1s linear infinite;
754
- -ms-animation: spin 1s linear infinite;
755
- -o-animation: spin 1s linear infinite;
756
- animation: spin 1s linear infinite; }
757
-
758
- @-webkit-keyframes spin {
759
- from {
760
- transform: rotate(0deg);
761
- opacity: 0.2; }
762
- 50% {
763
- transform: rotate(180deg);
764
- opacity: 1; }
765
- to {
766
- transform: rotate(360deg);
767
- opacity: 0.2; } }
768
- @-moz-keyframes spin {
769
- from {
770
- -moz-transform: rotate(0deg);
771
- opacity: 0.4; }
772
- 50% {
773
- -moz-transform: rotate(180deg);
774
- opacity: 1; }
775
- to {
776
- -moz-transform: rotate(360deg);
777
- opacity: 0.4; } }
778
- @-ms-keyframes spin {
779
- from {
780
- -ms-transform: rotate(0deg);
781
- opacity: 0.4; }
782
- 50% {
783
- -ms-transform: rotate(180deg);
784
- opacity: 1; }
785
- to {
786
- -ms-transform: rotate(360deg);
787
- opacity: 0.4; } }
788
- @-o-keyframes spin {
789
- from {
790
- -o-transform: rotate(0deg);
791
- opacity: 0.4; }
792
- 50% {
793
- -o-transform: rotate(180deg);
794
- opacity: 1; }
795
- to {
796
- -o-transform: rotate(360deg);
797
- opacity: 0.4; } }
798
- @keyframes spin {
799
- from {
800
- transform: rotate(0deg);
801
- opacity: 0.2; }
802
- 50% {
803
- transform: rotate(180deg);
804
- opacity: 1; }
805
- to {
806
- transform: rotate(360deg);
807
- opacity: 0.2; } }
808
- /* AJAX LOADER CSS END */
809
- /* Checkbox */
810
- .icheckbox_square-green,
811
- .iradio_square-green {
812
- margin-right: 0.5em !important; }
813
-
814
- /* Checkbox End */
815
- /* File Manager Left Sidebar */
816
- .file-manager-list {
817
- font-size: 14px;
818
- font-weight: normal;
819
- color: #333;
820
- text-decoration: none; }
821
- .file-manager-list > ul {
822
- width: 100%;
823
- cursor: pointer;
824
- list-style-type: none;
825
- z-index: 10;
826
- background-color: #ffffff;
827
- padding: 0 !important;
828
- border-radius: 0;
829
- background-clip: padding-box;
830
- opacity: 0.97;
831
- filter: alpha(opacity=97);
832
- min-height: 40em;
833
- font-size: 20px; }
834
- .file-manager-list > ul > li {
835
- border-right: 1px solid #e7e7e7;
836
- border-bottom: 1px solid #e7e7e7;
837
- background: #fff;
838
- margin: 0 !important; }
839
- .file-manager-list > ul > li [class^="icon-"], .file-manager-list > ul > li [class*=" icon-"] {
840
- padding-top: 0px;
841
- padding-right: 10px;
842
- padding-bottom: 0px;
843
- padding-left: 0px;
844
- font-size: 25px; }
845
- .file-manager-list > ul > li.selected, .file-manager-list > ul > li:hover {
846
- background-color: #00A699;
847
- background-image: #00A699;
848
- color: #ffffff; }
849
- .file-manager-list > ul > li.selected a, .file-manager-list > ul > li:hover a {
850
- color: #ffffff; }
851
- .file-manager-list > ul > li > a {
852
- margin: 0px;
853
- display: block;
854
- width: 100%;
855
- height: 100%;
856
- text-decoration: none;
857
- color: #303030;
858
- padding-top: 12px;
859
- padding-right: 0px;
860
- padding-bottom: 15px;
861
- padding-left: 40px; }
862
- .file-manager-list > ul > li > a:hover {
863
- color: #ffffff; }
864
-
865
- /* File Manager Left Sidebar End */
866
- /* Table tbody Scroll Style */
867
- .scrol-div {
868
- max-height: 600px;
869
- overflow-y: scroll;
870
- border-bottom: 1px solid #d0d4d9; }
871
-
872
- .scrollbar {
873
- margin-left: 30px;
874
- float: left;
875
- height: 300px;
876
- background: #F5F5F5;
877
- overflow-y: scroll;
878
- overflow-x: hidden;
879
- margin-bottom: 25px; }
880
-
881
- /*
882
- * STYLE 1
883
- */
884
- #style-1::-webkit-scrollbar-track {
885
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
886
- border-radius: 10px;
887
- background-color: #F5F5F5; }
888
-
889
- #style-1::-webkit-scrollbar {
890
- width: 12px;
891
- background-color: #F5F5F5; }
892
-
893
- #style-1::-webkit-scrollbar-thumb {
894
- border-radius: 10px;
895
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
896
- background-color: #555; }
897
-
898
- /*
899
- * STYLE 2
900
- */
901
- #style-2::-webkit-scrollbar-track {
902
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
903
- border-radius: 10px;
904
- background-color: #F5F5F5; }
905
-
906
- #style-2::-webkit-scrollbar {
907
- width: 12px;
908
- background-color: #F5F5F5; }
909
-
910
- #style-2::-webkit-scrollbar-thumb {
911
- border-radius: 10px;
912
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
913
- background-color: #D62929; }
914
-
915
- /*
916
- * STYLE 3
917
- */
918
- #style-3::-webkit-scrollbar-track {
919
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
920
- background-color: #F5F5F5; }
921
-
922
- #style-3::-webkit-scrollbar {
923
- width: 6px;
924
- background-color: #F5F5F5; }
925
-
926
- #style-3::-webkit-scrollbar-thumb {
927
- background-color: #000000; }
928
-
929
- /*
930
- * STYLE 4
931
- */
932
- #style-4::-webkit-scrollbar-track {
933
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
934
- background-color: #F5F5F5; }
935
-
936
- #style-4::-webkit-scrollbar {
937
- width: 10px;
938
- background-color: #F5F5F5; }
939
-
940
- #style-4::-webkit-scrollbar-thumb {
941
- background-color: #000000;
942
- border: 2px solid #555555; }
943
-
944
- /*
945
- * STYLE 5
946
- */
947
- #style-5::-webkit-scrollbar-track {
948
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
949
- background-color: #F5F5F5; }
950
-
951
- #style-5::-webkit-scrollbar {
952
- width: 10px;
953
- background-color: #F5F5F5; }
954
-
955
- #style-5::-webkit-scrollbar-thumb {
956
- background-color: #0ae;
957
- background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.5, transparent), to(transparent)); }
958
-
959
- /*
960
- * STYLE 6
961
- */
962
- #style-6::-webkit-scrollbar-track {
963
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
964
- background-color: #F5F5F5; }
965
-
966
- #style-6::-webkit-scrollbar {
967
- width: 10px;
968
- background-color: #F5F5F5; }
969
-
970
- #style-6::-webkit-scrollbar-thumb {
971
- background-color: #F90;
972
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); }
973
-
974
- /*
975
- * STYLE 7
976
- */
977
- #style-7::-webkit-scrollbar-track {
978
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
979
- background-color: #F5F5F5;
980
- border-radius: 10px; }
981
-
982
- #style-7::-webkit-scrollbar {
983
- width: 10px;
984
- background-color: #F5F5F5; }
985
-
986
- #style-7::-webkit-scrollbar-thumb {
987
- border-radius: 10px;
988
- background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.44, #7a99d9), color-stop(0.72, #497dbd), color-stop(0.86, #1c3a94)); }
989
-
990
- /*
991
- * STYLE 8
992
- */
993
- #style-8::-webkit-scrollbar-track {
994
- border: 1px solid black;
995
- background-color: #F5F5F5; }
996
-
997
- #style-8::-webkit-scrollbar {
998
- width: 10px;
999
- background-color: #F5F5F5; }
1000
-
1001
- #style-8::-webkit-scrollbar-thumb {
1002
- background-color: #000000; }
1003
-
1004
- /*
1005
- * STYLE 9
1006
- */
1007
- #style-9::-webkit-scrollbar-track {
1008
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
1009
- background-color: #F5F5F5; }
1010
-
1011
- #style-9::-webkit-scrollbar {
1012
- width: 10px;
1013
- background-color: #F5F5F5; }
1014
-
1015
- #style-9::-webkit-scrollbar-thumb {
1016
- background-color: #F90;
1017
- background-image: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); }
1018
-
1019
- /*
1020
- * STYLE 10
1021
- */
1022
- #style-10::-webkit-scrollbar-track {
1023
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
1024
- background-color: #F5F5F5;
1025
- border-radius: 10px; }
1026
-
1027
- #style-10::-webkit-scrollbar {
1028
- width: 10px;
1029
- background-color: #F5F5F5; }
1030
-
1031
- #style-10::-webkit-scrollbar-thumb {
1032
- background-color: #AAA;
1033
- border-radius: 10px;
1034
- background-image: -webkit-linear-gradient(90deg, rgba(0, 0, 0, 0.2) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.2) 75%, transparent 75%, transparent); }
1035
-
1036
- /*
1037
- * STYLE 11
1038
- */
1039
- #style-11::-webkit-scrollbar-track {
1040
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
1041
- background-color: #F5F5F5;
1042
- border-radius: 10px; }
1043
-
1044
- #style-11::-webkit-scrollbar {
1045
- width: 10px;
1046
- background-color: #F5F5F5; }
1047
-
1048
- #style-11::-webkit-scrollbar-thumb {
1049
- background-color: #3366FF;
1050
- border-radius: 10px;
1051
- background-image: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0.5) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.5) 75%, transparent 75%, transparent); }
1052
-
1053
- /*
1054
- * STYLE 12
1055
- */
1056
- #style-12::-webkit-scrollbar-track {
1057
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.9);
1058
- border-radius: 10px;
1059
- background-color: #444444; }
1060
-
1061
- #style-12::-webkit-scrollbar {
1062
- width: 12px;
1063
- background-color: #F5F5F5; }
1064
-
1065
- #style-12::-webkit-scrollbar-thumb {
1066
- border-radius: 10px;
1067
- background-color: #D62929;
1068
- background-image: -webkit-linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.4) 50%, transparent, transparent); }
1069
-
1070
- /*
1071
- * STYLE 13
1072
- */
1073
- #style-13::-webkit-scrollbar-track {
1074
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.9);
1075
- border-radius: 10px;
1076
- background-color: #CCCCCC; }
1077
-
1078
- #style-13::-webkit-scrollbar {
1079
- width: 12px;
1080
- background-color: #F5F5F5; }
1081
-
1082
- #style-13::-webkit-scrollbar-thumb {
1083
- border-radius: 10px;
1084
- background-color: #D62929;
1085
- background-image: -webkit-linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.4) 50%, transparent, transparent); }
1086
-
1087
- /*
1088
- * STYLE 14
1089
- */
1090
- #style-14::-webkit-scrollbar-track {
1091
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.6);
1092
- background-color: #CCCCCC; }
1093
-
1094
- #style-14::-webkit-scrollbar {
1095
- width: 10px;
1096
- background-color: #F5F5F5; }
1097
-
1098
- #style-14::-webkit-scrollbar-thumb {
1099
- background-color: #FFF;
1100
- background-image: -webkit-linear-gradient(90deg, black 0%, black 25%, transparent 100%, black 75%, transparent); }
1101
-
1102
- /*
1103
- * STYLE 15
1104
- */
1105
- #style-15::-webkit-scrollbar-track {
1106
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
1107
- background-color: #F5F5F5;
1108
- border-radius: 10px; }
1109
-
1110
- #style-15::-webkit-scrollbar {
1111
- width: 10px;
1112
- background-color: #F5F5F5; }
1113
-
1114
- #style-15::-webkit-scrollbar-thumb {
1115
- border-radius: 10px;
1116
- background-color: #FFF;
1117
- background-image: -webkit-gradient(linear, 40% 0%, 75% 84%, from(#4D9C41), to(#19911D), color-stop(0.6, #54DE5D)); }
1118
-
1119
- /*
1120
- * STYLE 16
1121
- */
1122
- #style-16::-webkit-scrollbar-track {
1123
- -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
1124
- background-color: #F5F5F5;
1125
- border-radius: 10px; }
1126
-
1127
- #style-16::-webkit-scrollbar {
1128
- width: 10px;
1129
- background-color: #F5F5F5; }
1130
-
1131
- #style-16::-webkit-scrollbar-thumb {
1132
- border-radius: 10px;
1133
- background-color: #FFF;
1134
- background-image: -webkit-linear-gradient(top, #e4f5fc 0%, #bfe8f9 50%, #9fd8ef 51%, #2ab0ed 100%); }
1135
-
1136
- /* */
1137
- /* Table tbody Scroll Style End */
1138
- /* Setting Manager Left Sidebar */
1139
- .setting-manager-list {
1140
- font-size: 14px;
1141
- font-weight: normal;
1142
- color: #333;
1143
- text-decoration: none; }
1144
- .setting-manager-list > h4, .setting-manager-list p {
1145
- color: red; }
1146
- .setting-manager-list > ul {
1147
- width: 100%;
1148
- cursor: pointer;
1149
- list-style-type: none;
1150
- z-index: 10;
1151
- background-color: #ffffff;
1152
- padding: 0 !important;
1153
- border-radius: 0;
1154
- background-clip: padding-box;
1155
- opacity: 0.97;
1156
- filter: alpha(opacity=97);
1157
- font-size: 17px; }
1158
- .setting-manager-list > ul > li {
1159
- border-right: 1px solid #e7e7e7;
1160
- border-bottom: 1px solid #e7e7e7;
1161
- background: #fff;
1162
- margin: 0 !important;
1163
- padding-top: 12px;
1164
- padding-right: 0px;
1165
- padding-bottom: 15px;
1166
- padding-left: 20px; }
1167
- .setting-manager-list > ul > li [class^="icon-"], .setting-manager-list > ul > li [class*=" icon-"] {
1168
- padding-top: 7px;
1169
- padding-right: 5px;
1170
- padding-bottom: 0px;
1171
- padding-left: 0px;
1172
- font-size: 19px;
1173
- display: inline-block; }
1174
- .setting-manager-list > ul > li.selected, .setting-manager-list > ul > li:hover {
1175
- background-color: #00A699;
1176
- background-image: #00A699;
1177
- color: #ffffff; }
1178
- .setting-manager-list > ul > li.selected a, .setting-manager-list > ul > li:hover a {
1179
- color: #ffffff; }
1180
- .setting-manager-list > ul > li > a {
1181
- margin: 0px;
1182
- display: block;
1183
- width: 100%;
1184
- height: 100%;
1185
- color: #303030; }
1186
- .setting-manager-list > ul > li > a:hover {
1187
- color: #ffffff; }
1188
-
1189
- /* Setting Manager Left Sidebar End */
1190
- .csv-importer-heading {
1191
- font-family: 'Roboto Slab', 'Roboto', Helvetica, Arial, sans-serif;
1192
- font-size: 22px;
1193
- color: #333;
1194
- font-weight: 400;
1195
- line-height: 26px; }
1196
-
1197
- /* Database Optimization */
1198
- ul.database-optimization > li {
1199
- padding: 5px 0;
1200
- font-size: 13px; }
1201
-
1202
- /**
1203
- * Tooltip Styles
1204
- */
1205
- .tooltip {
1206
- left: 0 !important;
1207
- top: 0 !important;
1208
- cursor: pointer;
1209
- display: block; }
1210
-
1211
- /* MODEL BOX Scedule Page */
1212
- .modal {
1213
- z-index: 9999;
1214
- top: 30%;
1215
- left: 20%; }
1216
- .modal .modal-dialog {
1217
- width: 100%; }
1218
-
1219
- /* --------------------------------------------------------
1220
- New Mapping Section [WP Ultimate CSV Importer Pro Plugin]
1221
- Last modified: 14.02.2017
1222
- Author: Smackcoders
1223
- ----------------------------------------------------------*/
1224
- .uci_mapping_panel {
1225
- font-family: 'Roboto', Helvetica, Arial, sans-serif; }
1226
- .uci_mapping_panel h4 {
1227
- padding-left: 20px;
1228
- font-size: 17px;
1229
- color: #0073aa;
1230
- padding-top: 10px; }
1231
- .uci_mapping_panel h6 {
1232
- font-size: 14px;
1233
- color: #0073aa; }
1234
- .uci_mapping_panel .form-control {
1235
- margin-bottom: 15px; }
1236
- .uci_mapping_panel .panel {
1237
- border: 1px solid #ddd;
1238
- border-radius: 4px !important;
1239
- padding: 0px; }
1240
- .uci_mapping_panel .panel .panel-heading {
1241
- cursor: pointer; }
1242
- .uci_mapping_panel .panel #ecom_meta_fieldstoggle.panel-body {
1243
- padding: 0px; }
1244
- .uci_mapping_panel .csv-importer-heading {
1245
- font-family: 'Roboto', Helvetica, Arial, sans-serif;
1246
- font-size: 18px;
1247
- color: #333;
1248
- font-weight: 400;
1249
- line-height: 30px; }
1250
- .uci_mapping_panel label {
1251
- font-size: 13px !important;
1252
- cursor: auto;
1253
- margin-top: 5px; }
1254
- .uci_mapping_panel [class^="icon-"],
1255
- .uci_mapping_panel [class*=" icon-"] {
1256
- font-size: 25px;
1257
- color: #ccc; }
1258
- .uci_mapping_panel .panel {
1259
- border-radius: 4px; }
1260
- .uci_mapping_panel .wpallimport-help {
1261
- display: flex;
1262
- align-items: center;
1263
- justify-content: center;
1264
- margin-top: 10px !important; }
1265
- .uci_mapping_panel input[type="radio"] {
1266
- margin-top: -1px;
1267
- vertical-align: middle;
1268
- width: 300px; }
1269
- .uci_mapping_panel .table {
1270
- margin-bottom: 0px; }
1271
- .uci_mapping_panel .table tr th {
1272
- text-align: center; }
1273
- .uci_mapping_panel .tabs-left > li {
1274
- float: none;
1275
- margin: 0px;
1276
- padding: 0;
1277
- border: 1px solid #eee;
1278
- border-right: 0px;
1279
- border-top: 0px;
1280
- font-size: 15px; }
1281
- .uci_mapping_panel .tabs-left > li > a {
1282
- border-radius: 0px;
1283
- display: block;
1284
- width: 100%;
1285
- height: 100%;
1286
- border-radius: 0px;
1287
- color: #303030; }
1288
- .uci_mapping_panel .tabs-left > li.active > a {
1289
- border-bottom-color: #ddd;
1290
- border-right-color: transparent;
1291
- background: #00A699;
1292
- border: none;
1293
- border-radius: 0px !important;
1294
- margin: 0px;
1295
- color: #fff; }
1296
- .uci_mapping_panel .tabs-left > li.active > a:hover, .uci_mapping_panel .tabs-left > li.active > a:focus {
1297
- border-bottom-color: #ddd;
1298
- border-right-color: transparent;
1299
- background: #00A699;
1300
- border: none;
1301
- margin: 0px; }
1302
- .uci_mapping_panel .tabs-left > li.active > a [class^="icon-"],
1303
- .uci_mapping_panel .tabs-left > li.active > a [class*=" icon-"] {
1304
- color: #fff; }
1305
- .uci_mapping_panel .tabs-left > li [class^="icon-"],
1306
- .uci_mapping_panel .tabs-left > li [class*=" icon-"] {
1307
- padding-top: 7px;
1308
- padding-right: 5px;
1309
- padding-bottom: 0px;
1310
- padding-left: 0px;
1311
- font-size: 19px;
1312
- display: inline-block;
1313
- color: #303030; }
1314
- .uci_mapping_panel .nav-tabs > li > a:hover {
1315
- line-height: 1.42857143;
1316
- border: 1px solid transparent;
1317
- background: #00A699;
1318
- color: #fff;
1319
- border-radius: 0px; }
1320
- .uci_mapping_panel .tabs-left > li.active > a::after {
1321
- content: "";
1322
- position: absolute;
1323
- top: 10px;
1324
- right: -10px;
1325
- border-top: 10px solid transparent;
1326
- border-bottom: 10px solid transparent;
1327
- display: block;
1328
- width: 0; }
1329
-
1330
- .route-loader-container {
1331
- bottom: 0;
1332
- right: 0;
1333
- left: 0;
1334
- position: relative;
1335
- top: 0px;
1336
- visibility: hidden;
1337
- z-index: 10;
1338
- transition: visibility 0s .6s;
1339
- opacity: 1; }
1340
- .route-loader-container.active {
1341
- opacity: 1;
1342
- visibility: visible;
1343
- transition-delay: 0s; }
1344
- .route-loader-container.active::before {
1345
- opacity: 1;
1346
- -webkit-animation: loading-bar 5s cubic-bezier(0.1, 0.55, 0.15, 0.5);
1347
- animation: loading-bar 5s cubic-bezier(0.1, 0.55, 0.15, 0.5); }
1348
- .route-loader-container::before {
1349
- content: '';
1350
- display: block;
1351
- width: 100%;
1352
- height: 2px;
1353
- background: #00A699;
1354
- box-shadow: 0 1px 2px #94A4AD;
1355
- opacity: 0;
1356
- -webkit-transform: scaleX(1);
1357
- transform: scaleX(1);
1358
- transition: opacity .6s, -webkit-transform .4s linear;
1359
- transition: transform .4s linear, opacity .6s;
1360
- transition: transform 0.4s linear, opacity 0.6s, -webkit-transform 0.4s linear; }
1361
-
1362
- @-webkit-keyframes light-animation {
1363
- from {
1364
- opacity: 0; }
1365
- to {
1366
- opacity: 1; } }
1367
- @keyframes light-animation {
1368
- from {
1369
- opacity: 0; }
1370
- to {
1371
- opacity: 1; } }
1372
- @-webkit-keyframes loading-bar {
1373
- from {
1374
- -webkit-transform: scaleX(0.01);
1375
- transform: scaleX(0.01); }
1376
- to {
1377
- -webkit-transform: scaleX(1);
1378
- transform: scaleX(1); } }
1379
- @keyframes loading-bar {
1380
- from {
1381
- -webkit-transform: scaleX(0.01);
1382
- transform: scaleX(0.01); }
1383
- to {
1384
- -webkit-transform: scaleX(1);
1385
- transform: scaleX(1); } }
1386
- .selectpicker.dropdown-menu li a {
1387
- font-size: 14px !important; }
1388
-
1389
- .shaded-panel {
1390
- padding: 10px;
1391
- border: 1px solid #eeeeee;
1392
- background: #fafafa;
1393
- margin-top: 10px; }
1394
-
1395
- hr.border-bottom-hr {
1396
- margin: 10px 0 !important; }
1397
-
1398
- .hint-text {
1399
- color: #BBB; }
1400
-
1401
- @media only screen and (min-width: 1024px) {
1402
- .pad-top-30-laptop {
1403
- padding-top: 30px; } }
1404
-
1405
- #header1 {
1406
- height: 5px; }
1407
-
1408
- #mapping-container {
1409
- height: auto; }
1410
-
1411
- #mapping-content {
1412
- height: auto;
1413
- position: relative;
1414
- overflow: hidden; }
1415
-
1416
- #mapping-sidebar {
1417
- margin: 40px 20px 0 0;
1418
- z-index: 100;
1419
- width: 340px;
1420
- float: right;
1421
- -moz-transition: all 0.25s ease;
1422
- -o-transition: all 0.25s ease;
1423
- -webkit-transition: all 0.25s ease;
1424
- -ms-transition: all 0.25s ease;
1425
- transition: all 0.25s ease;
1426
- background: #fff;
1427
- border-radius: 4px;
1428
- border: 1px solid rgba(204, 204, 204, 0.8); }
1429
- @media (max-width: 1080px) {
1430
- #mapping-sidebar {
1431
- width: 30%; } }
1432
- #mapping-sidebar .mapping-sidebar-title {
1433
- border-bottom: 1px solid #ddd;
1434
- width: 100%;
1435
- border-top-left-radius: 4px;
1436
- border-top-right-radius: 4px;
1437
- border-collapse: separate;
1438
- color: #464646;
1439
- font-size: 12px;
1440
- font-weight: bold; }
1441
- #mapping-sidebar .mapping-sidebar-arrow {
1442
- width: 20%;
1443
- padding: 13px;
1444
- text-align: center;
1445
- cursor: pointer; }
1446
- #mapping-sidebar .mapping-sidebar-arrow [class^="icon-"] {
1447
- font-size: 20px;
1448
- color: #ccc; }
1449
- #mapping-sidebar .mapping-sidebar-arrow [class^="icon-"]:hover {
1450
- color: #00a699; }
1451
- #mapping-sidebar .mapping-sidebar-arrow a {
1452
- text-decoration: none; }
1453
- #mapping-sidebar .mapping-sidebar-textbox-section input[type="text"] {
1454
- width: 40px;
1455
- text-align: center;
1456
- border: 1px solid #bbbbbb;
1457
- border-radius: 3px;
1458
- margin-left: 5px;
1459
- padding: 2px;
1460
- font-size: 14px; }
1461
- #mapping-sidebar .mapping-textbox-out-of {
1462
- color: #777777;
1463
- padding: 0px 12px; }
1464
- #mapping-sidebar .mapping-sidebar-textbox-section {
1465
- width: 60%;
1466
- text-align: center; }
1467
- #mapping-sidebar .uci_mapping_attr {
1468
- padding: 10px;
1469
- border: none;
1470
- margin-top: 0px; }
1471
- #mapping-sidebar .mapping-sidebar-content-section {
1472
- max-height: 400px;
1473
- overflow: auto;
1474
- -moz-transition: all 0.25s ease;
1475
- -o-transition: all 0.25s ease;
1476
- -webkit-transition: all 0.25s ease;
1477
- -ms-transition: all 0.25s ease;
1478
- transition: all 0.25s ease;
1479
- font-family: 'Roboto', Helvetica, Arial, sans-serif; }
1480
-
1481
- #mapping-footer {
1482
- height: 10px; }
1483
-
1484
- .sidebar-fixed {
1485
- position: fixed;
1486
- top: 0;
1487
- right: 0;
1488
- -moz-transition: all 0.25s ease;
1489
- -o-transition: all 0.25s ease;
1490
- -webkit-transition: all 0.25s ease;
1491
- -ms-transition: all 0.25s ease;
1492
- transition: all 0.25s ease; }
1493
-
1494
- .bottom {
1495
- top: auto;
1496
- right: 0;
1497
- bottom: 20px !important;
1498
- position: absolute;
1499
- -moz-transition: all 0.25s ease;
1500
- -o-transition: all 0.25s ease;
1501
- -webkit-transition: all 0.25s ease;
1502
- -ms-transition: all 0.25s ease;
1503
- transition: all 0.25s ease; }
1504
-
1505
- .list-dimensions {
1506
- width: 100%; }
1507
- .list-dimensions li {
1508
- display: inline-block;
1509
- padding: 0 5px;
1510
- height: 35px;
1511
- display: table-cell;
1512
- vertical-align: middle; }
1513
- .list-dimensions li input.form-control {
1514
- width: 50px !important; }
1515
-
1516
- .vertical-middle {
1517
- display: table-cell;
1518
- vertical-align: middle;
1519
- height: 30px; }
1520
-
1521
- label.radio-text {
1522
- font-size: 11.5px !important; }
1523
-
1524
- .text-hint {
1525
- color: #777777;
1526
- font-style: italic; }
1527
-
1528
- .wpecommerce_tab .nav {
1529
- margin-bottom: 0;
1530
- padding-left: 0;
1531
- list-style: none; }
1532
- .wpecommerce_tab .nav:after {
1533
- content: "";
1534
- display: table;
1535
- clear: both; }
1536
- .wpecommerce_tab .nav > li {
1537
- position: relative;
1538
- padding: 0px; }
1539
- .wpecommerce_tab .nav > li > a {
1540
- display: block;
1541
- border-radius: 0px;
1542
- width: 100%;
1543
- height: 100%;
1544
- padding: 10px 15px; }
1545
- .wpecommerce_tab .nav > li > a:hover, .wpecommerce_tab .nav > li > a:focus {
1546
- text-decoration: none;
1547
- background-color: #fff;
1548
- /*new css */
1549
- color: #000;
1550
- /*new css */ }
1551
- .wpecommerce_tab .nav > li.disabled > a {
1552
- color: #444; }
1553
- .wpecommerce_tab .nav > li.disabled > a:hover, .wpecommerce_tab .nav > li.disabled > a:focus {
1554
- color: #444;
1555
- text-decoration: none;
1556
- background-color: transparent;
1557
- cursor: not-allowed; }
1558
- .wpecommerce_tab .nav .open > a, .wpecommerce_tab .nav .open > a:hover, .wpecommerce_tab .nav .open > a:focus {
1559
- background-color: #00A699;
1560
- border-color: #fff; }
1561
- .wpecommerce_tab .nav > li > a > img {
1562
- max-width: none; }
1563
- .wpecommerce_tab .nav-tabs {
1564
- border-bottom: 1px solid #eeeeee; }
1565
- .wpecommerce_tab .nav-tabs > li {
1566
- float: left;
1567
- font-size: 14px;
1568
- border: 1px solid #eeeeee;
1569
- border-bottom: none;
1570
- margin-left: .5em;
1571
- font-size: 14px;
1572
- background: #f5f5f5; }
1573
- .wpecommerce_tab .nav-tabs > li > a {
1574
- margin-right: 2px;
1575
- line-height: auto;
1576
- border: 1px solid transparent;
1577
- color: #555555;
1578
- font-weight: bold;
1579
- border-radius: 0; }
1580
- .wpecommerce_tab .nav-tabs > li > a:hover {
1581
- border-color: #eee #eee #ddd; }
1582
- .wpecommerce_tab .nav-tabs > li.active {
1583
- margin-bottom: -2px !important; }
1584
- .wpecommerce_tab .nav-tabs > li.active > a, .wpecommerce_tab .nav-tabs > li.active > a:hover, .wpecommerce_tab .nav-tabs > li.active > a:focus {
1585
- color: #000;
1586
- background-color: #fff;
1587
- /*new css */
1588
- border-bottom: 1px solid #fff;
1589
- /*new css */
1590
- border-top: 2px solid #00A699;
1591
- border-bottom-color: transparent;
1592
- cursor: default;
1593
- outline: none; }
1594
- .wpecommerce_tab .tab-pane {
1595
- border: 1px solid #eeeeee;
1596
- padding: 10px;
1597
- border-top: none;
1598
- /*new css */ }
1599
- .wpecommerce_tab .tab-pane:after {
1600
- content: "";
1601
- display: table;
1602
- clear: both; }
1603
- .wpecommerce_tab .table tr td {
1604
- vertical-align: middle; }
1605
-
1606
- a {
1607
- outline: none !important; }
1608
-
1609
- .post-data .control-label, .post-data input[type="radio"] {
1610
- float: block; }
1611
-
1612
- .ecommerce-meta-table > tbody > tr > td {
1613
- vertical-align: top !important;
1614
- padding: 2px 8px; }
1615
-
1616
- .ecommerce-meta-trash {
1617
- cursor: pointer;
1618
- display: inline-block;
1619
- padding: 6px 12px; }
1620
-
1621
- .icon-trash4:hover {
1622
- cursor: pointer; }
1623
-
1624
- #ecommerce-custom-field-add {
1625
- color: #00A699;
1626
- cursor: pointer; }
1627
-
1628
- .datepicker table tr .active {
1629
- background-color: #00A699 !important;
1630
- background-image: none !important; }
1631
- .datepicker table tr .day:hover, .datepicker table tr .month:hover, .datepicker table tr .year:hover {
1632
- background-color: #00A699 !important;
1633
- color: #fff !important; }
1634
-
1635
- .widget_fields {
1636
- display: none; }
1637
-
1638
- .widget_open_field {
1639
- display: block; }
1640
-
1641
- /* Draggable */
1642
- .draggable {
1643
- width: 250px;
1644
- height: 20px;
1645
- margin-bottom: 1em;
1646
- padding: 4px;
1647
- cursor: pointer;
1648
- z-index: 9999 !important; }
1649
-
1650
- .droppable {
1651
- font-size: 14pt;
1652
- width: 400px; }
1653
- .droppable.active {
1654
- border: 1px solid #00A699 !important; }
1655
-
1656
- .mapping-switcher {
1657
- background: #fff;
1658
- margin-top: 20px;
1659
- width: 100%;
1660
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.8); }
1661
- .mapping-switcher > li {
1662
- cursor: pointer;
1663
- float: left;
1664
- position: relative;
1665
- width: 50%;
1666
- color: #777777;
1667
- text-align: center;
1668
- padding: 10px 0;
1669
- background: #fff;
1670
- -moz-transition: all 0.25s ease;
1671
- -o-transition: all 0.25s ease;
1672
- -webkit-transition: all 0.25s ease;
1673
- -ms-transition: all 0.25s ease;
1674
- transition: all 0.25s ease;
1675
- font-family: 'Montserrat', 'Roboto', Helvetica, sans-serif;
1676
- font-size: 14px; }
1677
- .mapping-switcher > li.active {
1678
- background: #00A699;
1679
- color: #fff;
1680
- text-align: center;
1681
- display: block;
1682
- margin: 0 auto; }
1683
- .mapping-switcher > li.active:after, .mapping-switcher > li.active::after {
1684
- position: absolute;
1685
- bottom: -12px;
1686
- left: 45%;
1687
- content: '';
1688
- width: 0;
1689
- height: 0;
1690
- border-top: solid 12px #00A699;
1691
- border-left: solid 12px transparent;
1692
- border-right: solid 12px transparent; }
1693
- .mapping-switcher > li:hover {
1694
- color: #00A699; }
1695
- .mapping-switcher > li.active:hover {
1696
- color: #fff; }
1697
-
1698
- #post_content {
1699
- font-family: 'Roboto', Helvetica, Arial, sans-serif; }
1700
-
1701
- #progress-bar {
1702
- background: #00A699; }
1703
-
1704
- #progress-div {
1705
- border-color: #00A699; }
1706
-
1707
- #filenamedisplay label {
1708
- font-size: 22px; }
1709
-
1710
- .uci_csv_column_header {
1711
- cursor: pointer; }
1712
-
1713
- /*# sourceMappingURL=custom-style.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/deps/ReactToastify.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .Toastify__toast-container{z-index:9999;position:fixed;padding:4px;width:320px;box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;margin-left:-160px}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;margin-left:-160px}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0}.Toastify__toast-container--rtl{right:0;left:auto}}.Toastify__toast{position:relative;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:1px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:800px;overflow:hidden;font-family:sans-serif;cursor:pointer;direction:ltr}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--default{background:#fff;color:#aaa}.Toastify__toast--info{background:#3498db}.Toastify__toast--success{background:#07bc0c}.Toastify__toast--warning{background:#f1c40f}.Toastify__toast--error{background:#e74c3c}.Toastify__toast-body{margin:auto 0;-ms-flex:1;flex:1}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0}}.Toastify__close-button{color:#fff;font-weight:700;font-size:14px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start}.Toastify__close-button--default{color:#000;opacity:.3}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:9999;opacity:.7;background-color:hsla(0,0%,100%,.7);transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right}.Toastify__progress-bar--default{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55)}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}
assets/css/deps/bootstrap.min.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v4.1.3 (https://getbootstrap.com/)
3
+ * Copyright 2011-2018 The Bootstrap Authors
4
+ * Copyright 2011-2018 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::after,.was-validated .custom-file-input:valid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::after,.was-validated .custom-file-input:invalid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem * 2));content:""}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
7
+ /*# sourceMappingURL=bootstrap.min.css.map */
assets/css/deps/bootstrap.min.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.8125rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(2.875rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n height: calc(2.875rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n height: calc(1.8125rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-label::after {\n border-color: #80bdff;\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: 2.25rem;\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n padding-left: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - (0.5rem * 2));\n content: \"\";\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-dialog-centered::before {\n height: calc(100vh - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after,\n.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-top .arrow::after,\n.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after,\n.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-right .arrow::after,\n.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after,\n.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-bottom .arrow::after,\n.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after,\n.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-left .arrow::after,\n.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n transition: -webkit-transform 0.6s ease;\n transition: transform 0.6s ease;\n transition: transform 0.6s ease, -webkit-transform 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n transition: none;\n }\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next,\n .active.carousel-item-right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-prev,\n .active.carousel-item-left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n opacity: 0;\n}\n\n.carousel-fade .carousel-item-next,\n.carousel-fade .carousel-item-prev,\n.carousel-fade .carousel-item.active,\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-prev {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-fade .carousel-item-next,\n .carousel-fade .carousel-item-prev,\n .carousel-fade .carousel-item.active,\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-prev {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n f